diff options
Diffstat (limited to 'src/field_effect.c')
-rw-r--r-- | src/field_effect.c | 202 |
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); } |