diff --git a/datafiles/data/Collections.zip b/datafiles/data/Collections.zip index d076b2de7..d12d7ebd0 100644 Binary files a/datafiles/data/Collections.zip and b/datafiles/data/Collections.zip differ diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index be8346260..5cb0d63a8 100644 Binary files a/datafiles/data/Nodes/Internal.zip and b/datafiles/data/Nodes/Internal.zip differ diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 1bdeb2139..842b38fb6 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -1141,10 +1141,10 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { if(resetSelf) resetRender(false); RENDER_PARTIAL - if(is(group, Node_Collection)) - group.triggerRender(); - else - array_foreach(getNextNodesRaw(), function(n) /*=>*/ {return n.triggerRender()}); + if(!IS_PLAYING) { + if(is(group, Node_Collection)) group.triggerRender(); + else array_foreach(getNextNodesRaw(), function(n) /*=>*/ {return n.triggerRender()}); + } LOG_BLOCK_END(); } @@ -2323,9 +2323,7 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { } } - static clearCacheForward = function() { - _clearCacheForward(); - } + static clearCacheForward = function() /*=>*/ {return _clearCacheForward()}; static _clearCacheForward = function() { if(!isRenderActive()) return; diff --git a/scripts/node_keyframe/node_keyframe.gml b/scripts/node_keyframe/node_keyframe.gml index 2835cc9b6..03650ee76 100644 --- a/scripts/node_keyframe/node_keyframe.gml +++ b/scripts/node_keyframe/node_keyframe.gml @@ -723,7 +723,7 @@ function valueAnimator(_val, _prop, _sep_axis = false) constructor { } } - //print($"Deserialize {prop.node.name}:{prop.name} = {_val} "); + // print($"Deserialize {prop.node.name}:{prop.name} = {_val} "); var vk = new valueKey(_time, _val, self, ease_in, ease_out); vk.ease_in_type = ease_in_type; vk.ease_out_type = ease_out_type; diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index 6fb723636..cb38d196b 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -1607,7 +1607,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru // if(!IS_PLAYING) // If you have to uncomment this. PLEASE comment the reason why so I don't have to comment it out again. node.triggerRender(); node.valueUpdate(self.index); - node.clearCacheForward(); + + if(!IS_PLAYING) // can't wait to comment this one + node.clearCacheForward(); } if(fullUpdate) RENDER_ALL @@ -2196,27 +2198,27 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru if(_map == noone) return; if(!is_struct(_map)) return; - visible = struct_try_get(_map, LOADING_VERSION >= 1_18_04_0 || CLONING? "v" : "visible", 0); - visible_manual = struct_try_get(_map, "visible_manual", 0); - color = struct_try_get(_map, "color", -1); + visible = _map[$ LOADING_VERSION >= 1_18_04_0 || CLONING? "v" : "visible"] ?? 0; + visible_manual = _map[$ "visible_manual"] ?? 0; + color = _map[$ "color"] ?? -1; if(connect_type == CONNECT_TYPE.output) return; - on_end = struct_try_get(_map, "on_end", KEYFRAME_END.hold); - loop_range = struct_try_get(_map, "loop_range", -1); - unit.mode = struct_try_get(_map, "unit", 0); - expUse = struct_try_get(_map, "global_use", false); - expression = struct_try_get(_map, "global_key", ""); + on_end = _map[$ "on_end"] ?? KEYFRAME_END.hold; + loop_range = _map[$ "loop_range"] ?? -1; + unit.mode = _map[$ "unit"] ?? 0; + expUse = _map[$ "global_use"] ?? false; + expression = _map[$ "global_key"] ?? ""; expTree = evaluateFunctionList(expression); - sep_axis = struct_try_get(_map, "sep_axis", false); - setAnim(struct_try_get(_map, "anim", false)); + sep_axis = _map[$ "sep_axis"] ?? false; + setAnim(_map[$ "anim"] ?? false); - draw_line_shift_x = struct_try_get(_map, "shift_x", 0); - draw_line_shift_y = struct_try_get(_map, "shift_y", 0); - draw_line_shift_e = struct_try_get(_map, "shift_e", -1); - is_modified = struct_try_get(_map, "is_modified", false); + draw_line_shift_x = _map[$ "shift_x"] ?? 0; + draw_line_shift_y = _map[$ "shift_y"] ?? 0; + draw_line_shift_e = _map[$ "shift_e"] ?? -1; + is_modified = _map[$ "is_modified"] ?? true; if(struct_has(_map, "attri")) struct_append(attributes, _map.attri); @@ -2226,16 +2228,16 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru if(struct_has(_map, "linked")) display_data.linked = _map.linked; - name_custom = struct_try_get(_map, "name_custom", false); - if(name_custom) name = struct_try_get(_map, "name", name); + name_custom = _map[$ "name_custom"] ?? false; + if(name_custom) name = _map[$ "name"] ?? name; - if(is_modified && struct_has(_map, "raw_value")) - animator.deserialize(struct_try_get(_map, "raw_value"), scale); + if(struct_has(_map, "raw_value")) + animator.deserialize(_map[$ "raw_value"] ?? scale); if(bypass_junc) - bypass_junc.visible = struct_try_get(_map, "bypass", false); + bypass_junc.visible = _map[$ "bypass"] ?? false; - if(is_modified && struct_has(_map, "animators")) { + if(struct_has(_map, "animators")) { var anims = _map.animators; var amo = min(array_length(anims), array_length(animators)); for( var i = 0; i < amo; i++ ) @@ -2243,9 +2245,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru } if(!preset) { - con_node = struct_try_get(_map, "from_node", -1) - con_index = struct_try_get(_map, "from_index", -1); - con_tag = struct_try_get(_map, "from_tag", 0); + con_node = _map[$ "from_node"] ?? -1; + con_index = _map[$ "from_index"] ?? -1; + con_tag = _map[$ "from_tag"] ?? 0; } if(connect_type == CONNECT_TYPE.input && index >= 0) { diff --git a/scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.gml b/scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.gml index cd867c0fb..7cf279fa3 100644 --- a/scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.gml +++ b/scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.gml @@ -77,28 +77,29 @@ function Panel_Graph_Export_Image(_panel) : PanelContent() constructor { draw_clear_alpha(COLORS.panel_bg_clear, 1); var _ww = max(set_w * 0.5, ui(160)); - var _hh = ui(30); + var _hh = ui(26); var _ss = ui(28); var _ty = _y + _hh / 2; var _tx = sc_settings.surface_w - ui(8); - var wh = ui(36); + var wh = _hh + ui(8); for( var i = 0, n = array_length(widgets); i < n; i++ ) { - draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text); - draw_text_add(ui(8), _ty + wh * i, __txt(widgets[i][0], "graph_export_")); + var _tyy = _ty + wh * i; + + draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text); + draw_text_add(ui(8), _tyy, __txt(widgets[i][0], "graph_export_")); var _wid = widgets[i][1]; var _dat = widgets[i][2](); + + var _param = new widgetParam(_tx - _ww, _tyy - _hh / 2, _ww, _hh, _dat, {}, _m, sc_settings.x + x, sc_settings.y + y).setFont(f_p2); + if(is(_wid, checkBox)) _param.x += _ww / 2 - _param.s / 2; + _wid.setFocusHover(pFOCUS, pHOVER); + _wid.drawParam(_param); - switch(instanceof(widgets[i][1])) { - case "textBox" : _wid.draw(_tx - _ww, _ty + wh * i - _hh / 2, _ww, _hh, _dat, _m); break; - case "checkBox" : _wid.draw(_tx - _ww / 2 - _ss / 2, _ty + wh * i - _ss / 2, _dat, _m); break; - case "buttonColor" : _wid.draw(_tx - _ww, _ty + wh * i - _hh / 2, _ww, _hh, _dat, _m); break; - case "scrollBox" : _wid.draw(_tx - _ww, _ty + wh * i - _hh / 2, _ww, _hh, _dat, _m, sc_settings.x + x, sc_settings.y + y); break; - } - - if(_wid.inBBOX(_m)) sc_settings.hover_content = true; + if(_wid.inBBOX(_m)) + sc_settings.hover_content = true; } var _h = wh * array_length(widgets) + _hh; diff --git a/scripts/panel_preview/panel_preview.gml b/scripts/panel_preview/panel_preview.gml index 6d0c04ecc..513cf265b 100644 --- a/scripts/panel_preview/panel_preview.gml +++ b/scripts/panel_preview/panel_preview.gml @@ -1790,7 +1790,7 @@ function Panel_Preview() : PanelContent() constructor { var _mx = mx; var _my = my; var overHover = pHOVER && mouse_on_preview == 1; - var tool_size = ui(32); + var tool_size = ui(32); var cx = canvas_x + _node.preview_x * canvas_s; var cy = canvas_y + _node.preview_y * canvas_s;