From 06c3aec3b4df292c47463abc0579ba7ab20ec4f9 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 d144d3a22..5e15c1b5f 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r793 \cu(Mon 26 Jun 23:56:53 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r793 \cu(2023-06-26 23:56:53)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r794 \cu(Sat 1 Jul 14:30:33 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r794 \cu(2023-07-01 14:30:33)\c-"; diff --git a/zscript/handler/swwm_handler.zsc b/zscript/handler/swwm_handler.zsc index 3ca35f331..8aec458fb 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 0069594b9..fb46bc383 100644 --- a/zscript/handler/swwm_handler_worldload.zsc +++ b/zscript/handler/swwm_handler_worldload.zsc @@ -324,6 +324,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 )