new shapes
|
@ -1905,10 +1905,13 @@
|
||||||
{"name":"s_node_shadow_type","order":1,"path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},
|
{"name":"s_node_shadow_type","order":1,"path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},
|
||||||
{"name":"s_node_shadow","order":49,"path":"sprites/s_node_shadow/s_node_shadow.yy",},
|
{"name":"s_node_shadow","order":49,"path":"sprites/s_node_shadow/s_node_shadow.yy",},
|
||||||
{"name":"s_node_shape_blur","order":7,"path":"sprites/s_node_shape_blur/s_node_shape_blur.yy",},
|
{"name":"s_node_shape_blur","order":7,"path":"sprites/s_node_shape_blur/s_node_shape_blur.yy",},
|
||||||
|
{"name":"s_node_shape_circle","order":24,"path":"sprites/s_node_shape_circle/s_node_shape_circle.yy",},
|
||||||
|
{"name":"s_node_shape_leaf","order":25,"path":"sprites/s_node_shape_leaf/s_node_shape_leaf.yy",},
|
||||||
{"name":"s_node_shape_map","order":21,"path":"sprites/s_node_shape_map/s_node_shape_map.yy",},
|
{"name":"s_node_shape_map","order":21,"path":"sprites/s_node_shape_map/s_node_shape_map.yy",},
|
||||||
{"name":"s_node_shape_misc","order":6,"path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},
|
{"name":"s_node_shape_misc","order":6,"path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},
|
||||||
{"name":"s_node_shape_poly_type","order":22,"path":"sprites/s_node_shape_poly_type/s_node_shape_poly_type.yy",},
|
{"name":"s_node_shape_poly_type","order":22,"path":"sprites/s_node_shape_poly_type/s_node_shape_poly_type.yy",},
|
||||||
{"name":"s_node_shape_polygon","order":25,"path":"sprites/s_node_shape_polygon/s_node_shape_polygon.yy",},
|
{"name":"s_node_shape_polygon","order":25,"path":"sprites/s_node_shape_polygon/s_node_shape_polygon.yy",},
|
||||||
|
{"name":"s_node_shape_rectangle","order":23,"path":"sprites/s_node_shape_rectangle/s_node_shape_rectangle.yy",},
|
||||||
{"name":"s_node_shape","order":14,"path":"sprites/s_node_shape/s_node_shape.yy",},
|
{"name":"s_node_shape","order":14,"path":"sprites/s_node_shape/s_node_shape.yy",},
|
||||||
{"name":"s_node_shard","order":33,"path":"sprites/s_node_shard/s_node_shard.yy",},
|
{"name":"s_node_shard","order":33,"path":"sprites/s_node_shard/s_node_shard.yy",},
|
||||||
{"name":"s_node_shell_excecute","order":33,"path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},
|
{"name":"s_node_shell_excecute","order":33,"path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},
|
||||||
|
|
|
@ -2478,10 +2478,13 @@
|
||||||
{"id":{"name":"s_node_shadow_type","path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},},
|
{"id":{"name":"s_node_shadow_type","path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},},
|
||||||
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},},
|
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},},
|
||||||
{"id":{"name":"s_node_shape_blur","path":"sprites/s_node_shape_blur/s_node_shape_blur.yy",},},
|
{"id":{"name":"s_node_shape_blur","path":"sprites/s_node_shape_blur/s_node_shape_blur.yy",},},
|
||||||
|
{"id":{"name":"s_node_shape_circle","path":"sprites/s_node_shape_circle/s_node_shape_circle.yy",},},
|
||||||
|
{"id":{"name":"s_node_shape_leaf","path":"sprites/s_node_shape_leaf/s_node_shape_leaf.yy",},},
|
||||||
{"id":{"name":"s_node_shape_map","path":"sprites/s_node_shape_map/s_node_shape_map.yy",},},
|
{"id":{"name":"s_node_shape_map","path":"sprites/s_node_shape_map/s_node_shape_map.yy",},},
|
||||||
{"id":{"name":"s_node_shape_misc","path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},},
|
{"id":{"name":"s_node_shape_misc","path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},},
|
||||||
{"id":{"name":"s_node_shape_poly_type","path":"sprites/s_node_shape_poly_type/s_node_shape_poly_type.yy",},},
|
{"id":{"name":"s_node_shape_poly_type","path":"sprites/s_node_shape_poly_type/s_node_shape_poly_type.yy",},},
|
||||||
{"id":{"name":"s_node_shape_polygon","path":"sprites/s_node_shape_polygon/s_node_shape_polygon.yy",},},
|
{"id":{"name":"s_node_shape_polygon","path":"sprites/s_node_shape_polygon/s_node_shape_polygon.yy",},},
|
||||||
|
{"id":{"name":"s_node_shape_rectangle","path":"sprites/s_node_shape_rectangle/s_node_shape_rectangle.yy",},},
|
||||||
{"id":{"name":"s_node_shape_type","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},},
|
{"id":{"name":"s_node_shape_type","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},},
|
||||||
{"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},},
|
{"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},},
|
||||||
{"id":{"name":"s_node_shard","path":"sprites/s_node_shard/s_node_shard.yy",},},
|
{"id":{"name":"s_node_shard","path":"sprites/s_node_shard/s_node_shard.yy",},},
|
||||||
|
|
|
@ -250,8 +250,6 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
var _path = getInputData(46);
|
var _path = getInputData(46);
|
||||||
|
|
||||||
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
|
||||||
|
|
||||||
var _posDist = [];
|
var _posDist = [];
|
||||||
|
|
||||||
random_set_seed(seed); seed++;
|
random_set_seed(seed); seed++;
|
||||||
|
|
|
@ -149,6 +149,16 @@ function array_find(arr, val) { #region
|
||||||
});
|
});
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
function array_find_string(arr, val) { #region
|
||||||
|
INLINE
|
||||||
|
self.__temp_val = string_lower(val);
|
||||||
|
|
||||||
|
if(!is_array(arr)) return -1;
|
||||||
|
return array_find_index(arr, function(_val, _ind) {
|
||||||
|
return string_lower(_val) == self.__temp_val;
|
||||||
|
});
|
||||||
|
} #endregion
|
||||||
|
|
||||||
function array_remove(arr, val) { #region
|
function array_remove(arr, val) { #region
|
||||||
INLINE
|
INLINE
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
||||||
|
|
||||||
inputs[| 3] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 3] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]);
|
||||||
|
|
||||||
inputs[| 4] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
inputs[| 4] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
|
@ -20,7 +20,7 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0) ]);
|
||||||
|
|
||||||
inputs[| 5] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
inputs[| 5] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
|
@ -14,7 +14,7 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]);
|
||||||
|
|
||||||
inputs[| 3] = nodeValue("Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 )
|
inputs[| 3] = nodeValue("Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 )
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
||||||
|
|
|
@ -10,7 +10,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[| 1] = nodeValue("Spawn Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 1] = nodeValue("Spawn Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), "Surface" ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), "Surface" ]);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Spawn Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.25 ] )
|
inputs[| 2] = nodeValue("Spawn Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.25 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector)
|
.setDisplay(VALUE_DISPLAY.vector)
|
||||||
|
|
|
@ -11,7 +11,7 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, AREA_SHAPE.rectangle )
|
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, AREA_SHAPE.rectangle )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Rectangle", s_node_shape_type, 0), new scrollItem("Elipse", s_node_shape_type, 1) ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Rectangle", s_node_shape_rectangle, 0), new scrollItem("Elipse", s_node_shape_circle, 0) ]);
|
||||||
|
|
||||||
outputs[| 0] = nodeValue("Area", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0, AREA_SHAPE.rectangle ])
|
outputs[| 0] = nodeValue("Area", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0, AREA_SHAPE.rectangle ])
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
|
@ -34,6 +34,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
inputs[| 2] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 2] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Surface", "Text" ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Surface", "Text" ]);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("Recursive", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||||
|
|
||||||
outputs[| 0] = nodeValue("Outputs", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, [])
|
outputs[| 0] = nodeValue("Outputs", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, [])
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
@ -93,13 +95,19 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
var path = getInputData(0);
|
var path = getInputData(0);
|
||||||
var filter = getInputData(1);
|
var filter = getInputData(1);
|
||||||
var type = getInputData(2);
|
var type = getInputData(2);
|
||||||
|
var recurs = getInputData(3);
|
||||||
|
|
||||||
var _paths = struct_get_names(paths);
|
var _paths = struct_get_names(paths);
|
||||||
for (var i = 0, n = array_length(_paths); i < n; i++)
|
for (var i = 0, n = array_length(_paths); i < n; i++)
|
||||||
deleteSprite(paths[$ _paths[i]]);
|
deleteSprite(paths[$ _paths[i]]);
|
||||||
paths = {};
|
paths = {};
|
||||||
|
|
||||||
var _paths = path_dir_get_files(path, filter);
|
var _paths = path_dir_get_files(path, filter, recurs);
|
||||||
|
|
||||||
|
if(array_empty(_paths)) {
|
||||||
|
noti_warning("Directory Search: Empty search results.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (var i = 0, n = array_length(_paths); i < n; i++) {
|
for (var i = 0, n = array_length(_paths); i < n; i++) {
|
||||||
var _path = _paths[i];
|
var _path = _paths[i];
|
||||||
|
@ -109,7 +117,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
else if(type == 1) refreshText(paths[$ _path]);
|
else if(type == 1) refreshText(paths[$ _path]);
|
||||||
}
|
}
|
||||||
|
|
||||||
setDisplayName(filename_name_only(path));
|
var _p = string_trim_end(path, ["/", "\\"]);
|
||||||
|
setDisplayName(filename_name_only(_p));
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
insp1UpdateTooltip = __txt("Refresh");
|
insp1UpdateTooltip = __txt("Refresh");
|
||||||
|
|
|
@ -13,8 +13,8 @@ function Node_Local_Analyze(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
||||||
|
|
||||||
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Square", s_node_shape_type, 0),
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Square", s_node_shape_rectangle, 0),
|
||||||
new scrollItem("Circle", s_node_shape_type, 1),
|
new scrollItem("Circle", s_node_shape_circle, 0),
|
||||||
new scrollItem("Diamond", s_node_shape_misc, 0) ]);
|
new scrollItem("Diamond", s_node_shape_misc, 0) ]);
|
||||||
|
|
||||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||||
|
|
|
@ -62,7 +62,7 @@ function Node_MK_Fall(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
||||||
.setDisplay(VALUE_DISPLAY.range, { linked : true });
|
.setDisplay(VALUE_DISPLAY.range, { linked : true });
|
||||||
|
|
||||||
inputs[| 22] = nodeValue("Render Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 22] = nodeValue("Render Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Leaf", s_node_shape_type, 7), new scrollItem("Circle", s_node_shape_type, 1) ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Leaf", s_node_shape_leaf, 0), new scrollItem("Circle", s_node_shape_circle, 0) ]);
|
||||||
|
|
||||||
inputs[| 23] = nodeValue("Twist Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.7)
|
inputs[| 23] = nodeValue("Twist Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.7)
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
|
@ -36,7 +36,7 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
.setAnimable(false);
|
.setAnimable(false);
|
||||||
|
|
||||||
inputs[| 5] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 5] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Box", s_node_shape_type, 0), new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Custom", s_node_shape_misc, 1) ])
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Box", s_node_shape_rectangle, 0), new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Custom", s_node_shape_misc, 1) ])
|
||||||
.rejectArray()
|
.rejectArray()
|
||||||
.setAnimable(false);
|
.setAnimable(false);
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
enum NODE_SHAPE_TYPE { rectangle, elipse, regular, star, arc, teardrop, cross, leaf, crescent, donut }
|
|
||||||
|
|
||||||
#region create
|
#region create
|
||||||
global.node_shape_keys = [ "rectangle", "ellipse", "regular polygon", "star", "arc", "teardrop", "cross", "leaf", "crescent", "donut" ];
|
global.node_shape_keys = [
|
||||||
array_append(global.node_shape_keys, [ "square", "circle", "triangle", "pentagon", "hexagon", "ring" ]);
|
"rectangle", "ellipse", "regular polygon", "star", "arc", "teardrop", "cross", "leaf", "crescent", "donut",
|
||||||
|
"square", "circle", "triangle", "pentagon", "hexagon", "ring", "diamond", "trapezoid", "parallelogram",
|
||||||
|
];
|
||||||
|
|
||||||
function Node_create_Shape(_x, _y, _group = noone, _param = {}) { #region
|
function Node_create_Shape(_x, _y, _group = noone, _param = {}) { #region
|
||||||
var query = struct_try_get(_param, "query", "");
|
var query = struct_try_get(_param, "query", "");
|
||||||
|
@ -17,7 +17,7 @@ enum NODE_SHAPE_TYPE { rectangle, elipse, regular, star, arc, teardrop, cross, l
|
||||||
case "hexagon" : ind = 2; node.inputs[| 4].setValue(6); break;
|
case "hexagon" : ind = 2; node.inputs[| 4].setValue(6); break;
|
||||||
case "ring" : ind = 9; break;
|
case "ring" : ind = 9; break;
|
||||||
|
|
||||||
default : ind = array_find(global.node_shape_keys, query);
|
default : ind = array_find_string(node.shape_types, query);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ind >= 0) node.inputs[| 2].setValue(ind);
|
if(ind >= 0) node.inputs[| 2].setValue(ind);
|
||||||
|
@ -37,12 +37,14 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
|
|
||||||
inputs[| 1] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
inputs[| 1] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
var _types = [ "Rectangle", "Ellipse", "Regular polygon", "Star", "Arc", "Teardrop", "Cross", "Leaf", "Crescent", "Donut" ];
|
shape_types = [ "Rectangle", "Diamond", "Trapezoid", "Parallelogram", "Ellipse", "Regular polygon", "Star", "Arc", "Teardrop", "Cross", "Leaf", "Crescent", "Donut", ];
|
||||||
for( var i = 0, n = array_length(_types); i < n; i++ )
|
shape_types_str = [];
|
||||||
_types[i] = new scrollItem(_types[i], s_node_shape_type, i);
|
|
||||||
|
for( var i = 0, n = array_length(shape_types); i < n; i++ )
|
||||||
|
shape_types_str[i] = new scrollItem(shape_types[i], s_node_shape_type, i);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, _types);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, shape_types_str);
|
||||||
|
|
||||||
inputs[| 3] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, DEF_AREA_REF)
|
inputs[| 3] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, DEF_AREA_REF)
|
||||||
.setUnitRef(onSurfaceSize, VALUE_UNIT.reference)
|
.setUnitRef(onSurfaceSize, VALUE_UNIT.reference)
|
||||||
|
@ -98,12 +100,18 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
inputs[| 20] = nodeValue("Level", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
inputs[| 20] = nodeValue("Level", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
||||||
.setDisplay(VALUE_DISPLAY.slider_range);
|
.setDisplay(VALUE_DISPLAY.slider_range);
|
||||||
|
|
||||||
|
inputs[| 21] = nodeValue("Angles", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 1.0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider_range);
|
||||||
|
|
||||||
|
inputs[| 22] = nodeValue("Skew", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 0, 6,
|
["Output", false], 0, 6,
|
||||||
["Transform", false], 15, 3, 16, 17, 19,
|
["Transform", false], 15, 3, 16, 17, 19,
|
||||||
["Shape", false], 14, 2, 9, 4, 13, 5, 7, 8,
|
["Shape", false], 14, 2, 9, 4, 13, 5, 7, 8, 21, 22,
|
||||||
["Render", true], 10, 12, 20, 18,
|
["Render", true], 10, 12, 20, 18,
|
||||||
["Background", true, 1], 11,
|
["Background", true, 1], 11,
|
||||||
];
|
];
|
||||||
|
@ -267,23 +275,60 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
inputs[| 9].setVisible(false);
|
inputs[| 9].setVisible(false);
|
||||||
inputs[| 13].setVisible(false);
|
inputs[| 13].setVisible(false);
|
||||||
inputs[| 18].setVisible( true);
|
inputs[| 18].setVisible( true);
|
||||||
|
inputs[| 21].setVisible(false);
|
||||||
|
inputs[| 22].setVisible(false);
|
||||||
|
|
||||||
switch(_shape) { #region
|
var _shp = array_safe_get(shape_types, _shape, "");
|
||||||
case NODE_SHAPE_TYPE.rectangle :
|
if(is_struct(_shp)) _shp = _shp.data;
|
||||||
|
|
||||||
|
switch(_shp) { #region
|
||||||
|
case "Rectangle" :
|
||||||
inputs[| 9].setVisible( true);
|
inputs[| 9].setVisible( true);
|
||||||
inputs[| 18].setVisible(false);
|
inputs[| 18].setVisible(false);
|
||||||
|
|
||||||
|
shader_set_i("shape", 0);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.elipse :
|
|
||||||
|
case "Diamond" :
|
||||||
|
inputs[| 9].setVisible( true);
|
||||||
|
inputs[| 18].setVisible(false);
|
||||||
|
|
||||||
|
shader_set_i("shape", 10);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.regular :
|
|
||||||
|
case "Trapezoid" :
|
||||||
|
inputs[| 9].setVisible( true);
|
||||||
|
inputs[| 18].setVisible(false);
|
||||||
|
inputs[| 21].setVisible( true);
|
||||||
|
|
||||||
|
shader_set_i("shape", 11);
|
||||||
|
shader_set_f("trep", _data[21]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Parallelogram" :
|
||||||
|
inputs[| 9].setVisible( true);
|
||||||
|
inputs[| 18].setVisible(false);
|
||||||
|
inputs[| 22].setVisible( true);
|
||||||
|
|
||||||
|
shader_set_i("shape", 12);
|
||||||
|
shader_set_f("parall", _data[22]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Ellipse" :
|
||||||
|
shader_set_i("shape", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Regular polygon" :
|
||||||
inputs[| 4].setVisible(true);
|
inputs[| 4].setVisible(true);
|
||||||
inputs[| 7].setVisible(true);
|
inputs[| 7].setVisible(true);
|
||||||
inputs[| 9].setVisible(true);
|
inputs[| 9].setVisible(true);
|
||||||
|
|
||||||
|
shader_set_i("shape", 2);
|
||||||
shader_set_i("sides", _data[4]);
|
shader_set_i("sides", _data[4]);
|
||||||
shader_set_f("angle", degtorad(_data[7]));
|
shader_set_f("angle", degtorad(_data[7]));
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.star :
|
|
||||||
|
case "Star" :
|
||||||
inputs[| 4].setVisible(true);
|
inputs[| 4].setVisible(true);
|
||||||
inputs[| 5].setVisible(true);
|
inputs[| 5].setVisible(true);
|
||||||
inputs[| 7].setVisible(true);
|
inputs[| 7].setVisible(true);
|
||||||
|
@ -291,11 +336,13 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
|
|
||||||
inputs[| 5].name = "Inner radius";
|
inputs[| 5].name = "Inner radius";
|
||||||
|
|
||||||
|
shader_set_i("shape", 3);
|
||||||
shader_set_i("sides", _data[4]);
|
shader_set_i("sides", _data[4]);
|
||||||
shader_set_f("angle", degtorad(_data[7]));
|
shader_set_f("angle", degtorad(_data[7]));
|
||||||
shader_set_f("inner", _data[5]);
|
shader_set_f("inner", _data[5]);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.arc :
|
|
||||||
|
case "Arc" :
|
||||||
inputs[| 5].setVisible(true);
|
inputs[| 5].setVisible(true);
|
||||||
inputs[| 8].setVisible(true);
|
inputs[| 8].setVisible(true);
|
||||||
|
|
||||||
|
@ -304,39 +351,48 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
var ar = _data[8];
|
var ar = _data[8];
|
||||||
var center = degtorad(ar[0] + ar[1]) / 2;
|
var center = degtorad(ar[0] + ar[1]) / 2;
|
||||||
var range = degtorad(ar[0] - ar[1]) / 2;
|
var range = degtorad(ar[0] - ar[1]) / 2;
|
||||||
|
|
||||||
|
shader_set_i("shape", 4);
|
||||||
shader_set_f("angle", center);
|
shader_set_f("angle", center);
|
||||||
shader_set_f("angle_range", [ sin(range), cos(range) ] );
|
shader_set_f("angle_range", [ sin(range), cos(range) ] );
|
||||||
shader_set_f("inner", _data[5] / 2);
|
shader_set_f("inner", _data[5] / 2);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.teardrop :
|
|
||||||
|
case "Teardrop" :
|
||||||
inputs[| 5].setVisible(true);
|
inputs[| 5].setVisible(true);
|
||||||
inputs[| 13].setVisible(true);
|
inputs[| 13].setVisible(true);
|
||||||
|
|
||||||
inputs[| 5].name = "End radius";
|
inputs[| 5].name = "End radius";
|
||||||
inputs[| 13].name = "Start radius";
|
inputs[| 13].name = "Start radius";
|
||||||
|
|
||||||
|
shader_set_i("shape", 5);
|
||||||
shader_set_f("edRad", _data[ 5]);
|
shader_set_f("edRad", _data[ 5]);
|
||||||
shader_set_f("stRad", _data[13]);
|
shader_set_f("stRad", _data[13]);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.cross :
|
|
||||||
|
case "Cross" :
|
||||||
inputs[| 9].setVisible(true);
|
inputs[| 9].setVisible(true);
|
||||||
inputs[| 13].setVisible(true);
|
inputs[| 13].setVisible(true);
|
||||||
|
|
||||||
inputs[| 13].name = "Outer radius";
|
inputs[| 13].name = "Outer radius";
|
||||||
|
|
||||||
|
shader_set_i("shape", 6);
|
||||||
shader_set_f("outer", _data[13]);
|
shader_set_f("outer", _data[13]);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.leaf :
|
|
||||||
|
case "Leaf" :
|
||||||
inputs[| 5].setVisible(true);
|
inputs[| 5].setVisible(true);
|
||||||
inputs[| 13].setVisible(true);
|
inputs[| 13].setVisible(true);
|
||||||
|
|
||||||
inputs[| 5].name = "Inner radius";
|
inputs[| 5].name = "Inner radius";
|
||||||
inputs[| 13].name = "Outer radius";
|
inputs[| 13].name = "Outer radius";
|
||||||
|
|
||||||
|
shader_set_i("shape", 7);
|
||||||
shader_set_f("inner", _data[ 5]);
|
shader_set_f("inner", _data[ 5]);
|
||||||
shader_set_f("outer", _data[13]);
|
shader_set_f("outer", _data[13]);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.crescent :
|
|
||||||
|
case "Crescent" :
|
||||||
inputs[| 5].setVisible(true);
|
inputs[| 5].setVisible(true);
|
||||||
inputs[| 7].setVisible(true);
|
inputs[| 7].setVisible(true);
|
||||||
inputs[| 13].setVisible(true);
|
inputs[| 13].setVisible(true);
|
||||||
|
@ -344,21 +400,24 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
inputs[| 5].name = "Shift";
|
inputs[| 5].name = "Shift";
|
||||||
inputs[| 13].name = "Inner circle";
|
inputs[| 13].name = "Inner circle";
|
||||||
|
|
||||||
|
shader_set_i("shape", 8);
|
||||||
shader_set_f("outer", _data[ 5]);
|
shader_set_f("outer", _data[ 5]);
|
||||||
shader_set_f("angle", -degtorad(_data[7]));
|
shader_set_f("angle", -degtorad(_data[7]));
|
||||||
shader_set_f("inner", _data[13]);
|
shader_set_f("inner", _data[13]);
|
||||||
break;
|
break;
|
||||||
case NODE_SHAPE_TYPE.donut :
|
|
||||||
|
case "Donut" :
|
||||||
inputs[| 13].setVisible(true);
|
inputs[| 13].setVisible(true);
|
||||||
|
|
||||||
inputs[| 13].name = "Inner circle";
|
inputs[| 13].name = "Inner circle";
|
||||||
|
|
||||||
|
shader_set_i("shape", 9);
|
||||||
shader_set_f("inner", _data[13]);
|
shader_set_f("inner", _data[13]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
shader_set_f("dimension", _dim);
|
shader_set_f("dimension", _dim);
|
||||||
shader_set_i("shape", _shape);
|
|
||||||
shader_set_f("bgColor", _bgcol);
|
shader_set_f("bgColor", _bgcol);
|
||||||
shader_set_i("aa", _aa);
|
shader_set_i("aa", _aa);
|
||||||
shader_set_i("drawDF", _df);
|
shader_set_i("drawDF", _df);
|
||||||
|
|
|
@ -7,8 +7,8 @@ function Node_Shape_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
active_index = 1;
|
active_index = 1;
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1),
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_circle, 0),
|
||||||
new scrollItem("Polygon", s_node_shape_type, 2), ]);
|
new scrollItem("Polygon", s_node_shape_misc, 1), ]);
|
||||||
|
|
||||||
inputs[| 3] = nodeValue("Map Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 1 ])
|
inputs[| 3] = nodeValue("Map Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 1 ])
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
|
@ -543,20 +543,15 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_DISPLAY.vector_range : #region
|
case VALUE_DISPLAY.vector_range : #region
|
||||||
var val = animator.getValue();
|
var val = animator.getValue();
|
||||||
|
|
||||||
editWidget = new vectorRangeBox(array_length(val), _txt, function(index, val) {
|
editWidget = new vectorRangeBox(array_length(val), _txt, function(index, val) { return setValueInspector(val, index); }, unit );
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit );
|
|
||||||
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
if(!struct_has(display_data, "linked")) display_data.linked = false;
|
if(!struct_has(display_data, "linked")) display_data.linked = false;
|
||||||
|
|
||||||
if(array_length(val) == 2)
|
if(array_length(val) == 2) extract_node = "Node_Vector2";
|
||||||
extract_node = "Node_Vector2";
|
else if(array_length(val) == 3) extract_node = "Node_Vector3";
|
||||||
else if(array_length(val) == 3)
|
else if(array_length(val) == 4) extract_node = "Node_Vector4";
|
||||||
extract_node = "Node_Vector3";
|
|
||||||
else if(array_length(val) == 4)
|
|
||||||
extract_node = "Node_Vector4";
|
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
animators[i].suffix = " " + string(array_safe_get_fast(global.displaySuffix_VecRange, i));
|
animators[i].suffix = " " + string(array_safe_get_fast(global.displaySuffix_VecRange, i));
|
||||||
|
@ -574,9 +569,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.rotation_range : #region
|
case VALUE_DISPLAY.rotation_range : #region
|
||||||
editWidget = new rotatorRange(function(index, val) {
|
editWidget = new rotatorRange(function(index, val) { return setValueInspector(val, index); } );
|
||||||
return setValueInspector(val, index);
|
|
||||||
} );
|
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
animators[i].suffix = " " + array_safe_get_fast(global.displaySuffix_Range, i);
|
animators[i].suffix = " " + array_safe_get_fast(global.displaySuffix_Range, i);
|
||||||
|
@ -585,9 +578,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.rotation_random : #region
|
case VALUE_DISPLAY.rotation_random : #region
|
||||||
editWidget = new rotatorRandom(function(index, val) {
|
editWidget = new rotatorRandom(function(index, val) { return setValueInspector(val, index); } );
|
||||||
return setValueInspector(val, index);
|
|
||||||
} );
|
|
||||||
|
|
||||||
extract_node = "Node_Vector2";
|
extract_node = "Node_Vector2";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
@ -617,9 +608,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.area : #region
|
case VALUE_DISPLAY.area : #region
|
||||||
editWidget = new areaBox(function(index, val) {
|
editWidget = new areaBox(function(index, val) { return setValueInspector(val, index); }, unit);
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit);
|
|
||||||
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -633,11 +622,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.padding : #region
|
case VALUE_DISPLAY.padding : #region
|
||||||
editWidget = new paddingBox(function(index, val) {
|
editWidget = new paddingBox(function(index, val) { return setValueInspector(val, index); }, unit);
|
||||||
//var _val = animator.getValue();
|
|
||||||
//_val[index] = val;
|
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit);
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
|
@ -647,9 +632,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.corner : #region
|
case VALUE_DISPLAY.corner : #region
|
||||||
editWidget = new cornerBox(function(index, val) {
|
editWidget = new cornerBox(function(index, val) { return setValueInspector(val, index); }, unit);
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit);
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
|
@ -659,9 +642,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.puppet_control : #region
|
case VALUE_DISPLAY.puppet_control : #region
|
||||||
editWidget = new controlPointBox(function(index, val) {
|
editWidget = new controlPointBox(function(index, val) { return setValueInspector(val, index); });
|
||||||
return setValueInspector(val, index);
|
|
||||||
});
|
|
||||||
|
|
||||||
extract_node = "";
|
extract_node = "";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
@ -686,9 +667,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
if(!is_struct(display_data)) display_data = { data: display_data };
|
if(!is_struct(display_data)) display_data = { data: display_data };
|
||||||
var choices = __txt_junction_data(instanceof(node), connect_type, index, display_data.data);
|
var choices = __txt_junction_data(instanceof(node), connect_type, index, display_data.data);
|
||||||
|
|
||||||
editWidget = new buttonGroup(choices, function(val) {
|
editWidget = new buttonGroup(choices, function(val) { return setValueInspector(val); } );
|
||||||
return setValueInspector(val);
|
|
||||||
} );
|
|
||||||
|
|
||||||
rejectConnect();
|
rejectConnect();
|
||||||
key_inter = CURVE_TYPE.cut;
|
key_inter = CURVE_TYPE.cut;
|
||||||
|
@ -696,9 +675,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.matrix : #region
|
case VALUE_DISPLAY.matrix : #region
|
||||||
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) {
|
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) { return setValueInspector(val, index); }, unit );
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit );
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
|
@ -708,9 +685,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.boolean_grid : #region
|
case VALUE_DISPLAY.boolean_grid : #region
|
||||||
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) {
|
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) { return setValueInspector(val, index); }, unit );
|
||||||
return setValueInspector(val, index);
|
|
||||||
}, unit );
|
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
animators[i].suffix = $" {i}";
|
animators[i].suffix = $" {i}";
|
||||||
|
@ -725,9 +700,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.toggle : #region
|
case VALUE_DISPLAY.toggle : #region
|
||||||
editWidget = new toggleGroup(display_data.data, function(val) {
|
editWidget = new toggleGroup(display_data.data, function(val) { return setValueInspector(val); } );
|
||||||
return setValueInspector(val);
|
|
||||||
} );
|
|
||||||
|
|
||||||
rejectConnect();
|
rejectConnect();
|
||||||
key_inter = CURVE_TYPE.cut;
|
key_inter = CURVE_TYPE.cut;
|
||||||
|
@ -735,18 +708,14 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.d3quarternion : #region
|
case VALUE_DISPLAY.d3quarternion : #region
|
||||||
editWidget = new quarternionBox(function(index, val) {
|
editWidget = new quarternionBox(function(index, val) { return setValueInspector(val, index); });
|
||||||
return setValueInspector(val, index);
|
|
||||||
});
|
|
||||||
|
|
||||||
extract_node = "Node_Vector4";
|
extract_node = "Node_Vector4";
|
||||||
display_data.angle_display = QUARTERNION_DISPLAY.euler;
|
display_data.angle_display = QUARTERNION_DISPLAY.euler;
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
|
||||||
case VALUE_DISPLAY.path_anchor : #region
|
case VALUE_DISPLAY.path_anchor : #region
|
||||||
editWidget = new pathAnchorBox(function(index, val) {
|
editWidget = new pathAnchorBox(function(index, val) { return setValueInspector(val, index); });
|
||||||
return setValueInspector(val, index);
|
|
||||||
});
|
|
||||||
|
|
||||||
extract_node = "Node_Path_Anchor";
|
extract_node = "Node_Path_Anchor";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
|
@ -770,6 +739,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
graph_h = ui(16);
|
graph_h = ui(16);
|
||||||
extract_node = "Node_Color";
|
extract_node = "Node_Color";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE_DISPLAY.palette :
|
case VALUE_DISPLAY.palette :
|
||||||
editWidget = new buttonPalette(function(color) { return setValueInspector(color); } );
|
editWidget = new buttonPalette(function(color) { return setValueInspector(color); } );
|
||||||
|
|
||||||
|
@ -789,6 +759,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_DISPLAY.path_array :
|
case VALUE_DISPLAY.path_array :
|
||||||
editWidget = new pathArrayBox(node, display_data.filter, function(path) { setValueInspector(path); } );
|
editWidget = new pathArrayBox(node, display_data.filter, function(path) { setValueInspector(path); } );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE_DISPLAY.path_load :
|
case VALUE_DISPLAY.path_load :
|
||||||
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueInspector(str); } );
|
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueInspector(str); } );
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,15 @@ function path_search(paths, _filter = ".png") {
|
||||||
return _paths;
|
return _paths;
|
||||||
}
|
}
|
||||||
|
|
||||||
function path_dir_get_files(paths, _extension = ".png") {
|
function path_dir_get_files(paths, _extension = ".png", _recur = true) {
|
||||||
paths = string_trim_end(paths, ["/", "\\"]);
|
paths = string_trim_end(paths, ["/", "\\"]);
|
||||||
var _ext = string_splice(_extension, ";", false, false);
|
var _ext = string_splice(_extension, ";", false, false);
|
||||||
var _paths = [];
|
var _paths = [];
|
||||||
|
|
||||||
if(!directory_exists(paths)) return [];
|
if(!directory_exists(paths)) return _paths;
|
||||||
|
|
||||||
var st = ds_stack_create();
|
var st = ds_stack_create();
|
||||||
|
var _root = true;
|
||||||
ds_stack_push(st, paths);
|
ds_stack_push(st, paths);
|
||||||
|
|
||||||
while(!ds_stack_empty(st)) {
|
while(!ds_stack_empty(st)) {
|
||||||
|
@ -22,15 +23,17 @@ function path_dir_get_files(paths, _extension = ".png") {
|
||||||
while(file != "") {
|
while(file != "") {
|
||||||
var file_full = curr_path + "/" + file;
|
var file_full = curr_path + "/" + file;
|
||||||
|
|
||||||
if(directory_exists(file_full))
|
if((_recur || _root) && directory_exists(file_full))
|
||||||
ds_stack_push(st, file_full);
|
ds_stack_push(st, file_full);
|
||||||
|
|
||||||
else if(array_exists(_ext, filename_ext(file)))
|
else if(array_exists(_ext, string_lower(filename_ext(file))))
|
||||||
array_push(_paths, file_full);
|
array_push(_paths, file_full);
|
||||||
|
|
||||||
file = file_find_next();
|
file = file_find_next();
|
||||||
}
|
}
|
||||||
file_find_close();
|
file_find_close();
|
||||||
|
|
||||||
|
_root = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ds_stack_destroy(st);
|
ds_stack_destroy(st);
|
||||||
|
|
|
@ -20,19 +20,24 @@ uniform float corner;
|
||||||
|
|
||||||
uniform float stRad;
|
uniform float stRad;
|
||||||
uniform float edRad;
|
uniform float edRad;
|
||||||
|
uniform float parall;
|
||||||
|
|
||||||
uniform vec2 angle_range;
|
uniform vec2 angle_range;
|
||||||
|
|
||||||
uniform vec2 dimension;
|
uniform vec2 dimension;
|
||||||
uniform vec2 center;
|
uniform vec2 center;
|
||||||
uniform vec2 scale;
|
uniform vec2 scale;
|
||||||
|
uniform vec2 trep;
|
||||||
|
|
||||||
uniform vec4 bgColor;
|
uniform vec4 bgColor;
|
||||||
|
|
||||||
#define PI 3.14159265359
|
#define PI 3.14159265359
|
||||||
#define TAU 6.283185307179586
|
#define TAU 6.283185307179586
|
||||||
|
|
||||||
float sdRegularPolygon(in vec2 p, in float r, in int n, in float ang ) { #region
|
float ndot(vec2 a, vec2 b ) { return a.x*b.x - a.y*b.y; }
|
||||||
|
float dot2(in vec2 v ) { return dot(v,v); }
|
||||||
|
|
||||||
|
float sdRegularPolygon(in vec2 p, in float r, in int n, in float ang ) {
|
||||||
// these 4 lines can be precomputed for a given shape
|
// these 4 lines can be precomputed for a given shape
|
||||||
float an = PI / float(n);
|
float an = PI / float(n);
|
||||||
vec2 acs = vec2(cos(an), sin(an));
|
vec2 acs = vec2(cos(an), sin(an));
|
||||||
|
@ -45,10 +50,10 @@ float sdRegularPolygon(in vec2 p, in float r, in int n, in float ang ) { #region
|
||||||
p -= r * acs;
|
p -= r * acs;
|
||||||
p.y += clamp( -p.y, 0.0, r * acs.y);
|
p.y += clamp( -p.y, 0.0, r * acs.y);
|
||||||
return length(p) * sign(p.x);
|
return length(p) * sign(p.x);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
// signed distance to a n-star polygon with external angle en
|
// signed distance to a n-star polygon with external angle en
|
||||||
float sdStar(in vec2 p, in float r, in int n, in float m, in float ang) { #region m=[2,n]
|
float sdStar(in vec2 p, in float r, in int n, in float m, in float ang) { //m=[2,n]
|
||||||
// these 4 lines can be precomputed for a given shape
|
// these 4 lines can be precomputed for a given shape
|
||||||
float an = PI / float(n);
|
float an = PI / float(n);
|
||||||
float en = PI / m;
|
float en = PI / m;
|
||||||
|
@ -63,30 +68,30 @@ float sdStar(in vec2 p, in float r, in int n, in float m, in float ang) { #regio
|
||||||
p -= r * acs;
|
p -= r * acs;
|
||||||
p += ecs * clamp( -dot(p, ecs), 0.0, r * acs.y / ecs.y);
|
p += ecs * clamp( -dot(p, ecs), 0.0, r * acs.y / ecs.y);
|
||||||
return length(p)*sign(p.x);
|
return length(p)*sign(p.x);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
// sca is the sin/cos of the orientation
|
// sca is the sin/cos of the orientation
|
||||||
// scb is the sin/cos of the aperture
|
// scb is the sin/cos of the aperture
|
||||||
float sdArc( in vec2 p, in vec2 sca, in vec2 scb, in float ra, in float rb ) { #region
|
float sdArc( in vec2 p, in vec2 sca, in vec2 scb, in float ra, in float rb ) {
|
||||||
p *= mat2(sca.x, sca.y, -sca.y, sca.x);
|
p *= mat2(sca.x, sca.y, -sca.y, sca.x);
|
||||||
p.x = abs(p.x);
|
p.x = abs(p.x);
|
||||||
float k = (scb.y * p.x > scb.x * p.y) ? dot(p.xy,scb) : length(p);
|
float k = (scb.y * p.x > scb.x * p.y) ? dot(p.xy,scb) : length(p);
|
||||||
return sqrt( dot(p, p) + ra * ra - 2.0 * ra * k ) - rb;
|
return sqrt( dot(p, p) + ra * ra - 2.0 * ra * k ) - rb;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdRoundBox( in vec2 p, in vec2 b, in vec4 r ) { #region
|
float sdRoundBox( in vec2 p, in vec2 b, in vec4 r ) {
|
||||||
r.xy = (p.x > 0.0)? r.xy : r.zw;
|
r.xy = (p.x > 0.0)? r.xy : r.zw;
|
||||||
r.x = (p.y > 0.0)? r.x : r.y;
|
r.x = (p.y > 0.0)? r.x : r.y;
|
||||||
vec2 q = abs(p) - b + r.x;
|
vec2 q = abs(p) - b + r.x;
|
||||||
return min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r.x;
|
return min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r.x;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdBox( in vec2 p, in vec2 b ) { #region
|
float sdBox( in vec2 p, in vec2 b ) {
|
||||||
vec2 d = abs(p) - b;
|
vec2 d = abs(p) - b;
|
||||||
return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
|
return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdTearDrop( vec2 p, float r1, float r2, float h ) { #region
|
float sdTearDrop( vec2 p, float r1, float r2, float h ) {
|
||||||
p.x = abs(p.x);
|
p.x = abs(p.x);
|
||||||
float b = (r1 - r2) / h;
|
float b = (r1 - r2) / h;
|
||||||
float a = sqrt(1.0 - b * b);
|
float a = sqrt(1.0 - b * b);
|
||||||
|
@ -94,37 +99,76 @@ float sdTearDrop( vec2 p, float r1, float r2, float h ) { #region
|
||||||
if( k < 0.0 ) return length(p) - r1;
|
if( k < 0.0 ) return length(p) - r1;
|
||||||
if( k > a * h ) return length(p - vec2(0.0, h)) - r2;
|
if( k > a * h ) return length(p - vec2(0.0, h)) - r2;
|
||||||
return dot(p, vec2(a, b) ) - r1;
|
return dot(p, vec2(a, b) ) - r1;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdCross( in vec2 p, in vec2 b, float r ) { #region
|
float sdCross( in vec2 p, in vec2 b, float r ) {
|
||||||
p = abs(p); p = (p.y>p.x) ? p.yx : p.xy;
|
p = abs(p);
|
||||||
|
p = (p.y > p.x) ? p.yx : p.xy;
|
||||||
vec2 q = p - b;
|
vec2 q = p - b;
|
||||||
float k = max(q.y, q.x);
|
float k = max(q.y, q.x);
|
||||||
vec2 w = (k > 0.0) ? q : vec2(b.y - p.x, -k);
|
vec2 w = (k > 0.0) ? q : vec2(b.y - p.x, -k);
|
||||||
return sign(k) * length(max(w, 0.0)) + r;
|
return sign(k) * length(max(w, 0.0)) + r;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdVesica(vec2 p, float r, float d) { #region
|
float sdVesica(vec2 p, float r, float d) {
|
||||||
p = abs(p);
|
p = abs(p);
|
||||||
|
|
||||||
float b = sqrt(r * r - d * d); // can delay this sqrt by rewriting the comparison
|
float b = sqrt(r * r - d * d); // can delay this sqrt by rewriting the comparison
|
||||||
return ((p.y - b) * d > p.x * b) ? length(p - vec2(0.0, b)) * sign(d)
|
return ((p.y - b) * d > p.x * b) ? length(p - vec2(0.0, b)) * sign(d)
|
||||||
: length(p - vec2(-d, 0.0)) - r;
|
: length(p - vec2(-d, 0.0)) - r;
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdCrescent(vec2 p, float s, float c, float a) { #region
|
float sdCrescent(vec2 p, float s, float c, float a) {
|
||||||
float o = length(p) - 1.;
|
float o = length(p) - 1.;
|
||||||
float i = length(p - vec2(cos(a) * (1. - s * c), sin(a) * (1. - s * c))) / s - 1.;
|
float i = length(p - vec2(cos(a) * (1. - s * c), sin(a) * (1. - s * c))) / s - 1.;
|
||||||
|
|
||||||
return max(o, -i);
|
return max(o, -i);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
float sdDonut(vec2 p, float s) { #region
|
float sdDonut(vec2 p, float s) {
|
||||||
float o = length(p) - 1.;
|
float o = length(p) - 1.;
|
||||||
float i = length(p) / s - 1.;
|
float i = length(p) / s - 1.;
|
||||||
|
|
||||||
return max(o, -i);
|
return max(o, -i);
|
||||||
} #endregion
|
}
|
||||||
|
|
||||||
|
float sdRhombus( in vec2 p, in vec2 b ) {
|
||||||
|
p = abs(p);
|
||||||
|
|
||||||
|
float h = clamp( ndot(b - 2.0 * p,b) / dot(b, b), -1.0, 1.0 );
|
||||||
|
float d = length( p - 0.5 * b * vec2(1.0 - h, 1.0 + h) );
|
||||||
|
|
||||||
|
return d * sign( p.x * b.y + p.y * b.x - b.x * b.y );
|
||||||
|
}
|
||||||
|
|
||||||
|
float sdSegment( in vec2 p, in vec2 a, in vec2 b ) {
|
||||||
|
vec2 pa = p - a, ba = b - a;
|
||||||
|
float h = clamp( dot(pa, ba) / dot(ba, ba), 0.0, 1.0 );
|
||||||
|
return length( pa - ba * h );
|
||||||
|
}
|
||||||
|
|
||||||
|
float sdTrapezoid( in vec2 p, in float r1, float r2, float he ) {
|
||||||
|
vec2 k1 = vec2(r2, he);
|
||||||
|
vec2 k2 = vec2(r2 - r1, 2.0 * he);
|
||||||
|
p.x = abs(p.x);
|
||||||
|
|
||||||
|
vec2 ca = vec2(p.x - min(p.x, (p.y < 0.0)? r1 : r2), abs(p.y) - he);
|
||||||
|
vec2 cb = p - k1 + k2 * clamp( dot(k1 - p, k2) / dot2(k2), 0.0, 1.0 );
|
||||||
|
float s = (cb.x < 0.0 && ca.y < 0.0) ? -1.0 : 1.0;
|
||||||
|
return s * sqrt( min(dot2(ca), dot2(cb)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
float sdParallelogram( in vec2 p, float wi, float he, float sk ) {
|
||||||
|
vec2 e = vec2(sk, he);
|
||||||
|
p = (p.y < 0.0)? -p : p;
|
||||||
|
vec2 w = p - e; w.x -= clamp(w.x, -wi, wi);
|
||||||
|
vec2 d = vec2(dot(w, w), -w.y);
|
||||||
|
float s = p.x * e.y - p.y * e.x;
|
||||||
|
p = (s < 0.0)? -p : p;
|
||||||
|
vec2 v = p - vec2(wi, 0); v -= e * clamp(dot(v, e) / dot(e, e), -1.0, 1.0);
|
||||||
|
d = min( d, vec2(dot(v, v), wi * he - abs(s)));
|
||||||
|
return sqrt(d.x) * sign(-d.y);
|
||||||
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
float color = 0.;
|
float color = 0.;
|
||||||
|
@ -137,20 +181,27 @@ void main() {
|
||||||
if(shape == 0) {
|
if(shape == 0) {
|
||||||
d = sdBox( (v_vTexcoord - center) * mat2(cos(rotation), -sin(rotation), sin(rotation), cos(rotation)) * ratio, (scale * ratio - corner));
|
d = sdBox( (v_vTexcoord - center) * mat2(cos(rotation), -sin(rotation), sin(rotation), cos(rotation)) * ratio, (scale * ratio - corner));
|
||||||
d -= corner;
|
d -= corner;
|
||||||
|
|
||||||
} else if(shape == 1) {
|
} else if(shape == 1) {
|
||||||
d = length(coord) - 1.;
|
d = length(coord) - 1.;
|
||||||
|
|
||||||
} else if(shape == 2) {
|
} else if(shape == 2) {
|
||||||
d = sdRegularPolygon( coord, 0.9 - corner, sides, angle );
|
d = sdRegularPolygon( coord, 0.9 - corner, sides, angle );
|
||||||
d -= corner;
|
d -= corner;
|
||||||
|
|
||||||
} else if(shape == 3) {
|
} else if(shape == 3) {
|
||||||
d = sdStar( coord, 0.9 - corner, sides, 2. + inner * (float(sides) - 2.), angle );
|
d = sdStar( coord, 0.9 - corner, sides, 2. + inner * (float(sides) - 2.), angle );
|
||||||
d -= corner;
|
d -= corner;
|
||||||
|
|
||||||
} else if(shape == 4) d = sdArc( coord, vec2(sin(angle), cos(angle)), angle_range, 0.9 - inner, inner );
|
} else if(shape == 4) d = sdArc( coord, vec2(sin(angle), cos(angle)), angle_range, 0.9 - inner, inner );
|
||||||
else if(shape == 5) d = sdTearDrop( coord + vec2(0., 0.5), stRad, edRad, 1. );
|
else if(shape == 5) d = sdTearDrop( coord + vec2(0., 0.5), stRad, edRad, 1. );
|
||||||
else if(shape == 6) d = sdCross( coord, vec2(1. + corner, outer), corner );
|
else if(shape == 6) d = sdCross( coord, vec2(1. + corner, outer), corner );
|
||||||
else if(shape == 7) d = sdVesica( coord, inner, outer );
|
else if(shape == 7) d = sdVesica( coord, inner, outer );
|
||||||
else if(shape == 8) d = sdCrescent( coord, inner, outer, angle );
|
else if(shape == 8) d = sdCrescent( coord, inner, outer, angle );
|
||||||
else if(shape == 9) d = sdDonut( coord, inner );
|
else if(shape == 9) d = sdDonut( coord, inner );
|
||||||
|
else if(shape == 10) d = sdRhombus( coord, vec2(1. - corner) ) - corner;
|
||||||
|
else if(shape == 11) d = sdTrapezoid( coord, trep.x - corner, trep.y - corner, 1. - corner ) - corner;
|
||||||
|
else if(shape == 12) d = sdParallelogram( coord, 1. - corner - parall, 1. - corner, parall) - corner;
|
||||||
|
|
||||||
if(drawDF == 1) {
|
if(drawDF == 1) {
|
||||||
color = -d;
|
color = -d;
|
||||||
|
|
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
95
sprites/s_node_shape_circle/s_node_shape_circle.yy
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
"$GMSprite":"",
|
||||||
|
"%Name":"s_node_shape_circle",
|
||||||
|
"bboxMode":0,
|
||||||
|
"bbox_bottom":20,
|
||||||
|
"bbox_left":3,
|
||||||
|
"bbox_right":20,
|
||||||
|
"bbox_top":3,
|
||||||
|
"collisionKind":1,
|
||||||
|
"collisionTolerance":0,
|
||||||
|
"ConfigValues":{
|
||||||
|
"Itch":{
|
||||||
|
"textureGroupId":"{ \"name\":\"Default\", \"path\":\"texturegroups/Default\" }",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"DynamicTexturePage":false,
|
||||||
|
"edgeFiltering":false,
|
||||||
|
"For3D":false,
|
||||||
|
"frames":[
|
||||||
|
{"$GMSpriteFrame":"","%Name":"cf030556-92eb-437b-80ed-1fbaec3ab825","name":"cf030556-92eb-437b-80ed-1fbaec3ab825","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
],
|
||||||
|
"gridX":0,
|
||||||
|
"gridY":0,
|
||||||
|
"height":24,
|
||||||
|
"HTile":false,
|
||||||
|
"layers":[
|
||||||
|
{"$GMImageLayer":"","%Name":"2cf10068-76aa-4aa4-8fdc-cf8df2b3f52f","blendMode":0,"displayName":"default","isLocked":false,"name":"2cf10068-76aa-4aa4-8fdc-cf8df2b3f52f","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
|
],
|
||||||
|
"name":"s_node_shape_circle",
|
||||||
|
"nineSlice":null,
|
||||||
|
"origin":4,
|
||||||
|
"parent":{
|
||||||
|
"name":"nodes",
|
||||||
|
"path":"folders/sprites/nodes.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha":false,
|
||||||
|
"resourceType":"GMSprite",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"sequence":{
|
||||||
|
"$GMSequence":"",
|
||||||
|
"%Name":"s_node_shape_circle",
|
||||||
|
"autoRecord":true,
|
||||||
|
"backdropHeight":768,
|
||||||
|
"backdropImageOpacity":0.5,
|
||||||
|
"backdropImagePath":"",
|
||||||
|
"backdropWidth":1366,
|
||||||
|
"backdropXOffset":0.0,
|
||||||
|
"backdropYOffset":0.0,
|
||||||
|
"events":{
|
||||||
|
"$KeyframeStore<MessageEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MessageEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"eventStubScript":null,
|
||||||
|
"eventToFunction":{},
|
||||||
|
"length":1.0,
|
||||||
|
"lockOrigin":false,
|
||||||
|
"moments":{
|
||||||
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"name":"s_node_shape_circle",
|
||||||
|
"playback":1,
|
||||||
|
"playbackSpeed":30.0,
|
||||||
|
"playbackSpeedType":0,
|
||||||
|
"resourceType":"GMSequence",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"showBackdrop":true,
|
||||||
|
"showBackdropImage":false,
|
||||||
|
"timeUnits":1,
|
||||||
|
"tracks":[
|
||||||
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"cf030556-92eb-437b-80ed-1fbaec3ab825","path":"sprites/s_node_shape_circle/s_node_shape_circle.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"52176aad-60cc-4bb8-a0ea-04ba50d60741","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange":null,
|
||||||
|
"volume":1.0,
|
||||||
|
"xorigin":12,
|
||||||
|
"yorigin":12,
|
||||||
|
},
|
||||||
|
"swatchColours":null,
|
||||||
|
"swfPrecision":2.525,
|
||||||
|
"textureGroupId":{
|
||||||
|
"name":"Default",
|
||||||
|
"path":"texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type":0,
|
||||||
|
"VTile":false,
|
||||||
|
"width":24,
|
||||||
|
}
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 439 B |
95
sprites/s_node_shape_leaf/s_node_shape_leaf.yy
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
"$GMSprite":"",
|
||||||
|
"%Name":"s_node_shape_leaf",
|
||||||
|
"bboxMode":0,
|
||||||
|
"bbox_bottom":20,
|
||||||
|
"bbox_left":7,
|
||||||
|
"bbox_right":16,
|
||||||
|
"bbox_top":3,
|
||||||
|
"collisionKind":1,
|
||||||
|
"collisionTolerance":0,
|
||||||
|
"ConfigValues":{
|
||||||
|
"Itch":{
|
||||||
|
"textureGroupId":"{ \"name\":\"Default\", \"path\":\"texturegroups/Default\" }",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"DynamicTexturePage":false,
|
||||||
|
"edgeFiltering":false,
|
||||||
|
"For3D":false,
|
||||||
|
"frames":[
|
||||||
|
{"$GMSpriteFrame":"","%Name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
],
|
||||||
|
"gridX":0,
|
||||||
|
"gridY":0,
|
||||||
|
"height":24,
|
||||||
|
"HTile":false,
|
||||||
|
"layers":[
|
||||||
|
{"$GMImageLayer":"","%Name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","blendMode":0,"displayName":"default","isLocked":false,"name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
|
],
|
||||||
|
"name":"s_node_shape_leaf",
|
||||||
|
"nineSlice":null,
|
||||||
|
"origin":4,
|
||||||
|
"parent":{
|
||||||
|
"name":"nodes",
|
||||||
|
"path":"folders/sprites/nodes.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha":false,
|
||||||
|
"resourceType":"GMSprite",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"sequence":{
|
||||||
|
"$GMSequence":"",
|
||||||
|
"%Name":"s_node_shape_leaf",
|
||||||
|
"autoRecord":true,
|
||||||
|
"backdropHeight":768,
|
||||||
|
"backdropImageOpacity":0.5,
|
||||||
|
"backdropImagePath":"",
|
||||||
|
"backdropWidth":1366,
|
||||||
|
"backdropXOffset":0.0,
|
||||||
|
"backdropYOffset":0.0,
|
||||||
|
"events":{
|
||||||
|
"$KeyframeStore<MessageEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MessageEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"eventStubScript":null,
|
||||||
|
"eventToFunction":{},
|
||||||
|
"length":1.0,
|
||||||
|
"lockOrigin":false,
|
||||||
|
"moments":{
|
||||||
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"name":"s_node_shape_leaf",
|
||||||
|
"playback":1,
|
||||||
|
"playbackSpeed":30.0,
|
||||||
|
"playbackSpeedType":0,
|
||||||
|
"resourceType":"GMSequence",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"showBackdrop":true,
|
||||||
|
"showBackdropImage":false,
|
||||||
|
"timeUnits":1,
|
||||||
|
"tracks":[
|
||||||
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","path":"sprites/s_node_shape_leaf/s_node_shape_leaf.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"60c28ee2-65e2-4896-923e-2ed609102398","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange":null,
|
||||||
|
"volume":1.0,
|
||||||
|
"xorigin":12,
|
||||||
|
"yorigin":12,
|
||||||
|
},
|
||||||
|
"swatchColours":null,
|
||||||
|
"swfPrecision":2.525,
|
||||||
|
"textureGroupId":{
|
||||||
|
"name":"Default",
|
||||||
|
"path":"texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type":0,
|
||||||
|
"VTile":false,
|
||||||
|
"width":24,
|
||||||
|
}
|
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 326 B |
95
sprites/s_node_shape_rectangle/s_node_shape_rectangle.yy
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
"$GMSprite":"",
|
||||||
|
"%Name":"s_node_shape_rectangle",
|
||||||
|
"bboxMode":0,
|
||||||
|
"bbox_bottom":19,
|
||||||
|
"bbox_left":4,
|
||||||
|
"bbox_right":19,
|
||||||
|
"bbox_top":4,
|
||||||
|
"collisionKind":1,
|
||||||
|
"collisionTolerance":0,
|
||||||
|
"ConfigValues":{
|
||||||
|
"Itch":{
|
||||||
|
"textureGroupId":"{ \"name\":\"Default\", \"path\":\"texturegroups/Default\" }",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"DynamicTexturePage":false,
|
||||||
|
"edgeFiltering":false,
|
||||||
|
"For3D":false,
|
||||||
|
"frames":[
|
||||||
|
{"$GMSpriteFrame":"","%Name":"c062d35a-662c-46c4-9898-cf687121115d","name":"c062d35a-662c-46c4-9898-cf687121115d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
],
|
||||||
|
"gridX":0,
|
||||||
|
"gridY":0,
|
||||||
|
"height":24,
|
||||||
|
"HTile":false,
|
||||||
|
"layers":[
|
||||||
|
{"$GMImageLayer":"","%Name":"2cf10068-76aa-4aa4-8fdc-cf8df2b3f52f","blendMode":0,"displayName":"default","isLocked":false,"name":"2cf10068-76aa-4aa4-8fdc-cf8df2b3f52f","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
|
],
|
||||||
|
"name":"s_node_shape_rectangle",
|
||||||
|
"nineSlice":null,
|
||||||
|
"origin":4,
|
||||||
|
"parent":{
|
||||||
|
"name":"nodes",
|
||||||
|
"path":"folders/sprites/nodes.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha":false,
|
||||||
|
"resourceType":"GMSprite",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"sequence":{
|
||||||
|
"$GMSequence":"",
|
||||||
|
"%Name":"s_node_shape_rectangle",
|
||||||
|
"autoRecord":true,
|
||||||
|
"backdropHeight":768,
|
||||||
|
"backdropImageOpacity":0.5,
|
||||||
|
"backdropImagePath":"",
|
||||||
|
"backdropWidth":1366,
|
||||||
|
"backdropXOffset":0.0,
|
||||||
|
"backdropYOffset":0.0,
|
||||||
|
"events":{
|
||||||
|
"$KeyframeStore<MessageEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MessageEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"eventStubScript":null,
|
||||||
|
"eventToFunction":{},
|
||||||
|
"length":1.0,
|
||||||
|
"lockOrigin":false,
|
||||||
|
"moments":{
|
||||||
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
"Keyframes":[],
|
||||||
|
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
},
|
||||||
|
"name":"s_node_shape_rectangle",
|
||||||
|
"playback":1,
|
||||||
|
"playbackSpeed":30.0,
|
||||||
|
"playbackSpeedType":0,
|
||||||
|
"resourceType":"GMSequence",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"showBackdrop":true,
|
||||||
|
"showBackdropImage":false,
|
||||||
|
"timeUnits":1,
|
||||||
|
"tracks":[
|
||||||
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"c062d35a-662c-46c4-9898-cf687121115d","path":"sprites/s_node_shape_rectangle/s_node_shape_rectangle.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"0f523f3d-7e20-4e72-b9ee-526dba4a192e","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange":null,
|
||||||
|
"volume":1.0,
|
||||||
|
"xorigin":12,
|
||||||
|
"yorigin":12,
|
||||||
|
},
|
||||||
|
"swatchColours":null,
|
||||||
|
"swfPrecision":2.525,
|
||||||
|
"textureGroupId":{
|
||||||
|
"name":"Default",
|
||||||
|
"path":"texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type":0,
|
||||||
|
"VTile":false,
|
||||||
|
"width":24,
|
||||||
|
}
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B |
After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 380 B |
Before Width: | Height: | Size: 499 B After Width: | Height: | Size: 499 B |
After Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 455 B After Width: | Height: | Size: 455 B |
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 525 B After Width: | Height: | Size: 525 B |
After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 502 B |
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B |
After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 380 B |
Before Width: | Height: | Size: 499 B After Width: | Height: | Size: 499 B |
After Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 455 B After Width: | Height: | Size: 455 B |
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 525 B After Width: | Height: | Size: 525 B |
After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 502 B |
|
@ -12,23 +12,26 @@
|
||||||
"edgeFiltering":false,
|
"edgeFiltering":false,
|
||||||
"For3D":false,
|
"For3D":false,
|
||||||
"frames":[
|
"frames":[
|
||||||
{"$GMSpriteFrame":"","%Name":"48bc866d-ad21-4667-bec2-914ec021c526","name":"48bc866d-ad21-4667-bec2-914ec021c526","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"3c16b005-0fdf-4af6-bbd0-f6b29328ec70","name":"3c16b005-0fdf-4af6-bbd0-f6b29328ec70","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"d3111831-695a-4461-9130-3228744761bb","name":"d3111831-695a-4461-9130-3228744761bb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"0412b90e-66c7-4dd8-a11e-19d68da47a0c","name":"0412b90e-66c7-4dd8-a11e-19d68da47a0c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"e39a435f-a2e0-4394-816a-0434f1ae62d1","name":"e39a435f-a2e0-4394-816a-0434f1ae62d1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"eda5c901-9a81-421c-89a9-1b3c83ef0483","name":"eda5c901-9a81-421c-89a9-1b3c83ef0483","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"49220458-bf1c-4c96-b39f-29641a235a59","name":"49220458-bf1c-4c96-b39f-29641a235a59","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"71d205ee-df82-4582-bf38-39392d51dd23","name":"71d205ee-df82-4582-bf38-39392d51dd23","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"69eff4a9-10e5-497d-96ae-b8b66f9a07b0","name":"69eff4a9-10e5-497d-96ae-b8b66f9a07b0","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"bab10856-f499-4364-8bdb-230f241dcf0d","name":"bab10856-f499-4364-8bdb-230f241dcf0d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"7a4c420e-5fd3-43de-a420-d37bc8deb71d","name":"7a4c420e-5fd3-43de-a420-d37bc8deb71d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"d3655d0c-9269-4162-9ae7-82c547edf674","name":"d3655d0c-9269-4162-9ae7-82c547edf674","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"f95f551b-65f3-47ca-86f4-341c8de92bf8","name":"f95f551b-65f3-47ca-86f4-341c8de92bf8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
{"$GMSpriteFrame":"","%Name":"5695f049-b1d1-49f5-b3aa-e1e963a85824","name":"5695f049-b1d1-49f5-b3aa-e1e963a85824","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
{"$GMSpriteFrame":"","%Name":"2893727a-1872-4e51-b211-59df36bbc651","name":"2893727a-1872-4e51-b211-59df36bbc651","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"8973bafa-9ba5-4018-82fe-49369c528c77","name":"8973bafa-9ba5-4018-82fe-49369c528c77","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
|
{"$GMSpriteFrame":"","%Name":"651de5b3-7033-4983-aa29-7308549c5997","name":"651de5b3-7033-4983-aa29-7308549c5997","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||||
],
|
],
|
||||||
"gridX":0,
|
"gridX":0,
|
||||||
"gridY":0,
|
"gridY":0,
|
||||||
"height":24,
|
"height":24,
|
||||||
"HTile":false,
|
"HTile":false,
|
||||||
"layers":[
|
"layers":[
|
||||||
{"$GMImageLayer":"","%Name":"af3459aa-e234-4282-ba5c-db0e34f3c62b","blendMode":0,"displayName":"default","isLocked":false,"name":"af3459aa-e234-4282-ba5c-db0e34f3c62b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
{"$GMImageLayer":"","%Name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","blendMode":0,"displayName":"default","isLocked":false,"name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||||
],
|
],
|
||||||
"name":"s_node_shape_type",
|
"name":"s_node_shape_type",
|
||||||
"nineSlice":null,
|
"nineSlice":null,
|
||||||
|
@ -58,7 +61,7 @@
|
||||||
},
|
},
|
||||||
"eventStubScript":null,
|
"eventStubScript":null,
|
||||||
"eventToFunction":{},
|
"eventToFunction":{},
|
||||||
"length":10.0,
|
"length":13.0,
|
||||||
"lockOrigin":false,
|
"lockOrigin":false,
|
||||||
"moments":{
|
"moments":{
|
||||||
"$KeyframeStore<MomentsEventKeyframe>":"",
|
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||||
|
@ -78,35 +81,44 @@
|
||||||
"tracks":[
|
"tracks":[
|
||||||
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"48bc866d-ad21-4667-bec2-914ec021c526","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"8ab11c56-2330-4aab-a936-1ac4bf582a71","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"ee006fd1-e9eb-4d05-b46f-eae5fa8612b0","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"3c16b005-0fdf-4af6-bbd0-f6b29328ec70","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"d3111831-695a-4461-9130-3228744761bb","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"48e79bc8-f0c9-4fd9-a88c-6cb18ad2f422","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"46c3d423-c7ec-4994-af09-809ef518a079","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"0412b90e-66c7-4dd8-a11e-19d68da47a0c","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"cb3b343f-3868-4c9a-8a4e-3925c58f1a06","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"31c2191f-90a4-40a8-89d2-1ff98308a5e7","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"e39a435f-a2e0-4394-816a-0434f1ae62d1","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"831e6af9-840c-4446-a969-57ecc634f995","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"67b85fa1-1715-453b-a9e3-c936d250dc7d","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"eda5c901-9a81-421c-89a9-1b3c83ef0483","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"96e8aac1-c3b9-40c3-9bb7-636c1e2309f8","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"21957fda-cd5a-4e10-a5a8-ca944c8ccc65","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"49220458-bf1c-4c96-b39f-29641a235a59","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"71d205ee-df82-4582-bf38-39392d51dd23","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"1e665ae4-d8a5-4e11-99d4-4fc073982e0f","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"766e25dd-8b26-47a2-996a-ca9f7b58f9ae","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"69eff4a9-10e5-497d-96ae-b8b66f9a07b0","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"bab10856-f499-4364-8bdb-230f241dcf0d","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"b5770c65-cc1e-44fd-8da2-7cd5616d4aaa","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"75551b21-9282-41fa-8c8a-855d0b527fbb","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"7a4c420e-5fd3-43de-a420-d37bc8deb71d","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"d3655d0c-9269-4162-9ae7-82c547edf674","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"499cfe03-15eb-4887-8794-0b1899ec3f07","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"f8425249-5e88-4123-a018-c3eb02073c4a","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"f95f551b-65f3-47ca-86f4-341c8de92bf8","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"a6bdeef0-6045-4107-a5c3-7297315d692b","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"8e68a1ba-fa7b-4a85-b48d-cdf67b539901","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"5695f049-b1d1-49f5-b3aa-e1e963a85824","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"2893727a-1872-4e51-b211-59df36bbc651","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
},"Disabled":false,"id":"f557fa96-65bf-44a0-b9ac-99092d804c2c","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
},"Disabled":false,"id":"7c381e7f-8d22-4f8b-a9a8-00df7fe13c2e","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"60c28ee2-65e2-4896-923e-2ed609102398","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"8973bafa-9ba5-4018-82fe-49369c528c77","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"4c0e2a8c-e36a-43d2-a462-b1f386b96940","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
|
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||||
|
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"651de5b3-7033-4983-aa29-7308549c5997","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||||
|
},"Disabled":false,"id":"faf1f5e1-c375-4707-bb11-4ecc614a5126","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||||
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
],
|
],
|
||||||
"visibleRange":null,
|
"visibleRange":null,
|
||||||
|
|