port UB fix from emerald

This commit is contained in:
Kurausukun
2021-07-12 23:57:38 -04:00
parent f1e345d279
commit d7f5e8d8f2
+7 -8
View File
@@ -3945,22 +3945,21 @@ void AnimProtect(struct Sprite* sprite)
static void AnimProtectStep(struct Sprite *sprite) static void AnimProtectStep(struct Sprite *sprite)
{ {
int a; int i, id, savedPal;
int i;
sprite->data[5] += 96; sprite->data[5] += 96;
sprite->pos2.x = -(sprite->data[5] >> 8); sprite->pos2.x = -(sprite->data[5] >> 8);
if (++sprite->data[1] > 1) if (++sprite->data[1] > 1)
{ {
sprite->data[1] = 0; sprite->data[1] = 0;
a = gPlttBufferFaded[sprite->data[2] + 1]; savedPal = gPlttBufferFaded[sprite->data[2] + 1];
i = 0; i = 0;
do while (i < 6)
{ {
gPlttBufferFaded[sprite->data[2] + ++i] = gPlttBufferFaded[sprite->data[2] + i + 1]; id = sprite->data[2] + ++i;
} while (i < 6); 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) if (sprite->data[7] > 6 && sprite->data[0] >0 && ++sprite->data[6] > 1)