Version mismatch messages don't show again when reloading a save from the current session.
This commit is contained in:
parent
b074659cc0
commit
7d9daad797
2 changed files with 23 additions and 7 deletions
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r96 \cu(Sun 5 Jun 00:36:15 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r96 \cu(2022-06-05 00:36:15)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r97 \cu(Mon 6 Jun 00:59:50 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r97 \cu(2022-06-06 00:59:50)\c-";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
Class SWWMSaveVerData : SWWMStaticThinker
|
||||
{
|
||||
String ver;
|
||||
int uid;
|
||||
}
|
||||
|
||||
Class SWWMStaticHandler : StaticEventHandler
|
||||
|
|
@ -14,6 +15,7 @@ Class SWWMStaticHandler : StaticEventHandler
|
|||
// versioning
|
||||
bool tainted;
|
||||
String taintver;
|
||||
int uid;
|
||||
int checktic;
|
||||
int maptime;
|
||||
bool unloading;
|
||||
|
|
@ -36,6 +38,7 @@ Class SWWMStaticHandler : StaticEventHandler
|
|||
let svd = new("SWWMSaveVerData");
|
||||
svd.ChangeStatNum(Thinker.STAT_STATIC);
|
||||
svd.ver = StringTable.Localize("$SWWM_SHORTVER");
|
||||
uid = 0;
|
||||
}
|
||||
|
||||
override void WorldUnloaded( WorldEvent e )
|
||||
|
|
@ -98,13 +101,18 @@ Class SWWMStaticHandler : StaticEventHandler
|
|||
{
|
||||
tainted = true;
|
||||
taintver = "\cg(no version info)\c-";
|
||||
return;
|
||||
uid = 0;
|
||||
}
|
||||
String cver = StringTable.Localize("$SWWM_SHORTVER");
|
||||
if ( svd.ver != cver )
|
||||
else
|
||||
{
|
||||
tainted = true;
|
||||
taintver = svd.ver;
|
||||
String cver = StringTable.Localize("$SWWM_SHORTVER");
|
||||
if ( svd.ver != cver )
|
||||
{
|
||||
tainted = true;
|
||||
taintver = svd.ver;
|
||||
}
|
||||
if ( svd.uid == uid ) checktic = 0;
|
||||
uid = svd.uid;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -306,10 +314,18 @@ Class SWWMStaticHandler : StaticEventHandler
|
|||
c.A_StartSound("misc/achievement2",CHAN_ITEM,CHANF_UI|CHANF_OVERLAP);
|
||||
}
|
||||
}
|
||||
else if ( e.Name ~== "swwmsessionid" )
|
||||
{
|
||||
let ti = ThinkerIterator.Create("SWWMSaveVerData",Thinker.STAT_STATIC);
|
||||
let svd = SWWMSaveVerData(ti.Next());
|
||||
if ( !uid ) uid = e.Args[0];
|
||||
if ( svd && !svd.uid ) svd.uid = e.Args[0];
|
||||
}
|
||||
}
|
||||
|
||||
override void PostUiTick()
|
||||
{
|
||||
if ( !uid ) EventHandler.SendNetworkEvent("swwmsessionid",SystemTime.Now());
|
||||
if ( gamestate != GS_TITLELEVEL ) titlefirst = true; // we skip it
|
||||
if ( !aprcheck && (gamestate == GS_LEVEL) )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue