summaryrefslogtreecommitdiff
path: root/src/battle_anim_flying.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_anim_flying.c')
-rw-r--r--src/battle_anim_flying.c56
1 files changed, 23 insertions, 33 deletions
diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c
index 3fc4f20f2..fe94dc9a2 100644
--- a/src/battle_anim_flying.c
+++ b/src/battle_anim_flying.c
@@ -563,14 +563,23 @@ struct FeatherDanceData
u16 unkE_1:15;
};
+#define ANIM_SWITCH(sprite) \
+ { \
+ (sprite)->hFlip ^= 1; \
+ (sprite)->animNum = (sprite)->hFlip; \
+ (sprite)->animBeginning = TRUE; \
+ (sprite)->animEnded = FALSE; \
+ }
+
static void AnimFallingFeather(struct Sprite *sprite)
{
- u8 battler, matrixNum, sinIndex;
+ u8 battler, sinIndex;
+ u32 matrixNum;
s16 sinVal;
struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data;
- battler = (gBattleAnimArgs[7] & 0x100) ? gBattleAnimAttacker : gBattleAnimTarget;
+ battler = (gBattleAnimArgs[7] & 0x100) ? gBattleAnimAttacker : gBattleAnimTarget;
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
@@ -583,12 +592,12 @@ static void AnimFallingFeather(struct Sprite *sprite)
data->unkE_1 = (u16)(sinVal + gBattleAnimArgs[6]);
data->unk0_0c = 1;
data->unk2 = (u16)(gBattleAnimArgs[2] & 0xFF);
- data->unkA = (u16)((gBattleAnimArgs[2] >> 8) & 0xFF) ;
+ data->unkA = (u16)gBattleAnimArgs[2] >> 8;
data->unk4 = gBattleAnimArgs[3];
data->unk6 = (u16)gBattleAnimArgs[4];
- *(u16*)(data->unkC) = (u16)gBattleAnimArgs[5];
+ *(u16 *)(data->unkC) = (u16)gBattleAnimArgs[5];
- if (data->unk2 >= 64 && data->unk2 <= 191)
+ if (data->unk2 >= 64 && data->unk2 < 192)
{
if (!IsContest())
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
@@ -599,11 +608,7 @@ static void AnimFallingFeather(struct Sprite *sprite)
if (!(data->unk4 & 0x8000))
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
-
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ ANIM_SWITCH(sprite);
}
}
else
@@ -613,15 +618,11 @@ static void AnimFallingFeather(struct Sprite *sprite)
if (data->unk4 & 0x8000)
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
-
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ ANIM_SWITCH(sprite);
}
}
- data->unk0_1 = data->unk2/64;
+ data->unk0_1 = data->unk2 / 64;
sprite->pos2.x = (gSineTable[data->unk2] * (s32)data->unkC[0]) >> 8;
matrixNum = sprite->oam.matrixNum;
@@ -637,7 +638,8 @@ static void AnimFallingFeather(struct Sprite *sprite)
static void sub_810E520(struct Sprite *sprite)
{
- u8 matrixNum, sinIndex;
+ u8 sinIndex;
+ u32 matrixNum;
s16 sinVal = 0;
struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data;
if (data->unk0_0a)
@@ -667,10 +669,7 @@ static void sub_810E520(struct Sprite *sprite)
}
else if (data->unk0_0d)
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
- sprite->animBeginning = TRUE;
- sprite->animEnded = FALSE;
+ ANIM_SWITCH(sprite);
if (data->unk0_0c)
{
if (!IsContest())
@@ -718,10 +717,7 @@ static void sub_810E520(struct Sprite *sprite)
}
else if (data->unk0_0d)
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
- sprite->animBeginning = TRUE;
- sprite->animEnded = FALSE;
+ ANIM_SWITCH(sprite);
if (data->unk0_0c)
{
if (!IsContest())
@@ -769,10 +765,7 @@ static void sub_810E520(struct Sprite *sprite)
}
else if (data->unk0_0d)
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
- sprite->animBeginning = TRUE;
- sprite->animEnded = FALSE;
+ ANIM_SWITCH(sprite);
if (data->unk0_0c)
{
if (!IsContest())
@@ -819,10 +812,7 @@ static void sub_810E520(struct Sprite *sprite)
}
else if (data->unk0_0d)
{
- sprite->hFlip ^= 1;
- sprite->animNum = sprite->hFlip;
- sprite->animBeginning = TRUE;
- sprite->animEnded = FALSE;
+ ANIM_SWITCH(sprite);
if (data->unk0_0c)
{
if (!IsContest())