summaryrefslogtreecommitdiff
path: root/src/field_effect.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_effect.c')
-rw-r--r--src/field_effect.c202
1 files changed, 101 insertions, 101 deletions
diff --git a/src/field_effect.c b/src/field_effect.c
index 206b695b0..1cb122674 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -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);
}