From 00e3c1551b5474d3f1fe8f6d8ebb8f93cddc529c Mon Sep 17 00:00:00 2001 From: Tanasart Date: Tue, 7 Jan 2025 13:42:01 +0700 Subject: [PATCH] [Textbox] Fix holding key sometime not repeating. --- PixelComposer.resource_order | 4 +- PixelComposer.yyp | 18 +++++--- datafiles/data/related_node.json | 2 +- objects/o_dialog_add_node/Create_0.gml | 45 ++++++++++++------- objects/o_dialog_add_node/Draw_64.gml | 4 +- objects/o_dialog_arrayBox/Create_0.gml | 4 +- objects/o_dialog_command_palette/Create_0.gml | 4 +- objects/o_dialog_fontscrollbox/Create_0.gml | 4 +- objects/o_dialog_menubox/Draw_64.gml | 4 +- objects/o_dialog_scrollbox/Create_0.gml | 4 +- .../Create_0.gml | 4 +- objects/o_main/KeyPress_1.gml | 8 +++- scripts/node_gradient/node_gradient.gml | 9 ++++ .../node_seperate_shape.gml | 32 ++++++------- scripts/node_sky/node_sky.gml | 2 +- scripts/panel_console/panel_console.gml | 4 +- scripts/textArea/textArea.gml | 8 ++-- scripts/textBox/textBox.gml | 15 +++---- 18 files changed, 105 insertions(+), 70 deletions(-) diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 173ca780a..d25f920b5 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -240,11 +240,11 @@ {"name":"sprites","order":336,"path":"folders/sprites.yy",}, {"name":"bs","order":3,"path":"folders/sprites/bs.yy",}, {"name":"gameframe","order":4,"path":"folders/sprites/gameframe.yy",}, + {"name":"meta","order":1,"path":"folders/sprites/meta.yy",}, {"name":"misc","order":5,"path":"folders/sprites/misc.yy",}, {"name":"nodes","order":6,"path":"folders/sprites/nodes.yy",}, {"name":"profiler","order":8,"path":"folders/sprites/profiler.yy",}, {"name":"texture","order":7,"path":"folders/sprites/texture.yy",}, - {"name":"meta","order":1,"path":"folders/sprites/meta.yy",}, {"name":"widgets","order":334,"path":"folders/widgets.yy",}, {"name":"button","order":1,"path":"folders/widgets/button.yy",}, {"name":"object","order":5,"path":"folders/widgets/object.yy",}, @@ -1168,7 +1168,6 @@ {"name":"node_to_number","order":14,"path":"scripts/node_to_number/node_to_number.yy",}, {"name":"node_to_text","order":11,"path":"scripts/node_to_text/node_to_text.yy",}, {"name":"node_tonemap_ace","order":34,"path":"scripts/node_tonemap_ace/node_tonemap_ace.yy",}, - {"name":"panel_preference","order":17,"path":"scripts/panel_preference/panel_preference.yy",}, {"name":"node_tool","order":8,"path":"scripts/node_tool/node_tool.yy",}, {"name":"node_trail","order":29,"path":"scripts/node_trail/node_trail.yy",}, {"name":"node_transform_array","order":16,"path":"scripts/node_transform_array/node_transform_array.yy",}, @@ -1308,6 +1307,7 @@ {"name":"panel_notification","order":4,"path":"scripts/panel_notification/panel_notification.yy",}, {"name":"panel_palette_mixer","order":3,"path":"scripts/panel_palette_mixer/panel_palette_mixer.yy",}, {"name":"panel_patreon","order":2,"path":"scripts/panel_patreon/panel_patreon.yy",}, + {"name":"panel_preference","order":17,"path":"scripts/panel_preference/panel_preference.yy",}, {"name":"panel_presets","order":4,"path":"scripts/panel_presets/panel_presets.yy",}, {"name":"panel_preview_3d_sdf_setting","order":10,"path":"scripts/panel_preview_3d_sdf_setting/panel_preview_3d_sdf_setting.yy",}, {"name":"panel_preview_3d_setting","order":4,"path":"scripts/panel_preview_3d_setting/panel_preview_3d_setting.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index f809663e2..d1997109a 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -314,14 +314,14 @@ {"$GMFolder":"","%Name":"palette mixer","folderPath":"folders/shader/UI/palette mixer.yy","name":"palette mixer","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"sprites","folderPath":"folders/sprites.yy","name":"sprites","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"bs","folderPath":"folders/sprites/bs.yy","name":"bs","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"font","folderPath":"folders/sprites/font.yy","name":"font","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"gameframe","folderPath":"folders/sprites/gameframe.yy","name":"gameframe","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"meta","folderPath":"folders/sprites/meta.yy","name":"meta","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"misc","folderPath":"folders/sprites/misc.yy","name":"misc","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"nodes","folderPath":"folders/sprites/nodes.yy","name":"nodes","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"junctions","folderPath":"folders/sprites/nodes/junctions.yy","name":"junctions","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"profiler","folderPath":"folders/sprites/profiler.yy","name":"profiler","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"texture","folderPath":"folders/sprites/texture.yy","name":"texture","resourceType":"GMFolder","resourceVersion":"2.0",}, - {"$GMFolder":"","%Name":"font","folderPath":"folders/sprites/font.yy","name":"font","resourceType":"GMFolder","resourceVersion":"2.0",}, - {"$GMFolder":"","%Name":"meta","folderPath":"folders/sprites/meta.yy","name":"meta","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"widgets","folderPath":"folders/widgets.yy","name":"widgets","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"button","folderPath":"folders/widgets/button.yy","name":"button","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"object","folderPath":"folders/widgets/object.yy","name":"object","resourceType":"GMFolder","resourceVersion":"2.0",}, @@ -559,7 +559,11 @@ {"$GMIncludedFile":"","%Name":"Node_Warp.png","CopyToMask":-1,"filePath":"datafiles/data/Tooltip","name":"Node_Warp.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"Node_Wavelet_Noise.png","CopyToMask":-1,"filePath":"datafiles/data/Tooltip","name":"Node_Wavelet_Noise.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"Node_Zigzag.png","CopyToMask":-1,"filePath":"datafiles/data/Tooltip","name":"Node_Zigzag.png","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",}, @@ -578,7 +582,11 @@ {"$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",}, @@ -715,7 +723,6 @@ {"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},}, {"id":{"name":"addon_key_displayer","path":"objects/addon_key_displayer/addon_key_displayer.yy",},}, {"id":{"name":"addon","path":"objects/addon/addon.yy",},}, - {"id":{"name":"panel_preference","path":"scripts/panel_preference/panel_preference.yy",},}, {"id":{"name":"FLIP_Domain","path":"objects/FLIP_Domain/FLIP_Domain.yy",},}, {"id":{"name":"fx_particle_spawner","path":"objects/fx_particle_spawner/fx_particle_spawner.yy",},}, {"id":{"name":"o_dialog_about","path":"objects/o_dialog_about/o_dialog_about.yy",},}, @@ -1863,6 +1870,7 @@ {"id":{"name":"panel_palette_mixer","path":"scripts/panel_palette_mixer/panel_palette_mixer.yy",},}, {"id":{"name":"panel_palette","path":"scripts/panel_palette/panel_palette.yy",},}, {"id":{"name":"panel_patreon","path":"scripts/panel_patreon/panel_patreon.yy",},}, + {"id":{"name":"panel_preference","path":"scripts/panel_preference/panel_preference.yy",},}, {"id":{"name":"panel_presets","path":"scripts/panel_presets/panel_presets.yy",},}, {"id":{"name":"panel_preview_3d_sdf_setting","path":"scripts/panel_preview_3d_sdf_setting/panel_preview_3d_sdf_setting.yy",},}, {"id":{"name":"panel_preview_3d_setting","path":"scripts/panel_preview_3d_setting/panel_preview_3d_setting.yy",},}, diff --git a/datafiles/data/related_node.json b/datafiles/data/related_node.json index 06c76637e..65b17f40c 100644 --- a/datafiles/data/related_node.json +++ b/datafiles/data/related_node.json @@ -5,7 +5,7 @@ "integer": [ "Node_Math", "Node_Equation", "Node_To_Text" ], "float": [ "Node_Math", "Node_Equation", "Node_To_Text" ], "color": [ "Node_Solid", "Node_Color_Data", "Node_Color_Mix" ], - "surface": [ "Node_Transform", "Node_Blend", "Node_Composite", "Node_Export" ], + "surface": [ "Node_Surface_data", "Node_Transform", "Node_Blend", "Node_Composite", "Node_Export" ], "path": [ "Node_Line" ], "text": [ "Node_Text", "Node_To_Number" ], diff --git a/objects/o_dialog_add_node/Create_0.gml b/objects/o_dialog_add_node/Create_0.gml index ff44ccc32..864539753 100644 --- a/objects/o_dialog_add_node/Create_0.gml +++ b/objects/o_dialog_add_node/Create_0.gml @@ -745,8 +745,8 @@ event_inherited(); draw_sprite_stretched_ext(THEME.node_bg, 1, pd, yy, list_width - pd * 2, list_height, COLORS._main_accent, 1); if(sFOCUS) { - if(mouse_release(mb_left, left_free)) buildNode(_node); - else if(mouse_release(mb_right, right_free)) rightClick(_node); + if(mouse_press(mb_left, left_free)) buildNode(_node); + if(mouse_press(mb_right, right_free)) rightClick(_node); } } @@ -1263,27 +1263,40 @@ event_inherited(); } } } + + hh = list_height * (ind + 1); } node_focusing = -1; - var s_sfz = PREFERENCES.dialog_add_node_view == 1? list_height * 4 : 0; - if(keyboard_check_pressed(vk_up)) { - node_selecting = safe_mod(node_selecting - 1 + amo, amo); - node_focusing = node_selecting; - - if(PREFERENCES.dialog_add_node_view == 1) - search_pane.scroll_y_to = max(search_pane.scroll_y_to, -list_height * node_selecting + s_sfz); + if(KEYBOARD_PRESSED == vk_up) { + if(PREFERENCES.dialog_add_node_view == 0) { + node_selecting = safe_mod(node_selecting - 1 + amo, amo); + node_focusing = node_selecting; + } else { + node_selecting--; + if(node_selecting < 0) { + node_selecting = amo - 1; + search_pane.scroll_y_to = -list_height * node_selecting + list_height * 4; + } else + search_pane.scroll_y_to = max(search_pane.scroll_y_to, -list_height * node_selecting + list_height * 4); + } } - if(keyboard_check_pressed(vk_down)) { - node_selecting = safe_mod(node_selecting + 1, amo); - node_focusing = node_selecting; - - if(PREFERENCES.dialog_add_node_view == 1) - search_pane.scroll_y_to = min(search_pane.scroll_y_to, -list_height * node_selecting - s_sfz + search_pane.h); + if(KEYBOARD_PRESSED == vk_down) { + if(PREFERENCES.dialog_add_node_view == 0) { + node_selecting = safe_mod(node_selecting + 1, amo); + node_focusing = node_selecting; + } else { + node_selecting++; + if(node_selecting >= amo) { + node_selecting = 0; + search_pane.scroll_y_to = -list_height * node_selecting + list_height * 4; + } else + search_pane.scroll_y_to = min(search_pane.scroll_y_to, -list_height * node_selecting - list_height * 4 + search_pane.h); + } } - return list_height * (ind + 1); + return hh; }); #endregion \ No newline at end of file diff --git a/objects/o_dialog_add_node/Draw_64.gml b/objects/o_dialog_add_node/Draw_64.gml index 10debb10a..c790b52ab 100644 --- a/objects/o_dialog_add_node/Draw_64.gml +++ b/objects/o_dialog_add_node/Draw_64.gml @@ -135,7 +135,7 @@ if(DIALOG_SHOW_FOCUS) DIALOG_DRAW_FOCUS node_tooltip = noone; } - if(node_icon != noone) { + if(sprite_exists(node_icon)) { var _sx = node_icon_x - ui(16); var _sy = node_icon_y; @@ -147,8 +147,8 @@ if(DIALOG_SHOW_FOCUS) DIALOG_DRAW_FOCUS draw_sprite_stretched(THEME.node_junction_name_bg, 0, _bgx, _bgy, _sw, _sh); draw_sprite_ext(node_icon, 0, _sx, _sy, 1, 1); - node_icon = noone; } + node_icon = noone; ADD_NODE_SCROLL = content_pane.scroll_y_to; diff --git a/objects/o_dialog_arrayBox/Create_0.gml b/objects/o_dialog_arrayBox/Create_0.gml index 09ef2530f..4c2421be1 100644 --- a/objects/o_dialog_arrayBox/Create_0.gml +++ b/objects/o_dialog_arrayBox/Create_0.gml @@ -59,12 +59,12 @@ event_inherited(); } if(sFOCUS) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { selecting--; if(selecting < 0) selecting = array_length(arrayBox.data) - 1; } - if(keyboard_check_pressed(vk_down)) + if(KEYBOARD_PRESSED == vk_down) selecting = safe_mod(selecting + 1, array_length(arrayBox.data)); if(keyboard_check_pressed(vk_escape)) diff --git a/objects/o_dialog_command_palette/Create_0.gml b/objects/o_dialog_command_palette/Create_0.gml index 8f46a5498..2e9c5a7bd 100644 --- a/objects/o_dialog_command_palette/Create_0.gml +++ b/objects/o_dialog_command_palette/Create_0.gml @@ -212,13 +212,13 @@ event_inherited(); hk_editing = noone; } else if(sc_content.active) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { keyboard_trigger = true; selecting--; if(selecting < 0) selecting = array_length(data) - 1; } - if(keyboard_check_pressed(vk_down)) { + if(KEYBOARD_PRESSED == vk_down) { keyboard_trigger = true; selecting = safe_mod(selecting + 1, array_length(data)); } diff --git a/objects/o_dialog_fontscrollbox/Create_0.gml b/objects/o_dialog_fontscrollbox/Create_0.gml index fe4555472..75dc3e28a 100644 --- a/objects/o_dialog_fontscrollbox/Create_0.gml +++ b/objects/o_dialog_fontscrollbox/Create_0.gml @@ -56,12 +56,12 @@ event_inherited(); } if(sFOCUS) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { selecting--; if(selecting < 0) selecting = array_length(data) - 1; } - if(keyboard_check_pressed(vk_down)) + if(KEYBOARD_PRESSED == vk_down) selecting = safe_mod(selecting + 1, array_length(data)); if(keyboard_check_pressed(vk_escape)) diff --git a/objects/o_dialog_menubox/Draw_64.gml b/objects/o_dialog_menubox/Draw_64.gml index 31149ce92..96dc5d35c 100644 --- a/objects/o_dialog_menubox/Draw_64.gml +++ b/objects/o_dialog_menubox/Draw_64.gml @@ -264,12 +264,12 @@ DIALOG_WINCLEAR1 hk_editing = noone; } else if(sFOCUS) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { selecting--; if(selecting < 0) selecting = array_length(menu) - 1; } - if(keyboard_check_pressed(vk_down)) + if(KEYBOARD_PRESSED == vk_down) selecting = safe_mod(selecting + 1, array_length(menu)); if(keyboard_check_pressed(vk_escape)) { diff --git a/objects/o_dialog_scrollbox/Create_0.gml b/objects/o_dialog_scrollbox/Create_0.gml index 5080bf8e0..592455a70 100644 --- a/objects/o_dialog_scrollbox/Create_0.gml +++ b/objects/o_dialog_scrollbox/Create_0.gml @@ -163,12 +163,12 @@ event_inherited(); } if(sc_content.active) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { selecting--; if(selecting < 0) selecting = array_length(data) - 1; } - if(keyboard_check_pressed(vk_down)) + if(KEYBOARD_PRESSED == vk_down) selecting = safe_mod(selecting + 1, array_length(data)); if(keyboard_check_pressed(vk_escape)) diff --git a/objects/o_dialog_scrollbox_horizontal/Create_0.gml b/objects/o_dialog_scrollbox_horizontal/Create_0.gml index 8c635b200..0514e6b01 100644 --- a/objects/o_dialog_scrollbox_horizontal/Create_0.gml +++ b/objects/o_dialog_scrollbox_horizontal/Create_0.gml @@ -229,12 +229,12 @@ event_inherited(); } if(sc_content.active) { - if(keyboard_check_pressed(vk_up)) { + if(KEYBOARD_PRESSED == vk_up) { selecting--; if(selecting < 0) selecting = array_length(data) - 1; } - if(keyboard_check_pressed(vk_down)) + if(KEYBOARD_PRESSED == vk_down) selecting = safe_mod(selecting + 1, array_length(data)); if(keyboard_check_pressed(vk_escape)) diff --git a/objects/o_main/KeyPress_1.gml b/objects/o_main/KeyPress_1.gml index bbfb22c0d..cd72da259 100644 --- a/objects/o_main/KeyPress_1.gml +++ b/objects/o_main/KeyPress_1.gml @@ -1,8 +1,12 @@ /// @description -kb_hkey = keyboard_key == 0? keyboard_lastkey : keyboard_key; +kb_hkey = vk_nokey; +if(keyboard_key > 0) kb_hkey = keyboard_key; +if(keyboard_lastkey > 0) kb_hkey = keyboard_lastkey; + +if(kb_hkey <= 0) for(var i = 2; i < 256; i++) if(keyboard_check_pressed(i)) { kb_hkey = i; break; } + kb_time = 0; kb_hold = false; - KEYBOARD_PRESSED = kb_hkey; if(keyboard_check(vk_backspace)) KEYBOARD_STRING = string_copy(KEYBOARD_STRING, 1, string_length(KEYBOARD_STRING) - 1); diff --git a/scripts/node_gradient/node_gradient.gml b/scripts/node_gradient/node_gradient.gml index e3ab18d2b..61ed76a63 100644 --- a/scripts/node_gradient/node_gradient.gml +++ b/scripts/node_gradient/node_gradient.gml @@ -68,9 +68,18 @@ function Node_Gradient(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { PROCESSOR_OVERLAY_CHECK var _hov = false; + var typ = getSingleValue(2); + var pos = getSingleValue(6); + var a = inputs[ 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; _hov |= a; var a = inputs[16].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, current_data[0]); active &= !a; _hov |= a; + if(typ != 1) { + var _px = _x + pos[0] * _s; + var _py = _y + pos[1] * _s; + var a = inputs[ 3].drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny); active &= !a; _hov |= a; + } + return _hov; } diff --git a/scripts/node_seperate_shape/node_seperate_shape.gml b/scripts/node_seperate_shape/node_seperate_shape.gml index 0b1529c96..a91c27452 100644 --- a/scripts/node_seperate_shape/node_seperate_shape.gml +++ b/scripts/node_seperate_shape/node_seperate_shape.gml @@ -14,18 +14,20 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons newInput(3, nodeValue_Color("Color", self, cola(c_white))) .rejectArray(); - newInput(4, nodeValue_Bool("Ignore blank", self, true, "Skip empty and black shape.")) + newInput(4, nodeValue_Bool("Ignore blank", self, true, "Skip empty shapes.")) .rejectArray(); newInput(5, nodeValue_Enum_Button("Mode", self, 0 , [ "Greyscale", "Alpha" ] )) + newInput(6, nodeValue_Bool("Crop", self, true )) + newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone)); newOutput(1, nodeValue_Output("Atlas", self, VALUE_TYPE.atlas, [])); input_display_list = [ ["Shape", false], 0, 5, 1, 4, - ["Override Color", true, 2], 3, + ["Output", false], 2, 3, 6, ] temp_surface = [ noone, noone ]; @@ -37,9 +39,7 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons setTrigger(1,,, function() /*=>*/ {return separateShape()}); - static update = function() { - separateShape(); - } + static update = function() { separateShape(); } static separateShape = function() { var _inSurf = getInputData(0); @@ -48,6 +48,8 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons var _ovrclr = getInputData(3); var _ignore = getInputData(4); var _mode = getInputData(5); + var _crop = getInputData(6); + var t = current_time; if(!is_surface(_inSurf)) return; @@ -120,15 +122,15 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons for(var i = 0; i < px; i++) { var _k = key[i]; - var ccx = reg[? _k]; + var _cc = reg[? _k]; - var min_x = round(ccx[0]); - var min_y = round(ccx[1]); - var max_x = round(ccx[2]); - var max_y = round(ccx[3]); + var min_x = _crop? round(_cc[0]) : 0; + var min_y = _crop? round(_cc[1]) : 0; + var max_x = _crop? round(_cc[2]) : ww; + var max_y = _crop? round(_cc[3]) : hh; - var _sw = max_x - min_x + 1; - var _sh = max_y - min_y + 1; + var _sw = _crop? max_x - min_x + 1 : ww; + var _sh = _crop? max_y - min_y + 1 : hh; if(_sw <= 1 || _sh <= 1) continue; @@ -137,9 +139,9 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons surface_set_shader(_outSurf, sh_seperate_shape_sep); shader_set_surface("original", _inSurf); - shader_set_f("color", ccx); - shader_set_i("override", _ovr); - shader_set_color("overColor", _ovrclr); + shader_set_f("color", _cc); + shader_set_i("override", _ovr); + shader_set_color("overColor", _ovrclr); draw_surface_safe(temp_surface[res_index], -min_x, -min_y); surface_reset_shader(); diff --git a/scripts/node_sky/node_sky.gml b/scripts/node_sky/node_sky.gml index 0a076f5d6..d9b1c9ae0 100644 --- a/scripts/node_sky/node_sky.gml +++ b/scripts/node_sky/node_sky.gml @@ -11,7 +11,7 @@ function Node_Sky(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const newInput(4, nodeValue_Float("Turbidity", self, 2)); - newInput(5, nodeValue_Vec2("Sun", self, [ .5, .5 ])) + newInput(5, nodeValue_Vec2("Sun", self, [ .2, .2 ])) .setUnitRef(function(index) /*=>*/ {return getDimension(index)}, VALUE_UNIT.reference); newInput(6, nodeValue_Float("Sun radius", self, 500)); diff --git a/scripts/panel_console/panel_console.gml b/scripts/panel_console/panel_console.gml index 633ed78de..33c23f02f 100644 --- a/scripts/panel_console/panel_console.gml +++ b/scripts/panel_console/panel_console.gml @@ -135,13 +135,13 @@ function Panel_Console() : PanelContent() constructor { setCommand(""); cmd_index = array_length(CMDIN); - } else if(keyboard_check_pressed(vk_up)) { + } else if(KEYBOARD_PRESSED == vk_up) { cmd_index = max(0, cmd_index - 1); var his = array_safe_get_fast(CMDIN, cmd_index, ""); setCommand(is_instanceof(his, __cmdLine)? his.txt : his); - } else if(keyboard_check_pressed(vk_down)) { + } else if(KEYBOARD_PRESSED == vk_down) { cmd_index = min(cmd_index + 1, array_length(CMDIN)); var his = array_safe_get_fast(CMDIN, cmd_index, ""); diff --git a/scripts/textArea/textArea.gml b/scripts/textArea/textArea.gml index 4f671154e..023e30697 100644 --- a/scripts/textArea/textArea.gml +++ b/scripts/textArea/textArea.gml @@ -577,10 +577,10 @@ function textArea(_input, _onModify) : textInput(_input, _onModify) constructor } } - if(keyboard_check_pressed(vk_left)) onKey(vk_left); - if(keyboard_check_pressed(vk_right)) onKey(vk_right); - if(keyboard_check_pressed(vk_up)) onKey(vk_up); - if(keyboard_check_pressed(vk_down)) onKey(vk_down); + if(KEYBOARD_PRESSED == vk_left) onKey(vk_left); + if(KEYBOARD_PRESSED == vk_right) onKey(vk_right); + if(KEYBOARD_PRESSED == vk_up) onKey(vk_up); + if(KEYBOARD_PRESSED == vk_down) onKey(vk_down); if(keyboard_check_pressed(vk_home)) { if(key_mod_press(SHIFT)) { diff --git a/scripts/textBox/textBox.gml b/scripts/textBox/textBox.gml index bc37db468..0fda34c51 100644 --- a/scripts/textBox/textBox.gml +++ b/scripts/textBox/textBox.gml @@ -348,16 +348,16 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { keyboard_lastkey = -1; #endregion - if(keyboard_check_pressed(vk_left)) onKey(vk_left); - if(keyboard_check_pressed(vk_right)) onKey(vk_right); + if(KEYBOARD_PRESSED = vk_left) onKey(vk_left); + if(KEYBOARD_PRESSED = vk_right) onKey(vk_right); if(input == TEXTBOX_INPUT.number) { var _inc = 1; if(key_mod_press(CTRL)) _inc *= 10; if(key_mod_press(ALT)) _inc /= 10; - if(KEYBOARD_PRESSED == vk_up || keyboard_check_pressed(vk_up)) { _input_text = string(toNumber(_input_text) + _inc); apply(); } - if(KEYBOARD_PRESSED == vk_down || keyboard_check_pressed(vk_down)) { _input_text = string(toNumber(_input_text) - _inc); apply(); } + if(KEYBOARD_PRESSED == vk_up) { _input_text = string(toNumber(_input_text) + _inc); apply(); } + if(KEYBOARD_PRESSED == vk_down) { _input_text = string(toNumber(_input_text) - _inc); apply(); } } if(edited) { @@ -471,10 +471,6 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { if(mouse_release(mb_left, active)) click_block = false; - - if(mouse_press(mb_right, active)) - menuCall("textbox_context", context_menu_selecting); - } } @@ -840,6 +836,9 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { if(!hoverRect && mouse_press(mb_left)) deactivate(); + if(mouse_press(mb_right, hoverRect, active)) + menuCall("textbox_context", context_menu_selecting); + } else { if(hover && hoverRect) {