mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 17:01:51 +00:00
Duke3d: fix longstanding bug with unfrozen GREENSLIME
This fixes some undefined behavior that occurred as a result of reading far past the bounds of slimeFrames[].
This commit is contained in:
parent
575541e32c
commit
39b1c3cee9
1 changed files with 3 additions and 1 deletions
|
@ -4682,7 +4682,7 @@ ACTOR_STATIC void G_MoveActors(void)
|
|||
if (pData[3] > 280)
|
||||
{
|
||||
pSprite->pal = 0;
|
||||
pData[0] = 0;
|
||||
pData[0] = pData[3] = 0;
|
||||
goto next_sprite;
|
||||
}
|
||||
A_Fall(spriteNum);
|
||||
|
@ -4783,6 +4783,8 @@ ACTOR_STATIC void G_MoveActors(void)
|
|||
{
|
||||
static const char slimeFrames[] = { 5, 5, 6, 6, 7, 7, 6, 5 };
|
||||
|
||||
Bassert(pData[3] < ARRAY_SSIZE(slimeFrames));
|
||||
|
||||
pSprite->picnum = GREENSLIME + slimeFrames[pData[3]];
|
||||
|
||||
if (pData[3] == 5)
|
||||
|
|
Loading…
Reference in a new issue