Actually fix dedi crash for P_LookForPlayers

This commit is contained in:
NepDisk 2025-12-14 20:23:00 -05:00
parent d621a0f0c4
commit 7f8d64cb05
2 changed files with 26 additions and 0 deletions

View file

@ -442,6 +442,7 @@ void P_NewChaseDir(mobj_t *actor)
boolean P_LookForPlayers(mobj_t *actor, boolean allaround, boolean tracer, fixed_t dist)
{
INT32 c = 0, stop;
INT32 i, pcount = 0;
player_t *player;
angle_t an;
@ -453,6 +454,18 @@ boolean P_LookForPlayers(mobj_t *actor, boolean allaround, boolean tracer, fixed
stop = (actor->lastlook - 1) % PLAYERSMASK;
// No players? Don't bother.
for (i = 0; i < MAXPLAYERS; i++)
{
if (!playeringame[i] || players[i].spectator)
continue;
pcount++;
}
if (!pcount)
return false;
for (; ; actor->lastlook = (actor->lastlook + 1) % PLAYERSMASK)
{
// done looking

View file

@ -4270,6 +4270,7 @@ static void P_SpawnItemCapsuleParts(mobj_t *mobj)
boolean P_BossTargetPlayer(mobj_t *actor, boolean closest)
{
INT32 stop = -1, c = 0;
INT32 i, pcount = 0;
player_t *player;
fixed_t dist, lastdist = 0;
@ -4278,6 +4279,18 @@ boolean P_BossTargetPlayer(mobj_t *actor, boolean closest)
actor->lastlook = P_RandomByte();
actor->lastlook %= PLAYERSMASK;
// No players? Don't bother.
for (i = 0; i < MAXPLAYERS; i++)
{
if (!playeringame[i] || players[i].spectator)
continue;
pcount++;
}
if (!pcount)
return false;
for( ; ; actor->lastlook = (actor->lastlook+1) % PLAYERSMASK)
{
// save the first look so we stop next time.