diff options
Diffstat (limited to 'src/field_effect.c')
-rw-r--r-- | src/field_effect.c | 178 |
1 files changed, 89 insertions, 89 deletions
diff --git a/src/field_effect.c b/src/field_effect.c index 8152f19bb..0d61b35f1 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1118,8 +1118,8 @@ static u8 CreateGlowingPokeballsEffect(s16 numMons, s16 x, s16 y, bool16 playHea 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->sPlayHealSe = playHealSe; sprite->sNumMons = numMons; sprite->sSpriteId = spriteId; @@ -1137,7 +1137,7 @@ static void PokeballGlowEffect_PlaceBalls(struct Sprite *sprite) if (sprite->sTimer == 0 || (--sprite->sTimer) == 0) { sprite->sTimer = 25; - spriteId = CreateSpriteAtEnd(&sSpriteTemplate_PokeballGlow, sPokeballCoordOffsets[sprite->sCounter].x + sprite->pos2.x, sPokeballCoordOffsets[sprite->sCounter].y + sprite->pos2.y, 0); + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_PokeballGlow, sPokeballCoordOffsets[sprite->sCounter].x + sprite->x2, sPokeballCoordOffsets[sprite->sCounter].y + sprite->y2, 0); gSprites[spriteId].oam.priority = 2; gSprites[spriteId].sEffectSpriteId = sprite->sSpriteId; sprite->sCounter++; @@ -1461,7 +1461,7 @@ static bool8 FallWarpEffect_StartFall(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->tFallOffset = 1; task->tTotalFall = 0; gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE; @@ -1477,7 +1477,7 @@ static bool8 FallWarpEffect_Fall(struct Task *task) objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; sprite = &gSprites[gPlayerAvatar.spriteId]; - sprite->pos2.y += task->tFallOffset; + sprite->y2 += task->tFallOffset; if (task->tFallOffset < 8) { task->tTotalFall += task->tFallOffset; @@ -1485,19 +1485,19 @@ static bool8 FallWarpEffect_Fall(struct Task *task) if (task->tTotalFall & 0xf) task->tFallOffset <<= 1; } - if (task->tSetTrigger == FALSE && sprite->pos2.y >= -16) + if (task->tSetTrigger == FALSE && sprite->y2 >= -16) { task->tSetTrigger++; objectEvent->fixedPriority = 0; sprite->subspriteMode = task->tSubsprMode; objectEvent->triggerGroundEffectsOnMove = 1; } - if (sprite->pos2.y >= 0) + if (sprite->y2 >= 0) { PlaySE(SE_M_STRENGTH); objectEvent->triggerGroundEffectsOnStop = 1; objectEvent->landingJump = 1; - sprite->pos2.y = 0; + sprite->y2 = 0; task->tState++; } return FALSE; @@ -1635,8 +1635,8 @@ static void RideUpEscalatorOut(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) { @@ -1648,8 +1648,8 @@ static void RideDownEscalatorOut(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) { @@ -1729,8 +1729,8 @@ static bool8 EscalatorWarpIn_Down_Init(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->tState++; return FALSE; } @@ -1739,8 +1739,8 @@ static bool8 EscalatorWarpIn_Down_Ride(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) { @@ -1748,8 +1748,8 @@ static bool8 EscalatorWarpIn_Down_Ride(struct Task *task) } if (task->data[1] == 0) { - sprite->pos2.x = 0; - sprite->pos2.y = 0; + sprite->x2 = 0; + sprite->y2 = 0; task->tState = 5; } return FALSE; @@ -1759,8 +1759,8 @@ static bool8 EscalatorWarpIn_Up_Init(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->tState++; return FALSE; } @@ -1769,8 +1769,8 @@ static bool8 EscalatorWarpIn_Up_Ride(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) { @@ -1778,8 +1778,8 @@ static bool8 EscalatorWarpIn_Up_Ride(struct Task *task) } if (task->data[1] == 0) { - sprite->pos2.x = 0; - sprite->pos2.y = 0; + sprite->x2 = 0; + sprite->y2 = 0; task->tState++; } return FALSE; @@ -1972,7 +1972,7 @@ static bool8 LavaridgeGymB1FWarpEffect_CameraShake(struct Task *task, struct Obj static bool8 LavaridgeGymB1FWarpEffect_Launch(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; @@ -2001,9 +2001,9 @@ static bool8 LavaridgeGymB1FWarpEffect_Rise(struct Task *task, struct ObjectEven 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]++; @@ -2013,7 +2013,7 @@ static bool8 LavaridgeGymB1FWarpEffect_Rise(struct Task *task, struct ObjectEven 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 = 1; @@ -2396,7 +2396,7 @@ static void TeleportWarpOutFieldEffect_SpinExit(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)) { @@ -2466,7 +2466,7 @@ static void TeleportWarpInFieldEffect_Init(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; @@ -2482,7 +2482,7 @@ static void TeleportWarpInFieldEffect_SpinEnter(struct Task *task) u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; 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) { @@ -2498,7 +2498,7 @@ static void TeleportWarpInFieldEffect_SpinEnter(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]--; } @@ -2507,9 +2507,9 @@ static void TeleportWarpInFieldEffect_SpinEnter(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; @@ -2929,9 +2929,9 @@ static u8 InitFieldMoveMonSprite(u32 species, u32 otId, u32 personality) static void SpriteCB_FieldMoveMonSlideOnscreen(struct Sprite *sprite) { - if ((sprite->pos1.x -= 20) <= DISPLAY_WIDTH / 2) + if ((sprite->x -= 20) <= DISPLAY_WIDTH / 2) { - sprite->pos1.x = DISPLAY_WIDTH / 2; + sprite->x = DISPLAY_WIDTH / 2; sprite->sOnscreenTimer = 30; sprite->callback = SpriteCB_FieldMoveMonWaitAfterCry; if (sprite->data[6]) @@ -2953,10 +2953,10 @@ static void SpriteCB_FieldMoveMonWaitAfterCry(struct Sprite *sprite) static void SpriteCB_FieldMoveMonSlideOffscreen(struct Sprite *sprite) { - if (sprite->pos1.x < -64) + if (sprite->x < -64) sprite->sSlidOffscreen = TRUE; else - sprite->pos1.x -= 20; + sprite->x -= 20; } #undef tState @@ -3078,7 +3078,7 @@ u8 FldEff_RayquazaSpotlight(void) sprite->data[1] = 0; sprite->data[2] = 0; sprite->data[3] = -1; - sprite->data[4] = sprite->pos1.y; + sprite->data[4] = sprite->y; sprite->data[5] = 0; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14)); @@ -3120,17 +3120,17 @@ static void SpriteCB_NPCFlyOut(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) @@ -3306,10 +3306,10 @@ static void StartFlyBirdSwoopDown(u8 spriteId) struct Sprite *sprite; sprite = &gSprites[spriteId]; sprite->callback = SpriteCB_FlyBirdSwoopDown; - sprite->pos1.x = DISPLAY_WIDTH / 2; - sprite->pos1.y = 0; - sprite->pos2.x = 0; - sprite->pos2.y = 0; + sprite->x = DISPLAY_WIDTH / 2; + sprite->y = 0; + sprite->x2 = 0; + sprite->y2 = 0; memset(&sprite->data[0], 0, 8 * sizeof(u16) /* zero all data cells */); sprite->sPlayerSpriteId = MAX_SPRITES; } @@ -3346,15 +3346,15 @@ static void SpriteCB_FlyBirdLeaveBall(struct Sprite *sprite) sprite->affineAnims = sAffineAnims_FlyBird; InitSpriteAffineAnim(sprite); StartSpriteAffineAnim(sprite, 0); - 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; @@ -3371,17 +3371,17 @@ static void SpriteCB_FlyBirdLeaveBall(struct Sprite *sprite) static void SpriteCB_FlyBirdSwoopDown(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->sPlayerSpriteId != MAX_SPRITES) { struct Sprite *sprite1 = &gSprites[sprite->sPlayerSpriteId]; 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) { @@ -3399,8 +3399,8 @@ static void SpriteCB_FlyBirdReturnToBall(struct Sprite *sprite) sprite->affineAnims = sAffineAnims_FlyBird; InitSpriteAffineAnim(sprite); StartSpriteAffineAnim(sprite, 1); - sprite->pos1.x = 0x5e; - sprite->pos1.y = -0x20; + sprite->x = 0x5e; + sprite->y = -0x20; sprite->data[0]++; sprite->data[1] = 0xf0; sprite->data[2] = 0x800; @@ -3409,8 +3409,8 @@ static void SpriteCB_FlyBirdReturnToBall(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]; @@ -3495,10 +3495,10 @@ static void FlyInFieldEffect_FlyInWithBird(struct Task *task) objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; sprite = &gSprites[objectEvent->spriteId]; SetFlyBirdPlayerSpriteId(task->tBirdSpriteId, MAX_SPRITES); - 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->tState++; task->tTimer = 0; } @@ -3527,7 +3527,7 @@ static void FlyInFieldEffect_JumpOffBird(struct Task *task) 8 }; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; - sprite->pos2.y = sYPositions[task->tTimer]; + sprite->y2 = sYPositions[task->tTimer]; if ((++task->tTimer) >= (int)ARRAY_COUNT(sYPositions)) task->tState++; @@ -3543,8 +3543,8 @@ static void FlyInFieldEffect_FieldMovePose(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; SetPlayerAvatarFieldMove(); ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); @@ -3780,8 +3780,8 @@ static const struct SpriteTemplate sSpriteTemplate_DeoxysRockFragment = { static void CreateDeoxysRockFragments(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++) { @@ -3801,23 +3801,23 @@ static void SpriteCB_DeoxysRockFragment(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 ((u16)(sprite->pos1.x + 4) > DISPLAY_WIDTH + 8 || sprite->pos1.y < -4 || sprite->pos1.y > DISPLAY_HEIGHT + 4) + if ((u16)(sprite->x + 4) > DISPLAY_WIDTH + 8 || sprite->y < -4 || sprite->y > DISPLAY_HEIGHT + 4) DestroySprite(sprite); } @@ -3837,8 +3837,8 @@ bool8 FldEff_MoveDeoxysRock(struct Sprite* sprite) ShiftObjectEventCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); taskId = CreateTask(Task_MoveDeoxysRock, 80); gTasks[taskId].data[1] = object->spriteId; - gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; - gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; + gTasks[taskId].data[2] = gSprites[object->spriteId].x + xPos; + gTasks[taskId].data[3] = gSprites[object->spriteId].y + yPos; gTasks[taskId].data[8] = gFieldEffectArguments[5]; gTasks[taskId].data[9] = objectEventIdBuffer; } @@ -3852,8 +3852,8 @@ static void Task_MoveDeoxysRock(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; data[6] = SAFE_DIV(data[2] * 16 - data[4], data[8]); data[7] = SAFE_DIV(data[3] * 16 - data[5], data[8]); data[0]++; @@ -3863,14 +3863,14 @@ static void Task_MoveDeoxysRock(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 { struct ObjectEvent *object = &gObjectEvents[data[9]]; - sprite->pos1.x = data[2]; - sprite->pos1.y = data[3]; + sprite->x = data[2]; + sprite->y = data[3]; ShiftStillObjectEventCoords(object); object->triggerGroundEffectsOnStop = TRUE; FieldEffectActiveListRemove(FLDEFF_MOVE_DEOXYS_ROCK); |