From 35708ebc59f81eafee5a516b050d5b9b4a11556d Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Thu, 16 Sep 2021 14:10:30 +0200 Subject: [PATCH] Restore the detection of finished demos on the title screen --- cgdoom/g_game.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cgdoom/g_game.c b/cgdoom/g_game.c index 6987f73..4cee11d 100644 --- a/cgdoom/g_game.c +++ b/cgdoom/g_game.c @@ -1146,8 +1146,8 @@ void G_DoPlayDemo (void) gameaction = ga_nothing; demobuffer = demo_p = (byte *)W_CacheLumpNameConst (defdemoname, PU_STATIC); - /* CGDoom: We have old WADs with demos at versions 108 and 109. They don't - really work whell though */ + /* CGDoom: We have old WADs with demos at versions 108 and 109. The decoding + work similarly, it's probably enemy position/AI that mess up */ byte version = *demo_p++; if (version != VERSION && version != 109 && version != 108) { @@ -1218,6 +1218,22 @@ boolean G_CheckDemoStatus (void) , endtime-starttime); } + if (demoplayback) + { + Z_ChangeTag (demobuffer, PU_CACHE); + demoplayback = false; + netdemo = false; + netgame = false; + deathmatch = false; + playeringame[1] = playeringame[2] = playeringame[3] = 0; + respawnparm = false; + fastparm = false; + nomonsters = false; + consoleplayer = 0; + D_AdvanceDemo (); + return true; + } + return false; }