Flatten pos fields in struct Sprite
This commit is contained in:
+101
-101
@@ -826,8 +826,8 @@ static u8 CreatePokeballGlowSprite(s16 duration, s16 x, s16 y, bool16 fanfare)
|
||||
struct Sprite * sprite;
|
||||
spriteId = CreateInvisibleSprite(SpriteCB_PokeballGlowEffect);
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->pos2.x = x;
|
||||
sprite->pos2.y = y;
|
||||
sprite->x2 = x;
|
||||
sprite->y2 = y;
|
||||
sprite->subpriority = 0xFF;
|
||||
sprite->data[5] = fanfare;
|
||||
sprite->data[6] = duration;
|
||||
@@ -859,7 +859,7 @@ static void PokeballGlowEffect_0(struct Sprite * sprite)
|
||||
if (sprite->data[1] == 0 || (--sprite->data[1]) == 0)
|
||||
{
|
||||
sprite->data[1] = 25;
|
||||
endSpriteId = CreateSpriteAtEnd(&sUnknown_83CBF88, sUnknown_83CC010[sprite->data[2]].x + sprite->pos2.x, sUnknown_83CC010[sprite->data[2]].y + sprite->pos2.y, 0xFF);
|
||||
endSpriteId = CreateSpriteAtEnd(&sUnknown_83CBF88, sUnknown_83CC010[sprite->data[2]].x + sprite->x2, sUnknown_83CC010[sprite->data[2]].y + sprite->y2, 0xFF);
|
||||
gSprites[endSpriteId].oam.priority = 2;
|
||||
gSprites[endSpriteId].data[0] = sprite->data[7];
|
||||
sprite->data[2]++;
|
||||
@@ -1155,7 +1155,7 @@ static bool8 FallWarpEffect_3(struct Task * task)
|
||||
s16 centerToCornerVecY;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
sprite->y2 = -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
task->data[1] = 1;
|
||||
task->data[2] = 0;
|
||||
gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE;
|
||||
@@ -1171,7 +1171,7 @@ static bool8 FallWarpEffect_4(struct Task * task)
|
||||
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.y += task->data[1];
|
||||
sprite->y2 += task->data[1];
|
||||
if (task->data[1] < 8)
|
||||
{
|
||||
task->data[2] += task->data[1];
|
||||
@@ -1180,19 +1180,19 @@ static bool8 FallWarpEffect_4(struct Task * task)
|
||||
task->data[1] <<= 1;
|
||||
}
|
||||
}
|
||||
if (task->data[3] == 0 && sprite->pos2.y >= -16)
|
||||
if (task->data[3] == 0 && sprite->y2 >= -16)
|
||||
{
|
||||
task->data[3]++;
|
||||
objectEvent->fixedPriority = FALSE;
|
||||
sprite->subspriteMode = task->data[4];
|
||||
objectEvent->triggerGroundEffectsOnMove = TRUE;
|
||||
}
|
||||
if (sprite->pos2.y >= 0)
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
PlaySE(SE_M_STRENGTH);
|
||||
objectEvent->triggerGroundEffectsOnStop = TRUE;
|
||||
objectEvent->landingJump = TRUE;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1358,8 +1358,8 @@ static void Escalator_AnimatePlayerGoingDown(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[2]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[2]);
|
||||
sprite->x2 = Cos(0x84, task->data[2]);
|
||||
sprite->y2 = Sin(0x94, task->data[2]);
|
||||
task->data[3]++;
|
||||
if (task->data[3] & 1)
|
||||
{
|
||||
@@ -1371,8 +1371,8 @@ static void Escalator_AnimatePlayerGoingUp(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[2]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[2]);
|
||||
sprite->x2 = Cos(0x7c, task->data[2]);
|
||||
sprite->y2 = Sin(0x76, task->data[2]);
|
||||
task->data[3]++;
|
||||
if (task->data[3] & 1)
|
||||
{
|
||||
@@ -1455,8 +1455,8 @@ static bool8 EscalatorWarpInEffect_2(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[1]);
|
||||
sprite->x2 = Cos(0x84, task->data[1]);
|
||||
sprite->y2 = Sin(0x94, task->data[1]);
|
||||
task->data[0]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1465,8 +1465,8 @@ static bool8 EscalatorWarpInEffect_3(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[1]);
|
||||
sprite->x2 = Cos(0x84, task->data[1]);
|
||||
sprite->y2 = Sin(0x94, task->data[1]);
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
{
|
||||
@@ -1474,8 +1474,8 @@ static bool8 EscalatorWarpInEffect_3(struct Task * task)
|
||||
}
|
||||
if (task->data[1] == 0)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0] = 5;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1486,8 +1486,8 @@ static bool8 EscalatorWarpInEffect_4(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[1]);
|
||||
sprite->x2 = Cos(0x7c, task->data[1]);
|
||||
sprite->y2 = Sin(0x76, task->data[1]);
|
||||
task->data[0]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1496,8 +1496,8 @@ static bool8 EscalatorWarpInEffect_5(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[1]);
|
||||
sprite->x2 = Cos(0x7c, task->data[1]);
|
||||
sprite->y2 = Sin(0x76, task->data[1]);
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
{
|
||||
@@ -1505,8 +1505,8 @@ static bool8 EscalatorWarpInEffect_5(struct Task * task)
|
||||
}
|
||||
if (task->data[1] == 0)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1736,7 +1736,7 @@ static bool8 LavaridgeGymB1FWarpEffect_2(struct Task * task, struct ObjectEvent
|
||||
|
||||
static bool8 LavaridgeGymB1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[3] = 1;
|
||||
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
|
||||
gFieldEffectArguments[1] = objectEvent->currentCoords.y;
|
||||
@@ -1765,9 +1765,9 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent
|
||||
if (task->data[2] > 6)
|
||||
{
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
if (sprite->pos2.y > -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY))
|
||||
if (sprite->y2 > -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY))
|
||||
{
|
||||
sprite->pos2.y -= task->data[3];
|
||||
sprite->y2 -= task->data[3];
|
||||
if (task->data[3] <= 7)
|
||||
{
|
||||
task->data[3]++;
|
||||
@@ -1777,7 +1777,7 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent
|
||||
task->data[4] = 1;
|
||||
}
|
||||
}
|
||||
if (task->data[5] == 0 && sprite->pos2.y < -0x10)
|
||||
if (task->data[5] == 0 && sprite->y2 < -0x10)
|
||||
{
|
||||
task->data[5]++;
|
||||
objectEvent->fixedPriority = TRUE;
|
||||
@@ -2108,7 +2108,7 @@ static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
(*state_p)++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
sprite->pos2.y -= 8;
|
||||
sprite->y2 -= 8;
|
||||
(*y_p) -= 8;
|
||||
if (*y_p <= -16)
|
||||
{
|
||||
@@ -2120,7 +2120,7 @@ static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y -= 8;
|
||||
sprite->y2 -= 8;
|
||||
(*y_p) -= 8;
|
||||
if (*y_p <= -88)
|
||||
{
|
||||
@@ -2147,7 +2147,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
case 0:
|
||||
CameraObjectReset2();
|
||||
*y_p = -88;
|
||||
sprite->pos2.y -= 88;
|
||||
sprite->y2 -= 88;
|
||||
*priority_p = sprite->oam.priority;
|
||||
*subpriority_p = sprite->subpriority;
|
||||
*subspriteMode_p = sprite->subspriteMode;
|
||||
@@ -2158,7 +2158,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
(*state_p)++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
sprite->pos2.y += 4;
|
||||
sprite->y2 += 4;
|
||||
(*y_p) += 4;
|
||||
if (*y_p >= -16)
|
||||
{
|
||||
@@ -2169,7 +2169,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y += 4;
|
||||
sprite->y2 += 4;
|
||||
(*y_p) += 4;
|
||||
if (*y_p >= 0)
|
||||
{
|
||||
@@ -2310,7 +2310,7 @@ static void TeleportFieldEffectTask3(struct Task * task)
|
||||
task->data[1] = 4;
|
||||
ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]);
|
||||
}
|
||||
sprite->pos1.y -= task->data[3];
|
||||
sprite->y -= task->data[3];
|
||||
task->data[4] += task->data[3];
|
||||
if ((--task->data[2]) <= 0 && (task->data[2] = 4, task->data[3] < 8))
|
||||
{
|
||||
@@ -2375,7 +2375,7 @@ static void TeleportInFieldEffectTask1(struct Task * task)
|
||||
{
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
sprite->y2 = -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE;
|
||||
task->data[0]++;
|
||||
task->data[1] = 8;
|
||||
@@ -2391,7 +2391,7 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
u8 spinDirections[5] = {1, 3, 4, 2, 1};
|
||||
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
if ((sprite->pos2.y += task->data[1]) >= -8)
|
||||
if ((sprite->y2 += task->data[1]) >= -8)
|
||||
{
|
||||
if (task->data[13] == 0)
|
||||
{
|
||||
@@ -2407,7 +2407,7 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
|
||||
}
|
||||
}
|
||||
if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1))
|
||||
if (sprite->y2 >= -0x30 && task->data[1] > 1 && !(sprite->y2 & 1))
|
||||
{
|
||||
task->data[1]--;
|
||||
}
|
||||
@@ -2416,9 +2416,9 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
task->data[2] = 4;
|
||||
ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]);
|
||||
}
|
||||
if (sprite->pos2.y >= 0)
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
task->data[1] = 1;
|
||||
task->data[2] = 0;
|
||||
@@ -2836,9 +2836,9 @@ static u8 sub_8086860(u32 species, u32 otId, u32 personality)
|
||||
|
||||
static void sub_80868C0(struct Sprite * sprite)
|
||||
{
|
||||
if ((sprite->pos1.x -= 20) <= 0x78)
|
||||
if ((sprite->x -= 20) <= 0x78)
|
||||
{
|
||||
sprite->pos1.x = 0x78;
|
||||
sprite->x = 0x78;
|
||||
sprite->data[1] = 30;
|
||||
sprite->callback = sub_8086904;
|
||||
if (sprite->data[6])
|
||||
@@ -2862,13 +2862,13 @@ static void sub_8086904(struct Sprite * sprite)
|
||||
|
||||
static void sub_8086920(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->pos1.x < -0x40)
|
||||
if (sprite->x < -0x40)
|
||||
{
|
||||
sprite->data[7] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x -= 20;
|
||||
sprite->x -= 20;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3063,17 +3063,17 @@ static void sub_8086D94(struct Sprite * sprite)
|
||||
{
|
||||
struct Sprite * npcSprite;
|
||||
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0x8c);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
|
||||
if (sprite->data[0])
|
||||
{
|
||||
npcSprite = &gSprites[sprite->data[1]];
|
||||
npcSprite->coordOffsetEnabled = FALSE;
|
||||
npcSprite->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
npcSprite->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
npcSprite->pos2.x = 0;
|
||||
npcSprite->pos2.y = 0;
|
||||
npcSprite->x = sprite->x + sprite->x2;
|
||||
npcSprite->y = sprite->y + sprite->y2 - 8;
|
||||
npcSprite->x2 = 0;
|
||||
npcSprite->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3257,10 +3257,10 @@ static void sub_80871C8(u8 spriteId)
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->callback = sub_80872F0;
|
||||
sprite->pos1.x = 0x78;
|
||||
sprite->pos1.y = 0x00;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x = 0x78;
|
||||
sprite->y = 0x00;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
memset(&sprite->data[0], 0, 8 * sizeof(u16) /* zero all data cells */);
|
||||
sprite->data[6] = 0x40;
|
||||
}
|
||||
@@ -3298,17 +3298,17 @@ static void sub_8087220(struct Sprite * sprite)
|
||||
InitSpriteAffineAnim(sprite);
|
||||
StartSpriteAffineAnim(sprite, 0);
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
sprite->pos1.x = 0x80;
|
||||
sprite->x = 0x80;
|
||||
else
|
||||
sprite->pos1.x = 0x76;
|
||||
sprite->pos1.y = -0x30;
|
||||
sprite->x = 0x76;
|
||||
sprite->y = -0x30;
|
||||
sprite->data[0]++;
|
||||
sprite->data[1] = 0x40;
|
||||
sprite->data[2] = 0x100;
|
||||
}
|
||||
sprite->data[1] += (sprite->data[2] >> 8);
|
||||
sprite->pos2.x = Cos(sprite->data[1], 0x78);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 0x78);
|
||||
sprite->x2 = Cos(sprite->data[1], 0x78);
|
||||
sprite->y2 = Sin(sprite->data[1], 0x78);
|
||||
if (sprite->data[2] < 0x800)
|
||||
{
|
||||
sprite->data[2] += 0x60;
|
||||
@@ -3325,17 +3325,17 @@ static void sub_8087220(struct Sprite * sprite)
|
||||
|
||||
static void sub_80872F0(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0x8c);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
|
||||
if (sprite->data[6] != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite * sprite1 = &gSprites[sprite->data[6]];
|
||||
sprite1->coordOffsetEnabled = FALSE;
|
||||
sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
sprite1->pos2.x = 0;
|
||||
sprite1->pos2.y = 0;
|
||||
sprite1->x = sprite->x + sprite->x2;
|
||||
sprite1->y = sprite->y + sprite->y2 - 8;
|
||||
sprite1->x2 = 0;
|
||||
sprite1->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3354,10 +3354,10 @@ static void sub_8087364(struct Sprite * sprite)
|
||||
InitSpriteAffineAnim(sprite);
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
sprite->pos1.x = 0x70;
|
||||
sprite->x = 0x70;
|
||||
else
|
||||
sprite->pos1.x = 0x64;
|
||||
sprite->pos1.y = -0x20;
|
||||
sprite->x = 0x64;
|
||||
sprite->y = -0x20;
|
||||
sprite->data[0]++;
|
||||
sprite->data[1] = 0xf0;
|
||||
sprite->data[2] = 0x800;
|
||||
@@ -3366,8 +3366,8 @@ static void sub_8087364(struct Sprite * sprite)
|
||||
sprite->data[1] += sprite->data[2] >> 8;
|
||||
sprite->data[3] += sprite->data[2] >> 8;
|
||||
sprite->data[1] &= 0xff;
|
||||
sprite->pos2.x = Cos(sprite->data[1], 0x20);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 0x78);
|
||||
sprite->x2 = Cos(sprite->data[1], 0x20);
|
||||
sprite->y2 = Sin(sprite->data[1], 0x78);
|
||||
if (sprite->data[2] > 0x100)
|
||||
{
|
||||
sprite->data[2] -= sprite->data[4];
|
||||
@@ -3466,10 +3466,10 @@ static void FlyInEffect_2(struct Task * task)
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
sub_8087204(task->data[1], 0x40);
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
task->data[2] = 0;
|
||||
}
|
||||
@@ -3498,7 +3498,7 @@ static void FlyInEffect_3(struct Task * task)
|
||||
8
|
||||
};
|
||||
struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.y = gUnknown_83CC1F0[task->data[2]];
|
||||
sprite->y2 = gUnknown_83CC1F0[task->data[2]];
|
||||
if ((++task->data[2]) >= 18)
|
||||
{
|
||||
task->data[0]++;
|
||||
@@ -3515,8 +3515,8 @@ static void FlyInEffect_4(struct Task * task)
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
objectEvent->inanimate = FALSE;
|
||||
MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||
@@ -3592,18 +3592,18 @@ static void sub_80877FC(struct Sprite * sprite, u8 affineAnimId)
|
||||
static void sub_8087828(struct Sprite * sprite)
|
||||
{
|
||||
struct Sprite * sprite2;
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0xB4);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0xB4);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] += 2;
|
||||
sprite->data[2] &= 0xFF;
|
||||
if (sprite->data[6] != MAX_SPRITES)
|
||||
{
|
||||
sprite2 = &gSprites[sprite->data[6]];
|
||||
sprite2->coordOffsetEnabled = FALSE;
|
||||
sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite2->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
sprite2->pos2.x = 0;
|
||||
sprite2->pos2.y = 0;
|
||||
sprite2->x = sprite->x + sprite->x2;
|
||||
sprite2->y = sprite->y + sprite->y2 - 8;
|
||||
sprite2->x2 = 0;
|
||||
sprite2->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3648,8 +3648,8 @@ u32 FldEff_MoveDeoxysRock(void)
|
||||
ShiftObjectEventCoords(objectEvent, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7);
|
||||
taskId = CreateTask(Task_MoveDeoxysRock_Step, 0x50);
|
||||
gTasks[taskId].data[1] = objectEvent->spriteId;
|
||||
gTasks[taskId].data[2] = gSprites[objectEvent->spriteId].pos1.x + x;
|
||||
gTasks[taskId].data[3] = gSprites[objectEvent->spriteId].pos1.y + y;
|
||||
gTasks[taskId].data[2] = gSprites[objectEvent->spriteId].x + x;
|
||||
gTasks[taskId].data[3] = gSprites[objectEvent->spriteId].y + y;
|
||||
gTasks[taskId].data[8] = gFieldEffectArguments[5];
|
||||
gTasks[taskId].data[9] = objectEventIdBuffer;
|
||||
}
|
||||
@@ -3664,8 +3664,8 @@ static void Task_MoveDeoxysRock_Step(u8 taskId)
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
data[4] = sprite->pos1.x << 4;
|
||||
data[5] = sprite->pos1.y << 4;
|
||||
data[4] = sprite->x << 4;
|
||||
data[5] = sprite->y << 4;
|
||||
|
||||
// UB: Possible divide by zero
|
||||
data[6] = SAFE_DIV(((data[2] << 4) - data[4]), data[8]);
|
||||
@@ -3678,14 +3678,14 @@ static void Task_MoveDeoxysRock_Step(u8 taskId)
|
||||
data[8]--;
|
||||
data[4] += data[6];
|
||||
data[5] += data[7];
|
||||
sprite->pos1.x = data[4] >> 4;
|
||||
sprite->pos1.y = data[5] >> 4;
|
||||
sprite->x = data[4] >> 4;
|
||||
sprite->y = data[5] >> 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
objectEvent = &gObjectEvents[data[9]];
|
||||
sprite->pos1.x = data[2];
|
||||
sprite->pos1.y = data[3];
|
||||
sprite->x = data[2];
|
||||
sprite->y = data[3];
|
||||
ShiftStillObjectEventCoords(objectEvent);
|
||||
objectEvent->triggerGroundEffectsOnStop = TRUE;
|
||||
FieldEffectActiveListRemove(FLDEFF_MOVE_DEOXYS_ROCK);
|
||||
@@ -3856,8 +3856,8 @@ static void Unk44Effect_2(s16 *data, u8 taskId)
|
||||
static void sub_8087CFC(struct Sprite* sprite)
|
||||
{
|
||||
int i;
|
||||
int xPos = (s16)gTotalCameraPixelOffsetX + sprite->pos1.x + sprite->pos2.x;
|
||||
int yPos = (s16)gTotalCameraPixelOffsetY + sprite->pos1.y + sprite->pos2.y - 4;
|
||||
int xPos = (s16)gTotalCameraPixelOffsetX + sprite->x + sprite->x2;
|
||||
int yPos = (s16)gTotalCameraPixelOffsetY + sprite->y + sprite->y2 - 4;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
@@ -3876,23 +3876,23 @@ static void SpriteCB_FldEffUnk44(struct Sprite* sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x -= 16;
|
||||
sprite->pos1.y -= 12;
|
||||
sprite->x -= 16;
|
||||
sprite->y -= 12;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x += 16;
|
||||
sprite->pos1.y -= 12;
|
||||
sprite->x += 16;
|
||||
sprite->y -= 12;
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos1.x -= 16;
|
||||
sprite->pos1.y += 12;
|
||||
sprite->x -= 16;
|
||||
sprite->y += 12;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos1.x += 16;
|
||||
sprite->pos1.y += 12;
|
||||
sprite->x += 16;
|
||||
sprite->y += 12;
|
||||
break;
|
||||
}
|
||||
if (sprite->pos1.x < -4 || sprite->pos1.x > 0xF4 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4)
|
||||
if (sprite->x < -4 || sprite->x > 0xF4 || sprite->y < -4 || sprite->y > 0xA4)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user