diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 7af43ac72..5b08b440d 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -42,6 +42,7 @@ {"name":"inputs","order":19,"path":"folders/functions/inputs.yy",}, {"name":"lua","order":20,"path":"folders/functions/lua.yy",}, {"name":"math","order":21,"path":"folders/functions/math.yy",}, + {"name":"matrix","order":36,"path":"folders/functions/matrix.yy",}, {"name":"nodes","order":22,"path":"folders/functions/nodes.yy",}, {"name":"packing","order":23,"path":"folders/functions/packing.yy",}, {"name":"PCX","order":24,"path":"folders/functions/PCX.yy",}, @@ -53,14 +54,14 @@ {"name":"string","order":30,"path":"folders/functions/string.yy",}, {"name":"surface","order":31,"path":"folders/functions/surface.yy",}, {"name":"dynamic_surface","order":1,"path":"folders/functions/surface/dynamic_surface.yy",}, - {"name":"svg","order":38,"path":"folders/functions/svg.yy",}, + {"name":"svg","order":39,"path":"folders/functions/svg.yy",}, {"name":"test","order":32,"path":"folders/functions/test.yy",}, {"name":"tooltip","order":33,"path":"folders/functions/tooltip.yy",}, {"name":"tween","order":34,"path":"folders/functions/tween.yy",}, {"name":"value","order":35,"path":"folders/functions/value.yy",}, {"name":"variables","order":36,"path":"folders/functions/variables.yy",}, {"name":"vector","order":37,"path":"folders/functions/vector.yy",}, - {"name":"window","order":38,"path":"folders/functions/window.yy",}, + {"name":"window","order":39,"path":"folders/functions/window.yy",}, {"name":"game engines","order":335,"path":"folders/game engines.yy",}, {"name":"main","order":328,"path":"folders/main.yy",}, {"name":"components","order":3,"path":"folders/main/components.yy",}, @@ -186,6 +187,7 @@ {"name":"bool","order":3,"path":"folders/nodes/data/value/bool.yy",}, {"name":"buffer","order":4,"path":"folders/nodes/data/value/buffer.yy",}, {"name":"color","order":5,"path":"folders/nodes/data/value/color.yy",}, + {"name":"matrix","order":14,"path":"folders/nodes/data/value/matrix.yy",}, {"name":"mesh","order":6,"path":"folders/nodes/data/value/mesh.yy",}, {"name":"number","order":7,"path":"folders/nodes/data/value/number.yy",}, {"name":"path","order":8,"path":"folders/nodes/data/value/path.yy",}, @@ -506,7 +508,7 @@ {"name":"color_loader","order":13,"path":"scripts/color_loader/color_loader.yy",}, {"name":"color_selector","order":4,"path":"scripts/color_selector/color_selector.yy",}, {"name":"complex_function","order":12,"path":"scripts/complex_function/complex_function.yy",}, - {"name":"console_commands","order":46,"path":"scripts/console_commands/console_commands.yy",}, + {"name":"console_commands","order":47,"path":"scripts/console_commands/console_commands.yy",}, {"name":"controlPointBox","order":4,"path":"scripts/controlPointBox/controlPointBox.yy",}, {"name":"cornerBox","order":5,"path":"scripts/cornerBox/cornerBox.yy",}, {"name":"cross_product","order":3,"path":"scripts/cross_product/cross_product.yy",}, @@ -545,12 +547,12 @@ {"name":"d3d_uvsphere","order":8,"path":"scripts/d3d_uvsphere/d3d_uvsphere.yy",}, {"name":"d3d_vertex","order":10,"path":"scripts/d3d_vertex/d3d_vertex.yy",}, {"name":"d3d_wall_builder","order":26,"path":"scripts/d3d_wall_builder/d3d_wall_builder.yy",}, - {"name":"debug","order":41,"path":"scripts/debug/debug.yy",}, + {"name":"debug","order":42,"path":"scripts/debug/debug.yy",}, {"name":"delaunay","order":1,"path":"scripts/delaunay/delaunay.yy",}, {"name":"dialog_management","order":2,"path":"scripts/dialog_management/dialog_management.yy",}, {"name":"directory_functions","order":9,"path":"scripts/directory_functions/directory_functions.yy",}, {"name":"directory_object","order":3,"path":"scripts/directory_object/directory_object.yy",}, - {"name":"display_refresh","order":42,"path":"scripts/display_refresh/display_refresh.yy",}, + {"name":"display_refresh","order":43,"path":"scripts/display_refresh/display_refresh.yy",}, {"name":"distribution_function","order":16,"path":"scripts/distribution_function/distribution_function.yy",}, {"name":"draw_arc","order":16,"path":"scripts/draw_arc/draw_arc.yy",}, {"name":"draw_circle_functions","order":3,"path":"scripts/draw_circle_functions/draw_circle_functions.yy",}, @@ -646,6 +648,7 @@ {"name":"mask_function","order":1,"path":"scripts/mask_function/mask_function.yy",}, {"name":"materialBox","order":15,"path":"scripts/materialBox/materialBox.yy",}, {"name":"math_function","order":3,"path":"scripts/math_function/math_function.yy",}, + {"name":"matrix_functions","order":1,"path":"scripts/matrix_functions/matrix_functions.yy",}, {"name":"matrixGrid","order":6,"path":"scripts/matrixGrid/matrixGrid.yy",}, {"name":"meshBox","order":3,"path":"scripts/meshBox/meshBox.yy",}, {"name":"meta_data","order":12,"path":"scripts/meta_data/meta_data.yy",}, @@ -921,6 +924,13 @@ {"name":"node_lua_global","order":1,"path":"scripts/node_lua_global/node_lua_global.yy",}, {"name":"node_lua_surface","order":2,"path":"scripts/node_lua_surface/node_lua_surface.yy",}, {"name":"node_math","order":2,"path":"scripts/node_math/node_math.yy",}, + {"name":"node_matrix_det","order":2,"path":"scripts/node_matrix_det/node_matrix_det.yy",}, + {"name":"node_matrix_invert","order":3,"path":"scripts/node_matrix_invert/node_matrix_invert.yy",}, + {"name":"node_matrix_math","order":5,"path":"scripts/node_matrix_math/node_matrix_math.yy",}, + {"name":"node_matrix_multiply_vector","order":5,"path":"scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.yy",}, + {"name":"node_matrix_set","order":7,"path":"scripts/node_matrix_set/node_matrix_set.yy",}, + {"name":"node_matrix_to_array","order":6,"path":"scripts/node_matrix_to_array/node_matrix_to_array.yy",}, + {"name":"node_matrix_tranpose","order":4,"path":"scripts/node_matrix_tranpose/node_matrix_tranpose.yy",}, {"name":"node_mesh_create_path","order":1,"path":"scripts/node_mesh_create_path/node_mesh_create_path.yy",}, {"name":"node_mesh_to_path","order":3,"path":"scripts/node_mesh_to_path/node_mesh_to_path.yy",}, {"name":"node_mesh_transform","order":2,"path":"scripts/node_mesh_transform/node_mesh_transform.yy",}, @@ -1198,6 +1208,7 @@ {"name":"node_value_float","order":1,"path":"scripts/node_value_float/node_value_float.yy",}, {"name":"node_value_gradient","order":1,"path":"scripts/node_value_gradient/node_value_gradient.yy",}, {"name":"node_value_int","order":2,"path":"scripts/node_value_int/node_value_int.yy",}, + {"name":"node_value_matrix","order":23,"path":"scripts/node_value_matrix/node_value_matrix.yy",}, {"name":"node_value_mesh","order":5,"path":"scripts/node_value_mesh/node_value_mesh.yy",}, {"name":"node_value_output","order":4,"path":"scripts/node_value_output/node_value_output.yy",}, {"name":"node_value_padding","order":16,"path":"scripts/node_value_padding/node_value_padding.yy",}, @@ -1227,6 +1238,8 @@ {"name":"node_value_vec3","order":5,"path":"scripts/node_value_vec3/node_value_vec3.yy",}, {"name":"node_value_vec4","order":6,"path":"scripts/node_value_vec4/node_value_vec4.yy",}, {"name":"node_value","order":1,"path":"scripts/node_value/node_value.yy",}, + {"name":"node_vec2_cart_to_polar","order":11,"path":"scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy",}, + {"name":"node_vec2_polar_to_cart","order":10,"path":"scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy",}, {"name":"node_vector_cross_3D","order":1,"path":"scripts/node_vector_cross_3D/node_vector_cross_3D.yy",}, {"name":"node_vector_dot","order":2,"path":"scripts/node_vector_dot/node_vector_dot.yy",}, {"name":"node_vector_magnitude","order":7,"path":"scripts/node_vector_magnitude/node_vector_magnitude.yy",}, @@ -1351,7 +1364,7 @@ {"name":"preview_overlay_rotation","order":1,"path":"scripts/preview_overlay_rotation/preview_overlay_rotation.yy",}, {"name":"preview_overlay_vector","order":2,"path":"scripts/preview_overlay_vector/preview_overlay_vector.yy",}, {"name":"printer","order":2,"path":"scripts/printer/printer.yy",}, - {"name":"process_functions","order":45,"path":"scripts/process_functions/process_functions.yy",}, + {"name":"process_functions","order":46,"path":"scripts/process_functions/process_functions.yy",}, {"name":"project_data","order":17,"path":"scripts/project_data/project_data.yy",}, {"name":"project_function","order":2,"path":"scripts/project_function/project_function.yy",}, {"name":"pseudo_regex","order":7,"path":"scripts/pseudo_regex/pseudo_regex.yy",}, @@ -1366,7 +1379,7 @@ {"name":"save_function","order":1,"path":"scripts/save_function/save_function.yy",}, {"name":"scrollBox","order":7,"path":"scripts/scrollBox/scrollBox.yy",}, {"name":"scrollPane","order":8,"path":"scripts/scrollPane/scrollPane.yy",}, - {"name":"shell_functions","order":43,"path":"scripts/shell_functions/shell_functions.yy",}, + {"name":"shell_functions","order":44,"path":"scripts/shell_functions/shell_functions.yy",}, {"name":"sliderRange","order":2,"path":"scripts/sliderRange/sliderRange.yy",}, {"name":"SnapBufferWriteXML","order":1,"path":"scripts/SnapBufferWriteXML/SnapBufferWriteXML.yy",}, {"name":"SnapFromXML","order":2,"path":"scripts/SnapFromXML/SnapFromXML.yy",}, @@ -1399,7 +1412,7 @@ {"name":"tiler_tool_selection_shape","order":9,"path":"scripts/tiler_tool_selection_shape/tiler_tool_selection_shape.yy",}, {"name":"tiler_tool_selection","order":8,"path":"scripts/tiler_tool_selection/tiler_tool_selection.yy",}, {"name":"tilesetBox","order":1,"path":"scripts/tilesetBox/tilesetBox.yy",}, - {"name":"time_source","order":44,"path":"scripts/time_source/time_source.yy",}, + {"name":"time_source","order":45,"path":"scripts/time_source/time_source.yy",}, {"name":"timeline_data","order":18,"path":"scripts/timeline_data/timeline_data.yy",}, {"name":"toggleGroup","order":12,"path":"scripts/toggleGroup/toggleGroup.yy",}, {"name":"tooltip_hotkey","order":2,"path":"scripts/tooltip_hotkey/tooltip_hotkey.yy",}, @@ -1961,6 +1974,7 @@ {"name":"s_node_camera_repeat","order":18,"path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",}, {"name":"s_node_camera","order":3,"path":"sprites/s_node_camera/s_node_camera.yy",}, {"name":"s_node_canvas_group","order":39,"path":"sprites/s_node_canvas_group/s_node_canvas_group.yy",}, + {"name":"s_node_cart_to_polar","order":141,"path":"sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy",}, {"name":"s_node_caustic","order":35,"path":"sprites/s_node_caustic/s_node_caustic.yy",}, {"name":"s_node_cellular","order":10,"path":"sprites/s_node_cellular/s_node_cellular.yy",}, {"name":"s_node_character","order":69,"path":"sprites/s_node_character/s_node_character.yy",}, @@ -2115,6 +2129,14 @@ {"name":"s_node_lua_surface","order":18,"path":"sprites/s_node_lua_surface/s_node_lua_surface.yy",}, {"name":"s_node_math_operators","order":30,"path":"sprites/s_node_math_operators/s_node_math_operators.yy",}, {"name":"s_node_math","order":51,"path":"sprites/s_node_math/s_node_math.yy",}, + {"name":"s_node_matrix_det","order":143,"path":"sprites/s_node_matrix_det/s_node_matrix_det.yy",}, + {"name":"s_node_matrix_invert","order":144,"path":"sprites/s_node_matrix_invert/s_node_matrix_invert.yy",}, + {"name":"s_node_matrix_math","order":145,"path":"sprites/s_node_matrix_math/s_node_matrix_math.yy",}, + {"name":"s_node_matrix_multiply_vector","order":147,"path":"sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy",}, + {"name":"s_node_matrix_set","order":149,"path":"sprites/s_node_matrix_set/s_node_matrix_set.yy",}, + {"name":"s_node_matrix_to_array","order":148,"path":"sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy",}, + {"name":"s_node_matrix_transpose","order":146,"path":"sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy",}, + {"name":"s_node_matrix","order":142,"path":"sprites/s_node_matrix/s_node_matrix.yy",}, {"name":"s_node_mesh_create_path","order":43,"path":"sprites/s_node_mesh_create_path/s_node_mesh_create_path.yy",}, {"name":"s_node_mesh_transform","order":44,"path":"sprites/s_node_mesh_transform/s_node_mesh_transform.yy",}, {"name":"s_node_mesh_type","order":14,"path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",}, @@ -2236,6 +2258,7 @@ {"name":"s_node_plot_linear_type","order":9,"path":"sprites/s_node_plot_linear_type/s_node_plot_linear_type.yy",}, {"name":"s_node_plot_linear","order":27,"path":"sprites/s_node_plot_linear/s_node_plot_linear.yy",}, {"name":"s_node_point_in_area","order":115,"path":"sprites/s_node_point_in_area/s_node_point_in_area.yy",}, + {"name":"s_node_polar_to_cart","order":140,"path":"sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy",}, {"name":"s_node_polar","order":5,"path":"sprites/s_node_polar/s_node_polar.yy",}, {"name":"s_node_posterize","order":55,"path":"sprites/s_node_posterize/s_node_posterize.yy",}, {"name":"s_node_print","order":30,"path":"sprites/s_node_print/s_node_print.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 7bb24d5c5..5b2c1a452 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -80,6 +80,7 @@ {"$GMFolder":"","%Name":"inputs","folderPath":"folders/functions/inputs.yy","name":"inputs","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"lua","folderPath":"folders/functions/lua.yy","name":"lua","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"math","folderPath":"folders/functions/math.yy","name":"math","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"matrix","folderPath":"folders/functions/matrix.yy","name":"matrix","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"nodes","folderPath":"folders/functions/nodes.yy","name":"nodes","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"packing","folderPath":"folders/functions/packing.yy","name":"packing","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"PCX","folderPath":"folders/functions/PCX.yy","name":"PCX","resourceType":"GMFolder","resourceVersion":"2.0",}, @@ -253,6 +254,7 @@ {"$GMFolder":"","%Name":"bool","folderPath":"folders/nodes/data/value/bool.yy","name":"bool","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"buffer","folderPath":"folders/nodes/data/value/buffer.yy","name":"buffer","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"color","folderPath":"folders/nodes/data/value/color.yy","name":"color","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"matrix","folderPath":"folders/nodes/data/value/matrix.yy","name":"matrix","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"mesh","folderPath":"folders/nodes/data/value/mesh.yy","name":"mesh","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"number","folderPath":"folders/nodes/data/value/number.yy","name":"number","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"path","folderPath":"folders/nodes/data/value/path.yy","name":"path","resourceType":"GMFolder","resourceVersion":"2.0",}, @@ -981,45 +983,45 @@ {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Misc/Node_Tunnel_In","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Misc/Node_Tunnel_Out","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Misc/Node_Widget_Test","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Contract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide_Grid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Inset","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Mirror","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Box/Node_PB_Layer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Angle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Blob","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Diamond","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Fill","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Line","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Round_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Semi_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Trapezoid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Add","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Brick","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Hash","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Highlight","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Intersect","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Outline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Radial","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Shading","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Stack","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Strip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Subtract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Flow Control/Node_PCX_Condition","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Math","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Random","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Height","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Width","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_fn_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Flow Control/Node_PCX_Condition","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Math","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Random","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Height","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Width","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_fn_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Contract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide_Grid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Inset","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Mirror","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Layer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Angle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Blob","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Diamond","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Fill","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Line","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Round_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Semi_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Trapezoid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Add","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Brick","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Hash","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Highlight","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Intersect","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Outline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Radial","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Shading","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Stack","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Strip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Subtract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Activate","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Force_Apply","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Global","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -1080,112 +1082,122 @@ {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Transform/Node_Warp","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"tooltip_spr.png","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Transform/Node_Warp","name":"tooltip_spr.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Transform/Node_Wrap_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Add","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Composite","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Convolute","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Copy","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_CSV_Parse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Find","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Insert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Length","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Range","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Rearrange","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Remove","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Reverse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Sample","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Shift","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Shuffle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Sort","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array_Zip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Atlas_Draw","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Atlas_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Atlas_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Atlas_Struct","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Base_Convert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Boolean","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Compare","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_FFT","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_IsoSurf","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Iterate_Each_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Iterate_Filter_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Iterate_Sort_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Logic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Math","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Mesh_Create_Path","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Mesh_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Move_Point","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Number","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_3D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Anchor","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Bake","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Blend","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Bridge","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Builder","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Fill","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_From_Mask","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_L_System","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Map_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Map","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Morph","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Plot","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Repeat","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Reverse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Sample","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Scatter","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_SDF","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Separate_Folder","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Shape","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Shift","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Smooth","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Trim","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path_Wave","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Path","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Point_In_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Random","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Scatter_Points","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Segment_Filter","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Statistic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Get_Char","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Join","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Length","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Merge","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Regex_Match","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Regex_Replace","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Regex_Search","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String_Trim","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_String","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Struct_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Struct_JSON_Parse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Struct_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Struct","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Surface_data","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Surface_From_Buffer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Surface_To_Buffer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_To_Number","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_To_Text","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Transform_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Trigger_Bool","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Trigger","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Unicode","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_2D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_3D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Dot","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Magnitude","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Normalize","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector_Swizzle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector2","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector3","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Node_Vector4","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Add","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Composite","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Convolute","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Copy","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_CSV_Parse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Find","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Insert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Length","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Range","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Rearrange","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Remove","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Reverse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sample","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shift","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shuffle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sort","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array_Zip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Each_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Filter_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Sort_Inline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Det","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Invert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Math","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Multiply_Vector","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_To_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Transpose","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Create_Path","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Base_Convert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Boolean","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Compare","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Equation","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_FFT","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Logic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Math","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Move_Point","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Number","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Point_In_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Random","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Scatter_Points","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Statistic","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_To_Number","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Number/Node_Transform_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_3D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Anchor","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Array","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bake","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Blend","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bridge","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Builder","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Fill","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_From_Mask","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_L_System","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map_Area","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Morph","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Plot","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Repeat","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Reverse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Sample","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Scatter","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_SDF","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Separate_Folder","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shape","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shift","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Smooth","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Trim","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path_Wave","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Segment_Filter","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Get_Char","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Join","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Length","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Merge","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Trim","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_To_Text","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_Unicode","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_JSON_Parse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Struct/Node_Struct","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Draw","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Get","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Set","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Struct","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_IsoSurf","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_data","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_From_Buffer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_To_Buffer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger_Bool","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cart_To_Polar","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_2D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_3D","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Dot","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Magnitude","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Normalize","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Polar_To_Cart","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Swizzle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector2","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector3","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Vector/Node_Vector4","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/VFX/Node_VFX_Accelerate","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/VFX/Node_VFX_Attract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/VFX/Node_VFX_Boids","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -1473,6 +1485,7 @@ {"id":{"name":"__initAddon","path":"scripts/__initAddon/__initAddon.yy",},}, {"id":{"name":"__initPen","path":"scripts/__initPen/__initPen.yy",},}, {"id":{"name":"__KEYS_PRIVATE","path":"scripts/__KEYS_PRIVATE/__KEYS_PRIVATE.yy",},}, + {"id":{"name":"__matrix","path":"scripts/__matrix/__matrix.yy",},}, {"id":{"name":"__matrix3","path":"scripts/__matrix3/__matrix3.yy",},}, {"id":{"name":"__matrix4","path":"scripts/__matrix4/__matrix4.yy",},}, {"id":{"name":"__mesh","path":"scripts/__mesh/__mesh.yy",},}, @@ -1782,6 +1795,7 @@ {"id":{"name":"mask_function","path":"scripts/mask_function/mask_function.yy",},}, {"id":{"name":"materialBox","path":"scripts/materialBox/materialBox.yy",},}, {"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},}, + {"id":{"name":"matrix_functions","path":"scripts/matrix_functions/matrix_functions.yy",},}, {"id":{"name":"matrixGrid","path":"scripts/matrixGrid/matrixGrid.yy",},}, {"id":{"name":"meshBox","path":"scripts/meshBox/meshBox.yy",},}, {"id":{"name":"meta_data","path":"scripts/meta_data/meta_data.yy",},}, @@ -2093,6 +2107,14 @@ {"id":{"name":"node_lua_global","path":"scripts/node_lua_global/node_lua_global.yy",},}, {"id":{"name":"node_lua_surface","path":"scripts/node_lua_surface/node_lua_surface.yy",},}, {"id":{"name":"node_math","path":"scripts/node_math/node_math.yy",},}, + {"id":{"name":"node_matrix_det","path":"scripts/node_matrix_det/node_matrix_det.yy",},}, + {"id":{"name":"node_matrix_invert","path":"scripts/node_matrix_invert/node_matrix_invert.yy",},}, + {"id":{"name":"node_matrix_math","path":"scripts/node_matrix_math/node_matrix_math.yy",},}, + {"id":{"name":"node_matrix_multiply_vector","path":"scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.yy",},}, + {"id":{"name":"node_matrix_set","path":"scripts/node_matrix_set/node_matrix_set.yy",},}, + {"id":{"name":"node_matrix_to_array","path":"scripts/node_matrix_to_array/node_matrix_to_array.yy",},}, + {"id":{"name":"node_matrix_tranpose","path":"scripts/node_matrix_tranpose/node_matrix_tranpose.yy",},}, + {"id":{"name":"node_matrix","path":"scripts/node_matrix/node_matrix.yy",},}, {"id":{"name":"node_mesh_create_path","path":"scripts/node_mesh_create_path/node_mesh_create_path.yy",},}, {"id":{"name":"node_mesh_to_path","path":"scripts/node_mesh_to_path/node_mesh_to_path.yy",},}, {"id":{"name":"node_mesh_transform","path":"scripts/node_mesh_transform/node_mesh_transform.yy",},}, @@ -2396,6 +2418,7 @@ {"id":{"name":"node_value_float","path":"scripts/node_value_float/node_value_float.yy",},}, {"id":{"name":"node_value_gradient","path":"scripts/node_value_gradient/node_value_gradient.yy",},}, {"id":{"name":"node_value_int","path":"scripts/node_value_int/node_value_int.yy",},}, + {"id":{"name":"node_value_matrix","path":"scripts/node_value_matrix/node_value_matrix.yy",},}, {"id":{"name":"node_value_mesh","path":"scripts/node_value_mesh/node_value_mesh.yy",},}, {"id":{"name":"node_value_output","path":"scripts/node_value_output/node_value_output.yy",},}, {"id":{"name":"node_value_padding","path":"scripts/node_value_padding/node_value_padding.yy",},}, @@ -2426,6 +2449,8 @@ {"id":{"name":"node_value_vec4","path":"scripts/node_value_vec4/node_value_vec4.yy",},}, {"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},}, {"id":{"name":"node_VCT","path":"scripts/node_VCT/node_VCT.yy",},}, + {"id":{"name":"node_vec2_cart_to_polar","path":"scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy",},}, + {"id":{"name":"node_vec2_polar_to_cart","path":"scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy",},}, {"id":{"name":"node_vector_cross_2D","path":"scripts/node_vector_cross_2D/node_vector_cross_2D.yy",},}, {"id":{"name":"node_vector_cross_3D","path":"scripts/node_vector_cross_3D/node_vector_cross_3D.yy",},}, {"id":{"name":"node_vector_dot","path":"scripts/node_vector_dot/node_vector_dot.yy",},}, @@ -3265,6 +3290,7 @@ {"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},}, {"id":{"name":"s_node_canvas_group","path":"sprites/s_node_canvas_group/s_node_canvas_group.yy",},}, {"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},}, + {"id":{"name":"s_node_cart_to_polar","path":"sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy",},}, {"id":{"name":"s_node_caustic","path":"sprites/s_node_caustic/s_node_caustic.yy",},}, {"id":{"name":"s_node_cellular","path":"sprites/s_node_cellular/s_node_cellular.yy",},}, {"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},}, @@ -3425,6 +3451,14 @@ {"id":{"name":"s_node_lua_surface","path":"sprites/s_node_lua_surface/s_node_lua_surface.yy",},}, {"id":{"name":"s_node_math_operators","path":"sprites/s_node_math_operators/s_node_math_operators.yy",},}, {"id":{"name":"s_node_math","path":"sprites/s_node_math/s_node_math.yy",},}, + {"id":{"name":"s_node_matrix_det","path":"sprites/s_node_matrix_det/s_node_matrix_det.yy",},}, + {"id":{"name":"s_node_matrix_invert","path":"sprites/s_node_matrix_invert/s_node_matrix_invert.yy",},}, + {"id":{"name":"s_node_matrix_math","path":"sprites/s_node_matrix_math/s_node_matrix_math.yy",},}, + {"id":{"name":"s_node_matrix_multiply_vector","path":"sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy",},}, + {"id":{"name":"s_node_matrix_set","path":"sprites/s_node_matrix_set/s_node_matrix_set.yy",},}, + {"id":{"name":"s_node_matrix_to_array","path":"sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy",},}, + {"id":{"name":"s_node_matrix_transpose","path":"sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy",},}, + {"id":{"name":"s_node_matrix","path":"sprites/s_node_matrix/s_node_matrix.yy",},}, {"id":{"name":"s_node_mesh_create_path","path":"sprites/s_node_mesh_create_path/s_node_mesh_create_path.yy",},}, {"id":{"name":"s_node_mesh_transform","path":"sprites/s_node_mesh_transform/s_node_mesh_transform.yy",},}, {"id":{"name":"s_node_mesh_type","path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",},}, @@ -3547,6 +3581,7 @@ {"id":{"name":"s_node_plot_linear_type","path":"sprites/s_node_plot_linear_type/s_node_plot_linear_type.yy",},}, {"id":{"name":"s_node_plot_linear","path":"sprites/s_node_plot_linear/s_node_plot_linear.yy",},}, {"id":{"name":"s_node_point_in_area","path":"sprites/s_node_point_in_area/s_node_point_in_area.yy",},}, + {"id":{"name":"s_node_polar_to_cart","path":"sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy",},}, {"id":{"name":"s_node_polar","path":"sprites/s_node_polar/s_node_polar.yy",},}, {"id":{"name":"s_node_posterize","path":"sprites/s_node_posterize/s_node_posterize.yy",},}, {"id":{"name":"s_node_print","path":"sprites/s_node_print/s_node_print.yy",},}, diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index d33755180..1e4c385e6 100644 Binary files a/datafiles/data/Nodes/Internal.zip and b/datafiles/data/Nodes/Internal.zip differ diff --git a/datafiles/data/Nodes/Internal/pcx_Flow Control/Node_PCX_Condition/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Flow Control/Node_PCX_Condition/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Flow Control/Node_PCX_Condition/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Flow Control/Node_PCX_Condition/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Get/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Get/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Get/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Get/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Set/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Set/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Array_Set/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Array_Set/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Equation/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Equation/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_Equation/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_Equation/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Math/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Math/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Math/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Math/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Random/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Random/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Random/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Random/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Height/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Height/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Height/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Height/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Width/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Width/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Functions/Node_PCX_fn_Surface_Width/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Width/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_fn_var/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_fn_var/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_fn_var/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_fn_var/info.json diff --git a/datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_var/info.json b/datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_var/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pcx_Variable/Node_PCX_var/info.json rename to datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_var/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Contract/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Contract/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Contract/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Contract/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide_Grid/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide_Grid/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Divide_Grid/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide_Grid/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Inset/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Inset/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Inset/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Inset/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Mirror/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Mirror/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Mirror/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Mirror/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Split/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Split/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Split/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Split/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Transform/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Transform/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Box_Transform/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Transform/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Box/Node_PB_Layer/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Layer/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Box/Node_PB_Layer/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Layer/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Angle/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Angle/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Angle/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Angle/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Blob/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Blob/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Blob/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Blob/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Diamond/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Diamond/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Diamond/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Diamond/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Ellipse/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Ellipse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Ellipse/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Ellipse/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Fill/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Fill/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Fill/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Fill/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Line/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Line/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Line/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Line/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Rectangle/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Rectangle/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Rectangle/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Rectangle/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Round_Rectangle/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Round_Rectangle/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Round_Rectangle/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Round_Rectangle/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Semi_Ellipse/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Semi_Ellipse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Semi_Ellipse/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Semi_Ellipse/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Trapezoid/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Trapezoid/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Draw/Node_PB_Draw_Trapezoid/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Trapezoid/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Add/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Add/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Add/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Add/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Brick/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Brick/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Brick/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Brick/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Hash/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Hash/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Hash/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Hash/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Highlight/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Highlight/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Highlight/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Highlight/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Intersect/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Intersect/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Intersect/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Intersect/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Outline/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Outline/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Outline/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Outline/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Radial/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Radial/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Radial/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Radial/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Shading/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Shading/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Shading/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Shading/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Stack/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Stack/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Stack/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Stack/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Strip/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Strip/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Strip/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Strip/info.json diff --git a/datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Subtract/info.json b/datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Subtract/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/pb_Effects/Node_PB_Fx_Subtract/info.json rename to datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Subtract/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Add/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Add/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Add/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Add/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_CSV_Parse/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_CSV_Parse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_CSV_Parse/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_CSV_Parse/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Composite/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Composite/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Composite/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Composite/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Convolute/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Convolute/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Convolute/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Convolute/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Copy/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Copy/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Copy/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Copy/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Find/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Find/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Find/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Find/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Get/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Get/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Get/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Get/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Insert/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Insert/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Insert/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Insert/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Length/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Length/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Length/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Length/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Range/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Range/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Range/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Range/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Rearrange/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Rearrange/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Rearrange/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Rearrange/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Remove/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Remove/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Remove/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Remove/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Reverse/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Reverse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Reverse/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Reverse/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Sample/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sample/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Sample/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sample/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Set/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Set/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Set/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Set/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Shift/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shift/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Shift/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shift/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Shuffle/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shuffle/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Shuffle/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Shuffle/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Sort/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sort/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Sort/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Sort/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Split/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Split/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Split/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Split/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Array_Zip/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Array_Zip/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Array_Zip/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Array_Zip/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Iterate_Each_Inline/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Each_Inline/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Iterate_Each_Inline/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Each_Inline/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Iterate_Filter_Inline/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Filter_Inline/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Iterate_Filter_Inline/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Filter_Inline/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Iterate_Sort_Inline/info.json b/datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Sort_Inline/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Iterate_Sort_Inline/info.json rename to datafiles/data/Nodes/Internal/Values/Array/Node_Iterate_Sort_Inline/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix/info.json new file mode 100644 index 000000000..eb8913cb7 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix", + "baseNode":"Node_Matrix", + "tooltip":"Create matrix.", + "spr":"s_node_matrix", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Det/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Det/info.json new file mode 100644 index 000000000..88410d9a9 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Det/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Determinant", + "baseNode":"Node_Matrix_Det", + "tooltip":"Calculate the determinant of a matrix.", + "spr":"s_node_matrix_det", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Invert/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Invert/info.json new file mode 100644 index 000000000..fb00e319d --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Invert/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Invert", + "baseNode":"Node_Matrix_Invert", + "tooltip":"Calculate the inverse of a matrix.", + "spr":"s_node_matrix_invert", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Math/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Math/info.json new file mode 100644 index 000000000..2dd116446 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Math/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Math", + "baseNode":"Node_Matrix_Math", + "tooltip":"Apply math operations to matrix.", + "spr":"s_node_matrix_math", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Multiply_Vector/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Multiply_Vector/info.json new file mode 100644 index 000000000..567e627c2 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Multiply_Vector/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Multiply Vector", + "baseNode":"Node_Matrix_Multiply_Vector", + "tooltip":"Multiply a matrix by a vector.", + "spr":"s_node_matrix_multiply_vector", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Set/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Set/info.json new file mode 100644 index 000000000..0b79e7a05 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Set/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Set", + "baseNode":"Node_Matrix_Set", + "tooltip":"Set value in a matrix.", + "spr":"s_node_matrix_set", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_To_Array/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_To_Array/info.json new file mode 100644 index 000000000..4cdab309e --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_To_Array/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix to Array", + "baseNode":"Node_Matrix_To_Array", + "tooltip":"Convert matrix to 1d array.", + "spr":"s_node_matrix_to_array", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Transpose/info.json b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Transpose/info.json new file mode 100644 index 000000000..964769984 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Matrix/Node_Matrix_Transpose/info.json @@ -0,0 +1,9 @@ +{ + "name":"Matrix Transpose", + "baseNode":"Node_Matrix_Transpose", + "tooltip":"Return the transpose of the input matrix.", + "spr":"s_node_matrix_transpose", + "io":[ + "float", + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Node_Mesh_Create_Path/info.json b/datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Create_Path/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Mesh_Create_Path/info.json rename to datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Create_Path/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Mesh_Transform/info.json b/datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Transform/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Mesh_Transform/info.json rename to datafiles/data/Nodes/Internal/Values/Mesh/Node_Mesh_Transform/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Area/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Area/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Area/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Area/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Base_Convert/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Base_Convert/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Base_Convert/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Base_Convert/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Boolean/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Boolean/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Boolean/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Boolean/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Compare/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Compare/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Compare/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Compare/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Equation/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Equation/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Equation/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Equation/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_FFT/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_FFT/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_FFT/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_FFT/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Logic/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Logic/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Logic/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Logic/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Math/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Math/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Math/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Math/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Move_Point/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Move_Point/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Move_Point/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Move_Point/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Number/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Number/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Number/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Number/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Point_In_Area/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Point_In_Area/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Point_In_Area/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Point_In_Area/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Random/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Random/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Random/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Random/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Scatter_Points/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Scatter_Points/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Scatter_Points/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Scatter_Points/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Statistic/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Statistic/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Statistic/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Statistic/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_To_Number/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_To_Number/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_To_Number/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_To_Number/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Transform_Array/info.json b/datafiles/data/Nodes/Internal/Values/Number/Node_Transform_Array/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Transform_Array/info.json rename to datafiles/data/Nodes/Internal/Values/Number/Node_Transform_Array/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_3D/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_3D/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_3D/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_3D/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Anchor/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Anchor/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Anchor/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Anchor/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Array/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Array/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Array/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Array/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Bake/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bake/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Bake/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bake/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Blend/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Blend/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Blend/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Blend/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Bridge/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bridge/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Bridge/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Bridge/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Builder/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Builder/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Builder/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Builder/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Fill/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Fill/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Fill/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Fill/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_From_Mask/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_From_Mask/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_From_Mask/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_From_Mask/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_L_System/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_L_System/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_L_System/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_L_System/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Map/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Map/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Map_Area/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map_Area/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Map_Area/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Map_Area/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Morph/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Morph/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Morph/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Morph/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Plot/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Plot/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Plot/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Plot/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Repeat/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Repeat/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Repeat/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Repeat/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Reverse/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Reverse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Reverse/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Reverse/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_SDF/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_SDF/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_SDF/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_SDF/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Sample/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Sample/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Sample/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Sample/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Scatter/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Scatter/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Scatter/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Scatter/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Separate_Folder/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Separate_Folder/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Separate_Folder/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Separate_Folder/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Shape/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shape/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Shape/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shape/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Shift/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shift/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Shift/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Shift/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Smooth/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Smooth/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Smooth/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Smooth/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Transform/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Transform/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Transform/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Transform/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Trim/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Trim/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Trim/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Trim/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Path_Wave/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Path_Wave/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Path_Wave/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Path_Wave/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Segment_Filter/info.json b/datafiles/data/Nodes/Internal/Values/Path/Node_Segment_Filter/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Segment_Filter/info.json rename to datafiles/data/Nodes/Internal/Values/Path/Node_Segment_Filter/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Get_Char/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Get_Char/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Get_Char/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Get_Char/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Join/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Join/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Join/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Join/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Length/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Length/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Length/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Length/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Merge/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Merge/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Merge/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Merge/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Regex_Match/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Regex_Match/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Regex_Replace/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Regex_Replace/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Regex_Search/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Regex_Search/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Split/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Split/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Split/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Split/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_String_Trim/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Trim/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_String_Trim/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_String_Trim/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_To_Text/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_To_Text/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_To_Text/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_To_Text/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Unicode/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_Unicode/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Unicode/info.json rename to datafiles/data/Nodes/Internal/Values/String/Node_Unicode/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Struct/info.json b/datafiles/data/Nodes/Internal/Values/Struct/Node_Struct/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Struct/info.json rename to datafiles/data/Nodes/Internal/Values/Struct/Node_Struct/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Struct_Get/info.json b/datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Get/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Struct_Get/info.json rename to datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Get/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Struct_JSON_Parse/info.json b/datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_JSON_Parse/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Struct_JSON_Parse/info.json rename to datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_JSON_Parse/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Struct_Set/info.json b/datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Set/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Struct_Set/info.json rename to datafiles/data/Nodes/Internal/Values/Struct/Node_Struct_Set/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Atlas_Draw/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Draw/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Atlas_Draw/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Draw/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Atlas_Get/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Get/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Atlas_Get/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Get/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Atlas_Set/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Set/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Atlas_Set/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Set/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Atlas_Struct/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Struct/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Atlas_Struct/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Atlas_Struct/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_IsoSurf/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_IsoSurf/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_IsoSurf/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_IsoSurf/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Surface_From_Buffer/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_From_Buffer/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Surface_From_Buffer/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_From_Buffer/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Surface_To_Buffer/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_To_Buffer/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Surface_To_Buffer/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_To_Buffer/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Surface_data/info.json b/datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_data/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Surface_data/info.json rename to datafiles/data/Nodes/Internal/Values/Surface/Node_Surface_data/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Trigger/info.json b/datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Trigger/info.json rename to datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Trigger_Bool/info.json b/datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger_Bool/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Trigger_Bool/info.json rename to datafiles/data/Nodes/Internal/Values/Trigger/Node_Trigger_Bool/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector2/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector2/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector2/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector2/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector3/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector3/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector3/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector3/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector4/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector4/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector4/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector4/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cart_To_Polar/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cart_To_Polar/info.json new file mode 100644 index 000000000..4ee0b4c14 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cart_To_Polar/info.json @@ -0,0 +1,13 @@ +{ + "name":"Cart. to Polar", + "tooltip":"Convert cartesian coordinates to polar coordinates", + "alias":[ + "cartesian to polar", + ], + "spr":"s_node_cart_to_polar", + "pxc_version":118068, + "baseNode":"Node_Vector_Cart_To_Polar", + "io":[ + "float" + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_2D/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_2D/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_2D/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_2D/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_3D/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_3D/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Cross_3D/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Cross_3D/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Dot/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Dot/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Dot/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Dot/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Magnitude/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Magnitude/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Magnitude/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Magnitude/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Normalize/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Normalize/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Normalize/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Normalize/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Polar_To_Cart/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Polar_To_Cart/info.json new file mode 100644 index 000000000..eabe27364 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Polar_To_Cart/info.json @@ -0,0 +1,13 @@ +{ + "name":"Polar to Cart.", + "tooltip":"Convert polar coordinates to cartesian coordinates.", + "alias":[ + "polar to cartesian", + ], + "spr":"s_node_polar_to_cart", + "pxc_version":118068, + "baseNode":"Node_Vector_Polar_To_Cart", + "io":[ + "float" + ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Split/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Split/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Split/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Split/info.json diff --git a/datafiles/data/Nodes/Internal/Values/Node_Vector_Swizzle/info.json b/datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Swizzle/info.json similarity index 100% rename from datafiles/data/Nodes/Internal/Values/Node_Vector_Swizzle/info.json rename to datafiles/data/Nodes/Internal/Values/Vector/Node_Vector_Swizzle/info.json diff --git a/datafiles/data/Nodes/display_data.json b/datafiles/data/Nodes/display_data.json index 46b0fe638..55ca606c2 100644 --- a/datafiles/data/Nodes/display_data.json +++ b/datafiles/data/Nodes/display_data.json @@ -679,9 +679,24 @@ "Node_Vector_Dot", "Node_Vector_Cross_2D", "Node_Vector_Cross_3D", + "Node_Vector_Polar_To_Cart", + "Node_Vector_Cart_To_Polar", { "label": "/Points" }, "Node_Move_Point", "Node_Point_In_Area", + + {"label": "Matrix"}, + {"label": "/Creators"}, + "Node_Matrix", + {"label": "/Operators"}, + "Node_Matrix_Set", + "Node_Matrix_Math", + "Node_Matrix_Multiply_Vector", + "Node_Matrix_Det", + "Node_Matrix_Invert", + "Node_Matrix_Transpose", + {"label": "/Convertors"}, + "Node_Matrix_To_Array", { "label": "Texts" }, { "label": "/Creators" }, diff --git a/scripts/__matrix/__matrix.gml b/scripts/__matrix/__matrix.gml new file mode 100644 index 000000000..6deba0938 --- /dev/null +++ b/scripts/__matrix/__matrix.gml @@ -0,0 +1,166 @@ +function Matrix(_size = 1) constructor { + size = [ 1, 1 ]; + isize = 1; + raw = []; + + static setSize = function(_s) { + if(!is_array(_s)) _s = [ _s, _s ]; + + size = _s; + isize = _s[0] * _s[1]; + array_resize(raw, isize); + + return self; + } + + static setArray = function(_arr) { + var _l = min(array_length(_arr), isize); + + for( var i = 0; i < _l; i++ ) + raw[i] = _arr[i]; + + return self; + } + + static setMatrix = function(_mat) { + setSize(_mat.size); + setArray(_mat.raw); + + return self; + } + + setSize(_size); + + static lerpTo = function(_mat, _t) { + if(!is(_mat, Matrix)) return self; + if(_mat.size[0] != size[0] || _mat.size[1] != size[1]) return self; + + var _m = new Matrix(); + _m.size = [ size[0], size[1] ]; + _m.isize = isize; + _m.raw = array_create(isize); + + for( var i = 0; i < isize; i++ ) + _m.raw[i] = lerp(raw[i], _mat.raw[i], _t); + + return _m; + } + + static serialize = function() { + return { size, isize, raw }; + } + + static deserialize = function(dat) { + if(is_array(dat)) { + var _len = array_length(dat); + var _siz = floor(sqrt(_len)); + size = [ _siz, _siz ]; + isize = _siz * _siz; + raw = dat; + return self; + } + + size = dat[$ "size"] ?? size; + isize = dat[$ "isize"] ?? isize; + raw = dat[$ "raw"] ?? raw; + + return self; + } + + static clone = function() { + var _m = new Matrix(size); + _m.setArray(raw); + return _m; + } + + ////- Unary + + static isSquare = function() { return size[0] == size[1]; } + + static det = function() { + if(!isSquare()) return -1; + return __matrix_determinant(raw, size[0]); + } + + static invert = function() { + if(!isSquare()) return self; + var _inv = __matrix_inverse(raw, size[0]); + var _mat = new Matrix(size).setArray(_inv); + return _mat; + } + + static transpose = function() { + var _trn = __matrix_transpose(raw, size); + var _mat = new Matrix([size[1], size[0]]).setArray(_trn); + return _mat; + } + + ////- Operations + + static add = function(_mat2) { + var _mat = clone(); + for( var i = 0; i < isize; i++ ) + _mat.raw[i] += array_safe_get(_mat2.raw, i, 0); + return _mat; + } + + static subtract = function(_mat2) { + var _mat = clone(); + for( var i = 0; i < isize; i++ ) + _mat.raw[i] -= array_safe_get(_mat2.raw, i, 0); + return _mat; + } + + static multiplyScalar = function(_sca) { + var _mat = clone(); + for( var i = 0; i < isize; i++ ) + _mat.raw[i] *= _sca; + return _mat; + } + + static divideScalar = function(_sca) { + var _mat = clone(); + for( var i = 0; i < isize; i++ ) + _mat.raw[i] /= _sca; + return _mat; + } + + static multiplyVector = function(_vec) { + var result = []; + var cols = size[0]; + var rows = size[1]; + + for (var i = 0; i < rows; i++) { + var sum = 0; + for (var j = 0; j < cols; j++) + sum += raw[i * cols + j] * array_safe_get(_vec, j, 1); + result[i] = sum; + } + + return result; + } + + static multiplyMatrix = function(_mat2) { + var result = []; + var rowsA = size[0]; + var colsA = size[1]; + var rowsB = _mat2.size[0]; + var colsB = _mat2.size[1]; + + if (colsA != rowsB) return self; // Incompatible matrices + + for (var i = 0; i < rowsA; i++) { + for (var j = 0; j < colsB; j++) { + var sum = 0; + for (var k = 0; k < colsA; k++) { + sum += raw[i * colsA + k] * _mat2.raw[k * colsB + j]; + } + result[i * colsB + j] = sum; + } + } + + var _mat = new Matrix([rowsA, colsB]).setArray(result); + return _mat; + } + +} \ No newline at end of file diff --git a/scripts/__matrix/__matrix.yy b/scripts/__matrix/__matrix.yy new file mode 100644 index 000000000..c038c4246 --- /dev/null +++ b/scripts/__matrix/__matrix.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"__matrix", + "isCompatibility":false, + "isDnD":false, + "name":"__matrix", + "parent":{ + "name":"matrix", + "path":"folders/functions/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 611ac7d22..c5d5dc1bc 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -43,8 +43,8 @@ LATEST_VERSION = 1_18_00_0; VERSION = 1_18_06_2; SAVE_VERSION = 1_18_05_0; - VERSION_STRING = MAC? "1.18.003m" : "1.18.7.007"; - BUILD_NUMBER = 118068; + VERSION_STRING = MAC? "1.18.003m" : "1.18.7.009"; + BUILD_NUMBER = 118069; PREF_VERSION = 1_17_1; var _vsp = string_split(VERSION_STRING, "."); diff --git a/scripts/matrixGrid/matrixGrid.gml b/scripts/matrixGrid/matrixGrid.gml index a4bab8336..12d7f58cf 100644 --- a/scripts/matrixGrid/matrixGrid.gml +++ b/scripts/matrixGrid/matrixGrid.gml @@ -1,9 +1,11 @@ -function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() constructor { +function matrixGrid(_type, _onModify, _unit = noone) : widget() constructor { type = _type; - size = 1; + size = [1, 1]; + vsize = 0; onModify = _onModify; unit = _unit; + tb = []; linked = false; b_link = button(function() /*=>*/ { linked = !linked; }); b_link.icon = THEME.value_link; @@ -12,7 +14,7 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct var modi = false; if(linked) { - for( var i = 0; i < size * size; i++ ) + for( var i = 0; i < vsize; i++ ) modi |= onModify(toNumber(val), i); return modi; } @@ -23,23 +25,26 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct extras = -1; static setSize = function(_size) { - if(size == _size) return self; - size = _size; + if(!is_array(_size)) _size = [ _size, _size ]; + if(size[0] == _size[0] && size[1] == _size[1]) return self; - for(var i = 0; i < size * size; i++) { + size = _size; + vsize = size[0] * size[1]; + + for(var i = 0; i < vsize; i++) { tb[i] = new textBox(type, onModifyIndex); tb[i].onModifyParam = i; tb[i].slidable = true; } return self; - } setSize(_size); + } setSize(1); static setInteract = function(interactable = false) { self.interactable = interactable; b_link.interactable = interactable; - for( var i = 0; i < size * size; i++ ) + for( var i = 0; i < vsize; i++ ) tb[i].interactable = interactable; if(extras) @@ -49,7 +54,7 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct static register = function(parent = noone) { b_link.register(parent); - for( var i = 0; i < size * size; i++ ) + for( var i = 0; i < vsize; i++ ) tb[i].register(parent); if(extras) @@ -60,28 +65,30 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct } static isHovering = function() { - for( var i = 0, n = size * size; i < n; i++ ) if(tb[i].isHovering()) return true; + for( var i = 0, n = vsize; i < n; i++ ) if(tb[i].isHovering()) return true; return false; } static drawParam = function(params) { setParam(params); - for(var i = 0; i < size * size; i++) + for(var i = 0; i < vsize; i++) tb[i].setParam(params); return draw(params.x, params.y, params.w, params.h, params.data, params.m); } static draw = function(_x, _y, _w, _h, _data, _m) { + if(is(_data, Matrix)) setSize(_data.size); + x = _x; y = _y; w = _w; - h = _h * size; + h = _h * size[1]; - var ww = _w / size; + var ww = _w / size[0]; var _bs = min(_h, ui(32)); - if((_w - _bs) / size > ui(64)) { + if((_w - _bs) / size[0] > ui(64)) { if(extras && instanceof(extras) == "buttonClass") { extras.setFocusHover(active, hover); extras.draw(_x + _w - _bs, _y + _h / 2 - _bs / 2, _bs, _bs, _m, THEME.button_hide_fill); @@ -101,7 +108,7 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct b_link.icon_blend = linked? COLORS._main_accent : COLORS._main_icon; b_link.tooltip = linked? __txt("Unlink values") : __txt("Link values"); - var th = _h * size - ui(8); + var th = _h * size[1] - ui(8); var bx = _x; var by = _y + th / 2 - _bs / 2; b_link.draw(bx, by, _bs, _bs, _m, THEME.button_hide_fill); @@ -111,18 +118,20 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct } - draw_sprite_stretched_ext(THEME.textbox, 3, _x, _y, ww * size, _h * size, boxColor, 1); - draw_sprite_stretched_ext(THEME.textbox, 0, _x, _y, ww * size, _h * size, boxColor, 0.5 + 0.5 * interactable); + draw_sprite_stretched_ext(THEME.textbox, 3, _x, _y, ww * size[0], _h * size[1], boxColor, 1); + draw_sprite_stretched_ext(THEME.textbox, 0, _x, _y, ww * size[0], _h * size[1], boxColor, 0.5 + 0.5 * interactable); - for(var i = 0; i < size; i++) - for(var j = 0; j < size; j++) { - var ind = i * size + j; + var _raw = is(_data, Matrix)? _data.raw : _data; + + for(var i = 0; i < size[1]; i++) + for(var j = 0; j < size[0]; j++) { + var ind = i * size[0] + j; tb[ind].setFocusHover(active, hover); tb[ind].hide = true; var bx = _x + ww * j; var by = _y + _h * i; - var _dat = array_safe_get_fast(_data, ind); + var _dat = array_safe_get_fast(_raw, ind); tb[ind].draw(bx, by, ww, _h, _dat, _m); } @@ -133,7 +142,7 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct } static clone = function() { - var cln = new matrixGrid(type, size, onModify, unit); + var cln = new matrixGrid(type, onModify, unit); return cln; } diff --git a/scripts/matrix_functions/matrix_functions.gml b/scripts/matrix_functions/matrix_functions.gml new file mode 100644 index 000000000..dbedde3f3 --- /dev/null +++ b/scripts/matrix_functions/matrix_functions.gml @@ -0,0 +1,61 @@ +function __matrix_determinant(matrix, size) { + if (size == 1) return matrix[0]; + if (size == 2) return matrix[0] * matrix[3] - matrix[1] * matrix[2]; + + var det = 0; + for (var i = 0; i < size; i++) { + var subMatrix = []; + for (var j = 1; j < size; j++) + for (var k = 0; k < size; k++) { + if (k == i) continue; + array_push(subMatrix, matrix[j * size + k]); + } + + det += matrix[i] * __matrix_determinant(subMatrix, size - 1) * (i % 2 == 0 ? 1 : -1); + } + + return det; +} + +function __matrix_inverse(matrix, size) { + var det = __matrix_determinant(matrix, size); + if (det == 0) return matrix; // Matrix is not invertible + + var inverse = array_create(size * size, 0); + if (size == 1) { + inverse[0] = 1 / matrix[0]; + + } else if (size == 2) { + inverse[0] = matrix[3] / det; + inverse[1] = -matrix[1] / det; + inverse[2] = -matrix[2] / det; + inverse[3] = matrix[0] / det; + + } else { + for (var i = 0; i < size; i++) + for (var j = 0; j < size; j++) { + var subMatrix = []; + for (var k = 0; k < size; k++) { + if (k == i) continue; + + for (var l = 0; l < size; l++) { + if (l == j) continue; + array_push(subMatrix, matrix[k * size + l]); + } + } + + inverse[j * size + i] = __matrix_determinant(subMatrix, size - 1) * ((i + j) % 2 == 0 ? 1 : -1) / det; + } + } + + return inverse; +} + +function __matrix_transpose(matrix, size2) { + var transpose = array_create(size2[0] * size2[1], 0); + for (var i = 0; i < size2[1]; i++) + for (var j = 0; j < size2[0]; j++) + transpose[j * size2[1] + i] = matrix[i * size2[0] + j]; + + return transpose; +} \ No newline at end of file diff --git a/scripts/matrix_functions/matrix_functions.yy b/scripts/matrix_functions/matrix_functions.yy new file mode 100644 index 000000000..4f525951f --- /dev/null +++ b/scripts/matrix_functions/matrix_functions.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"matrix_functions", + "isCompatibility":false, + "isDnD":false, + "name":"matrix_functions", + "parent":{ + "name":"matrix", + "path":"folders/functions/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/nodeValue_drawer/nodeValue_drawer.gml b/scripts/nodeValue_drawer/nodeValue_drawer.gml index 79bbae2ce..af0ed5c24 100644 --- a/scripts/nodeValue_drawer/nodeValue_drawer.gml +++ b/scripts/nodeValue_drawer/nodeValue_drawer.gml @@ -35,7 +35,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc break; case "matrixGrid" : - breakLine |= wid.size > 5; + breakLine |= wid.size[0] > 5; break; } #endregion diff --git a/scripts/node_convolution/node_convolution.gml b/scripts/node_convolution/node_convolution.gml index 04f72bec1..247a13e60 100644 --- a/scripts/node_convolution/node_convolution.gml +++ b/scripts/node_convolution/node_convolution.gml @@ -3,8 +3,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou newInput(0, nodeValue_Surface("Surface in", self)); - newInput(1, nodeValue_Float("Kernel", self, array_create(9))) - .setDisplay(VALUE_DISPLAY.matrix, { size: 3 }); + newInput(1, nodeValue_Matrix("Kernel", self, new Matrix(3))); newInput(2, nodeValue_Enum_Scroll("Oversample mode", self, 0, [ "Empty", "Clamp", "Repeat" ])) .setTooltip("How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture."); @@ -28,7 +27,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone)); - input_display_list = [ 5, 6, + input_display_list = [ 5, 6, ["Surfaces", true], 0, 3, 4, 7, 8, ["Kernel", false], 10, 1, 9, ]; @@ -36,22 +35,20 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou attribute_surface_depth(); attribute_oversample(); - static step = function() { - __step_mask_modifier(); - } + static step = function() { __step_mask_modifier(); } static processData = function(_outSurf, _data, _output_index, _array_index) { var _ker = _data[1]; var _nrm = _data[9]; var _siz = max(3, _data[10]); + _ker.setSize(_siz); - inputs[1].editWidget.setSize(_siz); - _ker = array_verify(_ker, _siz * _siz); + var _dat = _ker.raw; surface_set_shader(_outSurf, sh_convolution, true, BLEND.over); shader_set_i("sampleMode", getAttribute("oversample")); shader_set_dim("dimension", _outSurf); - shader_set_f("kernel", _ker); + shader_set_f("kernel", _dat); shader_set_i("size", _siz); shader_set_i("normalized", _nrm); diff --git a/scripts/node_keyframe/node_keyframe.gml b/scripts/node_keyframe/node_keyframe.gml index babac45ab..2835cc9b6 100644 --- a/scripts/node_keyframe/node_keyframe.gml +++ b/scripts/node_keyframe/node_keyframe.gml @@ -682,6 +682,10 @@ function valueAnimator(_val, _prop, _sep_axis = false) constructor { if(prop.type == VALUE_TYPE.struct) { _val = json_try_parse(value); + } else if(prop.display_type == VALUE_DISPLAY.matrix) { + var mat = new Matrix(); + _val = mat.deserialize(value); + } else if(prop.type == VALUE_TYPE.path && prop.display_type == VALUE_DISPLAY.path_array) { for(var j = 0; j < array_length(value); j++) _val[j] = value[j]; diff --git a/scripts/node_matrix/node_matrix.gml b/scripts/node_matrix/node_matrix.gml new file mode 100644 index 000000000..8e10f7584 --- /dev/null +++ b/scripts/node_matrix/node_matrix.gml @@ -0,0 +1,46 @@ +function Node_Matrix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_IVec2("Size", self, [ 3, 3 ])); + + newInput(1, nodeValue_Matrix("Data", self, new Matrix(3))); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Matrix", self, CONNECT_TYPE.output, VALUE_TYPE.float, new Matrix(3))) + .setDisplay(VALUE_DISPLAY.matrix); + + input_display_list = [ 0, 1 ]; + __prev_size = [ 0, 0 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _siz = _data[0]; + var _dat = _data[1]; + var _outp = is(_outData, Matrix)? _outData : new Matrix(); + + if(__prev_size[0] != _siz[0] || __prev_size[1] != _siz[1]) { + var _v = inputs[1].animator.values; + for( var i = 0, n = array_length(_v); i < n; i++ ) + _v[i].value.setSize(_siz); + + __prev_size[0] = _siz[0]; + __prev_size[1] = _siz[1]; + } + + _outp.setSize(_siz); + _outp.setArray(is(_dat, Matrix)? _dat.raw : _dat); + + return _outp; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var siz = getSingleValue(0); + var str = $"[{siz[0]}x{siz[1]}]"; + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_matrix/node_matrix.yy b/scripts/node_matrix/node_matrix.yy new file mode 100644 index 000000000..fe750d6ba --- /dev/null +++ b/scripts/node_matrix/node_matrix.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_matrix_det/node_matrix_det.gml b/scripts/node_matrix_det/node_matrix_det.gml new file mode 100644 index 000000000..5b7d8513e --- /dev/null +++ b/scripts/node_matrix_det/node_matrix_det.gml @@ -0,0 +1,27 @@ +function Node_Matrix_Det(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix Det"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Determinant", self, CONNECT_TYPE.output, VALUE_TYPE.float, 0)); + + square_label = new Inspector_Label(""); + input_display_list = [ 0, square_label ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + square_label.text = _mat.isSquare()? "" : "Cannot find determinant for non-square matrix."; + + return _mat.det(); + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_det, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_det/node_matrix_det.yy b/scripts/node_matrix_det/node_matrix_det.yy new file mode 100644 index 000000000..138392435 --- /dev/null +++ b/scripts/node_matrix_det/node_matrix_det.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_det", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_det", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_matrix_invert/node_matrix_invert.gml b/scripts/node_matrix_invert/node_matrix_invert.gml new file mode 100644 index 000000000..8198f2176 --- /dev/null +++ b/scripts/node_matrix_invert/node_matrix_invert.gml @@ -0,0 +1,28 @@ +function Node_Matrix_Invert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix Invert"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Matrix", self, CONNECT_TYPE.output, VALUE_TYPE.float, new Matrix(3))) + .setDisplay(VALUE_DISPLAY.matrix); + + square_label = new Inspector_Label(""); + input_display_list = [ 0, square_label ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + square_label.text = _mat.isSquare()? "" : "Non-square matrix is non-invertible"; + + return _mat.invert(); + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_invert, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_invert/node_matrix_invert.yy b/scripts/node_matrix_invert/node_matrix_invert.yy new file mode 100644 index 000000000..e4ea3a46f --- /dev/null +++ b/scripts/node_matrix_invert/node_matrix_invert.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_invert", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_invert", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_matrix_math/node_matrix_math.gml b/scripts/node_matrix_math/node_matrix_math.gml new file mode 100644 index 000000000..5ca9111e4 --- /dev/null +++ b/scripts/node_matrix_math/node_matrix_math.gml @@ -0,0 +1,84 @@ +function Node_Matrix_Math(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix Math"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix 1", self, new Matrix(3))) + .setVisible(true, true); + + newInput(1, nodeValue_Matrix("Matrix 2", self, new Matrix(3))) + .setVisible(true, true); + + operation_scroll = [ + new scrollItem("Add", s_node_math_operators, 0), + new scrollItem("Subtract", s_node_math_operators, 1), + new scrollItem("Multiply Scalar", s_node_math_operators, 2), + new scrollItem("Divide Scalar", s_node_math_operators, 3), + -1, + new scrollItem("Multiply Matrix", s_node_math_operators, 2), + ]; + + newInput(2, nodeValue_Enum_Scroll("Operation", self, 0, operation_scroll)); + + newInput(3, nodeValue_Float("Scala", self, 0)); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Matrix", self, CONNECT_TYPE.output, VALUE_TYPE.float, new Matrix(3))) + .setDisplay(VALUE_DISPLAY.matrix); + + input_display_list = [ 2, 0, 1, 3 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat1 = _data[0]; + var _mat2 = _data[1]; + var _opr = _data[2]; + var _sca = _data[3]; + var _res; + + inputs[1].setVisible(false); + inputs[3].setVisible(false); + + switch(operation_scroll[_opr].name) { + case "Add" : + inputs[1].setVisible(true); + return _mat1.add(_mat2); + + case "Subtract" : + inputs[1].setVisible(true); + return _mat1.subtract(_mat2); + + case "Multiply Scalar" : + inputs[3].setVisible(true); + return _mat1.multiplyScalar(_sca); + + case "Divide Scalar" : + inputs[3].setVisible(true); + return _mat1.divideScalar(_sca); + + case "Multiply Matrix" : + inputs[1].setVisible(true); + return _mat1.multiplyMatrix(_mat2); + } + + return _mat1; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + var opr = getSingleValue(2); + var str = ""; + + switch(operation_scroll[opr].name) { + case "Add" : str = "+"; break; + case "Subtract" : str = "-"; break; + case "Multiply Scalar" : str = "*"; break; + case "Divide Scalar" : str = "/"; break; + + case "Multiply Matrix" : str = "*"; break; + } + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_math/node_matrix_math.yy b/scripts/node_matrix_math/node_matrix_math.yy new file mode 100644 index 000000000..c45bf6fe8 --- /dev/null +++ b/scripts/node_matrix_math/node_matrix_math.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_math", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_math", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.gml b/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.gml new file mode 100644 index 000000000..a924ef2bd --- /dev/null +++ b/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.gml @@ -0,0 +1,30 @@ +function Node_Matrix_Multiply_Vector(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Multiply Vector"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + newInput(1, __NodeValue_Array("Vector", self, [])) + .setVisible(true, true); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Vector", self, CONNECT_TYPE.output, VALUE_TYPE.float, [])) + .setArrayDepth(1); + + input_display_list = [ 0, 1 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + var _vec = _data[1]; + + return _mat.multiplyVector(_vec); + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_multiply_vector, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.yy b/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.yy new file mode 100644 index 000000000..1d92c97b7 --- /dev/null +++ b/scripts/node_matrix_multiply_vector/node_matrix_multiply_vector.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_multiply_vector", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_multiply_vector", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_matrix_set/node_matrix_set.gml b/scripts/node_matrix_set/node_matrix_set.gml new file mode 100644 index 000000000..33d0ef91e --- /dev/null +++ b/scripts/node_matrix_set/node_matrix_set.gml @@ -0,0 +1,37 @@ +function Node_Matrix_Set(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix Set"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + newInput(1, nodeValue_IVec2("Position", self, [ 0, 0 ])) + + newInput(2, nodeValue_Float("Value", self, 0)) ; + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Matrix", self, CONNECT_TYPE.output, VALUE_TYPE.float, new Matrix(3))) + .setDisplay(VALUE_DISPLAY.matrix); + + input_display_list = [ 0, 1, 2 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + var _pos = _data[1]; + var _val = _data[2]; + + var _m = _mat.clone(); + var _i = _pos[1] * _mat.size[0] + _pos[0]; + if(_pos[0] >= 0 && _pos[0] < _mat.size[0] && _pos[1] >= 0 && _pos[1] < _mat.size[1]) + _m.raw[_i] = _val; + + return _m; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_set, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_set/node_matrix_set.yy b/scripts/node_matrix_set/node_matrix_set.yy new file mode 100644 index 000000000..933086534 --- /dev/null +++ b/scripts/node_matrix_set/node_matrix_set.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_set", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_set", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_matrix_to_array/node_matrix_to_array.gml b/scripts/node_matrix_to_array/node_matrix_to_array.gml new file mode 100644 index 000000000..f5bc58c6c --- /dev/null +++ b/scripts/node_matrix_to_array/node_matrix_to_array.gml @@ -0,0 +1,26 @@ +function Node_Matrix_To_Array(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix to Array"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Array", self, CONNECT_TYPE.output, VALUE_TYPE.float, [])) + .setArrayDepth(1); + + input_display_list = [ 0 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + var _res = array_clone(_mat.raw); + return _res; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_to_array, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_to_array/node_matrix_to_array.yy b/scripts/node_matrix_to_array/node_matrix_to_array.yy new file mode 100644 index 000000000..46f17ce40 --- /dev/null +++ b/scripts/node_matrix_to_array/node_matrix_to_array.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_to_array", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_to_array", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_matrix_tranpose/node_matrix_tranpose.gml b/scripts/node_matrix_tranpose/node_matrix_tranpose.gml new file mode 100644 index 000000000..c856ec827 --- /dev/null +++ b/scripts/node_matrix_tranpose/node_matrix_tranpose.gml @@ -0,0 +1,25 @@ +function Node_Matrix_Transpose(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Matrix Transpose"; + color = COLORS.node_blend_number; + setDimension(96, 32 + 24); + + newInput(0, nodeValue_Matrix("Matrix", self, new Matrix(3))) + .setVisible(true, true); + + //////////////////////////////////////////////////////////////////////////////////////////////////// + + newOutput(0, nodeValue("Matrix", self, CONNECT_TYPE.output, VALUE_TYPE.float, new Matrix(3))) + .setDisplay(VALUE_DISPLAY.matrix); + + input_display_list = [ 0 ]; + + static processData = function(_outData, _data, _output_index, _array_index = 0) { + var _mat = _data[0]; + return _mat.transpose(); + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_bbox_uniform(s_node_matrix_transpose, 0, bbox); + } +} \ No newline at end of file diff --git a/scripts/node_matrix_tranpose/node_matrix_tranpose.yy b/scripts/node_matrix_tranpose/node_matrix_tranpose.yy new file mode 100644 index 000000000..629d3420d --- /dev/null +++ b/scripts/node_matrix_tranpose/node_matrix_tranpose.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_matrix_tranpose", + "isCompatibility":false, + "isDnD":false, + "name":"node_matrix_tranpose", + "parent":{ + "name":"matrix", + "path":"folders/nodes/data/value/matrix.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index b3936d612..2669d4a5d 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -26,7 +26,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru x = node.x; rx = node.x; y = node.y; ry = node.y; - index = array_length(node.inputs); + index = array_length(_connect == CONNECT_TYPE.input? node.inputs : node.outputs); type = _type; forward = true; _initName = _name; @@ -766,7 +766,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru break; case VALUE_DISPLAY.matrix : - editWidget = new matrixGrid(_txt, display_data.size, function(val, index) /*=>*/ {return setValueInspector(val, index)}, unit ); + editWidget = new matrixGrid(_txt, function(val, index) /*=>*/ {return setValueInspector(val, index)}, unit ); + if(struct_has(display_data, "size")) editWidget.setSize(display_data.size); for( var i = 0, n = array_length(animators); i < n; i++ ) animators[i].suffix = $" {i}"; @@ -775,7 +776,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru break; case VALUE_DISPLAY.boolean_grid : - editWidget = new matrixGrid(_txt, display_data.size, function(val, index) /*=>*/ {return setValueInspector(val, index)}, unit ); + editWidget = new matrixGrid(_txt, function(val, index) /*=>*/ {return setValueInspector(val, index)}, unit ); + if(struct_has(display_data, "size")) editWidget.setSize(display_data.size); for( var i = 0, n = array_length(animators); i < n; i++ ) animators[i].suffix = $" {i}"; diff --git a/scripts/node_value_matrix/node_value_matrix.gml b/scripts/node_value_matrix/node_value_matrix.gml new file mode 100644 index 000000000..081a921c0 --- /dev/null +++ b/scripts/node_value_matrix/node_value_matrix.gml @@ -0,0 +1,58 @@ +function nodeValue_Matrix(_name, _node, _value, _data = {}) { return new __NodeValue_Matrix(_name, _node, _value, _data); } + +function __NodeValue_Matrix(_name, _node, _value, _data = {}) : NodeValue(_name, _node, CONNECT_TYPE.input, VALUE_TYPE.float, _value, "") constructor { + setDisplay(VALUE_DISPLAY.matrix, _data); + + /////============== GET ============= + + __temp_matrix_object = new Matrix(3); + + static getValue = function(_time = CURRENT_FRAME, applyUnit = true, arrIndex = 0, useCache = false, log = false) { //// Get value + getValueRecursive(self.__curr_get_val, _time); + var val = __curr_get_val[0]; + var nod = __curr_get_val[1]; if(!is(nod, NodeValue)) return val; + + if(is(val, Matrix)) return val; + if(is_array(val)) { + var _len = array_length(val); + var _siz = floor(sqrt(_len)); + + __temp_matrix_object.setSize(_len); + __temp_matrix_object.setArray(val); + } + + return __temp_matrix_object; + } + + static setValueDirect = function(val = 0, index = noone, record = true, time = CURRENT_FRAME, _update = true) { + is_modified = true; + var _val = val; + + if(index != noone) { + _val = animator.getValue(time); + _val.raw[index] = val; + } + + animator.setValue(_val, record, time); + + var _val = animator.getValue(time); + node.inputs_data[self.index] = _val; // setInputData(self.index, _val); + node.input_value_map[$ internalName] = _val; + draw_junction_index = type; + + if(_update) { + if(!IS_PLAYING) node.triggerRender(); + node.valueUpdate(self.index); + node.clearCacheForward(); + } + + if(fullUpdate) RENDER_ALL + + if(!LOADING) PROJECT.modified = true; + + cache_value[0] = false; + onValidate(); + + return true; + } +} \ No newline at end of file diff --git a/scripts/node_value_matrix/node_value_matrix.yy b/scripts/node_value_matrix/node_value_matrix.yy new file mode 100644 index 000000000..3ccf01a35 --- /dev/null +++ b/scripts/node_value_matrix/node_value_matrix.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_value_matrix", + "isCompatibility":false, + "isDnD":false, + "name":"node_value_matrix", + "parent":{ + "name":"numeric", + "path":"folders/nodes/values/types/numeric.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.gml b/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.gml new file mode 100644 index 000000000..43b77feff --- /dev/null +++ b/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.gml @@ -0,0 +1,30 @@ +function Node_Vector_Cart_To_Polar(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Cart. to Polar"; + color = COLORS.node_blend_number; + setDimension(96, 48); + + newInput(0, nodeValue_Vec2("Cartesian Coord", self, [ 0, 0 ])) + .setVisible(true, true); + + newInput(1, nodeValue_Enum_Button("Angle Unit", self, 0, [ "Degrees", "Radians" ])) + + newOutput(0, nodeValue_Output("Polar Coord", self, VALUE_TYPE.float, [ 0, 0 ] )) + .setDisplay(VALUE_DISPLAY.vector); + + static processData = function(_output, _data, _output_index, _array_index = 0) { + var _car = _data[0]; + var _rad = _data[1]; + var _len = point_distance(0, 0, _car[0], _car[1]); + var _ang = arctan2(_car[1], _car[0]); + if(!_rad) _ang = radtodeg(_ang); + return [ _len, _ang ]; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = "Cart2Pol"; + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy b/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy new file mode 100644 index 000000000..f41e27e18 --- /dev/null +++ b/scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_vec2_cart_to_polar", + "isCompatibility":false, + "isDnD":false, + "name":"node_vec2_cart_to_polar", + "parent":{ + "name":"vector", + "path":"folders/nodes/data/value/vector.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.gml b/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.gml new file mode 100644 index 000000000..4d72e563a --- /dev/null +++ b/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.gml @@ -0,0 +1,29 @@ +function Node_Vector_Polar_To_Cart(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Polar to Cart."; + color = COLORS.node_blend_number; + setDimension(96, 48); + + newInput(0, nodeValue_Vec2("Polar Coord", self, [ 0, 0 ])) + .setVisible(true, true); + + newInput(1, nodeValue_Enum_Button("Angle Unit", self, 0, [ "Degrees", "Radians" ])) + + newOutput(0, nodeValue_Output("Cartesian Coord", self, VALUE_TYPE.float, [ 0, 0 ] )) + .setDisplay(VALUE_DISPLAY.vector); + + static processData = function(_output, _data, _output_index, _array_index = 0) { + var _pol = _data[0]; + var _rad = _data[1]; + var _len = _pol[0]; + var _ang = _rad? radtodeg(_pol[1]) : _pol[1]; + return [ lengthdir_x(_len, _ang), lengthdir_y(_len, _ang) ]; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = "Pol2Cart"; + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy b/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy new file mode 100644 index 000000000..63cf0a9f3 --- /dev/null +++ b/scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_vec2_polar_to_cart", + "isCompatibility":false, + "isDnD":false, + "name":"node_vec2_polar_to_cart", + "parent":{ + "name":"vector", + "path":"folders/nodes/data/value/vector.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_vector_normalize/node_vector_normalize.gml b/scripts/node_vector_normalize/node_vector_normalize.gml index 511f1dd85..7cf5baf59 100644 --- a/scripts/node_vector_normalize/node_vector_normalize.gml +++ b/scripts/node_vector_normalize/node_vector_normalize.gml @@ -20,19 +20,19 @@ function Node_Vector_Normalize(_x, _y, _group = noone) : Node_Processor(_x, _y, case 2 : var _len = sqrt(sqr(_vec[0]) + sqr(_vec[1])); - return [ _vec[0] / _len, _vec[1] / _len ]; + return _len == 0? [0, 0] : [ _vec[0] / _len, _vec[1] / _len ]; case 3 : var _len = sqrt(sqr(_vec[0]) + sqr(_vec[1]) + sqr(_vec[2])); - return [ _vec[0] / _len, _vec[1] / _len, _vec[2] / _len ]; + return _len == 0? [0, 0, 0] : [ _vec[0] / _len, _vec[1] / _len, _vec[2] / _len ]; case 4 : var _len = sqrt(sqr(_vec[0]) + sqr(_vec[1]) + sqr(_vec[2]) + sqr(_vec[3])); - return [ _vec[0] / _len, _vec[1] / _len, _vec[2] / _len, _vec[3] / _len ]; + return _len == 0? [0, 0, 0, 0] : [ _vec[0] / _len, _vec[1] / _len, _vec[2] / _len, _vec[3] / _len ]; default : __len = sqrt(array_reduce(_vec, function(_p, _c) /*=>*/ { return _p + _c * _c; }, 0)); - return array_map(_vec, function(v) /*=>*/ {return v / __len}); + return __len == 0? array_create(array_length(_vec), 0) : array_map(_vec, function(v) /*=>*/ {return v / __len}); } return 1; diff --git a/sprites/s_node_cart_to_polar/a47540ec-b67d-4b25-9566-425f17723ef0.png b/sprites/s_node_cart_to_polar/a47540ec-b67d-4b25-9566-425f17723ef0.png new file mode 100644 index 000000000..9a3e5bf3b Binary files /dev/null and b/sprites/s_node_cart_to_polar/a47540ec-b67d-4b25-9566-425f17723ef0.png differ diff --git a/sprites/s_node_cart_to_polar/layers/a47540ec-b67d-4b25-9566-425f17723ef0/5b26eae8-5b86-4fbd-9b0b-3537033c9795.png b/sprites/s_node_cart_to_polar/layers/a47540ec-b67d-4b25-9566-425f17723ef0/5b26eae8-5b86-4fbd-9b0b-3537033c9795.png new file mode 100644 index 000000000..9a3e5bf3b Binary files /dev/null and b/sprites/s_node_cart_to_polar/layers/a47540ec-b67d-4b25-9566-425f17723ef0/5b26eae8-5b86-4fbd-9b0b-3537033c9795.png differ diff --git a/sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy b/sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy new file mode 100644 index 000000000..4399ecb64 --- /dev/null +++ b/sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_cart_to_polar", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"a47540ec-b67d-4b25-9566-425f17723ef0","name":"a47540ec-b67d-4b25-9566-425f17723ef0","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"5b26eae8-5b86-4fbd-9b0b-3537033c9795","blendMode":0,"displayName":"default","isLocked":false,"name":"5b26eae8-5b86-4fbd-9b0b-3537033c9795","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_cart_to_polar", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_cart_to_polar", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_cart_to_polar", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a47540ec-b67d-4b25-9566-425f17723ef0","path":"sprites/s_node_cart_to_polar/s_node_cart_to_polar.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"d90b621f-cf28-4bef-9cb8-8a1f900b0b1f","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix/dd32ce78-ac0c-43c0-98e2-680c04889527.png b/sprites/s_node_matrix/dd32ce78-ac0c-43c0-98e2-680c04889527.png new file mode 100644 index 000000000..d9ac39aa7 Binary files /dev/null and b/sprites/s_node_matrix/dd32ce78-ac0c-43c0-98e2-680c04889527.png differ diff --git a/sprites/s_node_matrix/layers/dd32ce78-ac0c-43c0-98e2-680c04889527/4dec4475-1604-4281-9520-4527b4f11eaf.png b/sprites/s_node_matrix/layers/dd32ce78-ac0c-43c0-98e2-680c04889527/4dec4475-1604-4281-9520-4527b4f11eaf.png new file mode 100644 index 000000000..d9ac39aa7 Binary files /dev/null and b/sprites/s_node_matrix/layers/dd32ce78-ac0c-43c0-98e2-680c04889527/4dec4475-1604-4281-9520-4527b4f11eaf.png differ diff --git a/sprites/s_node_matrix/s_node_matrix.yy b/sprites/s_node_matrix/s_node_matrix.yy new file mode 100644 index 000000000..1cedfac79 --- /dev/null +++ b/sprites/s_node_matrix/s_node_matrix.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"dd32ce78-ac0c-43c0-98e2-680c04889527","name":"dd32ce78-ac0c-43c0-98e2-680c04889527","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"4dec4475-1604-4281-9520-4527b4f11eaf","blendMode":0,"displayName":"default","isLocked":false,"name":"4dec4475-1604-4281-9520-4527b4f11eaf","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"dd32ce78-ac0c-43c0-98e2-680c04889527","path":"sprites/s_node_matrix/s_node_matrix.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"669d1280-8e30-4a7d-8ba6-a87bfe69cd22","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_det/9d29df74-1906-4ec7-93c5-3dbf6bae885e.png b/sprites/s_node_matrix_det/9d29df74-1906-4ec7-93c5-3dbf6bae885e.png new file mode 100644 index 000000000..898034a68 Binary files /dev/null and b/sprites/s_node_matrix_det/9d29df74-1906-4ec7-93c5-3dbf6bae885e.png differ diff --git a/sprites/s_node_matrix_det/layers/9d29df74-1906-4ec7-93c5-3dbf6bae885e/f1c12dc4-0d3e-4802-97a0-560447bd4169.png b/sprites/s_node_matrix_det/layers/9d29df74-1906-4ec7-93c5-3dbf6bae885e/f1c12dc4-0d3e-4802-97a0-560447bd4169.png new file mode 100644 index 000000000..898034a68 Binary files /dev/null and b/sprites/s_node_matrix_det/layers/9d29df74-1906-4ec7-93c5-3dbf6bae885e/f1c12dc4-0d3e-4802-97a0-560447bd4169.png differ diff --git a/sprites/s_node_matrix_det/s_node_matrix_det.yy b/sprites/s_node_matrix_det/s_node_matrix_det.yy new file mode 100644 index 000000000..82bffb4b4 --- /dev/null +++ b/sprites/s_node_matrix_det/s_node_matrix_det.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_det", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"9d29df74-1906-4ec7-93c5-3dbf6bae885e","name":"9d29df74-1906-4ec7-93c5-3dbf6bae885e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"f1c12dc4-0d3e-4802-97a0-560447bd4169","blendMode":0,"displayName":"default","isLocked":false,"name":"f1c12dc4-0d3e-4802-97a0-560447bd4169","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_det", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_det", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_det", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9d29df74-1906-4ec7-93c5-3dbf6bae885e","path":"sprites/s_node_matrix_det/s_node_matrix_det.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"8522ec04-b0c8-4e47-87e3-4661e5f3838d","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_invert/6669ab21-6436-4859-8f90-164adbd8eb6f.png b/sprites/s_node_matrix_invert/6669ab21-6436-4859-8f90-164adbd8eb6f.png new file mode 100644 index 000000000..d8d10e281 Binary files /dev/null and b/sprites/s_node_matrix_invert/6669ab21-6436-4859-8f90-164adbd8eb6f.png differ diff --git a/sprites/s_node_matrix_invert/layers/6669ab21-6436-4859-8f90-164adbd8eb6f/8e316050-117b-4e20-b269-554001c21151.png b/sprites/s_node_matrix_invert/layers/6669ab21-6436-4859-8f90-164adbd8eb6f/8e316050-117b-4e20-b269-554001c21151.png new file mode 100644 index 000000000..d8d10e281 Binary files /dev/null and b/sprites/s_node_matrix_invert/layers/6669ab21-6436-4859-8f90-164adbd8eb6f/8e316050-117b-4e20-b269-554001c21151.png differ diff --git a/sprites/s_node_matrix_invert/s_node_matrix_invert.yy b/sprites/s_node_matrix_invert/s_node_matrix_invert.yy new file mode 100644 index 000000000..6aa8ac121 --- /dev/null +++ b/sprites/s_node_matrix_invert/s_node_matrix_invert.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_invert", + "bboxMode":0, + "bbox_bottom":58, + "bbox_left":5, + "bbox_right":57, + "bbox_top":5, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"6669ab21-6436-4859-8f90-164adbd8eb6f","name":"6669ab21-6436-4859-8f90-164adbd8eb6f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"8e316050-117b-4e20-b269-554001c21151","blendMode":0,"displayName":"default","isLocked":false,"name":"8e316050-117b-4e20-b269-554001c21151","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_invert", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_invert", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_invert", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6669ab21-6436-4859-8f90-164adbd8eb6f","path":"sprites/s_node_matrix_invert/s_node_matrix_invert.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"bbd07d6c-952f-45d3-b062-cc290f16b278","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_math/174a2691-96cf-4902-9411-6b298a16cd84.png b/sprites/s_node_matrix_math/174a2691-96cf-4902-9411-6b298a16cd84.png new file mode 100644 index 000000000..d0cb8aa98 Binary files /dev/null and b/sprites/s_node_matrix_math/174a2691-96cf-4902-9411-6b298a16cd84.png differ diff --git a/sprites/s_node_matrix_math/layers/174a2691-96cf-4902-9411-6b298a16cd84/11c46288-3480-4790-9c22-ca65bd8f6b17.png b/sprites/s_node_matrix_math/layers/174a2691-96cf-4902-9411-6b298a16cd84/11c46288-3480-4790-9c22-ca65bd8f6b17.png new file mode 100644 index 000000000..d0cb8aa98 Binary files /dev/null and b/sprites/s_node_matrix_math/layers/174a2691-96cf-4902-9411-6b298a16cd84/11c46288-3480-4790-9c22-ca65bd8f6b17.png differ diff --git a/sprites/s_node_matrix_math/s_node_matrix_math.yy b/sprites/s_node_matrix_math/s_node_matrix_math.yy new file mode 100644 index 000000000..609838930 --- /dev/null +++ b/sprites/s_node_matrix_math/s_node_matrix_math.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_math", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"174a2691-96cf-4902-9411-6b298a16cd84","name":"174a2691-96cf-4902-9411-6b298a16cd84","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"11c46288-3480-4790-9c22-ca65bd8f6b17","blendMode":0,"displayName":"default","isLocked":false,"name":"11c46288-3480-4790-9c22-ca65bd8f6b17","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_math", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_math", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_math", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"174a2691-96cf-4902-9411-6b298a16cd84","path":"sprites/s_node_matrix_math/s_node_matrix_math.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"9c24fa23-8237-47c6-9629-590017056474","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_multiply_vector/02ec64f2-2b25-4dad-8110-10adc4e64b94.png b/sprites/s_node_matrix_multiply_vector/02ec64f2-2b25-4dad-8110-10adc4e64b94.png new file mode 100644 index 000000000..f553829d4 Binary files /dev/null and b/sprites/s_node_matrix_multiply_vector/02ec64f2-2b25-4dad-8110-10adc4e64b94.png differ diff --git a/sprites/s_node_matrix_multiply_vector/layers/02ec64f2-2b25-4dad-8110-10adc4e64b94/9bd86519-d0d7-4fc8-a2e1-5d90136bff45.png b/sprites/s_node_matrix_multiply_vector/layers/02ec64f2-2b25-4dad-8110-10adc4e64b94/9bd86519-d0d7-4fc8-a2e1-5d90136bff45.png new file mode 100644 index 000000000..f553829d4 Binary files /dev/null and b/sprites/s_node_matrix_multiply_vector/layers/02ec64f2-2b25-4dad-8110-10adc4e64b94/9bd86519-d0d7-4fc8-a2e1-5d90136bff45.png differ diff --git a/sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy b/sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy new file mode 100644 index 000000000..9aeb3939b --- /dev/null +++ b/sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_multiply_vector", + "bboxMode":0, + "bbox_bottom":51, + "bbox_left":2, + "bbox_right":61, + "bbox_top":12, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"02ec64f2-2b25-4dad-8110-10adc4e64b94","name":"02ec64f2-2b25-4dad-8110-10adc4e64b94","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"9bd86519-d0d7-4fc8-a2e1-5d90136bff45","blendMode":0,"displayName":"default","isLocked":false,"name":"9bd86519-d0d7-4fc8-a2e1-5d90136bff45","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_multiply_vector", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_multiply_vector", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_multiply_vector", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"02ec64f2-2b25-4dad-8110-10adc4e64b94","path":"sprites/s_node_matrix_multiply_vector/s_node_matrix_multiply_vector.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"647e1bad-7792-4418-a3ee-5a75d1f4223b","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_set/5052b5c4-8e47-4c79-bf97-06de87db9569.png b/sprites/s_node_matrix_set/5052b5c4-8e47-4c79-bf97-06de87db9569.png new file mode 100644 index 000000000..ba281084f Binary files /dev/null and b/sprites/s_node_matrix_set/5052b5c4-8e47-4c79-bf97-06de87db9569.png differ diff --git a/sprites/s_node_matrix_set/layers/5052b5c4-8e47-4c79-bf97-06de87db9569/e783379e-6ee5-4a50-a06c-f7261d564bfc.png b/sprites/s_node_matrix_set/layers/5052b5c4-8e47-4c79-bf97-06de87db9569/e783379e-6ee5-4a50-a06c-f7261d564bfc.png new file mode 100644 index 000000000..ba281084f Binary files /dev/null and b/sprites/s_node_matrix_set/layers/5052b5c4-8e47-4c79-bf97-06de87db9569/e783379e-6ee5-4a50-a06c-f7261d564bfc.png differ diff --git a/sprites/s_node_matrix_set/s_node_matrix_set.yy b/sprites/s_node_matrix_set/s_node_matrix_set.yy new file mode 100644 index 000000000..3f7b892f0 --- /dev/null +++ b/sprites/s_node_matrix_set/s_node_matrix_set.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_set", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"5052b5c4-8e47-4c79-bf97-06de87db9569","name":"5052b5c4-8e47-4c79-bf97-06de87db9569","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"e783379e-6ee5-4a50-a06c-f7261d564bfc","blendMode":0,"displayName":"default","isLocked":false,"name":"e783379e-6ee5-4a50-a06c-f7261d564bfc","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_set", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_set", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_set", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5052b5c4-8e47-4c79-bf97-06de87db9569","path":"sprites/s_node_matrix_set/s_node_matrix_set.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"7679fbef-2e82-40b4-beff-d8b8ec7715a0","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_to_array/cceff8b5-05f5-4352-8fc0-5a8774328558.png b/sprites/s_node_matrix_to_array/cceff8b5-05f5-4352-8fc0-5a8774328558.png new file mode 100644 index 000000000..e619f32f4 Binary files /dev/null and b/sprites/s_node_matrix_to_array/cceff8b5-05f5-4352-8fc0-5a8774328558.png differ diff --git a/sprites/s_node_matrix_to_array/layers/cceff8b5-05f5-4352-8fc0-5a8774328558/4b32595d-198c-4027-8aa5-dd8cdfbeda7b.png b/sprites/s_node_matrix_to_array/layers/cceff8b5-05f5-4352-8fc0-5a8774328558/4b32595d-198c-4027-8aa5-dd8cdfbeda7b.png new file mode 100644 index 000000000..e619f32f4 Binary files /dev/null and b/sprites/s_node_matrix_to_array/layers/cceff8b5-05f5-4352-8fc0-5a8774328558/4b32595d-198c-4027-8aa5-dd8cdfbeda7b.png differ diff --git a/sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy b/sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy new file mode 100644 index 000000000..d3194cdba --- /dev/null +++ b/sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_to_array", + "bboxMode":0, + "bbox_bottom":60, + "bbox_left":2, + "bbox_right":61, + "bbox_top":3, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"cceff8b5-05f5-4352-8fc0-5a8774328558","name":"cceff8b5-05f5-4352-8fc0-5a8774328558","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"4b32595d-198c-4027-8aa5-dd8cdfbeda7b","blendMode":0,"displayName":"default","isLocked":false,"name":"4b32595d-198c-4027-8aa5-dd8cdfbeda7b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_to_array", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_to_array", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_to_array", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"cceff8b5-05f5-4352-8fc0-5a8774328558","path":"sprites/s_node_matrix_to_array/s_node_matrix_to_array.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"6c2ca618-6f77-4db4-8df9-9490c7876cb4","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_matrix_transpose/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a.png b/sprites/s_node_matrix_transpose/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a.png new file mode 100644 index 000000000..9e51a6bfb Binary files /dev/null and b/sprites/s_node_matrix_transpose/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a.png differ diff --git a/sprites/s_node_matrix_transpose/layers/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a/2cb1be59-6353-436c-8896-1460e2728e7b.png b/sprites/s_node_matrix_transpose/layers/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a/2cb1be59-6353-436c-8896-1460e2728e7b.png new file mode 100644 index 000000000..9e51a6bfb Binary files /dev/null and b/sprites/s_node_matrix_transpose/layers/8dada9b2-a1d8-4e2c-88d3-5845b228fe0a/2cb1be59-6353-436c-8896-1460e2728e7b.png differ diff --git a/sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy b/sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy new file mode 100644 index 000000000..917715a2e --- /dev/null +++ b/sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_matrix_transpose", + "bboxMode":0, + "bbox_bottom":58, + "bbox_left":5, + "bbox_right":57, + "bbox_top":5, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"8dada9b2-a1d8-4e2c-88d3-5845b228fe0a","name":"8dada9b2-a1d8-4e2c-88d3-5845b228fe0a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"2cb1be59-6353-436c-8896-1460e2728e7b","blendMode":0,"displayName":"default","isLocked":false,"name":"2cb1be59-6353-436c-8896-1460e2728e7b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_matrix_transpose", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_matrix_transpose", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_matrix_transpose", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"8dada9b2-a1d8-4e2c-88d3-5845b228fe0a","path":"sprites/s_node_matrix_transpose/s_node_matrix_transpose.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"07896313-47ae-4298-85fd-6a33b3740ae8","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_polar_to_cart/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6.png b/sprites/s_node_polar_to_cart/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6.png new file mode 100644 index 000000000..24553f45a Binary files /dev/null and b/sprites/s_node_polar_to_cart/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6.png differ diff --git a/sprites/s_node_polar_to_cart/layers/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6/a3ab1fc8-0e42-4b65-8558-efc1b171b52f.png b/sprites/s_node_polar_to_cart/layers/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6/a3ab1fc8-0e42-4b65-8558-efc1b171b52f.png new file mode 100644 index 000000000..24553f45a Binary files /dev/null and b/sprites/s_node_polar_to_cart/layers/0b9dbfb0-ad83-42d8-af65-7ffc065af2f6/a3ab1fc8-0e42-4b65-8558-efc1b171b52f.png differ diff --git a/sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy b/sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy new file mode 100644 index 000000000..5b6038e4f --- /dev/null +++ b/sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_polar_to_cart", + "bboxMode":0, + "bbox_bottom":57, + "bbox_left":6, + "bbox_right":57, + "bbox_top":6, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"0b9dbfb0-ad83-42d8-af65-7ffc065af2f6","name":"0b9dbfb0-ad83-42d8-af65-7ffc065af2f6","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"a3ab1fc8-0e42-4b65-8558-efc1b171b52f","blendMode":0,"displayName":"default","isLocked":false,"name":"a3ab1fc8-0e42-4b65-8558-efc1b171b52f","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_polar_to_cart", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"value", + "path":"folders/nodes/icons/value.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_polar_to_cart", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_polar_to_cart", + "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":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"0b9dbfb0-ad83-42d8-af65-7ffc065af2f6","path":"sprites/s_node_polar_to_cart/s_node_polar_to_cart.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b723a79e-38b4-4bbb-aa38-e4a30da48560","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file