1.16.0.2
|
@ -565,7 +565,6 @@
|
|||
{"name":"s_node_rigidSim_global","order":4,"path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",},
|
||||
{"name":"sh_channel_G_grey","order":8,"path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},
|
||||
{"name":"s_node_smokeSim_update","order":10,"path":"sprites/s_node_smokeSim_update/s_node_smokeSim_update.yy",},
|
||||
{"name":"s_node_mk_flip_grid","order":2,"path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},
|
||||
{"name":"node_3d_depth","order":15,"path":"scripts/node_3d_depth/node_3d_depth.yy",},
|
||||
{"name":"s_node_vec4","order":9,"path":"sprites/s_node_vec4/s_node_vec4.yy",},
|
||||
{"name":"vct_knob","order":2,"path":"scripts/vct_knob/vct_knob.yy",},
|
||||
|
@ -582,6 +581,7 @@
|
|||
{"name":"node_pb_fx_radial","order":9,"path":"scripts/node_pb_fx_radial/node_pb_fx_radial.yy",},
|
||||
{"name":"node_VFX_variable","order":6,"path":"scripts/node_VFX_variable/node_VFX_variable.yy",},
|
||||
{"name":"node_array_sort","order":11,"path":"scripts/node_array_sort/node_array_sort.yy",},
|
||||
{"name":"s_node_mk_ball_grid","order":3,"path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},
|
||||
{"name":"sh_pb_outline","order":2,"path":"shaders/sh_pb_outline/sh_pb_outline.yy",},
|
||||
{"name":"fd_draw_surface_to_collision_mask_surface","order":2,"path":"scripts/fd_draw_surface_to_collision_mask_surface/fd_draw_surface_to_collision_mask_surface.yy",},
|
||||
{"name":"sh_blur_box_contrast","order":3,"path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},
|
||||
|
@ -823,6 +823,7 @@
|
|||
{"name":"s_node_array_sample","order":18,"path":"sprites/s_node_array_sample/s_node_array_sample.yy",},
|
||||
{"name":"s_biterator_b_labels","order":9,"path":"sprites/s_biterator_b_labels/s_biterator_b_labels.yy",},
|
||||
{"name":"FirebaseREST_Firestore_collection_decode","order":6,"path":"scripts/FirebaseREST_Firestore_collection_decode/FirebaseREST_Firestore_collection_decode.yy",},
|
||||
{"name":"s_node_mk_flip_grid","order":2,"path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},
|
||||
{"name":"d3d_ray","order":9,"path":"scripts/d3d_ray/d3d_ray.yy",},
|
||||
{"name":"sh_combine_hsv","order":10,"path":"shaders/sh_combine_hsv/sh_combine_hsv.yy",},
|
||||
{"name":"s_node_array_insert","order":4,"path":"sprites/s_node_array_insert/s_node_array_insert.yy",},
|
||||
|
@ -1064,6 +1065,7 @@
|
|||
{"name":"s_node_pb_box_mirror","order":21,"path":"sprites/s_node_pb_box_mirror/s_node_pb_box_mirror.yy",},
|
||||
{"name":"__node_shader_generator","order":22,"path":"scripts/__node_shader_generator/__node_shader_generator.yy",},
|
||||
{"name":"node_global","order":3,"path":"scripts/node_global/node_global.yy",},
|
||||
{"name":"s_node_mk_saber","order":1,"path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},
|
||||
{"name":"spr_gameframe_buttons","order":1,"path":"sprites/spr_gameframe_buttons/spr_gameframe_buttons.yy",},
|
||||
{"name":"s_node_draw_stack","order":4,"path":"sprites/s_node_draw_stack/s_node_draw_stack.yy",},
|
||||
{"name":"sh_d3d_grid_view","order":12,"path":"shaders/sh_d3d_grid_view/sh_d3d_grid_view.yy",},
|
||||
|
@ -1418,7 +1420,6 @@
|
|||
{"name":"s_node_separate_file_path","order":14,"path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},
|
||||
{"name":"node_scale_algo","order":12,"path":"scripts/node_scale_algo/node_scale_algo.yy",},
|
||||
{"name":"s_node_image_replace","order":55,"path":"sprites/s_node_image_replace/s_node_image_replace.yy",},
|
||||
{"name":"s_node_mk_saber","order":3,"path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},
|
||||
{"name":"node_alpha_hash","order":11,"path":"scripts/node_alpha_hash/node_alpha_hash.yy",},
|
||||
{"name":"sh_mask_modify","order":2,"path":"shaders/sh_mask_modify/sh_mask_modify.yy",},
|
||||
{"name":"toggleGroup","order":31,"path":"scripts/toggleGroup/toggleGroup.yy",},
|
||||
|
@ -1437,6 +1438,7 @@
|
|||
{"name":"sh_shadow_cast_light_sep","order":1,"path":"shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy",},
|
||||
{"name":"node_audio_loudness","order":1,"path":"scripts/node_audio_loudness/node_audio_loudness.yy",},
|
||||
{"name":"node_grid","order":1,"path":"scripts/node_grid/node_grid.yy",},
|
||||
{"name":"s_node_mk_rain","order":4,"path":"sprites/s_node_mk_rain/s_node_mk_rain.yy",},
|
||||
{"name":"node_edge_detect","order":8,"path":"scripts/node_edge_detect/node_edge_detect.yy",},
|
||||
{"name":"node_morph_surface","order":5,"path":"scripts/node_morph_surface/node_morph_surface.yy",},
|
||||
{"name":"node_tunnel_in","order":6,"path":"scripts/node_tunnel_in/node_tunnel_in.yy",},
|
||||
|
@ -1502,6 +1504,7 @@
|
|||
{"name":"node_base_convert","order":7,"path":"scripts/node_base_convert/node_base_convert.yy",},
|
||||
{"name":"node_3d_mesh_plane","order":7,"path":"scripts/node_3d_mesh_plane/node_3d_mesh_plane.yy",},
|
||||
{"name":"s_node_normal_light","order":31,"path":"sprites/s_node_normal_light/s_node_normal_light.yy",},
|
||||
{"name":"node_tile_random","order":16,"path":"scripts/node_tile_random/node_tile_random.yy",},
|
||||
{"name":"Obj_FirebaseFirestore_Document_Update","order":7,"path":"objects/Obj_FirebaseFirestore_Document_Update/Obj_FirebaseFirestore_Document_Update.yy",},
|
||||
{"name":"node_transform_single","order":1,"path":"scripts/node_transform_single/node_transform_single.yy",},
|
||||
{"name":"node_string_length","order":7,"path":"scripts/node_string_length/node_string_length.yy",},
|
||||
|
@ -1544,7 +1547,6 @@
|
|||
{"name":"s_node_smokeSim_update_paused","order":5,"path":"sprites/s_node_smokeSim_update_paused/s_node_smokeSim_update_paused.yy",},
|
||||
{"name":"s_node_ase_file","order":15,"path":"sprites/s_node_ase_file/s_node_ase_file.yy",},
|
||||
{"name":"draw_line_round","order":4,"path":"scripts/draw_line_round/draw_line_round.yy",},
|
||||
{"name":"s_node_mk_ball_grid","order":1,"path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},
|
||||
{"name":"vectorBox","order":10,"path":"scripts/vectorBox/vectorBox.yy",},
|
||||
{"name":"sh_3d_extrude_corner","order":7,"path":"shaders/sh_3d_extrude_corner/sh_3d_extrude_corner.yy",},
|
||||
{"name":"sh_blend_normal_dim","order":10,"path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},
|
||||
|
@ -1727,6 +1729,7 @@
|
|||
{"name":"sprite_loader","order":11,"path":"scripts/sprite_loader/sprite_loader.yy",},
|
||||
{"name":"fd_rectangle_get_material_surface","order":12,"path":"scripts/fd_rectangle_get_material_surface/fd_rectangle_get_material_surface.yy",},
|
||||
{"name":"fd_rectangle_clear","order":6,"path":"scripts/fd_rectangle_clear/fd_rectangle_clear.yy",},
|
||||
{"name":"sh_tile_random","order":56,"path":"shaders/sh_tile_random/sh_tile_random.yy",},
|
||||
{"name":"d3d_cone","order":5,"path":"scripts/d3d_cone/d3d_cone.yy",},
|
||||
{"name":"__rectangle","order":7,"path":"scripts/__rectangle/__rectangle.yy",},
|
||||
{"name":"node_PCX_fn_random","order":1,"path":"scripts/node_PCX_fn_random/node_PCX_fn_random.yy",},
|
||||
|
|
|
@ -1310,6 +1310,7 @@
|
|||
{"id":{"name":"node_array","path":"scripts/node_array/node_array.yy",},},
|
||||
{"id":{"name":"discordBridge","path":"extensions/discordBridge/discordBridge.yy",},},
|
||||
{"id":{"name":"pack_corner","path":"scripts/pack_corner/pack_corner.yy",},},
|
||||
{"id":{"name":"s_node_mk_tile","path":"sprites/s_node_mk_tile/s_node_mk_tile.yy",},},
|
||||
{"id":{"name":"s_node_websocket","path":"sprites/s_node_websocket/s_node_websocket.yy",},},
|
||||
{"id":{"name":"sh_colorize","path":"shaders/sh_colorize/sh_colorize.yy",},},
|
||||
{"id":{"name":"node_string","path":"scripts/node_string/node_string.yy",},},
|
||||
|
@ -1582,7 +1583,6 @@
|
|||
{"id":{"name":"s_node_rigidSim_global","path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",},},
|
||||
{"id":{"name":"sh_channel_G_grey","path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},},
|
||||
{"id":{"name":"s_node_smokeSim_update","path":"sprites/s_node_smokeSim_update/s_node_smokeSim_update.yy",},},
|
||||
{"id":{"name":"s_node_mk_flip_grid","path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},},
|
||||
{"id":{"name":"node_3d_depth","path":"scripts/node_3d_depth/node_3d_depth.yy",},},
|
||||
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},},
|
||||
{"id":{"name":"vct_knob","path":"scripts/vct_knob/vct_knob.yy",},},
|
||||
|
@ -1601,6 +1601,7 @@
|
|||
{"id":{"name":"node_pb_fx_radial","path":"scripts/node_pb_fx_radial/node_pb_fx_radial.yy",},},
|
||||
{"id":{"name":"node_VFX_variable","path":"scripts/node_VFX_variable/node_VFX_variable.yy",},},
|
||||
{"id":{"name":"node_array_sort","path":"scripts/node_array_sort/node_array_sort.yy",},},
|
||||
{"id":{"name":"s_node_mk_ball_grid","path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},},
|
||||
{"id":{"name":"sh_pb_outline","path":"shaders/sh_pb_outline/sh_pb_outline.yy",},},
|
||||
{"id":{"name":"fd_draw_surface_to_collision_mask_surface","path":"scripts/fd_draw_surface_to_collision_mask_surface/fd_draw_surface_to_collision_mask_surface.yy",},},
|
||||
{"id":{"name":"s_node_pixel_builder","path":"sprites/s_node_pixel_builder/s_node_pixel_builder.yy",},},
|
||||
|
@ -1881,6 +1882,7 @@
|
|||
{"id":{"name":"s_node_array_sample","path":"sprites/s_node_array_sample/s_node_array_sample.yy",},},
|
||||
{"id":{"name":"s_biterator_b_labels","path":"sprites/s_biterator_b_labels/s_biterator_b_labels.yy",},},
|
||||
{"id":{"name":"FirebaseREST_Firestore_collection_decode","path":"scripts/FirebaseREST_Firestore_collection_decode/FirebaseREST_Firestore_collection_decode.yy",},},
|
||||
{"id":{"name":"s_node_mk_flip_grid","path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},},
|
||||
{"id":{"name":"d3d_ray","path":"scripts/d3d_ray/d3d_ray.yy",},},
|
||||
{"id":{"name":"sh_combine_hsv","path":"shaders/sh_combine_hsv/sh_combine_hsv.yy",},},
|
||||
{"id":{"name":"s_node_array_insert","path":"sprites/s_node_array_insert/s_node_array_insert.yy",},},
|
||||
|
@ -2154,6 +2156,7 @@
|
|||
{"id":{"name":"s_node_pb_box_mirror","path":"sprites/s_node_pb_box_mirror/s_node_pb_box_mirror.yy",},},
|
||||
{"id":{"name":"__node_shader_generator","path":"scripts/__node_shader_generator/__node_shader_generator.yy",},},
|
||||
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},},
|
||||
{"id":{"name":"s_node_mk_saber","path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},},
|
||||
{"id":{"name":"spr_gameframe_buttons","path":"sprites/spr_gameframe_buttons/spr_gameframe_buttons.yy",},},
|
||||
{"id":{"name":"s_node_draw_stack","path":"sprites/s_node_draw_stack/s_node_draw_stack.yy",},},
|
||||
{"id":{"name":"sh_d3d_grid_view","path":"shaders/sh_d3d_grid_view/sh_d3d_grid_view.yy",},},
|
||||
|
@ -2236,7 +2239,6 @@
|
|||
{"id":{"name":"node_random","path":"scripts/node_random/node_random.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_LessThan","path":"objects/Obj_FirebaseFirestore_Collection_Query_LessThan/Obj_FirebaseFirestore_Collection_Query_LessThan.yy",},},
|
||||
{"id":{"name":"sh_channel_A","path":"shaders/sh_channel_A/sh_channel_A.yy",},},
|
||||
{"id":{"name":"s_node_mk_rain","path":"sprites/s_node_mk_rain/s_node_mk_rain.yy",},},
|
||||
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},},
|
||||
{"id":{"name":"sh_blend_sat","path":"shaders/sh_blend_sat/sh_blend_sat.yy",},},
|
||||
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},},
|
||||
|
@ -2561,7 +2563,6 @@
|
|||
{"id":{"name":"s_node_separate_file_path","path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},},
|
||||
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},},
|
||||
{"id":{"name":"s_node_image_replace","path":"sprites/s_node_image_replace/s_node_image_replace.yy",},},
|
||||
{"id":{"name":"s_node_mk_saber","path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},},
|
||||
{"id":{"name":"node_alpha_hash","path":"scripts/node_alpha_hash/node_alpha_hash.yy",},},
|
||||
{"id":{"name":"node_PCX_condition","path":"scripts/node_PCX_condition/node_PCX_condition.yy",},},
|
||||
{"id":{"name":"sh_mask_modify","path":"shaders/sh_mask_modify/sh_mask_modify.yy",},},
|
||||
|
@ -2582,6 +2583,7 @@
|
|||
{"id":{"name":"sh_shadow_cast_light_sep","path":"shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy",},},
|
||||
{"id":{"name":"node_audio_loudness","path":"scripts/node_audio_loudness/node_audio_loudness.yy",},},
|
||||
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},},
|
||||
{"id":{"name":"s_node_mk_rain","path":"sprites/s_node_mk_rain/s_node_mk_rain.yy",},},
|
||||
{"id":{"name":"o_crash_handler","path":"objects/o_crash_handler/o_crash_handler.yy",},},
|
||||
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},},
|
||||
{"id":{"name":"node_morph_surface","path":"scripts/node_morph_surface/node_morph_surface.yy",},},
|
||||
|
@ -2659,6 +2661,7 @@
|
|||
{"id":{"name":"node_base_convert","path":"scripts/node_base_convert/node_base_convert.yy",},},
|
||||
{"id":{"name":"node_3d_mesh_plane","path":"scripts/node_3d_mesh_plane/node_3d_mesh_plane.yy",},},
|
||||
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},},
|
||||
{"id":{"name":"node_tile_random","path":"scripts/node_tile_random/node_tile_random.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Document_Update","path":"objects/Obj_FirebaseFirestore_Document_Update/Obj_FirebaseFirestore_Document_Update.yy",},},
|
||||
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},},
|
||||
{"id":{"name":"node_string_length","path":"scripts/node_string_length/node_string_length.yy",},},
|
||||
|
@ -2708,7 +2711,6 @@
|
|||
{"id":{"name":"s_node_smokeSim_update_paused","path":"sprites/s_node_smokeSim_update_paused/s_node_smokeSim_update_paused.yy",},},
|
||||
{"id":{"name":"s_node_ase_file","path":"sprites/s_node_ase_file/s_node_ase_file.yy",},},
|
||||
{"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},},
|
||||
{"id":{"name":"s_node_mk_ball_grid","path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},},
|
||||
{"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},},
|
||||
{"id":{"name":"sh_3d_extrude_corner","path":"shaders/sh_3d_extrude_corner/sh_3d_extrude_corner.yy",},},
|
||||
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},},
|
||||
|
@ -2918,6 +2920,7 @@
|
|||
{"id":{"name":"sprite_loader","path":"scripts/sprite_loader/sprite_loader.yy",},},
|
||||
{"id":{"name":"fd_rectangle_get_material_surface","path":"scripts/fd_rectangle_get_material_surface/fd_rectangle_get_material_surface.yy",},},
|
||||
{"id":{"name":"fd_rectangle_clear","path":"scripts/fd_rectangle_clear/fd_rectangle_clear.yy",},},
|
||||
{"id":{"name":"sh_tile_random","path":"shaders/sh_tile_random/sh_tile_random.yy",},},
|
||||
{"id":{"name":"instance_create","path":"scripts/instance_create/instance_create.yy",},},
|
||||
{"id":{"name":"d3d_cone","path":"scripts/d3d_cone/d3d_cone.yy",},},
|
||||
{"id":{"name":"__rectangle","path":"scripts/__rectangle/__rectangle.yy",},},
|
||||
|
|
|
@ -67,9 +67,9 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
_cen[1] /= surface_get_height_safe(_outSurf);
|
||||
|
||||
surface_set_shader(_outSurf, sh_blur_zoom);
|
||||
shader_set_f("strength", _str);
|
||||
shader_set_f("center", _cen);
|
||||
shader_set_i("blurMode", _blr);
|
||||
shader_set_f("strength", _str);
|
||||
shader_set_f("center", _cen);
|
||||
shader_set_i("blurMode", _blr);
|
||||
shader_set_i("sampleMode", _sam);
|
||||
|
||||
shader_set_i("useMask", is_surface(_msk));
|
||||
|
|
|
@ -205,6 +205,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
passiveDynamic = false;
|
||||
topoSorted = false;
|
||||
temp_surface = [];
|
||||
force_requeue = false;
|
||||
|
||||
is_group_io = false;
|
||||
#endregion
|
||||
|
@ -244,6 +245,10 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
clearCacheOnChange = true;
|
||||
#endregion
|
||||
|
||||
#region ---- log ----
|
||||
messages = [];
|
||||
#endregion
|
||||
|
||||
static createNewInput = noone;
|
||||
|
||||
static initTooltip = function() { #region
|
||||
|
@ -439,6 +444,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
if(update_on_frame) return true;
|
||||
if(!rendered) return true;
|
||||
|
||||
force_requeue = false;
|
||||
for(var i = 0; i < ds_list_size(inputs); i++)
|
||||
if(inputs[| i].isActiveDynamic(frame)) return true;
|
||||
|
||||
|
|
|
@ -247,19 +247,19 @@
|
|||
str = string_trim(str);
|
||||
var strs = string_splice(str, ".");
|
||||
|
||||
if(array_length(strs) == 0) return [ 0, true ];
|
||||
if(array_length(strs) == 0) return 0;
|
||||
|
||||
if(array_length(strs) == 1) {
|
||||
return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
return EXPRESS_TREE_ANIM.none;
|
||||
} else if(struct_has(PROJECT_VARIABLES, strs[0])) {
|
||||
var _str_var = PROJECT_VARIABLES[$ strs[0]];
|
||||
if(!struct_has(_str_var, strs[1])) return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
if(!struct_has(_str_var, strs[1])) return EXPRESS_TREE_ANIM.none;
|
||||
|
||||
var val = _str_var[$ strs[1]][1];
|
||||
return [ val, true ];
|
||||
return val;
|
||||
} else if(array_length(strs) > 2) {
|
||||
var key = strs[0];
|
||||
if(!ds_map_exists(PROJECT.nodeNameMap, key)) return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
if(!ds_map_exists(PROJECT.nodeNameMap, key)) return EXPRESS_TREE_ANIM.none;
|
||||
|
||||
var node = PROJECT.nodeNameMap[? key];
|
||||
var map = noone;
|
||||
|
@ -272,18 +272,18 @@
|
|||
case "output" :
|
||||
map = node.outputMap;
|
||||
break;
|
||||
default : return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
default : return EXPRESS_TREE_ANIM.none;
|
||||
}
|
||||
|
||||
var _junc_key = string_lower(strs[2]);
|
||||
var _junc = ds_map_try_get(map, _junc_key, noone);
|
||||
|
||||
if(_junc == noone) return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
if(_junc == noone) return EXPRESS_TREE_ANIM.none;
|
||||
|
||||
return [ _junc.is_anim * 2, false ];
|
||||
return _junc.is_anim * 2;
|
||||
}
|
||||
|
||||
return [ EXPRESS_TREE_ANIM.none, true ];
|
||||
return EXPRESS_TREE_ANIM.none;
|
||||
}
|
||||
|
||||
function create_preview_window(node) {
|
||||
|
|
|
@ -1,36 +1,211 @@
|
|||
function Node_MK_Flag(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "MK Flag";
|
||||
update_on_frame = true;
|
||||
|
||||
inputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF)
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 1] = nodeValue("Point 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||
inputs[| 1] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 2] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 2] = nodeValue("Point 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
inputs[| 3] = nodeValue("Pin side", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Left", "Right", "Up", "Down" ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Subdivision", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8);
|
||||
|
||||
inputs[| 5] = nodeValue("Wind speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2);
|
||||
|
||||
inputs[| 6] = nodeValue("Wave width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2);
|
||||
|
||||
inputs[| 7] = nodeValue("Wave size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4);
|
||||
|
||||
inputs[| 8] = nodeValue("Phase", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
input_display_list = [ 0,
|
||||
["Saber", false], 1, 2,
|
||||
["Flag", false], 4, 1, 2, 3,
|
||||
["Wave", false], 6, 7, 5, 8,
|
||||
];
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a;
|
||||
var _a = inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a;
|
||||
attributes.iteration = 4;
|
||||
array_push(attributeEditors, "Verlet solver");
|
||||
array_push(attributeEditors, ["Iteration", function() { return attributes.iteration; },
|
||||
new textBox(TEXTBOX_INPUT.number, function(val) {
|
||||
attributes.iteration = val;
|
||||
triggerRender();
|
||||
})]);
|
||||
|
||||
function fPoints(_x, _y, _u, _v) constructor { #region
|
||||
x = _x;
|
||||
y = _y;
|
||||
sx = _x;
|
||||
sy = _y;
|
||||
u = _u;
|
||||
v = _v;
|
||||
pin = false;
|
||||
} #endregion
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _dim = _data[0];
|
||||
var _pnt1 = _data[1];
|
||||
var _pnt2 = _data[2];
|
||||
function fLink(_p0, _p1) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
dist = point_distance(_p0.x, _p0.y, _p1.x, _p1.y);
|
||||
} #endregion
|
||||
|
||||
function fMesh(_p0, _p1, _p2) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
p2 = _p2;
|
||||
} #endregion
|
||||
|
||||
points = [];
|
||||
links = [];
|
||||
meshes = [];
|
||||
|
||||
static setGeometry = function() { #region
|
||||
var _surf = getSingleValue(1); if(!is_surface(_surf)) return;
|
||||
var _start = getSingleValue(2);
|
||||
var _pinn = getSingleValue(3);
|
||||
var _subd = getSingleValue(4);
|
||||
|
||||
var _sw = surface_get_width_safe(_surf);
|
||||
var _sh = surface_get_height_safe(_surf);
|
||||
|
||||
points = array_create((_subd + 1) * (_subd + 1));
|
||||
links = array_create(2 * _subd * (_subd + 1));
|
||||
meshes = array_create(2 * _subd * _subd);
|
||||
|
||||
var _ind = 0;
|
||||
for( var i = 0; i <= _subd; i++ )
|
||||
for( var j = 0; j <= _subd; j++ ) {
|
||||
var _x = _start[0] + i / _subd * _sw;
|
||||
var _y = _start[1] + j / _subd * _sh;
|
||||
|
||||
points[_ind++] = new fPoints(_x, _y, i / _subd, j / _subd);
|
||||
}
|
||||
|
||||
switch(_pinn) {
|
||||
case 0 : for( var i = 0; i <= _subd; i++ ) points[i].pin = true; break;
|
||||
case 1 : for( var i = 0; i <= _subd; i++ ) points[_subd * (_subd + 1) + i].pin = true; break;
|
||||
case 2 : for( var i = 0; i <= _subd; i++ ) points[i * (_subd + 1) + 0].pin = true; break;
|
||||
case 3 : for( var i = 0; i <= _subd; i++ ) points[i * (_subd + 1) + _subd].pin = true; break;
|
||||
}
|
||||
|
||||
var _ind = 0;
|
||||
for( var k = 0; k < 2; k++)
|
||||
for( var i = 0; i < _subd; i++ )
|
||||
for( var j = 0; j <= _subd; j++ ) {
|
||||
var p0x = k? i : j;
|
||||
var p0y = k? j : i;
|
||||
var p1x = k? i + 1 : j;
|
||||
var p1y = k? j : i + 1;
|
||||
|
||||
var i0 = p0y * (_subd + 1) + p0x;
|
||||
var i1 = p1y * (_subd + 1) + p1x;
|
||||
|
||||
links[_ind++] = new fLink(points[i0], points[i1]);
|
||||
}
|
||||
|
||||
var _ind = 0;
|
||||
for( var i = 0; i < _subd; i++ )
|
||||
for( var j = 0; j < _subd; j++ ) {
|
||||
var i0 = i * (_subd + 1) + j;
|
||||
var i1 = i * (_subd + 1) + j + 1;
|
||||
var i2 = (i + 1) * (_subd + 1) + j;
|
||||
|
||||
meshes[_ind++] = new fMesh(points[i0], points[i1], points[i2]);
|
||||
|
||||
var i0 = i * (_subd + 1) + j + 1;
|
||||
var i1 = (i + 1) * (_subd + 1) + j;
|
||||
var i2 = (i + 1) * (_subd + 1) + j + 1;
|
||||
|
||||
meshes[_ind++] = new fMesh(points[i0], points[i1], points[i2]);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static stepFlag = function() { #region
|
||||
var _pinn = getSingleValue(3);
|
||||
var _wspd = getSingleValue(5);
|
||||
var _wave = getSingleValue(6);
|
||||
var _wavz = getSingleValue(7);
|
||||
var _wphs = getSingleValue(8);
|
||||
|
||||
var _tps = CURRENT_FRAME / TOTAL_FRAMES * _wspd * pi * 2;
|
||||
|
||||
for( var i = 0, n = array_length(points); i < n; i++ ) {
|
||||
var p = points[i];
|
||||
|
||||
switch(_pinn) {
|
||||
case 0 :
|
||||
var y0 = p.sy + max(-0.2, sin(p.u * pi * _wave - _tps)) * _wavz * p.u;
|
||||
var y1 = p.sy + min( 0.2, sin((p.u - _wphs) * pi * _wave - _tps)) * _wavz * p.u;
|
||||
|
||||
p.y = lerp(y0, y1, p.v);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _a = inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a;
|
||||
|
||||
//for( var i = 0, n = array_length(links); i < n; i++ ) {
|
||||
// var _l = links[i];
|
||||
|
||||
// var p0 = _l.p0;
|
||||
// var p1 = _l.p1;
|
||||
|
||||
// var _p0x = _x + p0.x * _s;
|
||||
// var _p0y = _y + p0.y * _s;
|
||||
// var _p1x = _x + p1.x * _s;
|
||||
// var _p1y = _y + p1.y * _s;
|
||||
|
||||
// if(p0.pin && p1.pin) {
|
||||
// draw_set_color(COLORS._main_text);
|
||||
// draw_line_width(_p0x, _p0y, _p1x, _p1y, 2);
|
||||
// } else {
|
||||
// draw_set_color(COLORS._main_accent);
|
||||
// draw_line(_p0x, _p0y, _p1x, _p1y);
|
||||
// }
|
||||
//}
|
||||
} #endregion
|
||||
|
||||
static processData_prebatch = function() { #region
|
||||
if(CURRENT_FRAME == 0) setGeometry();
|
||||
stepFlag();
|
||||
} #endregion
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
|
||||
var _dim = _data[0];
|
||||
var _tex = _data[1];
|
||||
|
||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
|
||||
if(!is_surface(_tex)) return _outSurf;
|
||||
|
||||
surface_set_target(_outSurf);
|
||||
DRAW_CLEAR
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_primitive_begin_texture(pr_trianglelist, surface_get_texture(_tex));
|
||||
|
||||
for( var i = 0, n = array_length(meshes); i < n; i++ ) {
|
||||
var m = meshes[i];
|
||||
|
||||
var p0 = m.p0;
|
||||
var p1 = m.p1;
|
||||
var p2 = m.p2;
|
||||
|
||||
draw_vertex_texture(p0.x, p0.y, p0.u, p0.v);
|
||||
draw_vertex_texture(p1.x, p1.y, p1.u, p1.v);
|
||||
draw_vertex_texture(p2.x, p2.y, p2.u, p2.v);
|
||||
}
|
||||
|
||||
draw_primitive_end();
|
||||
surface_reset_target();
|
||||
|
||||
return _outSurf;
|
||||
}
|
||||
} #endregion
|
||||
}
|
|
@ -4,18 +4,18 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
inputs[| 0] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Background Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Background texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 2] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Corner (18 sprites)", "Corner + Side (55 sprites)" ] );
|
||||
|
||||
inputs[| 3] = nodeValue("Output Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
inputs[| 3] = nodeValue("Output type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Sheet", "Array" ] );
|
||||
|
||||
inputs[| 4] = nodeValue("Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 8, 8, 8, 8 ])
|
||||
.setDisplay(VALUE_DISPLAY.padding);
|
||||
|
||||
inputs[| 5] = nodeValue("Edge Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
inputs[| 5] = nodeValue("Edge type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Individual" ] );
|
||||
|
||||
inputs[| 6] = nodeValue("Edge", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
@ -29,17 +29,18 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
inputs[| 11] = nodeValue("Full edge", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.toggle, { data: [ "T", "B", "L", "R" ] });
|
||||
|
||||
inputs[| 12] = nodeValue("Extend edge", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||
|
||||
inputs[| 13] = nodeValue("Edge sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
inputs[| 12] = nodeValue("Edge sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Single", "Side + Center", "Side + Center + Side" ] );
|
||||
|
||||
inputs[| 13] = nodeValue("Edge transform", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Flip", "Rotate" ] );
|
||||
|
||||
input_display_list = [
|
||||
["Surfaces", false], 0, 1,
|
||||
["Tiling", false], 2, 4,
|
||||
["Edge", false], 5, 13, 10, 11, 12,
|
||||
["Surfaces", true], 0, 1,
|
||||
["Tile set", false], 2, 4,
|
||||
["Edge", false], 5, 12, 13, 10, 11,
|
||||
["Edge Textures", true], 6, 7, 8, 9,
|
||||
["Output", false], 3,
|
||||
["Output", false], 3,
|
||||
];
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
@ -48,30 +49,31 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
for( var i = 0, n = array_length(temp_surface); i < n; i++ )
|
||||
temp_surface[i] = array_create(1, 1);
|
||||
|
||||
__edge_surface = array_create(12);
|
||||
__edge_buffer = [ surface_create(1, 1), surface_create(1, 1)];
|
||||
__edge_uniform = array_create(4);
|
||||
__edge_surface = array_create(4 * 7);
|
||||
__edge_buffer = [ surface_create(1, 1), surface_create(1, 1), surface_create(1, 1) ];
|
||||
edge_surface = [];
|
||||
|
||||
#region index
|
||||
index_18 = [ 0, 8, 12, 4, 7, 11,
|
||||
0, 10, 15, 5, 13, 14,
|
||||
0, 2, 3, 1, 9, 6];
|
||||
index_18 = [ 0, /**/ 8, 12, 4, /**/ 7, 11,
|
||||
0, /**/ 10, 15, 5, /**/ 13, 14,
|
||||
0, /**/ 2, 3, 1, /**/ 9, 6];
|
||||
|
||||
index_18_et = [ 0, 0, 1, 2, 0, 0,
|
||||
0, 0, 0, 0, 0, 2,
|
||||
0, 0, 0, 0, 0, 2];
|
||||
index_18_et = [ 0, /**/ 0, 1, 2, /**/ 0, 0,
|
||||
0, /**/ 0, 0, 0, /**/ 3, 4,
|
||||
0, /**/ 0, 0, 0, /**/ 3, 4];
|
||||
|
||||
index_18_eb = [ 0, 0, 0, 0, 0, 2,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 2, 2, 0];
|
||||
index_18_eb = [ 0, /**/ 0, 0, 0, /**/ 3, 4,
|
||||
0, /**/ 0, 0, 0, /**/ 0, 0,
|
||||
0, /**/ 0, 1, 2, /**/ 4, 3];
|
||||
|
||||
index_18_el = [ 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 2,
|
||||
0, 2, 0, 0, 0, 2];
|
||||
index_18_el = [ 0, /**/ 0, 0, 0, /**/ 0, 3,
|
||||
0, /**/ 1, 0, 0, /**/ 0, 4,
|
||||
0, /**/ 2, 0, 0, /**/ 3, 4];
|
||||
|
||||
index_18_er = [ 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 2, 0,
|
||||
0, 0, 0, 2, 2, 0];
|
||||
index_18_er = [ 0, /**/ 0, 0, 0, /**/ 3, 0,
|
||||
0, /**/ 0, 0, 1, /**/ 4, 0,
|
||||
0, /**/ 0, 0, 2, /**/ 4, 3];
|
||||
|
||||
index_55 = [208, 224, 104, /**/ 64, /**/ 80, 120, 216, 72, /**/ 88, 219, -1,
|
||||
148, 255, 41, /**/ 66, /**/ 86, 127, 223, 75, /**/ 95, 126, -1,
|
||||
|
@ -79,29 +81,29 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
16, 24, 8, /**/ 0, /**/ 18, 27, 30, 10, /**/ 26, 94, 91,
|
||||
-1, -1, -1, /**/ -1, /**/ 82, 123, 222, 74, /**/ 90, -1, -1];
|
||||
|
||||
index_55_et = [ 0, 1, 2, /**/ 1, /**/ 0, 1, 1, 0, /**/ 1, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 2, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 2, 2, /**/ 0, 0, 0,
|
||||
0, 1, 2, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0, ];
|
||||
index_55_et = [ 0, 1, 2, /**/ 5, /**/ 0, 1, 1, 2, /**/ 1, 3, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 4, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 3, 3, 4, 4, /**/ 6, 6, 6,
|
||||
0, 1, 2, /**/ 5, /**/ 3, 3, 4, 4, /**/ 6, 3, 4,
|
||||
0, 0, 0, /**/ 0, /**/ 3, 3, 4, 4, /**/ 6, 0, 0, ];
|
||||
|
||||
index_55_eb = [ 0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0, ];
|
||||
index_55_eb = [ 0, 0, 0, /**/ 0, /**/ 3, 3, 4, 4, /**/ 6, 4, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 3, 3, 4, 4, /**/ 6, 3, 0,
|
||||
0, 1, 2, /**/ 5, /**/ 0, 0, 0, 0, /**/ 0, 4, 3,
|
||||
0, 1, 2, /**/ 5, /**/ 0, 1, 1, 2, /**/ 1, 6, 6,
|
||||
0, 0, 0, /**/ 0, /**/ 3, 3, 4, 4, /**/ 6, 0, 0, ];
|
||||
|
||||
index_55_el = [ 0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0, ];
|
||||
index_55_el = [ 0, 0, 0, /**/ 0, /**/ 0, 0, 3, 3, /**/ 4, 3, 0,
|
||||
1, 0, 0, /**/ 1, /**/ 1, 0, 3, 3, /**/ 4, 4, 0,
|
||||
2, 0, 0, /**/ 2, /**/ 1, 0, 4, 4, /**/ 4, 6, 4,
|
||||
5, 0, 0, /**/ 5, /**/ 2, 0, 4, 4, /**/ 4, 6, 3,
|
||||
0, 0, 0, /**/ 0, /**/ 1, 0, 6, 6, /**/ 6, 0, 0, ];
|
||||
|
||||
index_55_er = [ 0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0,
|
||||
0, 0, 0, /**/ 0, /**/ 0, 0, 0, 0, /**/ 0, 0, 0, ];
|
||||
index_55_er = [ 0, 0, 0, /**/ 0, /**/ 3, 3, 0, 0, /**/ 3, 4, 0,
|
||||
0, 0, 1, /**/ 1, /**/ 3, 3, 0, 1, /**/ 3, 3, 0,
|
||||
0, 0, 2, /**/ 2, /**/ 4, 4, 0, 1, /**/ 4, 4, 6,
|
||||
0, 0, 5, /**/ 5, /**/ 4, 4, 0, 2, /**/ 4, 3, 6,
|
||||
0, 0, 0, /**/ 0, /**/ 6, 6, 0, 1, /**/ 6, 0, 0, ];
|
||||
#endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
|
@ -112,10 +114,11 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
var _edgType = getSingleValue( 5);
|
||||
var _edgFull = getSingleValue(11);
|
||||
|
||||
inputs[| 6].name = _edgType == 1? "Edge top" : "Edge"
|
||||
inputs[| 7].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 8].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 9].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 6].name = _edgType == 1? "Edge top" : "Edge"
|
||||
inputs[| 7].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 8].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 9].setVisible(_edgType == 1, _edgType == 1);
|
||||
inputs[| 13].setVisible(_edgType == 0);
|
||||
} #endregion
|
||||
|
||||
static generate18 = function(_data, _tex0, _tex1, _edge, _crop) { #region
|
||||
|
@ -131,7 +134,6 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
var _edgeShf = _data[10];
|
||||
var _edgFull = _data[11];
|
||||
var _edgExtn = _data[12];
|
||||
|
||||
for( var i = 0; i < 18; i++ ) {
|
||||
var _index = index_18[i];
|
||||
|
@ -169,8 +171,7 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0100));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
|
||||
draw_surface_ext(_el, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
} #endregion
|
||||
|
@ -181,8 +182,6 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b1000));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
|
||||
draw_surface_ext(_er, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
|
@ -194,7 +193,6 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0001));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_et, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
|
@ -206,7 +204,6 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0010));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_eb, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
|
@ -233,7 +230,6 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
var b = _crop[3];
|
||||
|
||||
var _edgFull = _data[11];
|
||||
var _edgExtn = _data[12];
|
||||
|
||||
for( var i = 0; i < 55; i++ ) {
|
||||
var _index = index_55[i];
|
||||
|
@ -268,54 +264,50 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
if(_index & 0b0000_1011 >= 0b0000_1011) draw_surface_part(_tex0, 0, 0, _sw - r, _sh - b, 0, 0);
|
||||
if(_index & 0b0001_0110 >= 0b0001_0110) draw_surface_part(_tex0, l, 0, _sw - l, _sh - b, l, 0);
|
||||
|
||||
var _et = _edge[0][1];
|
||||
var _eb = _edge[1][1];
|
||||
var _el = _edge[2][1];
|
||||
var _er = _edge[3][1];
|
||||
var _et = _edge[0][index_55_et[i]];
|
||||
var _eb = _edge[1][index_55_eb[i]];
|
||||
var _el = _edge[2][index_55_el[i]];
|
||||
var _er = _edge[3][index_55_er[i]];
|
||||
|
||||
if(_el == noone) { #region
|
||||
if(_el != noone) { #region
|
||||
shader_set(sh_mk_tile55_edge_l);
|
||||
shader_set_f("dimension", _sw, _sh);
|
||||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0100));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_el, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
} #endregion
|
||||
|
||||
if(_er == noone) { #region
|
||||
if(_er != noone) { #region
|
||||
shader_set(sh_mk_tile55_edge_r);
|
||||
shader_set_f("dimension", _sw, _sh);
|
||||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b1000));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_er, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
} #endregion
|
||||
|
||||
if(_et == noone) { #region
|
||||
if(_et != noone) { #region
|
||||
shader_set(sh_mk_tile55_edge_t);
|
||||
shader_set_f("dimension", _sw, _sh);
|
||||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0001));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_et, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
} #endregion
|
||||
|
||||
if(_eb == noone) { #region
|
||||
if(_eb != noone) { #region
|
||||
shader_set(sh_mk_tile55_edge_b);
|
||||
shader_set_f("dimension", _sw, _sh);
|
||||
shader_set_f("crop", _crop);
|
||||
shader_set_i("edge", _index);
|
||||
shader_set_i("fullEdge", bool(_edgFull & 0b0010));
|
||||
shader_set_i("extendEdge", _edgExtn);
|
||||
|
||||
draw_surface_ext(_eb, 0, 0, 1, 1, 0, c_white, 1);
|
||||
shader_reset();
|
||||
|
@ -340,11 +332,11 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
var _edgType = _data[5];
|
||||
var _edgeShf = _data[10];
|
||||
var _edgFull = _data[11];
|
||||
var _edgSprt = _data[13];
|
||||
var _edgSprt = _data[12];
|
||||
var _edgTran = _data[13];
|
||||
var _edges = _edgType == 0? [ _data[6], _data[6], _data[6], _data[6] ] : [ _data[6], _data[7], _data[8], _data[9] ];
|
||||
var _edge;
|
||||
|
||||
var _rot = [ 0, 180, 90, 270 ];
|
||||
var _shi = [ 1, 3, 2, 0 ];
|
||||
|
||||
var _sw = surface_get_width_safe(_tex0);
|
||||
|
@ -354,11 +346,39 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
for( var i = 0, n = array_length(__edge_buffer); i < n; i++ )
|
||||
__edge_buffer[i] = surface_verify(__edge_buffer[i], _sw, _sh);
|
||||
|
||||
if(_edgType == 0 && is_surface(_data[6])) { #region
|
||||
var _esw = surface_get_width_safe(_data[6]);
|
||||
var _esh = surface_get_height_safe(_data[6]);
|
||||
|
||||
__edge_uniform[0] = surface_verify(__edge_uniform[0], _esw, _esh);
|
||||
__edge_uniform[1] = surface_verify(__edge_uniform[1], _esw, _esh);
|
||||
__edge_uniform[2] = surface_verify(__edge_uniform[2], _esh, _esw);
|
||||
__edge_uniform[3] = surface_verify(__edge_uniform[3], _esh, _esw);
|
||||
|
||||
surface_set_shader(__edge_uniform[0], noone);
|
||||
draw_surface(_data[6], 0, 0);
|
||||
surface_reset_shader();
|
||||
|
||||
surface_set_shader(__edge_uniform[1], noone);
|
||||
draw_surface_ext(_data[6], 0, _esh, 1, -1, 0, c_white, 1);
|
||||
surface_reset_shader();
|
||||
|
||||
surface_set_shader(__edge_uniform[2], noone);
|
||||
draw_surface_ext(_data[6], 0, 0, -1, 1, 90, c_white, 1);
|
||||
surface_reset_shader();
|
||||
|
||||
surface_set_shader(__edge_uniform[3], noone);
|
||||
draw_surface_ext(_data[6], _esh, 0, -1, -1, 90, c_white, 1);
|
||||
surface_reset_shader();
|
||||
|
||||
_edges = __edge_uniform;
|
||||
} #endregion
|
||||
|
||||
for( var i = 0; i < 4; i++ ) {
|
||||
var _ed = _edges[i];
|
||||
var _edShf = _edgeShf[_shi[i]];
|
||||
|
||||
edge_surface[i] = [ noone, noone, noone ];
|
||||
edge_surface[i] = array_create(7, noone);
|
||||
if(!is_surface(_ed)) continue;
|
||||
|
||||
var _ew = surface_get_width_safe(_ed);
|
||||
|
@ -367,73 +387,107 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
var _esw = _ew > _eh? _ew / _am : 0;
|
||||
var _esh = _ew > _eh? 0 : _eh / _am;
|
||||
|
||||
for( var j = 0; j < 3; j++ ) {
|
||||
var _sIndx = i * 3 + j;
|
||||
for( var j = 0; j < 7; j++ ) {
|
||||
var _sIndx = i * 7 + j;
|
||||
var _edBuf = _ed;
|
||||
|
||||
__edge_surface[_sIndx] = surface_verify(__edge_surface[_sIndx], _sw, _sh);
|
||||
|
||||
if(_edgSprt) {
|
||||
surface_set_target(__edge_buffer[0]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE
|
||||
surface_set_target(__edge_buffer[0]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE
|
||||
|
||||
if(_edgSprt == 1) {
|
||||
switch(j) {
|
||||
case 0 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
case 1 : draw_surface(_ed, -_esw * 1, -_esh * 1); break;
|
||||
case 2 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
}
|
||||
} else if(_edgSprt == 2) {
|
||||
switch(j) {
|
||||
case 0 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
case 1 : draw_surface(_ed, -_esw * 1, -_esh * 1); break;
|
||||
case 2 : draw_surface(_ed, -_esw * 2, -_esh * 2); break;
|
||||
}
|
||||
if(_edgSprt == 0) {
|
||||
draw_surface(_ed, 0, 0);
|
||||
} else if(_edgSprt == 1) { // flip side
|
||||
switch(j) {
|
||||
case 0 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
case 1 : draw_surface(_ed, -_esw * 1, -_esh * 1); break;
|
||||
case 2 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
case 3 :
|
||||
case 4 :
|
||||
case 5 :
|
||||
case 6 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
}
|
||||
} else if(_edgSprt == 2) { // indiviual sides
|
||||
switch(j) {
|
||||
case 0 : draw_surface(_ed, -_esw * 0, -_esh * 0); break;
|
||||
case 1 : draw_surface(_ed, -_esw * 1, -_esh * 1); break;
|
||||
case 2 : draw_surface(_ed, -_esw * 2, -_esh * 2); break;
|
||||
}
|
||||
}
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target(); #endregion
|
||||
|
||||
_edBuf = __edge_buffer[0];
|
||||
|
||||
if(_edgType == 0 && _edgTran == 1) { // rotate surface for uniform edge type
|
||||
surface_set_target(__edge_buffer[1]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_ALPHA_MULP
|
||||
|
||||
switch(i) {
|
||||
//case 1 : draw_surface_ext(_edBuf, _sw, 0, -1, 1, 0, c_white, 1); break;
|
||||
case 3 : draw_surface_ext(_edBuf, 0, _sh, 1, -1, 0, c_white, 1); break;
|
||||
default: draw_surface_ext(_edBuf, 0, 0, 1, 1, 0, c_white, 1); break;
|
||||
}
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target(); #endregion
|
||||
|
||||
_edBuf = __edge_buffer[0];
|
||||
|
||||
if(_edgSprt == 1 && j == 2) {
|
||||
surface_set_target(__edge_buffer[1]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE
|
||||
|
||||
if(i == 0 || i == 1) draw_surface_ext(__edge_buffer[0], _sw, 0, -1, 1, 0, c_white, 1);
|
||||
if(i == 2 || i == 3) draw_surface_ext(__edge_buffer[0], 0, _sh, 1, -1, 0, c_white, 1);
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target(); #endregion
|
||||
_edBuf = __edge_buffer[1];
|
||||
}
|
||||
|
||||
if(_edgSprt == 1 && j >= 2) {
|
||||
surface_set_target(__edge_buffer[2]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_ALPHA_MULP
|
||||
|
||||
if(j == 2) { // flip surface
|
||||
if(i == 0 || i == 1) draw_surface_ext(_edBuf, _sw, 0, -1, 1, 0, c_white, 1); // flip x
|
||||
if(i == 2 || i == 3) draw_surface_ext(_edBuf, 0, _sh, 1, -1, 0, c_white, 1); // flip y
|
||||
} else if(j == 3) {
|
||||
if(i == 0 || i == 1) draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, _sw / 2, 0, 1, 1, c_white, 1);
|
||||
if(i == 2 || i == 3) draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, _sh / 2, 1, 1, c_white, 1);
|
||||
} else if(j == 4) {
|
||||
if(i == 0 || i == 1) draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, _sw / 2, 0, -1, 1, c_white, 1);
|
||||
if(i == 2 || i == 3) draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, _sh / 2, 1, -1, c_white, 1);
|
||||
} else if(j == 5) {
|
||||
if(i == 0 || i == 1) {
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, 0, 0, 1, 1, c_white, 1);
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, _sw, 0, -1, 1, c_white, 1);
|
||||
}
|
||||
|
||||
if(i == 2 || i == 3) {
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, 0, 1, 1, c_white, 1);
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, _sh, 1, -1, c_white, 1);
|
||||
}
|
||||
} else if(j == 6) {
|
||||
if(i == 0 || i == 1) {
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, _sw / 2, 0, 1, 1, c_white, 1);
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw / 2, _sh, _sw / 2, 0, -1, 1, c_white, 1);
|
||||
}
|
||||
|
||||
if(i == 2 || i == 3) {
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, _sh / 2, 1, 1, c_white, 1);
|
||||
draw_surface_part_ext(_edBuf, 0, 0, _sw, _sh / 2, 0, _sh / 2, 1, -1, c_white, 1);
|
||||
}
|
||||
}
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target(); #endregion
|
||||
|
||||
_edBuf = __edge_buffer[1];
|
||||
}
|
||||
_edBuf = __edge_buffer[2];
|
||||
}
|
||||
|
||||
surface_set_target(__edge_surface[_sIndx]); #region
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE
|
||||
|
||||
var _rr = 0;
|
||||
var _xx = 0;
|
||||
var _yy = 0;
|
||||
|
||||
if(_edgType == 0) {
|
||||
_rr = _rot[i];
|
||||
|
||||
if(_edgSprt) {
|
||||
if(i == 1 && j != 1) _rr += 180;
|
||||
if(i == 2 && j == 0) _rr += 180;
|
||||
if(i == 3 && j == 2) _rr += 180;
|
||||
}
|
||||
|
||||
_pp = point_rotate(0, 0, _sw / 2, _sh / 2, _rr);
|
||||
_xx = _pp[0];
|
||||
_yy = _pp[1];
|
||||
}
|
||||
|
||||
switch(i) {
|
||||
case 0 : _yy += _edShf; break;
|
||||
case 1 : _yy -= _edShf; break;
|
||||
|
@ -441,7 +495,7 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
case 3 : _xx -= _edShf; break;
|
||||
}
|
||||
|
||||
draw_surface_ext(_edBuf, _xx, _yy, 1, 1, _rr, c_white, 1);
|
||||
draw_surface(_edBuf, _xx, _yy);
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target(); #endregion
|
||||
|
|
|
@ -399,7 +399,7 @@ function __initNodes() {
|
|||
addNodeObject(input, "Animation", s_node_image_animation, "Node_Image_Animated", [0, Node_create_Image_Animated],, "Load multiple images from your computer as animation.");
|
||||
addNodeObject(input, "Array to Anim", s_node_image_sequence_to_anim, "Node_Sequence_Anim", [1, Node_Sequence_Anim],, "Convert array of images into animation.");
|
||||
if(!DEMO) addNodeObject(input, "Export", s_node_export, "Node_Export", [0, Node_create_Export],, "Export image, image array to file, image sequence, animation.");
|
||||
|
||||
|
||||
ds_list_add(input, "Files");
|
||||
addNodeObject(input, "Text File In", s_node_text_file_read, "Node_Text_File_Read", [1, Node_Text_File_Read], ["txt"], "Load .txt in as text.").setVersion(1080);
|
||||
addNodeObject(input, "Text File Out", s_node_text_file_write, "Node_Text_File_Write", [1, Node_Text_File_Write], ["txt"], "Save text as a .txt file.").setVersion(1090);
|
||||
|
@ -438,6 +438,7 @@ function __initNodes() {
|
|||
addNodeObject(transform, "Composite", s_node_compose, "Node_Composite", [1, Node_Composite], ["merge"], "Combine multiple images with controllable position, rotation, scale.");
|
||||
addNodeObject(transform, "Nine Slice", s_node_9patch, "Node_9Slice", [1, Node_9Slice], ["9 slice", "splice"], "Cut image into 3x3 parts, and scale/repeat only the middle part.");
|
||||
addNodeObject(transform, "Padding", s_node_padding, "Node_Padding", [1, Node_Padding],, "Make image bigger by adding space in 4 directions.");
|
||||
//addNodeObject(transform, "Tile Random", s_node_padding, "Node_Tile_Random", [1, Node_Tile_Random]);
|
||||
#endregion
|
||||
|
||||
var filter = ds_list_create(); #region
|
||||
|
@ -620,7 +621,8 @@ function __initNodes() {
|
|||
addNodeObject(generator, "MK GridBalls", s_node_mk_ball_grid, "Node_MK_GridBalls", [1, Node_MK_GridBalls]).setVersion(11600);
|
||||
addNodeObject(generator, "MK GridFlip", s_node_mk_flip_grid, "Node_MK_GridFlip", [1, Node_MK_GridFlip]).setVersion(11600);
|
||||
addNodeObject(generator, "MK Saber", s_node_mk_saber, "Node_MK_Saber", [1, Node_MK_Saber]).setVersion(11600);
|
||||
if(TESTING) addNodeObject(generator, "MK Tile", s_node_mk_saber, "Node_MK_Tile", [1, Node_MK_Tile]).setVersion(11600);
|
||||
addNodeObject(generator, "MK Tile", s_node_mk_tile, "Node_MK_Tile", [1, Node_MK_Tile]).setVersion(11600);
|
||||
if(TESTING) addNodeObject(generator, "MK Flag", s_node_mk_tile, "Node_MK_Flag", [1, Node_MK_Flag]).setVersion(11600);
|
||||
#endregion
|
||||
|
||||
var compose = ds_list_create(); #region
|
||||
|
|
40
scripts/node_tile_random/node_tile_random.gml
Normal file
|
@ -0,0 +1,40 @@
|
|||
function Node_Tile_Random(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Tile Random";
|
||||
dimension_index = -1;
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
|
||||
inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, DEF_SURF)
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 2] = nodeValue("Randomness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [ 1,
|
||||
["Surfaces", true], 0,
|
||||
["Tiling", false], 2,
|
||||
];
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _surf = _data[0];
|
||||
var dim = _data[1];
|
||||
var rand = _data[2];
|
||||
|
||||
var _sw = surface_get_width_safe(_surf);
|
||||
var _sh = surface_get_height_safe(_surf);
|
||||
|
||||
_outSurf = surface_verify(_outSurf, dim[0], dim[1]);
|
||||
|
||||
surface_set_shader(_outSurf, sh_tile_random);
|
||||
shader_set_surface("surface", _surf);
|
||||
shader_set_f("blend", rand);
|
||||
shader_set_f("scale", dim[0] / _sw, dim[1] / _sh);
|
||||
|
||||
draw_sprite_stretched(s_fx_pixel, 0, 0, 0, dim[0], dim[1]);
|
||||
surface_reset_shader();
|
||||
|
||||
return _outSurf;
|
||||
}
|
||||
}
|
11
scripts/node_tile_random/node_tile_random.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_tile_random",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "transform",
|
||||
"path": "folders/nodes/data/transform.yy",
|
||||
},
|
||||
}
|
|
@ -1710,8 +1710,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
|
||||
switch(res) {
|
||||
case EXPRESS_TREE_ANIM.none : return false;
|
||||
case EXPRESS_TREE_ANIM.base_value : return is_anim;
|
||||
case EXPRESS_TREE_ANIM.animated : return true;
|
||||
case EXPRESS_TREE_ANIM.base_value : force_requeue = true; return is_anim;
|
||||
case EXPRESS_TREE_ANIM.animated : force_requeue = true; return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,16 +4,16 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
w = 96;
|
||||
|
||||
inputs[| 0] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [0, 1])
|
||||
inputs[| 0] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 1] = nodeValue("Frequency", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4 )
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] });
|
||||
|
||||
inputs[| 2] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom(9999999) );
|
||||
inputs[| 2] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom_range(1000000, 9999999) );
|
||||
|
||||
inputs[| 3] = nodeValue("Display", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Number", "Graph"])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Number", "Graph" ])
|
||||
|
||||
outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0);
|
||||
|
||||
|
@ -24,7 +24,7 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
random_value = array_create(64, 0);
|
||||
|
||||
static onValueUpdate = function(index = 0) {
|
||||
static onValueUpdate = function(index = 0) { #region
|
||||
var ran = getSingleValue(0);
|
||||
var fre = getSingleValue(1);
|
||||
var sed = getSingleValue(2);
|
||||
|
@ -32,18 +32,18 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
var step = TOTAL_FRAMES / 64;
|
||||
for( var i = 0; i < 64; i++ )
|
||||
random_value[i] = getWiggle(array_safe_get(ran, 0), array_safe_get(ran, 1), TOTAL_FRAMES / fre, step * i, sed, 0, TOTAL_FRAMES);
|
||||
}
|
||||
} run_in(1, function() { onValueUpdate(); }); #endregion
|
||||
|
||||
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||
static processData = function(_output, _data, _output_index, _array_index = 0) { #region
|
||||
var ran = _data[0];
|
||||
var fre = _data[1];
|
||||
var sed = _data[2];
|
||||
var time = CURRENT_FRAME;
|
||||
|
||||
return getWiggle(array_safe_get(ran, 0), array_safe_get(ran, 1), TOTAL_FRAMES / fre, time, sed, 0, TOTAL_FRAMES);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||
var ran = array_safe_get(current_data, 0);
|
||||
var fre = array_safe_get(current_data, 1);
|
||||
var sed = array_safe_get(current_data, 2);
|
||||
|
@ -53,9 +53,12 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
if(!is_array(ran)) return;
|
||||
|
||||
var _h = min_h;
|
||||
|
||||
switch(disp) {
|
||||
case 0 :
|
||||
w = 96;
|
||||
w = 96;
|
||||
_h = 0;
|
||||
|
||||
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
|
||||
var str = getWiggle(ran[0], ran[1], TOTAL_FRAMES / fre, time, sed, 0, TOTAL_FRAMES);
|
||||
|
@ -63,8 +66,8 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
draw_text_transformed(xx + w / 2 * _s, yy + 10 + h / 2 * _s, str, ss, ss, 0);
|
||||
break;
|
||||
case 1 :
|
||||
w = 128;
|
||||
min_h = 96;
|
||||
w = 128;
|
||||
_h = 96;
|
||||
|
||||
var _min = ran[0];
|
||||
var _max = ran[1];
|
||||
|
@ -80,26 +83,35 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
var yc = (y0 + y1) / 2;
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
draw_set_alpha(0.5);
|
||||
draw_line(x0, yc, x1, yc);
|
||||
var _fx = x0 + (time / total_time * ww);
|
||||
draw_line(_fx, y0, _fx, y1);
|
||||
draw_set_alpha(1);
|
||||
|
||||
var lw = ww / (64 - 1);
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
var ox, oy;
|
||||
draw_set_color(c_white);
|
||||
for( var i = 0; i < 64; i++ ) {
|
||||
var _x = x0 + i * lw;
|
||||
var _y = yc - (random_value[i] - val) / _ran * hh;
|
||||
if(i)
|
||||
draw_line(ox, oy, _x, _y);
|
||||
if(i) draw_line(ox, oy, _x, _y);
|
||||
|
||||
ox = _x;
|
||||
oy = _y;
|
||||
}
|
||||
draw_set_color(COLORS._main_accent);
|
||||
var _fx = x0 + (time / total_time * ww);
|
||||
draw_line(_fx, y0, _fx, y1);
|
||||
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
draw_rectangle(x0, y0, x1, y1, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(min_h != _h) {
|
||||
min_h = _h;
|
||||
will_setHeight = true;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static doApplyDeserialize = function() { onValueUpdate(); }
|
||||
}
|
|
@ -408,7 +408,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
//draw_sprite_ui(THEME.search, 0, ui(32 + 16), _y + ui(4 + 14), 1, 1, 0, COLORS._main_icon, 1);
|
||||
|
||||
prop_page_button.setFocusHover(pFOCUS, pHOVER);
|
||||
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m);
|
||||
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m, x + contentPane.x, y + contentPane.y);
|
||||
|
||||
var xc = con_w / 2;
|
||||
|
||||
|
|
|
@ -259,7 +259,6 @@
|
|||
self.r = r;
|
||||
dependency = [];
|
||||
anim_stat = undefined;
|
||||
anim_cache = true;
|
||||
|
||||
static _string = function(str) { #region
|
||||
return string_char_at(str, 1) == "\"" && string_char_at(str, string_length(str)) == "\"";
|
||||
|
@ -340,15 +339,11 @@
|
|||
}
|
||||
|
||||
if(val == "value") return EXPRESS_TREE_ANIM.base_value;
|
||||
var anim = nodeGetDataAnim(val);
|
||||
anim_cache &= anim[1];
|
||||
|
||||
return anim[0];
|
||||
//var anim = nodeGetDataAnim(val);
|
||||
return EXPRESS_TREE_ANIM.animated;
|
||||
} #endregion
|
||||
|
||||
static isDynamic = function() { #region
|
||||
if(anim_cache && anim_stat != undefined) return anim_stat;
|
||||
|
||||
anim_stat = EXPRESS_TREE_ANIM.none;
|
||||
anim_stat = max(anim_stat, _isAnimated(l));
|
||||
if(symbol != "@") anim_stat = max(anim_stat, _isAnimated(r));
|
||||
|
|
|
@ -210,7 +210,8 @@ function Render(partial = false, runAction = false) { #region
|
|||
|
||||
if(runAction && rendering.hasInspector1Update())
|
||||
rendering.inspector1Update();
|
||||
}
|
||||
} else if(rendering.force_requeue)
|
||||
RENDER_QUEUE.enqueue(rendering);
|
||||
|
||||
LOG_BLOCK_END();
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg
|
|||
|
||||
draw_sprite_stretched_ext(spr, 0, _x - ui(4), _y + _h / 2 - ui(4), sw + ui(8), ui(8), blend, 1);
|
||||
|
||||
if(stepSize >= 1 && sw / ((curr_maxx - curr_minn) / stepSize) > ui(8)) {
|
||||
if(stepSize >= 1 && sw / ((curr_maxx - curr_minn) / stepSize) > ui(16)) {
|
||||
for( var i = curr_minn; i <= curr_maxx; i += stepSize ) {
|
||||
var _v = round(i / stepSize) * stepSize;
|
||||
var _cx = _x + clamp((_v - curr_minn) / (curr_maxx - curr_minn), 0, 1) * sw;
|
||||
|
|
|
@ -54,7 +54,7 @@ function sliderRange(_min, _max, _step, _onModify) : widget() constructor {
|
|||
var _x0 = _x + tb_w + ui(16);
|
||||
draw_sprite_stretched(spr, 0, _x0, _y + _h / 2 - ui(4), sw, ui(8));
|
||||
|
||||
if(stepSize >= 1 && sw / ((maxx - minn) / stepSize) > ui(8)) {
|
||||
if(stepSize >= 1 && sw / ((maxx - minn) / stepSize) > ui(16)) {
|
||||
for( var i = minn; i <= maxx; i += stepSize ) {
|
||||
var _v = round(i / stepSize) * stepSize;
|
||||
var _cx = _x + clamp((_v - minn) / (maxx - minn), 0, 1) * sw;
|
||||
|
|
|
@ -5,20 +5,39 @@ varying vec2 v_vTexcoord;
|
|||
varying vec4 v_vColour;
|
||||
|
||||
uniform float strength;
|
||||
uniform vec2 center;
|
||||
uniform int sampleMode;
|
||||
uniform int blurMode;
|
||||
uniform vec2 center;
|
||||
uniform int sampleMode;
|
||||
uniform int blurMode;
|
||||
|
||||
uniform int useMask;
|
||||
uniform sampler2D mask;
|
||||
|
||||
float sampleMask() {
|
||||
#region ==== PARAM DRIVER ====
|
||||
#define PARAM_COUNT 1
|
||||
uniform int parameter_active[PARAM_COUNT];
|
||||
uniform sampler2D parameters;
|
||||
|
||||
float sampleParameter(in int index, in float def) {
|
||||
if(parameter_active[index] == 0) return def;
|
||||
float row = floor(float(index) / 4.);
|
||||
vec2 coord = (v_vTexcoord + vec2(float(index) - row * 4., row)) * 0.25;
|
||||
vec4 col = texture2D( parameters, coord );
|
||||
|
||||
float _val = col.r;
|
||||
float _min = col.g * 256. - 128.;
|
||||
float _max = col.b * 256. - 128.;
|
||||
|
||||
return mix(_min, _max, _val);
|
||||
}
|
||||
#endregion
|
||||
|
||||
float sampleMask() { #region
|
||||
if(useMask == 0) return 1.;
|
||||
vec4 m = texture2D( mask, v_vTexcoord );
|
||||
return (m.r + m.g + m.b) / 3. * m.a;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
vec4 sampleTexture(vec2 pos) {
|
||||
vec4 sampleTexture(vec2 pos) { #region
|
||||
if(pos.x >= 0. && pos.y >= 0. && pos.x <= 1. && pos.y <= 1.)
|
||||
return texture2D(gm_BaseTexture, pos);
|
||||
|
||||
|
@ -30,23 +49,20 @@ vec4 sampleTexture(vec2 pos) {
|
|||
return texture2D(gm_BaseTexture, fract(pos));
|
||||
|
||||
return vec4(0.);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
void main() {
|
||||
void main() { #region
|
||||
vec2 uv = v_vTexcoord - center;
|
||||
|
||||
float str = strength * sampleMask();
|
||||
float str = sampleParameter(0, strength) * sampleMask();
|
||||
float nsamples = 64.;
|
||||
float scale_factor = str * (1. / (nsamples * 2. - 1.));
|
||||
vec4 color = vec4(0.0);
|
||||
vec4 color = vec4(0.0);
|
||||
float blrStart = 0.;
|
||||
|
||||
if(blurMode == 0)
|
||||
blrStart = 0.;
|
||||
else if(blurMode == 1)
|
||||
blrStart = -nsamples;
|
||||
else if(blurMode == 2)
|
||||
blrStart = -nsamples * 2. - 1.;
|
||||
if(blurMode == 0) blrStart = 0.;
|
||||
else if(blurMode == 1) blrStart = -nsamples;
|
||||
else if(blurMode == 2) blrStart = -nsamples * 2. - 1.;
|
||||
|
||||
for(float i = 0.; i < nsamples * 2. + 1.; i++) {
|
||||
float scale = 1.0 + ((blrStart + i) * scale_factor);
|
||||
|
@ -57,5 +73,4 @@ void main() {
|
|||
color /= nsamples * 2. + 1.;
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
||||
|
||||
} #endregion
|
|
@ -18,29 +18,29 @@ void main() {
|
|||
|
||||
if(edge == 2) {
|
||||
if(fullEdge == 0 && tx.x < w - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
|
||||
} else if(edge == 3) {
|
||||
|
||||
} else if(edge == 1) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 7) {
|
||||
if(fullEdge == 0 && tx.x + crop[2] < tx.y + crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
|
||||
} else if(edge == 11) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] > h - tx.y - crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 9) {
|
||||
if(fullEdge == 0 && tx.x + crop[2] > tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 6) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] < h - tx.y - crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
|
||||
} else {
|
||||
discard;
|
||||
|
|
|
@ -18,29 +18,29 @@ void main() {
|
|||
|
||||
if(edge == 8) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 10) {
|
||||
|
||||
} else if(edge == 2) {
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 11) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] < h - tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 14) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] < tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 6) {
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 9) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else {
|
||||
discard;
|
||||
|
|
|
@ -18,29 +18,29 @@ void main() {
|
|||
|
||||
if(edge == 4) {
|
||||
if(fullEdge == 0 && tx.x < h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 5) {
|
||||
|
||||
} else if(edge == 1) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 7) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] > tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 13) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] > h - tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 9) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 6) {
|
||||
if(fullEdge == 0 && tx.x < h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else {
|
||||
discard;
|
||||
|
|
|
@ -18,29 +18,29 @@ void main() {
|
|||
|
||||
if(edge == 8) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
|
||||
} else if(edge == 12) {
|
||||
|
||||
} else if(edge == 4) {
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 13) {
|
||||
if(fullEdge == 0 && tx.x - crop[2] < h - tx.y - crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
|
||||
} else if(edge == 14) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] > tx.y + crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 9) {
|
||||
if(fullEdge == 0 && tx.x - crop[2] < tx.y - crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2]) discard;
|
||||
|
||||
} else if(edge == 6) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] > h - tx.y + crop[3]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else {
|
||||
discard;
|
||||
|
|
|
@ -18,19 +18,19 @@ void main() {
|
|||
|
||||
if(edge == 22 || edge == 16 || edge == 18) {
|
||||
if(fullEdge == 0 && tx.x < w - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
|
||||
} else if(edge == 7 || edge == 24 || edge == 27 || edge == 30 || edge == 26 ) {
|
||||
|
||||
} else if(edge == 11 || edge == 8 || edge == 10) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 2 || edge == 0) {
|
||||
if(fullEdge == 0 && tx.x < w - tx.y) discard;
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else {
|
||||
bool draw = false;
|
||||
|
@ -38,14 +38,20 @@ void main() {
|
|||
if(edge == 80 || edge == 120 || edge == 86 || edge == 127 || edge == 82 || edge == 123 || edge == 88 || edge == 95 || edge == 126 || edge == 122 || edge == 94 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x + crop[2] >= tx.y + crop[1])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.x > w - crop[0]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.x > w - crop[0]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
if(edge == 216 || edge == 72 || edge == 223 || edge == 75 || edge == 222 || edge == 74 || edge == 88 || edge == 219 || edge == 95 || edge == 218 || edge == 94 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] < h - tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.x < crop[2]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.x < crop[2]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,19 +18,19 @@ void main() {
|
|||
|
||||
if(edge == 208 || edge == 64 || edge == 80) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 148 || edge == 66 || edge == 86 || edge == 210 || edge == 82) {
|
||||
|
||||
} else if(edge == 22 || edge == 2 || edge == 18) {
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 16 || edge == 0) {
|
||||
if(fullEdge == 0 && tx.x > tx.y) discard;
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else {
|
||||
bool draw = false;
|
||||
|
@ -38,14 +38,20 @@ void main() {
|
|||
if(edge == 216 || edge == 72 || edge == 223 || edge == 75 || edge == 222 || edge == 74 || edge == 95 || edge == 88 || edge == 219 || edge == 218 || edge == 94 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] >= h - tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.y > h - crop[3]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.y > h - crop[3]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
if(edge == 254 || edge == 106 || edge == 30 || edge == 10 || edge == 222 || edge == 74 || edge == 126 || edge == 250 || edge == 218 || edge == 122 || edge == 26 || edge == 94 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] > tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.y < crop[1]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.y < crop[1]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,19 +18,19 @@ void main() {
|
|||
|
||||
if(edge == 104 || edge == 64 || edge == 72) {
|
||||
if(fullEdge == 0 && tx.x < h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
|
||||
} else if(edge == 41 || edge == 66 || edge == 75 || edge == 106 || edge == 74) {
|
||||
|
||||
} else if(edge == 11 || edge == 2 || edge == 10) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else if(edge == 8 || edge == 0) {
|
||||
if(fullEdge == 0 && tx.x < h - tx.y) discard;
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y < crop[1]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.y > h - crop[3]) discard;
|
||||
|
||||
} else {
|
||||
bool draw = false;
|
||||
|
@ -38,14 +38,20 @@ void main() {
|
|||
if(edge == 80 || edge == 120 || edge == 86 || edge == 127 || edge == 82 || edge == 123 || edge == 88 || edge == 95 || edge == 126 || edge == 122 || edge == 94 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] <= tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.y > h - crop[3]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.y > h - crop[3]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
if(edge == 210 || edge == 251 || edge == 18 || edge == 27 || edge == 82 || edge == 123 || edge == 219 || edge == 250 || edge == 218 || edge == 122 || edge == 26 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[0] < h - tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.y < crop[1]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.y < crop[1]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,19 +18,19 @@ void main() {
|
|||
|
||||
if(edge == 208 || edge == 16 || edge == 80) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
|
||||
} else if(edge == 224 || edge == 24 || edge == 120 || edge == 216 || edge == 88) {
|
||||
|
||||
} else if(edge == 104 || edge == 8 || edge == 72) {
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else if(edge == 64 || edge == 0) {
|
||||
if(fullEdge == 0 && tx.x < tx.y) discard;
|
||||
if(fullEdge == 0 && tx.x > h - tx.y) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x < crop[2] ) discard;
|
||||
//if(fullEdge == 1 && extendEdge == 0 && tx.x > w - crop[0]) discard;
|
||||
|
||||
} else {
|
||||
bool draw = false;
|
||||
|
@ -38,14 +38,20 @@ void main() {
|
|||
if(edge == 210 || edge == 251 || edge == 18 || edge == 27 || edge == 82 || edge == 123 || edge == 219 || edge == 250 || edge == 218 || edge == 122 || edge == 26 || edge == 91 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x - crop[2] >= h - tx.y - crop[3])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.x < crop[2]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.x < crop[2]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
if(edge == 254 || edge == 106 || edge == 30 || edge == 10 || edge == 222 || edge == 74 || edge == 126 || edge == 250 || edge == 218 || edge == 122 || edge == 26 || edge == 94 || edge == 90) {
|
||||
if(fullEdge == 0 && tx.x + crop[0] <= tx.y + crop[1])
|
||||
draw = true;
|
||||
if(fullEdge == 1 && (extendEdge == 1 || tx.x > w - crop[0]))
|
||||
|
||||
//if(fullEdge == 1 && (extendEdge == 1 || tx.x > w - crop[0]))
|
||||
// draw = true;
|
||||
if(fullEdge == 1)
|
||||
draw = true;
|
||||
}
|
||||
|
||||
|
|
50
shaders/sh_tile_random/sh_tile_random.fsh
Normal file
|
@ -0,0 +1,50 @@
|
|||
// The MIT License
|
||||
// Copyright © 2015 Inigo Quilez
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
// https://www.youtube.com/c/InigoQuilez
|
||||
// https://iquilezles.org
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
uniform sampler2D surface;
|
||||
uniform float blend;
|
||||
uniform vec2 scale;
|
||||
|
||||
vec4 hash4( vec2 p ) { return fract(sin(vec4( 1.0 + dot(p, vec2(37.0, 17.0)),
|
||||
2.0 + dot(p, vec2(11.0, 47.0)),
|
||||
3.0 + dot(p, vec2(41.0, 29.0)),
|
||||
4.0 + dot(p, vec2(23.0, 31.0)))) * 103.0); }
|
||||
|
||||
vec4 textureNoTile( in vec2 uv, float v ) {
|
||||
vec2 p = floor( uv );
|
||||
vec2 f = fract( uv );
|
||||
|
||||
vec4 va = vec4(0.0);
|
||||
float w1 = 0.0;
|
||||
float w2 = 0.0;
|
||||
|
||||
for( int j=-1; j<=1; j++ )
|
||||
for( int i=-1; i<=1; i++ ) {
|
||||
vec2 g = vec2( float(i), float(j) );
|
||||
vec4 o = hash4( p + g );
|
||||
vec2 r = g - f + o.xy;
|
||||
float d = dot(r, r);
|
||||
float w = exp(-5.0 * d );
|
||||
vec4 c = texture2D( surface, fract(uv + v * o.zw) );
|
||||
|
||||
va += w * c;
|
||||
w1 += w;
|
||||
w2 += w * w;
|
||||
}
|
||||
|
||||
float mean = 0.3;
|
||||
vec4 res = mean + (va - w1 * mean) / sqrt(w2);
|
||||
return mix( va / w1, res, v );
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec2 uv = v_vTexcoord * scale;
|
||||
|
||||
gl_FragColor = textureNoTile( uv, blend );
|
||||
}
|
19
shaders/sh_tile_random/sh_tile_random.vsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// Simple passthrough vertex shader
|
||||
//
|
||||
attribute vec3 in_Position; // (x,y,z)
|
||||
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||
attribute vec4 in_Colour; // (r,g,b,a)
|
||||
attribute vec2 in_TextureCoord; // (u,v)
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||
|
||||
v_vColour = in_Colour;
|
||||
v_vTexcoord = in_TextureCoord;
|
||||
}
|
10
shaders/sh_tile_random/sh_tile_random.yy
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"resourceType": "GMShader",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "sh_tile_random",
|
||||
"parent": {
|
||||
"name": "filter",
|
||||
"path": "folders/shader/filter.yy",
|
||||
},
|
||||
"type": 1,
|
||||
}
|
Before Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
|
@ -13,14 +13,14 @@
|
|||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"93617f8b-5294-4379-9291-8997c8659aaf",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"af86ed9d-9f7a-4ab5-9491-23d157754470",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"cc424554-c7d8-4d22-ad63-84b7e506e945","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"2ef71ed2-22fb-4c55-9b24-72fadd383798","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
|
@ -54,7 +54,7 @@
|
|||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"93617f8b-5294-4379-9291-8997c8659aaf","path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},},},"Disabled":false,"id":"f59f5080-75ed-44e8-9afe-39cd8e92ad39","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"af86ed9d-9f7a-4ab5-9491-23d157754470","path":"sprites/s_node_mk_ball_grid/s_node_mk_ball_grid.yy",},},},"Disabled":false,"id":"9a2d9d69-0ca2-47c8-b62b-0e3c513f338f","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
|
@ -13,14 +13,14 @@
|
|||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"9346723f-9bfe-4d65-a80e-4ce2643a5b3f",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"7da3fa7b-19e8-4752-9b7b-c42270228ce1",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"0abbdf26-32ca-4411-999b-57beff9ac021","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"cd81bf79-7b4e-47ef-a4f6-a30761d687f9","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
|
@ -54,7 +54,7 @@
|
|||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"9346723f-9bfe-4d65-a80e-4ce2643a5b3f","path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},},},"Disabled":false,"id":"47e778b6-b6b8-4972-9d4f-a5ae19e40300","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"7da3fa7b-19e8-4752-9b7b-c42270228ce1","path":"sprites/s_node_mk_flip_grid/s_node_mk_flip_grid.yy",},},},"Disabled":false,"id":"477ea8da-d5c2-4efe-9e3d-9dec04d206e3","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB |
BIN
sprites/s_node_mk_rain/fa0422a8-979f-423e-b910-d2c0a55be02e.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -13,14 +13,14 @@
|
|||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"18e0d307-8a22-4660-8d07-94154effe0c4",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"fa0422a8-979f-423e-b910-d2c0a55be02e",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"7d4701da-57f9-4127-8e80-c019bcffa559","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"d5781296-7570-45f0-8e69-34e87e3f5e36","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
|
@ -54,7 +54,7 @@
|
|||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"18e0d307-8a22-4660-8d07-94154effe0c4","path":"sprites/s_node_mk_rain/s_node_mk_rain.yy",},},},"Disabled":false,"id":"ad66282b-c136-4710-9ff3-39b80920e02a","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"fa0422a8-979f-423e-b910-d2c0a55be02e","path":"sprites/s_node_mk_rain/s_node_mk_rain.yy",},},},"Disabled":false,"id":"c3379a38-7831-4425-afa8-20d2806f70dc","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|
Before Width: | Height: | Size: 2 KiB |
BIN
sprites/s_node_mk_saber/f0cba714-735b-4358-a30c-8dedc27bd8e4.png
Normal file
After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 2 KiB |
|
@ -13,14 +13,14 @@
|
|||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"738a7dcd-3806-4941-ad43-fb97ce09c4e8",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f0cba714-735b-4358-a30c-8dedc27bd8e4",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"97534089-2439-4d31-a905-7f8ab255ac71","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"316c0452-4330-47c0-afd8-19d80938e3da","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
|
@ -54,7 +54,7 @@
|
|||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"738a7dcd-3806-4941-ad43-fb97ce09c4e8","path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},},},"Disabled":false,"id":"04252012-20e2-42a9-b7a7-6a71b7b9c596","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f0cba714-735b-4358-a30c-8dedc27bd8e4","path":"sprites/s_node_mk_saber/s_node_mk_saber.yy",},},},"Disabled":false,"id":"a861369c-dd0d-4ae7-92d4-617146994538","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|
BIN
sprites/s_node_mk_tile/b4d4c641-85c8-4f01-96fd-eefedb4610b0.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.7 KiB |
74
sprites/s_node_mk_tile/s_node_mk_tile.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_mk_tile",
|
||||
"bbox_bottom": 63,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 63,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"b4d4c641-85c8-4f01-96fd-eefedb4610b0",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"c8c66ee6-914d-476e-81c6-c4b667d1cb24","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "MK effects",
|
||||
"path": "folders/nodes/icons/MK effects.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_mk_tile",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"b4d4c641-85c8-4f01-96fd-eefedb4610b0","path":"sprites/s_node_mk_tile/s_node_mk_tile.yy",},},},"Disabled":false,"id":"6019620f-8e2c-412d-a208-34d0b1b203b6","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 32,
|
||||
"yorigin": 32,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 64,
|
||||
}
|