Permalink
Browse files

correction to the previous fix of NERVE.WAD crashing after MAP06

During demo recording/playback or network games these two packs
(i.e. pack_nerve and pack_master) behave like any other ordinary PWAD.

In the previous fix there was simply no intermission screen after
MAP06 if a demo was recorded with NERVE.WAD, but this is not what
would happen with Vanilla Doom here (if it wouldn't crash before,
granted).
  • Loading branch information...
fabiangreffrath committed Feb 11, 2018
1 parent ce81b4b commit c4c31014710fee394e7b623e00e30c291cb26eaf
Showing with 10 additions and 1 deletion.
  1. +9 −0 src/doom/f_finale.c
  2. +1 −1 src/doom/g_game.c
View
@@ -149,6 +149,15 @@ void F_StartFinale (void)
screen->level = 21;
}
// [crispy] During demo recording/playback or network games
// these two packs behave like any other ordinary PWAD
if (!crispy->singleplayer &&
(gamemission == pack_nerve || gamemission == pack_master)
&& screen->mission == doom2)
{
screen->mission = gamemission;
}
if (logical_gamemission == screen->mission
&& (logical_gamemission != doom || gameepisode == screen->episode)
&& gamemap == screen->level)
View
@@ -1804,7 +1804,7 @@ void G_WorldDone (void)
}
}
else
if ( gamemode == commercial && gamemission != pack_nerve && gamemission != pack_master )
if ( gamemode == commercial )
{
switch (gamemap)
{

2 comments on commit c4c3101

@Zodomaniac

This comment has been minimized.

Show comment
Hide comment
@Zodomaniac

Zodomaniac Feb 12, 2018

Collaborator

When exiting NERVE MAP06 while recording a demo, the intermission text about the starport is displayed while it shouldn't (when not recording a demo, it isn't displayed, btw).
Everything was fine before this commit, check the demo, I bundled the Feb 10 EXEs here ;)
demo4test.zip

Collaborator

Zodomaniac replied Feb 12, 2018

When exiting NERVE MAP06 while recording a demo, the intermission text about the starport is displayed while it shouldn't (when not recording a demo, it isn't displayed, btw).
Everything was fine before this commit, check the demo, I bundled the Feb 10 EXEs here ;)
demo4test.zip

@fabiangreffrath

This comment has been minimized.

Show comment
Hide comment
@fabiangreffrath

fabiangreffrath Feb 13, 2018

Owner

the intermission text about the starport is displayed while it shouldn't

Oh yes, it should!

Removing the intermission screen after MAP06 and adding one after MAP08 if NRFTL is detected is a Crispy'ism. However, during demo recording and playback (and netgames) we have to emulate Vanilla as closely as possible. The question is always "what would happen in Vanilla if it didn't crash before?".

Consider playing the demo back in e.g. Doom+ or PrBoom+ - which does the same BTW: NRFTL only gets a special treatment regarding level transition during singleplayer games. During demo recording and playback it will also show the Vanilla intermission screen after MAP06 just as Crispy does now.

And, yes, all this is demo critical. Showing an intermission screen or not changes the gametics and keypresses before the next map starts.

It should be like that, it was wrong before.

Owner

fabiangreffrath replied Feb 13, 2018

the intermission text about the starport is displayed while it shouldn't

Oh yes, it should!

Removing the intermission screen after MAP06 and adding one after MAP08 if NRFTL is detected is a Crispy'ism. However, during demo recording and playback (and netgames) we have to emulate Vanilla as closely as possible. The question is always "what would happen in Vanilla if it didn't crash before?".

Consider playing the demo back in e.g. Doom+ or PrBoom+ - which does the same BTW: NRFTL only gets a special treatment regarding level transition during singleplayer games. During demo recording and playback it will also show the Vanilla intermission screen after MAP06 just as Crispy does now.

And, yes, all this is demo critical. Showing an intermission screen or not changes the gametics and keypresses before the next map starts.

It should be like that, it was wrong before.

Please sign in to comment.