From b65a2f685cfb25f2ba4b9a25d11af2493f7fa329 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Tue, 5 Dec 2023 15:51:24 +0700 Subject: [PATCH] Fix --- PixelComposer.resource_order | 4 +- PixelComposer.yyp | 4 +- datafiles/data/themes/default.zip | Bin 4110694 -> 4110602 bytes objects/o_main/Create_0.gml | 2 +- objects/rotator_Rotator/Create_0.gml | 24 + objects/rotator_Rotator/Step_0.gml | 14 + objects/rotator_Rotator/rotator_Rotator.yy | 34 + objects/slider_Slider/Create_0.gml | 5 + objects/slider_Slider/Step_0.gml | 4 + objects/slider_Slider/slider_Slider.yy | 34 + .../Create_0.gml | 5 +- .../Draw_64.gml | 35 +- .../textBox_slider.yy} | 6 +- .../draw_circle_functions.gml | 54 +- scripts/mouse_input/mouse_input.gml | 6 +- scripts/node_registry/node_registry.gml | 1609 +++++++++-------- scripts/rotator/rotator.gml | 34 +- scripts/rotatorRandom/rotatorRandom.gml | 166 +- scripts/rotatorRange/rotatorRange.gml | 93 +- scripts/slider/slider.gml | 63 +- scripts/sliderRange/sliderRange.gml | 62 +- scripts/textArea/textArea.gml | 62 +- scripts/textBox/textBox.gml | 22 +- 23 files changed, 1262 insertions(+), 1080 deletions(-) create mode 100644 objects/rotator_Rotator/Create_0.gml create mode 100644 objects/rotator_Rotator/Step_0.gml create mode 100644 objects/rotator_Rotator/rotator_Rotator.yy create mode 100644 objects/slider_Slider/Create_0.gml create mode 100644 objects/slider_Slider/Step_0.gml create mode 100644 objects/slider_Slider/slider_Slider.yy rename objects/{o_dialog_textbox_slider => textBox_slider}/Create_0.gml (71%) rename objects/{o_dialog_textbox_slider => textBox_slider}/Draw_64.gml (73%) rename objects/{o_dialog_textbox_slider/o_dialog_textbox_slider.yy => textBox_slider/textBox_slider.yy} (90%) diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index b21e9d524..30d424276 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -317,6 +317,7 @@ {"name":"sh_perlin_smear","order":5,"path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",}, {"name":"node_array_remove","order":4,"path":"scripts/node_array_remove/node_array_remove.yy",}, {"name":"node_path_blend","order":2,"path":"scripts/node_path_blend/node_path_blend.yy",}, + {"name":"rotator_Rotator","order":3,"path":"objects/rotator_Rotator/rotator_Rotator.yy",}, {"name":"node_switch","order":5,"path":"scripts/node_switch/node_switch.yy",}, {"name":"sh_corner","order":20,"path":"shaders/sh_corner/sh_corner.yy",}, {"name":"node_array","order":5,"path":"scripts/node_array/node_array.yy",}, @@ -736,7 +737,7 @@ {"name":"s_node_surface_from_buffer","order":1,"path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",}, {"name":"node_iterator_filter_output","order":2,"path":"scripts/node_iterator_filter_output/node_iterator_filter_output.yy",}, {"name":"color_function","order":9,"path":"scripts/color_function/color_function.yy",}, - {"name":"o_dialog_textbox_slider","order":9,"path":"objects/o_dialog_textbox_slider/o_dialog_textbox_slider.yy",}, + {"name":"textBox_slider","order":16,"path":"objects/textBox_slider/textBox_slider.yy",}, {"name":"fd_rectangle_set_pressure_size","order":11,"path":"scripts/fd_rectangle_set_pressure_size/fd_rectangle_set_pressure_size.yy",}, {"name":"s_node_smokeSim_group","order":12,"path":"sprites/s_node_smokeSim_group/s_node_smokeSim_group.yy",}, {"name":"node_color_data","order":6,"path":"scripts/node_color_data/node_color_data.yy",}, @@ -1802,6 +1803,7 @@ {"name":"node_array_shuffle","order":10,"path":"scripts/node_array_shuffle/node_array_shuffle.yy",}, {"name":"panel_node_data_gen","order":9,"path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",}, {"name":"node_dynamic_surface_out","order":1,"path":"scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy",}, + {"name":"slider_Slider","order":37,"path":"objects/slider_Slider/slider_Slider.yy",}, {"name":"fd_rectangle_update_material","order":21,"path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",}, {"name":"s_node_array_convolute","order":16,"path":"sprites/s_node_array_convolute/s_node_array_convolute.yy",}, {"name":"sh_perlin_tiled","order":6,"path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 7946d51ee..f7bccf099 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -892,6 +892,7 @@ {"id":{"name":"node_iterate_filter","path":"scripts/node_iterate_filter/node_iterate_filter.yy",},}, {"id":{"name":"node_array_remove","path":"scripts/node_array_remove/node_array_remove.yy",},}, {"id":{"name":"node_path_blend","path":"scripts/node_path_blend/node_path_blend.yy",},}, + {"id":{"name":"rotator_Rotator","path":"objects/rotator_Rotator/rotator_Rotator.yy",},}, {"id":{"name":"node_switch","path":"scripts/node_switch/node_switch.yy",},}, {"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},}, {"id":{"name":"node_array","path":"scripts/node_array/node_array.yy",},}, @@ -1373,7 +1374,7 @@ {"id":{"name":"s_node_surface_from_buffer","path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",},}, {"id":{"name":"node_iterator_filter_output","path":"scripts/node_iterator_filter_output/node_iterator_filter_output.yy",},}, {"id":{"name":"color_function","path":"scripts/color_function/color_function.yy",},}, - {"id":{"name":"o_dialog_textbox_slider","path":"objects/o_dialog_textbox_slider/o_dialog_textbox_slider.yy",},}, + {"id":{"name":"textBox_slider","path":"objects/textBox_slider/textBox_slider.yy",},}, {"id":{"name":"d3d_cube_faces","path":"scripts/d3d_cube_faces/d3d_cube_faces.yy",},}, {"id":{"name":"fd_rectangle_set_pressure_size","path":"scripts/fd_rectangle_set_pressure_size/fd_rectangle_set_pressure_size.yy",},}, {"id":{"name":"s_node_smokeSim_group","path":"sprites/s_node_smokeSim_group/s_node_smokeSim_group.yy",},}, @@ -2597,6 +2598,7 @@ {"id":{"name":"node_array_shuffle","path":"scripts/node_array_shuffle/node_array_shuffle.yy",},}, {"id":{"name":"panel_node_data_gen","path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",},}, {"id":{"name":"node_dynamic_surface_out","path":"scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy",},}, + {"id":{"name":"slider_Slider","path":"objects/slider_Slider/slider_Slider.yy",},}, {"id":{"name":"fd_rectangle_update_material","path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",},}, {"id":{"name":"s_node_array_convolute","path":"sprites/s_node_array_convolute/s_node_array_convolute.yy",},}, {"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},}, diff --git a/datafiles/data/themes/default.zip b/datafiles/data/themes/default.zip index 304de2c1216a354e956917dd6b6410a7cd1bb0ac..0cb27477f45acd321bb9517ea7d3d31ae715b597 100644 GIT binary patch delta 198421 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

GdCmA@FE}uqaX!U91lzfh6BefZQ(pUaUl5! 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
  • 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

    s1NI~wUn^5i|ku7-# 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 HeL(*U;{9BE delta 198573 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

    ;BbzUTNAU{-7o&B;|$ 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�qg2xKU(v! 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 diff --git a/objects/o_main/Create_0.gml b/objects/o_main/Create_0.gml index 8fb48ee4c..95061048d 100644 --- a/objects/o_main/Create_0.gml +++ b/objects/o_main/Create_0.gml @@ -232,7 +232,7 @@ DIALOGS = ds_list_create(); WIDGET_TAB_BLOCK = false; - instance_create(0, 0, o_dialog_textbox_slider); + instance_create(0, 0, textBox_slider); instance_create(0, 0, o_dialog_textbox_autocomplete); instance_create(0, 0, o_dialog_textbox_function_guide); #endregion diff --git a/objects/rotator_Rotator/Create_0.gml b/objects/rotator_Rotator/Create_0.gml new file mode 100644 index 000000000..ea9636fea --- /dev/null +++ b/objects/rotator_Rotator/Create_0.gml @@ -0,0 +1,24 @@ +/// @description Insert description here +drag_mx = mouse_mx; +drag_my = mouse_my; + +drag_sx = 0; +drag_sy = 0; + +drag_cx = 0; +drag_cy = 0; + +drag_sa = 0; + +delta = 0; +delta_acc = 0; + +function init(_m, cx, cy) { + drag_sx = _m[0]; + drag_sy = _m[1]; + drag_cx = cx; + drag_cy = cy; + drag_sa = point_direction(drag_cx, drag_cy, drag_sx, drag_sy); + + return self; +} \ No newline at end of file diff --git a/objects/rotator_Rotator/Step_0.gml b/objects/rotator_Rotator/Step_0.gml new file mode 100644 index 000000000..a964a948d --- /dev/null +++ b/objects/rotator_Rotator/Step_0.gml @@ -0,0 +1,14 @@ +/// @description Insert description here +var dx = mouse_mx - drag_mx; +var dy = mouse_my - drag_my; + +drag_mx = mouse_mx; +drag_my = mouse_my; + +drag_sx += dx; +drag_sy += dy; + +var _dirr = point_direction(drag_cx, drag_cy, drag_sx, drag_sy); +delta = angle_difference(_dirr, drag_sa); +delta_acc += delta; +drag_sa = _dirr; \ No newline at end of file diff --git a/objects/rotator_Rotator/rotator_Rotator.yy b/objects/rotator_Rotator/rotator_Rotator.yy new file mode 100644 index 000000000..f9279dfb1 --- /dev/null +++ b/objects/rotator_Rotator/rotator_Rotator.yy @@ -0,0 +1,34 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "rotator_Rotator", + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,}, + ], + "managed": true, + "overriddenProperties": [], + "parent": { + "name": "rotator", + "path": "folders/widgets/rotator.yy", + }, + "parentObjectId": null, + "persistent": false, + "physicsAngularDamping": 0.1, + "physicsDensity": 0.5, + "physicsFriction": 0.2, + "physicsGroup": 1, + "physicsKinematic": false, + "physicsLinearDamping": 0.1, + "physicsObject": false, + "physicsRestitution": 0.1, + "physicsSensor": false, + "physicsShape": 1, + "physicsShapePoints": [], + "physicsStartAwake": true, + "properties": [], + "solid": false, + "spriteId": null, + "spriteMaskId": null, + "visible": true, +} \ No newline at end of file diff --git a/objects/slider_Slider/Create_0.gml b/objects/slider_Slider/Create_0.gml new file mode 100644 index 000000000..1a4c69a58 --- /dev/null +++ b/objects/slider_Slider/Create_0.gml @@ -0,0 +1,5 @@ +/// @description slider +drag_mx = mouse_mx; +drag_sx = 0; +drag_msx = 0; +drag_sw = 0; \ No newline at end of file diff --git a/objects/slider_Slider/Step_0.gml b/objects/slider_Slider/Step_0.gml new file mode 100644 index 000000000..19ab6665f --- /dev/null +++ b/objects/slider_Slider/Step_0.gml @@ -0,0 +1,4 @@ +/// @description Insert description here +var dx = mouse_mx - drag_mx; +drag_mx = mouse_mx; +drag_sx += dx; \ No newline at end of file diff --git a/objects/slider_Slider/slider_Slider.yy b/objects/slider_Slider/slider_Slider.yy new file mode 100644 index 000000000..911facfa8 --- /dev/null +++ b/objects/slider_Slider/slider_Slider.yy @@ -0,0 +1,34 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "slider_Slider", + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,}, + ], + "managed": true, + "overriddenProperties": [], + "parent": { + "name": "widgets", + "path": "folders/widgets.yy", + }, + "parentObjectId": null, + "persistent": false, + "physicsAngularDamping": 0.1, + "physicsDensity": 0.5, + "physicsFriction": 0.2, + "physicsGroup": 1, + "physicsKinematic": false, + "physicsLinearDamping": 0.1, + "physicsObject": false, + "physicsRestitution": 0.1, + "physicsSensor": false, + "physicsShape": 1, + "physicsShapePoints": [], + "physicsStartAwake": true, + "properties": [], + "solid": false, + "spriteId": null, + "spriteMaskId": null, + "visible": true, +} \ No newline at end of file diff --git a/objects/o_dialog_textbox_slider/Create_0.gml b/objects/textBox_slider/Create_0.gml similarity index 71% rename from objects/o_dialog_textbox_slider/Create_0.gml rename to objects/textBox_slider/Create_0.gml index 9c00ac989..57c99a853 100644 --- a/objects/o_dialog_textbox_slider/Create_0.gml +++ b/objects/textBox_slider/Create_0.gml @@ -1,6 +1,7 @@ /// @description -depth = -19999; -tb = noone; +depth = -19999; +tb = noone; +val = 0; function activate() { slide_da = -1; diff --git a/objects/o_dialog_textbox_slider/Draw_64.gml b/objects/textBox_slider/Draw_64.gml similarity index 73% rename from objects/o_dialog_textbox_slider/Draw_64.gml rename to objects/textBox_slider/Draw_64.gml index 3a5ffcf30..d243289d8 100644 --- a/objects/o_dialog_textbox_slider/Draw_64.gml +++ b/objects/textBox_slider/Draw_64.gml @@ -17,23 +17,24 @@ if(slide_da == -1) { exit; } +var _s = tb.slide_speed; + if(!MOUSE_WRAPPING) { var _adx = mouse_mx - slide_dx; var _ady = slide_dy - mouse_my; - var _s = tb.slide_speed; var sc = 10; if(key_mod_press(CTRL)) _s *= sc; if(key_mod_press(ALT)) _s /= sc; - var spd = (slide_da? _ady : _adx) * _s; - var _val = value_snap(tb.slide_sv + spd, _s); - - draw_set_text(f_p0b, fa_center, fa_center, COLORS._main_text); + var spd = (slide_da? _ady : _adx) * _s; + val = value_snap(tb.slide_sv + spd, _s); var _stp_sz = 50 * _s; - var _stp_fl = round(_val / _stp_sz) * _stp_sz; - var _stp_md = _val - _stp_fl; + var _stp_fl = round(val / _stp_sz) * _stp_sz; + var _stp_md = val - _stp_fl; + + draw_set_text(f_p0b, fa_center, fa_center, COLORS._main_text); var _tw = 48; for( var i = -2; i <= 2; i++ ) { @@ -42,9 +43,9 @@ if(!MOUSE_WRAPPING) { } var _snp_s = 50 * _s; - var _snp_v = round(_val / _snp_s) * _snp_s; - if(abs(_val - _snp_v) < 5 * _s) - _val = _snp_v; + var _snp_v = round(val / _snp_s) * _snp_s; + if(abs(val - _snp_v) < 5 * _s) + val = _snp_v; if(slide_da) { var _sdw = _tw; @@ -62,9 +63,9 @@ if(!MOUSE_WRAPPING) { draw_text(slide_dx, slide_dy - (_v - tb.slide_sv) / _s, _v); } - draw_set_color(_val == tb.slide_sv? COLORS._main_accent : COLORS._main_text); + draw_set_color(val == tb.slide_sv? COLORS._main_accent : COLORS._main_text); draw_set_alpha(1); - draw_text(slide_dx, slide_dy - (_val - tb.slide_sv) / _s, _val); + draw_text(slide_dx, slide_dy - (val - tb.slide_sv) / _s, val); } else { var _sdw = 240; var _sdh = 48; @@ -81,18 +82,18 @@ if(!MOUSE_WRAPPING) { draw_text(slide_dx + (_v - tb.slide_sv) / _s, slide_dy, _v); } - draw_set_color(_val == tb.slide_sv? COLORS._main_accent : COLORS._main_text); + draw_set_color(val == tb.slide_sv? COLORS._main_accent : COLORS._main_text); draw_set_alpha(1); - draw_text(slide_dx + (_val - tb.slide_sv) / _s, slide_dy, _val); + draw_text(slide_dx + (val - tb.slide_sv) / _s, slide_dy, val); } - tb._input_text = string_real(_val); + tb._input_text = string_real(val); if(tb.apply()) UNDO_HOLDING = true; } if(MOUSE_WRAPPING) { - slide_dx = mouse_mx; - slide_dy = mouse_my; + if(slide_da) slide_dy = mouse_my + (val - tb.slide_sv) / _s; + else slide_dx = mouse_mx - (val - tb.slide_sv) / _s; } setMouseWrap(); diff --git a/objects/o_dialog_textbox_slider/o_dialog_textbox_slider.yy b/objects/textBox_slider/textBox_slider.yy similarity index 90% rename from objects/o_dialog_textbox_slider/o_dialog_textbox_slider.yy rename to objects/textBox_slider/textBox_slider.yy index 84ec769f6..8c2b6365b 100644 --- a/objects/o_dialog_textbox_slider/o_dialog_textbox_slider.yy +++ b/objects/textBox_slider/textBox_slider.yy @@ -1,7 +1,7 @@ { "resourceType": "GMObject", "resourceVersion": "1.0", - "name": "o_dialog_textbox_slider", + "name": "textBox_slider", "eventList": [ {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,}, {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,}, @@ -9,8 +9,8 @@ "managed": true, "overriddenProperties": [], "parent": { - "name": "widget", - "path": "folders/dialog/widget.yy", + "name": "text", + "path": "folders/widgets/text.yy", }, "parentObjectId": null, "persistent": false, diff --git a/scripts/draw_circle_functions/draw_circle_functions.gml b/scripts/draw_circle_functions/draw_circle_functions.gml index b4621d9a5..57dee654e 100644 --- a/scripts/draw_circle_functions/draw_circle_functions.gml +++ b/scripts/draw_circle_functions/draw_circle_functions.gml @@ -1,9 +1,9 @@ -function draw_circle_prec(x, y, r, border, precision = 32) { +function draw_circle_prec(x, y, r, border, precision = 32) { #region draw_set_circle_precision(precision); draw_circle(x, y, r, border); -} +} #endregion -function draw_circle_border(xx, yy, r, w) { +function draw_circle_border(xx, yy, r, w) { #region var step = 32; var angle_step = 360 / step; @@ -18,9 +18,9 @@ function draw_circle_border(xx, yy, r, w) { draw_vertex(p1x, p1y); } draw_primitive_end(); -} +} #endregion -function draw_ellipse_border(x0, y0, x1, y1, w) { +function draw_ellipse_border(x0, y0, x1, y1, w) { #region var step = 32; var angle_step = 360 / step; @@ -41,9 +41,9 @@ function draw_ellipse_border(x0, y0, x1, y1, w) { _px = px; _py = py; } -} +} #endregion -function draw_circle_angle(_x, _y, _r, _angSt, _angEd, precision = 32) { +function draw_circle_angle(_x, _y, _r, _angSt, _angEd, precision = 32) { #region var ox, oy, nx, ny, oa, na; draw_primitive_begin(pr_trianglelist); @@ -65,9 +65,9 @@ function draw_circle_angle(_x, _y, _r, _angSt, _angEd, precision = 32) { } draw_primitive_end(); -} +} #endregion -function draw_arc_width(_x, _y, _r, _th, _angSt, _angEd) { +function draw_arc_width(_x, _y, _r, _th, _angSt, _angEd) { #region draw_primitive_begin(pr_trianglelist); var oxI, oyI, oxO, oyO; @@ -99,4 +99,38 @@ function draw_arc_width(_x, _y, _r, _th, _angSt, _angEd) { } draw_primitive_end(); -} \ No newline at end of file +} #endregion + +function draw_arc_forward(_x, _y, _r, _th, _angSt, _angEd) { #region + draw_primitive_begin(pr_trianglelist); + var oxI, oyI, oxO, oyO; + + var _aSt = min(_angSt, _angEd); + var _aEd = max(_angSt, _angEd); + var diff = _aEd - _aSt; + + for(var i = 0; i <= abs(diff); i += 4) { + var as = _aSt + i * sign(diff); + var nxI = _x + lengthdir_x(_r - _th / 2, as); + var nyI = _y + lengthdir_y(_r - _th / 2, as); + var nxO = _x + lengthdir_x(_r + _th / 2, as); + var nyO = _y + lengthdir_y(_r + _th / 2, as); + + if(i) { + draw_vertex(oxI, oyI); + draw_vertex(oxO, oyO); + draw_vertex(nxI, nyI); + + draw_vertex(oxO, oyO); + draw_vertex(nxI, nyI); + draw_vertex(nxO, nyO); + } + + oxI = nxI; + oyI = nyI; + oxO = nxO; + oyO = nyO; + } + + draw_primitive_end(); +} #endregion \ No newline at end of file diff --git a/scripts/mouse_input/mouse_input.gml b/scripts/mouse_input/mouse_input.gml index fd1d22a7e..a2758233c 100644 --- a/scripts/mouse_input/mouse_input.gml +++ b/scripts/mouse_input/mouse_input.gml @@ -1,24 +1,28 @@ function mouse_click(mouse, focus = true) { + INLINE return focus && mouse_check_button(mouse); } function mouse_press(mouse, focus = true) { + INLINE return focus && mouse_check_button_pressed(mouse); } function mouse_release(mouse, focus = true) { + INLINE return focus && mouse_check_button_released(mouse); } #region mouse global globalvar MOUSE_WRAP, MOUSE_WRAPPING; - MOUSE_WRAP = false; + MOUSE_WRAP = false; MOUSE_WRAPPING = false; #macro SCROLL_SPEED PREFERENCES.mouse_wheel_speed function setMouseWrap() { + INLINE MOUSE_WRAP = true; } #endregion \ No newline at end of file diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index f9267dac0..f9b48da68 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -166,7 +166,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio } #endregion } #endregion -#region nodes +#region globalvar globalvar ALL_NODES, ALL_NODE_LIST, NODE_CATEGORY, NODE_PB_CATEGORY, NODE_PCX_CATEGORY; globalvar SUPPORTER_NODES, NEW_NODES; @@ -182,808 +182,809 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio global.__currPage = ""; global.__currNewPage = ""; +#endregion - function nodeBuild(_name, _x, _y, _group = PANEL_GRAPH.getCurrentContext()) { #region - if(!ds_map_exists(ALL_NODES, _name)) { - log_warning("LOAD", $"Node type {_name} not found"); - return noone; - } - - var _node = ALL_NODES[? _name]; - return _node.build(_x, _y, _group); - } #endregion - - function addNodeObject(_list, _name, _spr, _node, _fun, _tag = [], tooltip = "") { #region - var _n; - - if(ds_map_exists(ALL_NODES, _node)) - _n = ALL_NODES[? _node]; - else { - _n = new NodeObject(_name, _spr, _node, _fun, _tag); - if(!ds_map_exists(ALL_NODES, _node)) - ds_list_add(ALL_NODE_LIST, _n); - ALL_NODES[? _node] = _n; - } - - if(tooltip != "") _n.tooltip = tooltip; - ds_list_add(_list, _n); - return _n; - } #endregion - - function addNodeCatagory(name, list, filter = []) { #region - global.__currPage = name; - ds_list_add(NODE_CATEGORY, { name: name, list: list, filter: filter }); - } #endregion - - function addNodePBCatagory(name, list, filter = []) { #region - ds_list_add(NODE_PB_CATEGORY, { name: name, list: list, filter: filter }); - } #endregion - - function addNodePCXCatagory(name, list, filter = []) { #region - ds_list_add(NODE_PCX_CATEGORY, { name: name, list: list, filter: filter }); - } #endregion - - function __initNodes() { - global.__currPage = ""; - var favPath = DIRECTORY + "Nodes/fav.json"; - global.FAV_NODES = file_exists(favPath)? json_load_struct(favPath) : []; - if(!is_array(global.FAV_NODES)) global.FAV_NODES = []; - - var recPath = DIRECTORY + "Nodes/recent.json"; - global.RECENT_NODES = file_exists(recPath)? json_load_struct(recPath) : []; - if(!is_array(global.RECENT_NODES)) global.RECENT_NODES = []; - - NODE_PAGE_DEFAULT = ds_list_size(NODE_CATEGORY); - ADD_NODE_PAGE = NODE_PAGE_DEFAULT; - - var fav = ds_list_create(); - addNodeCatagory("Favourites", fav); - - var group = ds_list_create(); #region - addNodeCatagory("Group", group, ["Node_Group"]); - ds_list_add(group, "Groups"); - addNodeObject(group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(group, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(group, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); - #endregion - - var iter = ds_list_create(); #region - addNodeCatagory("Loop", iter, ["Node_Iterate"]); - ds_list_add(iter, "Groups"); - addNodeObject(iter, "Loop Input", s_node_loop_input, "Node_Iterator_Input", [1, Node_Iterator_Input]).hideRecent(); - addNodeObject(iter, "Loop Output", s_node_loop_output, "Node_Iterator_Output", [1, Node_Iterator_Output]).hideRecent(); - addNodeObject(iter, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(iter, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(iter, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); - - ds_list_add(iter, "Loops"); - addNodeObject(iter, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); - addNodeObject(iter, "Loop amount", s_node_iterator_amount, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent(); - #endregion - - var itere = ds_list_create(); #region - addNodeCatagory("Loop", itere, ["Node_Iterate_Each"]); - ds_list_add(itere, "Groups"); - addNodeObject(itere, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(itere, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(itere, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); - - ds_list_add(itere, "Loops"); - addNodeObject(itere, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); - addNodeObject(itere, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent(); - #endregion - - var filter = ds_list_create(); #region - addNodeCatagory("Filter", filter, ["Node_Iterate_Filter"]); - ds_list_add(filter, "Groups"); - addNodeObject(filter, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(filter, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(filter, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); - - ds_list_add(filter, "Loops"); - addNodeObject(filter, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); - addNodeObject(filter, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent(); - #endregion - - var feed = ds_list_create(); #region - addNodeCatagory("Feedback", feed, ["Node_Feedback"]); - ds_list_add(feed, "Groups"); - addNodeObject(feed, "Input", s_node_feedback_input, "Node_Feedback_Input", [1, Node_Feedback_Input]).hideRecent(); - addNodeObject(feed, "Output", s_node_feedback_output, "Node_Feedback_Output", [1, Node_Feedback_Output]).hideRecent(); - addNodeObject(feed, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); - #endregion - - var vfx = ds_list_create(); #region - addNodeCatagory("VFX", vfx, ["Node_VFX_Group"]); - ds_list_add(vfx, "Groups"); - addNodeObject(vfx, "Input", s_node_vfx_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(vfx, "Output", s_node_vfx_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(vfx, "Renderer", s_node_vfx_render_output, "Node_VFX_Renderer_Output", [1, Node_VFX_Renderer_Output]).hideRecent(); - - ds_list_add(vfx, "VFXs"); - addNodeObject(vfx, "Spawner", s_node_vfx_spawn, "Node_VFX_Spawner", [1, Node_VFX_Spawner],, "Spawn new particles.").hideRecent(); - addNodeObject(vfx, "Renderer", s_node_vfx_render, "Node_VFX_Renderer", [1, Node_VFX_Renderer],, "Render particle objects to surface.").hideRecent(); - - ds_list_add(vfx, "Affectors"); - addNodeObject(vfx, "Accelerate", s_node_vfx_accel, "Node_VFX_Accelerate", [1, Node_VFX_Accelerate],, "Change the speed of particle in range.").hideRecent(); - addNodeObject(vfx, "Destroy", s_node_vfx_destroy, "Node_VFX_Destroy", [1, Node_VFX_Destroy],, "Destroy particle in range.").hideRecent(); - addNodeObject(vfx, "Attract", s_node_vfx_attract, "Node_VFX_Attract", [1, Node_VFX_Attract],, "Attract particle in range to one point.").hideRecent(); - addNodeObject(vfx, "Wind", s_node_vfx_wind, "Node_VFX_Wind", [1, Node_VFX_Wind],, "Move particle in range.").hideRecent(); - addNodeObject(vfx, "Vortex", s_node_vfx_vortex, "Node_VFX_Vortex", [1, Node_VFX_Vortex],, "Rotate particle around a point.").hideRecent(); - addNodeObject(vfx, "Turbulence", s_node_vfx_turb, "Node_VFX_Turbulence", [1, Node_VFX_Turbulence],, "Move particle in range randomly.").hideRecent(); - addNodeObject(vfx, "Repel", s_node_vfx_repel, "Node_VFX_Repel", [1, Node_VFX_Repel],, "Move particle away from point.").hideRecent(); - addNodeObject(vfx, "Oscillate", s_node_vfx_osc, "Node_VFX_Oscillate", [1, Node_VFX_Oscillate],, "Swing particle around its original trajectory.").hideRecent().setVersion(11560); - - ds_list_add(vfx, "Effects"); - addNodeObject(vfx, "VFX Trail", s_node_vfx_trail, "Node_VFX_Trail", [1, Node_VFX_Trail],, "Generate path from particle movement.").hideRecent().setVersion(11560); - - ds_list_add(vfx, "Instance control"); - addNodeObject(vfx, "VFX Variable", s_node_vfx_variable, "Node_VFX_Variable", [1, Node_VFX_Variable],, "Extract variable from particle objects.").hideRecent().setVersion(1120); - addNodeObject(vfx, "VFX Override", s_node_vfx_override, "Node_VFX_Override", [1, Node_VFX_Override],, "Replace particle variable with a new one.").hideRecent().setVersion(1120); - #endregion - - var rigidSim = ds_list_create(); #region - addNodeCatagory("RigidSim", rigidSim, ["Node_Rigid_Group"]); - ds_list_add(rigidSim, "Group"); - addNodeObject(rigidSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(rigidSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(rigidSim, "Render", s_node_rigidSim_render_output, "Node_Rigid_Render_Output", [1, Node_Rigid_Render_Output]).hideRecent(); - - ds_list_add(rigidSim, "RigidSim"); - addNodeObject(rigidSim, "Object", s_node_rigidSim_object, "Node_Rigid_Object", [1, Node_Rigid_Object],, "Spawn a rigidbody object.").hideRecent().setVersion(1110); - addNodeObject(rigidSim, "Object Spawner", s_node_rigidSim_object_spawner, "Node_Rigid_Object_Spawner", [1, Node_Rigid_Object_Spawner],, "Spawn multiple rigidbody objects.").hideRecent().setVersion(1110); - addNodeObject(rigidSim, "Render", s_node_rigidSim_renderer, "Node_Rigid_Render", [1, Node_Rigid_Render],, "Render rigidbody object to surface.").hideRecent().setVersion(1110); - addNodeObject(rigidSim, "Apply Force", s_node_rigidSim_force, "Node_Rigid_Force_Apply", [1, Node_Rigid_Force_Apply],, "Apply force to objects.").hideRecent().setVersion(1110); - - ds_list_add(rigidSim, "Instance control"); - addNodeObject(rigidSim, "Activate Physics", s_node_rigidSim_activate, "Node_Rigid_Activate", [1, Node_Rigid_Activate],, "Enable or disable rigidbody object.").hideRecent().setVersion(1110); - addNodeObject(rigidSim, "Rigidbody Variable", s_node_rigid_variable, "Node_Rigid_Variable", [1, Node_Rigid_Variable],, "Extract veriable from rigidbody object.").hideRecent().setVersion(1120); - addNodeObject(rigidSim, "Rigidbody Override", s_node_rigid_override, "Node_Rigid_Override", [1, Node_Rigid_Override],, "Replace rigidbody object variable with a new one.").hideRecent().setVersion(1120); - #endregion - - var smokeSim = ds_list_create(); #region - addNodeCatagory("SmokeSim", smokeSim, ["Node_Fluid_Group"]); - ds_list_add(smokeSim, "Group"); - addNodeObject(smokeSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(smokeSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - addNodeObject(smokeSim, "Render Domain", s_node_smokeSim_render_output, "Node_Fluid_Render_Output", [1, Node_Fluid_Render_Output]).hideRecent().setVersion(11540); - - ds_list_add(smokeSim, "Domain"); - addNodeObject(smokeSim, "Domain", s_node_smokeSim_domain, "Node_Fluid_Domain", [1, Node_Fluid_Domain]).hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Update Domain", s_node_smokeSim_update, "Node_Fluid_Update", [1, Node_Fluid_Update],, "Run smoke by one step.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Render Domain", s_node_smokeSim_render, "Node_Fluid_Render", [1, Node_Fluid_Render],, "Render smoke to surface. This node also have update function build in.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Queue Domain", s_node_smokeSim_domain_queue, "Node_Fluid_Domain_Queue", [1, Node_Fluid_Domain_Queue],, "Sync multiple domains to be render at the same time.").hideRecent().setVersion(1120); - - ds_list_add(smokeSim, "Smoke"); - addNodeObject(smokeSim, "Add Emitter", s_node_smokeSim_emitter, "Node_Fluid_Add", [1, Node_Fluid_Add],, "Add smoke emitter.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Apply Velocity", s_node_smokeSim_apply_velocity, "Node_Fluid_Apply_Velocity", [1, Node_Fluid_Apply_Velocity],, "Apply velocity to smoke.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Add Collider", s_node_smokeSim_add_collider, "Node_Fluid_Add_Collider", [1, Node_Fluid_Add_Collider],, "Add solid object that smoke can collides to.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Vortex", s_node_smokeSim_vortex, "Node_Fluid_Vortex", [1, Node_Fluid_Vortex],, "Apply rotational force around a point.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Repulse", s_node_smokeSim_repulse, "Node_Fluid_Repulse", [1, Node_Fluid_Repulse],, "Spread smoke away from a point.").hideRecent().setVersion(1120); - addNodeObject(smokeSim, "Turbulence", s_node_smokeSim_turbulence, "Node_Fluid_Turbulence", [1, Node_Fluid_Turbulence],, "Apply random velocity map to the smoke.").hideRecent().setVersion(1120); - #endregion - - var strandSim = ds_list_create(); #region - addNodeCatagory("StrandSim", strandSim, ["Node_Strand_Group"]); - ds_list_add(strandSim, "Group"); - addNodeObject(strandSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(strandSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - - ds_list_add(strandSim, "System"); - addNodeObject(strandSim, "Strand Create", s_node_strandSim_create, "Node_Strand_Create", [1, Node_Strand_Create],, "Create strands from point, path, or mesh.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Update", s_node_strandSim_update, "Node_Strand_Update", [1, Node_Strand_Update],, "Update strands by one step.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Render", s_node_strandSim_render, "Node_Strand_Render", [1, Node_Strand_Render],, "Render strands to surface as a single path.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Render Texture", s_node_strandSim_render_texture, "Node_Strand_Render_Texture", [1, Node_Strand_Render_Texture],, "Render strands to surface as a textured path.").hideRecent().setVersion(1140); - - ds_list_add(strandSim, "Affectors"); - addNodeObject(strandSim, "Strand Gravity", s_node_strandSim_gravity, "Node_Strand_Gravity", [1, Node_Strand_Gravity],, "Apply downward acceleration to strands.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Force Apply", s_node_strandSim_force, "Node_Strand_Force_Apply", [1, Node_Strand_Force_Apply],, "Apply general force to strands.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Break", s_node_strandSim_break, "Node_Strand_Break", [1, Node_Strand_Break],, "Detach strands from its origin.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Length Adjust", s_node_strandSim_length, "Node_Strand_Length_Adjust", [1, Node_Strand_Length_Adjust],, "Adjust length of strands in area.").hideRecent().setVersion(1140); - addNodeObject(strandSim, "Strand Collision", s_node_strandSim_collide, "Node_Strand_Collision", [1, Node_Strand_Collision],, "Create solid object for strands to collides to.").hideRecent().setVersion(1140); - #endregion - - ////////////////////////////////////////////////////////////////////////////////// - - var input = ds_list_create(); #region - addNodeCatagory("IO", input); - ds_list_add(input, "Images"); - addNodeObject(input, "Canvas", s_node_canvas, "Node_Canvas", [1, Node_Canvas], ["draw"], "Draw on surface using brush, eraser, etc."); - addNodeObject(input, "Active Canvas", s_node_active_canvas, "Node_Active_Canvas", [1, Node_Active_Canvas], ["draw"], "Draw using parameterized brush.").setVersion(11570); - addNodeObject(input, "Image", s_node_image, "Node_Image", [0, Node_create_Image],, "Load a single image from your computer."); - addNodeObject(input, "Image GIF", s_node_image_gif, "Node_Image_gif", [0, Node_create_Image_gif],, "Load animated .gif from your computer."); - addNodeObject(input, "Splice Spritesheet", s_node_image_sheet, "Node_Image_Sheet", [1, Node_Image_Sheet],, "Cut up spritesheet into animation or image array."); - addNodeObject(input, "Image Array", s_node_image_sequence, "Node_Image_Sequence", [0, Node_create_Image_Sequence],, "Load multiple images from your computer as array."); - addNodeObject(input, "Animation", s_node_image_animation, "Node_Image_Animated", [0, Node_create_Image_Animated],, "Load multiple images from your computer as animation."); - addNodeObject(input, "Array to Anim", s_node_image_sequence_to_anim, "Node_Sequence_Anim", [1, Node_Sequence_Anim],, "Convert array of images into animation."); - if(!DEMO) addNodeObject(input, "Export", s_node_export, "Node_Export", [0, Node_create_Export],, "Export image, image array to file, image sequence, animation."); - - ds_list_add(input, "Files"); - addNodeObject(input, "Text File In", s_node_text_file_read, "Node_Text_File_Read", [1, Node_Text_File_Read], ["txt"], "Load .txt in as text.").setVersion(1080); - addNodeObject(input, "Text File Out", s_node_text_file_write, "Node_Text_File_Write", [1, Node_Text_File_Write], ["txt"], "Save text as a .txt file.").setVersion(1090); - addNodeObject(input, "CSV File In", s_node_csv_file_read, "Node_CSV_File_Read", [1, Node_CSV_File_Read], ["comma separated value"], "Load .csv as text, number array.").setVersion(1090); - addNodeObject(input, "CSV File Out", s_node_csv_file_write, "Node_CSV_File_Write", [1, Node_CSV_File_Write], ["comma separated value"], "Save array as .csv file.").setVersion(1090); - addNodeObject(input, "JSON File In", s_node_json_file_read, "Node_Json_File_Read", [1, Node_Json_File_Read],, "Load .json file using keys.").setVersion(1090); - addNodeObject(input, "JSON File Out", s_node_json_file_write, "Node_Json_File_Write", [1, Node_Json_File_Write],, "Save data to .json file.").setVersion(1090); - addNodeObject(input, "ASE File In", s_node_ase_file, "Node_ASE_File_Read", [0, Node_create_ASE_File_Read],, "Load Aseprite file with support for layers, tags.").setVersion(1100); - addNodeObject(input, "ASE Layer", s_node_ase_layer, "Node_ASE_layer", [1, Node_ASE_layer],, "Load Aseprite project file").setVersion(1100); - addNodeObject(input, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144); - addNodeObject(input, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145); - - ds_list_add(input, "Network"); - addNodeObject(input, "Websocket Receiver", s_node_websocket_receive, "Node_Websocket_Receiver", [1, Node_Websocket_Receiver],, "Create websocket server to receive data from the network.").setVersion(1145); - addNodeObject(input, "Websocket Sender", s_node_websocket_send, "Node_Websocket_Sender", [1, Node_Websocket_Sender],, "Create websocket server to send data to the network.").setVersion(1145); - #endregion - - var transform = ds_list_create(); #region - addNodeCatagory("Transform", transform); - ds_list_add(transform, "Transformations"); - addNodeObject(transform, "Transform", s_node_transform, "Node_Transform", [1, Node_Transform], ["move", "rotate", "scale"], "Move, rotate, and scale image."); - addNodeObject(transform, "Scale", s_node_scale, "Node_Scale", [1, Node_Scale], ["resize"], "Simple node for scaling image."); - addNodeObject(transform, "Scale Algorithm", s_node_scale_algo, "Node_Scale_Algo", [0, Node_create_Scale_Algo], ["scale2x", "scale3x"], "Scale image using scale2x, scale3x algorithm."); - addNodeObject(transform, "Flip", s_node_flip, "Node_Flip", [1, Node_Flip], ["mirror"], "Flip image horizontally or vertically."); - - ds_list_add(transform, "Warps"); - addNodeObject(transform, "Crop", s_node_crop, "Node_Crop", [1, Node_Crop],, "Crop out image to create smaller ones."); - addNodeObject(transform, "Crop Content", s_node_crop_content, "Node_Crop_Content", [1, Node_Crop_Content],, "Crop out empty pixel pixel from the image."); - addNodeObject(transform, "Warp", s_node_warp, "Node_Warp", [1, Node_Warp], ["wrap"], "Warp image by freely moving the corners."); - addNodeObject(transform, "Skew", s_node_skew, "Node_Skew", [1, Node_Skew],, "Skew image horizontally, or vertically."); - addNodeObject(transform, "Mesh Warp", s_node_warp_mesh, "Node_Mesh_Warp", [1, Node_Mesh_Warp], ["mesh wrap"], "Wrap image by converting it to mesh, and using control points."); - addNodeObject(transform, "Polar", s_node_polar, "Node_Polar", [1, Node_Polar],, "Convert image to polar coordinate."); - addNodeObject(transform, "Area Warp", s_node_padding, "Node_Wrap_Area", [1, Node_Wrap_Area],, "Wrap image to fit area value (x, y, w, h)."); - - ds_list_add(transform, "Others"); - addNodeObject(transform, "Composite", s_node_compose, "Node_Composite", [1, Node_Composite], ["merge"], "Combine multiple images with controllable position, rotation, scale."); - addNodeObject(transform, "Nine Slice", s_node_9patch, "Node_9Slice", [1, Node_9Slice], ["9 slice", "splice"], "Cut image into 3x3 parts, and scale/repeat only the middle part."); - addNodeObject(transform, "Padding", s_node_padding, "Node_Padding", [1, Node_Padding],, "Make image bigger by adding space in 4 directions."); - #endregion - - var filter = ds_list_create(); #region - addNodeCatagory("Filter", filter); - ds_list_add(filter, "Combines"); - addNodeObject(filter, "Blend", s_node_blend, "Node_Blend", [0, Node_create_Blend], ["normal", "add", "subtract", "multiply", "screen", "maxx", "minn"], "Blend 2 images using different blendmodes."); - addNodeObject(filter, "RGBA Combine", s_node_RGB_combine, "Node_Combine_RGB", [1, Node_Combine_RGB],, "Combine 4 image in to one. Each image use to control RGBA channel.").setVersion(1070); - addNodeObject(filter, "HSV Combine", s_node_HSV_combine, "Node_Combine_HSV", [1, Node_Combine_HSV],, "Combine 4 image in to one. Each image use to control HSVA channel.").setVersion(1070); - - ds_list_add(filter, "Blurs"); - addNodeObject(filter, "Blur", s_node_blur, "Node_Blur", [1, Node_Blur], ["gaussian blur"], "Blur image smoothly."); - addNodeObject(filter, "Simple Blur", s_node_blur_simple, "Node_Blur_Simple", [1, Node_Blur_Simple],, "Blur image using simpler algorithm. Allowing for variable blur strength.").setVersion(1070); - addNodeObject(filter, "Directional Blur", s_node_blur_directional,"Node_Blur_Directional",[1, Node_Blur_Directional], ["motion blur"], "Blur image given a direction."); - addNodeObject(filter, "Zoom Blur", s_node_zoom, "Node_Blur_Zoom", [1, Node_Blur_Zoom],, "Blur image by zooming in/out from a mid point."); - addNodeObject(filter, "Radial Blur", s_node_radial, "Node_Blur_Radial", [1, Node_Blur_Radial],, "Blur image by rotating aroung a mid point.").setVersion(1110); - addNodeObject(filter, "Lens Blur", s_node_bokeh, "Node_Blur_Bokeh", [1, Node_Blur_Bokeh], ["bokeh"], "Create bokeh effect. Blur lighter color in a lens-like manner.").setVersion(1110); - addNodeObject(filter, "Contrast Blur", s_node_blur_contrast, "Node_Blur_Contrast", [1, Node_Blur_Contrast],, "Blur only pixel of a similiar color."); - addNodeObject(filter, "Average", s_node_average, "Node_Average", [1, Node_Average],, "Average color of every pixels in the image.").setVersion(1110); - - ds_list_add(filter, "Warps"); - addNodeObject(filter, "Mirror", s_node_mirror, "Node_Mirror", [1, Node_Mirror],, "Reflect the image along a reflection line.").setVersion(1070); - addNodeObject(filter, "Twirl", s_node_twirl, "Node_Twirl", [1, Node_Twirl], ["twist"], "Twist the image around a mid point."); - addNodeObject(filter, "Dilate", s_node_dilate, "Node_Dilate", [1, Node_Dilate], ["inflate"], "Expand the image around a mid point."); - addNodeObject(filter, "Displace", s_node_displace, "Node_Displace", [1, Node_Displace], ["distort"], "Distort image using another image as a map."); - addNodeObject(filter, "Texture Remap", s_node_texture_map, "Node_Texture_Remap", [1, Node_Texture_Remap],, "Remap image using texture map. Where red channel control x position and green channel control y position."); - addNodeObject(filter, "Time Remap", s_node_time_map, "Node_Time_Remap", [1, Node_Time_Remap],, "Remap image using texture as time map. Where brighter pixel means using pixel from an older frame."); - addNodeObject(filter, "Morph Surface", s_node_morph_surface, "Node_Morph_Surface", [1, Node_Morph_Surface],, "Morph pixel bewteen two surfaces.").setVersion(1141); - - ds_list_add(filter, "Effects"); - addNodeObject(filter, "Outline", s_node_border, "Node_Outline", [1, Node_Outline], ["border"], "Add border to the image."); - addNodeObject(filter, "Glow", s_node_glow, "Node_Glow", [1, Node_Glow],, "Apply glow to the border of the image."); - addNodeObject(filter, "Shadow", s_node_shadow, "Node_Shadow", [1, Node_Shadow],, "Apply shadow behind the image."); - addNodeObject(filter, "Bloom", s_node_bloom, "Node_Bloom", [1, Node_Bloom],, "Apply bloom effect, bluring and brighten the bright part of the image."); - addNodeObject(filter, "Trail", s_node_trail, "Node_Trail", [1, Node_Trail],, "Blend animation by filling in the pixel 'in-between' two or more frames.").setVersion(1130); - addNodeObject(filter, "Erode", s_node_erode, "Node_Erode", [1, Node_Erode],, "Remove pixel that are close to the border of the image."); - addNodeObject(filter, "Corner", s_node_corner, "Node_Corner", [1, Node_Corner], ["round corner"], "Round out sharp corner of the image.").setVersion(1110); - addNodeObject(filter, "2D Light", s_node_2d_light, "Node_2D_light", [1, Node_2D_light],, "Apply different shaped light on the image."); - addNodeObject(filter, "Cast Shadow", s_node_shadow_cast, "Node_Shadow_Cast", [1, Node_Shadow_Cast],, "Apply light that create shadow using shadow mask.").setVersion(1100); - addNodeObject(filter, "Pixel Expand", s_node_atlas, "Node_Atlas", [1, Node_Atlas], ["atlas"], "Replace transparent pixel with the closet non-transparent pixel."); - addNodeObject(filter, "Pixel Cloud", s_node_pixel_cloud, "Node_Pixel_Cloud", [1, Node_Pixel_Cloud],, "Displace each pixel of the image randomly."); - addNodeObject(filter, "Pixel Sort", s_node_pixel_sort, "Node_Pixel_Sort", [1, Node_Pixel_Sort],, "Sort pixel by brightness in horizontal, or vertial axis."); - addNodeObject(filter, "Edge Detect", s_node_edge_detect, "Node_Edge_Detect", [1, Node_Edge_Detect],, "Edge detect by applying Sobel, Prewitt, or Laplacian kernel."); - addNodeObject(filter, "Convolution", s_node_convolution, "Node_Convolution", [1, Node_Convolution], ["kernel"], "Apply convolution operation on each pixel using a custom 3x3 kernel.").setVersion(1090); - addNodeObject(filter, "Local Analyze", s_node_local_analyze, "Node_Local_Analyze", [1, Node_Local_Analyze],, "Apply non-linear operation (minimum, maximum) on each pixel locally.").setVersion(1110); - addNodeObject(filter, "SDF", s_node_sdf, "Node_SDF", [1, Node_SDF],, "Create signed distance field using jump flooding algorithm.").setVersion(1130); - addNodeObject(filter, "Replace Image", s_node_image_replace, "Node_Surface_Replace", [1, Node_Surface_Replace], ["image replace"], "Replace instances of an image with a new one.").setVersion(1140); - addNodeObject(filter, "Chromatic Aberration", s_node_chromatic_abarration, "Node_Chromatic_Aberration", [1, Node_Chromatic_Aberration],, "Apply chromatic aberration effect to the image."); - addNodeObject(filter, "FXAA", s_node_FXAA, "Node_FXAA", [1, Node_FXAA],, "Apply fast approximate anti-aliasing to the image."); - - ds_list_add(filter, "Colors"); - addNodeObject(filter, "Replace Palette", s_node_replace_palette, "Node_Color_replace", [1, Node_Color_replace], ["isolate color", "select color", "palette swap", "color replace"], "Replace color that match one palette with another palette."); - addNodeObject(filter, "Replace Colors", s_node_color_replace, "Node_Colors_Replace", [1, Node_Colors_Replace], ["isolate color", "select color", "palette swap", "color replace"]); - addNodeObject(filter, "Remove Color", s_node_color_remove, "Node_Color_Remove", [1, Node_Color_Remove], ["delete color"], "Remove color that match a palette."); - addNodeObject(filter, "Colorize", s_node_colorize, "Node_Colorize", [1, Node_Colorize], ["recolor"], "Map brightness of a pixel to a color from a gradient."); - addNodeObject(filter, "Posterize", s_node_posterize, "Node_Posterize", [1, Node_Posterize],, "Reduce and remap color to match a palette."); - addNodeObject(filter, "Dither", s_node_dithering, "Node_Dither", [1, Node_Dither],, "Reduce color and use dithering to preserve original color."); - addNodeObject(filter, "Color Adjust", s_node_color_adjust, "Node_Color_adjust", [1, Node_Color_adjust], ["brightness", "contrast", "hue", "saturation", "value", "color blend", "alpha"], "Adjust brightness, contrast, hue, saturation, value, alpha, and blend image with color."); - addNodeObject(filter, "Palette Shift", s_node_palette_shift, "Node_Palette_Shift", [1, Node_Palette_Shift],, "Shift the order of color in palette.").setVersion(1147); - addNodeObject(filter, "BW", s_node_BW, "Node_BW", [1, Node_BW], ["black and white"], "Convert color image to black and white."); - addNodeObject(filter, "Greyscale", s_node_greyscale, "Node_Greyscale", [1, Node_Greyscale],, "Convert color image to greyscale."); - addNodeObject(filter, "Invert", s_node_invert, "Node_Invert", [1, Node_Invert], ["negate"], "Invert color."); - addNodeObject(filter, "Level", s_node_level, "Node_Level", [1, Node_Level],, "Adjust brightness of an image by changing its brightness range."); - addNodeObject(filter, "Level Selector", s_node_level_selector, "Node_Level_Selector", [1, Node_Level_Selector],, "Isolate part of the image that falls in the selected brightness range."); - addNodeObject(filter, "Curve", s_node_curve_edit, "Node_Curve", [1, Node_Curve],, "Adjust brightness of an image using curves.").setVersion(1120); - addNodeObject(filter, "Threshold", s_node_threshold, "Node_Threshold", [1, Node_Threshold],, "Set a threshold where pixel darker will becomes black, and brighter to white. Also works with alpha.").setVersion(1080); - addNodeObject(filter, "Alpha Cutoff", s_node_alpha_cut, "Node_Alpha_Cutoff", [1, Node_Alpha_Cutoff], ["remove alpha"], "Remove pixel with low alpha value."); - - ds_list_add(filter, "Conversions"); - addNodeObject(filter, "RGBA Extract", s_node_RGB, "Node_RGB_Channel", [1, Node_RGB_Channel], ["channel extract"], "Extract RGBA channel on an image, each channel becomes its own image."); - addNodeObject(filter, "HSV Extract", s_node_HSV, "Node_HSV_Channel", [1, Node_HSV_Channel],, "Extract HSVA channel on an image, each channel becomes its own image.").setVersion(1070); - addNodeObject(filter, "Alpha to Grey", s_node_alpha_grey, "Node_Alpha_Grey", [1, Node_Alpha_Grey],, "Convert alpha value into solid greyscale."); - addNodeObject(filter, "Grey to Alpha", s_node_grey_alpha, "Node_Grey_Alpha", [1, Node_Grey_Alpha],, "Convert greyscale to alpha value."); - - ds_list_add(filter, "Fixes"); - addNodeObject(filter, "De-Corner", s_node_decorner, "Node_De_Corner", [1, Node_De_Corner], ["decorner"], "Attempt to remove single pixel corner from the image."); - addNodeObject(filter, "De-Stray", s_node_destray, "Node_De_Stray", [1, Node_De_Stray], ["destray"], "Attempt to remove orphan pixel."); - #endregion - - var d3d = ds_list_create(); #region - addNodeCatagory("3D", d3d); - ds_list_add(d3d, "2D Operations"); - addNodeObject(d3d, "Normal", s_node_normal, "Node_Normal", [1, Node_Normal],, "Create normal map using greyscale value as height."); - addNodeObject(d3d, "Normal Light", s_node_normal_light, "Node_Normal_Light", [1, Node_Normal_Light],, "Light up the image using normal mapping."); - addNodeObject(d3d, "Bevel", s_node_bevel, "Node_Bevel", [1, Node_Bevel], ["shade", "auto shade"], "Apply 2D bevel on the image."); - addNodeObject(d3d, "Sprite Stack", s_node_stack, "Node_Sprite_Stack", [1, Node_Sprite_Stack],, "Create sprite stack either from repeating a single image or stacking different images using array."); - - ds_list_add(d3d, "3D"); - addNodeObject(d3d, "3D Camera", s_node_3d_camera, "Node_3D_Camera", [1, Node_3D_Camera],, "Create 3D camera that render scene to surface.").setVersion(11510); - addNodeObject(d3d, "3D Camera Set", s_node_3d_camera_set, "Node_3D_Camera_Set", [1, Node_3D_Camera_Set],, "3D camera with build-in key and fill directional lights.").setVersion(11571); - addNodeObject(d3d, "3D Material", s_node_3d_meterial, "Node_3D_Material", [1, Node_3D_Material],, "Create 3D material with adjustable parameters.").setVersion(11510); - addNodeObject(d3d, "3D Scene", s_node_3d_scene, "Node_3D_Scene", [1, Node_3D_Scene],, "Combine multiple 3D objects into a single junction.").setVersion(11510); - addNodeObject(d3d, "3D Repeat", s_node_3d_array, "Node_3D_Repeat", [1, Node_3D_Repeat],, "Repeat the same 3D mesh multiple times.").setVersion(11510); - addNodeObject(d3d, "Transform 3D", s_node_image_transform_3d, "Node_3D_Transform_Image", [1, Node_3D_Transform_Image],, "Transform image in 3D space").setVersion(11600); - - ds_list_add(d3d, "Mesh"); - addNodeObject(d3d, "3D Object", s_node_3d_obj, "Node_3D_Mesh_Obj", [0, Node_create_3D_Obj],, "Load .obj file from your computer as a 3D object.").setVersion(11510); - addNodeObject(d3d, "3D Plane", s_node_3d_plane, "Node_3D_Mesh_Plane", [1, Node_3D_Mesh_Plane],, "Put 2D image on a plane in 3D space.").setVersion(11510); - addNodeObject(d3d, "3D Cube", s_node_3d_cube, "Node_3D_Mesh_Cube", [1, Node_3D_Mesh_Cube]).setVersion(11510); - addNodeObject(d3d, "3D Cylinder", s_node_3d_cylinder, "Node_3D_Mesh_Cylinder", [1, Node_3D_Mesh_Cylinder]).setVersion(11510); - addNodeObject(d3d, "3D UV Sphere", s_node_3d_sphere_uv, "Node_3D_Mesh_Sphere_UV", [1, Node_3D_Mesh_Sphere_UV]).setVersion(11510); - addNodeObject(d3d, "3D Icosphere", s_node_3d_sphere_ico, "Node_3D_Mesh_Sphere_Ico", [1, Node_3D_Mesh_Sphere_Ico]).setVersion(11510); - addNodeObject(d3d, "3D Cone", s_node_3d_cone, "Node_3D_Mesh_Cone", [1, Node_3D_Mesh_Cone]).setVersion(11510); - addNodeObject(d3d, "3D Terrain", s_node_3d_displace, "Node_3D_Mesh_Terrain", [1, Node_3D_Mesh_Terrain],, "Create 3D terrain from height map.").setVersion(11560); - addNodeObject(d3d, "Surface Extrude", s_node_3d_extrude, "Node_3D_Mesh_Extrude", [1, Node_3D_Mesh_Extrude],, "Extrude 2D image into 3D object.").setVersion(11510); - - ds_list_add(d3d, "Light"); - addNodeObject(d3d, "Directional Light", s_node_3d_light_directi, "Node_3D_Light_Directional", [1, Node_3D_Light_Directional],, "Create directional light directed at the origin point.").setVersion(11510); - addNodeObject(d3d, "Point Light", s_node_3d_light_point, "Node_3D_Light_Point", [1, Node_3D_Light_Point],, "Create point light to illuminate surrounding area.").setVersion(11510); - - ds_list_add(d3d, "Modify"); - addNodeObject(d3d, "Discretize vertex", s_node_3d_discretize, "Node_3D_Round_Vertex", [1, Node_3D_Round_Vertex],, "Round out vertex position to a specified step.").setVersion(11560); - addNodeObject(d3d, "Set Material", s_node_3d_set_material, "Node_3D_Set_Material", [1, Node_3D_Set_Material],, "Replace mesh material with a new one.").setVersion(11560); - addNodeObject(d3d, "Transform", s_node_3d_transform, "Node_3D_Transform", [1, Node_3D_Transform],, "Transform 3D object.").setVersion(11570); - addNodeObject(d3d, "Transform Scene", s_node_3d_transform_scene, "Node_3D_Transform_Scene", [1, Node_3D_Transform_Scene],, "Transform 3D scene, accepts array of transformations for each objects.").setVersion(11570); - addNodeObject(d3d, "UV Remap", s_node_uv_remap, "Node_3D_UV_Remap", [1, Node_3D_UV_Remap],, "Remap UV map using plane.").setVersion(11570); - ///**/ addNodeObject(d3d, "3D Instancer", s_node_3d_set_material, "Node_3D_Instancer", [1, Node_3D_Instancer]).setVersion(11560); - ///**/ addNodeObject(d3d, "3D Particle", s_node_3d_set_material, "Node_3D_Particle", [1, Node_3D_Particle]).setVersion(11560); - - ds_list_add(d3d, "Points"); - addNodeObject(d3d, "Point Affector", s_node_3d_point_affector, "Node_3D_Point_Affector", [1, Node_3D_Point_Affector],, "Generate array of 3D points interpolating between two values based on the distance.").setVersion(11570); - #endregion - - var generator = ds_list_create(); #region - addNodeCatagory("Generate", generator); - ds_list_add(generator, "Colors"); - addNodeObject(generator, "Solid", s_node_solid, "Node_Solid", [1, Node_Solid],, "Create image of a single color."); - addNodeObject(generator, "Draw Gradient", s_node_gradient, "Node_Gradient", [1, Node_Gradient],, "Create image from gradient."); - addNodeObject(generator, "4 Points Gradient", s_node_gradient_4points, "Node_Gradient_Points", [1, Node_Gradient_Points],, "Create image from 4 color points."); - - ds_list_add(generator, "Drawer"); - addNodeObject(generator, "Line", s_node_line, "Node_Line", [1, Node_Line],, "Draw line on an image. Connect path data to it to draw line from path."); - addNodeObject(generator, "Draw Text", s_node_text_render, "Node_Text", [1, Node_Text],, "Draw text on an image."); - addNodeObject(generator, "Shape", s_node_shape, "Node_Shape", [1, Node_Shape],, "Draw simple shapes using signed distance field."); - addNodeObject(generator, "Polygon Shape", s_node_shape_polygon, "Node_Shape_Polygon", [1, Node_Shape_Polygon],, "Draw simple shapes using triangles.").setVersion(1130); - addNodeObject(generator, "Interpret Number", s_node_interpret_number, "Node_Interpret_Number", [1, Node_Interpret_Number],, "Convert array of number into surface.").setVersion(11530); - addNodeObject(generator, "Random Shape", s_node_random_shape, "Node_Random_Shape", [1, Node_Random_Shape],, "Generate random shape, use for testing purposes.").setVersion(1147); - addNodeObject(generator, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(11540); - addNodeObject(generator, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144); - - ds_list_add(generator, "Noises"); - addNodeObject(generator, "Noise", s_node_noise, "Node_Noise", [1, Node_Noise],, "Generate white noise."); - addNodeObject(generator, "Perlin Noise", s_node_noise_perlin, "Node_Perlin", [1, Node_Perlin],, "Generate perlin noise."); - addNodeObject(generator, "Simplex Noise", s_node_noise_simplex, "Node_Noise_Simplex", [1, Node_Noise_Simplex], ["perlin"], "Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable.").setVersion(1080); - addNodeObject(generator, "Cellular Noise", s_node_noise_cell, "Node_Cellular", [1, Node_Cellular], ["voronoi", "worley"], "Generate voronoi pattern."); - addNodeObject(generator, "Anisotropic Noise", s_node_noise_aniso, "Node_Noise_Aniso", [1, Node_Noise_Aniso],, "Generate anisotropic noise."); - addNodeObject(generator, "Extra Perlins", s_node_perlin_extra, "Node_Perlin_Extra", [1, Node_Perlin_Extra], ["noise"], "Random perlin noise made with different algorithms.").patreonExtra(); - addNodeObject(generator, "Extra Voronoi", s_node_voronoi_extra, "Node_Voronoi_Extra", [1, Node_Voronoi_Extra], ["noise"], "Random voronoi noise made with different algorithms.").patreonExtra(); - addNodeObject(generator, "Gabor Noise", s_node_gabor, "Node_Gabor_Noise", [1, Node_Gabor_Noise]).patreonExtra(); - addNodeObject(generator, "Shard Noise", s_node_shard, "Node_Shard_Noise", [1, Node_Shard_Noise]).patreonExtra(); - addNodeObject(generator, "Wavelet Noise", s_node_wavelet, "Node_Wavelet_Noise", [1, Node_Wavelet_Noise]).patreonExtra(); - addNodeObject(generator, "Caustic", s_node_caustic, "Node_Caustic", [1, Node_Caustic]).patreonExtra(); - - ds_list_add(generator, "Patterns"); - addNodeObject(generator, "Stripe", s_node_stripe, "Node_Stripe", [1, Node_Stripe],, "Generate stripe pattern."); - addNodeObject(generator, "Zigzag", s_node_zigzag, "Node_Zigzag", [1, Node_Zigzag],, "Generate zigzag pattern."); - addNodeObject(generator, "Checker", s_node_checker, "Node_Checker", [1, Node_Checker],, "Genearte checkerboard pattern."); - addNodeObject(generator, "Grid", s_node_grid, "Node_Grid", [1, Node_Grid], ["tile"], "Generate grid pattern."); - addNodeObject(generator, "Triangular Grid", s_node_grid_tri, "Node_Grid_Tri", [1, Node_Grid_Tri],, "Generate triangular grid pattern."); - addNodeObject(generator, "Hexagonal Grid", s_node_grid_hex, "Node_Grid_Hex", [1, Node_Grid_Hex],, "Generate hexagonal grid pattern."); - - ds_list_add(generator, "Populate"); - addNodeObject(generator, "Repeat", s_node_repeat, "Node_Repeat", [1, Node_Repeat],, "Repeat image multiple times linearly, or in grid pattern.").setVersion(1100); - addNodeObject(generator, "Scatter", s_node_scatter, "Node_Scatter", [1, Node_Scatter],, "Scatter image randomly multiple times."); - - ds_list_add(generator, "Simulation"); - addNodeObject(generator, "Particle", s_node_particle, "Node_Particle", [1, Node_Particle],, "Generate particle effect."); - addNodeObject(generator, "VFX", s_node_vfx, "Node_VFX_Group", [1, Node_VFX_Group],, "Create VFX group, which generate particles that can be manipulated using different force nodes."); - addNodeObject(generator, "RigidSim", s_node_rigidSim, "Node_Rigid_Group", [1, Node_Rigid_Group],, "Create group for rigidbody simulation.").setVersion(1110); - addNodeObject(generator, "RigidSim Global", s_node_rigidSim_global, "Node_Rigid_Global", [1, Node_Rigid_Global]).setVersion(1110); - addNodeObject(generator, "SmokeSim", s_node_smokeSim_group, "Node_Fluid_Group", [1, Node_Fluid_Group],, "Create group for fluid simulation.").setVersion(1120); - addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group", [1, Node_Strand_Group], ["Hair"], "Create group for hair simulation.").setVersion(1140); - - ds_list_add(generator, "Region"); - addNodeObject(generator, "Separate Shape", s_node_sepearte_shape, "Node_Seperate_Shape", [1, Node_Seperate_Shape],, "Separate disconnected pixel each into an image in an image array."); - addNodeObject(generator, "Region Fill", s_node_region_fill, "Node_Region_Fill", [1, Node_Region_Fill],, "Fill connected pixel with colors.").setVersion(1147); - addNodeObject(generator, "Flood Fill", s_node_flood_fill, "Node_Flood_Fill", [1, Node_Flood_Fill],, "Filled connected pixel given position and color.").setVersion(1133); - - ds_list_add(generator, "MK Effects"); - addNodeObject(generator, "MK Rains", s_node_mk_rain, "Node_MK_Rain", [1, Node_MK_Rain]).setVersion(11600); - addNodeObject(generator, "MK GridBalls", s_node_mk_ball_grid, "Node_MK_GridBalls", [1, Node_MK_GridBalls]).setVersion(11600); - addNodeObject(generator, "MK GridFlip", s_node_mk_flip_grid, "Node_MK_GridFlip", [1, Node_MK_GridFlip]).setVersion(11600); - addNodeObject(generator, "MK Saber", s_node_mk_saber, "Node_MK_Saber", [1, Node_MK_Saber]).setVersion(11600); - if(TESTING) addNodeObject(generator, "MK Tile", s_node_mk_saber, "Node_MK_Tile", [1, Node_MK_Tile]).setVersion(11600); - #endregion - - var compose = ds_list_create(); #region - addNodeCatagory("Compose", compose); - ds_list_add(compose, "Composes"); - addNodeObject(compose, "Blend", s_node_blend, "Node_Blend", [1, Node_Blend],, "Combine 2 images using different blend modes."); - addNodeObject(compose, "Composite", s_node_compose, "Node_Composite", [1, Node_Composite],, "Combine multiple images with custom transformation."); - addNodeObject(compose, "Stack", s_node_draw_stack, "Node_Stack", [1, Node_Stack],, "Place image next to each other linearly, or on top of each other.").setVersion(1070); - addNodeObject(compose, "Camera", s_node_camera, "Node_Camera", [1, Node_Camera],, "Create camera that crop image to fix dimension with control of position, zoom. Also can be use to create parallax effect."); - addNodeObject(compose, "Render Spritesheet", s_node_sprite_sheet, "Node_Render_Sprite_Sheet", [1, Node_Render_Sprite_Sheet],, "Create spritesheet from image array or animation."); - addNodeObject(compose, "Pack Sprites", s_node_pack_sprite, "Node_Pack_Sprites", [1, Node_Pack_Sprites],, "Combine array of images with different dimension using different algorithms.").setVersion(1140); - - ds_list_add(compose, "Armature"); - addNodeObject(compose, "Armature Create", s_node_armature_create, "Node_Armature", [1, Node_Armature], ["rigging", "bone"], "Create new armature system.").setVersion(1146); - addNodeObject(compose, "Armature Pose", s_node_armature_pose, "Node_Armature_Pose", [1, Node_Armature_Pose], ["rigging", "bone"], "Pose armature system.").setVersion(1146); - addNodeObject(compose, "Armature Bind", s_node_armature_bind, "Node_Armature_Bind", [1, Node_Armature_Bind], ["rigging", "bone"], "Bind and render image to an armature system.").setVersion(1146); - addNodeObject(compose, "Armature Path", s_node_armature_path, "Node_Armature_Path", [1, Node_Armature_Path], ["rigging", "bone"], "Generate path from armature system.").setVersion(1146); - addNodeObject(compose, "Armature Sample", s_node_armature_sample, "Node_Armature_Sample", [1, Node_Armature_Sample], ["rigging", "bone"], "Sample point from armature system.").setVersion(1147); - - if(!DEMO) { - ds_list_add(compose, "Export"); - addNodeObject(compose, "Export", s_node_export, "Node_Export", [0, Node_create_Export],, "Export image/animation to file(s)."); - } - #endregion - - var values = ds_list_create(); #region - addNodeCatagory("Values", values); - ds_list_add(values, "Raw data"); - addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]); - addNodeObject(values, "Text", s_node_text, "Node_String", [1, Node_String]); - addNodeObject(values, "Path", s_node_path, "Node_Path", [1, Node_Path]); - addNodeObject(values, "Area", s_node_area, "Node_Area", [1, Node_Area]); - addNodeObject(values, "Boolean", s_node_boolean, "Node_Boolean", [1, Node_Boolean]).setVersion(1090); - - ds_list_add(values, "Numbers"); - addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]); - addNodeObject(values, "To Number", s_node_to_number, "Node_To_Number", [1, Node_To_Number]).setVersion(1145); - addNodeObject(values, "Math", s_node_math, "Node_Math", [0, Node_create_Math], [ "add", "subtract", "multiply", "divide", "power", "modulo", "round", "ceiling", "floor", "sin", "cos", "tan", "abs" ]); - addNodeObject(values, "Equation", s_node_equation, "Node_Equation", [0, Node_create_Equation],, "Evaluate string of equation. With an option for setting variables."); - addNodeObject(values, "Random", s_node_random, "Node_Random", [1, Node_Random]); - addNodeObject(values, "Statistic", s_node_statistic, "Node_Statistic", [0, Node_create_Statistic], ["sum", "average", "mean", "median", "min", "max"]); - addNodeObject(values, "Convert Base", s_node_base_conversion, "Node_Base_Convert", [1, Node_Base_Convert], ["base convert", "binary", "hexadecimal"]).setVersion(1140); - addNodeObject(values, "Vector2", s_node_vec2, "Node_Vector2", [1, Node_Vector2]); - addNodeObject(values, "Vector3", s_node_vec3, "Node_Vector3", [1, Node_Vector3]); - addNodeObject(values, "Vector4", s_node_vec4, "Node_Vector4", [1, Node_Vector4]); - addNodeObject(values, "Vector Split", s_node_vec_split, "Node_Vector_Split", [1, Node_Vector_Split]); - addNodeObject(values, "Scatter Points", s_node_scatter_point, "Node_Scatter_Points", [1, Node_Scatter_Points],, "Generate array of vector 2 points for scattering.").setVersion(1120); - addNodeObject(values, "Translate Point",s_node_translate_point, "Node_Move_Point", [1, Node_Move_Point]).setVersion(1141); - addNodeObject(values, "Dot product", s_node_dot_product, "Node_Vector_Dot", [1, Node_Vector_Dot]).setVersion(1141); - addNodeObject(values, "Cross product 3D", s_node_cross_product_2d, "Node_Vector_Cross_3D", [1, Node_Vector_Cross_3D]).setVersion(1141); - addNodeObject(values, "Cross product 2D", s_node_cross_product_3d, "Node_Vector_Cross_2D", [1, Node_Vector_Cross_2D]).setVersion(1141); - addNodeObject(values, "FFT", s_node_FFT, "Node_FFT", [1, Node_FFT], ["frequency analysis"], "Perform fourier transform on number array.").setVersion(1144); - addNodeObject(values, "Transform Array",s_node_transform_array, "Node_Transform_Array", [1, Node_Transform_Array]).setVersion(1146); - - ds_list_add(values, "Texts"); - addNodeObject(values, "Text", s_node_text, "Node_String", [1, Node_String]); - addNodeObject(values, "To Text", s_node_to_text, "Node_To_Text", [1, Node_To_Text]).setVersion(1145); - addNodeObject(values, "Unicode", s_node_unicode, "Node_Unicode", [1, Node_Unicode]); - addNodeObject(values, "Text Length", s_node_text_length, "Node_String_Length", [1, Node_String_Length]).setVersion(1138); - addNodeObject(values, "Combine Text", s_node_text_combine, "Node_String_Merge", [1, Node_String_Merge]); - addNodeObject(values, "Join Text", s_node_text_join, "Node_String_Join", [1, Node_String_Join]).setVersion(1120); - addNodeObject(values, "Split Text", s_node_text_splice, "Node_String_Split", [1, Node_String_Split]); - addNodeObject(values, "Trim Text", s_node_text_trim, "Node_String_Trim", [1, Node_String_Trim]).setVersion(1080); - addNodeObject(values, "Get Character", s_node_text_char_get, "Node_String_Get_Char", [1, Node_String_Get_Char]).setVersion(1100); - addNodeObject(values, "RegEx Match", s_node_regex_match, "Node_String_Regex_Match", [1, Node_String_Regex_Match]).setVersion(1140); - addNodeObject(values, "RegEx Search", s_node_regex_search, "Node_String_Regex_Search", [1, Node_String_Regex_Search]).setVersion(1140); - addNodeObject(values, "RegEx Replace", s_node_regex_replace, "Node_String_Regex_Replace", [1, Node_String_Regex_Replace]).setVersion(1140); - addNodeObject(values, "Separate File Path", s_node_separate_file_path, "Node_Path_Separate_Folder", [1, Node_Path_Separate_Folder]).setVersion(1145); - - ds_list_add(values, "Arrays"); - addNodeObject(values, "Array", s_node_array, "Node_Array", [1, Node_Array]); - addNodeObject(values, "Array Range", s_node_array_range, "Node_Array_Range", [1, Node_Array_Range],, "Create array of numbers by setting start, end and step length."); - addNodeObject(values, "Array Add", s_node_array_add, "Node_Array_Add", [1, Node_Array_Add], ["add array"]); - addNodeObject(values, "Array Length", s_node_array_length, "Node_Array_Length", [1, Node_Array_Length]); - addNodeObject(values, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]); - addNodeObject(values, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).setVersion(1120); - addNodeObject(values, "Array Find", s_node_array_find, "Node_Array_Find", [1, Node_Array_Find], ["find array"]).setVersion(1120); - addNodeObject(values, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).setVersion(1120); - addNodeObject(values, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120); - addNodeObject(values, "Array Reverse", s_node_array_reverse, "Node_Array_Reverse", [1, Node_Array_Reverse], ["reverse array"]).setVersion(1120); - addNodeObject(values, "Array Shift", s_node_array_shift, "Node_Array_Shift", [1, Node_Array_Shift]).setVersion(1137); - addNodeObject(values, "Array Zip", s_node_array_zip, "Node_Array_Zip", [1, Node_Array_Zip]).setVersion(1138); - addNodeObject(values, "Array Copy", s_node_array_copy, "Node_Array_Copy", [1, Node_Array_Copy]).setVersion(1144); - addNodeObject(values, "Array Convolute",s_node_array_convolute, "Node_Array_Convolute", [1, Node_Array_Convolute]).setVersion(11540); - addNodeObject(values, "Array Composite",s_node_array_composite, "Node_Array_Composite", [1, Node_Array_Composite]).setVersion(11540); - addNodeObject(values, "Array Sample", s_node_array_sample, "Node_Array_Sample", [1, Node_Array_Sample]).setVersion(11540); - addNodeObject(values, "Sort Number", s_node_array_sort, "Node_Array_Sort", [1, Node_Array_Sort], ["array sort"]).setVersion(1120); - addNodeObject(values, "Shuffle Array", s_node_array_shuffle, "Node_Array_Shuffle", [1, Node_Array_Shuffle], ["array shuffle"]).setVersion(1120); - addNodeObject(values, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array."); - addNodeObject(values, "Filter Array", s_node_filter_array, "Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140); - addNodeObject(values, "Sort Array", s_node_sort_array, "Node_Iterate_Sort", [1, Node_Iterate_Sort],, "Sort array using node graph.").setVersion(1143); - addNodeObject(values, "Parse CSV", s_node_csv_parse, "Node_Array_CSV_Parse", [1, Node_Array_CSV_Parse]).setVersion(1145); - - ds_list_add(values, "Paths"); - addNodeObject(values, "Path", s_node_path, "Node_Path", [1, Node_Path]); - addNodeObject(values, "Path Anchor", s_node_path_anchor, "Node_Path_Anchor", [1, Node_Path_Anchor]).setVersion(1140); - addNodeObject(values, "Path Array", s_node_path_array, "Node_Path_Array", [1, Node_Path_Array]).setVersion(1137); - addNodeObject(values, "Sample Path", s_node_path_sample, "Node_Path_Sample", [1, Node_Path_Sample], ["path sample"], "Sample a 2D position from a path"); - addNodeObject(values, "Blend Path", s_node_path_blend, "Node_Path_Blend", [1, Node_Path_Blend],, "Blend between 2 paths."); - addNodeObject(values, "Remap Path", s_node_path_map, "Node_Path_Map_Area", [1, Node_Path_Map_Area],, "Scale path to fit a given area.").setVersion(1130); - addNodeObject(values, "Transform Path", s_node_path_transform, "Node_Path_Transform", [1, Node_Path_Transform]).setVersion(1130); - addNodeObject(values, "Shift Path", s_node_path_shift, "Node_Path_Shift", [1, Node_Path_Shift],, "Move path along its normal.").setVersion(1130); - addNodeObject(values, "Trim Path", s_node_path_trim, "Node_Path_Trim", [1, Node_Path_Trim]).setVersion(1130); - addNodeObject(values, "Wave Path", s_node_path_wave, "Node_Path_Wave", [1, Node_Path_Wave], ["zigzag path"]).setVersion(1130); - addNodeObject(values, "Reverse Path", s_node_path_reverse, "Node_Path_Reverse", [1, Node_Path_Reverse]).setVersion(1130); - addNodeObject(values, "Path Builder", s_node_path_builder, "Node_Path_Builder", [1, Node_Path_Builder],, "Create path from array of vec2 points.").setVersion(1137); - addNodeObject(values, "L system", s_node_path_l_system, "Node_Path_L_System", [1, Node_Path_L_System]).setVersion(1137); - addNodeObject(values, "Path plot", s_node_path_plot, "Node_Path_Plot", [1, Node_Path_Plot]).setVersion(1138); - - ds_list_add(values, "Boolean"); - addNodeObject(values, "Boolean", s_node_boolean, "Node_Boolean", [1, Node_Boolean]); - addNodeObject(values, "Compare", s_node_compare, "Node_Compare", [0, Node_create_Compare], ["equal", "greater", "lesser"]); - addNodeObject(values, "Logic Opr", s_node_logic_opr, "Node_Logic", [0, Node_create_Logic], [ "and", "or", "not", "nand", "nor" , "xor" ]); - - ds_list_add(values, "Trigger"); - addNodeObject(values, "Trigger", s_node_trigger, "Node_Trigger", [1, Node_Trigger]).setVersion(1140); - addNodeObject(values, "Boolean Trigger", s_node_trigger_bool, "Node_Trigger_Bool", [1, Node_Trigger_Bool], ["trigger boolean"]).setVersion(1140); - - ds_list_add(values, "Struct"); - addNodeObject(values, "Struct", s_node_struct, "Node_Struct", [1, Node_Struct]); - addNodeObject(values, "Struct Get", s_node_struct_get, "Node_Struct_Get", [1, Node_Struct_Get]); - //addNodeObject(values, "Struct Set", s_node_struct_get, "Node_Struct_Set", [1, Node_Struct_Set]); - addNodeObject(values, "Parse JSON", s_node_json_parse, "Node_Struct_JSON_Parse", [1, Node_Struct_JSON_Parse]).setVersion(1145); - - ds_list_add(values, "Mesh"); - addNodeObject(values, "Path to Mesh", s_node_mesh_path, "Node_Mesh_Create_Path", [1, Node_Mesh_Create_Path],, "Create mesh from path.").setVersion(1140); - addNodeObject(values, "Mesh Transform", s_node_mesh_transform, "Node_Mesh_Transform", [1, Node_Mesh_Transform]).setVersion(1140); - - ds_list_add(values, "Atlas"); - addNodeObject(values, "Draw Atlas", s_node_draw_atlas, "Node_Atlas_Draw", [1, Node_Atlas_Draw],, "Render image atlas to a surface.").setVersion(1141); - addNodeObject(values, "Atlas Get", s_node_atlas_get, "Node_Atlas_Get", [1, Node_Atlas_Get]).setVersion(1141); - addNodeObject(values, "Atlas Set", s_node_atlas_set, "Node_Atlas_Set", [1, Node_Atlas_Set]).setVersion(1141); - - ds_list_add(values, "Surface"); - //addNodeObject(values, "Dynamic Surface", s_node_dynasurf, "Node_dynaSurf", [1, Node_dynaSurf]).setVersion(11520); - addNodeObject(values, "IsoSurf", s_node_isosurf, "Node_IsoSurf", [1, Node_IsoSurf]).setVersion(11520); - addNodeObject(values, "Surface from Buffer", s_node_surface_from_buffer, "Node_Surface_From_Buffer", [1, Node_Surface_From_Buffer], ["buffer to surface"], "Create surface from buffer.").setVersion(1146); - - ds_list_add(values, "Buffer"); - addNodeObject(values, "Buffer from Surface", s_node_surface_to_buffer, "Node_Surface_To_Buffer", [1, Node_Surface_To_Buffer], ["surface to buffer"], "Create buffer from surface.").setVersion(1146); - #endregion - - var color = ds_list_create(); #region - addNodeCatagory("Color", color); - ds_list_add(color, "Colors"); - addNodeObject(color, "Color", s_node_color_out, "Node_Color", [1, Node_Color],, "Create color value."); - addNodeObject(color, "RGB Color", s_node_color_from_rgb, "Node_Color_RGB", [1, Node_Color_RGB],, "Create color from RGB value."); - addNodeObject(color, "HSV Color", s_node_color_from_hsv, "Node_Color_HSV", [1, Node_Color_HSV],, "Create color from HSV value."); - addNodeObject(color, "Sampler", s_node_sampler, "Node_Sampler", [1, Node_Sampler],, "Sample color from an image."); - addNodeObject(color, "Color Data", s_node_color_data, "Node_Color_Data", [1, Node_Color_Data],, "Get data (rgb, hsv, brightness) from color."); - addNodeObject(color, "Find pixel", s_node_pixel_find, "Node_Find_Pixel", [1, Node_Find_Pixel],, "Get the position of the first pixel with a given color.").setVersion(1130); - addNodeObject(color, "Mix Color", s_node_color_mix, "Node_Color_Mix", [1, Node_Color_Mix]).setVersion(1140); - - ds_list_add(color, "Palettes"); - addNodeObject(color, "Palette", s_node_palette, "Node_Palette", [1, Node_Palette],, "Create palette value. Note that palette is simple an array of colors."); - addNodeObject(color, "Sort Palette", s_node_palette_sort, "Node_Palette_Sort", [1, Node_Palette_Sort],, "Sort palette with specified order.").setVersion(1130); - addNodeObject(color, "Palette Extract", s_node_palette_extract, "Node_Palette_Extract", [1, Node_Palette_Extract],, "Extract palette from an image.").setVersion(1100); - addNodeObject(color, "Palette Replace", s_node_palette_replace, "Node_Palette_Replace", [1, Node_Palette_Replace],, "Replace colors in a palette with new one.").setVersion(1120); - - ds_list_add(color, "Gradient"); - addNodeObject(color, "Gradient", s_node_gradient_out, "Node_Gradient_Out", [1, Node_Gradient_Out],, "Create gradient object"); - addNodeObject(color, "Palette to Gradient", s_node_gradient_palette, "Node_Gradient_Palette", [1, Node_Gradient_Palette],, "Create gradient from palette.").setVersion(1135); - addNodeObject(color, "Gradient Shift", s_node_gradient_shift, "Node_Gradient_Shift", [1, Node_Gradient_Shift],, "Move gradients keys."); - addNodeObject(color, "Gradient Replace", s_node_gradient_replace, "Node_Gradient_Replace_Color", [1, Node_Gradient_Replace_Color],, "Replace color inside a gradient.").setVersion(1135); - addNodeObject(color, "Gradient Data", s_node_gradient_data, "Node_Gradient_Extract", [1, Node_Gradient_Extract],, "Get palatte and array of key positions from gradient.").setVersion(1135); - #endregion - - var animation = ds_list_create(); #region - addNodeCatagory("Animation", animation); - ds_list_add(animation, "Animations"); - addNodeObject(animation, "Frame Index", s_node_counter, "Node_Counter", [1, Node_Counter], ["current frame", "counter"], "Output current frame as frame index, or animation progress (0 - 1)."); - addNodeObject(animation, "Wiggler", s_node_wiggler, "Node_Wiggler", [1, Node_Wiggler],, "Create smooth random value."); - addNodeObject(animation, "Evaluate Curve", s_node_curve_eval, "Node_Anim_Curve", [1, Node_Anim_Curve],, "Evaluate value from an animation curve."); - addNodeObject(animation, "Rate Remap", s_node_rate_remap, "Node_Rate_Remap", [1, Node_Rate_Remap],, "Remap animation to a new framerate.").setVersion(1147); - - ds_list_add(animation, "Audio"); - addNodeObject(animation, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144); - addNodeObject(animation, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145); - addNodeObject(animation, "FFT", s_node_FFT, "Node_FFT", [1, Node_FFT], ["frequency analysis"], "Perform fourier transform on number array.").setVersion(1144); - addNodeObject(animation, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144); - addNodeObject(animation, "Audio Window", s_node_audio_trim, "Node_Audio_Window", [1, Node_Audio_Window],, "Take a slice of an audio array based on the current frame.").setVersion(1144); - addNodeObject(animation, "Audio Volume", s_node_audio_volume, "Node_Audio_Loudness", [1, Node_Audio_Loudness],, "Calculate volume of an audio bit array.").setVersion(11540); - #endregion - - var node = ds_list_create(); #region - addNodeCatagory("Misc", node); - ds_list_add(node, "Control"); - addNodeObject(node, "Condition", s_node_condition, "Node_Condition", [1, Node_Condition],, "Given a condition, output one value if true, another value is false."); - addNodeObject(node, "Switch", s_node_switch, "Node_Switch", [1, Node_Switch],, "Given an index, output a value labeled by the same index.").setVersion(1090); - addNodeObject(node, "Animation Control", s_node_animation_control, "Node_Animation_Control", [1, Node_Animation_Control],, "Control animation state with triggers.").setVersion(1145); - - ds_list_add(node, "Groups"); - addNodeObject(node, "Group", s_node_group, "Node_Group", [1, Node_Group]); - addNodeObject(node, "Feedback", s_node_feedback, "Node_Feedback", [1, Node_Feedback],, "Create a group that reuse output from last frame to the current one."); - addNodeObject(node, "Loop", s_node_loop, "Node_Iterate", [1, Node_Iterate], ["iterate", "for"], "Create group that reuse output as input repeatedly in one frame."); - addNodeObject(node, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array."); - addNodeObject(node, "Filter Array", s_node_filter_array,"Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140); - - ds_list_add(node, "Lua"); - addNodeObject(node, "Lua Global", s_node_lua_global, "Node_Lua_Global", [1, Node_Lua_Global]).setVersion(1090); - addNodeObject(node, "Lua Surface", s_node_lua_surface, "Node_Lua_Surface", [1, Node_Lua_Surface]).setVersion(1090); - addNodeObject(node, "Lua Compute", s_node_lua_compute, "Node_Lua_Compute", [1, Node_Lua_Compute]).setVersion(1090); - - ds_list_add(node, "Shader"); - addNodeObject(node, "HLSL", s_node_hlsl, "Node_HLSL", [1, Node_HLSL],, "Execute HLSL shader on a surface.").setVersion(11520); - - ds_list_add(node, "Organize"); - addNodeObject(node, "Pin", s_node_pin, "Node_Pin", [1, Node_Pin],, "Craete pin to organize your connection. Can be create by double clicking on a connection line."); - addNodeObject(node, "Frame", s_node_frame, "Node_Frame", [1, Node_Frame],, "Create frame surrounding nodes."); - addNodeObject(node, "Tunnel In", s_node_tunnel_in, "Node_Tunnel_In", [1, Node_Tunnel_In],, "Create tunnel for sending value based on key matching."); - addNodeObject(node, "Tunnel Out", s_node_tunnel_out, "Node_Tunnel_Out", [1, Node_Tunnel_Out],, "Receive value from tunnel in of the same key."); - addNodeObject(node, "Display Text", s_node_text_display,"Node_Display_Text", [1, Node_Display_Text],, "Display text on the graph."); - addNodeObject(node, "Display Image", s_node_image, "Node_Display_Image", [0, Node_create_Display_Image],, "Display image on the graph."); - - ds_list_add(node, "Cache"); - addNodeObject(node, "Cache", s_node_cache, "Node_Cache", [1, Node_Cache],, "Store current animation. Cache persisted between save.").setVersion(1134); - addNodeObject(node, "Cache Array", s_node_cache_array, "Node_Cache_Array", [1, Node_Cache_Array],, "Store current animation as array. Cache persisted between save.").setVersion(1130); - - ds_list_add(node, "Debug"); - addNodeObject(node, "Print", s_node_print, "Node_Print", [1, Node_Print], ["debug log"], "Display text to notification.").setVersion(1145); - addNodeObject(node, "Widget Test", s_node_print, "Node_Widget_Test", [1, Node_Widget_Test]); - //addNodeObject(node, "Module Test", s_node_print, "Node_Module_Test", [1, Node_Module_Test]); - - ds_list_add(node, "System"); - addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530); - //addNodeObject(node, "Note", s_node_note, "Node_Note", [1, Node_Note]).setVersion(11530); - #endregion - - var actions = ds_list_create(); - addNodeCatagory("Action", actions); - __initNodeActions(actions); - - var customs = ds_list_create(); - addNodeCatagory("Custom", customs); - __initNodeCustom(customs); - - if(IS_PATREON) addNodeCatagory("Extra", SUPPORTER_NODES); - - //var vct = ds_list_create(); - //addNodeCatagory("VCT", vct); - // addNodeObject(vct, "Biterator", s_node_print, "Node_Biterator", [1, Node_Biterator]); - - //////////////////////////////////////////////////////////// PIXEL BUILDER //////////////////////////////////////////////////////////// - - var pb_group = ds_list_create(); #region - addNodePBCatagory("Group", pb_group); - ds_list_add(pb_group, "Groups"); - addNodeObject(pb_group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); - addNodeObject(pb_group, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); - #endregion - - var pb_draw = ds_list_create(); #region - addNodePBCatagory("Draw", pb_draw); - ds_list_add(pb_draw, "Fill"); - addNodeObject(pb_draw, "Fill", s_node_pb_draw_fill, "Node_PB_Draw_Fill", [1, Node_PB_Draw_Fill]).hideRecent(); - - ds_list_add(pb_draw, "Shape"); - addNodeObject(pb_draw, "Rectangle", s_node_pb_draw_rectangle, "Node_PB_Draw_Rectangle", [1, Node_PB_Draw_Rectangle]).hideRecent(); - addNodeObject(pb_draw, "Round Rectangle", s_node_pb_draw_roundrectangle, "Node_PB_Draw_Round_Rectangle", [1, Node_PB_Draw_Round_Rectangle]).hideRecent(); - addNodeObject(pb_draw, "Trapezoid", s_node_pb_draw_trapezoid, "Node_PB_Draw_Trapezoid", [1, Node_PB_Draw_Trapezoid]).hideRecent(); - addNodeObject(pb_draw, "Diamond", s_node_pb_draw_diamond, "Node_PB_Draw_Diamond", [1, Node_PB_Draw_Diamond]).hideRecent(); - addNodeObject(pb_draw, "Ellipse", s_node_pb_draw_ellipse, "Node_PB_Draw_Ellipse", [1, Node_PB_Draw_Ellipse]).hideRecent(); - addNodeObject(pb_draw, "Semi-Ellipse", s_node_pb_draw_semi_ellipse, "Node_PB_Draw_Semi_Ellipse", [1, Node_PB_Draw_Semi_Ellipse]).hideRecent(); - addNodeObject(pb_draw, "Line", s_node_pb_draw_line, "Node_PB_Draw_Line", [1, Node_PB_Draw_Line]).hideRecent(); - addNodeObject(pb_draw, "Angle", s_node_pb_draw_angle, "Node_PB_Draw_Angle", [1, Node_PB_Draw_Angle]).hideRecent(); - addNodeObject(pb_draw, "Blob", s_node_pb_draw_blob, "Node_PB_Draw_Blob", [1, Node_PB_Draw_Blob]).hideRecent(); - #endregion - - var pb_box = ds_list_create(); #region - addNodePBCatagory("Box", pb_box); - ds_list_add(pb_box, "Layer"); - addNodeObject(pb_box, "Layer", s_node_pb_layer, "Node_PB_Layer", [1, Node_PB_Layer]).hideRecent(); - - ds_list_add(pb_box, "Box"); - addNodeObject(pb_box, "Transform", s_node_pb_box_transform, "Node_PB_Box_Transform", [1, Node_PB_Box_Transform]).hideRecent(); - addNodeObject(pb_box, "Mirror", s_node_pb_box_mirror, "Node_PB_Box_Mirror", [1, Node_PB_Box_Mirror]).hideRecent(); - addNodeObject(pb_box, "Inset", s_node_pb_box_inset, "Node_PB_Box_Inset", [1, Node_PB_Box_Inset]).hideRecent(); - addNodeObject(pb_box, "Split", s_node_pb_box_split, "Node_PB_Box_Split", [1, Node_PB_Box_Split]).hideRecent(); - addNodeObject(pb_box, "Divide", s_node_pb_box_divide, "Node_PB_Box_Divide", [1, Node_PB_Box_Divide]).hideRecent(); - addNodeObject(pb_box, "Divide Grid", s_node_pb_box_divide_grid, "Node_PB_Box_Divide_Grid", [1, Node_PB_Box_Divide_Grid]).hideRecent(); - addNodeObject(pb_box, "Contract", s_node_pb_box_contract, "Node_PB_Box_Contract", [1, Node_PB_Box_Contract]).hideRecent(); - #endregion - - var pb_fx = ds_list_create(); #region - addNodePBCatagory("Effects", pb_fx); - ds_list_add(pb_fx, "Effect"); - addNodeObject(pb_fx, "Outline", s_node_pb_fx_outline, "Node_PB_Fx_Outline", [1, Node_PB_Fx_Outline]).hideRecent(); - addNodeObject(pb_fx, "Stack", s_node_pb_fx_stack, "Node_PB_Fx_Stack", [1, Node_PB_Fx_Stack]).hideRecent(); - addNodeObject(pb_fx, "Radial", s_node_pb_fx_radial, "Node_PB_Fx_Radial", [1, Node_PB_Fx_Radial]).hideRecent(); - - ds_list_add(pb_fx, "Lighting"); - addNodeObject(pb_fx, "Highlight", s_node_pb_fx_highlight, "Node_PB_Fx_Highlight", [1, Node_PB_Fx_Highlight]).hideRecent(); - addNodeObject(pb_fx, "Shading", s_node_pb_fx_shading, "Node_PB_Fx_Shading", [1, Node_PB_Fx_Shading]).hideRecent(); - - ds_list_add(pb_fx, "Texture"); - addNodeObject(pb_fx, "Hashing", s_node_pb_fx_hash, "Node_PB_Fx_Hash", [1, Node_PB_Fx_Hash]).hideRecent(); - addNodeObject(pb_fx, "Strip", s_node_pb_fx_strip, "Node_PB_Fx_Strip", [1, Node_PB_Fx_Strip]).hideRecent(); - addNodeObject(pb_fx, "Brick", s_node_pb_fx_brick, "Node_PB_Fx_Brick", [1, Node_PB_Fx_Brick]).hideRecent(); - - ds_list_add(pb_fx, "Blend"); - addNodeObject(pb_fx, "Add", s_node_pb_fx_add, "Node_PB_Fx_Add", [1, Node_PB_Fx_Add]).hideRecent(); - addNodeObject(pb_fx, "Subtract", s_node_pb_fx_subtract, "Node_PB_Fx_Subtract", [1, Node_PB_Fx_Subtract]).hideRecent(); - addNodeObject(pb_fx, "Intersect", s_node_pb_fx_interesct, "Node_PB_Fx_Intersect", [1, Node_PB_Fx_Intersect]).hideRecent(); - #endregion - - var pb_arr = ds_list_create(); #region - addNodePBCatagory("Array", pb_arr); - addNodeObject(pb_arr, "Array", s_node_array, "Node_Array", [1, Node_Array]).hideRecent(); - addNodeObject(pb_arr, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]).hideRecent(); - addNodeObject(pb_arr, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).hideRecent().setVersion(1120); - addNodeObject(pb_arr, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).hideRecent().setVersion(1120); - addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).hideRecent().setVersion(1120); - #endregion - - /////////////////////////////////////////////////////////////// PCX NODE /////////////////////////////////////////////////////////////// - - var pcx_var = ds_list_create(); #region - addNodePCXCatagory("Variable", pcx_var); - addNodeObject(pcx_var, "Variable", s_node_array, "Node_PCX_var", [1, Node_PCX_var]).hideRecent(); - addNodeObject(pcx_var, "Fn Variable", s_node_array, "Node_PCX_fn_var", [1, Node_PCX_fn_var]).hideRecent(); - #endregion - - var pcx_fn = ds_list_create(); #region - addNodePCXCatagory("Functions", pcx_fn); - addNodeObject(pcx_fn, "Equation", s_node_array, "Node_PCX_Equation", [1, Node_PCX_Equation]).hideRecent(); - - ds_list_add(pcx_fn, "Numbers"); - addNodeObject(pcx_fn, "Math", s_node_array, "Node_PCX_fn_Math", [1, Node_PCX_fn_Math]).hideRecent(); - addNodeObject(pcx_fn, "Random", s_node_array, "Node_PCX_fn_Random", [1, Node_PCX_fn_Random]).hideRecent(); - - ds_list_add(pcx_fn, "Surface"); - addNodeObject(pcx_fn, "Surface Width", s_node_array, "Node_PCX_fn_Surface_Width", [1, Node_PCX_fn_Surface_Width]).hideRecent(); - addNodeObject(pcx_fn, "Surface Height", s_node_array, "Node_PCX_fn_Surface_Height", [1, Node_PCX_fn_Surface_Height]).hideRecent(); - - ds_list_add(pcx_fn, "Array"); - addNodeObject(pcx_fn, "Array Get", s_node_array, "Node_PCX_Array_Get", [1, Node_PCX_Array_Get]).hideRecent(); - addNodeObject(pcx_fn, "Array Set", s_node_array, "Node_PCX_Array_Set", [1, Node_PCX_Array_Set]).hideRecent(); - #endregion - - var pcx_flow = ds_list_create(); #region - addNodePCXCatagory("Flow Control", pcx_flow); - addNodeObject(pcx_flow, "Condition", s_node_array, "Node_PCX_Condition", [1, Node_PCX_Condition]).hideRecent(); - #endregion - - //////////////////////////////////////////////////////////////// HIDDEN //////////////////////////////////////////////////////////////// - - var hid = ds_list_create(); #region - addNodeCatagory("Hidden", hid, ["Hidden"]); - addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Each_Input", [1, Node_Iterator_Each_Input]).hideRecent(); - addNodeObject(hid, "Output", s_node_loop_output, "Node_Iterator_Each_Output", [1, Node_Iterator_Each_Output]).hideRecent(); - addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Filter_Input", [1, Node_Iterator_Filter_Input]).hideRecent(); - addNodeObject(hid, "Output", s_node_loop_output, "Node_Iterator_Filter_Output", [1, Node_Iterator_Filter_Output]).hideRecent(); - addNodeObject(hid, "Grid Noise", s_node_grid_noise, "Node_Grid_Noise", [1, Node_Grid_Noise]).hideRecent(); - addNodeObject(hid, "Triangular Noise", s_node_grid_tri_noise, "Node_Noise_Tri", [1, Node_Noise_Tri]).hideRecent().setVersion(1090); - addNodeObject(hid, "Hexagonal Noise", s_node_grid_hex_noise, "Node_Noise_Hex", [1, Node_Noise_Hex]).hideRecent().setVersion(1090); - addNodeObject(hid, "Sort Input", s_node_grid_hex_noise, "Node_Iterator_Sort_Input", [1, Node_Iterator_Sort_Input]).hideRecent(); - addNodeObject(hid, "Sort Output", s_node_grid_hex_noise, "Node_Iterator_Sort_Output", [1, Node_Iterator_Sort_Output]).hideRecent(); - addNodeObject(hid, "Onion Skin", s_node_cache, "Node_Onion_Skin", [1, Node_Onion_Skin]).setVersion(1147).hideRecent(); - //addNodeObject(hid, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(1150).hideRecent(); - - ds_list_add(values, "DynaSurf"); - addNodeObject(hid, "Input", s_node_pixel_builder, "Node_DynaSurf_In", [1, Node_DynaSurf_In]).hideRecent(); - addNodeObject(hid, "Output", s_node_pixel_builder, "Node_DynaSurf_Out", [1, Node_DynaSurf_Out]).hideRecent(); - addNodeObject(hid, "getWidth", s_node_pixel_builder, "Node_DynaSurf_Out_Width", [1, Node_DynaSurf_Out_Width]).hideRecent(); - addNodeObject(hid, "getHeight", s_node_pixel_builder, "Node_DynaSurf_Out_Height", [1, Node_DynaSurf_Out_Height]).hideRecent(); - #endregion +function nodeBuild(_name, _x, _y, _group = PANEL_GRAPH.getCurrentContext()) { #region + if(!ds_map_exists(ALL_NODES, _name)) { + log_warning("LOAD", $"Node type {_name} not found"); + return noone; } -#endregion \ No newline at end of file + + var _node = ALL_NODES[? _name]; + return _node.build(_x, _y, _group); +} #endregion + +function addNodeObject(_list, _name, _spr, _node, _fun, _tag = [], tooltip = "") { #region + var _n; + + if(ds_map_exists(ALL_NODES, _node)) + _n = ALL_NODES[? _node]; + else { + _n = new NodeObject(_name, _spr, _node, _fun, _tag); + if(!ds_map_exists(ALL_NODES, _node)) + ds_list_add(ALL_NODE_LIST, _n); + ALL_NODES[? _node] = _n; + } + + if(tooltip != "") _n.tooltip = tooltip; + ds_list_add(_list, _n); + return _n; +} #endregion + +function addNodeCatagory(name, list, filter = []) { #region + global.__currPage = name; + ds_list_add(NODE_CATEGORY, { name: name, list: list, filter: filter }); +} #endregion + +function addNodePBCatagory(name, list, filter = []) { #region + ds_list_add(NODE_PB_CATEGORY, { name: name, list: list, filter: filter }); +} #endregion + +function addNodePCXCatagory(name, list, filter = []) { #region + ds_list_add(NODE_PCX_CATEGORY, { name: name, list: list, filter: filter }); +} #endregion + +function __initNodes() { + global.__currPage = ""; + + var favPath = DIRECTORY + "Nodes/fav.json"; + global.FAV_NODES = file_exists(favPath)? json_load_struct(favPath) : []; + if(!is_array(global.FAV_NODES)) global.FAV_NODES = []; + + var recPath = DIRECTORY + "Nodes/recent.json"; + global.RECENT_NODES = file_exists(recPath)? json_load_struct(recPath) : []; + if(!is_array(global.RECENT_NODES)) global.RECENT_NODES = []; + + NODE_PAGE_DEFAULT = ds_list_size(NODE_CATEGORY); + ADD_NODE_PAGE = NODE_PAGE_DEFAULT; + + var fav = ds_list_create(); + addNodeCatagory("Favourites", fav); + + var group = ds_list_create(); #region + addNodeCatagory("Group", group, ["Node_Group"]); + ds_list_add(group, "Groups"); + addNodeObject(group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(group, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(group, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); + #endregion + + var iter = ds_list_create(); #region + addNodeCatagory("Loop", iter, ["Node_Iterate"]); + ds_list_add(iter, "Groups"); + addNodeObject(iter, "Loop Input", s_node_loop_input, "Node_Iterator_Input", [1, Node_Iterator_Input]).hideRecent(); + addNodeObject(iter, "Loop Output", s_node_loop_output, "Node_Iterator_Output", [1, Node_Iterator_Output]).hideRecent(); + addNodeObject(iter, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(iter, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(iter, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); + + ds_list_add(iter, "Loops"); + addNodeObject(iter, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); + addNodeObject(iter, "Loop amount", s_node_iterator_amount, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent(); + #endregion + + var itere = ds_list_create(); #region + addNodeCatagory("Loop", itere, ["Node_Iterate_Each"]); + ds_list_add(itere, "Groups"); + addNodeObject(itere, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(itere, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(itere, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); + + ds_list_add(itere, "Loops"); + addNodeObject(itere, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); + addNodeObject(itere, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent(); + #endregion + + var filter = ds_list_create(); #region + addNodeCatagory("Filter", filter, ["Node_Iterate_Filter"]); + ds_list_add(filter, "Groups"); + addNodeObject(filter, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(filter, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(filter, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); + + ds_list_add(filter, "Loops"); + addNodeObject(filter, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent(); + addNodeObject(filter, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent(); + #endregion + + var feed = ds_list_create(); #region + addNodeCatagory("Feedback", feed, ["Node_Feedback"]); + ds_list_add(feed, "Groups"); + addNodeObject(feed, "Input", s_node_feedback_input, "Node_Feedback_Input", [1, Node_Feedback_Input]).hideRecent(); + addNodeObject(feed, "Output", s_node_feedback_output, "Node_Feedback_Output", [1, Node_Feedback_Output]).hideRecent(); + addNodeObject(feed, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent(); + #endregion + + var vfx = ds_list_create(); #region + addNodeCatagory("VFX", vfx, ["Node_VFX_Group"]); + ds_list_add(vfx, "Groups"); + addNodeObject(vfx, "Input", s_node_vfx_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(vfx, "Output", s_node_vfx_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(vfx, "Renderer", s_node_vfx_render_output, "Node_VFX_Renderer_Output", [1, Node_VFX_Renderer_Output]).hideRecent(); + + ds_list_add(vfx, "VFXs"); + addNodeObject(vfx, "Spawner", s_node_vfx_spawn, "Node_VFX_Spawner", [1, Node_VFX_Spawner],, "Spawn new particles.").hideRecent(); + addNodeObject(vfx, "Renderer", s_node_vfx_render, "Node_VFX_Renderer", [1, Node_VFX_Renderer],, "Render particle objects to surface.").hideRecent(); + + ds_list_add(vfx, "Affectors"); + addNodeObject(vfx, "Accelerate", s_node_vfx_accel, "Node_VFX_Accelerate", [1, Node_VFX_Accelerate],, "Change the speed of particle in range.").hideRecent(); + addNodeObject(vfx, "Destroy", s_node_vfx_destroy, "Node_VFX_Destroy", [1, Node_VFX_Destroy],, "Destroy particle in range.").hideRecent(); + addNodeObject(vfx, "Attract", s_node_vfx_attract, "Node_VFX_Attract", [1, Node_VFX_Attract],, "Attract particle in range to one point.").hideRecent(); + addNodeObject(vfx, "Wind", s_node_vfx_wind, "Node_VFX_Wind", [1, Node_VFX_Wind],, "Move particle in range.").hideRecent(); + addNodeObject(vfx, "Vortex", s_node_vfx_vortex, "Node_VFX_Vortex", [1, Node_VFX_Vortex],, "Rotate particle around a point.").hideRecent(); + addNodeObject(vfx, "Turbulence", s_node_vfx_turb, "Node_VFX_Turbulence", [1, Node_VFX_Turbulence],, "Move particle in range randomly.").hideRecent(); + addNodeObject(vfx, "Repel", s_node_vfx_repel, "Node_VFX_Repel", [1, Node_VFX_Repel],, "Move particle away from point.").hideRecent(); + addNodeObject(vfx, "Oscillate", s_node_vfx_osc, "Node_VFX_Oscillate", [1, Node_VFX_Oscillate],, "Swing particle around its original trajectory.").hideRecent().setVersion(11560); + + ds_list_add(vfx, "Effects"); + addNodeObject(vfx, "VFX Trail", s_node_vfx_trail, "Node_VFX_Trail", [1, Node_VFX_Trail],, "Generate path from particle movement.").hideRecent().setVersion(11560); + + ds_list_add(vfx, "Instance control"); + addNodeObject(vfx, "VFX Variable", s_node_vfx_variable, "Node_VFX_Variable", [1, Node_VFX_Variable],, "Extract variable from particle objects.").hideRecent().setVersion(1120); + addNodeObject(vfx, "VFX Override", s_node_vfx_override, "Node_VFX_Override", [1, Node_VFX_Override],, "Replace particle variable with a new one.").hideRecent().setVersion(1120); + #endregion + + var rigidSim = ds_list_create(); #region + addNodeCatagory("RigidSim", rigidSim, ["Node_Rigid_Group"]); + ds_list_add(rigidSim, "Group"); + addNodeObject(rigidSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(rigidSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(rigidSim, "Render", s_node_rigidSim_render_output, "Node_Rigid_Render_Output", [1, Node_Rigid_Render_Output]).hideRecent(); + + ds_list_add(rigidSim, "RigidSim"); + addNodeObject(rigidSim, "Object", s_node_rigidSim_object, "Node_Rigid_Object", [1, Node_Rigid_Object],, "Spawn a rigidbody object.").hideRecent().setVersion(1110); + addNodeObject(rigidSim, "Object Spawner", s_node_rigidSim_object_spawner, "Node_Rigid_Object_Spawner", [1, Node_Rigid_Object_Spawner],, "Spawn multiple rigidbody objects.").hideRecent().setVersion(1110); + addNodeObject(rigidSim, "Render", s_node_rigidSim_renderer, "Node_Rigid_Render", [1, Node_Rigid_Render],, "Render rigidbody object to surface.").hideRecent().setVersion(1110); + addNodeObject(rigidSim, "Apply Force", s_node_rigidSim_force, "Node_Rigid_Force_Apply", [1, Node_Rigid_Force_Apply],, "Apply force to objects.").hideRecent().setVersion(1110); + + ds_list_add(rigidSim, "Instance control"); + addNodeObject(rigidSim, "Activate Physics", s_node_rigidSim_activate, "Node_Rigid_Activate", [1, Node_Rigid_Activate],, "Enable or disable rigidbody object.").hideRecent().setVersion(1110); + addNodeObject(rigidSim, "Rigidbody Variable", s_node_rigid_variable, "Node_Rigid_Variable", [1, Node_Rigid_Variable],, "Extract veriable from rigidbody object.").hideRecent().setVersion(1120); + addNodeObject(rigidSim, "Rigidbody Override", s_node_rigid_override, "Node_Rigid_Override", [1, Node_Rigid_Override],, "Replace rigidbody object variable with a new one.").hideRecent().setVersion(1120); + #endregion + + var smokeSim = ds_list_create(); #region + addNodeCatagory("SmokeSim", smokeSim, ["Node_Fluid_Group"]); + ds_list_add(smokeSim, "Group"); + addNodeObject(smokeSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(smokeSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + addNodeObject(smokeSim, "Render Domain", s_node_smokeSim_render_output, "Node_Fluid_Render_Output", [1, Node_Fluid_Render_Output]).hideRecent().setVersion(11540); + + ds_list_add(smokeSim, "Domain"); + addNodeObject(smokeSim, "Domain", s_node_smokeSim_domain, "Node_Fluid_Domain", [1, Node_Fluid_Domain]).hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Update Domain", s_node_smokeSim_update, "Node_Fluid_Update", [1, Node_Fluid_Update],, "Run smoke by one step.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Render Domain", s_node_smokeSim_render, "Node_Fluid_Render", [1, Node_Fluid_Render],, "Render smoke to surface. This node also have update function build in.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Queue Domain", s_node_smokeSim_domain_queue, "Node_Fluid_Domain_Queue", [1, Node_Fluid_Domain_Queue],, "Sync multiple domains to be render at the same time.").hideRecent().setVersion(1120); + + ds_list_add(smokeSim, "Smoke"); + addNodeObject(smokeSim, "Add Emitter", s_node_smokeSim_emitter, "Node_Fluid_Add", [1, Node_Fluid_Add],, "Add smoke emitter.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Apply Velocity", s_node_smokeSim_apply_velocity, "Node_Fluid_Apply_Velocity", [1, Node_Fluid_Apply_Velocity],, "Apply velocity to smoke.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Add Collider", s_node_smokeSim_add_collider, "Node_Fluid_Add_Collider", [1, Node_Fluid_Add_Collider],, "Add solid object that smoke can collides to.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Vortex", s_node_smokeSim_vortex, "Node_Fluid_Vortex", [1, Node_Fluid_Vortex],, "Apply rotational force around a point.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Repulse", s_node_smokeSim_repulse, "Node_Fluid_Repulse", [1, Node_Fluid_Repulse],, "Spread smoke away from a point.").hideRecent().setVersion(1120); + addNodeObject(smokeSim, "Turbulence", s_node_smokeSim_turbulence, "Node_Fluid_Turbulence", [1, Node_Fluid_Turbulence],, "Apply random velocity map to the smoke.").hideRecent().setVersion(1120); + #endregion + + var strandSim = ds_list_create(); #region + addNodeCatagory("StrandSim", strandSim, ["Node_Strand_Group"]); + ds_list_add(strandSim, "Group"); + addNodeObject(strandSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(strandSim, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + + ds_list_add(strandSim, "System"); + addNodeObject(strandSim, "Strand Create", s_node_strandSim_create, "Node_Strand_Create", [1, Node_Strand_Create],, "Create strands from point, path, or mesh.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Update", s_node_strandSim_update, "Node_Strand_Update", [1, Node_Strand_Update],, "Update strands by one step.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Render", s_node_strandSim_render, "Node_Strand_Render", [1, Node_Strand_Render],, "Render strands to surface as a single path.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Render Texture", s_node_strandSim_render_texture, "Node_Strand_Render_Texture", [1, Node_Strand_Render_Texture],, "Render strands to surface as a textured path.").hideRecent().setVersion(1140); + + ds_list_add(strandSim, "Affectors"); + addNodeObject(strandSim, "Strand Gravity", s_node_strandSim_gravity, "Node_Strand_Gravity", [1, Node_Strand_Gravity],, "Apply downward acceleration to strands.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Force Apply", s_node_strandSim_force, "Node_Strand_Force_Apply", [1, Node_Strand_Force_Apply],, "Apply general force to strands.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Break", s_node_strandSim_break, "Node_Strand_Break", [1, Node_Strand_Break],, "Detach strands from its origin.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Length Adjust", s_node_strandSim_length, "Node_Strand_Length_Adjust", [1, Node_Strand_Length_Adjust],, "Adjust length of strands in area.").hideRecent().setVersion(1140); + addNodeObject(strandSim, "Strand Collision", s_node_strandSim_collide, "Node_Strand_Collision", [1, Node_Strand_Collision],, "Create solid object for strands to collides to.").hideRecent().setVersion(1140); + #endregion + + ////////////////////////////////////////////////////////////////////////////////// + + var input = ds_list_create(); #region + addNodeCatagory("IO", input); + ds_list_add(input, "Images"); + addNodeObject(input, "Canvas", s_node_canvas, "Node_Canvas", [1, Node_Canvas], ["draw"], "Draw on surface using brush, eraser, etc."); + addNodeObject(input, "Active Canvas", s_node_active_canvas, "Node_Active_Canvas", [1, Node_Active_Canvas], ["draw"], "Draw using parameterized brush.").setVersion(11570); + addNodeObject(input, "Image", s_node_image, "Node_Image", [0, Node_create_Image],, "Load a single image from your computer."); + addNodeObject(input, "Image GIF", s_node_image_gif, "Node_Image_gif", [0, Node_create_Image_gif],, "Load animated .gif from your computer."); + addNodeObject(input, "Splice Spritesheet", s_node_image_sheet, "Node_Image_Sheet", [1, Node_Image_Sheet],, "Cut up spritesheet into animation or image array."); + addNodeObject(input, "Image Array", s_node_image_sequence, "Node_Image_Sequence", [0, Node_create_Image_Sequence],, "Load multiple images from your computer as array."); + addNodeObject(input, "Animation", s_node_image_animation, "Node_Image_Animated", [0, Node_create_Image_Animated],, "Load multiple images from your computer as animation."); + addNodeObject(input, "Array to Anim", s_node_image_sequence_to_anim, "Node_Sequence_Anim", [1, Node_Sequence_Anim],, "Convert array of images into animation."); + if(!DEMO) addNodeObject(input, "Export", s_node_export, "Node_Export", [0, Node_create_Export],, "Export image, image array to file, image sequence, animation."); + + ds_list_add(input, "Files"); + addNodeObject(input, "Text File In", s_node_text_file_read, "Node_Text_File_Read", [1, Node_Text_File_Read], ["txt"], "Load .txt in as text.").setVersion(1080); + addNodeObject(input, "Text File Out", s_node_text_file_write, "Node_Text_File_Write", [1, Node_Text_File_Write], ["txt"], "Save text as a .txt file.").setVersion(1090); + addNodeObject(input, "CSV File In", s_node_csv_file_read, "Node_CSV_File_Read", [1, Node_CSV_File_Read], ["comma separated value"], "Load .csv as text, number array.").setVersion(1090); + addNodeObject(input, "CSV File Out", s_node_csv_file_write, "Node_CSV_File_Write", [1, Node_CSV_File_Write], ["comma separated value"], "Save array as .csv file.").setVersion(1090); + addNodeObject(input, "JSON File In", s_node_json_file_read, "Node_Json_File_Read", [1, Node_Json_File_Read],, "Load .json file using keys.").setVersion(1090); + addNodeObject(input, "JSON File Out", s_node_json_file_write, "Node_Json_File_Write", [1, Node_Json_File_Write],, "Save data to .json file.").setVersion(1090); + addNodeObject(input, "ASE File In", s_node_ase_file, "Node_ASE_File_Read", [0, Node_create_ASE_File_Read],, "Load Aseprite file with support for layers, tags.").setVersion(1100); + addNodeObject(input, "ASE Layer", s_node_ase_layer, "Node_ASE_layer", [1, Node_ASE_layer],, "Load Aseprite project file").setVersion(1100); + addNodeObject(input, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144); + addNodeObject(input, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145); + + ds_list_add(input, "Network"); + addNodeObject(input, "Websocket Receiver", s_node_websocket_receive, "Node_Websocket_Receiver", [1, Node_Websocket_Receiver],, "Create websocket server to receive data from the network.").setVersion(1145); + addNodeObject(input, "Websocket Sender", s_node_websocket_send, "Node_Websocket_Sender", [1, Node_Websocket_Sender],, "Create websocket server to send data to the network.").setVersion(1145); + #endregion + + var transform = ds_list_create(); #region + addNodeCatagory("Transform", transform); + ds_list_add(transform, "Transformations"); + addNodeObject(transform, "Transform", s_node_transform, "Node_Transform", [1, Node_Transform], ["move", "rotate", "scale"], "Move, rotate, and scale image."); + addNodeObject(transform, "Scale", s_node_scale, "Node_Scale", [1, Node_Scale], ["resize"], "Simple node for scaling image."); + addNodeObject(transform, "Scale Algorithm", s_node_scale_algo, "Node_Scale_Algo", [0, Node_create_Scale_Algo], ["scale2x", "scale3x"], "Scale image using scale2x, scale3x algorithm."); + addNodeObject(transform, "Flip", s_node_flip, "Node_Flip", [1, Node_Flip], ["mirror"], "Flip image horizontally or vertically."); + + ds_list_add(transform, "Warps"); + addNodeObject(transform, "Crop", s_node_crop, "Node_Crop", [1, Node_Crop],, "Crop out image to create smaller ones."); + addNodeObject(transform, "Crop Content", s_node_crop_content, "Node_Crop_Content", [1, Node_Crop_Content],, "Crop out empty pixel pixel from the image."); + addNodeObject(transform, "Warp", s_node_warp, "Node_Warp", [1, Node_Warp], ["wrap"], "Warp image by freely moving the corners."); + addNodeObject(transform, "Skew", s_node_skew, "Node_Skew", [1, Node_Skew],, "Skew image horizontally, or vertically."); + addNodeObject(transform, "Mesh Warp", s_node_warp_mesh, "Node_Mesh_Warp", [1, Node_Mesh_Warp], ["mesh wrap"], "Wrap image by converting it to mesh, and using control points."); + addNodeObject(transform, "Polar", s_node_polar, "Node_Polar", [1, Node_Polar],, "Convert image to polar coordinate."); + addNodeObject(transform, "Area Warp", s_node_padding, "Node_Wrap_Area", [1, Node_Wrap_Area],, "Wrap image to fit area value (x, y, w, h)."); + + ds_list_add(transform, "Others"); + addNodeObject(transform, "Composite", s_node_compose, "Node_Composite", [1, Node_Composite], ["merge"], "Combine multiple images with controllable position, rotation, scale."); + addNodeObject(transform, "Nine Slice", s_node_9patch, "Node_9Slice", [1, Node_9Slice], ["9 slice", "splice"], "Cut image into 3x3 parts, and scale/repeat only the middle part."); + addNodeObject(transform, "Padding", s_node_padding, "Node_Padding", [1, Node_Padding],, "Make image bigger by adding space in 4 directions."); + #endregion + + var filter = ds_list_create(); #region + addNodeCatagory("Filter", filter); + ds_list_add(filter, "Combines"); + addNodeObject(filter, "Blend", s_node_blend, "Node_Blend", [0, Node_create_Blend], ["normal", "add", "subtract", "multiply", "screen", "maxx", "minn"], "Blend 2 images using different blendmodes."); + addNodeObject(filter, "RGBA Combine", s_node_RGB_combine, "Node_Combine_RGB", [1, Node_Combine_RGB],, "Combine 4 image in to one. Each image use to control RGBA channel.").setVersion(1070); + addNodeObject(filter, "HSV Combine", s_node_HSV_combine, "Node_Combine_HSV", [1, Node_Combine_HSV],, "Combine 4 image in to one. Each image use to control HSVA channel.").setVersion(1070); + + ds_list_add(filter, "Blurs"); + addNodeObject(filter, "Blur", s_node_blur, "Node_Blur", [1, Node_Blur], ["gaussian blur"], "Blur image smoothly."); + addNodeObject(filter, "Simple Blur", s_node_blur_simple, "Node_Blur_Simple", [1, Node_Blur_Simple],, "Blur image using simpler algorithm. Allowing for variable blur strength.").setVersion(1070); + addNodeObject(filter, "Directional Blur", s_node_blur_directional,"Node_Blur_Directional",[1, Node_Blur_Directional], ["motion blur"], "Blur image given a direction."); + addNodeObject(filter, "Zoom Blur", s_node_zoom, "Node_Blur_Zoom", [1, Node_Blur_Zoom],, "Blur image by zooming in/out from a mid point."); + addNodeObject(filter, "Radial Blur", s_node_radial, "Node_Blur_Radial", [1, Node_Blur_Radial],, "Blur image by rotating aroung a mid point.").setVersion(1110); + addNodeObject(filter, "Lens Blur", s_node_bokeh, "Node_Blur_Bokeh", [1, Node_Blur_Bokeh], ["bokeh"], "Create bokeh effect. Blur lighter color in a lens-like manner.").setVersion(1110); + addNodeObject(filter, "Contrast Blur", s_node_blur_contrast, "Node_Blur_Contrast", [1, Node_Blur_Contrast],, "Blur only pixel of a similiar color."); + addNodeObject(filter, "Average", s_node_average, "Node_Average", [1, Node_Average],, "Average color of every pixels in the image.").setVersion(1110); + + ds_list_add(filter, "Warps"); + addNodeObject(filter, "Mirror", s_node_mirror, "Node_Mirror", [1, Node_Mirror],, "Reflect the image along a reflection line.").setVersion(1070); + addNodeObject(filter, "Twirl", s_node_twirl, "Node_Twirl", [1, Node_Twirl], ["twist"], "Twist the image around a mid point."); + addNodeObject(filter, "Dilate", s_node_dilate, "Node_Dilate", [1, Node_Dilate], ["inflate"], "Expand the image around a mid point."); + addNodeObject(filter, "Displace", s_node_displace, "Node_Displace", [1, Node_Displace], ["distort"], "Distort image using another image as a map."); + addNodeObject(filter, "Texture Remap", s_node_texture_map, "Node_Texture_Remap", [1, Node_Texture_Remap],, "Remap image using texture map. Where red channel control x position and green channel control y position."); + addNodeObject(filter, "Time Remap", s_node_time_map, "Node_Time_Remap", [1, Node_Time_Remap],, "Remap image using texture as time map. Where brighter pixel means using pixel from an older frame."); + addNodeObject(filter, "Morph Surface", s_node_morph_surface, "Node_Morph_Surface", [1, Node_Morph_Surface],, "Morph pixel bewteen two surfaces.").setVersion(1141); + + ds_list_add(filter, "Effects"); + addNodeObject(filter, "Outline", s_node_border, "Node_Outline", [1, Node_Outline], ["border"], "Add border to the image."); + addNodeObject(filter, "Glow", s_node_glow, "Node_Glow", [1, Node_Glow],, "Apply glow to the border of the image."); + addNodeObject(filter, "Shadow", s_node_shadow, "Node_Shadow", [1, Node_Shadow],, "Apply shadow behind the image."); + addNodeObject(filter, "Bloom", s_node_bloom, "Node_Bloom", [1, Node_Bloom],, "Apply bloom effect, bluring and brighten the bright part of the image."); + addNodeObject(filter, "Trail", s_node_trail, "Node_Trail", [1, Node_Trail],, "Blend animation by filling in the pixel 'in-between' two or more frames.").setVersion(1130); + addNodeObject(filter, "Erode", s_node_erode, "Node_Erode", [1, Node_Erode],, "Remove pixel that are close to the border of the image."); + addNodeObject(filter, "Corner", s_node_corner, "Node_Corner", [1, Node_Corner], ["round corner"], "Round out sharp corner of the image.").setVersion(1110); + addNodeObject(filter, "2D Light", s_node_2d_light, "Node_2D_light", [1, Node_2D_light],, "Apply different shaped light on the image."); + addNodeObject(filter, "Cast Shadow", s_node_shadow_cast, "Node_Shadow_Cast", [1, Node_Shadow_Cast],, "Apply light that create shadow using shadow mask.").setVersion(1100); + addNodeObject(filter, "Pixel Expand", s_node_atlas, "Node_Atlas", [1, Node_Atlas], ["atlas"], "Replace transparent pixel with the closet non-transparent pixel."); + addNodeObject(filter, "Pixel Cloud", s_node_pixel_cloud, "Node_Pixel_Cloud", [1, Node_Pixel_Cloud],, "Displace each pixel of the image randomly."); + addNodeObject(filter, "Pixel Sort", s_node_pixel_sort, "Node_Pixel_Sort", [1, Node_Pixel_Sort],, "Sort pixel by brightness in horizontal, or vertial axis."); + addNodeObject(filter, "Edge Detect", s_node_edge_detect, "Node_Edge_Detect", [1, Node_Edge_Detect],, "Edge detect by applying Sobel, Prewitt, or Laplacian kernel."); + addNodeObject(filter, "Convolution", s_node_convolution, "Node_Convolution", [1, Node_Convolution], ["kernel"], "Apply convolution operation on each pixel using a custom 3x3 kernel.").setVersion(1090); + addNodeObject(filter, "Local Analyze", s_node_local_analyze, "Node_Local_Analyze", [1, Node_Local_Analyze],, "Apply non-linear operation (minimum, maximum) on each pixel locally.").setVersion(1110); + addNodeObject(filter, "SDF", s_node_sdf, "Node_SDF", [1, Node_SDF],, "Create signed distance field using jump flooding algorithm.").setVersion(1130); + addNodeObject(filter, "Replace Image", s_node_image_replace, "Node_Surface_Replace", [1, Node_Surface_Replace], ["image replace"], "Replace instances of an image with a new one.").setVersion(1140); + addNodeObject(filter, "Chromatic Aberration", s_node_chromatic_abarration, "Node_Chromatic_Aberration", [1, Node_Chromatic_Aberration],, "Apply chromatic aberration effect to the image."); + addNodeObject(filter, "FXAA", s_node_FXAA, "Node_FXAA", [1, Node_FXAA],, "Apply fast approximate anti-aliasing to the image."); + + ds_list_add(filter, "Colors"); + addNodeObject(filter, "Replace Palette", s_node_replace_palette, "Node_Color_replace", [1, Node_Color_replace], ["isolate color", "select color", "palette swap", "color replace"], "Replace color that match one palette with another palette."); + addNodeObject(filter, "Replace Colors", s_node_color_replace, "Node_Colors_Replace", [1, Node_Colors_Replace], ["isolate color", "select color", "palette swap", "color replace"]); + addNodeObject(filter, "Remove Color", s_node_color_remove, "Node_Color_Remove", [1, Node_Color_Remove], ["delete color"], "Remove color that match a palette."); + addNodeObject(filter, "Colorize", s_node_colorize, "Node_Colorize", [1, Node_Colorize], ["recolor"], "Map brightness of a pixel to a color from a gradient."); + addNodeObject(filter, "Posterize", s_node_posterize, "Node_Posterize", [1, Node_Posterize],, "Reduce and remap color to match a palette."); + addNodeObject(filter, "Dither", s_node_dithering, "Node_Dither", [1, Node_Dither],, "Reduce color and use dithering to preserve original color."); + addNodeObject(filter, "Color Adjust", s_node_color_adjust, "Node_Color_adjust", [1, Node_Color_adjust], ["brightness", "contrast", "hue", "saturation", "value", "color blend", "alpha"], "Adjust brightness, contrast, hue, saturation, value, alpha, and blend image with color."); + addNodeObject(filter, "Palette Shift", s_node_palette_shift, "Node_Palette_Shift", [1, Node_Palette_Shift],, "Shift the order of color in palette.").setVersion(1147); + addNodeObject(filter, "BW", s_node_BW, "Node_BW", [1, Node_BW], ["black and white"], "Convert color image to black and white."); + addNodeObject(filter, "Greyscale", s_node_greyscale, "Node_Greyscale", [1, Node_Greyscale],, "Convert color image to greyscale."); + addNodeObject(filter, "Invert", s_node_invert, "Node_Invert", [1, Node_Invert], ["negate"], "Invert color."); + addNodeObject(filter, "Level", s_node_level, "Node_Level", [1, Node_Level],, "Adjust brightness of an image by changing its brightness range."); + addNodeObject(filter, "Level Selector", s_node_level_selector, "Node_Level_Selector", [1, Node_Level_Selector],, "Isolate part of the image that falls in the selected brightness range."); + addNodeObject(filter, "Curve", s_node_curve_edit, "Node_Curve", [1, Node_Curve],, "Adjust brightness of an image using curves.").setVersion(1120); + addNodeObject(filter, "Threshold", s_node_threshold, "Node_Threshold", [1, Node_Threshold],, "Set a threshold where pixel darker will becomes black, and brighter to white. Also works with alpha.").setVersion(1080); + addNodeObject(filter, "Alpha Cutoff", s_node_alpha_cut, "Node_Alpha_Cutoff", [1, Node_Alpha_Cutoff], ["remove alpha"], "Remove pixel with low alpha value."); + + ds_list_add(filter, "Conversions"); + addNodeObject(filter, "RGBA Extract", s_node_RGB, "Node_RGB_Channel", [1, Node_RGB_Channel], ["channel extract"], "Extract RGBA channel on an image, each channel becomes its own image."); + addNodeObject(filter, "HSV Extract", s_node_HSV, "Node_HSV_Channel", [1, Node_HSV_Channel],, "Extract HSVA channel on an image, each channel becomes its own image.").setVersion(1070); + addNodeObject(filter, "Alpha to Grey", s_node_alpha_grey, "Node_Alpha_Grey", [1, Node_Alpha_Grey],, "Convert alpha value into solid greyscale."); + addNodeObject(filter, "Grey to Alpha", s_node_grey_alpha, "Node_Grey_Alpha", [1, Node_Grey_Alpha],, "Convert greyscale to alpha value."); + + ds_list_add(filter, "Fixes"); + addNodeObject(filter, "De-Corner", s_node_decorner, "Node_De_Corner", [1, Node_De_Corner], ["decorner"], "Attempt to remove single pixel corner from the image."); + addNodeObject(filter, "De-Stray", s_node_destray, "Node_De_Stray", [1, Node_De_Stray], ["destray"], "Attempt to remove orphan pixel."); + #endregion + + var d3d = ds_list_create(); #region + addNodeCatagory("3D", d3d); + ds_list_add(d3d, "2D Operations"); + addNodeObject(d3d, "Normal", s_node_normal, "Node_Normal", [1, Node_Normal],, "Create normal map using greyscale value as height."); + addNodeObject(d3d, "Normal Light", s_node_normal_light, "Node_Normal_Light", [1, Node_Normal_Light],, "Light up the image using normal mapping."); + addNodeObject(d3d, "Bevel", s_node_bevel, "Node_Bevel", [1, Node_Bevel], ["shade", "auto shade"], "Apply 2D bevel on the image."); + addNodeObject(d3d, "Sprite Stack", s_node_stack, "Node_Sprite_Stack", [1, Node_Sprite_Stack],, "Create sprite stack either from repeating a single image or stacking different images using array."); + + ds_list_add(d3d, "3D"); + addNodeObject(d3d, "3D Camera", s_node_3d_camera, "Node_3D_Camera", [1, Node_3D_Camera],, "Create 3D camera that render scene to surface.").setVersion(11510); + addNodeObject(d3d, "3D Camera Set", s_node_3d_camera_set, "Node_3D_Camera_Set", [1, Node_3D_Camera_Set],, "3D camera with build-in key and fill directional lights.").setVersion(11571); + addNodeObject(d3d, "3D Material", s_node_3d_meterial, "Node_3D_Material", [1, Node_3D_Material],, "Create 3D material with adjustable parameters.").setVersion(11510); + addNodeObject(d3d, "3D Scene", s_node_3d_scene, "Node_3D_Scene", [1, Node_3D_Scene],, "Combine multiple 3D objects into a single junction.").setVersion(11510); + addNodeObject(d3d, "3D Repeat", s_node_3d_array, "Node_3D_Repeat", [1, Node_3D_Repeat],, "Repeat the same 3D mesh multiple times.").setVersion(11510); + addNodeObject(d3d, "Transform 3D", s_node_image_transform_3d, "Node_3D_Transform_Image", [1, Node_3D_Transform_Image],, "Transform image in 3D space").setVersion(11600); + + ds_list_add(d3d, "Mesh"); + addNodeObject(d3d, "3D Object", s_node_3d_obj, "Node_3D_Mesh_Obj", [0, Node_create_3D_Obj],, "Load .obj file from your computer as a 3D object.").setVersion(11510); + addNodeObject(d3d, "3D Plane", s_node_3d_plane, "Node_3D_Mesh_Plane", [1, Node_3D_Mesh_Plane],, "Put 2D image on a plane in 3D space.").setVersion(11510); + addNodeObject(d3d, "3D Cube", s_node_3d_cube, "Node_3D_Mesh_Cube", [1, Node_3D_Mesh_Cube]).setVersion(11510); + addNodeObject(d3d, "3D Cylinder", s_node_3d_cylinder, "Node_3D_Mesh_Cylinder", [1, Node_3D_Mesh_Cylinder]).setVersion(11510); + addNodeObject(d3d, "3D UV Sphere", s_node_3d_sphere_uv, "Node_3D_Mesh_Sphere_UV", [1, Node_3D_Mesh_Sphere_UV]).setVersion(11510); + addNodeObject(d3d, "3D Icosphere", s_node_3d_sphere_ico, "Node_3D_Mesh_Sphere_Ico", [1, Node_3D_Mesh_Sphere_Ico]).setVersion(11510); + addNodeObject(d3d, "3D Cone", s_node_3d_cone, "Node_3D_Mesh_Cone", [1, Node_3D_Mesh_Cone]).setVersion(11510); + addNodeObject(d3d, "3D Terrain", s_node_3d_displace, "Node_3D_Mesh_Terrain", [1, Node_3D_Mesh_Terrain],, "Create 3D terrain from height map.").setVersion(11560); + addNodeObject(d3d, "Surface Extrude", s_node_3d_extrude, "Node_3D_Mesh_Extrude", [1, Node_3D_Mesh_Extrude],, "Extrude 2D image into 3D object.").setVersion(11510); + + ds_list_add(d3d, "Light"); + addNodeObject(d3d, "Directional Light", s_node_3d_light_directi, "Node_3D_Light_Directional", [1, Node_3D_Light_Directional],, "Create directional light directed at the origin point.").setVersion(11510); + addNodeObject(d3d, "Point Light", s_node_3d_light_point, "Node_3D_Light_Point", [1, Node_3D_Light_Point],, "Create point light to illuminate surrounding area.").setVersion(11510); + + ds_list_add(d3d, "Modify"); + addNodeObject(d3d, "Discretize vertex", s_node_3d_discretize, "Node_3D_Round_Vertex", [1, Node_3D_Round_Vertex],, "Round out vertex position to a specified step.").setVersion(11560); + addNodeObject(d3d, "Set Material", s_node_3d_set_material, "Node_3D_Set_Material", [1, Node_3D_Set_Material],, "Replace mesh material with a new one.").setVersion(11560); + addNodeObject(d3d, "Transform", s_node_3d_transform, "Node_3D_Transform", [1, Node_3D_Transform],, "Transform 3D object.").setVersion(11570); + addNodeObject(d3d, "Transform Scene", s_node_3d_transform_scene, "Node_3D_Transform_Scene", [1, Node_3D_Transform_Scene],, "Transform 3D scene, accepts array of transformations for each objects.").setVersion(11570); + addNodeObject(d3d, "UV Remap", s_node_uv_remap, "Node_3D_UV_Remap", [1, Node_3D_UV_Remap],, "Remap UV map using plane.").setVersion(11570); + ///**/ addNodeObject(d3d, "3D Instancer", s_node_3d_set_material, "Node_3D_Instancer", [1, Node_3D_Instancer]).setVersion(11560); + ///**/ addNodeObject(d3d, "3D Particle", s_node_3d_set_material, "Node_3D_Particle", [1, Node_3D_Particle]).setVersion(11560); + + ds_list_add(d3d, "Points"); + addNodeObject(d3d, "Point Affector", s_node_3d_point_affector, "Node_3D_Point_Affector", [1, Node_3D_Point_Affector],, "Generate array of 3D points interpolating between two values based on the distance.").setVersion(11570); + #endregion + + var generator = ds_list_create(); #region + addNodeCatagory("Generate", generator); + ds_list_add(generator, "Colors"); + addNodeObject(generator, "Solid", s_node_solid, "Node_Solid", [1, Node_Solid],, "Create image of a single color."); + addNodeObject(generator, "Draw Gradient", s_node_gradient, "Node_Gradient", [1, Node_Gradient],, "Create image from gradient."); + addNodeObject(generator, "4 Points Gradient", s_node_gradient_4points, "Node_Gradient_Points", [1, Node_Gradient_Points],, "Create image from 4 color points."); + + ds_list_add(generator, "Drawer"); + addNodeObject(generator, "Line", s_node_line, "Node_Line", [1, Node_Line],, "Draw line on an image. Connect path data to it to draw line from path."); + addNodeObject(generator, "Draw Text", s_node_text_render, "Node_Text", [1, Node_Text],, "Draw text on an image."); + addNodeObject(generator, "Shape", s_node_shape, "Node_Shape", [1, Node_Shape],, "Draw simple shapes using signed distance field."); + addNodeObject(generator, "Polygon Shape", s_node_shape_polygon, "Node_Shape_Polygon", [1, Node_Shape_Polygon],, "Draw simple shapes using triangles.").setVersion(1130); + addNodeObject(generator, "Interpret Number", s_node_interpret_number, "Node_Interpret_Number", [1, Node_Interpret_Number],, "Convert array of number into surface.").setVersion(11530); + addNodeObject(generator, "Random Shape", s_node_random_shape, "Node_Random_Shape", [1, Node_Random_Shape],, "Generate random shape, use for testing purposes.").setVersion(1147); + addNodeObject(generator, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(11540); + addNodeObject(generator, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144); + + ds_list_add(generator, "Noises"); + addNodeObject(generator, "Noise", s_node_noise, "Node_Noise", [1, Node_Noise],, "Generate white noise."); + addNodeObject(generator, "Perlin Noise", s_node_noise_perlin, "Node_Perlin", [1, Node_Perlin],, "Generate perlin noise."); + addNodeObject(generator, "Simplex Noise", s_node_noise_simplex, "Node_Noise_Simplex", [1, Node_Noise_Simplex], ["perlin"], "Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable.").setVersion(1080); + addNodeObject(generator, "Cellular Noise", s_node_noise_cell, "Node_Cellular", [1, Node_Cellular], ["voronoi", "worley"], "Generate voronoi pattern."); + addNodeObject(generator, "Anisotropic Noise", s_node_noise_aniso, "Node_Noise_Aniso", [1, Node_Noise_Aniso],, "Generate anisotropic noise."); + addNodeObject(generator, "Extra Perlins", s_node_perlin_extra, "Node_Perlin_Extra", [1, Node_Perlin_Extra], ["noise"], "Random perlin noise made with different algorithms.").patreonExtra(); + addNodeObject(generator, "Extra Voronoi", s_node_voronoi_extra, "Node_Voronoi_Extra", [1, Node_Voronoi_Extra], ["noise"], "Random voronoi noise made with different algorithms.").patreonExtra(); + addNodeObject(generator, "Gabor Noise", s_node_gabor, "Node_Gabor_Noise", [1, Node_Gabor_Noise]).patreonExtra(); + addNodeObject(generator, "Shard Noise", s_node_shard, "Node_Shard_Noise", [1, Node_Shard_Noise]).patreonExtra(); + addNodeObject(generator, "Wavelet Noise", s_node_wavelet, "Node_Wavelet_Noise", [1, Node_Wavelet_Noise]).patreonExtra(); + addNodeObject(generator, "Caustic", s_node_caustic, "Node_Caustic", [1, Node_Caustic]).patreonExtra(); + + ds_list_add(generator, "Patterns"); + addNodeObject(generator, "Stripe", s_node_stripe, "Node_Stripe", [1, Node_Stripe],, "Generate stripe pattern."); + addNodeObject(generator, "Zigzag", s_node_zigzag, "Node_Zigzag", [1, Node_Zigzag],, "Generate zigzag pattern."); + addNodeObject(generator, "Checker", s_node_checker, "Node_Checker", [1, Node_Checker],, "Genearte checkerboard pattern."); + addNodeObject(generator, "Grid", s_node_grid, "Node_Grid", [1, Node_Grid], ["tile"], "Generate grid pattern."); + addNodeObject(generator, "Triangular Grid", s_node_grid_tri, "Node_Grid_Tri", [1, Node_Grid_Tri],, "Generate triangular grid pattern."); + addNodeObject(generator, "Hexagonal Grid", s_node_grid_hex, "Node_Grid_Hex", [1, Node_Grid_Hex],, "Generate hexagonal grid pattern."); + + ds_list_add(generator, "Populate"); + addNodeObject(generator, "Repeat", s_node_repeat, "Node_Repeat", [1, Node_Repeat],, "Repeat image multiple times linearly, or in grid pattern.").setVersion(1100); + addNodeObject(generator, "Scatter", s_node_scatter, "Node_Scatter", [1, Node_Scatter],, "Scatter image randomly multiple times."); + + ds_list_add(generator, "Simulation"); + addNodeObject(generator, "Particle", s_node_particle, "Node_Particle", [1, Node_Particle],, "Generate particle effect."); + addNodeObject(generator, "VFX", s_node_vfx, "Node_VFX_Group", [1, Node_VFX_Group],, "Create VFX group, which generate particles that can be manipulated using different force nodes."); + addNodeObject(generator, "RigidSim", s_node_rigidSim, "Node_Rigid_Group", [1, Node_Rigid_Group],, "Create group for rigidbody simulation.").setVersion(1110); + addNodeObject(generator, "RigidSim Global", s_node_rigidSim_global, "Node_Rigid_Global", [1, Node_Rigid_Global]).setVersion(1110); + addNodeObject(generator, "SmokeSim", s_node_smokeSim_group, "Node_Fluid_Group", [1, Node_Fluid_Group],, "Create group for fluid simulation.").setVersion(1120); + addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group", [1, Node_Strand_Group], ["Hair"], "Create group for hair simulation.").setVersion(1140); + + ds_list_add(generator, "Region"); + addNodeObject(generator, "Separate Shape", s_node_sepearte_shape, "Node_Seperate_Shape", [1, Node_Seperate_Shape],, "Separate disconnected pixel each into an image in an image array."); + addNodeObject(generator, "Region Fill", s_node_region_fill, "Node_Region_Fill", [1, Node_Region_Fill],, "Fill connected pixel with colors.").setVersion(1147); + addNodeObject(generator, "Flood Fill", s_node_flood_fill, "Node_Flood_Fill", [1, Node_Flood_Fill],, "Filled connected pixel given position and color.").setVersion(1133); + + ds_list_add(generator, "MK Effects"); + addNodeObject(generator, "MK Rains", s_node_mk_rain, "Node_MK_Rain", [1, Node_MK_Rain]).setVersion(11600); + addNodeObject(generator, "MK GridBalls", s_node_mk_ball_grid, "Node_MK_GridBalls", [1, Node_MK_GridBalls]).setVersion(11600); + addNodeObject(generator, "MK GridFlip", s_node_mk_flip_grid, "Node_MK_GridFlip", [1, Node_MK_GridFlip]).setVersion(11600); + addNodeObject(generator, "MK Saber", s_node_mk_saber, "Node_MK_Saber", [1, Node_MK_Saber]).setVersion(11600); + if(TESTING) addNodeObject(generator, "MK Tile", s_node_mk_saber, "Node_MK_Tile", [1, Node_MK_Tile]).setVersion(11600); + #endregion + + var compose = ds_list_create(); #region + addNodeCatagory("Compose", compose); + ds_list_add(compose, "Composes"); + addNodeObject(compose, "Blend", s_node_blend, "Node_Blend", [1, Node_Blend],, "Combine 2 images using different blend modes."); + addNodeObject(compose, "Composite", s_node_compose, "Node_Composite", [1, Node_Composite],, "Combine multiple images with custom transformation."); + addNodeObject(compose, "Stack", s_node_draw_stack, "Node_Stack", [1, Node_Stack],, "Place image next to each other linearly, or on top of each other.").setVersion(1070); + addNodeObject(compose, "Camera", s_node_camera, "Node_Camera", [1, Node_Camera],, "Create camera that crop image to fix dimension with control of position, zoom. Also can be use to create parallax effect."); + addNodeObject(compose, "Render Spritesheet", s_node_sprite_sheet, "Node_Render_Sprite_Sheet", [1, Node_Render_Sprite_Sheet],, "Create spritesheet from image array or animation."); + addNodeObject(compose, "Pack Sprites", s_node_pack_sprite, "Node_Pack_Sprites", [1, Node_Pack_Sprites],, "Combine array of images with different dimension using different algorithms.").setVersion(1140); + + ds_list_add(compose, "Armature"); + addNodeObject(compose, "Armature Create", s_node_armature_create, "Node_Armature", [1, Node_Armature], ["rigging", "bone"], "Create new armature system.").setVersion(1146); + addNodeObject(compose, "Armature Pose", s_node_armature_pose, "Node_Armature_Pose", [1, Node_Armature_Pose], ["rigging", "bone"], "Pose armature system.").setVersion(1146); + addNodeObject(compose, "Armature Bind", s_node_armature_bind, "Node_Armature_Bind", [1, Node_Armature_Bind], ["rigging", "bone"], "Bind and render image to an armature system.").setVersion(1146); + addNodeObject(compose, "Armature Path", s_node_armature_path, "Node_Armature_Path", [1, Node_Armature_Path], ["rigging", "bone"], "Generate path from armature system.").setVersion(1146); + addNodeObject(compose, "Armature Sample", s_node_armature_sample, "Node_Armature_Sample", [1, Node_Armature_Sample], ["rigging", "bone"], "Sample point from armature system.").setVersion(1147); + + if(!DEMO) { + ds_list_add(compose, "Export"); + addNodeObject(compose, "Export", s_node_export, "Node_Export", [0, Node_create_Export],, "Export image/animation to file(s)."); + } + #endregion + + var values = ds_list_create(); #region + addNodeCatagory("Values", values); + ds_list_add(values, "Raw data"); + addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]); + addNodeObject(values, "Text", s_node_text, "Node_String", [1, Node_String]); + addNodeObject(values, "Path", s_node_path, "Node_Path", [1, Node_Path]); + addNodeObject(values, "Area", s_node_area, "Node_Area", [1, Node_Area]); + addNodeObject(values, "Boolean", s_node_boolean, "Node_Boolean", [1, Node_Boolean]).setVersion(1090); + + ds_list_add(values, "Numbers"); + addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]); + addNodeObject(values, "To Number", s_node_to_number, "Node_To_Number", [1, Node_To_Number]).setVersion(1145); + addNodeObject(values, "Math", s_node_math, "Node_Math", [0, Node_create_Math], [ "add", "subtract", "multiply", "divide", "power", "modulo", "round", "ceiling", "floor", "sin", "cos", "tan", "abs" ]); + addNodeObject(values, "Equation", s_node_equation, "Node_Equation", [0, Node_create_Equation],, "Evaluate string of equation. With an option for setting variables."); + addNodeObject(values, "Random", s_node_random, "Node_Random", [1, Node_Random]); + addNodeObject(values, "Statistic", s_node_statistic, "Node_Statistic", [0, Node_create_Statistic], ["sum", "average", "mean", "median", "min", "max"]); + addNodeObject(values, "Convert Base", s_node_base_conversion, "Node_Base_Convert", [1, Node_Base_Convert], ["base convert", "binary", "hexadecimal"]).setVersion(1140); + addNodeObject(values, "Vector2", s_node_vec2, "Node_Vector2", [1, Node_Vector2]); + addNodeObject(values, "Vector3", s_node_vec3, "Node_Vector3", [1, Node_Vector3]); + addNodeObject(values, "Vector4", s_node_vec4, "Node_Vector4", [1, Node_Vector4]); + addNodeObject(values, "Vector Split", s_node_vec_split, "Node_Vector_Split", [1, Node_Vector_Split]); + addNodeObject(values, "Scatter Points", s_node_scatter_point, "Node_Scatter_Points", [1, Node_Scatter_Points],, "Generate array of vector 2 points for scattering.").setVersion(1120); + addNodeObject(values, "Translate Point",s_node_translate_point, "Node_Move_Point", [1, Node_Move_Point]).setVersion(1141); + addNodeObject(values, "Dot product", s_node_dot_product, "Node_Vector_Dot", [1, Node_Vector_Dot]).setVersion(1141); + addNodeObject(values, "Cross product 3D", s_node_cross_product_2d, "Node_Vector_Cross_3D", [1, Node_Vector_Cross_3D]).setVersion(1141); + addNodeObject(values, "Cross product 2D", s_node_cross_product_3d, "Node_Vector_Cross_2D", [1, Node_Vector_Cross_2D]).setVersion(1141); + addNodeObject(values, "FFT", s_node_FFT, "Node_FFT", [1, Node_FFT], ["frequency analysis"], "Perform fourier transform on number array.").setVersion(1144); + addNodeObject(values, "Transform Array",s_node_transform_array, "Node_Transform_Array", [1, Node_Transform_Array]).setVersion(1146); + + ds_list_add(values, "Texts"); + addNodeObject(values, "Text", s_node_text, "Node_String", [1, Node_String]); + addNodeObject(values, "To Text", s_node_to_text, "Node_To_Text", [1, Node_To_Text]).setVersion(1145); + addNodeObject(values, "Unicode", s_node_unicode, "Node_Unicode", [1, Node_Unicode]); + addNodeObject(values, "Text Length", s_node_text_length, "Node_String_Length", [1, Node_String_Length]).setVersion(1138); + addNodeObject(values, "Combine Text", s_node_text_combine, "Node_String_Merge", [1, Node_String_Merge]); + addNodeObject(values, "Join Text", s_node_text_join, "Node_String_Join", [1, Node_String_Join]).setVersion(1120); + addNodeObject(values, "Split Text", s_node_text_splice, "Node_String_Split", [1, Node_String_Split]); + addNodeObject(values, "Trim Text", s_node_text_trim, "Node_String_Trim", [1, Node_String_Trim]).setVersion(1080); + addNodeObject(values, "Get Character", s_node_text_char_get, "Node_String_Get_Char", [1, Node_String_Get_Char]).setVersion(1100); + addNodeObject(values, "RegEx Match", s_node_regex_match, "Node_String_Regex_Match", [1, Node_String_Regex_Match]).setVersion(1140); + addNodeObject(values, "RegEx Search", s_node_regex_search, "Node_String_Regex_Search", [1, Node_String_Regex_Search]).setVersion(1140); + addNodeObject(values, "RegEx Replace", s_node_regex_replace, "Node_String_Regex_Replace", [1, Node_String_Regex_Replace]).setVersion(1140); + addNodeObject(values, "Separate File Path", s_node_separate_file_path, "Node_Path_Separate_Folder", [1, Node_Path_Separate_Folder]).setVersion(1145); + + ds_list_add(values, "Arrays"); + addNodeObject(values, "Array", s_node_array, "Node_Array", [1, Node_Array]); + addNodeObject(values, "Array Range", s_node_array_range, "Node_Array_Range", [1, Node_Array_Range],, "Create array of numbers by setting start, end and step length."); + addNodeObject(values, "Array Add", s_node_array_add, "Node_Array_Add", [1, Node_Array_Add], ["add array"]); + addNodeObject(values, "Array Length", s_node_array_length, "Node_Array_Length", [1, Node_Array_Length]); + addNodeObject(values, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]); + addNodeObject(values, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).setVersion(1120); + addNodeObject(values, "Array Find", s_node_array_find, "Node_Array_Find", [1, Node_Array_Find], ["find array"]).setVersion(1120); + addNodeObject(values, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).setVersion(1120); + addNodeObject(values, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120); + addNodeObject(values, "Array Reverse", s_node_array_reverse, "Node_Array_Reverse", [1, Node_Array_Reverse], ["reverse array"]).setVersion(1120); + addNodeObject(values, "Array Shift", s_node_array_shift, "Node_Array_Shift", [1, Node_Array_Shift]).setVersion(1137); + addNodeObject(values, "Array Zip", s_node_array_zip, "Node_Array_Zip", [1, Node_Array_Zip]).setVersion(1138); + addNodeObject(values, "Array Copy", s_node_array_copy, "Node_Array_Copy", [1, Node_Array_Copy]).setVersion(1144); + addNodeObject(values, "Array Convolute",s_node_array_convolute, "Node_Array_Convolute", [1, Node_Array_Convolute]).setVersion(11540); + addNodeObject(values, "Array Composite",s_node_array_composite, "Node_Array_Composite", [1, Node_Array_Composite]).setVersion(11540); + addNodeObject(values, "Array Sample", s_node_array_sample, "Node_Array_Sample", [1, Node_Array_Sample]).setVersion(11540); + addNodeObject(values, "Sort Number", s_node_array_sort, "Node_Array_Sort", [1, Node_Array_Sort], ["array sort"]).setVersion(1120); + addNodeObject(values, "Shuffle Array", s_node_array_shuffle, "Node_Array_Shuffle", [1, Node_Array_Shuffle], ["array shuffle"]).setVersion(1120); + addNodeObject(values, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array."); + addNodeObject(values, "Filter Array", s_node_filter_array, "Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140); + addNodeObject(values, "Sort Array", s_node_sort_array, "Node_Iterate_Sort", [1, Node_Iterate_Sort],, "Sort array using node graph.").setVersion(1143); + addNodeObject(values, "Parse CSV", s_node_csv_parse, "Node_Array_CSV_Parse", [1, Node_Array_CSV_Parse]).setVersion(1145); + + ds_list_add(values, "Paths"); + addNodeObject(values, "Path", s_node_path, "Node_Path", [1, Node_Path]); + addNodeObject(values, "Path Anchor", s_node_path_anchor, "Node_Path_Anchor", [1, Node_Path_Anchor]).setVersion(1140); + addNodeObject(values, "Path Array", s_node_path_array, "Node_Path_Array", [1, Node_Path_Array]).setVersion(1137); + addNodeObject(values, "Sample Path", s_node_path_sample, "Node_Path_Sample", [1, Node_Path_Sample], ["path sample"], "Sample a 2D position from a path"); + addNodeObject(values, "Blend Path", s_node_path_blend, "Node_Path_Blend", [1, Node_Path_Blend],, "Blend between 2 paths."); + addNodeObject(values, "Remap Path", s_node_path_map, "Node_Path_Map_Area", [1, Node_Path_Map_Area],, "Scale path to fit a given area.").setVersion(1130); + addNodeObject(values, "Transform Path", s_node_path_transform, "Node_Path_Transform", [1, Node_Path_Transform]).setVersion(1130); + addNodeObject(values, "Shift Path", s_node_path_shift, "Node_Path_Shift", [1, Node_Path_Shift],, "Move path along its normal.").setVersion(1130); + addNodeObject(values, "Trim Path", s_node_path_trim, "Node_Path_Trim", [1, Node_Path_Trim]).setVersion(1130); + addNodeObject(values, "Wave Path", s_node_path_wave, "Node_Path_Wave", [1, Node_Path_Wave], ["zigzag path"]).setVersion(1130); + addNodeObject(values, "Reverse Path", s_node_path_reverse, "Node_Path_Reverse", [1, Node_Path_Reverse]).setVersion(1130); + addNodeObject(values, "Path Builder", s_node_path_builder, "Node_Path_Builder", [1, Node_Path_Builder],, "Create path from array of vec2 points.").setVersion(1137); + addNodeObject(values, "L system", s_node_path_l_system, "Node_Path_L_System", [1, Node_Path_L_System]).setVersion(1137); + addNodeObject(values, "Path plot", s_node_path_plot, "Node_Path_Plot", [1, Node_Path_Plot]).setVersion(1138); + + ds_list_add(values, "Boolean"); + addNodeObject(values, "Boolean", s_node_boolean, "Node_Boolean", [1, Node_Boolean]); + addNodeObject(values, "Compare", s_node_compare, "Node_Compare", [0, Node_create_Compare], ["equal", "greater", "lesser"]); + addNodeObject(values, "Logic Opr", s_node_logic_opr, "Node_Logic", [0, Node_create_Logic], [ "and", "or", "not", "nand", "nor" , "xor" ]); + + ds_list_add(values, "Trigger"); + addNodeObject(values, "Trigger", s_node_trigger, "Node_Trigger", [1, Node_Trigger]).setVersion(1140); + addNodeObject(values, "Boolean Trigger", s_node_trigger_bool, "Node_Trigger_Bool", [1, Node_Trigger_Bool], ["trigger boolean"]).setVersion(1140); + + ds_list_add(values, "Struct"); + addNodeObject(values, "Struct", s_node_struct, "Node_Struct", [1, Node_Struct]); + addNodeObject(values, "Struct Get", s_node_struct_get, "Node_Struct_Get", [1, Node_Struct_Get]); + //addNodeObject(values, "Struct Set", s_node_struct_get, "Node_Struct_Set", [1, Node_Struct_Set]); + addNodeObject(values, "Parse JSON", s_node_json_parse, "Node_Struct_JSON_Parse", [1, Node_Struct_JSON_Parse]).setVersion(1145); + + ds_list_add(values, "Mesh"); + addNodeObject(values, "Path to Mesh", s_node_mesh_path, "Node_Mesh_Create_Path", [1, Node_Mesh_Create_Path],, "Create mesh from path.").setVersion(1140); + addNodeObject(values, "Mesh Transform", s_node_mesh_transform, "Node_Mesh_Transform", [1, Node_Mesh_Transform]).setVersion(1140); + + ds_list_add(values, "Atlas"); + addNodeObject(values, "Draw Atlas", s_node_draw_atlas, "Node_Atlas_Draw", [1, Node_Atlas_Draw],, "Render image atlas to a surface.").setVersion(1141); + addNodeObject(values, "Atlas Get", s_node_atlas_get, "Node_Atlas_Get", [1, Node_Atlas_Get]).setVersion(1141); + addNodeObject(values, "Atlas Set", s_node_atlas_set, "Node_Atlas_Set", [1, Node_Atlas_Set]).setVersion(1141); + + ds_list_add(values, "Surface"); + //addNodeObject(values, "Dynamic Surface", s_node_dynasurf, "Node_dynaSurf", [1, Node_dynaSurf]).setVersion(11520); + addNodeObject(values, "IsoSurf", s_node_isosurf, "Node_IsoSurf", [1, Node_IsoSurf]).setVersion(11520); + addNodeObject(values, "Surface from Buffer", s_node_surface_from_buffer, "Node_Surface_From_Buffer", [1, Node_Surface_From_Buffer], ["buffer to surface"], "Create surface from buffer.").setVersion(1146); + + ds_list_add(values, "Buffer"); + addNodeObject(values, "Buffer from Surface", s_node_surface_to_buffer, "Node_Surface_To_Buffer", [1, Node_Surface_To_Buffer], ["surface to buffer"], "Create buffer from surface.").setVersion(1146); + #endregion + + var color = ds_list_create(); #region + addNodeCatagory("Color", color); + ds_list_add(color, "Colors"); + addNodeObject(color, "Color", s_node_color_out, "Node_Color", [1, Node_Color],, "Create color value."); + addNodeObject(color, "RGB Color", s_node_color_from_rgb, "Node_Color_RGB", [1, Node_Color_RGB],, "Create color from RGB value."); + addNodeObject(color, "HSV Color", s_node_color_from_hsv, "Node_Color_HSV", [1, Node_Color_HSV],, "Create color from HSV value."); + addNodeObject(color, "Sampler", s_node_sampler, "Node_Sampler", [1, Node_Sampler],, "Sample color from an image."); + addNodeObject(color, "Color Data", s_node_color_data, "Node_Color_Data", [1, Node_Color_Data],, "Get data (rgb, hsv, brightness) from color."); + addNodeObject(color, "Find pixel", s_node_pixel_find, "Node_Find_Pixel", [1, Node_Find_Pixel],, "Get the position of the first pixel with a given color.").setVersion(1130); + addNodeObject(color, "Mix Color", s_node_color_mix, "Node_Color_Mix", [1, Node_Color_Mix]).setVersion(1140); + + ds_list_add(color, "Palettes"); + addNodeObject(color, "Palette", s_node_palette, "Node_Palette", [1, Node_Palette],, "Create palette value. Note that palette is simple an array of colors."); + addNodeObject(color, "Sort Palette", s_node_palette_sort, "Node_Palette_Sort", [1, Node_Palette_Sort],, "Sort palette with specified order.").setVersion(1130); + addNodeObject(color, "Palette Extract", s_node_palette_extract, "Node_Palette_Extract", [1, Node_Palette_Extract],, "Extract palette from an image.").setVersion(1100); + addNodeObject(color, "Palette Replace", s_node_palette_replace, "Node_Palette_Replace", [1, Node_Palette_Replace],, "Replace colors in a palette with new one.").setVersion(1120); + + ds_list_add(color, "Gradient"); + addNodeObject(color, "Gradient", s_node_gradient_out, "Node_Gradient_Out", [1, Node_Gradient_Out],, "Create gradient object"); + addNodeObject(color, "Palette to Gradient", s_node_gradient_palette, "Node_Gradient_Palette", [1, Node_Gradient_Palette],, "Create gradient from palette.").setVersion(1135); + addNodeObject(color, "Gradient Shift", s_node_gradient_shift, "Node_Gradient_Shift", [1, Node_Gradient_Shift],, "Move gradients keys."); + addNodeObject(color, "Gradient Replace", s_node_gradient_replace, "Node_Gradient_Replace_Color", [1, Node_Gradient_Replace_Color],, "Replace color inside a gradient.").setVersion(1135); + addNodeObject(color, "Gradient Data", s_node_gradient_data, "Node_Gradient_Extract", [1, Node_Gradient_Extract],, "Get palatte and array of key positions from gradient.").setVersion(1135); + #endregion + + var animation = ds_list_create(); #region + addNodeCatagory("Animation", animation); + ds_list_add(animation, "Animations"); + addNodeObject(animation, "Frame Index", s_node_counter, "Node_Counter", [1, Node_Counter], ["current frame", "counter"], "Output current frame as frame index, or animation progress (0 - 1)."); + addNodeObject(animation, "Wiggler", s_node_wiggler, "Node_Wiggler", [1, Node_Wiggler],, "Create smooth random value."); + addNodeObject(animation, "Evaluate Curve", s_node_curve_eval, "Node_Anim_Curve", [1, Node_Anim_Curve],, "Evaluate value from an animation curve."); + addNodeObject(animation, "Rate Remap", s_node_rate_remap, "Node_Rate_Remap", [1, Node_Rate_Remap],, "Remap animation to a new framerate.").setVersion(1147); + + ds_list_add(animation, "Audio"); + addNodeObject(animation, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144); + addNodeObject(animation, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145); + addNodeObject(animation, "FFT", s_node_FFT, "Node_FFT", [1, Node_FFT], ["frequency analysis"], "Perform fourier transform on number array.").setVersion(1144); + addNodeObject(animation, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144); + addNodeObject(animation, "Audio Window", s_node_audio_trim, "Node_Audio_Window", [1, Node_Audio_Window],, "Take a slice of an audio array based on the current frame.").setVersion(1144); + addNodeObject(animation, "Audio Volume", s_node_audio_volume, "Node_Audio_Loudness", [1, Node_Audio_Loudness],, "Calculate volume of an audio bit array.").setVersion(11540); + #endregion + + var node = ds_list_create(); #region + addNodeCatagory("Misc", node); + ds_list_add(node, "Control"); + addNodeObject(node, "Condition", s_node_condition, "Node_Condition", [1, Node_Condition],, "Given a condition, output one value if true, another value is false."); + addNodeObject(node, "Switch", s_node_switch, "Node_Switch", [1, Node_Switch],, "Given an index, output a value labeled by the same index.").setVersion(1090); + addNodeObject(node, "Animation Control", s_node_animation_control, "Node_Animation_Control", [1, Node_Animation_Control],, "Control animation state with triggers.").setVersion(1145); + + ds_list_add(node, "Groups"); + addNodeObject(node, "Group", s_node_group, "Node_Group", [1, Node_Group]); + addNodeObject(node, "Feedback", s_node_feedback, "Node_Feedback", [1, Node_Feedback],, "Create a group that reuse output from last frame to the current one."); + addNodeObject(node, "Loop", s_node_loop, "Node_Iterate", [1, Node_Iterate], ["iterate", "for"], "Create group that reuse output as input repeatedly in one frame."); + addNodeObject(node, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array."); + addNodeObject(node, "Filter Array", s_node_filter_array,"Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140); + + ds_list_add(node, "Lua"); + addNodeObject(node, "Lua Global", s_node_lua_global, "Node_Lua_Global", [1, Node_Lua_Global]).setVersion(1090); + addNodeObject(node, "Lua Surface", s_node_lua_surface, "Node_Lua_Surface", [1, Node_Lua_Surface]).setVersion(1090); + addNodeObject(node, "Lua Compute", s_node_lua_compute, "Node_Lua_Compute", [1, Node_Lua_Compute]).setVersion(1090); + + ds_list_add(node, "Shader"); + addNodeObject(node, "HLSL", s_node_hlsl, "Node_HLSL", [1, Node_HLSL],, "Execute HLSL shader on a surface.").setVersion(11520); + + ds_list_add(node, "Organize"); + addNodeObject(node, "Pin", s_node_pin, "Node_Pin", [1, Node_Pin],, "Craete pin to organize your connection. Can be create by double clicking on a connection line."); + addNodeObject(node, "Frame", s_node_frame, "Node_Frame", [1, Node_Frame],, "Create frame surrounding nodes."); + addNodeObject(node, "Tunnel In", s_node_tunnel_in, "Node_Tunnel_In", [1, Node_Tunnel_In],, "Create tunnel for sending value based on key matching."); + addNodeObject(node, "Tunnel Out", s_node_tunnel_out, "Node_Tunnel_Out", [1, Node_Tunnel_Out],, "Receive value from tunnel in of the same key."); + addNodeObject(node, "Display Text", s_node_text_display,"Node_Display_Text", [1, Node_Display_Text],, "Display text on the graph."); + addNodeObject(node, "Display Image", s_node_image, "Node_Display_Image", [0, Node_create_Display_Image],, "Display image on the graph."); + + ds_list_add(node, "Cache"); + addNodeObject(node, "Cache", s_node_cache, "Node_Cache", [1, Node_Cache],, "Store current animation. Cache persisted between save.").setVersion(1134); + addNodeObject(node, "Cache Array", s_node_cache_array, "Node_Cache_Array", [1, Node_Cache_Array],, "Store current animation as array. Cache persisted between save.").setVersion(1130); + + ds_list_add(node, "Debug"); + addNodeObject(node, "Print", s_node_print, "Node_Print", [1, Node_Print], ["debug log"], "Display text to notification.").setVersion(1145); + addNodeObject(node, "Widget Test", s_node_print, "Node_Widget_Test", [1, Node_Widget_Test]); + //addNodeObject(node, "Module Test", s_node_print, "Node_Module_Test", [1, Node_Module_Test]); + + ds_list_add(node, "System"); + addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530); + //addNodeObject(node, "Note", s_node_note, "Node_Note", [1, Node_Note]).setVersion(11530); + #endregion + + var actions = ds_list_create(); + addNodeCatagory("Action", actions); + __initNodeActions(actions); + + var customs = ds_list_create(); + addNodeCatagory("Custom", customs); + __initNodeCustom(customs); + + if(IS_PATREON) addNodeCatagory("Extra", SUPPORTER_NODES); + + //var vct = ds_list_create(); + //addNodeCatagory("VCT", vct); + // addNodeObject(vct, "Biterator", s_node_print, "Node_Biterator", [1, Node_Biterator]); + + //////////////////////////////////////////////////////////// PIXEL BUILDER //////////////////////////////////////////////////////////// + + var pb_group = ds_list_create(); #region + addNodePBCatagory("Group", pb_group); + ds_list_add(pb_group, "Groups"); + addNodeObject(pb_group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent(); + addNodeObject(pb_group, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent(); + #endregion + + var pb_draw = ds_list_create(); #region + addNodePBCatagory("Draw", pb_draw); + ds_list_add(pb_draw, "Fill"); + addNodeObject(pb_draw, "Fill", s_node_pb_draw_fill, "Node_PB_Draw_Fill", [1, Node_PB_Draw_Fill]).hideRecent(); + + ds_list_add(pb_draw, "Shape"); + addNodeObject(pb_draw, "Rectangle", s_node_pb_draw_rectangle, "Node_PB_Draw_Rectangle", [1, Node_PB_Draw_Rectangle]).hideRecent(); + addNodeObject(pb_draw, "Round Rectangle", s_node_pb_draw_roundrectangle, "Node_PB_Draw_Round_Rectangle", [1, Node_PB_Draw_Round_Rectangle]).hideRecent(); + addNodeObject(pb_draw, "Trapezoid", s_node_pb_draw_trapezoid, "Node_PB_Draw_Trapezoid", [1, Node_PB_Draw_Trapezoid]).hideRecent(); + addNodeObject(pb_draw, "Diamond", s_node_pb_draw_diamond, "Node_PB_Draw_Diamond", [1, Node_PB_Draw_Diamond]).hideRecent(); + addNodeObject(pb_draw, "Ellipse", s_node_pb_draw_ellipse, "Node_PB_Draw_Ellipse", [1, Node_PB_Draw_Ellipse]).hideRecent(); + addNodeObject(pb_draw, "Semi-Ellipse", s_node_pb_draw_semi_ellipse, "Node_PB_Draw_Semi_Ellipse", [1, Node_PB_Draw_Semi_Ellipse]).hideRecent(); + addNodeObject(pb_draw, "Line", s_node_pb_draw_line, "Node_PB_Draw_Line", [1, Node_PB_Draw_Line]).hideRecent(); + addNodeObject(pb_draw, "Angle", s_node_pb_draw_angle, "Node_PB_Draw_Angle", [1, Node_PB_Draw_Angle]).hideRecent(); + addNodeObject(pb_draw, "Blob", s_node_pb_draw_blob, "Node_PB_Draw_Blob", [1, Node_PB_Draw_Blob]).hideRecent(); + #endregion + + var pb_box = ds_list_create(); #region + addNodePBCatagory("Box", pb_box); + ds_list_add(pb_box, "Layer"); + addNodeObject(pb_box, "Layer", s_node_pb_layer, "Node_PB_Layer", [1, Node_PB_Layer]).hideRecent(); + + ds_list_add(pb_box, "Box"); + addNodeObject(pb_box, "Transform", s_node_pb_box_transform, "Node_PB_Box_Transform", [1, Node_PB_Box_Transform]).hideRecent(); + addNodeObject(pb_box, "Mirror", s_node_pb_box_mirror, "Node_PB_Box_Mirror", [1, Node_PB_Box_Mirror]).hideRecent(); + addNodeObject(pb_box, "Inset", s_node_pb_box_inset, "Node_PB_Box_Inset", [1, Node_PB_Box_Inset]).hideRecent(); + addNodeObject(pb_box, "Split", s_node_pb_box_split, "Node_PB_Box_Split", [1, Node_PB_Box_Split]).hideRecent(); + addNodeObject(pb_box, "Divide", s_node_pb_box_divide, "Node_PB_Box_Divide", [1, Node_PB_Box_Divide]).hideRecent(); + addNodeObject(pb_box, "Divide Grid", s_node_pb_box_divide_grid, "Node_PB_Box_Divide_Grid", [1, Node_PB_Box_Divide_Grid]).hideRecent(); + addNodeObject(pb_box, "Contract", s_node_pb_box_contract, "Node_PB_Box_Contract", [1, Node_PB_Box_Contract]).hideRecent(); + #endregion + + var pb_fx = ds_list_create(); #region + addNodePBCatagory("Effects", pb_fx); + ds_list_add(pb_fx, "Effect"); + addNodeObject(pb_fx, "Outline", s_node_pb_fx_outline, "Node_PB_Fx_Outline", [1, Node_PB_Fx_Outline]).hideRecent(); + addNodeObject(pb_fx, "Stack", s_node_pb_fx_stack, "Node_PB_Fx_Stack", [1, Node_PB_Fx_Stack]).hideRecent(); + addNodeObject(pb_fx, "Radial", s_node_pb_fx_radial, "Node_PB_Fx_Radial", [1, Node_PB_Fx_Radial]).hideRecent(); + + ds_list_add(pb_fx, "Lighting"); + addNodeObject(pb_fx, "Highlight", s_node_pb_fx_highlight, "Node_PB_Fx_Highlight", [1, Node_PB_Fx_Highlight]).hideRecent(); + addNodeObject(pb_fx, "Shading", s_node_pb_fx_shading, "Node_PB_Fx_Shading", [1, Node_PB_Fx_Shading]).hideRecent(); + + ds_list_add(pb_fx, "Texture"); + addNodeObject(pb_fx, "Hashing", s_node_pb_fx_hash, "Node_PB_Fx_Hash", [1, Node_PB_Fx_Hash]).hideRecent(); + addNodeObject(pb_fx, "Strip", s_node_pb_fx_strip, "Node_PB_Fx_Strip", [1, Node_PB_Fx_Strip]).hideRecent(); + addNodeObject(pb_fx, "Brick", s_node_pb_fx_brick, "Node_PB_Fx_Brick", [1, Node_PB_Fx_Brick]).hideRecent(); + + ds_list_add(pb_fx, "Blend"); + addNodeObject(pb_fx, "Add", s_node_pb_fx_add, "Node_PB_Fx_Add", [1, Node_PB_Fx_Add]).hideRecent(); + addNodeObject(pb_fx, "Subtract", s_node_pb_fx_subtract, "Node_PB_Fx_Subtract", [1, Node_PB_Fx_Subtract]).hideRecent(); + addNodeObject(pb_fx, "Intersect", s_node_pb_fx_interesct, "Node_PB_Fx_Intersect", [1, Node_PB_Fx_Intersect]).hideRecent(); + #endregion + + var pb_arr = ds_list_create(); #region + addNodePBCatagory("Array", pb_arr); + addNodeObject(pb_arr, "Array", s_node_array, "Node_Array", [1, Node_Array]).hideRecent(); + addNodeObject(pb_arr, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]).hideRecent(); + addNodeObject(pb_arr, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).hideRecent().setVersion(1120); + addNodeObject(pb_arr, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).hideRecent().setVersion(1120); + addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).hideRecent().setVersion(1120); + #endregion + + /////////////////////////////////////////////////////////////// PCX NODE /////////////////////////////////////////////////////////////// + + var pcx_var = ds_list_create(); #region + addNodePCXCatagory("Variable", pcx_var); + addNodeObject(pcx_var, "Variable", s_node_array, "Node_PCX_var", [1, Node_PCX_var]).hideRecent(); + addNodeObject(pcx_var, "Fn Variable", s_node_array, "Node_PCX_fn_var", [1, Node_PCX_fn_var]).hideRecent(); + #endregion + + var pcx_fn = ds_list_create(); #region + addNodePCXCatagory("Functions", pcx_fn); + addNodeObject(pcx_fn, "Equation", s_node_array, "Node_PCX_Equation", [1, Node_PCX_Equation]).hideRecent(); + + ds_list_add(pcx_fn, "Numbers"); + addNodeObject(pcx_fn, "Math", s_node_array, "Node_PCX_fn_Math", [1, Node_PCX_fn_Math]).hideRecent(); + addNodeObject(pcx_fn, "Random", s_node_array, "Node_PCX_fn_Random", [1, Node_PCX_fn_Random]).hideRecent(); + + ds_list_add(pcx_fn, "Surface"); + addNodeObject(pcx_fn, "Surface Width", s_node_array, "Node_PCX_fn_Surface_Width", [1, Node_PCX_fn_Surface_Width]).hideRecent(); + addNodeObject(pcx_fn, "Surface Height", s_node_array, "Node_PCX_fn_Surface_Height", [1, Node_PCX_fn_Surface_Height]).hideRecent(); + + ds_list_add(pcx_fn, "Array"); + addNodeObject(pcx_fn, "Array Get", s_node_array, "Node_PCX_Array_Get", [1, Node_PCX_Array_Get]).hideRecent(); + addNodeObject(pcx_fn, "Array Set", s_node_array, "Node_PCX_Array_Set", [1, Node_PCX_Array_Set]).hideRecent(); + #endregion + + var pcx_flow = ds_list_create(); #region + addNodePCXCatagory("Flow Control", pcx_flow); + addNodeObject(pcx_flow, "Condition", s_node_array, "Node_PCX_Condition", [1, Node_PCX_Condition]).hideRecent(); + #endregion + + //////////////////////////////////////////////////////////////// HIDDEN //////////////////////////////////////////////////////////////// + + var hid = ds_list_create(); #region + addNodeCatagory("Hidden", hid, ["Hidden"]); + addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Each_Input", [1, Node_Iterator_Each_Input]).hideRecent(); + addNodeObject(hid, "Output", s_node_loop_output, "Node_Iterator_Each_Output", [1, Node_Iterator_Each_Output]).hideRecent(); + addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Filter_Input", [1, Node_Iterator_Filter_Input]).hideRecent(); + addNodeObject(hid, "Output", s_node_loop_output, "Node_Iterator_Filter_Output", [1, Node_Iterator_Filter_Output]).hideRecent(); + addNodeObject(hid, "Grid Noise", s_node_grid_noise, "Node_Grid_Noise", [1, Node_Grid_Noise]).hideRecent(); + addNodeObject(hid, "Triangular Noise", s_node_grid_tri_noise, "Node_Noise_Tri", [1, Node_Noise_Tri]).hideRecent().setVersion(1090); + addNodeObject(hid, "Hexagonal Noise", s_node_grid_hex_noise, "Node_Noise_Hex", [1, Node_Noise_Hex]).hideRecent().setVersion(1090); + addNodeObject(hid, "Sort Input", s_node_grid_hex_noise, "Node_Iterator_Sort_Input", [1, Node_Iterator_Sort_Input]).hideRecent(); + addNodeObject(hid, "Sort Output", s_node_grid_hex_noise, "Node_Iterator_Sort_Output", [1, Node_Iterator_Sort_Output]).hideRecent(); + addNodeObject(hid, "Onion Skin", s_node_cache, "Node_Onion_Skin", [1, Node_Onion_Skin]).setVersion(1147).hideRecent(); + //addNodeObject(hid, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(1150).hideRecent(); + + ds_list_add(values, "DynaSurf"); + addNodeObject(hid, "Input", s_node_pixel_builder, "Node_DynaSurf_In", [1, Node_DynaSurf_In]).hideRecent(); + addNodeObject(hid, "Output", s_node_pixel_builder, "Node_DynaSurf_Out", [1, Node_DynaSurf_Out]).hideRecent(); + addNodeObject(hid, "getWidth", s_node_pixel_builder, "Node_DynaSurf_Out_Width", [1, Node_DynaSurf_Out_Width]).hideRecent(); + addNodeObject(hid, "getHeight", s_node_pixel_builder, "Node_DynaSurf_Out_Height", [1, Node_DynaSurf_Out_Height]).hideRecent(); + #endregion +} diff --git a/scripts/rotator/rotator.gml b/scripts/rotator/rotator.gml index dfe1f41cc..febf9fd6d 100644 --- a/scripts/rotator/rotator.gml +++ b/scripts/rotator/rotator.gml @@ -3,9 +3,8 @@ function rotator(_onModify, _step = -1) : widget() constructor { step = _step; scale = 1; - dragging = false; + dragging = noone; drag_sv = 0; - drag_sa = 0; real_val = 0; slide_speed = 1 / 10; @@ -16,21 +15,21 @@ function rotator(_onModify, _step = -1) : widget() constructor { halign = fa_center; - static setInteract = function(interactable = noone) { + static setInteract = function(interactable = noone) { #region self.interactable = interactable; tb_value.interactable = interactable; - } + } #endregion - static register = function(parent = noone) { + static register = function(parent = noone) { #region tb_value.register(parent); - } + } #endregion - static drawParam = function(params) { + static drawParam = function(params) { #region halign = params.halign; return draw(params.x, params.y, params.w, params.data, params.m); - } + } #endregion - static draw = function(_x, _y, _w, _data, _m, draw_tb = true) { + static draw = function(_x, _y, _w, _data, _m, draw_tb = true) { #region x = _x; y = _y; w = _w; @@ -60,12 +59,10 @@ function rotator(_onModify, _step = -1) : widget() constructor { var py = knob_y + lengthdir_y(_r, _data); if(dragging) { - var delta = angle_difference(point_direction(_x, knob_y, _m[0], _m[1]), drag_sa); - var real_val = round(delta + drag_sv); + var real_val = round(dragging.delta_acc + drag_sv); var val = key_mod_press(CTRL)? round(real_val / 15) * 15 : real_val; - if(step != -1) - val = round(real_val / step) * step; + if(step != -1) val = round(real_val / step) * step; draw_sprite(spr_knob, 1, px, py); @@ -74,11 +71,9 @@ function rotator(_onModify, _step = -1) : widget() constructor { UNDO_HOLDING = true; } - drag_sa = point_direction(_x, knob_y, _m[0], _m[1]); - drag_sv = real_val; - if(mouse_release(mb_left)) { - dragging = false; + instance_destroy(dragging); + dragging = noone; UNDO_HOLDING = false; } @@ -86,9 +81,8 @@ function rotator(_onModify, _step = -1) : widget() constructor { draw_sprite(spr_knob, 1, px, py); if(mouse_press(mb_left, active)) { - dragging = true; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, _x, knob_y); drag_sv = _data; - drag_sa = point_direction(_x, knob_y, _m[0], _m[1]); } var amo = 1; @@ -106,5 +100,5 @@ function rotator(_onModify, _step = -1) : widget() constructor { resetFocus(); return h; - } + } #endregion } \ No newline at end of file diff --git a/scripts/rotatorRandom/rotatorRandom.gml b/scripts/rotatorRandom/rotatorRandom.gml index 04df12835..bbc1c5491 100644 --- a/scripts/rotatorRandom/rotatorRandom.gml +++ b/scripts/rotatorRandom/rotatorRandom.gml @@ -1,9 +1,9 @@ function rotatorRandom(_onModify) : widget() constructor { onModify = _onModify; - dragging = -1; + dragging = false; + dragging_index = -1; drag_sv = 0; - drag_sa = 0; mode = 0; tb_min_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(1, val); } ).setSlidable(true, 1); @@ -18,28 +18,28 @@ function rotatorRandom(_onModify) : widget() constructor { __txtx("widget_rotator_random_double_span", "Double Span") ]); - static setInteract = function(interactable = noone) { + static setInteract = function(interactable = noone) { #region self.interactable = interactable; tb_min_0.interactable = interactable; tb_max_0.interactable = interactable; if(mode == 2 || mode == 3) tb_min_1.interactable = interactable; if(mode == 2) tb_max_1.interactable = interactable; - } + } #endregion - static register = function(parent = noone) { + static register = function(parent = noone) { #region tb_min_0.register(parent); tb_max_0.register(parent); if(mode == 2 || mode == 3) tb_min_1.register(parent); if(mode == 2) tb_max_1.register(parent); - } + } #endregion - static drawParam = function(params) { + static drawParam = function(params) { #region return draw(params.x, params.y, params.w, params.data, params.m); - } + } #endregion - static draw = function(_x, _y, _w, _data, _m) { + static draw = function(_x, _y, _w, _data, _m) { #region x = _x; y = _y; w = _w; @@ -98,7 +98,7 @@ function rotatorRandom(_onModify) : widget() constructor { #region draw arc var hover_arc = false; var diss = point_distance(_m[0], _m[1], knx, kny); - if(abs(diss - _r) < 6 || dragging == 2) + if(abs(diss - _r) < 6 || dragging_index == 2) hover_arc = true; for(var i = 0; i < 2; i++) { @@ -113,68 +113,73 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 0, px[i], py[i]); #endregion - if(dragging > -1) { #region + if(dragging_index > -1) { #region var val = point_direction(knx, kny, _m[0], _m[1]); if(key_mod_press(CTRL)) val = round(val / 15) * 15; - var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa); - var val, real_val = drag_sv; + var val; - if(dragging == 2) { - var modi = false; - real_val[1] = round(delta + drag_sv[1]); - val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1]; + if(dragging_index == 2) { + var curr_val = [ drag_sv[0], drag_sv[1], drag_sv[2], drag_sv[3], drag_sv[4] ]; + var modi = false; + + curr_val[1] = round(dragging.delta_acc + drag_sv[1]); + curr_val[2] = round(dragging.delta_acc + drag_sv[2]); + + val = key_mod_press(CTRL)? round(curr_val[1] / 15) * 15 : curr_val[1]; modi |= onModify(1, val); - - real_val[2] = round(delta + drag_sv[2]); - val = key_mod_press(CTRL)? round(real_val[2] / 15) * 15 : real_val[2]; + + val = key_mod_press(CTRL)? round(curr_val[2] / 15) * 15 : curr_val[2]; modi |= onModify(2, val); if(modi) UNDO_HOLDING = true; } else { - var _o = _data[dragging]; - real_val = round(delta + drag_sv); - val = key_mod_press(CTRL)? round(real_val / 15) * 15 : real_val; - - draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]); - - if(_data[dragging] != val) { + var _o = _data[dragging_index]; + var curr_val = round(dragging.delta_acc + drag_sv); + val = key_mod_press(CTRL)? round(curr_val / 15) * 15 : curr_val; + + draw_sprite(THEME.rotator_knob, 1, px[dragging_index], py[dragging_index]); + + if(_data[dragging_index] != val) { var modi = false; - modi |= onModify(1 + dragging, val); + modi |= onModify(1 + dragging_index, val); if(key_mod_press(ALT)) { var dt = val - _o; - modi |= onModify(1 + !dragging, _data[!dragging] - dt); + modi |= onModify(1 + !dragging_index, _data[!dragging_index] - dt); } if(modi) UNDO_HOLDING = true; } } - - drag_sa = point_direction(knx, kny, _m[0], _m[1]); - drag_sv = real_val; - + if(mouse_release(mb_left)) { - dragging = -1; - UNDO_HOLDING = false; + instance_destroy(dragging); + dragging = noone; + dragging_index = -1; + UNDO_HOLDING = false; } #endregion } else if(hover) { #region + for(var i = 0; i < 2; i++) { if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) { draw_sprite(THEME.rotator_knob, 1, px[i], py[i]); if(mouse_press(mb_left, active)) { - dragging = i; + dragging_index = i; + drag_sv = _data[1 + i]; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); + dragging = instance_create(0, 0, rotator_Rotator).init(_m, knx, kny); } } } - if(dragging == -1 && hover_arc && mouse_press(mb_left, active)) { - dragging = 2; - drag_sv = _data; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); + + if(dragging_index == -1 && hover_arc && mouse_press(mb_left, active)) { + dragging_index = 2; + + drag_sv = [ _data[0], _data[1], _data[2], _data[3], _data[4] ]; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, knx, kny); } #endregion } @@ -206,34 +211,33 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 0, px[i], py[i]); #endregion - if(dragging > -1) { #region + if(dragging_index > -1) { #region var val = point_direction(knx, kny, _m[0], _m[1]); if(key_mod_press(CTRL)) val = round(val / 15) * 15; - var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa); - var val, real_val = drag_sv; + var val; + var real_val = [ drag_sv[0], drag_sv[1], drag_sv[2], drag_sv[3], drag_sv[4] ]; - if(dragging == 2) { - real_val[1] = round(delta + drag_sv[1]); + if(dragging_index == 2) { + real_val[1] = round(dragging.delta_acc + drag_sv[1]); val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1]; draw_sprite(THEME.rotator_knob, 1, px[2], py[2]); if(onModify(1, val)) UNDO_HOLDING = true; } else { - real_val[2] = round(drag_sv[2] + (delta * (dragging? 1 : -1))); + real_val[2] = round(drag_sv[2] + (dragging.delta_acc * (dragging_index? 1 : -1))); val = key_mod_press(CTRL)? round(real_val[2] / 15) * 15 : real_val[2]; - draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]); + draw_sprite(THEME.rotator_knob, 1, px[dragging_index], py[dragging_index]); if(onModify(2, val)) UNDO_HOLDING = true; } - drag_sa = point_direction(knx, kny, _m[0], _m[1]); - drag_sv = real_val; - if(mouse_release(mb_left)) { - dragging = -1; + instance_destroy(dragging); + dragging = noone; + dragging_index = -1; UNDO_HOLDING = false; } #endregion @@ -243,9 +247,9 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 1, px[i], py[i]); if(mouse_press(mb_left, active)) { - dragging = i; - drag_sv = _data; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); + dragging_index = i; + drag_sv = [ _data[0], _data[1], _data[2], _data[3], _data[4] ]; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, knx, kny); } } } @@ -289,26 +293,25 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 0, px[i], py[i]); #endregion - if(dragging > -1) { #region + if(dragging_index > -1) { #region var val = point_direction(knx, kny, _m[0], _m[1]); if(key_mod_press(CTRL)) val = round(val / 15) * 15; - var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa); - var val, real_val = drag_sv; - var ind = dragging + 1; + var val; + var real_val = [ drag_sv[0], drag_sv[1], drag_sv[2], drag_sv[3], drag_sv[4] ]; + var ind = dragging_index + 1; - real_val[ind] = round(drag_sv[ind] + (delta * (ind? 1 : -1))); + real_val[ind] = round(drag_sv[ind] + (dragging.delta_acc * (ind? 1 : -1))); val = key_mod_press(CTRL)? round(real_val[ind] / 15) * 15 : real_val[ind]; - draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]); + draw_sprite(THEME.rotator_knob, 1, px[dragging_index], py[dragging_index]); if(onModify(ind, val)) UNDO_HOLDING = true; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); - drag_sv = real_val; - if(mouse_release(mb_left)) { - dragging = -1; + instance_destroy(dragging); + dragging = noone; + dragging_index = -1; UNDO_HOLDING = false; } #endregion @@ -318,9 +321,9 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 1, px[i], py[i]); if(mouse_press(mb_left, active)) { - dragging = i; - drag_sv = _data; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); + dragging_index = i; + drag_sv = [ _data[0], _data[1], _data[2], _data[3], _data[4] ]; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, knx, kny); } } } @@ -371,26 +374,25 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 0, px[1], py[1]); #endregion - if(dragging > -1) { #region + if(dragging_index > -1) { #region var val = point_direction(knx, kny, _m[0], _m[1]); if(key_mod_press(CTRL)) val = round(val / 15) * 15; - var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa); - var val, real_val = drag_sv; - var ind = dragging + 1; + var real_val = [ drag_sv[0], drag_sv[1], drag_sv[2], drag_sv[3], drag_sv[4] ]; + var val; + var ind = dragging_index + 1; - real_val[ind] = round(drag_sv[ind] + (delta * (ind? 1 : -1))); + real_val[ind] = round(drag_sv[ind] + (dragging.delta_acc * (ind? 1 : -1))); val = key_mod_press(CTRL)? round(real_val[ind] / 15) * 15 : real_val[ind]; - draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]); + draw_sprite(THEME.rotator_knob, 1, px[dragging_index], py[dragging_index]); if(onModify(ind, val)) UNDO_HOLDING = true; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); - drag_sv = real_val; - if(mouse_release(mb_left)) { - dragging = -1; + instance_destroy(dragging); + dragging = noone; + dragging_index = -1; UNDO_HOLDING = false; } #endregion @@ -400,9 +402,9 @@ function rotatorRandom(_onModify) : widget() constructor { draw_sprite(THEME.rotator_knob, 1, px[i], py[i]); if(mouse_press(mb_left, active)) { - dragging = i; - drag_sv = _data; - drag_sa = point_direction(knx, kny, _m[0], _m[1]); + dragging_index = i; + drag_sv = [ _data[0], _data[1], _data[2], _data[3], _data[4] ]; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, knx, kny); } } } @@ -414,5 +416,5 @@ function rotatorRandom(_onModify) : widget() constructor { resetFocus(); return h; - } + } #endregion } \ No newline at end of file diff --git a/scripts/rotatorRange/rotatorRange.gml b/scripts/rotatorRange/rotatorRange.gml index ff3ca0e9b..a018d1836 100644 --- a/scripts/rotatorRange/rotatorRange.gml +++ b/scripts/rotatorRange/rotatorRange.gml @@ -1,31 +1,30 @@ function rotatorRange(_onModify) : widget() constructor { onModify = _onModify; - dragging = -1; + dragging_index = -1; + dragging = noone; drag_sv = 0; - drag_sa = 0; - drag_sc = 0; tb_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(0, val); } ).setSlidable(); tb_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(1, val); } ).setSlidable(); - static setInteract = function(interactable = noone) { + static setInteract = function(interactable = noone) { #region self.interactable = interactable; tb_min.interactable = interactable; tb_max.interactable = interactable; - } + } #endregion - static register = function(parent = noone) { + static register = function(parent = noone) { #region tb_min.register(parent); tb_max.register(parent); - } + } #endregion - static drawParam = function(params) { + static drawParam = function(params) { #region return draw(params.x, params.y, params.w, params.data, params.m); - } + } #endregion - static draw = function(_x, _y, _w, _data, _m) { + static draw = function(_x, _y, _w, _data, _m) { #region x = _x; y = _y; w = _w; @@ -60,95 +59,89 @@ function rotatorRange(_onModify) : widget() constructor { #region draw arc var hover_arc = false; var diss = point_distance(_m[0], _m[1], _x, knob_y); - if(abs(diss - _r) < 6 || dragging == 2) + + if(abs(diss - _r) < 6 || dragging_index == 2) hover_arc = true; + for(var i = 0; i < 2; i++) { if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) hover_arc = false; } - + draw_set_color(hover_arc? COLORS.widget_rotator_range_hover : COLORS.widget_rotator_range); - draw_arc_width(_x, knob_y, _r, 3, _data[0], _data[1]); + draw_arc_forward(_x, knob_y, _r, 3, _data[0], _data[1]); #endregion for(var i = 0; i < 2; i++) draw_sprite(THEME.rotator_knob, 0, px[i], py[i]); - if(dragging > -1) { + if(dragging_index > -1) { #region var val = point_direction(_x, knob_y, _m[0], _m[1]); if(key_mod_press(CTRL)) val = round(val / 15) * 15; - var delta = angle_difference(point_direction(_x, knob_y, _m[0], _m[1]), drag_sa); var val, real_val; - if(dragging == 2) { + if(dragging_index == 2) { var modi = false; - real_val[0] = round(delta + drag_sv[0]); - val = key_mod_press(CTRL)? round(real_val[0] / 15) * 15 : real_val[0]; + + real_val[0] = round(dragging.delta_acc + drag_sv[0]); + real_val[1] = round(dragging.delta_acc + drag_sv[1]); + + val = key_mod_press(CTRL)? round(real_val[0] / 15) * 15 : real_val[0]; modi |= onModify(0, val); - real_val[1] = round(delta + drag_sv[1]); - val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1]; + val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1]; modi |= onModify(1, val); - if(modi) - UNDO_HOLDING = true; + if(modi) UNDO_HOLDING = true; } else { - var _o = _data[dragging]; - real_val = round(delta + drag_sv); + var _o = _data[dragging_index]; + real_val = round(dragging.delta_acc + drag_sv); val = key_mod_press(CTRL)? round(real_val / 15) * 15 : real_val; - draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]); + draw_sprite(THEME.rotator_knob, 1, px[dragging_index], py[dragging_index]); - if(_data[dragging] != val) { + if(_data[dragging_index] != val) { var modi = false; - modi |= onModify(dragging, val); + modi |= onModify(dragging_index, val); if(key_mod_press(ALT)) { var dt = val - _o; - modi |= onModify(!dragging, _data[!dragging] - dt); + modi |= onModify(!dragging_index, _data[!dragging_index] - dt); } - if(modi) - UNDO_HOLDING = true; + if(modi) UNDO_HOLDING = true; } - - drag_sv = real_val; } - drag_sa = point_direction(_x, knob_y, _m[0], _m[1]); - drag_sv = real_val; - if(mouse_release(mb_left)) { - dragging = -1; + instance_destroy(dragging); + dragging = noone; + dragging_index = -1; UNDO_HOLDING = false; } - } else if(hover) { + #endregion + } else if(hover) { #region for(var i = 0; i < 2; i++) { if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) { draw_sprite(THEME.rotator_knob, 1, px[i], py[i]); if(mouse_press(mb_left, active)) { - dragging = i; + dragging_index = i; drag_sv = _data[i]; - drag_sa = point_direction(_x, knob_y, _m[0], _m[1]); - drag_sc = lerp_angle(_data[0], _data[1], 0.5); + dragging = instance_create(0, 0, rotator_Rotator).init(_m, _x, knob_y); } } } - if(dragging == -1 && hover_arc && mouse_press(mb_left, active)) { - dragging = 2; - drag_sv = _data; - drag_sa = point_direction(_x, knob_y, _m[0], _m[1]); + if(dragging_index == -1 && hover_arc && mouse_press(mb_left, active)) { + dragging_index = 2; + drag_sv = [ _data[0], _data[1] ]; + dragging = instance_create(0, 0, rotator_Rotator).init(_m, _x, knob_y); } - } - - //draw_set_text(f_p1, fa_center, fa_center, COLORS._main_text); - //draw_text(_x, knob_y - ui(8), string(_data[0])); - //draw_text(_x, knob_y + ui(8), string(_data[1])); + } #endregion resetFocus(); return h; - } + } #endregion } \ No newline at end of file diff --git a/scripts/slider/slider.gml b/scripts/slider/slider.gml index 532e2271e..3525302dc 100644 --- a/scripts/slider/slider.gml +++ b/scripts/slider/slider.gml @@ -21,13 +21,9 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg update_stat = SLIDER_UPDATE.realtime; - dragging = false; - drag_mx = 0; - drag_sx = 0; - - spr = THEME.slider; - blend = c_white; - + spr = THEME.slider; + blend = c_white; + dragging = noone; handle_w = ui(20); tb_value = new textBox(TEXTBOX_INPUT.number, onApply); @@ -37,24 +33,24 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg onModify(value); } #endregion - static setSlideSpeed = function(speed) { + static setSlideSpeed = function(speed) { #region tb_value.setSlidable(speed); - } + } #endregion - static setInteract = function(interactable = noone) { + static setInteract = function(interactable = noone) { #region self.interactable = interactable; tb_value.interactable = interactable; - } + } #endregion - static register = function(parent = noone) { + static register = function(parent = noone) { #region tb_value.register(parent); - } + } #endregion - static drawParam = function(params) { + static drawParam = function(params) { #region return draw(params.x, params.y, params.w, params.h, params.data, params.m); - } + } #endregion - static draw = function(_x, _y, _w, _h, _data, _m, tb_w = 64, halign = fa_left, valign = fa_top) { + static draw = function(_x, _y, _w, _h, _data, _m, tb_w = 64, halign = fa_left, valign = fa_top) { #region x = _x; y = _y; w = _w; @@ -63,17 +59,17 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg if(!dragging) current_value = _data; - switch(halign) { + switch(halign) { #region case fa_left: _x = _x; break; case fa_center: _x = _x - _w / 2; break; case fa_right: _x = _x - _w; break; - } + } #endregion - switch(valign) { + switch(valign) { #region case fa_top: _y = _y; break; case fa_center: _y = _y - _h / 2; break; case fa_bottom: _y = _y - _h; break; - } + } #endregion var _rang = abs(maxx - minn); if(!dragging) { @@ -94,7 +90,15 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg if(THEME_VALUE.slider_type == "full_height") draw_sprite_stretched_ext(spr, 0, _x, _y, sw, _h, blend, 1); else if(THEME_VALUE.slider_type == "stem") - draw_sprite_stretched_ext(spr, 0, _x, _y + _h / 2 - ui(4), sw, ui(8), blend, 1); + draw_sprite_stretched_ext(spr, 0, _x - ui(4), _y + _h / 2 - ui(4), sw + ui(8), ui(8), blend, 1); + + if(stepSize >= 1 && sw / ((curr_maxx - curr_minn) / stepSize) > ui(8)) { + for( var i = curr_minn; i <= curr_maxx; i += stepSize ) { + var _v = round(i / stepSize) * stepSize; + var _cx = _x + clamp((_v - curr_minn) / (curr_maxx - curr_minn), 0, 1) * sw; + draw_sprite_stretched_ext(spr, 4, _cx - ui(4), _y + _h / 2 - ui(4), ui(8), ui(8), COLORS.widget_slider_step, 1); + } + } var _pg = clamp((current_value - curr_minn) / (curr_maxx - curr_minn), 0, 1) * sw; var _kx = _x + _pg; @@ -107,7 +111,7 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg if(THEME_VALUE.slider_type == "stem") draw_sprite_stretched_ext(spr, 3, _kx - handle_w / 2, _y, handle_w, _h, COLORS._main_accent, 1); - var val = (_m[0] - _x) / sw * (curr_maxx - curr_minn) + curr_minn; + var val = (dragging.drag_sx - dragging.drag_msx) / dragging.drag_sw * (curr_maxx - curr_minn) + curr_minn; val = round(val / stepSize) * stepSize; val = clamp(val, curr_minn, curr_maxx); @@ -121,21 +125,22 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg if(mouse_release(mb_left)) { if(update_stat == SLIDER_UPDATE.release && onModify != noone) onModify(val); - - dragging = false; + + instance_destroy(dragging); + dragging = noone; if(onRelease != noone) onRelease(val); UNDO_HOLDING = false; } } else { - if(hover && (point_in_rectangle(_m[0], _m[1], _x, _y, _x + sw, _y + _h) || point_in_rectangle(_m[0], _m[1], _kx - handle_w / 2, _y, _kx + handle_w / 2, _y + _h))) { if(THEME_VALUE.slider_type == "stem") draw_sprite_stretched_ext(spr, 2, _kx - handle_w / 2, _y, handle_w, _h, blend, 1); if(mouse_press(mb_left, active)) { - dragging = true; - drag_mx = _m[0]; - drag_sx = _data; + dragging = instance_create(0, 0, slider_Slider); + dragging.drag_sx = _m[0]; + dragging.drag_msx = _x; + dragging.drag_sw = sw; } var amo = slide_speed; @@ -150,5 +155,5 @@ function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) : widg resetFocus(); return h; - } + } #endregion } \ No newline at end of file diff --git a/scripts/sliderRange/sliderRange.gml b/scripts/sliderRange/sliderRange.gml index 2c60050b6..75bbb2290 100644 --- a/scripts/sliderRange/sliderRange.gml +++ b/scripts/sliderRange/sliderRange.gml @@ -6,9 +6,7 @@ function sliderRange(_min, _max, _step, _onModify) : widget() constructor { spr = THEME.slider; onModify = _onModify; - dragging = -1; - drag_mx = 0; - drag_sx = 0; + dragging = noone; tb_value_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(0, clamp(val, minn, maxx)); }); tb_value_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(1, clamp(val, minn, maxx)); }); @@ -16,33 +14,33 @@ function sliderRange(_min, _max, _step, _onModify) : widget() constructor { tb_value_min.slidable = true; tb_value_max.slidable = true; - static setSlideSpeed = function(speed) { + static setSlideSpeed = function(speed) { #region tb_value_min.setSlidable(speed); tb_value_max.setSlidable(speed); - } + } #endregion - static setInteract = function(interactable = noone) { + static setInteract = function(interactable = noone) { #region self.interactable = interactable; tb_value_min.interactable = interactable; tb_value_max.interactable = interactable; - } + } #endregion - static register = function(parent = noone) { + static register = function(parent = noone) { #region tb_value_min.register(parent); tb_value_max.register(parent); - } + } #endregion - static drawParam = function(params) { + static drawParam = function(params) { #region return draw(params.x, params.y, params.w, params.h, params.data, params.m); - } + } #endregion - static draw = function(_x, _y, _w, _h, _data, _m) { + static draw = function(_x, _y, _w, _h, _data, _m) { #region x = _x; y = _y; w = _w; h = _h; - if(!is_real(_data[0])) return; - if(!is_real(_data[1])) return; + if(!is_real(_data[0])) return h; + if(!is_real(_data[1])) return h; var tb_w = ui(64); var sw = _w - (tb_w + ui(16)) * 2; @@ -56,6 +54,14 @@ function sliderRange(_min, _max, _step, _onModify) : widget() constructor { var _x0 = _x + tb_w + ui(16); draw_sprite_stretched(spr, 0, _x0, _y + _h / 2 - ui(4), sw, ui(8)); + if(stepSize >= 1 && sw / ((maxx - minn) / stepSize) > ui(8)) { + for( var i = minn; i <= maxx; i += stepSize ) { + var _v = round(i / stepSize) * stepSize; + var _cx = _x + clamp((_v - minn) / (maxx - minn), 0, 1) * sw; + draw_sprite_stretched_ext(spr, 4, _cx - ui(4), _y + _h / 2 - ui(4), ui(8), ui(8), COLORS.widget_slider_step, 1); + } + } + var _slider_x0 = _x0 + clamp((_data[0] - minn) / (maxx - minn), 0, 1) * sw; var _slider_x1 = _x0 + clamp((_data[1] - minn) / (maxx - minn), 0, 1) * sw; @@ -63,46 +69,50 @@ function sliderRange(_min, _max, _step, _onModify) : widget() constructor { draw_sprite_stretched(spr, 1, _slider_x0 - ui(10), _y, ui(20), _h); draw_sprite_stretched(spr, 1, _slider_x1 - ui(10), _y, ui(20), _h); - if(dragging > -1) { - if(dragging == 0) + if(dragging) { + if(dragging_index == 0) draw_sprite_stretched_ext(spr, 3, _slider_x0 - ui(10), _y, ui(20), _h, COLORS._main_accent, 1); - else if(dragging == 1) + else if(dragging_index == 1) draw_sprite_stretched_ext(spr, 3, _slider_x1 - ui(10), _y, ui(20), _h, COLORS._main_accent, 1); - var val = (_m[0] - _x0) / sw * (maxx - minn) + minn; + var val = (dragging.drag_sx - dragging.drag_msx) / dragging.drag_sw * (maxx - minn) + minn; val = round(val / stepSize) * stepSize; val = clamp(val, minn, maxx); if(key_mod_press(CTRL)) val = round(val); - if(onModify(dragging, val)) + if(onModify(dragging_index, val)) UNDO_HOLDING = true; if(mouse_release(mb_left)) { + instance_destroy(dragging); + dragging = noone; UNDO_HOLDING = false; - dragging = -1; } } else if(hover) { var _hover = -1; - + if(point_in_rectangle(_m[0], _m[1], _slider_x0 - ui(10), _y, _slider_x0 + ui(10), _y + _h)) { draw_sprite_stretched(spr, 2, _slider_x0 - ui(10), _y, ui(20), _h); _hover = 0; } + if(point_in_rectangle(_m[0], _m[1], _slider_x1 - ui(10), _y, _slider_x1 + ui(10), _y + _h)) { draw_sprite_stretched(spr, 2, _slider_x1 - ui(10), _y, ui(20), _h); _hover = 1; } - + if(_hover > -1 && mouse_press(mb_left, active)) { - dragging = _hover; - drag_mx = _m[0]; - drag_sx = _data[_hover]; + dragging = instance_create(0, 0, slider_Slider); + dragging_index = _hover; + dragging.drag_sx = _m[0]; + dragging.drag_msx = _x0; + dragging.drag_sw = sw; } } resetFocus(); return h; - } + } #endregion } \ No newline at end of file diff --git a/scripts/textArea/textArea.gml b/scripts/textArea/textArea.gml index 989b5708f..f0e544dad 100644 --- a/scripts/textArea/textArea.gml +++ b/scripts/textArea/textArea.gml @@ -34,7 +34,6 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor cursor_pos_y = 0; cursor_pos_y_to = 0; cursor_line = 0; - cursor_selecting = false; char_run = 0 @@ -78,7 +77,11 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor cursor_pos_x = 0; cursor_pos_y = 0; - click_block = 1; + + cursor = string_length(_current_text); + cursor_select = 0; + click_block = 1; + KEYBOARD_STRING = ""; keyboard_lastkey = -1; @@ -657,9 +660,6 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor ch_cxo = sx; ch_x = sx; - //draw_set_color(c_white); - //draw_rectangle(ch_x, ch_y, ch_x + 100, ch_y + _ch_h, false); - if((i == 0 || ch_y <= _my) && (i == n - 1 || _my < ch_y + _ch_h)) { for( var j = 0; j < _l; j++ ) { _chr = string_char_at(_str, j + 1); @@ -689,21 +689,19 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor } if(target != undefined) { - if(mouse_press(mb_left, active) && !click_block && (HOVER != o_dialog_textbox_autocomplete.id || cursor_selecting)) { - cursor_selecting = true; - cursor_select = target; - cursor = target; - - o_dialog_textbox_autocomplete.deactivate(self); - } - - if(mouse_click(mb_left, active)) - cursor = target; - click_block = false; + if(!click_block) { + if(mouse_press(mb_left, active) && HOVER != o_dialog_textbox_autocomplete.id) { + cursor_select = target; + cursor = target; + + o_dialog_textbox_autocomplete.deactivate(self); + } else if(mouse_click(mb_left, active)) + cursor = target; + } } - if(mouse_release(mb_left)) - cursor_selecting = false; + if(mouse_release(mb_left, active)) + click_block = false; } #endregion static drawParam = function(params) { #region @@ -803,16 +801,34 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor draw_set_color(COLORS.widget_text_highlight); if(char_line <= ch_sel_min && char_line + _l > ch_sel_min) { - var x1 = tx + string_width(string_copy(_str, 1, ch_sel_min - char_line)); - var x2 = tx + string_width(string_copy(_str, 1, ch_sel_max - char_line)); + var _hstr1 = string_copy(_str, 1, ch_sel_min - char_line); + var _hstr2 = string_copy(_str, 1, ch_sel_max - char_line); + + if(format == TEXT_AREA_FORMAT.delimiter) { + _hstr1 = string_replace_all(_hstr1, " ", ""); + _hstr2 = string_replace_all(_hstr2, " ", ""); + } + + var x1 = tx + string_width(_hstr1); + var x2 = tx + string_width(_hstr2); draw_roundrect_ext(x1, ch_y, x2, ch_y + c_h, THEME_VALUE.highlight_corner_radius, THEME_VALUE.highlight_corner_radius, 0); } else if(char_line >= ch_sel_min && char_line + _l < ch_sel_max) { - var x2 = tx + string_width(_str); + var _hstr = _str; + + if(format == TEXT_AREA_FORMAT.delimiter) + _hstr = string_replace_all(_hstr, " ", ""); + + var x2 = tx + string_width(_hstr); draw_roundrect_ext(tx, ch_y, x2, ch_y + c_h, THEME_VALUE.highlight_corner_radius, THEME_VALUE.highlight_corner_radius, 0); } else if(char_line > ch_sel_min && char_line <= ch_sel_max && char_line + _l >= ch_sel_max) { - var x2 = tx + string_width(string_copy(_str, 1, ch_sel_max - char_line)); + var _hstr = string_copy(_str, 1, ch_sel_max - char_line); + + if(format == TEXT_AREA_FORMAT.delimiter) + _hstr = string_replace_all(_hstr, " ", ""); + + var x2 = tx + string_width(_hstr); draw_roundrect_ext(tx, ch_y, x2, ch_y + c_h, THEME_VALUE.highlight_corner_radius, THEME_VALUE.highlight_corner_radius, 0); } @@ -840,7 +856,7 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor cursor_pos_y = cursor_pos_y == 0? cursor_pos_y_to : lerp_float(cursor_pos_y, cursor_pos_y_to, 2); #endregion - display_text(tx, _y + ui(7), _input_text, _m[0], _m[1], (hover && hoverRect) || cursor_selecting); + display_text(tx, _y + ui(7), _input_text, _m[0], _m[1], hover && hoverRect); if(cursor_pos_y != 0 && cursor_pos_x != 0) { draw_set_color(COLORS._main_text_accent); diff --git a/scripts/textBox/textBox.gml b/scripts/textBox/textBox.gml index 324104702..49632c771 100644 --- a/scripts/textBox/textBox.gml +++ b/scripts/textBox/textBox.gml @@ -315,15 +315,17 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { } if(target != -999) { - if(mouse_press(mb_left, active) && !click_block) { - cursor_select = target; - cursor = target; - } else if(mouse_click(mb_left, active) && cursor != target) - cursor = target; - - if(mouse_press(mb_left, active)) - click_block = false; + if(!click_block) { + if(mouse_press(mb_left, active)) { + cursor_select = target; + cursor = target; + } else if(mouse_click(mb_left, active) && cursor != target) + cursor = target; + } } + + if(mouse_release(mb_left, active)) + click_block = false; } #endregion static drawParam = function(params) { #region @@ -538,11 +540,11 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { if(sliding == 1 && (abs(dx) > 16 || abs(dy) > 16)) { sliding = 2; slide_sv = toNumber(_input_text); - o_dialog_textbox_slider.activate() + textBox_slider.activate() } if(sliding == 2) { - o_dialog_textbox_slider.tb = self; + textBox_slider.tb = self; if(mouse_release(mb_left)) deactivate(); }