- Exhumed: Change doPlayerActionSequence() to do an early return instead of nested branches.

This commit is contained in:
Mitchell Richters 2023-03-26 09:51:38 +11:00
parent dcfab3e57c
commit 76777a6567

View file

@ -1615,41 +1615,41 @@ static void doPlayerActionSequence(Player* const pPlayer)
seq_MoveSequence(pPlayerActor, nSeq, pPlayer->nSeqSize);
pPlayer->nSeqSize++;
if (pPlayer->nSeqSize >= SeqSize[nSeq])
if (pPlayer->nSeqSize < SeqSize[nSeq])
return;
pPlayer->nSeqSize = 0;
switch (pPlayer->nAction)
{
pPlayer->nSeqSize = 0;
default:
break;
case 3:
pPlayer->nSeqSize = SeqSize[nSeq] - 1;
break;
case 4:
pPlayer->nAction = 0;
break;
case 16:
pPlayer->nSeqSize = SeqSize[nSeq] - 1;
switch (pPlayer->nAction)
if (pPlayerActor->spr.pos.Z < pPlayerActor->sector()->floorz)
pPlayerActor->spr.pos.Z++;
if (!RandomSize(5))
{
default:
break;
case 3:
pPlayer->nSeqSize = SeqSize[nSeq] - 1;
break;
case 4:
pPlayer->nAction = 0;
break;
case 16:
pPlayer->nSeqSize = SeqSize[nSeq] - 1;
if (pPlayerActor->spr.pos.Z < pPlayerActor->sector()->floorz)
pPlayerActor->spr.pos.Z++;
if (!RandomSize(5))
{
sectortype* mouthSect;
const auto pos = WheresMyMouth(pPlayer->nPlayer, &mouthSect);
BuildAnim(nullptr, 71, 0, DVector3(pos.XY(), pPlayerActor->spr.pos.Z + 15), mouthSect, 1.171875, 128);
}
break;
case 17:
pPlayer->nAction = 18;
break;
case 19:
pPlayerActor->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
pPlayer->nAction = 20;
break;
sectortype* mouthSect;
const auto pos = WheresMyMouth(pPlayer->nPlayer, &mouthSect);
BuildAnim(nullptr, 71, 0, DVector3(pos.XY(), pPlayerActor->spr.pos.Z + 15), mouthSect, 1.171875, 128);
}
break;
case 17:
pPlayer->nAction = 18;
break;
case 19:
pPlayerActor->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
pPlayer->nAction = 20;
break;
}
}