Fix a bug in a testing netgame where we were able to game over and yet ended up just resetting the map normally.

This commit is contained in:
toasterbabe 2017-07-08 11:41:20 +01:00
parent a0cf28671c
commit fb00691324

View file

@ -2533,22 +2533,22 @@ void G_DoReborn(INT32 playernum)
resetlevel = true; resetlevel = true;
else if (gametype == GT_COOP && (netgame || multiplayer)) else if (gametype == GT_COOP && (netgame || multiplayer))
{ {
if (cv_cooplives.value == 0) boolean notgameover = true;
;
else if (player->lives <= 0) // consider game over first if (cv_cooplives.value != 0 && player->lives <= 0) // consider game over first
{ {
INT32 deadtimercheck = INT32_MAX;
for (i = 0; i < MAXPLAYERS; i++) for (i = 0; i < MAXPLAYERS; i++)
{ {
if (!playeringame[i]) if (!playeringame[i])
continue; continue;
if (players[i].exiting || players[i].lives > 0) if (players[i].exiting || players[i].lives > 0)
break; break;
if (players[i].playerstate == PST_DEAD && players[i].deadtimer < deadtimercheck)
deadtimercheck = players[i].deadtimer;
} }
if (!countdown2 && i == MAXPLAYERS && deadtimercheck >= 8*TICRATE) if (i == MAXPLAYERS)
{
notgameover = false;
if (!countdown2)
{ {
// They're dead, Jim. // They're dead, Jim.
//nextmapoverride = spstage_start; //nextmapoverride = spstage_start;
@ -2568,7 +2568,9 @@ void G_DoReborn(INT32 playernum)
token = 0; token = 0;
} }
} }
if (cv_coopstarposts.value == 2) }
if (notgameover && cv_coopstarposts.value == 2)
{ {
for (i = 0; i < MAXPLAYERS; i++) for (i = 0; i < MAXPLAYERS; i++)
{ {