mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-18 15:32:10 +00:00
Only do Mobj and RNG consistancy checking when actually in a level.
Mobjs are completely irrelevant outside of levels and the PRNG is not used in a synchronised way in anywhere except when in levels either
This commit is contained in:
parent
c8f61edea5
commit
0375ea4f0b
1 changed files with 65 additions and 62 deletions
|
@ -4341,7 +4341,7 @@ static INT16 Consistancy(void)
|
|||
{
|
||||
if (!playeringame[i])
|
||||
ret ^= 0xCCCC;
|
||||
else if (!players[i].mo);
|
||||
else if (!players[i].mo || gamestate != GS_LEVEL);
|
||||
else
|
||||
{
|
||||
ret += players[i].mo->x;
|
||||
|
@ -4352,7 +4352,7 @@ static INT16 Consistancy(void)
|
|||
}
|
||||
// I give up
|
||||
// Coop desynching enemies is painful
|
||||
if (!G_RaceGametype())
|
||||
if (!G_RaceGametype() && gamestate == GS_LEVEL)
|
||||
ret += P_GetRandSeed();
|
||||
|
||||
#ifdef MOBJCONSISTANCY
|
||||
|
@ -4361,6 +4361,8 @@ static INT16 Consistancy(void)
|
|||
DEBFILE(va("Consistancy = %u\n", ret));
|
||||
return ret;
|
||||
}
|
||||
if (gamestate == GS_LEVEL)
|
||||
{
|
||||
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
||||
{
|
||||
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
|
||||
|
@ -4427,6 +4429,7 @@ static INT16 Consistancy(void)
|
|||
ret += mo->frame;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
DEBFILE(va("Consistancy = %u\n", (ret & 0xFFFF)));
|
||||
|
|
Loading…
Reference in a new issue