diff options
Diffstat (limited to 'src/battle_anim_effects_1.c')
-rw-r--r-- | src/battle_anim_effects_1.c | 856 |
1 files changed, 432 insertions, 424 deletions
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 03dc75daf..ebdb471bf 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -16,7 +16,12 @@ #include "constants/rgb.h" #include "constants/songs.h" -EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0}; +struct { + s16 startX; + s16 startY; + s16 targetX; + s16 targetY; +} static EWRAM_DATA sFrenzyPlantRootData = {0}; // Debug? Written to but never read. static void AnimMovePowderParticle(struct Sprite *); static void AnimMovePowderParticle_Step(struct Sprite *); @@ -65,14 +70,14 @@ static void AnimFlyingParticle(struct Sprite *); static void AnimFlyingParticle_Step(struct Sprite *); static void AnimNeedleArmSpike(struct Sprite *); static void AnimNeedleArmSpike_Step(struct Sprite *); -static void sub_81009F8(struct Sprite *); +static void AnimSlidingHit(struct Sprite *); static void AnimWhipHit(struct Sprite *); -static void sub_8100A94(struct Sprite *); +static void AnimFlickeringPunch(struct Sprite *); static void AnimCuttingSlice(struct Sprite *); static void AnimAirCutterSlice(struct Sprite *); static void AnimSlice_Step(struct Sprite *); -static void sub_8100E1C(struct Sprite *); -static void sub_8100E80(struct Sprite *); +static void AnimCirclingMusicNote(struct Sprite *); +static void AnimCirclingMusicNote_Step(struct Sprite *); static void AnimProtect(struct Sprite *); static void AnimProtect_Step(struct Sprite *); static void AnimMilkBottle(struct Sprite *); @@ -80,8 +85,8 @@ static void AnimMilkBottle_Step1(struct Sprite *); static void AnimMilkBottle_Step2(struct Sprite *, int, int); static void AnimGrantingStars(struct Sprite *); static void AnimSparkingStars(struct Sprite *); -static void sub_8101440(struct Sprite *); -static void sub_81014A0(struct Sprite *); +static void AnimBubbleBurst(struct Sprite *); +static void AnimBubbleBurst_Step(struct Sprite *); static void AnimSleepLetterZ(struct Sprite *); static void AnimSleepLetterZ_Step(struct Sprite *); static void AnimLockOnTarget(struct Sprite *); @@ -99,8 +104,8 @@ static void AnimBowMon_Step2(struct Sprite *); static void AnimBowMon_Step3(struct Sprite *); static void AnimBowMon_Step4(struct Sprite *); static void AnimBowMon_Step3_Callback(struct Sprite *); -static void sub_8101B90(struct Sprite *); -static void sub_8101BA0(struct Sprite *); +static void AnimTipMon(struct Sprite *); +static void AnimTipMon_Step(struct Sprite *); static void AnimSlashSlice(struct Sprite *); static void AnimFalseSwipeSlice(struct Sprite *); static void AnimFalseSwipeSlice_Step1(struct Sprite *); @@ -571,7 +576,7 @@ const struct SpriteTemplate gSwiftStarSpriteTemplate = .callback = AnimTranslateLinearSingleSineWave, }; -const union AnimCmd gConstrictBindingAnimCmds1[] = +static const union AnimCmd sAnim_ConstrictBinding[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(32, 4), @@ -580,7 +585,7 @@ const union AnimCmd gConstrictBindingAnimCmds1[] = ANIMCMD_END, }; -const union AnimCmd gConstrictBindingAnimCmds2[] = +static const union AnimCmd sAnim_ConstrictBinding_Flipped[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(32, 4, .hFlip = TRUE), @@ -589,29 +594,29 @@ const union AnimCmd gConstrictBindingAnimCmds2[] = ANIMCMD_END, }; -const union AnimCmd *const gConstrictBindingAnimTable[] = +static const union AnimCmd *const sAnims_ConstrictBinding[] = { - gConstrictBindingAnimCmds1, - gConstrictBindingAnimCmds2, + sAnim_ConstrictBinding, + sAnim_ConstrictBinding_Flipped, }; -const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = { +static const union AffineAnimCmd sAffineAnim_ConstrictBinding[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = { +static const union AffineAnimCmd sAffineAnim_ConstrictBinding_Flipped[] = { AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] = { - gConstrictBindingAffineAnimCmds1, - gConstrictBindingAffineAnimCmds2, +static const union AffineAnimCmd *const sAffineAnims_ConstrictBinding[] = { + sAffineAnim_ConstrictBinding, + sAffineAnim_ConstrictBinding_Flipped, }; const struct SpriteTemplate gConstrictBindingSpriteTemplate = @@ -619,9 +624,9 @@ const struct SpriteTemplate gConstrictBindingSpriteTemplate = .tileTag = ANIM_TAG_TENDRILS, .paletteTag = ANIM_TAG_TENDRILS, .oam = &gOamData_AffineNormal_ObjNormal_64x32, - .anims = gConstrictBindingAnimTable, + .anims = sAnims_ConstrictBinding, .images = NULL, - .affineAnims = gConstrictBindingAffineAnimTable, + .affineAnims = sAffineAnims_ConstrictBinding, .callback = AnimConstrictBinding, }; @@ -1060,7 +1065,7 @@ const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate = .callback = AnimNeedleArmSpike, }; -const union AnimCmd gWhipAnimCmds1[] = +static const union AnimCmd sAnim_Whip[] = { ANIMCMD_FRAME(64, 3), ANIMCMD_FRAME(80, 3), @@ -1069,7 +1074,7 @@ const union AnimCmd gWhipAnimCmds1[] = ANIMCMD_END, }; -const union AnimCmd gWhipAnimCmds2[] = +static const union AnimCmd sAnim_Whip_Flipped[] = { ANIMCMD_FRAME(64, 3, .hFlip = TRUE), ANIMCMD_FRAME(80, 3, .hFlip = TRUE), @@ -1078,10 +1083,10 @@ const union AnimCmd gWhipAnimCmds2[] = ANIMCMD_END, }; -const union AnimCmd *const gWhipAnimTable[] = +static const union AnimCmd *const sAnims_Whip[] = { - gWhipAnimCmds1, - gWhipAnimCmds2, + sAnim_Whip, + sAnim_Whip_Flipped, }; const struct SpriteTemplate gSlamHitSpriteTemplate = @@ -1089,7 +1094,7 @@ const struct SpriteTemplate gSlamHitSpriteTemplate = .tileTag = ANIM_TAG_SLAM_HIT, .paletteTag = ANIM_TAG_SLAM_HIT, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gWhipAnimTable, + .anims = sAnims_Whip, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimWhipHit, @@ -1100,13 +1105,13 @@ const struct SpriteTemplate gVineWhipSpriteTemplate = .tileTag = ANIM_TAG_WHIP_HIT, .paletteTag = ANIM_TAG_WHIP_HIT, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gWhipAnimTable, + .anims = sAnims_Whip, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimWhipHit, }; -const union AnimCmd gUnknown_08592900[] = +static const union AnimCmd sAnim_SlidingHit[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -1116,96 +1121,96 @@ const union AnimCmd gUnknown_08592900[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592918[] = +static const union AnimCmd *const sAnims_SlidingHit[] = { - gUnknown_08592900, + sAnim_SlidingHit, }; // Unused -const struct SpriteTemplate gUnknown_0859291C = +static const struct SpriteTemplate sSlidingHit1SpriteTemplate = { .tileTag = ANIM_TAG_HIT, .paletteTag = ANIM_TAG_HIT, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08592918, + .anims = sAnims_SlidingHit, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81009F8, + .callback = AnimSlidingHit, }; // Unused -const struct SpriteTemplate gUnknown_08592934 = +static const struct SpriteTemplate sSlidingHit2SpriteTemplate = { .tileTag = ANIM_TAG_HIT_2, .paletteTag = ANIM_TAG_HIT_2, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08592918, + .anims = sAnims_SlidingHit, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81009F8, + .callback = AnimSlidingHit, }; -const union AffineAnimCmd gUnknown_0859294C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_Normal[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859295C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedTopLeft[] = { AFFINEANIMCMD_FRAME(256, 256, 32, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859296C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedLeft[] = { AFFINEANIMCMD_FRAME(256, 256, 64, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859297C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedBottomLeft[] = { AFFINEANIMCMD_FRAME(256, 256, 96, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859298C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_UpsideDown[] = { AFFINEANIMCMD_FRAME(256, 256, -128, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859299C[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedBottomRight[] = { AFFINEANIMCMD_FRAME(256, 256, -96, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085929AC[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedRight[] = { AFFINEANIMCMD_FRAME(256, 256, -64, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085929BC[] = { +static const union AffineAnimCmd sAffineAnim_FlickeringPunch_TurnedTopRight[] = { AFFINEANIMCMD_FRAME(256, 256, -32, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085929CC[] = { - gUnknown_0859294C, - gUnknown_0859295C, - gUnknown_0859296C, - gUnknown_0859297C, - gUnknown_0859298C, - gUnknown_0859299C, - gUnknown_085929AC, - gUnknown_085929BC, +static const union AffineAnimCmd *const sAffineAnims_FlickeringPunch[] = { + sAffineAnim_FlickeringPunch_Normal, + sAffineAnim_FlickeringPunch_TurnedTopLeft, + sAffineAnim_FlickeringPunch_TurnedLeft, + sAffineAnim_FlickeringPunch_TurnedBottomLeft, + sAffineAnim_FlickeringPunch_UpsideDown, + sAffineAnim_FlickeringPunch_TurnedBottomRight, + sAffineAnim_FlickeringPunch_TurnedRight, + sAffineAnim_FlickeringPunch_TurnedTopRight, }; // Unused -const struct SpriteTemplate gUnknown_085929EC = +static const struct SpriteTemplate sFlickeringPunchSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085929CC, - .callback = sub_8100A94, + .affineAnims = sAffineAnims_FlickeringPunch, + .callback = AnimFlickeringPunch, }; const union AnimCmd gCuttingSliceAnimCmds[] = @@ -1244,90 +1249,90 @@ const struct SpriteTemplate gAirCutterSliceSpriteTemplate = .callback = AnimAirCutterSlice, }; -const union AnimCmd gUnknown_08592A4C[] = +static const union AnimCmd sAnim_CirclingMusicNote_Eighth[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A54[] = +static const union AnimCmd sAnim_CirclingMusicNote_BeamedEighth[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A5C[] = +static const union AnimCmd sAnim_CirclingMusicNote_SlantedBeamedEighth[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A64[] = +static const union AnimCmd sAnim_CirclingMusicNote_Quarter[] = { ANIMCMD_FRAME(12, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A6C[] = +static const union AnimCmd sAnim_CirclingMusicNote_QuarterRest[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A74[] = +static const union AnimCmd sAnim_CirclingMusicNote_EighthRest[] = { ANIMCMD_FRAME(20, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A7C[] = +static const union AnimCmd sAnim_CirclingMusicNote_Eighth_Flipped[] = { ANIMCMD_FRAME(0, 1, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A84[] = +static const union AnimCmd sAnim_CirclingMusicNote_BeamedEighth_Flipped[] = { ANIMCMD_FRAME(4, 1, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A8C[] = +static const union AnimCmd sAnim_CirclingMusicNote_SlantedBeamedEighth_Flipped[] = { ANIMCMD_FRAME(8, 1, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592A94[] = +static const union AnimCmd sAnim_CirclingMusicNote_Quarter_Flipped[] = { ANIMCMD_FRAME(12, 1, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592A9C[] = +static const union AnimCmd *const sAnims_CirclingMusicNote[] = { - gUnknown_08592A4C, - gUnknown_08592A54, - gUnknown_08592A5C, - gUnknown_08592A64, - gUnknown_08592A6C, - gUnknown_08592A74, - gUnknown_08592A7C, - gUnknown_08592A84, - gUnknown_08592A8C, - gUnknown_08592A94, + sAnim_CirclingMusicNote_Eighth, + sAnim_CirclingMusicNote_BeamedEighth, + sAnim_CirclingMusicNote_SlantedBeamedEighth, + sAnim_CirclingMusicNote_Quarter, + sAnim_CirclingMusicNote_QuarterRest, + sAnim_CirclingMusicNote_EighthRest, + sAnim_CirclingMusicNote_Eighth_Flipped, + sAnim_CirclingMusicNote_BeamedEighth_Flipped, + sAnim_CirclingMusicNote_SlantedBeamedEighth_Flipped, + sAnim_CirclingMusicNote_Quarter_Flipped, }; // Unused -const struct SpriteTemplate gUnknown_08592AC4 = +static const struct SpriteTemplate sCirclingMusicNoteSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_08592A9C, + .anims = sAnims_CirclingMusicNote, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100E1C, + .callback = AnimCirclingMusicNote, }; const struct SpriteTemplate gProtectSpriteTemplate = @@ -1414,7 +1419,7 @@ const struct SpriteTemplate gSparklingStarsSpriteTemplate = .callback = AnimSparkingStars, }; -const union AnimCmd gUnknown_08592BAC[] = +static const union AnimCmd sAnim_BubbleBurst[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(4, 10), @@ -1427,7 +1432,7 @@ const union AnimCmd gUnknown_08592BAC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592BD0[] = +static const union AnimCmd sAnim_BubbleBurst_Flipped[] = { ANIMCMD_FRAME(0, 10, .hFlip = TRUE), ANIMCMD_FRAME(4, 10, .hFlip = TRUE), @@ -1440,22 +1445,22 @@ const union AnimCmd gUnknown_08592BD0[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592BF4[] = +static const union AnimCmd *const sAnims_BubbleBurst[] = { - gUnknown_08592BAC, - gUnknown_08592BD0, + sAnim_BubbleBurst, + sAnim_BubbleBurst_Flipped, }; // Unused -const struct SpriteTemplate gUnknown_08592BFC = +static const struct SpriteTemplate sBubbleBurstSpriteTemplate = { .tileTag = ANIM_TAG_BUBBLE_BURST, .paletteTag = ANIM_TAG_BUBBLE_BURST, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_08592BF4, + .anims = sAnims_BubbleBurst, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101440, + .callback = AnimBubbleBurst, }; const union AnimCmd gSleepLetterZAnimCmds[] = @@ -1556,7 +1561,8 @@ const struct SpriteTemplate gBowMonSpriteTemplate = }; // Unused -const struct SpriteTemplate gUnknown_08592CF0 = +// Same as BowMon above but without backing up +static const struct SpriteTemplate sTipMonSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -1564,7 +1570,7 @@ const struct SpriteTemplate gUnknown_08592CF0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101B90, + .callback = AnimTipMon, }; const union AnimCmd gSlashSliceAnimCmds1[] = @@ -2193,8 +2199,8 @@ const struct SpriteTemplate gTauntFingerSpriteTemplate = // arg 5: wave speed static void AnimMovePowderParticle(struct Sprite* sprite) { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x += gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; @@ -2216,9 +2222,9 @@ static void AnimMovePowderParticle_Step(struct Sprite* sprite) if (sprite->data[0] > 0) { sprite->data[0]--; - sprite->pos2.y = sprite->data[2] >> 8; + sprite->y2 = sprite->data[2] >> 8; sprite->data[2] += sprite->data[1]; - sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]); + sprite->x2 = Sin(sprite->data[5], sprite->data[3]); sprite->data[5] = (sprite->data[5] + sprite->data[4]) & 0xFF; } else @@ -2267,9 +2273,9 @@ static void AnimSolarbeamSmallOrb(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; @@ -2290,8 +2296,8 @@ static void AnimSolarbeamSmallOrb_Step(struct Sprite* sprite) else sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 6; - sprite->pos2.x += Sin(sprite->data[5], 5); - sprite->pos2.y += Cos(sprite->data[5], 14); + sprite->x2 += Sin(sprite->data[5], 5); + sprite->y2 += Cos(sprite->data[5], 14); sprite->data[5] = (sprite->data[5] + 15) & 0xFF; } } @@ -2346,18 +2352,18 @@ static void AnimHyperBeamOrb(struct Sprite* sprite) u16 animNum = Random2(); StartSpriteAnim(sprite, animNum % 8); - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) - sprite->pos1.x -= 20; + sprite->x -= 20; else - sprite->pos1.x += 20; + sprite->x += 20; speed = Random2(); sprite->data[0] = (speed & 31) + 64; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); InitAnimFastLinearTranslationWithSpeed(sprite); sprite->data[5] = Random2() & 0xFF; @@ -2374,7 +2380,7 @@ static void AnimHyperBeamOrb_Step(struct Sprite* sprite) } else { - sprite->pos2.y += Cos(sprite->data[5], 12); + sprite->y2 += Cos(sprite->data[5], 12); if (sprite->data[5] < 0x7F) sprite->subpriority = sprite->data[6]; else @@ -2450,8 +2456,8 @@ static void AnimSporeParticle(struct Sprite* sprite) static void AnimSporeParticle_Step(struct Sprite* sprite) { - sprite->pos2.x = Sin(sprite->data[1], 32); - sprite->pos2.y = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8); + sprite->x2 = Sin(sprite->data[1], 32); + sprite->y2 = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8); if ((u16)(sprite->data[1] - 0x40) < 0x80) { sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); @@ -2501,9 +2507,9 @@ static void AnimPetalDanceBigFlower(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = sprite->pos1.x; - sprite->data[3] = sprite->pos1.y; + sprite->data[1] = sprite->x; + sprite->data[2] = sprite->x; + sprite->data[3] = sprite->y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; @@ -2515,8 +2521,8 @@ static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite) { if (!AnimTranslateLinear(sprite)) { - sprite->pos2.x += Sin(sprite->data[5], 32); - sprite->pos2.y += Cos(sprite->data[5], -5); + sprite->x2 += Sin(sprite->data[5], 32); + sprite->y2 += Cos(sprite->data[5], -5); if ((u16)(sprite->data[5] - 0x40) < 0x80) sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; else @@ -2539,9 +2545,9 @@ static void AnimPetalDanceSmallFlower(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = sprite->pos1.x; - sprite->data[3] = sprite->pos1.y; + sprite->data[1] = sprite->x; + sprite->data[2] = sprite->x; + sprite->data[3] = sprite->y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; @@ -2553,7 +2559,7 @@ static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite) { if (!AnimTranslateLinear(sprite)) { - sprite->pos2.x += Sin(sprite->data[5], 8); + sprite->x2 += Sin(sprite->data[5], 8); if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5) sprite->oam.matrixNum ^= ST_OAM_HFLIP; @@ -2572,8 +2578,8 @@ static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite) // arg 2: upward duration static void AnimRazorLeafParticle(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; @@ -2601,23 +2607,23 @@ static void AnimRazorLeafParticle_Step1(struct Sprite* sprite) else { sprite->data[2]--; - sprite->pos1.x += sprite->data[0]; - sprite->pos1.y += sprite->data[1]; + sprite->x += sprite->data[0]; + sprite->y += sprite->data[1]; } } static void AnimRazorLeafParticle_Step2(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker)) - sprite->pos2.x = -Sin(sprite->data[0], 25); + sprite->x2 = -Sin(sprite->data[0], 25); else - sprite->pos2.x = Sin(sprite->data[0], 25); + sprite->x2 = Sin(sprite->data[0], 25); sprite->data[0] += 2; sprite->data[0] &= 0xFF; sprite->data[1]++; if (!(sprite->data[1] & 1)) - sprite->pos2.y++; + sprite->y2++; if (sprite->data[1] > 80) DestroyAnimSprite(sprite); @@ -2684,10 +2690,10 @@ static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite) destroy = TRUE; } - if (sprite->pos1.x + sprite->pos2.x > 256 - || sprite->pos1.x + sprite->pos2.x < -16 - || sprite->pos1.y + sprite->pos2.y > 160 - || sprite->pos1.y + sprite->pos2.y < -16) + if (sprite->x + sprite->x2 > DISPLAY_WIDTH + 16 + || sprite->x + sprite->x2 < -16 + || sprite->y + sprite->y2 > DISPLAY_HEIGHT + || sprite->y + sprite->y2 < -16) destroy = TRUE; if (destroy) @@ -2703,9 +2709,9 @@ static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite) void AnimMoveTwisterParticle(struct Sprite* sprite) { if (IsDoubleBattle() == TRUE) - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->x, &sprite->y); - sprite->pos1.y += 32; + sprite->y += 32; sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; @@ -2718,11 +2724,11 @@ static void AnimMoveTwisterParticle_Step(struct Sprite* sprite) { if (sprite->data[1] == 0xFF) { - sprite->pos1.y -= 2; + sprite->y -= 2; } else if (sprite->data[1] > 0) { - sprite->pos1.y -= 2; + sprite->y -= 2; sprite->data[1] -= 2; } @@ -2731,8 +2737,8 @@ static void AnimMoveTwisterParticle_Step(struct Sprite* sprite) sprite->data[5] += sprite->data[2]; sprite->data[5] &= 0xFF; - sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]); - sprite->pos2.y = Sin(sprite->data[5], 5); + sprite->x2 = Cos(sprite->data[5], sprite->data[3]); + sprite->y2 = Sin(sprite->data[5], 5); if (sprite->data[5] < 0x80) sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) - 1; else @@ -2819,9 +2825,9 @@ static void AnimTask_DuplicateAndShrinkToPos_Step1(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[10] += gTasks[taskId].data[0]; - gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8; + gSprites[spriteId].x2 = gTasks[taskId].data[10] >> 8; if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) - gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x; + gSprites[spriteId].x2 = -gSprites[spriteId].x2; gTasks[taskId].data[11] += 16; SetSpriteRotScale(spriteId, gTasks[taskId].data[11], gTasks[taskId].data[11], 0); @@ -2841,8 +2847,8 @@ static void AnimTask_DuplicateAndShrinkToPos_Step2(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); ResetSpriteRotScale(spriteId); - gSprites[spriteId].pos2.x = 0; - gSprites[spriteId].pos2.y = 0; + gSprites[spriteId].x2 = 0; + gSprites[spriteId].y2 = 0; gSprites[spriteId].oam.priority = gTasks[taskId].data[14]; spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); gSprites[spriteId].oam.priority = gTasks[taskId].data[15]; @@ -2872,8 +2878,8 @@ static void AnimMimicOrb(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gBattleAnimArgs[0] *= -1; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1]; sprite->invisible = TRUE; sprite->data[0]++; break; @@ -2902,16 +2908,16 @@ static void AnimIngrainRoot(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); - sprite->pos2.x = gBattleAnimArgs[0]; - sprite->pos2.y = gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y); + sprite->x2 = gBattleAnimArgs[0]; + sprite->y2 = gBattleAnimArgs[1]; sprite->subpriority = gBattleAnimArgs[2] + 30; StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[2] = gBattleAnimArgs[4]; sprite->data[0]++; - if (sprite->pos1.y + sprite->pos2.y > 120) - sprite->pos1.y += sprite->pos2.y + sprite->pos1.y - 120; + if (sprite->y + sprite->y2 > 120) + sprite->y += sprite->y2 + sprite->y - 120; } sprite->callback = AnimRootFlickerOut; } @@ -2932,18 +2938,18 @@ static void AnimFrenzyPlantRoot(struct Sprite *sprite) targetX -= attackerX; targetY -= attackerY; - sprite->pos1.x = attackerX + targetX * gBattleAnimArgs[0] / 100; - sprite->pos1.y = attackerY + targetY * gBattleAnimArgs[0] / 100; - sprite->pos2.x = gBattleAnimArgs[1]; - sprite->pos2.y = gBattleAnimArgs[2]; + sprite->x = attackerX + targetX * gBattleAnimArgs[0] / 100; + sprite->y = attackerY + targetY * gBattleAnimArgs[0] / 100; + sprite->x2 = gBattleAnimArgs[1]; + sprite->y2 = gBattleAnimArgs[2]; sprite->subpriority = gBattleAnimArgs[3] + 30; StartSpriteAnim(sprite, gBattleAnimArgs[4]); sprite->data[2] = gBattleAnimArgs[5]; sprite->callback = AnimRootFlickerOut; - gUnknown_0203A0F8[0] = sprite->pos1.x; - gUnknown_0203A0F8[1] = sprite->pos1.y; - gUnknown_0203A0F8[2] = targetX; - gUnknown_0203A0F8[3] = targetY; + sFrenzyPlantRootData.startX = sprite->x; + sFrenzyPlantRootData.startY = sprite->y; + sFrenzyPlantRootData.targetX = targetX; + sFrenzyPlantRootData.targetY = targetY; } static void AnimRootFlickerOut(struct Sprite* sprite) @@ -2965,23 +2971,23 @@ static void AnimIngrainOrb(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; sprite->data[3] = gBattleAnimArgs[4]; } sprite->data[0]++; - sprite->pos2.x = sprite->data[1] * sprite->data[0]; - sprite->pos2.y = Sin((sprite->data[0] * 20) & 0xFF, sprite->data[2]); + sprite->x2 = sprite->data[1] * sprite->data[0]; + sprite->y2 = Sin((sprite->data[0] * 20) & 0xFF, sprite->data[2]); if (sprite->data[0] > sprite->data[3]) DestroyAnimSprite(sprite); } -static void sub_80FF9B8(struct Sprite* sprite, s16 c) +static void InitItemBagData(struct Sprite* sprite, s16 c) { - int a = (sprite->pos1.x << 8) | sprite->pos1.y; + int a = (sprite->x << 8) | sprite->y; int b = (sprite->data[6] << 8) | sprite->data[7]; c <<= 8; sprite->data[5] = a; @@ -3005,14 +3011,14 @@ bool8 moveAlongLinearPath(struct Sprite* sprite) if (xEndPos == 0) xEndPos = -32; else if (xEndPos == 255) - xEndPos = 272; + xEndPos = DISPLAY_WIDTH + 32; yEndPos_2 = yEndPos - yStartPos; r0 = xEndPos - xStartPos; var1 = r0 * currentTime / totalTime; vaxEndPos = yEndPos_2 * currentTime / totalTime; - sprite->pos1.x = var1 + xStartPos; - sprite->pos1.y = vaxEndPos + yStartPos; + sprite->x = var1 + xStartPos; + sprite->y = vaxEndPos + yStartPos; if (++currentTime == totalTime) return TRUE; @@ -3039,10 +3045,10 @@ static void AnimItemSteal_Step1(struct Sprite* sprite) sprite->data[0] = 0; } - sprite->pos2.y = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8); + sprite->y2 = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8); if (moveAlongLinearPath(sprite)) { - sprite->pos2.y = 0; + sprite->y2 = 0; sprite->data[0] = 0; sprite->callback = AnimItemSteal_Step2; } @@ -3059,14 +3065,14 @@ static void AnimPresent(struct Sprite* sprite) { sprite->data[6] = targetX; sprite->data[7] = targetY + 10; - sub_80FF9B8(sprite, 60); + InitItemBagData(sprite, 60); sprite->data[3] = 1; } else { sprite->data[6] = targetX; sprite->data[7] = targetY + 10; - sub_80FF9B8(sprite, 60); + InitItemBagData(sprite, 60); sprite->data[3] = 3; } @@ -3085,10 +3091,10 @@ static void AnimKnockOffOpponentsItem(struct Sprite* sprite) sprite->data[0] = zero; } - sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); + sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); if (moveAlongLinearPath(sprite)) { - sprite->pos2.y = zero; + sprite->y2 = zero; sprite->data[0] = zero; DestroyAnimSprite(sprite); } @@ -3101,7 +3107,7 @@ static void AnimKnockOffItem(struct Sprite* sprite) { sprite->data[6] = 0; sprite->data[7] = targetY + 10; - sub_80FF9B8(sprite, 40); + InitItemBagData(sprite, 40); sprite->data[3] = 3; sprite->data[4] = 60; sprite->callback = AnimItemSteal_Step1; @@ -3113,7 +3119,7 @@ static void AnimKnockOffItem(struct Sprite* sprite) if (IsContest()) sprite->data[6] = 0; - sub_80FF9B8(sprite, 40); + InitItemBagData(sprite, 40); sprite->data[3] = 3; sprite->data[4] = 60; sprite->callback = AnimKnockOffOpponentsItem; @@ -3134,7 +3140,7 @@ static void AnimPresentHealParticle(struct Sprite* sprite) } sprite->data[0]++; - sprite->pos2.y = sprite->data[1] * sprite->data[0]; + sprite->y2 = sprite->data[1] * sprite->data[0]; if (sprite->animEnded) DestroyAnimSprite(sprite); } @@ -3150,14 +3156,14 @@ static void AnimItemSteal(struct Sprite* sprite) { sprite->data[6] = attackerX; sprite->data[7] = attackerY + 10; - sub_80FF9B8(sprite, 60); + InitItemBagData(sprite, 60); sprite->data[3] = 1; } else { sprite->data[6] = attackerX; sprite->data[7] = attackerY + 10; - sub_80FF9B8(sprite, 60); + InitItemBagData(sprite, 60); sprite->data[3] = 3; } @@ -3176,13 +3182,13 @@ static void AnimItemSteal_Step3(struct Sprite* sprite) sprite->data[0] = zero; } - sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); - if (sprite->pos2.y == 0) + sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); + if (sprite->y2 == 0) PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(63)); if (moveAlongLinearPath(sprite)) { - sprite->pos2.y = 0; + sprite->y2 = 0; sprite->data[0] = 0; sprite->callback = AnimItemSteal_Step2; PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(-64)); @@ -3202,7 +3208,7 @@ static void AnimTrickBag(struct Sprite* sprite) if (!IsContest()) { sprite->data[1] = gBattleAnimArgs[1]; - sprite->pos1.x = 120; + sprite->x = 120; } else { @@ -3213,14 +3219,14 @@ static void AnimTrickBag(struct Sprite* sprite) b = a; sprite->data[1] = a - ((b >> 8) << 8); - sprite->pos1.x = 70; + sprite->x = 70; } - sprite->pos1.y = gBattleAnimArgs[0]; + sprite->y = gBattleAnimArgs[0]; sprite->data[2] = gBattleAnimArgs[0]; sprite->data[4] = 20; - sprite->pos2.x = Cos(sprite->data[1], 60); - sprite->pos2.y = Sin(sprite->data[1], 20); + sprite->x2 = Cos(sprite->data[1], 60); + sprite->y2 = Sin(sprite->data[1], 20); sprite->callback = AnimTrickBag_Step1; if (sprite->data[1] > 0 && sprite->data[1] < 192) sprite->subpriority = 31; @@ -3244,7 +3250,7 @@ static void AnimTrickBag_Step1(struct Sprite* sprite) { sprite->data[2] += sprite->data[4] / 10; sprite->data[4] += 3; - sprite->pos1.y = sprite->data[2]; + sprite->y = sprite->data[2]; break; } break; @@ -3284,8 +3290,8 @@ static void AnimTrickBag_Step2(struct Sprite* sprite) sprite->subpriority = 29; } - sprite->pos2.x = Cos(sprite->data[1], 60); - sprite->pos2.y = Sin(sprite->data[1], 20); + sprite->x2 = Cos(sprite->data[1], 60); + sprite->y2 = Sin(sprite->data[1], 20); } } @@ -3356,14 +3362,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) } break; case 1: - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[6]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[7]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; @@ -3382,14 +3388,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) } break; case 3: - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[7] - ((task->data[11] / 2) + 10) * task->data[5]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 2; @@ -3399,14 +3405,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) task->data[0]++; break; case 5: - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[6] + ((task->data[10] / 2) + 10) * task->data[5]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; @@ -3425,14 +3431,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) } break; case 7: - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[6]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[7]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; @@ -3443,14 +3449,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) task->data[0]++; break; case 9: - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 5; @@ -3469,14 +3475,14 @@ static void AnimTask_LeafBlade_Step(u8 taskId) break; case 11: { - 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; sprite->data[0] = 10; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = task->data[8]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = task->data[9]; sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; @@ -3512,7 +3518,7 @@ static void AnimTask_LeafBlade_Step(u8 taskId) static s16 LeafBladeGetPosFactor(struct Sprite* sprite) { s16 var = 8; - if (sprite->data[4] < sprite->pos1.y) + if (sprite->data[4] < sprite->y) var = -var; return var; @@ -3527,8 +3533,8 @@ static void AnimTask_LeafBlade_Step2(struct Task* task, u8 taskId) s16 spriteX; s16 spriteY; task->data[14] = 0; - spriteX = gSprites[task->data[2]].pos1.x + gSprites[task->data[2]].pos2.x; - spriteY = gSprites[task->data[2]].pos1.y + gSprites[task->data[2]].pos2.y; + spriteX = gSprites[task->data[2]].x + gSprites[task->data[2]].x2; + spriteY = gSprites[task->data[2]].y + gSprites[task->data[2]].y2; spriteId = CreateSprite(&gLeafBladeSpriteTemplate, spriteX, spriteY, task->data[4]); if (spriteId != MAX_SPRITES) { @@ -3572,13 +3578,13 @@ static void AnimFlyingParticle(struct Sprite* sprite) { sprite->data[4] = 0; sprite->data[2] = gBattleAnimArgs[3]; - sprite->pos1.x = 0xFFF0; + sprite->x = 0xFFF0; } else { sprite->data[4] = 1; sprite->data[2] = -gBattleAnimArgs[3]; - sprite->pos1.x = 0x100; + sprite->x = 0x100; } sprite->data[1] = gBattleAnimArgs[1]; @@ -3587,19 +3593,19 @@ static void AnimFlyingParticle(struct Sprite* sprite) switch (gBattleAnimArgs[5]) { case 0: - sprite->pos1.y = gBattleAnimArgs[0]; + sprite->y = gBattleAnimArgs[0]; sprite->oam.priority = GetBattlerSpriteBGPriority(battler); break; case 1: - sprite->pos1.y = gBattleAnimArgs[0]; + sprite->y = gBattleAnimArgs[0]; sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1; break; case 2: - sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0]; sprite->oam.priority = GetBattlerSpriteBGPriority(battler); break; case 3: - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0]; GetAnimBattlerSpriteId(ANIM_TARGET); sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1; break; @@ -3612,17 +3618,17 @@ static void AnimFlyingParticle_Step(struct Sprite* sprite) { int a = sprite->data[7]; sprite->data[7]++; - sprite->pos2.y = (sprite->data[1] * gSineTable[sprite->data[0]]) >> 8; - sprite->pos2.x = sprite->data[2] * a; + sprite->y2 = (sprite->data[1] * gSineTable[sprite->data[0]]) >> 8; + sprite->x2 = sprite->data[2] * a; sprite->data[0] = (sprite->data[3] * a) & 0xFF; if (!sprite->data[4]) { - if (sprite->pos2.x + sprite->pos1.x <= 0xF7) + if (sprite->x2 + sprite->x <= 0xF7) return; } else { - if (sprite->pos2.x + sprite->pos1.x > -16) + if (sprite->x2 + sprite->x > -16) return; } @@ -3687,25 +3693,25 @@ static void AnimNeedleArmSpike(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[4]; if (gBattleAnimArgs[1] == 0) { - sprite->pos1.x = gBattleAnimArgs[2] + a; - sprite->pos1.y = gBattleAnimArgs[3] + b; + sprite->x = gBattleAnimArgs[2] + a; + sprite->y = gBattleAnimArgs[3] + b; sprite->data[5] = a; sprite->data[6] = b; } else { - sprite->pos1.x = a; - sprite->pos1.y = b; + sprite->x = a; + sprite->y = b; sprite->data[5] = gBattleAnimArgs[2] + a; sprite->data[6] = gBattleAnimArgs[3] + b; } - x = sprite->pos1.x; + x = sprite->x; sprite->data[1] = x * 16; - y = sprite->pos1.y; + y = sprite->y; sprite->data[2] = y * 16; - sprite->data[3] = (sprite->data[5] - sprite->pos1.x) * 16 / gBattleAnimArgs[4]; - sprite->data[4] = (sprite->data[6] - sprite->pos1.y) * 16 / gBattleAnimArgs[4]; + sprite->data[3] = (sprite->data[5] - sprite->x) * 16 / gBattleAnimArgs[4]; + sprite->data[4] = (sprite->data[6] - sprite->y) * 16 / gBattleAnimArgs[4]; c = ArcTan2Neg(sprite->data[5] - x, sprite->data[6] - y); if (IsContest()) c -= 0x8000; @@ -3721,8 +3727,8 @@ static void AnimNeedleArmSpike_Step(struct Sprite* sprite) { sprite->data[1] += sprite->data[3]; sprite->data[2] += sprite->data[4]; - sprite->pos1.x = sprite->data[1] >> 4 ; - sprite->pos1.y = sprite->data[2] >> 4 ; + sprite->x = sprite->data[1] >> 4 ; + sprite->y = sprite->data[2] >> 4 ; sprite->data[0]--; } else @@ -3737,17 +3743,17 @@ static void AnimWhipHit_WaitEnd(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void sub_81009F8(struct Sprite* sprite) +static void AnimSlidingHit(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { - sprite->pos1.x -= gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x -= gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; } else { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x += gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; } sprite->callback = RunStoredCallbackWhenAnimEnds; @@ -3761,13 +3767,13 @@ static void AnimWhipHit(struct Sprite* sprite) sprite->callback = AnimWhipHit_WaitEnd; SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; } -static void sub_8100A94(struct Sprite* sprite) +static void AnimFlickeringPunch(struct Sprite* sprite) { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x += gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[3] = gBattleAnimArgs[4]; @@ -3784,23 +3790,23 @@ static void sub_8100A94(struct Sprite* sprite) // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right static void AnimCuttingSlice(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) - sprite->pos1.y += 8; + sprite->y += 8; sprite->callback = AnimSlice_Step; if (gBattleAnimArgs[2] == 0) { - sprite->pos1.x += gBattleAnimArgs[0]; + sprite->x += gBattleAnimArgs[0]; } else { - sprite->pos1.x -= gBattleAnimArgs[0]; + sprite->x -= gBattleAnimArgs[0]; sprite->hFlip = 1; } - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; sprite->data[1] -= 0x400; sprite->data[2] += 0x400; sprite->data[5] = gBattleAnimArgs[2]; @@ -3834,23 +3840,23 @@ static void AnimAirCutterSlice(struct Sprite* sprite) break; } - sprite->pos1.x = a; - sprite->pos1.y = b; + sprite->x = a; + sprite->y = b; if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) - sprite->pos1.y += 8; + sprite->y += 8; sprite->callback = AnimSlice_Step; if (gBattleAnimArgs[2] == 0) { - sprite->pos1.x += gBattleAnimArgs[0]; + sprite->x += gBattleAnimArgs[0]; } else { - sprite->pos1.x -= gBattleAnimArgs[0]; + sprite->x -= gBattleAnimArgs[0]; sprite->hFlip = 1; } - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; sprite->data[1] -= 0x400; sprite->data[2] += 0x400; sprite->data[5] = gBattleAnimArgs[2]; @@ -3868,8 +3874,8 @@ static void AnimSlice_Step(struct Sprite* sprite) sprite->data[1] -= 0x18; sprite->data[2] -= 0x18; - sprite->pos2.x = sprite->data[3] >> 8; - sprite->pos2.y = sprite->data[4] >> 8; + sprite->x2 = sprite->data[3] >> 8; + sprite->y2 = sprite->data[4] >> 8; sprite->data[0]++; if (sprite->data[0] == 20) { @@ -3879,7 +3885,7 @@ static void AnimSlice_Step(struct Sprite* sprite) } } -void unref_sub_8100D38(struct Sprite* sprite) +static void UnusedFlickerAnim(struct Sprite* sprite) { if (sprite->data[2] > 1) { @@ -3912,34 +3918,34 @@ void unref_sub_8100D38(struct Sprite* sprite) } } -static void sub_8100E1C(struct Sprite* sprite) +static void AnimCirclingMusicNote(struct Sprite* sprite) { sprite->data[0] = gBattleAnimArgs[2]; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) - sprite->pos1.x -= gBattleAnimArgs[0]; + sprite->x -= gBattleAnimArgs[0]; else - sprite->pos1.x += gBattleAnimArgs[0]; + sprite->x += gBattleAnimArgs[0]; StartSpriteAnim(sprite, gBattleAnimArgs[5]); sprite->data[1] = -gBattleAnimArgs[3]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; sprite->data[3] = gBattleAnimArgs[4]; - sprite->callback = sub_8100E80; + sprite->callback = AnimCirclingMusicNote_Step; sprite->callback(sprite); } -static void sub_8100E80(struct Sprite* sprite) +static void AnimCirclingMusicNote_Step(struct Sprite* sprite) { - sprite->pos2.x = Cos(sprite->data[0], 100); - sprite->pos2.y = Sin(sprite->data[0], 20); + sprite->x2 = Cos(sprite->data[0], 100); + sprite->y2 = Sin(sprite->data[0], 20); if (sprite->data[0] < 128) sprite->subpriority = 0; else sprite->subpriority = 14; sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF; - sprite->data[5] += 0x82; - sprite->pos2.y += sprite->data[5] >> 8; + sprite->data[5] += 130; + sprite->y2 += sprite->data[5] >> 8; sprite->data[2]++; if (sprite->data[2] == sprite->data[3]) DestroyAnimSprite(sprite); @@ -3950,8 +3956,8 @@ static void AnimProtect(struct Sprite* sprite) if (IsContest()) gBattleAnimArgs[1] += 8; - sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest()) sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker) + 1; else @@ -3969,7 +3975,7 @@ static void AnimProtect_Step(struct Sprite *sprite) { int i, id, savedPal; sprite->data[5] += 96; - sprite->pos2.x = -(sprite->data[5] >> 8); + sprite->x2 = -(sprite->data[5] >> 8); if (++sprite->data[1] > 1) { sprite->data[1] = 0; @@ -4010,8 +4016,8 @@ static void AnimProtect_Step(struct Sprite *sprite) static void AnimMilkBottle(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8; + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8; sprite->data[0] = 0; sprite->data[1] = 0; sprite->data[2] = 0; @@ -4061,7 +4067,7 @@ static void AnimMilkBottle_Step1(struct Sprite* sprite) if (++sprite->data[1] > 2) { sprite->data[1] = 0; - sprite->pos1.y++; + sprite->y++; } if (++sprite->data[2] <= 29) @@ -4108,10 +4114,10 @@ static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2) if ((sprite->data[3]) > 0x2F) sprite->data[4] += 2; - sprite->pos2.x = sprite->data[4] / 9; - sprite->pos2.y = sprite->data[4] / 14; - if (sprite->pos2.y < 0) - sprite->pos2.y *= -1; + sprite->x2 = sprite->data[4] / 9; + sprite->y2 = sprite->data[4] / 14; + if (sprite->y2 < 0) + sprite->y2 *= -1; sprite->data[3]++; if (sprite->data[3] > 0x3B) @@ -4124,7 +4130,7 @@ static void AnimGrantingStars(struct Sprite* sprite) SetSpriteCoordsToAnimAttackerCoords(sprite); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[5]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[4]; @@ -4142,21 +4148,21 @@ static void AnimSparkingStars(struct Sprite* sprite) if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) { - SetAverageBattlerPositions(battler, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(battler, gBattleAnimArgs[6], &sprite->x, &sprite->y); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->y += gBattleAnimArgs[1]; } else { if (!gBattleAnimArgs[6]) { - sprite->pos1.x = GetBattlerSpriteCoord(battler, 0); - sprite->pos1.y = GetBattlerSpriteCoord(battler, 1) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(battler, 0); + sprite->y = GetBattlerSpriteCoord(battler, 1) + gBattleAnimArgs[1]; } else { - sprite->pos1.x = GetBattlerSpriteCoord(battler, 2); - sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(battler, 2); + sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1]; } SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); @@ -4169,30 +4175,30 @@ static void AnimSparkingStars(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -static void sub_8101440(struct Sprite* sprite) +static void AnimBubbleBurst(struct Sprite* sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x += gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; } else { - sprite->pos1.x -= gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x -= gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; StartSpriteAnim(sprite, 1); } - sprite->callback = sub_81014A0; + sprite->callback = AnimBubbleBurst_Step; } -static void sub_81014A0(struct Sprite* sprite) +static void AnimBubbleBurst_Step(struct Sprite* sprite) { if (++sprite->data[0] > 30) { - sprite->pos2.y = (30 - sprite->data[0]) / 3; - sprite->pos2.x = Sin(sprite->data[1] * 4, 3); + sprite->y2 = (30 - sprite->data[0]) / 3; + sprite->x2 = Sin(sprite->data[1] * 4, 3); sprite->data[1]++; } @@ -4205,14 +4211,14 @@ static void AnimSleepLetterZ(struct Sprite* sprite) SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x += gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; sprite->data[3] = 1; } else { - sprite->pos1.x -= gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; + sprite->x -= gBattleAnimArgs[0]; + sprite->y += gBattleAnimArgs[1]; sprite->data[3] = 0xFFFF; StartSpriteAffineAnim(sprite, 1); } @@ -4222,8 +4228,8 @@ static void AnimSleepLetterZ(struct Sprite* sprite) static void AnimSleepLetterZ_Step(struct Sprite* sprite) { - sprite->pos2.y = -(sprite->data[0] / 0x28); - sprite->pos2.x = sprite->data[4] / 10; + sprite->y2 = -(sprite->data[0] / 0x28); + sprite->x2 = sprite->data[4] / 10; sprite->data[4] += sprite->data[3] * 2; sprite->data[0] += sprite->data[1]; if (++sprite->data[1] > 60) @@ -4232,8 +4238,8 @@ static void AnimSleepLetterZ_Step(struct Sprite* sprite) static void AnimLockOnTarget(struct Sprite* sprite) { - sprite->pos1.x -= 32; - sprite->pos1.y -= 32; + sprite->x -= 32; + sprite->y -= 32; sprite->data[0] = 20; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step1); @@ -4249,13 +4255,13 @@ static void AnimLockOnTarget_Step1(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step1); break; case 1: - sprite->pos1.x += sprite->pos2.x; - sprite->pos1.y += sprite->pos2.y; - sprite->pos2.y = 0; - sprite->pos2.x = 0; + sprite->x += sprite->x2; + sprite->y += sprite->y2; + sprite->y2 = 0; + sprite->x2 = 0; sprite->data[0] = 8; - sprite->data[2] = sprite->pos1.x + gInclineMonCoordTable[sprite->data[5] >> 8][0]; - sprite->data[4] = sprite->pos1.y + gInclineMonCoordTable[sprite->data[5] >> 8][1]; + sprite->data[2] = sprite->x + gInclineMonCoordTable[sprite->data[5] >> 8][0]; + sprite->data[4] = sprite->y + gInclineMonCoordTable[sprite->data[5] >> 8][1]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step2); sprite->data[5] += 0x100; @@ -4314,10 +4320,10 @@ static void AnimLockOnTarget_Step3(struct Sprite* sprite) break; } - sprite->pos1.x += sprite->pos2.x; - sprite->pos1.y += sprite->pos2.y; - sprite->pos2.y = 0; - sprite->pos2.x = 0; + sprite->x += sprite->x2; + sprite->y += sprite->y2; + sprite->y2 = 0; + sprite->x2 = 0; sprite->data[0] = 6; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b; @@ -4381,25 +4387,25 @@ static void AnimLockOnMoveTarget(struct Sprite* sprite) sprite->oam.affineParam = gBattleAnimArgs[0]; if ((s16)sprite->oam.affineParam == 1) { - sprite->pos1.x -= 0x18; - sprite->pos1.y -= 0x18; + sprite->x -= 0x18; + sprite->y -= 0x18; } else if ((s16)sprite->oam.affineParam == 2) { - sprite->pos1.x -= 0x18; - sprite->pos1.y += 0x18; + sprite->x -= 0x18; + sprite->y += 0x18; sprite->oam.matrixNum = ST_OAM_VFLIP; } else if ((s16)sprite->oam.affineParam == 3) { - sprite->pos1.x += 0x18; - sprite->pos1.y -= 0x18; + sprite->x += 0x18; + sprite->y -= 0x18; sprite->oam.matrixNum = ST_OAM_HFLIP; } else { - sprite->pos1.x += 0x18; - sprite->pos1.y += 0x18; + sprite->x += 0x18; + sprite->y += 0x18; sprite->oam.matrixNum = ST_OAM_HFLIP | ST_OAM_VFLIP; } @@ -4511,13 +4517,13 @@ static void AnimBowMon_Step4(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void sub_8101B90(struct Sprite *sprite) +static void AnimTipMon(struct Sprite *sprite) { sprite->data[0] = 0; - sprite->callback = sub_8101BA0; + sprite->callback = AnimTipMon_Step; } -static void sub_8101BA0(struct Sprite *sprite) +static void AnimTipMon_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4601,7 +4607,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) if (task->data[3]) { task->data[4] += task->data[5]; - gSprites[task->data[0]].pos2.x = task->data[4]; + gSprites[task->data[0]].x2 = task->data[4]; task->data[3]--; } else @@ -4624,7 +4630,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) else { task->data[3] = 8; - task->data[4] = gSprites[task->data[0]].pos2.x; + task->data[4] = gSprites[task->data[0]].x2; task->data[5] = (task->data[1] == 0) ? 0x2 : -0x2; task->data[6] = 1; task->data[2]++; @@ -4640,9 +4646,9 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) else { if (task->data[3] & 1) - gSprites[task->data[0]].pos2.x = task->data[4] + task->data[5]; + gSprites[task->data[0]].x2 = task->data[4] + task->data[5]; else - gSprites[task->data[0]].pos2.x = task->data[4] - task->data[5]; + gSprites[task->data[0]].x2 = task->data[4] - task->data[5]; task->data[6] = 1; task->data[3]--; @@ -4650,7 +4656,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) } else { - gSprites[task->data[0]].pos2.x = task->data[4]; + gSprites[task->data[0]].x2 = task->data[4]; task->data[3] = 12; task->data[2]++; } @@ -4663,7 +4669,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) else { task->data[3] = 3; - task->data[4] = gSprites[task->data[0]].pos2.x; + task->data[4] = gSprites[task->data[0]].x2; task->data[5] = (task->data[1] == 0) ? 8 : -8; task->data[2]++; } @@ -4672,7 +4678,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) if (task->data[3]) { task->data[4] += task->data[5]; - gSprites[task->data[0]].pos2.x = task->data[4]; + gSprites[task->data[0]].x2 = task->data[4]; task->data[3]--; } else @@ -4704,13 +4710,13 @@ static void AnimSlashSlice(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2]; } sprite->data[0] = 0; @@ -4721,16 +4727,16 @@ static void AnimSlashSlice(struct Sprite* sprite) static void AnimFalseSwipeSlice(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step1); sprite->callback = RunStoredCallbackWhenAnimEnds; } static void AnimFalseSwipePositionedSlice(struct Sprite* sprite) { - sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->x = sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; @@ -4771,13 +4777,13 @@ static void AnimEndureEnergy(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2]; } sprite->data[0] = 0; @@ -4790,18 +4796,18 @@ static void AnimEndureEnergy_Step(struct Sprite* sprite) if (++sprite->data[0] > sprite->data[1]) { sprite->data[0] = 0; - sprite->pos1.y--; + sprite->y--; } - sprite->pos1.y -= sprite->data[0]; + sprite->y -= sprite->data[0]; if (sprite->animEnded) DestroyAnimSprite(sprite); } static void AnimSharpenSphere(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12; sprite->data[0] = 0; sprite->data[1] = 2; sprite->data[2] = 0; @@ -4839,10 +4845,10 @@ static void AnimConversion(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; if (IsContest()) - sprite->pos1.y += 10; + sprite->y += 10; sprite->data[0]++; } @@ -4912,22 +4918,24 @@ void AnimTask_Conversion2AlphaBlend(u8 taskId) } } -void unref_sub_8102434(u8 taskId) +// Unused +static void AnimTask_HideBattlersHealthbox(u8 taskId) { u8 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == B_SIDE_PLAYER) + if (gBattleAnimArgs[0] == TRUE && GetBattlerSide(i) == B_SIDE_PLAYER) SetHealthboxSpriteInvisible(gHealthboxSpriteIds[i]); - if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == B_SIDE_OPPONENT) + if (gBattleAnimArgs[1] == TRUE && GetBattlerSide(i) == B_SIDE_OPPONENT) SetHealthboxSpriteInvisible(gHealthboxSpriteIds[i]); } DestroyAnimVisualTask(taskId); } -void unref_sub_81024A8(u8 taskId) +// Unused +static void AnimTask_ShowBattlersHealthbox(u8 taskId) { u8 i; for (i = 0; i < gBattlersCount; i++) @@ -4940,13 +4948,13 @@ static void AnimMoon(struct Sprite* sprite) { if (IsContest()) { - sprite->pos1.x = 48; - sprite->pos1.y = 40; + sprite->x = 48; + sprite->y = 40; } else { - sprite->pos1.x = gBattleAnimArgs[0]; - sprite->pos1.y = gBattleAnimArgs[1]; + sprite->x = gBattleAnimArgs[0]; + sprite->y = gBattleAnimArgs[1]; } sprite->oam.shape = SPRITE_SHAPE(64x64); @@ -4963,8 +4971,8 @@ static void AnimMoon_Step(struct Sprite* sprite) static void AnimMoonlightSparkle(struct Sprite* sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = gBattleAnimArgs[1]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; + sprite->y = gBattleAnimArgs[1]; sprite->data[0] = 0; sprite->data[1] = 0; sprite->data[2] = 0; @@ -4980,7 +4988,7 @@ static void AnimMoonlightSparkle_Step(struct Sprite* sprite) sprite->data[1] = 0; if (sprite->data[2] < 120) { - sprite->pos1.y++; + sprite->y++; sprite->data[2]++; } } @@ -5104,36 +5112,36 @@ static void AnimHornHit(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[2]; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[1]; - sprite->data[6] = sprite->pos1.x; - sprite->data[7] = sprite->pos1.y; + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[1]; + sprite->data[6] = sprite->x; + sprite->data[7] = sprite->y; if (IsContest()) { sprite->oam.matrixNum = ST_OAM_HFLIP; - sprite->pos1.x += 40; - sprite->pos1.y += 20; - sprite->data[2] = sprite->pos1.x << 7; + sprite->x += 40; + sprite->y += 20; + sprite->data[2] = sprite->x << 7; sprite->data[3] = -0x1400 / sprite->data[1]; - sprite->data[4] = sprite->pos1.y << 7; + sprite->data[4] = sprite->y << 7; sprite->data[5] = -0xA00 / sprite->data[1]; } else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { - sprite->pos1.x -= 40; - sprite->pos1.y += 20; - sprite->data[2] = sprite->pos1.x << 7; + sprite->x -= 40; + sprite->y += 20; + sprite->data[2] = sprite->x << 7; sprite->data[3] = 0x1400 / sprite->data[1]; - sprite->data[4] = sprite->pos1.y << 7; + sprite->data[4] = sprite->y << 7; sprite->data[5] = -0xA00 / sprite->data[1]; } else { - sprite->pos1.x += 40; - sprite->pos1.y -= 20; - sprite->data[2] = sprite->pos1.x << 7; + sprite->x += 40; + sprite->y -= 20; + sprite->data[2] = sprite->x << 7; sprite->data[3] = -0x1400 / sprite->data[1]; - sprite->data[4] = sprite->pos1.y << 7; + sprite->data[4] = sprite->y << 7; sprite->data[5] = 0xA00 / sprite->data[1]; sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP); } @@ -5145,12 +5153,12 @@ static void AnimHornHit_Step(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; - sprite->pos1.x = sprite->data[2] >> 7; - sprite->pos1.y = sprite->data[4] >> 7; + sprite->x = sprite->data[2] >> 7; + sprite->y = sprite->data[4] >> 7; if (--sprite->data[1] == 1) { - sprite->pos1.x = sprite->data[6]; - sprite->pos1.y = sprite->data[7]; + sprite->x = sprite->data[6]; + sprite->y = sprite->data[7]; } if (sprite->data[1] == 0) @@ -5225,7 +5233,7 @@ static void AnimDoubleTeam(struct Sprite* sprite) sprite->data[4] = gSineTable[sprite->data[0]] / 6; sprite->data[5] = gSineTable[sprite->data[0]] / 13; sprite->data[1] = (sprite->data[1] + sprite->data[5]) & 0xFF; - sprite->pos2.x = Sin(sprite->data[1], sprite->data[4]); + sprite->x2 = Sin(sprite->data[1], sprite->data[4]); } } @@ -5296,9 +5304,9 @@ static void AnimWavyMusicNotes(struct Sprite* sprite) b = GetBattlerSpriteCoord(gBattleAnimTarget, 3); } - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; - AnimWavyMusicNotesGetNextPos(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); + sprite->data[4] = sprite->x << 4; + sprite->data[5] = sprite->y << 4; + AnimWavyMusicNotesGetNextPos(a - sprite->x, b - sprite->y, &sprite->data[6], &sprite->data[7], 40); sprite->callback = AnimWavyMusicNotes_Step; } @@ -5327,12 +5335,12 @@ static void AnimWavyMusicNotes_Step(struct Sprite* sprite) yDelta = sprite->data[0] * 5 - ((sprite->data[0] * 5 / 256) << 8); sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; - sprite->pos2.y = Sin(yDelta, 15); + sprite->x = sprite->data[4] >> 4; + sprite->y = sprite->data[5] >> 4; + sprite->y2 = Sin(yDelta, 15); - y = sprite->pos1.y; - if (sprite->pos1.x < -16 || sprite->pos1.x > 256 || y < -16 || y > 128) + y = sprite->y; + if (sprite->x < -16 || sprite->x > 256 || y < -16 || y > 128) { DestroySpriteAndMatrix(sprite); } @@ -5356,13 +5364,13 @@ static void AnimFlyingMusicNotes(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[1] *= -1; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[0]); sprite->data[2] = 0; sprite->data[3] = 0; - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; + sprite->data[4] = sprite->x << 4; + sprite->data[5] = sprite->y << 4; sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; sprite->callback = AnimFlyingMusicNotes_Step; @@ -5372,13 +5380,13 @@ static void AnimFlyingMusicNotes_Step(struct Sprite* sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; + sprite->x = sprite->data[4] >> 4; + sprite->y = sprite->data[5] >> 4; if (sprite->data[0] > 5 && sprite->data[3] == 0) { sprite->data[2] = (sprite->data[2] + 16) & 0xFF; - sprite->pos2.x = Cos(sprite->data[2], 18); - sprite->pos2.y = Sin(sprite->data[2], 18); + sprite->x2 = Cos(sprite->data[2], 18); + sprite->y2 = Sin(sprite->data[2], 18); if (sprite->data[2] == 0) sprite->data[3] = 1; } @@ -5400,8 +5408,8 @@ static void AnimBellyDrumHand(struct Sprite* sprite) a = -16; } - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + a; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 8; + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + a; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 8; sprite->data[0] = 8; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); @@ -5412,7 +5420,7 @@ void AnimSlowFlyingMusicNotes(struct Sprite* sprite) s16 xDiff; u8 index; SetSpriteCoordsToAnimAttackerCoords(sprite); - sprite->pos1.y += 8; + sprite->y += 8; StartSpriteAnim(sprite, gBattleAnimArgs[1]); index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[2]][0]); if (index != 0xFF) @@ -5420,9 +5428,9 @@ void AnimSlowFlyingMusicNotes(struct Sprite* sprite) xDiff = (gBattleAnimArgs[0] == 0) ? -32 : 32; sprite->data[0] = 40; - sprite->data[1] = sprite->pos1.x; + sprite->data[1] = sprite->x; sprite->data[2] = xDiff + sprite->data[1]; - sprite->data[3] = sprite->pos1.y; + sprite->data[3] = sprite->y; sprite->data[4] = sprite->data[3] - 40; InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; @@ -5435,11 +5443,11 @@ static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite) { s16 xDiff; xDiff = Sin(sprite->data[5], 8); - if (sprite->pos2.x < 0) + if (sprite->x2 < 0) xDiff = -xDiff; - sprite->pos2.x += xDiff; - sprite->pos2.y += Sin(sprite->data[5], 4); + sprite->x2 += xDiff; + sprite->y2 += Sin(sprite->data[5], 4); sprite->data[5] = (sprite->data[5] + 8) & 0xFF; } else @@ -5451,11 +5459,11 @@ static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite) void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) - sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; + sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; else - sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; + sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; - sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; + sprite->y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } static void AnimThoughtBubble(struct Sprite* sprite) @@ -5518,10 +5526,10 @@ static void AnimFollowMeFinger(struct Sprite* sprite) else battler = gBattleAnimTarget; - sprite->pos1.x = GetBattlerSpriteCoord(battler, 0); - sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP); - if (sprite->pos1.y <= 9) - sprite->pos1.y = 10; + sprite->x = GetBattlerSpriteCoord(battler, 0); + sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP); + if (sprite->y <= 9) + sprite->y = 10; sprite->data[0] = 1; sprite->data[1] = 0; @@ -5547,7 +5555,7 @@ static void AnimFollowMeFinger_Step2(struct Sprite* sprite) { if (--sprite->data[0] == 0) { - sprite->pos2.x = 0; + sprite->x2 = 0; sprite->callback = AnimMetronomeFinger_Step; return; } @@ -5565,7 +5573,7 @@ static void AnimFollowMeFinger_Step2(struct Sprite* sprite) x1 = gSineTable[sprite->data[1]]; x2 = x1 >> 3; - sprite->pos2.x = (x1 >> 3) + (x2 >> 1); + sprite->x2 = (x1 >> 3) + (x2 >> 1); } static void AnimTauntFinger(struct Sprite* sprite) |