UUID, file save load icons
|
@ -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,},
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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, []);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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, []);
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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",
|
||||
}
|
|
@ -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",
|
||||
}
|
|
@ -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();
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"]);
|
||||
|
||||
|
|
|
@ -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 = "";
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B |
|
@ -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<MomentsEventKeyframe>",},
|
||||
"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<SpriteFrameKeyframe>",},
|
||||
{"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<SpriteFrameKeyframe>",},
|
||||
],"resourceVersion":"1.0","resourceType":"KeyframeStore<SpriteFrameKeyframe>",},"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",
|
||||
}
|
Before Width: | Height: | Size: 404 B After Width: | Height: | Size: 404 B |
Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 379 B |
|
@ -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<MomentsEventKeyframe>",},
|
||||
"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<SpriteFrameKeyframe>",},
|
||||
{"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<SpriteFrameKeyframe>",},
|
||||
],"resourceVersion":"1.0","resourceType":"KeyframeStore<SpriteFrameKeyframe>",},"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",
|
||||
}
|