Fix loading project does not load latest previewing node.

This commit is contained in:
Tanasart 2025-01-28 12:34:26 +07:00
parent caa1e57cd6
commit ceca4e83d9
5 changed files with 20 additions and 13 deletions

Binary file not shown.

View file

@ -172,7 +172,11 @@ switch(load_process) {
LoadPanelStruct(content.layout.panel); LoadPanelStruct(content.layout.panel);
array_remove(STATS_PROGRESS, load_noti); array_remove(STATS_PROGRESS, load_noti);
PROJECT.postDeserialize(content);
instance_destroy(); instance_destroy();
run_in(1, function() /*=>*/ { PANEL_GRAPH.draw_refresh = true; }); run_in(1, function() /*=>*/ {
PANEL_GRAPH.draw_refresh = true;
});
} }

View file

@ -93,10 +93,12 @@ function Node_Particle(_x, _y, _group = noone) : Node_VFX_Spawner_Base(_x, _y, _
if(IS_FIRST_FRAME) { if(IS_FIRST_FRAME) {
reset(); reset();
if(IS_PLAYING) reLoop(); // if(IS_PLAYING)
reLoop();
} }
if(IS_PLAYING) runVFX(frame); // if(IS_PLAYING)
runVFX(frame);
} }
function render(_time = CURRENT_FRAME) { function render(_time = CURRENT_FRAME) {

View file

@ -578,10 +578,11 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
static postDeserialize = function() { static postDeserialize = function() {
if(CLONING) return; if(CLONING) return;
if(array_length(load_map.inputs) <= 15)
load_map.inputs[15] = { raw_value : { d : 0 } };
if(LOADING_VERSION < 1_18_01_0) { if(LOADING_VERSION < 1_18_01_0) {
if(array_length(load_map.inputs) <= 15)
load_map.inputs[15] = { raw_value : { d : 0 } };
if(array_length(load_map.inputs) >= 23) { if(array_length(load_map.inputs) >= 23) {
var _dat = load_map.inputs[23].raw_value; var _dat = load_map.inputs[23].raw_value;
for( var i = 0, n = array_length(_dat); i < n; i++ ) for( var i = 0, n = array_length(_dat); i < n; i++ )

View file

@ -315,9 +315,15 @@ function Project() constructor {
if(struct_has(_map, "addon")) { if(struct_has(_map, "addon")) {
var _addon = _map.addon; var _addon = _map.addon;
addons = _addon; addons = _addon;
struct_foreach(_addon, function(_name, _value) { addonLoad(_name, false); }); struct_foreach(_addon, function(_name, _value) /*=>*/ { addonLoad(_name, false); });
} }
bind_gamemaker = Binder_Gamemaker(attributes.bind_gamemaker_path);
if(bind_gamemaker == noone) attributes.bind_gamemaker_path = "";
}
static postDeserialize = function(_map) {
previewNode = struct_try_get(_map, "previewNode", noone); previewNode = struct_try_get(_map, "previewNode", noone);
if(PANEL_PREVIEW && previewNode != "") { if(PANEL_PREVIEW && previewNode != "") {
var _node = nodeMap[? previewNode]; var _node = nodeMap[? previewNode];
@ -330,12 +336,6 @@ function Project() constructor {
if(_node) PANEL_INSPECTOR.setInspecting(_node); if(_node) PANEL_INSPECTOR.setInspecting(_node);
} }
bind_gamemaker = Binder_Gamemaker(attributes.bind_gamemaker_path);
if(bind_gamemaker == noone) attributes.bind_gamemaker_path = "";
}
static postDeserialize = function() {
} }
} }