From 1a7d14dc301626eef145a94e1c41d8a9180f6ddb Mon Sep 17 00:00:00 2001 From: Tanasart Date: Thu, 13 Feb 2025 13:35:41 +0700 Subject: [PATCH] Fix loaded collection try to connect outside its context. --- PixelComposer.resource_order | 8 +- PixelComposer.yyp | 14 +- datafiles/data/Nodes/Internal.zip | Bin 9102148 -> 9102148 bytes scripts/append_function/append_function.gml | 18 +-- .../node_group_output/node_group_output.gml | 1 + scripts/node_keyframe/node_keyframe.gml | 3 +- scripts/node_shadow/node_shadow.gml | 10 +- scripts/node_value/node_value.gml | 2 +- .../panel_collection_runner.gml | 11 ++ .../panel_collection_runner.yy | 14 ++ scripts/panel_function/panel_function.gml | 4 + scripts/panel_inspector/panel_inspector.gml | 121 ++++++++---------- scripts/panel_menu/panel_menu.gml | 1 + shaders/sh_grid_tri/sh_grid_tri.fsh | 1 + 14 files changed, 114 insertions(+), 94 deletions(-) create mode 100644 scripts/panel_collection_runner/panel_collection_runner.gml create mode 100644 scripts/panel_collection_runner/panel_collection_runner.yy diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index cb00074da..e9bf0ceb2 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -218,6 +218,7 @@ {"name":"bool","order":2,"path":"folders/nodes/icons/value/bool.yy",}, {"name":"color","order":10,"path":"folders/nodes/icons/value/color.yy",}, {"name":"gradient","order":12,"path":"folders/nodes/icons/value/gradient.yy",}, + {"name":null,"order":9,"path":"folders/panels/runner.yy",}, {"name":"matrix","order":4,"path":"folders/nodes/icons/value/matrix.yy",}, {"name":"mesh","order":9,"path":"folders/nodes/icons/value/mesh.yy",}, {"name":"number","order":1,"path":"folders/nodes/icons/value/number.yy",}, @@ -270,6 +271,7 @@ {"name":"rotator","order":2,"path":"folders/widgets/rotator.yy",}, {"name":"sliders","order":3,"path":"folders/widgets/sliders.yy",}, {"name":"text","order":4,"path":"folders/widgets/text.yy",}, + {"name":"runner","order":12,"path":"folders/panels/_others/runner.yy",}, ], "ResourceOrderSettings":[ {"name":"ac_disappear","order":2,"path":"animcurves/ac_disappear/ac_disappear.yy",}, @@ -436,8 +438,8 @@ {"name":"__node_value_object","order":3,"path":"scripts/__node_value_object/__node_value_object.yy",}, {"name":"__node_value_processor","order":2,"path":"scripts/__node_value_processor/__node_value_processor.yy",}, {"name":"__node","order":1,"path":"scripts/__node/__node.yy",}, - {"name":"__panel_empty","order":11,"path":"scripts/__panel_empty/__panel_empty.yy",}, - {"name":"__panel_linear_setting","order":12,"path":"scripts/__panel_linear_setting/__panel_linear_setting.yy",}, + {"name":"__panel_empty","order":12,"path":"scripts/__panel_empty/__panel_empty.yy",}, + {"name":"__panel_linear_setting","order":13,"path":"scripts/__panel_linear_setting/__panel_linear_setting.yy",}, {"name":"__path","order":1,"path":"scripts/__path/__path.yy",}, {"name":"__pbBox","order":4,"path":"scripts/__pbBox/__pbBox.yy",}, {"name":"__polygon","order":2,"path":"scripts/__polygon/__polygon.yy",}, @@ -1352,7 +1354,7 @@ {"name":"panel_image_array_editor","order":1,"path":"scripts/panel_image_array_editor/panel_image_array_editor.yy",}, {"name":"panel_inspector","order":1,"path":"scripts/panel_inspector/panel_inspector.yy",}, {"name":"panel_keyframe_driver","order":2,"path":"scripts/panel_keyframe_driver/panel_keyframe_driver.yy",}, - {"name":"panel_menu","order":10,"path":"scripts/panel_menu/panel_menu.yy",}, + {"name":"panel_menu","order":11,"path":"scripts/panel_menu/panel_menu.yy",}, {"name":"panel_node_align","order":3,"path":"scripts/panel_node_align/panel_node_align.yy",}, {"name":"panel_node_custom_import","order":2,"path":"scripts/panel_node_custom_import/panel_node_custom_import.yy",}, {"name":"panel_node_data_gen","order":1,"path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index d2b3f7b1f..ab1746d81 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -347,6 +347,7 @@ {"$GMFolder":"","%Name":"rotator","folderPath":"folders/widgets/rotator.yy","name":"rotator","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"sliders","folderPath":"folders/widgets/sliders.yy","name":"sliders","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"text","folderPath":"folders/widgets/text.yy","name":"text","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"runner","folderPath":"folders/panels/runner.yy","name":"runner","resourceType":"GMFolder","resourceVersion":"2.0",}, ], "IncludedFiles":[ {"$GMIncludedFile":"","%Name":"Addons.zip","CopyToMask":-1,"filePath":"datafiles/data","name":"Addons.zip","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -1314,11 +1315,7 @@ {"$GMIncludedFile":"","%Name":"Canvas.png","CopyToMask":-1,"filePath":"datafiles/data/Welcome files/Templates","name":"Canvas.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"Canvas.pxc","CopyToMask":-1,"filePath":"datafiles/data/Welcome files/Templates","name":"Canvas.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"Welcome files.zip","CopyToMask":-1,"filePath":"datafiles/data/Welcome files","name":"Welcome files.zip","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"dllcredits.txt","ConfigValues":{ - "Itch":{ - "CopyToMask":"0", - }, - },"CopyToMask":0,"filePath":"datafiles","name":"dllcredits.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"dllcredits.txt","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":0,"filePath":"datafiles","name":"dllcredits.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"dlltest1.dll","CopyToMask":-1,"filePath":"datafiles","name":"dlltest1.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"ffmpeg.exe","CopyToMask":-1,"filePath":"datafiles/ffmpeg/bin","name":"ffmpeg.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"LICENSE","CopyToMask":-1,"filePath":"datafiles/ffmpeg","name":"LICENSE","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -1337,11 +1334,7 @@ {"$GMIncludedFile":"","%Name":"mf.dll","CopyToMask":-1,"filePath":"datafiles","name":"mf.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"mfcore.dll","CopyToMask":-1,"filePath":"datafiles","name":"mfcore.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"mfplat.dll","CopyToMask":-1,"filePath":"datafiles","name":"mfplat.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, - {"$GMIncludedFile":"","%Name":"PixelComposer_profile-2.provisionprofile","ConfigValues":{ - "Itch":{ - "CopyToMask":"2", - }, - },"CopyToMask":-1,"filePath":"datafiles","name":"PixelComposer_profile-2.provisionprofile","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"PixelComposer_profile-2.provisionprofile","ConfigValues":{"Itch":{"CopyToMask":"2",},},"CopyToMask":-1,"filePath":"datafiles","name":"PixelComposer_profile-2.provisionprofile","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"data.win","CopyToMask":-1,"filePath":"datafiles/report","name":"data.win","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report","name":"execute_shell_simple_ext_x64.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"options.ini","CopyToMask":-1,"filePath":"datafiles/report","name":"options.ini","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -2843,6 +2836,7 @@ {"id":{"name":"sh_color_picker_hue","path":"shaders/sh_color_picker_hue/sh_color_picker_hue.yy",},}, {"id":{"name":"sh_color_picker_side_hue","path":"shaders/sh_color_picker_side_hue/sh_color_picker_side_hue.yy",},}, {"id":{"name":"sh_color_picker_side_value","path":"shaders/sh_color_picker_side_value/sh_color_picker_side_value.yy",},}, + {"id":{"name":"panel_collection_runner","path":"scripts/panel_collection_runner/panel_collection_runner.yy",},}, {"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},}, {"id":{"name":"sh_color_remove","path":"shaders/sh_color_remove/sh_color_remove.yy",},}, {"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},}, diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index 6089c5b5373838489f587d4a70130c6cd83df8e9..98955d94f54f66a30437d91e7ce0e404bd8bc2a4 100644 GIT binary patch delta 1321 zcmZ9~TTE0}6b9fH2Z0e~P^#!0Zex{;h~Sm`MUIMq6l&{SD3sPa+DZ$(QR|@o%y>@P z7@Ma1p^0e+-kK(TFizSg`a%lBK!^|OByE+a8XioO_N6h_^k2-;Ad`Igv)0~woqc9z z?APyYV>E;pk$@$zArVWFgk+?^j%7&2a;!ia97xAXtU?A}!fLERCe~sdoY0VkY~&yp zd2nGpUd9G&L_P{oh$3u4F*c(FTTqHJY{fQg#}4eoE|jAJm8e2BYEX+h)T05r(RfX7 zbSEVCsyUDDR6TBexfEyI`WDG=-TEfUX}7*v^08Ylk^I8P&0W8>B&jx!ZkLYFqnAp4 z?uqZ;lO;FPkM^J-NKt<+ z?ELqHog80$4{z#JTJo@6wJ+>UR}9-z+gp~{GG34m$Med?@|a(I@yE>%|Ghhy60~>f zw1@W6K5C-<)J!eZN(ZQoUZHmCpjYW2y+*IoA##(4yyT-!dV{*Co8F`zdW+ts!*qm> z(lI(tC+H;g(kVJk@6fw+hWh9|dY}4ffIgrP=_C4>KA}PSl+My;bdLNqMCa)OT@2eh z(K?W@v{!j%P$~J<40bWY(=+%fNgDnbiq*Bda9F!El^uga^_(|t3%+D-Oo*XM_SD5t z%M9`$4Tt@)z(0wyFmNxhRgyopOV$4yNP7PKANK-f*77z<)-IK+1rycj`vLp2gMCH8 zMF;2S{kUUsJ9C!jyDNjqDs?t~o}KMa=LGv^0~8GR&0Y%qDSwWph@q*{aYK`$ZQQ7n zygY7HNluL$HImCFj9SUFQEomyVdP3-Oc?c&QEQQhG?gDQa-_+z<&rmK{MCq&Z55T0 zk0M5eWLe16RL7)|F9n~Wsjnvu*R$e|Rq$4tS{*gk%gTJ=whG>-TADvc;{#X86jWS#6WX%sI2w+SM$1(r>m%UiX`A*18sU4VjTVsUCi3 z?v~`08zrB})xQjx8?2_LZimc#Yo$T5VI;nD{v|^r@x}B}9(yoi7RU}3`qSg#{!#N* F?f)K5(Y^ox delta 1321 zcmZ9~TWphM7zc3eI=7W=bP71=w^I>2#uytgUpJzHee&Fu?d^81vRKe9qO?a4QNCYnz0Qn zqk4wI-!7G zDfww2wSy;J>PA3!N|UooB^!fmRs{9MR#7H-BB-yHbl#4*R6!EC>X%?@CZFa~U*1QS z`e%OU(PMUsLa9BxsY_{@!w%(}--sNtCP68*o~?G*y^{Q+1y+?ektTH`}-58C)zs`p=i8!=9AbR`E#@-3{6#z8=4dy z<3^+8g>j=!^7^>3RdUgU(I9ztlADiA7{yW;6GoHdq_xOHn(`!!B588$7RjGw{8tI1 z&?;&r|4SG(l2tKNQ@gGi9x3r2hnZGss4*/ { json_save_struct(DIRECTORY + "meta.json", PROJECT.meta.serialize()); }) + .setIcon(THEME.save, 0, COLORS._main_icon_light, .75) + .setTooltip(__txtx("panel_inspector_set_default", "Set as default")); + + metadata_buttons = [ metadata_default_button ]; #endregion #region ---- workshop ---- @@ -449,68 +455,55 @@ function Panel_Inspector() : PanelContent() constructor { for( var i = 0, n = array_length(meta_display); i < n; i++ ) { if(i == 3 && PANEL_GRAPH.getCurrentContext() == noone) continue; - var _meta = meta_display[i]; - var _txt = array_safe_get_fast(_meta, 0); - var _tag = array_safe_get_fast(_meta, 2); + var _meta = meta_display[i]; + var _txt = array_safe_get_fast(_meta, 0); + var _tag = array_safe_get_fast(_meta, 2); + var _butts = noone; switch(_tag) { // header - case "globalvar" : - var _bw = ui(28); - var _bh = lbh - ui(4); - - var _x1 = con_w; - var _y1 = yy + ui(2); - - var _butts = global_drawer.editing? global_buttons_editing : global_buttons; - var _amo = array_length(_butts); - var _tw = (_bw + ui(4)) * _amo; - draw_sprite_stretched_ext(THEME.box_r5_clr, 0, con_w - _tw, yy, _tw, lbh, COLORS.panel_inspector_group_bg, 1); - - global_button_edit.icon = global_drawer.editing? THEME.accept_16 : THEME.gear_16; - global_button_edit.icon_blend = global_drawer.editing? COLORS._main_value_positive : COLORS._main_icon_light; - - for (var j = 0, m = array_length(_butts); j < m; j++) { - _x1 -= _bw + ui(4); - - var _b = _butts[j]; - _b.setFocusHover(pFOCUS, _hover); - _b.draw(_x1 + ui(2), _y1, _bw, _bh, _m, THEME.button_hide_fill); - if(_b.inBBOX(_m)) contentPane.hover_content = true; - } - - _x1 -= ui(4); - - var cc = COLORS.panel_inspector_group_bg; - - if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, _x1, yy + lbh)) { - cc = COLORS.panel_inspector_group_hover; - - if(pFOCUS) { - if(DOUBLE_CLICK) _cAll = _meta[1]? -1 : 1; - else if(mouse_press(mb_left)) _meta[1] = !_meta[1]; - } - } - - draw_sprite_stretched_ext(THEME.box_r5_clr, 0, 0, yy, _x1, lbh, cc, 1); - break; - - default : - var _x1 = con_w; - var cc = COLORS.panel_inspector_group_bg; - - if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, _x1, yy + lbh)) { - cc = COLORS.panel_inspector_group_hover; - - if(pFOCUS) { - if(DOUBLE_CLICK) _cAll = _meta[1]? -1 : 1; - else if(mouse_press(mb_left)) _meta[1] = !_meta[1]; - } - - } - - draw_sprite_stretched_ext(THEME.box_r5_clr, 0, 0, yy, con_w, lbh, cc, 1); + case "metadata" : _butts = metadata_buttons; break; + case "globalvar" : _butts = global_drawer.editing? global_buttons_editing : global_buttons; break; } + var _x1 = con_w; + var _y1 = yy + ui(2); + + if(is_array(_butts)) { + var _bw = ui(28); + var _bh = lbh - ui(4); + + var _amo = array_length(_butts); + var _tw = (_bw + ui(4)) * _amo; + draw_sprite_stretched_ext(THEME.box_r5_clr, 0, con_w - _tw, yy, _tw, lbh, COLORS.panel_inspector_group_bg, 1); + + global_button_edit.icon = global_drawer.editing? THEME.accept_16 : THEME.gear_16; + global_button_edit.icon_blend = global_drawer.editing? COLORS._main_value_positive : COLORS._main_icon_light; + + for (var j = 0, m = array_length(_butts); j < m; j++) { + _x1 -= _bw + ui(4); + + var _b = _butts[j]; + _b.setFocusHover(pFOCUS, _hover); + _b.draw(_x1 + ui(2), _y1, _bw, _bh, _m, THEME.button_hide_fill); + if(_b.inBBOX(_m)) contentPane.hover_content = true; + } + + _x1 -= ui(4); + } + + var cc = COLORS.panel_inspector_group_bg; + + if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, _x1, yy + lbh)) { + cc = COLORS.panel_inspector_group_hover; + + if(pFOCUS) { + if(DOUBLE_CLICK) _cAll = _meta[1]? -1 : 1; + else if(mouse_press(mb_left)) _meta[1] = !_meta[1]; + } + } + + draw_sprite_stretched_ext(THEME.box_r5_clr, 0, 0, yy, _x1, lbh, cc, 1); + draw_sprite_ui(THEME.arrow, _meta[1]? 0 : 3, ui(16), yy + lbh / 2, 1, 1, 0, COLORS.panel_inspector_group_bg, 1); draw_set_text(viewMode? f_p0 : f_p1, fa_left, fa_center, COLORS._main_text_inner); @@ -1320,7 +1313,7 @@ function Panel_Inspector() : PanelContent() constructor { if(is(inspecting, Node_Frame)) inspectGroup = 0; - title = inspecting.renamed? inspecting.display_name : inspecting.name; + title = inspecting.getDisplayName(); inspecting.inspectorStep(); drawInspectingNode(); @@ -1331,9 +1324,10 @@ function Panel_Inspector() : PanelContent() constructor { var context = PANEL_GRAPH.getCurrentContext(); if(context == noone && file_exists_empty(PROJECT.path)) - txt = string_replace(filename_name(PROJECT.path), filename_ext(PROJECT.path), ""); - else if(context != noone) - txt = context.name; + txt = filename_name_only(PROJECT.path); + + else if(is(context, Node)) + txt = context.getDisplayName(); draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); var ss = min(.5, (w - ui(96)) / string_width(txt)); @@ -1349,9 +1343,6 @@ function Panel_Inspector() : PanelContent() constructor { var bx = w - ui(44); var by = ui(12); - if(buttonInstant(THEME.button_hide_fill, bx, by, ui(32), ui(32), [mx, my], pHOVER, pFOCUS, __txtx("panel_inspector_set_default", "Set Metadata as default"), THEME.save, 0, COLORS._main_icon) == 2) - json_save_struct(DIRECTORY + "meta.json", PROJECT.meta.serialize()); - by += ui(36); if(STEAM_ENABLED && !workshop_uploading) { if(PROJECT.path == "") { diff --git a/scripts/panel_menu/panel_menu.gml b/scripts/panel_menu/panel_menu.gml index 2f2b24ca6..945935137 100644 --- a/scripts/panel_menu/panel_menu.gml +++ b/scripts/panel_menu/panel_menu.gml @@ -225,6 +225,7 @@ function Panel_Menu() : PanelContent() constructor { MENU_ITEMS.notification_panel, MENU_ITEMS.globalvar_panel, MENU_ITEMS.file_explorer_panel, + MENU_ITEMS.collection_runner_panel, menuItemShelf(__txt("Nodes"), function(_dat) { return submenuCall(_dat, [ diff --git a/shaders/sh_grid_tri/sh_grid_tri.fsh b/shaders/sh_grid_tri/sh_grid_tri.fsh index 39fa009ae..12376a5c0 100644 --- a/shaders/sh_grid_tri/sh_grid_tri.fsh +++ b/shaders/sh_grid_tri/sh_grid_tri.fsh @@ -225,6 +225,7 @@ void main() { #region if(mode == 0) { vec2 uv = fract(tri.xy / sca); colr = gradientEval(random(uv)); + } else if(mode == 2) { vec2 uv = fract((_pos * vec2(1., c30) - tri.xy) + vec2(0.5, 0.));