Merge pull request #1113 from DizzyEggg/patch-4

Fix undefined behaviour in protect animation
This commit is contained in:
PikalaxALT 2020-07-27 06:37:37 -04:00 committed by GitHub
commit 79cc659d7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3967,21 +3967,21 @@ static void AnimProtect(struct Sprite* sprite)
static void AnimProtect_Step(struct Sprite *sprite)
{
int a;
int i;
int i, id, savedPal;
sprite->data[5] += 96;
sprite->pos2.x = -(sprite->data[5] >> 8);
if (++sprite->data[1] > 1)
{
sprite->data[1] = 0;
a = gPlttBufferFaded[sprite->data[2] + 1];
savedPal = gPlttBufferFaded[sprite->data[2] + 1];
i = 0;
do
while (i < 6)
{
gPlttBufferFaded[sprite->data[2] + ++i] = gPlttBufferFaded[sprite->data[2] + i + 1];
} while (i < 6);
id = sprite->data[2] + ++i;
gPlttBufferFaded[id] = gPlttBufferFaded[id + 1];
}
gPlttBufferFaded[sprite->data[2] + 7] = a;
gPlttBufferFaded[sprite->data[2] + 7] = savedPal;
}
if (sprite->data[7] > 6 && sprite->data[0] >0 && ++sprite->data[6] > 1)