diff --git a/Pixels Composer.yyp b/Pixels Composer.yyp index 4ac0c5365..b3d42a737 100644 --- a/Pixels Composer.yyp +++ b/Pixels Composer.yyp @@ -112,7 +112,6 @@ {"id":{"name":"rotatorRange","path":"scripts/rotatorRange/rotatorRange.yy",},"order":12,}, {"id":{"name":"point_rotate","path":"scripts/point_rotate/point_rotate.yy",},"order":1,}, {"id":{"name":"FileDropper","path":"extensions/FileDropper/FileDropper.yy",},"order":1,}, - {"id":{"name":"s_noti_icon_file","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"order":1,}, {"id":{"name":"node_displacement","path":"scripts/node_displacement/node_displacement.yy",},"order":8,}, {"id":{"name":"s_node_input","path":"sprites/s_node_input/s_node_input.yy",},"order":53,}, {"id":{"name":"s_workspace_0","path":"sprites/s_workspace_0/s_workspace_0.yy",},"order":0,}, @@ -269,11 +268,11 @@ {"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},"order":3,}, {"id":{"name":"s_node_color_out","path":"sprites/s_node_color_out/s_node_color_out.yy",},"order":6,}, {"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},"order":4,}, - {"id":{"name":"node_fracture","path":"scripts/node_fracture/node_fracture.yy",},"order":6,}, {"id":{"name":"sh_shape","path":"shaders/sh_shape/sh_shape.yy",},"order":3,}, {"id":{"name":"draw_line_width2","path":"scripts/draw_line_width2/draw_line_width2.yy",},"order":2,}, {"id":{"name":"s_node_3d_cube","path":"sprites/s_node_3d_cube/s_node_3d_cube.yy",},"order":28,}, {"id":{"name":"node_particle_effector","path":"scripts/node_particle_effector/node_particle_effector.yy",},"order":9,}, + {"id":{"name":"s_noti_icon_file_load","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"order":5,}, {"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,}, {"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},"order":39,}, {"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":0,}, @@ -456,6 +455,7 @@ {"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,}, {"id":{"name":"s_canvas_tools_rect_fill","path":"sprites/s_canvas_tools_rect_fill/s_canvas_tools_rect_fill.yy",},"order":6,}, {"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,}, + {"id":{"name":"s_noti_icon_file_save","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"order":4,}, {"id":{"name":"random_function","path":"scripts/random_function/random_function.yy",},"order":3,}, {"id":{"name":"s_workspace_1","path":"sprites/s_workspace_1/s_workspace_1.yy",},"order":1,}, {"id":{"name":"string_decimal","path":"scripts/string_decimal/string_decimal.yy",},"order":0,}, @@ -469,7 +469,6 @@ {"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,}, {"id":{"name":"sh_level","path":"shaders/sh_level/sh_level.yy",},"order":7,}, {"id":{"name":"panel_menu","path":"scripts/panel_menu/panel_menu.yy",},"order":3,}, - {"id":{"name":"s_noti_icon_save","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"order":2,}, {"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},"order":4,}, {"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},"order":18,}, {"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,}, diff --git a/scripts/append/append.gml b/scripts/append/append.gml index 34f6e2c2d..87c3b96e8 100644 --- a/scripts/append/append.gml +++ b/scripts/append/append.gml @@ -1,5 +1,4 @@ function APPEND(_path) { - APPEND_ID = NODE_ID + 1; APPENDING = true; if(_path == "") return; @@ -29,6 +28,7 @@ function APPEND(_path) { var node_create = ds_list_create(); ds_queue_clear(CONNECTION_CONFLICT); + ds_map_clear(APPEND_MAP); for(var i = 0; i < ds_list_size(_node_list); i++) { var _node = nodeLoad(_node_list[| i], true); @@ -89,5 +89,12 @@ function APPEND(_path) { PANEL_ANIMATION.updatePropertyList(); log_message("FILE", "append file " + _path); + PANEL_MENU.showNoti("Collection loaded", s_noti_icon_file_load); return node_create; +} + +function GetAppendID(old_id) { + if(ds_map_exists(APPEND_MAP, old_id)) + return APPEND_MAP[? old_id]; + return -1; } \ No newline at end of file diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 9aa0cb685..90415d352 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -1,8 +1,7 @@ #region save - globalvar LOADING, APPENDING, APPEND_ID, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED; + globalvar LOADING, APPENDING, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED; LOADING = false; APPENDING = false; - APPEND_ID = 0; READONLY = false; CONNECTION_CONFLICT = ds_queue_create(); @@ -16,14 +15,14 @@ globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING; VERSION = 82; - SAVEFILE_VERSION = 80; + SAVEFILE_VERSION = 82; VERSION_STRING = "0.8.2"; - globalvar NODES, ANIMATOR, NODE_ID, NODE_MAP, HOTKEYS, HOTKEY_CONTEXT; + globalvar NODES, ANIMATOR, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT; - NODE_ID = 0; NODES = ds_list_create(); NODE_MAP = ds_map_create(); + APPEND_MAP = ds_map_create(); HOTKEYS = ds_map_create(); HOTKEY_CONTEXT = ds_list_create(); diff --git a/scripts/load/load.gml b/scripts/load/load.gml index 6f003af96..81585fbdd 100644 --- a/scripts/load/load.gml +++ b/scripts/load/load.gml @@ -21,7 +21,6 @@ function LOAD_PATH(path, readonly = false) { if(file_exists(temp_path)) file_delete(temp_path); file_copy(path, temp_path); - APPEND_ID = 0; LOADING = true; READONLY = readonly; SET_PATH(path); @@ -116,6 +115,6 @@ function LOAD_PATH(path, readonly = false) { PANEL_ANIMATION.updatePropertyList(); log_message("FILE", "load at " + path); - PANEL_MENU.showNoti("File loaded", s_noti_icon_file); + PANEL_MENU.showNoti("File loaded", s_noti_icon_file_load); return true; } diff --git a/scripts/node_2d_light/node_2d_light.gml b/scripts/node_2d_light/node_2d_light.gml index 823f67ab4..530bfb7b6 100644 --- a/scripts/node_2d_light/node_2d_light.gml +++ b/scripts/node_2d_light/node_2d_light.gml @@ -48,8 +48,7 @@ function Node_2D_light(_x, _y) : Node_Processor(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.slider, [0, 16, 1]); inputs[| 11] = nodeValue(11, "Attenuation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, ["Quadratic", "Linear"]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, ["Quadratic", "Linear"]); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); outputs[| 1] = nodeValue(1, "Light only", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_3D_obj/node_3D_obj.gml b/scripts/node_3D_obj/node_3D_obj.gml index 63db9ed87..9e4fde425 100644 --- a/scripts/node_3D_obj/node_3D_obj.gml +++ b/scripts/node_3D_obj/node_3D_obj.gml @@ -17,18 +17,17 @@ function Node_3D_Obj(_x, _y) : Node(_x, _y) constructor { }, "Generate"] ); inputs[| 2] = nodeValue(2, "Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 3] = nodeValue(3, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); - + inputs[| 4] = nodeValue(4, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 180 ]) .setDisplay(VALUE_DISPLAY.vector); inputs[| 5] = nodeValue(5, "Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); - + input_display_list = [ 2, ["Geometry", false], 0, 1, ["Transform", false], 3, 4, 5 diff --git a/scripts/node_3d_prim_cube/node_3d_prim_cube.gml b/scripts/node_3d_prim_cube/node_3d_prim_cube.gml index 5694406ae..ae1934a99 100644 --- a/scripts/node_3d_prim_cube/node_3d_prim_cube.gml +++ b/scripts/node_3d_prim_cube/node_3d_prim_cube.gml @@ -9,8 +9,7 @@ function Node_3D_Cube(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Main texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, DEF_SURFACE); inputs[| 1] = nodeValue(1, "Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 2] = nodeValue(2, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); diff --git a/scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.gml b/scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.gml index bf909be81..aa7c2f46c 100644 --- a/scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.gml +++ b/scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.gml @@ -7,15 +7,12 @@ function Node_create_3D_Cylinder(_x, _y) { function Node_3D_Cylinder(_x, _y) : Node(_x, _y) constructor { name = "3D Cylinder"; - inputs[| 0] = nodeValue(0, "Sides", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16) - .setVisible(false); - - inputs[| 1] = nodeValue(1, "Thickness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) - .setVisible(false); + inputs[| 0] = nodeValue(0, "Sides", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16); + inputs[| 1] = nodeValue(1, "Thickness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2); + inputs[| 2] = nodeValue(2, "Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 3] = nodeValue(3, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); diff --git a/scripts/node_3d_transform/node_3d_transform.gml b/scripts/node_3d_transform/node_3d_transform.gml index 95072c808..e58269ca1 100644 --- a/scripts/node_3d_transform/node_3d_transform.gml +++ b/scripts/node_3d_transform/node_3d_transform.gml @@ -19,12 +19,10 @@ function Node_3D_Transform(_x, _y) : Node_Processor(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.vector); inputs[| 4] = nodeValue(4, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, OUTPUT_SCALING.same_as_input) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Same as input", "Constant", "Relative to input" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Same as input", "Constant", "Relative to input" ]); inputs[| 5] = nodeValue(5, "Constant dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) .setDisplay(VALUE_DISPLAY.vector); - node_input_visible(inputs[| 5], false); input_display_list = [0, ["Outputs", true], 4, 5, diff --git a/scripts/node_array/node_array.gml b/scripts/node_array/node_array.gml index 989077a51..8d477db89 100644 --- a/scripts/node_array/node_array.gml +++ b/scripts/node_array/node_array.gml @@ -14,8 +14,7 @@ function Node_Array(_x, _y) : Node(_x, _y) constructor { w = 96; for(var i = 0; i < input_max; i++) { - inputs[| i] = nodeValue(i, "Value " + string(i), self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) - .setVisible(false); + inputs[| i] = nodeValue(i, "Value " + string(i), self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0); } outputs[| 0] = nodeValue(0, "Array", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, []); diff --git a/scripts/node_array_length/node_array_length.gml b/scripts/node_array_length/node_array_length.gml index a476a966f..b39b11d9b 100644 --- a/scripts/node_array_length/node_array_length.gml +++ b/scripts/node_array_length/node_array_length.gml @@ -12,7 +12,8 @@ function Node_Array_Length(_x, _y) : Node(_x, _y) constructor { h = 32 + 24; min_h = h; - inputs[| 0] = nodeValue(0, "Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0); + inputs[| 0] = nodeValue(0, "Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0); diff --git a/scripts/node_blend/node_blend.gml b/scripts/node_blend/node_blend.gml index 5cd9f059d..a845ecb41 100644 --- a/scripts/node_blend/node_blend.gml +++ b/scripts/node_blend/node_blend.gml @@ -11,8 +11,7 @@ function Node_Blend(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 1] = nodeValue(1, "Foreground", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, DEF_SURFACE); inputs[| 2] = nodeValue(2, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES ) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES ); inputs[| 3] = nodeValue(3, "Opacity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]); @@ -20,8 +19,7 @@ function Node_Blend(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 4] = nodeValue(4, "Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| 5] = nodeValue(5, "Tiling", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Stretch", "Tile" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Stretch", "Tile" ]); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_canvas/node_canvas.gml b/scripts/node_canvas/node_canvas.gml index d2f01e622..621a7a631 100644 --- a/scripts/node_canvas/node_canvas.gml +++ b/scripts/node_canvas/node_canvas.gml @@ -16,23 +16,19 @@ function Node_Canvas(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.slider, [1, 32, 1]); inputs[| 3] = nodeValue(3, "Fill threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); inputs[| 4] = nodeValue(4, "Fill type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, ["4 connect", "8 connect", "Entire canvas"]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, ["4 connect", "8 connect", "Entire canvas"]); - inputs[| 5] = nodeValue(5, "Draw preview overlay", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 5] = nodeValue(5, "Draw preview overlay", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 6] = nodeValue(6, "Brush", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, -1); inputs[| 7] = nodeValue(7, "Surface amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); - outputs[| 1] = nodeValue(1, "Preview", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)) - .setVisible(false); + outputs[| 1] = nodeValue(1, "Preview", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); input_display_list = [ ["Output", false], 0, diff --git a/scripts/node_color/node_color.gml b/scripts/node_color/node_color.gml index ed9a1e7e6..1e32da20b 100644 --- a/scripts/node_color/node_color.gml +++ b/scripts/node_color/node_color.gml @@ -11,8 +11,7 @@ function Node_Color(_x, _y) : Node(_x, _y) constructor { min_h = 0; w = 96; - inputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white) - .setVisible(false); + inputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); outputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.output, VALUE_TYPE.color, []); diff --git a/scripts/node_color_adjustment/node_color_adjustment.gml b/scripts/node_color_adjustment/node_color_adjustment.gml index 7c5901d9e..a6c972ad9 100644 --- a/scripts/node_color_adjustment/node_color_adjustment.gml +++ b/scripts/node_color_adjustment/node_color_adjustment.gml @@ -23,37 +23,29 @@ function Node_Color_adjust(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| 1] = nodeValue(1, "Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]); inputs[| 2] = nodeValue(2, "Contrast", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]); inputs[| 3] = nodeValue(3, "Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]); inputs[| 4] = nodeValue(4, "Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]); inputs[| 5] = nodeValue(5, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ -1, 1, 0.01]); - inputs[| 6] = nodeValue(6, "Blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white) - .setVisible(false); + inputs[| 6] = nodeValue(6, "Blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); inputs[| 7] = nodeValue(7, "Blend alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]); inputs[| 8] = nodeValue(8, "Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| 9] = nodeValue(9, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_color_from_hsv/node_color_from_hsv.gml b/scripts/node_color_from_hsv/node_color_from_hsv.gml index 5fe6e22fd..5b75b39cd 100644 --- a/scripts/node_color_from_hsv/node_color_from_hsv.gml +++ b/scripts/node_color_from_hsv/node_color_from_hsv.gml @@ -12,13 +12,16 @@ function Node_Color_HSV(_x, _y) : Node(_x, _y) constructor { min_h = 0; inputs[| 0] = nodeValue(0, "Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); inputs[| 1] = nodeValue(1, "Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); inputs[| 2] = nodeValue(2, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.output, VALUE_TYPE.color, c_white); diff --git a/scripts/node_color_from_rgb/node_color_from_rgb.gml b/scripts/node_color_from_rgb/node_color_from_rgb.gml index f2c000d29..456bbc200 100644 --- a/scripts/node_color_from_rgb/node_color_from_rgb.gml +++ b/scripts/node_color_from_rgb/node_color_from_rgb.gml @@ -12,13 +12,16 @@ function Node_Color_RGB(_x, _y) : Node(_x, _y) constructor { min_h = 0; inputs[| 0] = nodeValue(0, "Red", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); inputs[| 1] = nodeValue(1, "Green", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); inputs[| 2] = nodeValue(2, "Blue", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.output, VALUE_TYPE.color, c_white); diff --git a/scripts/node_color_replacement/node_color_replacement.gml b/scripts/node_color_replacement/node_color_replacement.gml index 780887699..af1b5c002 100644 --- a/scripts/node_color_replacement/node_color_replacement.gml +++ b/scripts/node_color_replacement/node_color_replacement.gml @@ -25,14 +25,11 @@ function Node_Color_replace(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 3] = nodeValue(3, "Treshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); - inputs[| 4] = nodeValue(4, "Set others to black", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 4] = nodeValue(4, "Set others to black", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - inputs[| 5] = nodeValue(5, "Multiply alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .setVisible(false); + inputs[| 5] = nodeValue(5, "Multiply alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); - inputs[| 6] = nodeValue(6, "Hard replace", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 6] = nodeValue(6, "Hard replace", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); input_display_list = [0, ["Color", false], 1, 2, diff --git a/scripts/node_composite/node_composite.gml b/scripts/node_composite/node_composite.gml index 5841f05ad..88e25951d 100644 --- a/scripts/node_composite/node_composite.gml +++ b/scripts/node_composite/node_composite.gml @@ -20,16 +20,13 @@ function Node_Composite(_x, _y) : Node_Processor(_x, _y) constructor { uniform_for = shader_get_sampler_index(sh_blend_normal_dim, "fore"); inputs[| 0] = nodeValue(0, "Padding", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ]) - .setDisplay(VALUE_DISPLAY.padding) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.padding); inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, COMPOSE_OUTPUT_SCALING.first) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "First surface", "Largest surface", "Constant" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "First surface", "Largest surface", "Constant" ]); inputs[| 2] = nodeValue(2, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); input_fix_len = ds_list_size(inputs); data_length = 4; @@ -45,16 +42,13 @@ function Node_Composite(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| index + 0] = nodeValue( index + 0, _s? ("Surface " + string(_s)) : "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| index + 1] = nodeValue( index + 1, "Position " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| index + 2] = nodeValue( index + 2, "Rotation " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) - .setDisplay(VALUE_DISPLAY.rotation) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.rotation); inputs[| index + 3] = nodeValue( index + 3, "Scale " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); array_push(input_display_list, ["Surface " + string(_s), true], index + 0, index + 1, index + 2, index + 3); } diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index c601c9e0a..4325cf146 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -1,6 +1,6 @@ function Node(_x, _y) constructor { active = true; - node_id = NODE_ID++; + node_id = generateUUID(); group = -1; color = c_white; icon = noone; @@ -517,9 +517,14 @@ function Node(_x, _y) constructor { load_map = -1; static deserialize = function(scale = false) { keyframe_scale = scale; - node_id = load_map[? "id"] + APPEND_ID; + + if(APPENDING) { + APPEND_MAP[? load_map[? "id"]] = node_id; + } else { + node_id = load_map[? "id"]; + } + NODE_MAP[? node_id] = self; - NODE_ID = max(NODE_ID, node_id + 1); name = load_map[? "name"]; _group = load_map[? "group"]; @@ -547,8 +552,14 @@ function Node(_x, _y) constructor { var c = PANEL_GRAPH.getCurrentContext(); if(c != -1) c.add(self); } else { - if(ds_map_exists(NODE_MAP, _group + APPEND_ID)) { - NODE_MAP[? _group + APPEND_ID].add(self); + if(APPENDING) _group = GetAppendID(_group); + + if(ds_map_exists(NODE_MAP, _group)) { + NODE_MAP[? _group].add(self); + } else { + var txt = "Group load failed. Can't find node ID " + string(_group); + PANEL_MENU.addNotiExtra(txt); + log_warning("LOAD", txt); } } } diff --git a/scripts/node_displacement/node_displacement.gml b/scripts/node_displacement/node_displacement.gml index 63f27de8b..779ad52e5 100644 --- a/scripts/node_displacement/node_displacement.gml +++ b/scripts/node_displacement/node_displacement.gml @@ -28,14 +28,11 @@ function Node_Displace(_x, _y) : Node_Processor(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]); inputs[| 5] = nodeValue(5, "Color data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Ignore", "Vector", "Angle" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Ignore", "Vector", "Angle" ]); - inputs[| 6] = nodeValue(6, "Iterate", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 6] = nodeValue(6, "Iterate", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - inputs[| 7] = nodeValue(7, "Wrap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 7] = nodeValue(7, "Wrap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); input_display_list = [ 0, ["Displace", false], 1, 3, 4, diff --git a/scripts/node_export/node_export.gml b/scripts/node_export/node_export.gml index 06271b0fb..e0f9f5d50 100644 --- a/scripts/node_export/node_export.gml +++ b/scripts/node_export/node_export.gml @@ -24,8 +24,7 @@ function Node_Export(_x, _y) : Node(_x, _y) constructor { .setVisible(true); inputs[| 2] = nodeValue(2, "Template", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "%d%n") - .setDisplay(VALUE_DISPLAY.export_format) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.export_format); inputs[| 3] = nodeValue(3, "Format", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Single image (.png)", "Image sequence (.png)", "Animated gif (.gif)"]); @@ -39,14 +38,14 @@ function Node_Export(_x, _y) : Node(_x, _y) constructor { %i Index" ); inputs[| 5] = nodeValue(5, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .setVisible(false, false); + .setVisible(false); inputs[| 6] = nodeValue(6, "Frame optimization", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false, false); + .setVisible(false); inputs[| 7] = nodeValue(7, "Color merge", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.02) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) - .setVisible(false, false); + .setVisible(false); inputs[| 8] = nodeValue(8, "Dithering", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false, false); + .setVisible(false); input_display_list = [ ["Path", false], 0, 1, 2, 4, diff --git a/scripts/node_fracture/node_fracture.gml b/scripts/node_fracture/node_fracture.gml deleted file mode 100644 index 90f051c2d..000000000 --- a/scripts/node_fracture/node_fracture.gml +++ /dev/null @@ -1,12 +0,0 @@ -function Node_create_Fracture(_x, _y) { - var node = new Node_Fracture(_x, _y); - ds_list_add(PANEL_GRAPH.nodes_list, node); - return node; -} - -function Node_Fracture(_x, _y) : Node(_x, _y) constructor { - name = "Fracture"; - auto_update = false; - use_cache = true; - -} \ No newline at end of file diff --git a/scripts/node_fracture/node_fracture.yy b/scripts/node_fracture/node_fracture.yy deleted file mode 100644 index c9082021a..000000000 --- a/scripts/node_fracture/node_fracture.yy +++ /dev/null @@ -1,12 +0,0 @@ -{ - "isDnD": false, - "isCompatibility": false, - "parent": { - "name": "generator", - "path": "folders/nodes/data/generator.yy", - }, - "resourceVersion": "1.0", - "name": "node_fracture", - "tags": [], - "resourceType": "GMScript", -} \ No newline at end of file diff --git a/scripts/node_fracture/node_particle.yy b/scripts/node_fracture/node_particle.yy deleted file mode 100644 index 6a0b26d76..000000000 --- a/scripts/node_fracture/node_particle.yy +++ /dev/null @@ -1,12 +0,0 @@ -{ - "isDnD": false, - "isCompatibility": false, - "parent": { - "name": "generator", - "path": "folders/nodes/data/generator.yy", - }, - "resourceVersion": "1.0", - "name": "node_particle", - "tags": [], - "resourceType": "GMScript", -} \ No newline at end of file diff --git a/scripts/node_frame/node_frame.gml b/scripts/node_frame/node_frame.gml index 51c0a9347..e08f767e3 100644 --- a/scripts/node_frame/node_frame.gml +++ b/scripts/node_frame/node_frame.gml @@ -22,10 +22,10 @@ function Node_Frame(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 240, 160 ] ) .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + inputs[| 1] = nodeValue(1, "Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white ) - .setVisible(false); + static step = function() { var si = inputs[| 0].getValue(); diff --git a/scripts/node_gradient/node_gradient.gml b/scripts/node_gradient/node_gradient.gml index 9ef537187..38c6a7095 100644 --- a/scripts/node_gradient/node_gradient.gml +++ b/scripts/node_gradient/node_gradient.gml @@ -24,29 +24,23 @@ function Node_Gradient(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.vector); inputs[| 1] = nodeValue(1, "Gradient", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white) - .setDisplay(VALUE_DISPLAY.gradient) + .setDisplay(VALUE_DISPLAY.gradient); inputs[| 2] = nodeValue(2, "Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Circular", "Radial" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Circular", "Radial" ]); inputs[| 3] = nodeValue(3, "Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.rotation) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.rotation); - inputs[| 4] = nodeValue(4, "Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .5) - .setVisible(false); + inputs[| 4] = nodeValue(4, "Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .5); inputs[| 5] = nodeValue(5, "Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY.slider, [-2, 2, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [-2, 2, 0.01]); inputs[| 6] = nodeValue(6, "Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [def_surf_size / 2, def_surf_size / 2]) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 7] = nodeValue(7, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 7] = nodeValue(7, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_gradient_output/node_gradient_output.gml b/scripts/node_gradient_output/node_gradient_output.gml index ff1ca5f19..7d6c68322 100644 --- a/scripts/node_gradient_output/node_gradient_output.gml +++ b/scripts/node_gradient_output/node_gradient_output.gml @@ -12,8 +12,7 @@ function Node_Gradient_Out(_x, _y) : Node(_x, _y) constructor { w = 96; inputs[| 0] = nodeValue(0, "Gradient", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white) - .setDisplay(VALUE_DISPLAY.gradient) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.gradient); inputs[| 1] = nodeValue(1, "Sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); diff --git a/scripts/node_group_input/node_group_input.gml b/scripts/node_group_input/node_group_input.gml index 9da25a175..3810e0317 100644 --- a/scripts/node_group_input/node_group_input.gml +++ b/scripts/node_group_input/node_group_input.gml @@ -21,27 +21,24 @@ function Node_Group_Input(_x, _y, _group) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Default", "Range", "Enum Scroll", "Enum Button", "Rotation", "Rotation range", - "Slider", "Slider range", "Gradient", "Palette", "Padding", "Vector", "Vector range", "Area", "Curve" ]) - .setVisible(false); + "Slider", "Slider range", "Gradient", "Palette", "Padding", "Vector", "Vector range", "Area", "Curve" ]); inputs[| 1] = nodeValue(1, "Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 1]) .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false, false); - - inputs[| 2] = nodeValue(2, "Input type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Integer", "Float", "Boolean", "Color", "Surface", "Path", "Curve", "Text", "Object", "Any" ]) .setVisible(false); + inputs[| 2] = nodeValue(2, "Input type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Integer", "Float", "Boolean", "Color", "Surface", "Path", "Curve", "Text", "Object", "Any" ]); + inputs[| 3] = nodeValue(3, "Enum label", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "") - .setVisible(false, false); + .setVisible(false); inputs[| 4] = nodeValue(4, "Vector size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, [ "2", "3", "4" ]) - .setVisible(false, false); - - inputs[| 5] = nodeValue(5, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setVisible(false); + inputs[| 5] = nodeValue(5, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); + input_display_list = [ ["Data", false], 2, 4, ["Display", false], 5, 0, 1, 3 @@ -132,7 +129,7 @@ function Node_Group_Input(_x, _y, _group) : Node(_x, _y) constructor { group.sortIO(); } - function createInput(override_order = false) { + static createInput = function(override_order = false) { if(group && is_struct(group)) { if(override_order) { input_index = ds_list_size(group.inputs); @@ -141,7 +138,8 @@ function Node_Group_Input(_x, _y, _group) : Node(_x, _y) constructor { input_index = inputs[| 5].getValue(); } - inParent = nodeValue(ds_list_size(group.inputs), "Value", group, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1); + inParent = nodeValue(ds_list_size(group.inputs), "Value", group, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1) + .setVisible(true, true); inParent.from = self; ds_list_add(group.inputs, inParent); @@ -196,7 +194,7 @@ function Node_Group_Input(_x, _y, _group) : Node(_x, _y) constructor { onValueUpdate(0); } - function onDestroy() { + static onDestroy = function() { if(is_undefined(inParent)) return; ds_list_remove(group.inputs, inParent); diff --git a/scripts/node_group_output/node_group_output.gml b/scripts/node_group_output/node_group_output.gml index 2b0da393b..3e0415e38 100644 --- a/scripts/node_group_output/node_group_output.gml +++ b/scripts/node_group_output/node_group_output.gml @@ -19,8 +19,7 @@ function Node_Group_Output(_x, _y, _group) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1); - inputs[| 1] = nodeValue(1, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setVisible(false); + inputs[| 1] = nodeValue(1, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); outParent = undefined; output_index = -1; @@ -31,7 +30,7 @@ function Node_Group_Output(_x, _y, _group) : Node(_x, _y) constructor { group.sortIO(); } - function createOutput(override_order = true) { + static createOutput = function(override_order = true) { if(group && is_struct(group)) { if(override_order) { output_index = ds_list_size(group.outputs); @@ -40,8 +39,10 @@ function Node_Group_Output(_x, _y, _group) : Node(_x, _y) constructor { output_index = inputs[| 1].getValue(); } - outParent = nodeValue(ds_list_size(group.outputs), "Value", group, JUNCTION_CONNECT.output, VALUE_TYPE.any, -1); + outParent = nodeValue(ds_list_size(group.outputs), "Value", group, JUNCTION_CONNECT.output, VALUE_TYPE.any, -1) + .setVisible(true, true); outParent.from = self; + ds_list_add(group.outputs, outParent); group.setHeight(); group.sortIO(); @@ -64,7 +65,7 @@ function Node_Group_Output(_x, _y, _group) : Node(_x, _y) constructor { inputs[| 0].type = VALUE_TYPE.any; } } - function doUpdateForward() { + static doUpdateForward = function() { if(is_undefined(outParent)) return; for(var j = 0; j < ds_list_size(outParent.value_to); j++) { @@ -78,7 +79,7 @@ function Node_Group_Output(_x, _y, _group) : Node(_x, _y) constructor { createOutput(false); } - function onDestroy() { + static onDestroy = function() { if(is_undefined(outParent)) return; ds_list_delete(group.outputs, ds_list_find_index(group.outputs, outParent)); } diff --git a/scripts/node_image/node_image.gml b/scripts/node_image/node_image.gml index 0085a5245..c9030c22a 100644 --- a/scripts/node_image/node_image.gml +++ b/scripts/node_image/node_image.gml @@ -31,10 +31,10 @@ function Node_Image(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") .setDisplay(VALUE_DISPLAY.path_load, ["*.png", ""]); - + inputs[| 1] = nodeValue(1, "Padding", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0, 0, 0]) .setDisplay(VALUE_DISPLAY.padding); - + outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); outputs[| 1] = nodeValue(1, "Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") .setVisible(true, true); diff --git a/scripts/node_image_animated/node_image_animated.gml b/scripts/node_image_animated/node_image_animated.gml index bfbd40784..7164393d9 100644 --- a/scripts/node_image_animated/node_image_animated.gml +++ b/scripts/node_image_animated/node_image_animated.gml @@ -44,11 +44,10 @@ function Node_Image_Animated(_x, _y) : Node(_x, _y) constructor { inputs[| 1] = nodeValue(1, "Padding", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0, 0, 0]) .setDisplay(VALUE_DISPLAY.padding); - + inputs[| 2] = nodeValue(2, "Stretch frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 3] = nodeValue(3, "Frame duration", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1); - inputs[| 4] = nodeValue(4, "Animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Loop", "Ping pong", "Hold last frame", "Hide"]); diff --git a/scripts/node_image_gif/node_image_gif.gml b/scripts/node_image_gif/node_image_gif.gml index b45935d53..fc0ac721a 100644 --- a/scripts/node_image_gif/node_image_gif.gml +++ b/scripts/node_image_gif/node_image_gif.gml @@ -43,7 +43,7 @@ function Node_Image_gif(_x, _y) : Node(_x, _y) constructor { outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); outputs[| 1] = nodeValue(1, "Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") - .setVisible(true, true); + .setVisible(true); spr = noone; path_current = ""; diff --git a/scripts/node_image_sequence/node_image_sequence.gml b/scripts/node_image_sequence/node_image_sequence.gml index 91af38759..79499ebe2 100644 --- a/scripts/node_image_sequence/node_image_sequence.gml +++ b/scripts/node_image_sequence/node_image_sequence.gml @@ -47,12 +47,10 @@ function Node_Image_Sequence(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.padding); inputs[| 2] = nodeValue(2, "Canvas size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Individual", "Minimum", "Maximum" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Individual", "Minimum", "Maximum" ]); inputs[| 3] = nodeValue(3, "Sizing method", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Padding / Crop", "Scale" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Padding / Crop", "Scale" ]); inputs[| 4] = nodeValue(4, "Edit", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.button, [ function() { diff --git a/scripts/node_image_sheet/node_image_sheet.gml b/scripts/node_image_sheet/node_image_sheet.gml index cad291306..209a5f502 100644 --- a/scripts/node_image_sheet/node_image_sheet.gml +++ b/scripts/node_image_sheet/node_image_sheet.gml @@ -29,14 +29,12 @@ function Node_Image_Sheet(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.padding); inputs[| 7] = nodeValue(7, "Output", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Animation", "Array"]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Animation", "Array"]); inputs[| 8] = nodeValue(8, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); inputs[| 9] = nodeValue(9, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical"]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical"]); inputs[| 10] = nodeValue(10, "Auto fill", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.button, [ function() { diff --git a/scripts/node_line/node_line.gml b/scripts/node_line/node_line.gml index 89ed071fc..193d0b37d 100644 --- a/scripts/node_line/node_line.gml +++ b/scripts/node_line/node_line.gml @@ -10,8 +10,7 @@ function Node_Line(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 1] = nodeValue(1, "Backgroud", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 1] = nodeValue(1, "Backgroud", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 2] = nodeValue(2, "Segment", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) .setDisplay(VALUE_DISPLAY.slider, [1, 32, 1]); @@ -22,12 +21,10 @@ function Node_Line(_x, _y) : Node(_x, _y) constructor { inputs[| 4] = nodeValue(4, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, [0, 16, 0.01]); - inputs[| 5] = nodeValue(5, "Random seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setVisible(false); + inputs[| 5] = nodeValue(5, "Random seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); inputs[| 6] = nodeValue(6, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.rotation) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.rotation); inputs[| 7] = nodeValue(7, "Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, 0); diff --git a/scripts/node_math/node_math.gml b/scripts/node_math/node_math.gml index 6e4163500..d4223e702 100644 --- a/scripts/node_math/node_math.gml +++ b/scripts/node_math/node_math.gml @@ -13,11 +13,12 @@ function Node_Math(_x, _y) : Node_Value_Processor(_x, _y) constructor { min_h = 0; inputs[| 0] = nodeValue(0, "Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Root", "Sin", "Cos", "Tan" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Root", "Sin", "Cos", "Tan" ]); - inputs[| 1] = nodeValue(1, "a", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 2] = nodeValue(2, "b", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); + inputs[| 1] = nodeValue(1, "a", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 2] = nodeValue(2, "b", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Math", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); diff --git a/scripts/node_noise_cell/node_noise_cell.gml b/scripts/node_noise_cell/node_noise_cell.gml index 3a693a407..12edaaf5d 100644 --- a/scripts/node_noise_cell/node_noise_cell.gml +++ b/scripts/node_noise_cell/node_noise_cell.gml @@ -11,37 +11,29 @@ function Node_Cellular(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.vector); inputs[| 1] = nodeValue(1, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2]) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 2] = nodeValue(2, "Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4) - .setVisible(false); + inputs[| 2] = nodeValue(2, "Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4); - inputs[| 3] = nodeValue(3, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setVisible(false); + inputs[| 3] = nodeValue(3, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); inputs[| 4] = nodeValue(4, "Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Point", "Edge", "Cell" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Point", "Edge", "Cell" ]); - inputs[| 5] = nodeValue(5, "Contrast", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setVisible(false); + inputs[| 5] = nodeValue(5, "Contrast", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); inputs[| 6] = nodeValue(6, "Pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Radial" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Radial" ]); inputs[| 7] = nodeValue(7, "Middle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5) - .setDisplay(VALUE_DISPLAY.slider, [0., 1., 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [0., 1., 0.01]); inputs[| 8] = nodeValue(8, "Radial scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2) - .setDisplay(VALUE_DISPLAY.slider, [1., 10., 0.01]) - .setVisible(false, false); + .setDisplay(VALUE_DISPLAY.slider, [1., 10., 0.01]); inputs[| 9] = nodeValue(9, "Radial shatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, [-10., 10., 0.01]) - .setVisible(false, false); + .setVisible(false); input_display_list = [ ["Output", false], 0, diff --git a/scripts/node_normal_light/node_normal_light.gml b/scripts/node_normal_light/node_normal_light.gml index acf7fbe88..f460717f8 100644 --- a/scripts/node_normal_light/node_normal_light.gml +++ b/scripts/node_normal_light/node_normal_light.gml @@ -31,8 +31,7 @@ function Node_Normal_Light(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 7] = nodeValue(7, "Light color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); inputs[| 8] = nodeValue(8, "Light type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, ["Point", "Sun"]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, ["Point", "Sun"]); input_display_list = [ 0, ["Normal", false], 1, 2, diff --git a/scripts/node_outline/node_outline.gml b/scripts/node_outline/node_outline.gml index 44eba5049..6ad0fb08f 100644 --- a/scripts/node_outline/node_outline.gml +++ b/scripts/node_outline/node_outline.gml @@ -23,17 +23,15 @@ function Node_Outline(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 1] = nodeValue(1, "Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1); inputs[| 2] = nodeValue(2, "Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); - inputs[| 3] = nodeValue(3, "Blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, 0) - .setVisible(false); + inputs[| 3] = nodeValue(3, "Blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, 0); inputs[| 4] = nodeValue(4, "Blend alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); inputs[| 5] = nodeValue(5, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, ["Inside", "Outside"]) + .setDisplay(VALUE_DISPLAY.enum_button, ["Inside", "Outside"]); - inputs[| 6] = nodeValue(6, "Anti alising", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, 0) - .setVisible(false); + inputs[| 6] = nodeValue(6, "Anti alising", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, 0); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); outputs[| 1] = nodeValue(1, "Outline", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_palette/node_palette.gml b/scripts/node_palette/node_palette.gml index 00e5da98e..8b1bb94c9 100644 --- a/scripts/node_palette/node_palette.gml +++ b/scripts/node_palette/node_palette.gml @@ -13,8 +13,7 @@ function Node_Palette(_x, _y) : Node(_x, _y) constructor { min_h = 0; inputs[| 0] = nodeValue(0, "Palette", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, [ c_white ]) - .setDisplay(VALUE_DISPLAY.palette) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.palette); inputs[| 1] = nodeValue(1, "Trim range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ]) .setDisplay(VALUE_DISPLAY.slider_range, [0, 1, 0.01]); diff --git a/scripts/node_particle/node_particle.gml b/scripts/node_particle/node_particle.gml index 8ef841bc9..9976c2a13 100644 --- a/scripts/node_particle/node_particle.gml +++ b/scripts/node_particle/node_particle.gml @@ -177,99 +177,74 @@ function Node_Particle(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 2] = nodeValue(2, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4) - .setVisible(false); - inputs[| 3] = nodeValue(3, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2) - .setVisible(false); + inputs[| 2] = nodeValue(2, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4); + inputs[| 3] = nodeValue(3, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2); inputs[| 4] = nodeValue(4, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ]) - .setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); }) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); }); inputs[| 5] = nodeValue(5, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]); inputs[| 6] = nodeValue(6, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ]) - .setDisplay(VALUE_DISPLAY.range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.range); inputs[| 7] = nodeValue(7, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ]) - .setDisplay(VALUE_DISPLAY.rotation_range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.rotation_range); inputs[| 8] = nodeValue(8, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) - .setDisplay(VALUE_DISPLAY.range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.range); inputs[| 9] = nodeValue(9, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0]) - .setDisplay(VALUE_DISPLAY.rotation_range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.rotation_range); - inputs[| 10] = nodeValue(10, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setVisible(false); + inputs[| 10] = nodeValue(10, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); inputs[| 11] = nodeValue(11, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] ) - .setDisplay(VALUE_DISPLAY.vector_range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector_range); inputs[| 12] = nodeValue(12, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 13] = nodeValue(13, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white) - .setDisplay(VALUE_DISPLAY.gradient) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.gradient); inputs[| 14] = nodeValue(14, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) - .setDisplay(VALUE_DISPLAY.range) - .setVisible(false); - inputs[| 15] = nodeValue(15, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.range); + inputs[| 15] = nodeValue(15, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]); - inputs[| 16] = nodeValue(16, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 16] = nodeValue(16, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 17] = nodeValue(17, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]); inputs[| 18] = nodeValue(18, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) - .setDisplay(VALUE_DISPLAY.range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.range); - inputs[| 19] = nodeValue(19, "Draw exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ) - .setVisible(false); + inputs[| 19] = nodeValue(19, "Draw exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ); inputs[| 20] = nodeValue(20, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] ) - .setDisplay(VALUE_DISPLAY.range) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.range); - inputs[| 21] = nodeValue(21, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) - .setVisible(false); - inputs[| 22] = nodeValue(22, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) - .setVisible(false); + inputs[| 21] = nodeValue(21, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ); + inputs[| 22] = nodeValue(22, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ); - inputs[| 23] = nodeValue(23, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ) - .setVisible(false); + inputs[| 23] = nodeValue(23, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ); inputs[| 24] = nodeValue(24, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 ) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]); inputs[| 25] = nodeValue(25, "Surface selection", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 ) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ]) - .setVisible(false, false); + .setVisible(false); inputs[| 26] = nodeValue(26, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false, false); - - inputs[| 27] = nodeValue(27, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]) .setVisible(false); + inputs[| 27] = nodeValue(27, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) + .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]); + inputs[| 28] = nodeValue(28, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, []) - .setVisible(true, false); + .setVisible(false, true); input_display_list = [ ["Output", true], 1, diff --git a/scripts/node_particle_effector/node_particle_effector.gml b/scripts/node_particle_effector/node_particle_effector.gml index a9e865943..4db6f7bac 100644 --- a/scripts/node_particle_effector/node_particle_effector.gml +++ b/scripts/node_particle_effector/node_particle_effector.gml @@ -24,40 +24,30 @@ function Node_Particle_Effector(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Particle data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 ); inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false, false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 2] = nodeValue(2, "Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16, 4, 4, AREA_SHAPE.rectangle ]) - .setDisplay(VALUE_DISPLAY.area) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.area); inputs[| 3] = nodeValue(3, "Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [0, 0, 1, 1] ) - .setDisplay(VALUE_DISPLAY.curve) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.curve); - inputs[| 4] = nodeValue(4, "Falloff distance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 ) - .setVisible(false); + inputs[| 4] = nodeValue(4, "Falloff distance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 ); inputs[| 5] = nodeValue(5, "Effect type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 ) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Wind", "Accelerate", "Attract", "Repel", "Vortex", "Turbulence", "Destroy" ] ) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Wind", "Accelerate", "Attract", "Repel", "Vortex", "Turbulence", "Destroy" ] ); inputs[| 6] = nodeValue(6, "Effect Vector", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ -1, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 7] = nodeValue(7, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 ) - .setVisible(false); + inputs[| 7] = nodeValue(7, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 ); - inputs[| 8] = nodeValue(8, "Rotate particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) - .setVisible(false); + inputs[| 8] = nodeValue(8, "Rotate particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ); inputs[| 9] = nodeValue(9, "Scale particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 10] = nodeValue(10, "Turbulence scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 16 ) - .setVisible(false); + inputs[| 10] = nodeValue(10, "Turbulence scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 16 ); input_display_list = [ 0, 1, ["Area", false], 2, 3, 4, diff --git a/scripts/node_path/node_path.gml b/scripts/node_path/node_path.gml index ab73bfdc8..eb5056ca9 100644 --- a/scripts/node_path/node_path.gml +++ b/scripts/node_path/node_path.gml @@ -23,7 +23,7 @@ function Node_Path(_x, _y) : Node(_x, _y) constructor { inputs[| index] = nodeValue(index, "Anchor", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ _x, _y, 0, 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + return inputs[| index]; } diff --git a/scripts/node_pixel_cloud/node_pixel_cloud.gml b/scripts/node_pixel_cloud/node_pixel_cloud.gml index f7f5bce0f..a7e14e17d 100644 --- a/scripts/node_pixel_cloud/node_pixel_cloud.gml +++ b/scripts/node_pixel_cloud/node_pixel_cloud.gml @@ -23,12 +23,10 @@ function Node_Pixel_Cloud(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| 1] = nodeValue(1, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(100000)) - .setVisible(false, true); + inputs[| 1] = nodeValue(1, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(100000)); inputs[| 2] = nodeValue(2, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) - .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]) - .setVisible(false, true); + .setDisplay(VALUE_DISPLAY.slider, [ 0, 1, 0.01]); inputs[| 3] = nodeValue(3, "Strength map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); diff --git a/scripts/node_scale/node_scale.gml b/scripts/node_scale/node_scale.gml index b3f22c992..8867e3644 100644 --- a/scripts/node_scale/node_scale.gml +++ b/scripts/node_scale/node_scale.gml @@ -11,8 +11,7 @@ function Node_Scale(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 1] = nodeValue(1, "Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); - inputs[| 2] = nodeValue(2, "Keep dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 2] = nodeValue(2, "Keep dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_scatter/node_scatter.gml b/scripts/node_scatter/node_scatter.gml index 62ed0f760..11fea9e84 100644 --- a/scripts/node_scatter/node_scatter.gml +++ b/scripts/node_scatter/node_scatter.gml @@ -27,22 +27,17 @@ function Node_Scatter(_x, _y) : Node(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.rotation_range); inputs[| 5] = nodeValue(5, "Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ]) - .setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); }) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); }); inputs[| 6] = nodeValue(6, "Distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]); - inputs[| 7] = nodeValue(7, "Point at center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 7] = nodeValue(7, "Point at center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - inputs[| 8] = nodeValue(8, "Uniform scaling", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .setVisible(false); + inputs[| 8] = nodeValue(8, "Uniform scaling", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); inputs[| 9] = nodeValue(9, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random" ]); inputs[| 10] = nodeValue(10, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(9999999)); diff --git a/scripts/node_seperate_shapes/node_seperate_shapes.gml b/scripts/node_seperate_shapes/node_seperate_shapes.gml index 274e5a2b3..c7c8a69a2 100644 --- a/scripts/node_seperate_shapes/node_seperate_shapes.gml +++ b/scripts/node_seperate_shapes/node_seperate_shapes.gml @@ -14,12 +14,10 @@ function Node_Seperate_Shape(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); inputs[| 1] = nodeValue(1, "Output", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Node", "Array" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Node", "Array" ]); inputs[| 2] = nodeValue(2, "Tolerance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); static createOutput = function() { var o = nodeValue(ds_list_size(outputs), "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_simple_shape/node_simple_shape.gml b/scripts/node_simple_shape/node_simple_shape.gml index 336ff604a..1244b60d3 100644 --- a/scripts/node_simple_shape/node_simple_shape.gml +++ b/scripts/node_simple_shape/node_simple_shape.gml @@ -41,15 +41,14 @@ function Node_Shape(_x, _y) : Node_Processor(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 0].getValue(); }); inputs[| 4] = nodeValue(4, "Sides", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 3) - .setVisible(false, false); + .setVisible(false); inputs[| 5] = nodeValue(5, "Inner radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) - .setVisible(false, false); - - inputs[| 6] = nodeValue(6, "Anti alising", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) .setVisible(false); + inputs[| 6] = nodeValue(6, "Anti alising", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); + inputs[| 7] = nodeValue(7, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.rotation); diff --git a/scripts/node_sprite_sheet/node_sprite_sheet.gml b/scripts/node_sprite_sheet/node_sprite_sheet.gml index 6c145a29f..233888016 100644 --- a/scripts/node_sprite_sheet/node_sprite_sheet.gml +++ b/scripts/node_sprite_sheet/node_sprite_sheet.gml @@ -24,22 +24,17 @@ function Node_Render_Sprite_Sheet(_x, _y) : Node(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Sprites", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, surface_create(1, 1)); inputs[| 1] = nodeValue(1, "Sprite set", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Animation", "Sprite array" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Animation", "Sprite array" ]); - inputs[| 2] = nodeValue(2, "Frame step", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) - .setVisible(false); + inputs[| 2] = nodeValue(2, "Frame step", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1); inputs[| 3] = nodeValue(3, "Packing type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical", "Grid" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical", "Grid" ]); - inputs[| 4] = nodeValue(4, "Grid column", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4) - .setVisible(false); + inputs[| 4] = nodeValue(4, "Grid column", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4); inputs[| 5] = nodeValue(5, "Alignment", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_button, [ "First", "Middle", "Last" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_button, [ "First", "Middle", "Last" ]); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_text/node_text.gml b/scripts/node_text/node_text.gml index b41b7ac07..af07d4992 100644 --- a/scripts/node_text/node_text.gml +++ b/scripts/node_text/node_text.gml @@ -12,18 +12,14 @@ function Node_Text(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 0] = nodeValue(0, "Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, ""); inputs[| 1] = nodeValue(1, "Font", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") - .setDisplay(VALUE_DISPLAY.path_load, ["*.ttf;*.otf", ""]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.path_load, ["*.ttf;*.otf", ""]); - inputs[| 2] = nodeValue(2, "Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16) - .setVisible(false); + inputs[| 2] = nodeValue(2, "Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16); - inputs[| 3] = nodeValue(3, "Anti-Aliasing ", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 3] = nodeValue(3, "Anti-Aliasing ", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 4] = nodeValue(4, "Character range", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 32, 128 ]) - .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 5] = nodeValue(5, "Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); @@ -38,8 +34,7 @@ function Node_Text(_x, _y) : Node_Processor(_x, _y) constructor { .setDisplay(VALUE_DISPLAY.enum_button, [ s_inspector_text_valign, s_inspector_text_valign, s_inspector_text_valign ]); inputs[| 9] = nodeValue(9, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 ) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Fixed", "Dynamic" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Fixed", "Dynamic" ]); input_display_list = [ ["Output", true], 9, 6, diff --git a/scripts/node_trail/node_trail.gml b/scripts/node_trail/node_trail.gml index d9d62f4d6..286859949 100644 --- a/scripts/node_trail/node_trail.gml +++ b/scripts/node_trail/node_trail.gml @@ -14,8 +14,7 @@ function Node_Trail(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 3] = nodeValue(3, "Alpha decrease", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); inputs[| 4] = nodeValue(4, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES ) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES ); outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, surface_create(1, 1)); diff --git a/scripts/node_transform/node_transform.gml b/scripts/node_transform/node_transform.gml index b71f4b7d1..797fccdaa 100644 --- a/scripts/node_transform/node_transform.gml +++ b/scripts/node_transform/node_transform.gml @@ -17,7 +17,7 @@ function Node_Transform(_x, _y) : Node_Processor(_x, _y) constructor { inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [1, 1], VALUE_TAG.dimension_2d) .setDisplay(VALUE_DISPLAY.vector) - .setVisible(false, false); + .setVisible(false); inputs[| 2] = nodeValue(2, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -27,34 +27,30 @@ function Node_Transform(_x, _y) : Node_Processor(_x, _y) constructor { .setIcon(s_anchor) .setTooltip("Set to center")); - inputs[| 4] = nodeValue(4, "Relative", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .setVisible(false); + inputs[| 4] = nodeValue(4, "Relative", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); inputs[| 5] = nodeValue(5, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.rotation); inputs[| 6] = nodeValue(6, "Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) - .setDisplay(VALUE_DISPLAY.vector, button(function() { - inputs[| 6].modifier = inputs[| 6].modifier == VALUE_MODIFIER.none? VALUE_MODIFIER.linked : VALUE_MODIFIER.none; - inputs[| 6].editWidget.extras.icon_index = inputs[| 6].modifier == VALUE_MODIFIER.linked; - }) - .setIcon(s_padding_link)); + .setDisplay(VALUE_DISPLAY.vector, + button(function() { + inputs[| 6].modifier = inputs[| 6].modifier == VALUE_MODIFIER.none? VALUE_MODIFIER.linked : VALUE_MODIFIER.none; + inputs[| 6].editWidget.extras.icon_index = inputs[| 6].modifier == VALUE_MODIFIER.linked; + }) + .setIcon(s_padding_link)); - inputs[| 7] = nodeValue(7, "Wrap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 7] = nodeValue(7, "Wrap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 8] = nodeValue(8, "Rotate by velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); inputs[| 9] = nodeValue(9, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, OUTPUT_SCALING.same_as_input) - .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Same as input", "Constant", "Relative to input" ]) - .setVisible(false); + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Same as input", "Constant", "Relative to input" ]); - inputs[| 10] = nodeValue(10, "Exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .setVisible(false); + inputs[| 10] = nodeValue(10, "Exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); - inputs[| 11] = nodeValue(11, "Relative to surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) - .setVisible(false); + inputs[| 11] = nodeValue(11, "Relative to surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); input_display_list = [ 0, ["Output", true], 9, 1, 7, diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index 81206c783..3bbcc53a0 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -155,15 +155,15 @@ function NodeValue(_index, _name, _node, _connect, _type, _value, _tag = VALUE_T on_end = KEYFRAME_END.hold; extra_data = ds_list_create(); - visible = true; + visible = _connect == JUNCTION_CONNECT.output || _type == VALUE_TYPE.surface || _type == VALUE_TYPE.path || ( _tag & VALUE_TAG.dimension_2d ); show_in_inspector = true; display_type = VALUE_DISPLAY._default; display_data = -1; - static setVisible = function(vis, inspector = true) { - visible = vis; + static setVisible = function(inspector) { show_in_inspector = inspector; + visible = argument_count > 1? argument[1] : visible; return self; } @@ -931,7 +931,7 @@ function NodeValue(_index, _name, _node, _connect, _type, _value, _tag = VALUE_T static isVisible = function() { if(!node.active) return false; - return visible && show_in_inspector; + return value_from || ( visible && show_in_inspector ); } static serialize = function(scale = false) { @@ -968,8 +968,10 @@ function NodeValue(_index, _name, _node, _connect, _type, _value, _tag = VALUE_T if(con_node == -1) return true; if(con_index == -1) return true; - if(ds_map_exists(NODE_MAP, con_node + APPEND_ID)) { - var _nd = NODE_MAP[? con_node + APPEND_ID]; + if(APPENDING) con_node = GetAppendID(con_node); + + if(ds_map_exists(NODE_MAP, con_node)) { + var _nd = NODE_MAP[? con_node]; var _ol = ds_list_size(_nd.outputs); if(con_index < _ol) { if(setFrom(_nd.outputs[| con_index], false)) @@ -981,13 +983,10 @@ function NodeValue(_index, _name, _node, _connect, _type, _value, _tag = VALUE_T log_warning("LOAD", "[Connect] Connection conflict " + string(node.name) + " to " + string(_nd.name) + " : Node not exist."); return false; } - } else { - log_warning("LOAD", "[Connect] Connection error, node does not exist."); } - var txt = "Node connect error : Node ID " + string(con_node + APPEND_ID) + " not found."; + var txt = "Node connect error : Node ID " + string(con_node) + " not found."; log_warning("LOAD", "[Connect] " + txt); - PANEL_MENU.addNotiExtra(txt); - return true; + return false; } } \ No newline at end of file diff --git a/scripts/node_vector/node_vector.gml b/scripts/node_vector/node_vector.gml index ac982cf95..7bd9bbbe2 100644 --- a/scripts/node_vector/node_vector.gml +++ b/scripts/node_vector/node_vector.gml @@ -12,7 +12,8 @@ function Node_Number(_x, _y) : Node_Value_Processor(_x, _y) constructor { w = 96; min_h = 32 + 24 * 1; - inputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); + inputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Number", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); @@ -44,8 +45,10 @@ function Node_Vector2(_x, _y) : Node_Value_Processor(_x, _y) constructor { w = 96; min_h = 32 + 24 * 2; - inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); + inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Vector", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.area); @@ -79,9 +82,12 @@ function Node_Vector3(_x, _y) : Node_Value_Processor(_x, _y) constructor { w = 96; min_h = 32 + 24 * 3; - inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 2] = nodeValue(2, "z", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); + inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 2] = nodeValue(2, "z", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Vector", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -115,10 +121,14 @@ function Node_Vector4(_x, _y) : Node_Value_Processor(_x, _y) constructor { w = 96; min_h = 32 + 24 * 4; - inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 2] = nodeValue(2, "z", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 3] = nodeValue(3, "w", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); + inputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 2] = nodeValue(2, "z", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); + inputs[| 3] = nodeValue(3, "w", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "Vector", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -154,7 +164,8 @@ function Node_Vector_Split(_x, _y) : Node_Value_Processor(_x, _y) constructor { min_h = 32 + 24 * 4; inputs[| 0] = nodeValue(0, "Vector", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 0 ]) - .setDisplay(VALUE_DISPLAY.vector); + .setDisplay(VALUE_DISPLAY.vector) + .setVisible(true, true); outputs[| 0] = nodeValue(0, "x", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); outputs[| 1] = nodeValue(1, "y", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); diff --git a/scripts/node_wiggler/node_wiggler.gml b/scripts/node_wiggler/node_wiggler.gml index bd00f1a06..49fad0fd4 100644 --- a/scripts/node_wiggler/node_wiggler.gml +++ b/scripts/node_wiggler/node_wiggler.gml @@ -20,8 +20,7 @@ function Node_Wiggler(_x, _y) : Node_Value_Processor(_x, _y) constructor { inputs[| 2] = nodeValue(2, "Frequency", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 3, 5 ] ) .setDisplay(VALUE_DISPLAY.range); - inputs[| 3] = nodeValue(3, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(9999999) ) - .setVisible(false); + inputs[| 3] = nodeValue(3, "Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(9999999) ); outputs[| 0] = nodeValue(0, "Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); diff --git a/scripts/node_wrap_mesh/node_wrap_mesh.gml b/scripts/node_wrap_mesh/node_wrap_mesh.gml index 597fb3504..7e833d11d 100644 --- a/scripts/node_wrap_mesh/node_wrap_mesh.gml +++ b/scripts/node_wrap_mesh/node_wrap_mesh.gml @@ -28,7 +28,7 @@ function Node_Mesh_Warp(_x, _y) : Node(_x, _y) constructor { var index = ds_list_size(inputs); inputs[| index] = nodeValue(index, "Control point range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16, 8, 0, 32]) .setDisplay(VALUE_DISPLAY.puppet_control) - .setVisible(false); + return inputs[| index]; } diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index 5ba900965..b13b48a12 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -51,6 +51,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { value_dragging = noone; show_grid = true; + drag_key = mb_middle; addHotkey("Graph", "Add node", "A", MOD_KEY.none, function() { callAddDialog(); }); addHotkey("Graph", "Focus content", "F", MOD_KEY.none, function() { fullView(); }); @@ -120,12 +121,21 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { graph_x += dx / graph_s; graph_y += dy / graph_s; - if(mouse_check_button_released(mb_middle)) + if(mouse_check_button_released(drag_key)) graph_dragging = false; } if(FOCUS == panel) { + var _doDragging = false; if(mouse_check_button_pressed(mb_middle)) { + _doDragging = true; + drag_key = mb_middle; + } else if(mouse_check_button_pressed(mb_left) && keyboard_check(vk_control)) { + _doDragging = true; + drag_key = mb_left; + } + + if(_doDragging) { graph_dragging = true; graph_drag_mx = mx; graph_drag_my = my; @@ -215,7 +225,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { #endregion if(FOCUS == panel) { - if(mouse_check_button_pressed(mb_left)) { + if(mouse_check_button_pressed(mb_left) && !keyboard_check(vk_control)) { if(keyboard_check(vk_shift)) { if(ds_list_empty(nodes_select_list) && node_focus) ds_list_add(nodes_select_list, node_focus); @@ -374,7 +384,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { if(!_recur) { _node.drawActive(gr_x, gr_y, graph_s, 1); - if(mouse_check_button_released(mb_left)) { + if(mouse_check_button_released(mb_left) && !keyboard_check(vk_control)) { if(ds_list_size(nodes_select_list) == 0) { _node.add(node_dragging); node_dragging.checkConnectGroup(); @@ -403,7 +413,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { node_dragging.move(nx, ny); - if(mouse_check_button_released(mb_left)) { + if(mouse_check_button_released(mb_left) && !keyboard_check(vk_control)) { if(nx != node_drag_sx || ny != node_drag_sy) { recordAction(ACTION_TYPE.var_modify, node_dragging, [ node_drag_sx, "x" ]); recordAction(ACTION_TYPE.var_modify, node_dragging, [ node_drag_sy, "y" ]); @@ -443,7 +453,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { #endregion if(FOCUS == panel && node_focus && value_focus == noone) { - if(mouse_check_button_pressed(mb_left)) { + if(mouse_check_button_pressed(mb_left) && !keyboard_check(vk_control)) { node_dragging = node_focus; node_drag_mx = mouse_graph_x; node_drag_my = mouse_graph_y; @@ -487,7 +497,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { nodes_select_drag = false; } - if(FOCUS == panel && mouse_check_button_pressed(mb_left)) { + if(FOCUS == panel && mouse_check_button_pressed(mb_left) && !keyboard_check(vk_control)) { if(!node_focus && !value_focus && node_hovering != -1) { nodes_select_drag = true; nodes_select_mx = mx; @@ -763,7 +773,7 @@ function Panel_Graph(_panel) : PanelContent(_panel) constructor { } } else { if(value_focus) { - if(FOCUS == panel && mouse_check_button_pressed(mb_left)) { + if(FOCUS == panel && mouse_check_button_pressed(mb_left) && !keyboard_check(vk_control)) { value_dragging = value_focus; } } diff --git a/scripts/random_function/random_function.gml b/scripts/random_function/random_function.gml index 313c9e8a1..1fcd5871b 100644 --- a/scripts/random_function/random_function.gml +++ b/scripts/random_function/random_function.gml @@ -15,4 +15,13 @@ function getWiggle(_min, _max, _fmin, _fmax, _time, seed_shift = 0) { var _val = lerp(_x0, _x1, (_time - _t_prev) / (_t_next - _t_prev)); return _val; +} + +function generateUUID() { + randomize(); + var uuid; + do { + uuid = irandom(1000000000); + } until(!ds_map_exists(NODE_MAP, uuid)) + return uuid; } \ No newline at end of file diff --git a/scripts/save/save.gml b/scripts/save/save.gml index ee4238414..46a8c1f6b 100644 --- a/scripts/save/save.gml +++ b/scripts/save/save.gml @@ -4,6 +4,7 @@ function NEW() { room_restart(); gc_collect(); + CURRENT_PATH = ""; } function clearNodes() { @@ -95,7 +96,7 @@ function SAVE_AT(path) { READONLY = false; log_message("FILE", "save at " + path); - PANEL_MENU.showNoti("File saved", s_noti_icon_save); + PANEL_MENU.showNoti("File saved", s_noti_icon_file_save); } function SAVE_COLLECTIONS(_list, _path, save_surface = true) { diff --git a/scripts/surface_modify/surface_modify.gml b/scripts/surface_modify/surface_modify.gml index 1ed5cd692..7ac7271b5 100644 --- a/scripts/surface_modify/surface_modify.gml +++ b/scripts/surface_modify/surface_modify.gml @@ -50,6 +50,7 @@ function surface_valid(s) { function is_surface(s) { if(is_array(s)) return false; + if(!is_real(s)) return false; if(!s) return false; if(!surface_exists(s)) return false; diff --git a/sprites/s_noti_icon_save/2417222e-9981-4289-8e46-b6a3da22aaa3.png b/sprites/s_noti_icon_file_load/22ca1d06-e7da-4af2-8fd7-67c3a2b40024.png similarity index 100% rename from sprites/s_noti_icon_save/2417222e-9981-4289-8e46-b6a3da22aaa3.png rename to sprites/s_noti_icon_file_load/22ca1d06-e7da-4af2-8fd7-67c3a2b40024.png diff --git a/sprites/s_noti_icon_save/layers/2417222e-9981-4289-8e46-b6a3da22aaa3/49f8948b-7323-4e00-acbb-0f86b8b3b3c8.png b/sprites/s_noti_icon_file_load/layers/22ca1d06-e7da-4af2-8fd7-67c3a2b40024/b09919d3-76f0-47d0-9f21-1330a8233bc5.png similarity index 100% rename from sprites/s_noti_icon_save/layers/2417222e-9981-4289-8e46-b6a3da22aaa3/49f8948b-7323-4e00-acbb-0f86b8b3b3c8.png rename to sprites/s_noti_icon_file_load/layers/22ca1d06-e7da-4af2-8fd7-67c3a2b40024/b09919d3-76f0-47d0-9f21-1330a8233bc5.png diff --git a/sprites/s_noti_icon_save/s_noti_icon_save.yy b/sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy similarity index 55% rename from sprites/s_noti_icon_save/s_noti_icon_save.yy rename to sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy index 63d6b99c1..970e86cde 100644 --- a/sprites/s_noti_icon_save/s_noti_icon_save.yy +++ b/sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy @@ -24,12 +24,12 @@ "gridX": 0, "gridY": 0, "frames": [ - {"compositeImage":{"FrameId":{"name":"2417222e-9981-4289-8e46-b6a3da22aaa3","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[ - {"FrameId":{"name":"2417222e-9981-4289-8e46-b6a3da22aaa3","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"LayerId":{"name":"49f8948b-7323-4e00-acbb-0f86b8b3b3c8","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",}, - ],"parent":{"name":"s_noti_icon_save","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"resourceVersion":"1.0","name":"2417222e-9981-4289-8e46-b6a3da22aaa3","tags":[],"resourceType":"GMSpriteFrame",}, + {"compositeImage":{"FrameId":{"name":"22ca1d06-e7da-4af2-8fd7-67c3a2b40024","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[ + {"FrameId":{"name":"22ca1d06-e7da-4af2-8fd7-67c3a2b40024","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"LayerId":{"name":"b09919d3-76f0-47d0-9f21-1330a8233bc5","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",}, + ],"parent":{"name":"s_noti_icon_file_load","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"resourceVersion":"1.0","name":"22ca1d06-e7da-4af2-8fd7-67c3a2b40024","tags":[],"resourceType":"GMSpriteFrame",}, ], "sequence": { - "spriteId": {"name":"s_noti_icon_save","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",}, + "spriteId": {"name":"s_noti_icon_file_load","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",}, "timeUnits": 1, "playback": 1, "playbackSpeed": 30.0, @@ -41,10 +41,10 @@ "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, "tracks": [ {"name":"frames","spriteId":null,"keyframes":{"Keyframes":[ - {"id":"df4c1f53-b662-4794-8b21-116532ab3b58","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"2417222e-9981-4289-8e46-b6a3da22aaa3","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + {"id":"49dd490c-b474-4f73-9464-65e13ec106f9","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"22ca1d06-e7da-4af2-8fd7-67c3a2b40024","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack","modifiers":[],}, ], - "visibleRange": null, + "visibleRange": {"x":0.0,"y":0.0,}, "lockOrigin": false, "showBackdrop": true, "showBackdropImage": false, @@ -58,14 +58,14 @@ "yorigin": 10, "eventToFunction": {}, "eventStubScript": null, - "parent": {"name":"s_noti_icon_save","path":"sprites/s_noti_icon_save/s_noti_icon_save.yy",}, + "parent": {"name":"s_noti_icon_file_load","path":"sprites/s_noti_icon_file_load/s_noti_icon_file_load.yy",}, "resourceVersion": "1.3", - "name": "s_noti_icon_save", + "name": "s_noti_icon_file_load", "tags": [], "resourceType": "GMSequence", }, "layers": [ - {"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"49f8948b-7323-4e00-acbb-0f86b8b3b3c8","tags":[],"resourceType":"GMImageLayer",}, + {"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"b09919d3-76f0-47d0-9f21-1330a8233bc5","tags":[],"resourceType":"GMImageLayer",}, ], "nineSlice": null, "parent": { @@ -73,7 +73,7 @@ "path": "folders/sprites/panels/noti.yy", }, "resourceVersion": "1.0", - "name": "s_noti_icon_save", + "name": "s_noti_icon_file_load", "tags": [], "resourceType": "GMSprite", } \ No newline at end of file diff --git a/sprites/s_noti_icon_file/d6ea4330-e9f1-44aa-a1ad-9296fe286780.png b/sprites/s_noti_icon_file_save/83b4d62c-3fd9-4292-ab92-8e5458746328.png similarity index 100% rename from sprites/s_noti_icon_file/d6ea4330-e9f1-44aa-a1ad-9296fe286780.png rename to sprites/s_noti_icon_file_save/83b4d62c-3fd9-4292-ab92-8e5458746328.png diff --git a/sprites/s_noti_icon_file/layers/d6ea4330-e9f1-44aa-a1ad-9296fe286780/50297819-1ba0-43f5-a6ac-e7deb4a12589.png b/sprites/s_noti_icon_file_save/layers/83b4d62c-3fd9-4292-ab92-8e5458746328/48cc33cc-baa4-46fe-9dda-5e191165b554.png similarity index 100% rename from sprites/s_noti_icon_file/layers/d6ea4330-e9f1-44aa-a1ad-9296fe286780/50297819-1ba0-43f5-a6ac-e7deb4a12589.png rename to sprites/s_noti_icon_file_save/layers/83b4d62c-3fd9-4292-ab92-8e5458746328/48cc33cc-baa4-46fe-9dda-5e191165b554.png diff --git a/sprites/s_noti_icon_file/s_noti_icon_file.yy b/sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy similarity index 55% rename from sprites/s_noti_icon_file/s_noti_icon_file.yy rename to sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy index b3d36a7d1..0e29e190b 100644 --- a/sprites/s_noti_icon_file/s_noti_icon_file.yy +++ b/sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy @@ -24,12 +24,12 @@ "gridX": 0, "gridY": 0, "frames": [ - {"compositeImage":{"FrameId":{"name":"d6ea4330-e9f1-44aa-a1ad-9296fe286780","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[ - {"FrameId":{"name":"d6ea4330-e9f1-44aa-a1ad-9296fe286780","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"LayerId":{"name":"50297819-1ba0-43f5-a6ac-e7deb4a12589","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",}, - ],"parent":{"name":"s_noti_icon_file","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"resourceVersion":"1.0","name":"d6ea4330-e9f1-44aa-a1ad-9296fe286780","tags":[],"resourceType":"GMSpriteFrame",}, + {"compositeImage":{"FrameId":{"name":"83b4d62c-3fd9-4292-ab92-8e5458746328","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[ + {"FrameId":{"name":"83b4d62c-3fd9-4292-ab92-8e5458746328","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"LayerId":{"name":"48cc33cc-baa4-46fe-9dda-5e191165b554","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",}, + ],"parent":{"name":"s_noti_icon_file_save","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"resourceVersion":"1.0","name":"83b4d62c-3fd9-4292-ab92-8e5458746328","tags":[],"resourceType":"GMSpriteFrame",}, ], "sequence": { - "spriteId": {"name":"s_noti_icon_file","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",}, + "spriteId": {"name":"s_noti_icon_file_save","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",}, "timeUnits": 1, "playback": 1, "playbackSpeed": 30.0, @@ -41,10 +41,10 @@ "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, "tracks": [ {"name":"frames","spriteId":null,"keyframes":{"Keyframes":[ - {"id":"a2c8aab9-043c-47c0-8e1c-f2ab13e70707","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"d6ea4330-e9f1-44aa-a1ad-9296fe286780","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + {"id":"fd78b19f-074b-4186-884e-4e33d281d7a1","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"83b4d62c-3fd9-4292-ab92-8e5458746328","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack","modifiers":[],}, ], - "visibleRange": null, + "visibleRange": {"x":0.0,"y":0.0,}, "lockOrigin": false, "showBackdrop": true, "showBackdropImage": false, @@ -58,14 +58,14 @@ "yorigin": 10, "eventToFunction": {}, "eventStubScript": null, - "parent": {"name":"s_noti_icon_file","path":"sprites/s_noti_icon_file/s_noti_icon_file.yy",}, + "parent": {"name":"s_noti_icon_file_save","path":"sprites/s_noti_icon_file_save/s_noti_icon_file_save.yy",}, "resourceVersion": "1.3", - "name": "s_noti_icon_file", + "name": "s_noti_icon_file_save", "tags": [], "resourceType": "GMSequence", }, "layers": [ - {"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"50297819-1ba0-43f5-a6ac-e7deb4a12589","tags":[],"resourceType":"GMImageLayer",}, + {"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"48cc33cc-baa4-46fe-9dda-5e191165b554","tags":[],"resourceType":"GMImageLayer",}, ], "nineSlice": null, "parent": { @@ -73,7 +73,7 @@ "path": "folders/sprites/panels/noti.yy", }, "resourceVersion": "1.0", - "name": "s_noti_icon_file", + "name": "s_noti_icon_file_save", "tags": [], "resourceType": "GMSprite", } \ No newline at end of file