From c79122041966beaa875ad85f40579dba5edb153e Mon Sep 17 00:00:00 2001 From: Tanasart Date: Mon, 20 Jan 2025 13:46:55 +0700 Subject: [PATCH] [Path] Fix node reallocate preview surface every update frame. --- datafiles/data/Collections.zip | Bin 548046 -> 548046 bytes datafiles/data/Nodes/Internal.zip | Bin 9092813 -> 9092813 bytes objects/o_dialog_add_node/Create_0.gml | 19 +++++++++++------ scripts/globals/globals.gml | 11 +++++----- scripts/node_path/node_path.gml | 20 +++++++++++------- scripts/node_path_smooth/node_path_smooth.gml | 16 ++++++++------ .../node_segment_filter.gml | 2 -- 7 files changed, 40 insertions(+), 28 deletions(-) diff --git a/datafiles/data/Collections.zip b/datafiles/data/Collections.zip index b91afbceaf96a900a6199e92f04420c270a47652..d076b2de7a0f56b2247d0514cd21c0b2a2d5ab87 100644 GIT binary patch delta 11222 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 delta 11218 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 delta 1286 zcmY+?ZA?>F7zgkPWpz%Oh%eLLAruf46;S322nt?pDO2&avsR`eZfD zrJW1uyMEK7{XTP?6hWU^D%t5XOC+!Q%sG-n0XF^XGqcmrg(`H@N^_bn^_y8TRp&R$ zhFebg&1@-t_1o*Yd9l?0_{~{Pda_pSKF}O)Y)E%ad`o_uUSDs{l0{bVA=*M=+Dc9I32me8w1b*yC$-Qn`jkGS-SjzqL0{4y`il0_KH5*M zbbt=hAv#P)=qMedujx2_L*G&xwNr#T=sWs8ITS#AU)s+heWVwal9zk2kePhki)(Hf zINyia6KY#qw;vnvFdTn$+g^~@hbrl7>O&1P#(w%CdA=|DJR|Lwkp8hhI!}@>=+(cU zwA}hxe{_tDyy%aXJ2Ug0njNlKhCVT1ccj*An-X*Dnly|te;1s-@p&$0Be3?lV1qqe^=2k5U`&O}py{+t&{3D?XF3Eeif>uDX zF=+Xi$+JOgiAx4DxAOGoTdXoE3d45S{;<^`^^LH#TDsZvC{O;{zuT-j$<&=Uwp&F~ vw6$Bc&fs#VHncZl6%Kc{MC{JgvV>Di?cm8zBUZ7ru`pk^Cy#en>#F|)&{!M5 diff --git a/objects/o_dialog_add_node/Create_0.gml b/objects/o_dialog_add_node/Create_0.gml index 917b3257c..23ad5f930 100644 --- a/objects/o_dialog_add_node/Create_0.gml +++ b/objects/o_dialog_add_node/Create_0.gml @@ -116,7 +116,7 @@ event_inherited(); return bool(_b & value_bit(junction_called.type)); } - function setPage(pageIndex) { + function setPage(pageIndex, subPageIndex = 0) { ADD_NODE_PAGE = min(pageIndex, array_length(category) - 1); subgroups = []; subgroup_index = 0; @@ -192,11 +192,13 @@ event_inherited(); array_push(subgroups, _node); } - setSubgroup(0); + + setSubgroup(subPageIndex); } function setSubgroup(_subg) { - subgroup_index = _subg; + subgroup_index = _subg; + ADD_NODE_SUBPAGE = _subg; } #endregion @@ -326,6 +328,7 @@ event_inherited(); break; } } + } #endregion @@ -872,11 +875,13 @@ event_inherited(); if(PREFERENCES.add_node_remember) { content_pane.scroll_y_raw = ADD_NODE_SCROLL; content_pane.scroll_y_to = ADD_NODE_SCROLL; - } else - ADD_NODE_PAGE = 0; + + } else { + ADD_NODE_PAGE = 0; + ADD_NODE_SUBPAGE = 0; + } - setPage(ADD_NODE_PAGE); - run_in(1, function() /*=>*/ { setPage(ADD_NODE_PAGE) }); + setPage(ADD_NODE_PAGE, ADD_NODE_SUBPAGE); #endregion #region resize diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 463b0400e..520460d50 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -83,12 +83,13 @@ DIALOG_CLICK = true; - globalvar ADD_NODE_PAGE, ADD_NODE_SCROLL; + globalvar ADD_NODE_PAGE, ADD_NODE_SCROLL, ADD_NODE_SUBPAGE; - ADD_NODE_PAGE = 0; - ADD_NODE_SCROLL = 0; - WINDOW_ACTIVE = noone; - TOOLTIP_WINDOW = noone; + ADD_NODE_PAGE = 0; + ADD_NODE_SUBPAGE = 0; + ADD_NODE_SCROLL = 0; + WINDOW_ACTIVE = noone; + TOOLTIP_WINDOW = noone; #endregion #region macro diff --git a/scripts/node_path/node_path.gml b/scripts/node_path/node_path.gml index 2cb9174ff..e1f8b0328 100644 --- a/scripts/node_path/node_path.gml +++ b/scripts/node_path/node_path.gml @@ -48,8 +48,9 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { ["Anchors", false], ]; - output_display_list = [ 1, 0, 2 ]; - path_preview_surface = noone; + output_display_list = [ 1, 0, 2 ]; + _path_preview_surface = noone; + path_preview_surface = noone; setDynamicInput(1, false); @@ -1149,10 +1150,9 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { var maxx = boundary.maxx + pad, maxy = boundary.maxy + pad; var rngx = maxx - minx, rngy = maxy - miny; var prev_s = 128; - var _surf = surface_create(prev_s, prev_s); - _surf = surface_verify(_surf, prev_s, prev_s); - surface_set_target(_surf); + _path_preview_surface = surface_verify(_path_preview_surface, prev_s, prev_s); + surface_set_target(_path_preview_surface); DRAW_CLEAR var ox, oy, nx, ny; @@ -1184,10 +1184,8 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { shader_set_f("cornerDis", 0.5); shader_set_f("mixAmo", 1); - draw_surface_safe(_surf); + draw_surface_safe(_path_preview_surface); surface_reset_shader(); - - surface_free(_surf); } static getLineCount = function() { return 1; } @@ -1349,4 +1347,10 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { } static getPreviewBoundingBox = function() { return BBOX().fromBoundingBox(boundary); } + + static onCleanUp = function() { + surface_free(_path_preview_surface); + surface_free( path_preview_surface); + } + } \ No newline at end of file diff --git a/scripts/node_path_smooth/node_path_smooth.gml b/scripts/node_path_smooth/node_path_smooth.gml index 89b4760ad..a4cf58594 100644 --- a/scripts/node_path_smooth/node_path_smooth.gml +++ b/scripts/node_path_smooth/node_path_smooth.gml @@ -34,7 +34,8 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru boundary = new BoundingBox(); cached_pos = ds_map_create(); - path_preview_surface = noone; + path_preview_surface = noone; + _path_preview_surface = noone; #endregion #region ---- editor ---- @@ -189,10 +190,9 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru var maxx = boundary.maxx + pad, maxy = boundary.maxy + pad; var rngx = maxx - minx, rngy = maxy - miny; var prev_s = 128; - var _surf = surface_create(prev_s, prev_s); - _surf = surface_verify(_surf, prev_s, prev_s); - surface_set_target(_surf); + _path_preview_surface = surface_verify(_path_preview_surface, prev_s, prev_s); + surface_set_target(_path_preview_surface); DRAW_CLEAR var ox, oy, nx, ny; @@ -224,10 +224,9 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru shader_set_f("cornerDis", 0.5); shader_set_f("mixAmo", 1); - draw_surface_safe(_surf); + draw_surface_safe(_path_preview_surface); surface_reset_shader(); - surface_free(_surf); } static getLineCount = function() { return 1; } @@ -353,4 +352,9 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru } } + static onCleanUp = function() { + surface_free(_path_preview_surface); + surface_free( path_preview_surface); + } + } \ No newline at end of file diff --git a/scripts/node_segment_filter/node_segment_filter.gml b/scripts/node_segment_filter/node_segment_filter.gml index eb2b3b430..c2a2447f1 100644 --- a/scripts/node_segment_filter/node_segment_filter.gml +++ b/scripts/node_segment_filter/node_segment_filter.gml @@ -22,8 +22,6 @@ function Node_Segment_Filter(_x, _y, _group = noone) : Node(_x, _y, _group) cons ["Filter", false], 1, 2, 3, ]; - path_preview_surface = noone; - static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _segs = outputs[0].getValue(); var ox, oy, nx, ny;