From 3501b587d37011b6ba0cf05afe00dd3ad22db08b Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Sat, 1 Jul 2023 14:10:36 +0200 Subject: [PATCH] Fix duplication of SWWMGlobals on map change. --- language.version | 4 ++-- zscript/handler/swwm_handler.zsc | 2 -- zscript/handler/swwm_handler_worldload.zsc | 3 +++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index e5a228d26..77df3c5b3 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r812 \cu(Mon 26 Jun 23:54:48 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r812 \cu(2023-06-26 23:54:48)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r813 \cu(Sat 1 Jul 14:10:36 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r813 \cu(2023-07-01 14:10:36)\c-"; diff --git a/zscript/handler/swwm_handler.zsc b/zscript/handler/swwm_handler.zsc index b17a53c77..06e959e0a 100644 --- a/zscript/handler/swwm_handler.zsc +++ b/zscript/handler/swwm_handler.zsc @@ -150,8 +150,6 @@ Class SWWMHandler : EventHandler while ( sv = si.Next() ) funtagsv.Push(sv); si = ServiceIterator.Find("MergeMonsterService"); while ( sv = si.Next() ) mergemonstersv.Push(sv); - // session globals - gdat = SWWMGlobals.Get(); // start profiling if ( swwm_profstart <= 0 ) return; bprofiletics = profiletics = swwm_profstart; diff --git a/zscript/handler/swwm_handler_worldload.zsc b/zscript/handler/swwm_handler_worldload.zsc index ffc133c30..c57cbb81e 100644 --- a/zscript/handler/swwm_handler_worldload.zsc +++ b/zscript/handler/swwm_handler_worldload.zsc @@ -260,6 +260,9 @@ extend Class SWWMHandler override void WorldLoaded( WorldEvent e ) { + // session globals must be loaded here + // (if we do it in OnRegister the existing thinker might not have been deserialized yet) + gdat = SWWMGlobals.Get(); if ( e.IsReopen ) return; MapStartDialogues(); if ( gamestate != GS_TITLELEVEL )