summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-09-29 14:30:45 -0400
committergarak <garakmon@gmail.com>2018-09-29 14:30:45 -0400
commitca685eb9e661523c79467a72a077775738f8bd45 (patch)
tree4548a9981a38732085fe41b9b392f7fa79c38c0f /src
parent6876a50bc4ffb2a86658cc1a43f60df869ca3296 (diff)
parentda01d48fee341701cbec9b39bdc649c78162ed2d (diff)
Merge remote-tracking branch 'upstream/master' into battle-anim-labels
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/current.c2
-rw-r--r--src/battle/anim/fight.c14
-rw-r--r--src/battle/anim/flying.c4
-rw-r--r--src/battle/anim/ghost.c23
-rw-r--r--src/battle/anim/ground.c2
-rw-r--r--src/battle/anim/heal.c2
-rw-r--r--src/battle/anim/hop_2.c2
-rw-r--r--src/battle/anim/ice.c8
-rw-r--r--src/battle/anim/normal.c38
-rw-r--r--src/battle/anim/orbit.c2
-rw-r--r--src/battle/anim/orbs.c2
-rw-r--r--src/battle/anim/psychic.c4
-rw-r--r--src/battle/anim/rock.c30
-rw-r--r--src/battle/anim/splash.c11
-rw-r--r--src/battle/anim/tendrils.c2
-rw-r--r--src/battle/anim/tile.c2
-rw-r--r--src/battle/anim/water.c4
-rw-r--r--src/battle/anim/wisp_fire.c5
-rw-r--r--src/battle/battle_anim_812C144.c1169
-rwxr-xr-xsrc/battle/battle_anim_813F0F4.c285
-rw-r--r--src/rom_8077ABC.c7
21 files changed, 1488 insertions, 130 deletions
diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c
index fb7bc4e1c..ea73b0116 100644
--- a/src/battle/anim/current.c
+++ b/src/battle/anim/current.c
@@ -463,7 +463,7 @@ static void sub_80D672C(struct Sprite *sprite)
void sub_80D679C(struct Sprite *sprite)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->oam.tileNum += gBattleAnimArgs[3] * 4;
if (gBattleAnimArgs[3] == 1)
diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c
index 1a534aec7..505356a57 100644
--- a/src/battle/anim/fight.c
+++ b/src/battle/anim/fight.c
@@ -480,7 +480,7 @@ void AnimBasicFistOrFoot(struct Sprite *sprite)
if (gBattleAnimArgs[3] == 0)
InitAnimSpritePos(sprite, 1);
else
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = WaitAnimForDuration;
@@ -553,7 +553,7 @@ static void sub_80D927C(struct Sprite *sprite)
void sub_80D92D0(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = 30;
if (gBattleAnimArgs[2] == 0)
@@ -593,7 +593,7 @@ void sub_80D9378(struct Sprite *sprite)
if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBattlerPosition(gAnimBankTarget) < 2)
gBattleAnimArgs[0] *= -1;
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -634,7 +634,7 @@ static void sub_80D9404(struct Sprite *sprite)
// arg 3: spin duration
void AnimSpinningKickOrPunch(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
sprite->data[0] = gBattleAnimArgs[3];
@@ -658,7 +658,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
// arg 2: initial wait duration
void AnimStompFoot(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = AnimStompFootStep;
@@ -689,7 +689,7 @@ void sub_80D9540(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[0]++;
@@ -986,7 +986,7 @@ void sub_80D9BD4(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
InitAnimSpritePos(sprite, 0);
else
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
if (IsContest())
{
diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c
index 5c2f3a357..646c80c53 100644
--- a/src/battle/anim/flying.c
+++ b/src/battle/anim/flying.c
@@ -371,7 +371,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA65C =
void sub_80DA034(struct Sprite *sprite)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->pos1.y += 20;
sprite->data[1] = 0xBF;
sprite->callback = sub_80DA05C;
@@ -2178,7 +2178,7 @@ void sub_80DB000(struct Sprite *sprite)
}
else
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
}
if ((!gBattleAnimArgs[2] && !GetBattlerSide(gAnimBankAttacker))
diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c
index c11cea5a0..cba7b2b82 100644
--- a/src/battle/anim/ghost.c
+++ b/src/battle/anim/ghost.c
@@ -24,8 +24,8 @@ static void sub_80DDD58(struct Sprite *sprite);
static void sub_80DDD78(struct Sprite *);
static void sub_80DDE7C(u8 taskId);
static void sub_80DDED0(u8 taskId);
-static void sub_80DDF40(struct Sprite *sprite);
-static void sub_80DDFE8(struct Sprite *);
+static void InitAnimShadowBall(struct Sprite *sprite);
+static void AnimShadowBallStep(struct Sprite *);
static void sub_80DE0FC(struct Sprite *sprite);
static void sub_80DE114(struct Sprite *);
static void sub_80DE2DC(u8 taskId);
@@ -94,7 +94,7 @@ const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAEA4[] =
gSpriteAffineAnim_83DAE94,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEA8 =
+const struct SpriteTemplate gShadowBallSpriteTemplate =
{
.tileTag = 10176,
.paletteTag = 10176,
@@ -102,7 +102,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEA8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_83DAEA4,
- .callback = sub_80DDF40,
+ .callback = InitAnimShadowBall,
};
const union AnimCmd gSpriteAnim_83DAEC0[] =
@@ -320,7 +320,7 @@ static void sub_80DDCC8(struct Sprite *sprite)
static void sub_80DDD58(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->callback = sub_80DDD78;
sub_80DDD78(sprite);
}
@@ -399,7 +399,12 @@ static void sub_80DDED0(u8 taskId)
}
}
-static void sub_80DDF40(struct Sprite *sprite)
+// Spins a sprite towards the target, pausing in the middle.
+// Used in Shadow Ball.
+// arg 0: duration step 1 (attacker -> center)
+// arg 1: duration step 2 (spin center)
+// arg 2: duration step 3 (center -> target)
+static void InitAnimShadowBall(struct Sprite *sprite)
{
u16 r5, r6;
r5 = sprite->pos1.x;
@@ -414,10 +419,10 @@ static void sub_80DDF40(struct Sprite *sprite)
sprite->data[5] = sprite->pos1.y << 4;
sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
- sprite->callback = sub_80DDFE8;
+ sprite->callback = AnimShadowBallStep;
}
-static void sub_80DDFE8(struct Sprite *sprite)
+static void AnimShadowBallStep(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -463,7 +468,7 @@ static void sub_80DDFE8(struct Sprite *sprite)
static void sub_80DE0FC(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->callback = sub_80DE114;
}
diff --git a/src/battle/anim/ground.c b/src/battle/anim/ground.c
index cf73ead2f..407abeddc 100644
--- a/src/battle/anim/ground.c
+++ b/src/battle/anim/ground.c
@@ -196,7 +196,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite)
// arg 4: duration
static void AnimBoneHitProjectile(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
diff --git a/src/battle/anim/heal.c b/src/battle/anim/heal.c
index c2bce0e77..e0b8f9b9e 100644
--- a/src/battle/anim/heal.c
+++ b/src/battle/anim/heal.c
@@ -41,7 +41,7 @@ void sub_80CBAA4(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->data[1] = gBattleAnimArgs[2];
}
diff --git a/src/battle/anim/hop_2.c b/src/battle/anim/hop_2.c
index ab239f3c4..108b06c60 100644
--- a/src/battle/anim/hop_2.c
+++ b/src/battle/anim/hop_2.c
@@ -35,7 +35,7 @@ void sub_80CBAE8(struct Sprite* sprite)
{
s16 p1;
s16 p2;
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
p1 = GetBattlerSpriteCoord(gAnimBankAttacker, 0);
p2 = GetBattlerSpriteCoord(gAnimBankAttacker, 1);
if ((gAnimBankTarget ^ 2) == gAnimBankAttacker)
diff --git a/src/battle/anim/ice.c b/src/battle/anim/ice.c
index 0ff236523..e2288e704 100644
--- a/src/battle/anim/ice.c
+++ b/src/battle/anim/ice.c
@@ -851,7 +851,7 @@ static void AnimIceEffectParticle(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
}
else
{
@@ -1087,7 +1087,7 @@ static void AnimWaveFromCenterOfTarget(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
}
else
{
@@ -1144,7 +1144,7 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
{
if (gBattleAnimArgs[5] == 0)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
}
else
{
@@ -2282,7 +2282,7 @@ static void InitIceBallParticle(struct Sprite *sprite)
s16 randA, randB;
sprite->oam.tileNum += 8;
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
randA = (Random() & 0xFF) + 256;
randB = Random() & 0x1FF;
diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c
index 7564c529c..54524f2ef 100644
--- a/src/battle/anim/normal.c
+++ b/src/battle/anim/normal.c
@@ -69,8 +69,8 @@ static void sub_80E260C(void);
static void sub_80E255C(struct Sprite *sprite);
static void sub_80E2710(u8 taskId);
static void sub_80E29FC(struct Sprite *sprite);
-static void sub_80E2C8C(u8 taskId, u32 selectedPalettes);
-static void sub_80E2CD0(u8 taskId);
+static void AnimTask_BlendSpriteColor_Step1(u8 taskId, u32 selectedPalettes);
+static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
static void sub_80E2DB8(u8 taskId);
static void sub_80E2E10(u8 taskId);
static void sub_80E2EE8(struct Sprite *sprite);
@@ -854,7 +854,7 @@ static void sub_80E27A0(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
InitAnimSpritePos(sprite, 1);
else
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->callback = sub_80785E4;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
@@ -866,7 +866,7 @@ static void sub_80E27E8(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
InitAnimSpritePos(sprite, 1);
else
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[4];
sprite->callback = sub_80785E4;
@@ -890,7 +890,7 @@ static void sub_80E2870(struct Sprite *sprite)
if (gBattleAnimArgs[0] == 0)
InitAnimSpritePos(sprite, 0);
else
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->pos2.x += (Random() % 48) - 24;
sprite->pos2.y += (Random() % 24) - 12;
@@ -916,7 +916,7 @@ static void sub_80E2978(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
InitAnimSpritePos(sprite, 1);
else
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[3];
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
@@ -929,7 +929,7 @@ static void sub_80E29C0(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
InitAnimSpritePos(sprite, 1);
else
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->callback = sub_80E29FC;
}
@@ -950,7 +950,7 @@ void sub_80E2A38(u8 taskId)
(gBattleAnimArgs[0] >> 9) & 1,
(gBattleAnimArgs[0] >> 10) & 1);
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E2A7C(u8 taskId)
@@ -1001,7 +1001,7 @@ void sub_80E2A7C(u8 taskId)
}
}
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E2B74(u8 taskId)
@@ -1042,16 +1042,22 @@ void sub_80E2B74(u8 taskId)
break;
}
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
-void sub_80E2C60(u8 taskId)
+// Used to add a color mask to a Sprite.
+// arg 0: spriteId
+// arg 1: ??? unknown
+// arg 2: ??? unknown
+// arg 3: coefficient
+// arg 4: color code
+void AnimTask_BlendSpriteColor(u8 taskId)
{
u8 paletteIndex = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
- sub_80E2C8C(taskId, 1 << (paletteIndex + 16));
+ AnimTask_BlendSpriteColor_Step1(taskId, 1 << (paletteIndex + 16));
}
-static void sub_80E2C8C(u8 taskId, u32 selectedPalettes)
+static void AnimTask_BlendSpriteColor_Step1(u8 taskId, u32 selectedPalettes)
{
gTasks[taskId].data[0] = selectedPalettes;
gTasks[taskId].data[1] = selectedPalettes >> 16;
@@ -1060,11 +1066,11 @@ static void sub_80E2C8C(u8 taskId, u32 selectedPalettes)
gTasks[taskId].data[4] = gBattleAnimArgs[3];
gTasks[taskId].data[5] = gBattleAnimArgs[4];
gTasks[taskId].data[10] = gBattleAnimArgs[2];
- gTasks[taskId].func = sub_80E2CD0;
+ gTasks[taskId].func = AnimTask_BlendSpriteColor_Step2;
gTasks[taskId].func(taskId);
}
-static void sub_80E2CD0(u8 taskId)
+static void AnimTask_BlendSpriteColor_Step2(u8 taskId)
{
u32 selectedPalettes;
u16 singlePaletteMask = 0;
@@ -1577,7 +1583,7 @@ void sub_80E3A08(u8 taskId)
for (j = 5; j != 0; j--)
gBattleAnimArgs[j] = gBattleAnimArgs[j - 1];
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E3A58(u8 taskId)
diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c
index f938a2707..5d82b2842 100644
--- a/src/battle/anim/orbit.c
+++ b/src/battle/anim/orbit.c
@@ -89,7 +89,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6440 =
void sub_80CABF8(struct Sprite* sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
if (gBattleAnimArgs[4] == 1)
{
diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c
index b97f0c246..d4886d1f8 100644
--- a/src/battle/anim/orbs.c
+++ b/src/battle/anim/orbs.c
@@ -267,7 +267,7 @@ void sub_80CA928(u8 taskId)
void sub_80CA9A8(struct Sprite* sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2);
sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3);
diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c
index 704fa0306..ef263b971 100644
--- a/src/battle/anim/psychic.c
+++ b/src/battle/anim/psychic.c
@@ -562,9 +562,9 @@ void sub_80DBA4C(struct Sprite *sprite)
if (sprite->data[0] == 0)
{
int arg3 = gBattleAnimArgs[3];
- u8 var0 = 0;
+ bool8 var0 = FALSE;
if (arg3 == 0)
- var0 = 1;
+ var0 = TRUE;
if (!IsContest() && IsDoubleBattle())
{
diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c
index 7738e4d0c..fa53df5b8 100644
--- a/src/battle/anim/rock.c
+++ b/src/battle/anim/rock.c
@@ -28,8 +28,8 @@ extern void AnimMoveTwisterParticle(struct Sprite *sprite);
void sub_80DCE9C(struct Sprite *sprite);
void sub_80DCF60(struct Sprite *sprite);
void sub_80DCFE4(struct Sprite *sprite);
-void sub_80DD3AC(struct Sprite *sprite);
-void sub_80DD490(struct Sprite *sprite);
+void AnimDirtParticleAcrossScreen(struct Sprite *sprite);
+void AnimRaiseSprite(struct Sprite *sprite);
void sub_80DD87C(struct Sprite *sprite);
void sub_80DD8E8(struct Sprite *sprite);
void sub_80DD978(struct Sprite *sprite);
@@ -136,7 +136,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACD0 =
.callback = sub_80DCFE4,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACE8 =
+const struct SpriteTemplate gFlyingDirtSpriteTemplate =
{
.tileTag = 10261,
.paletteTag = 10261,
@@ -144,7 +144,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACE8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80DD3AC,
+ .callback = AnimDirtParticleAcrossScreen,
};
const struct Subsprite gSubspriteTable_83DAD00[] =
@@ -212,7 +212,7 @@ const union AnimCmd *const gSpriteAnimTable_83DAD58[] =
gSpriteAnim_83DAD40,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAD60 =
+const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
{
.tileTag = 10058,
.paletteTag = 10058,
@@ -220,7 +220,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAD60 =
.anims = gSpriteAnimTable_83DAD48,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80DD490,
+ .callback = AnimRaiseSprite,
};
const struct SpriteTemplate gSpriteTemplate_83DAD78 =
@@ -387,7 +387,7 @@ void sub_80DCFE4(struct Sprite *sprite)
if (gBattleAnimArgs[6] == 0)
InitAnimSpritePos(sprite, 0);
else
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = gBattleAnimArgs[2];
@@ -510,7 +510,13 @@ static void sub_80DD190(u8 taskId)
}
}
-void sub_80DD3AC(struct Sprite *sprite)
+// Animates the sprites that fly diagonally across the screen
+// in Sandstorm and Heat Wave.
+// arg 0: initial y pixel offset
+// arg 1: projectile speed
+// arg 2: y pixel drop
+// arg 3: ??? unknown (possibly a color bit)
+void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -555,7 +561,13 @@ void sub_80DD3AC(struct Sprite *sprite)
}
}
-void sub_80DD490(struct Sprite *sprite)
+// Animates the rising rocks in Ancient Power.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: terminal y offset
+// arg 3: duration
+// arg 4: sprite size [1,5]
+void AnimRaiseSprite(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
InitAnimSpritePos(sprite, 0);
diff --git a/src/battle/anim/splash.c b/src/battle/anim/splash.c
index c01748953..7e3d08554 100644
--- a/src/battle/anim/splash.c
+++ b/src/battle/anim/splash.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-static void sub_80D07AC(u8 taskId);
+static void AnimTask_SplashStep(u8 taskId);
// splash (splash effect of hopping up and down)
// Used in Splash, Mud Sport, and Sketch.
@@ -21,7 +21,10 @@ const union AffineAnimCmd gSpriteAffineAnim_83D76F4[] =
AFFINEANIMCMD_END,
};
-void sub_80D074C(u8 taskId)
+// Task to facilitate expanding and hopping effect seen in Splash.
+// arg 0: anim battler
+// arg 1: num hops
+void AnimTask_Splash(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (gBattleAnimArgs[1] == 0)
@@ -37,11 +40,11 @@ void sub_80D074C(u8 taskId)
task->data[3] = 0;
task->data[4] = 0;
sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D76F4);
- task->func = sub_80D07AC;
+ task->func = AnimTask_SplashStep;
}
}
-void sub_80D07AC(u8 taskId)
+void AnimTask_SplashStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
switch (task->data[1])
diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c
index 55e2c21bb..cee45b648 100644
--- a/src/battle/anim/tendrils.c
+++ b/src/battle/anim/tendrils.c
@@ -70,7 +70,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83D65A0 =
void sub_80CB25C(struct Sprite* sprite)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->affineAnimPaused = 1;
StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
sprite->data[6] = gBattleAnimArgs[2];
diff --git a/src/battle/anim/tile.c b/src/battle/anim/tile.c
index 12cfd53b3..0442321d6 100644
--- a/src/battle/anim/tile.c
+++ b/src/battle/anim/tile.c
@@ -157,7 +157,7 @@ void sub_80CE108(u8 taskId)
void sub_80CE17C(struct Sprite* sprite)
{
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->animPaused = 1;
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = sub_80CE1AC;
diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c
index 1c354d916..487624224 100644
--- a/src/battle/anim/water.c
+++ b/src/battle/anim/water.c
@@ -192,7 +192,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9438 =
void sub_80D37FC(struct Sprite *sprite)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
@@ -206,7 +206,7 @@ void sub_80D3838(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] != 0)
{
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
}
else
{
diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c
index c96a3a86f..a8ced992a 100644
--- a/src/battle/anim/wisp_fire.c
+++ b/src/battle/anim/wisp_fire.c
@@ -186,7 +186,10 @@ static void sub_80D5E4C(u8 taskId)
}
}
-void sub_80D6080(u8 taskId)
+// Used to add a color mask to the battle interface / HUD in Heat Wave.
+// arg 0: opacity
+// arg 1: color code
+void AnimTask_BlendInterfaceColor(u8 taskId)
{
struct Struct_sub_8078914 unk;
sub_8078914(&unk);
diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c
index 6edc56549..4614f9aa9 100644
--- a/src/battle/battle_anim_812C144.c
+++ b/src/battle/battle_anim_812C144.c
@@ -31,35 +31,17 @@ extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7220;
-extern const struct SpriteTemplate gSpriteTemplate_8402500;
-extern const struct SpriteTemplate gSpriteTemplate_84028CC;
-extern const struct SpriteTemplate gSpriteTemplate_840294C;
-extern const struct SpriteTemplate gSpriteTemplate_84029AC;
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7C18[];
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7BEC[];
-extern const union AffineAnimCmd gUnknown_08402400[];
-extern const union AffineAnimCmd gUnknown_084024B0[];
-extern const union AffineAnimCmd gUnknown_08402518[];
-extern const union AffineAnimCmd gUnknown_08402540[];
-extern const union AffineAnimCmd gUnknown_08402590[];
-extern const union AffineAnimCmd gUnknown_08402610[];
-extern const union AffineAnimCmd gUnknown_08402750[];
-extern const union AffineAnimCmd gUnknown_084028AC[];
-extern const union AffineAnimCmd gUnknown_084029DC[];
extern const u32 gUnknown_08D2AA98[];
extern const u32 gUnknown_08D2A9E0[];
extern const u16 gUnknown_08D2AA80[];
-extern const s8 gUnknown_084025C0[];
-extern const s8 gUnknown_08402604[];
-extern const u8 gUnknown_08402608[];
-extern const struct SpriteTemplate gBattleAnimSpriteTemplate_84025EC;
extern const u8 gUnknown_08D2E014[];
extern const u8 gUnknown_08D2E170[];
extern const u16 gUnknown_08D2E150[];
extern u8 gBattleMonForms[];
extern u8 gBankSpriteIds[];
extern u16 gBattlerPartyIndexes[];
-extern s16 gUnknown_084028E4[];
extern u8 sub_8046234(s16 x, s16 y, u8 a3);
extern void sub_80DA48C(struct Sprite *);
@@ -116,9 +98,1082 @@ static void sub_8131408(u8 taskId);
static void sub_81315C8(struct Sprite *sprite);
static void sub_8131810(u8 taskId);
static void sub_8131838(struct Sprite *sprite);
+static void sub_812C144(struct Sprite *sprite);
+static void sub_812C220(struct Sprite *sprite);
+static void sub_812C2BC(struct Sprite *sprite);
+static void sub_812C358(struct Sprite *sprite);
+static void sub_812C720(struct Sprite *sprite);
+static void sub_812C80C(struct Sprite *sprite);
+static void sub_812C848(struct Sprite *sprite);
+static void sub_812C908(struct Sprite *sprite);
+static void sub_812C990(struct Sprite *sprite);
+static void sub_812CAFC(struct Sprite *sprite);
+static void sub_812CC28(struct Sprite *sprite);
+static void sub_812CCE8(struct Sprite *sprite);
+static void sub_812D294(struct Sprite *sprite);
+static void sub_812D3AC(struct Sprite *sprite);
+static void sub_812D4B4(struct Sprite *sprite);
+static void sub_812D588(struct Sprite *sprite);
+static void sub_812DEAC(struct Sprite *sprite);
+static void sub_812D724(struct Sprite *sprite);
+static void sub_812E4F0(struct Sprite *sprite);
+static void sub_812E7A0(struct Sprite *sprite);
+static void sub_812EA4C(struct Sprite *sprite);
+static void sub_812EC78(struct Sprite *sprite);
+static void sub_812ED84(struct Sprite *sprite);
+static void sub_812EEA4(struct Sprite *sprite);
+static void sub_812F88C(struct Sprite *sprite);
+static void sub_812F948(struct Sprite *sprite);
+static void sub_812FF94(struct Sprite *sprite);
+static void sub_81300F4(struct Sprite *sprite);
+static void sub_81304DC(struct Sprite *sprite);
+static void sub_813051C(struct Sprite *sprite);
+static void sub_81307B0(struct Sprite *sprite);
+static void sub_8130A2C(struct Sprite *sprite);
+static void sub_8130AEC(struct Sprite *sprite);
+static void sub_8130F5C(struct Sprite *sprite);
+static void sub_8131264(struct Sprite *sprite);
+extern void sub_80D1FDC(struct Sprite *sprite);// kiss_fountain.c
+static void sub_8131564(struct Sprite *sprite);
+
+/*static*/ void sub_8131EB8(struct Sprite *sprite);// rest not yet decompiled
+/*static*/ void sub_8132370(struct Sprite *sprite);
+/*static*/ void sub_81323E0(struct Sprite *sprite);
+
+const union AnimCmd gSpriteAnim_8402164[] =
+{
+ ANIMCMD_FRAME(0 , 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_840217C[] =
+{
+ gSpriteAnim_8402164,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402180 =
+{
+ .tileTag = 10137,
+ .paletteTag = 10137,
+ .oam = &gOamData_837E054,
+ .anims = gSpriteAnimTable_840217C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80793C4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402198 =
+{
+ .tileTag = 10016,
+ .paletteTag = 10016,
+ .oam = &gOamData_837DF54,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812C144,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84021B0 =
+{
+ .tileTag = 10017,
+ .paletteTag = 10017,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80794A8,
+};
+
+const union AnimCmd gSpriteAnim_84021C8[] =
+{
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(32, 40),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_84021D8[] =
+{
+ gSpriteAnim_84021C8,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84021DC =
+{
+ .tileTag = 10190,
+ .paletteTag = 10190,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_84021D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80793C4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84021F4 =
+{
+ .tileTag = 10191,
+ .paletteTag = 10191,
+ .oam = &gOamData_837E05C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812C220,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840220C =
+{
+ .tileTag = 10189,
+ .paletteTag = 10189,
+ .oam = &gOamData_837DF94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812C2BC,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402224[] =
+{
+ AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFE0, 0x18, 0, 5),
+ AFFINEANIMCMD_FRAME(0x18, 0xFFE0, 0, 5),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402244[] =
+{
+ AFFINEANIMCMD_FRAME(0x30, 0x30, 0, 0),
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_840225C[] =
+{
+ gSpriteAffineAnim_8402224,
+ gSpriteAffineAnim_8402244,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402264 =
+{
+ .tileTag = 10187,
+ .paletteTag = 10187,
+ .oam = &gOamData_837E11C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_840225C,
+ .callback = sub_812C358,
+};
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840227C =
+{
+ .tileTag = 10152,
+ .paletteTag = 10152,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812C720,
+};
-void sub_812C144(struct Sprite *sprite)
+const union AnimCmd gSpriteAnim_8402294[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_84022AC[] =
+{
+ gSpriteAnim_8402294,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84022B0 =
+{
+ .tileTag = 10027,
+ .paletteTag = 10027,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_84022AC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812C80C,
+};
+
+const union AnimCmd gSpriteAnim_84022C8[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_84022D0[] =
+{
+ gSpriteAnim_84022C8,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_84022D4[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFF9, 0xFFF9, -3, 16),
+ AFFINEANIMCMD_FRAME(0x7, 0x7, 3, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_84022EC[] =
+{
+ gSpriteAffineAnim_84022D4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84022F0 =
+{
+ .tileTag = 10228,
+ .paletteTag = 10228,
+ .oam = &gOamData_837DF94,
+ .anims = gSpriteAnimTable_84022D0,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_84022EC,
+ .callback = sub_812C848,
+};
+
+const union AnimCmd gSpriteAnim_8402308[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(16, 16),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_840231C[] =
+{
+ gSpriteAnim_8402308,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402320[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402338[] =
+{
+ gSpriteAffineAnim_8402320,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840233C =
+{
+ .tileTag = 10192,
+ .paletteTag = 10192,
+ .oam = &gOamData_837DFF4,
+ .anims = gSpriteAnimTable_840231C,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402338,
+ .callback = sub_812C908,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402354[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x180, 0, 0),
+ AFFINEANIMCMD_FRAME(0x10, 0x0, 0, 20),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_840236C[] =
+{
+ AFFINEANIMCMD_FRAME(0x140, 0x180, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0x0, 0, 19),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402384[] =
+{
+ gSpriteAffineAnim_8402354,
+ gSpriteAffineAnim_840236C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840238C =
+{
+ .tileTag = 10227,
+ .paletteTag = 10227,
+ .oam = &gOamData_837DFFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402384,
+ .callback = sub_812C990,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84023A4 =
+{
+ .tileTag = 10247,
+ .paletteTag = 10247,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812CAFC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84023BC =
+{
+ .tileTag = 10247,
+ .paletteTag = 10247,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812CC28,
+};
+
+const union AnimCmd gSpriteAnim_84023D4[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(8, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_84023E4[] =
+{
+ gSpriteAnim_84023D4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84023E8 =
+{
+ .tileTag = 10229,
+ .paletteTag = 10229,
+ .oam = &gOamData_837DF54,
+ .anims = gSpriteAnimTable_84023E4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812CCE8,
+};
+
+const union AffineAnimCmd gUnknown_08402400[] =
+{
+ AFFINEANIMCMD_FRAME(-12, 8, 0, 4),
+ AFFINEANIMCMD_FRAME(20, -20, 0, 4),
+ AFFINEANIMCMD_FRAME(-8, 12, 0, 4),
+ AFFINEANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_8402420[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_8402428[] =
+{
+ gSpriteAnim_8402420,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_840242C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 40),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 10),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 10),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 40),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402454[] =
+{
+ gSpriteAffineAnim_840242C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402458 =
+{
+ .tileTag = 10230,
+ .paletteTag = 10230,
+ .oam = &gOamData_837DFFC,
+ .anims = gSpriteAnimTable_8402428,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402454,
+ .callback = sub_812D294,
+};
+
+const union AnimCmd gSpriteAnim_8402470[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(32, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_8402494[] =
+{
+ gSpriteAnim_8402470,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402498 =
+{
+ .tileTag = 10234,
+ .paletteTag = 10234,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_8402494,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80793C4,
+};
+
+const union AffineAnimCmd gUnknown_084024B0[] =
+{
+ AFFINEANIMCMD_FRAME(-12, 20, 0, 8),
+ AFFINEANIMCMD_FRAME(12, -20, 0, 8),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84024D0 =
+{
+ .tileTag = 10226,
+ .paletteTag = 10226,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812D3AC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84024E8 =
+{
+ .tileTag = 10233,
+ .paletteTag = 10233,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812D4B4,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8402500 =
+{
+ .tileTag = 10233,
+ .paletteTag = 10233,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812D588,
+};
+
+const union AffineAnimCmd gUnknown_08402518[] =
+{
+ AFFINEANIMCMD_FRAME(8, -8, 0, 12),
+ AFFINEANIMCMD_FRAME(-16, 16, 0, 12),
+ AFFINEANIMCMD_FRAME(8, -8, 0, 12),
+ AFFINEANIMCMD_LOOP(1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08402540[] =
+{
+ AFFINEANIMCMD_FRAME(0, 6, 0, 20),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 20),
+ AFFINEANIMCMD_FRAME(0, -18, 0, 6),
+ AFFINEANIMCMD_FRAME(-18, -18, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 15),
+ AFFINEANIMCMD_FRAME(4, 4, 0, 13),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402578 =
+{
+ .tileTag = 10236,
+ .paletteTag = 10236,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812D724,
+};
+
+const union AffineAnimCmd gUnknown_08402590[] =
+{
+ AFFINEANIMCMD_FRAME(0, 6, 0, 20),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 20),
+ AFFINEANIMCMD_FRAME(7, -30, 0, 6),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 20),
+ AFFINEANIMCMD_FRAME(-2, 3, 0, 20),
+ AFFINEANIMCMD_END,
+};
+
+const s8 gUnknown_084025C0[] =
+{
+ 0xE8,
+ 0x18,
+ 0xFC,
+ 0x00,
+};
+
+const union AnimCmd gSpriteAnim_84025C4[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(4, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_84025D0[] =
+{
+ ANIMCMD_FRAME(8, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_84025D8[] =
+{
+ ANIMCMD_FRAME(12, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_84025E0[] =
+{
+ gSpriteAnim_84025C4,
+ gSpriteAnim_84025D0,
+ gSpriteAnim_84025D8,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84025EC =
+{
+ .tileTag = 10241,
+ .paletteTag = 10241,
+ .oam = &gOamData_837DF2C,
+ .anims = gSpriteAnimTable_84025E0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812DEAC,
+};
+
+const s8 gUnknown_08402604[] =
+{
+ 0x78,
+ 0x50,
+ 0x28,
+ 0x00,
+};
+
+const u8 gUnknown_08402608[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 50,
+};
+
+const union AffineAnimCmd gUnknown_08402610[] =
+{
+ AFFINEANIMCMD_FRAME(0, -15, 0, 7),
+ AFFINEANIMCMD_FRAME(0, 15, 0, 7),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402630 =
+{
+ .tileTag = 10087,
+ .paletteTag = 10087,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812E4F0,
+};
+
+const union AnimCmd gSpriteAnim_8402648[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(3, 8, .vFlip = TRUE),
+ ANIMCMD_FRAME(2, 8, .vFlip = TRUE),
+ ANIMCMD_FRAME(0, 8, .vFlip = TRUE),
+ ANIMCMD_FRAME(1, 8, .vFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_840266C[] =
+{
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(3, 8, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 8, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 8, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 8, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_8402690[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_8402698[] =
+{
+ gSpriteAnim_8402648,
+ gSpriteAnim_840266C,
+ gSpriteAnim_8402690,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84026A4 =
+{
+ .tileTag = 10238,
+ .paletteTag = 10238,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_8402698,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812E7A0,
+};
+
+const u16 gUnknown_4026BC[] = INCBIN_U16("graphics/unknown/unknown_4026BC.gbapal");
+
+const union AnimCmd gSpriteAnim_84026DC[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 9),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_84026EC[] =
+{
+ gSpriteAnim_84026DC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84026F0 =
+{
+ .tileTag = 10239,
+ .paletteTag = 10239,
+ .oam = &gOamData_837DF2C,
+ .anims = gSpriteAnimTable_84026EC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812EA4C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402708 =
+{
+ .tileTag = 10240,
+ .paletteTag = 10240,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812EC78,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402720 =
+{
+ .tileTag = 10227,
+ .paletteTag = 10227,
+ .oam = &gOamData_837DFFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402384,
+ .callback = sub_812ED84,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402738 =
+{
+ .tileTag = 10236,
+ .paletteTag = 10236,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812EEA4,
+};
+
+const union AffineAnimCmd gUnknown_08402750[] =
+{
+ AFFINEANIMCMD_FRAME(16, 0, 0, 4),
+ AFFINEANIMCMD_FRAME(0, -3, 0, 16),
+ AFFINEANIMCMD_FRAME(4, 0, 0, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 24),
+ AFFINEANIMCMD_FRAME(-5, 3, 0, 16),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402780[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_84027A0[] =
+{
+ AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_84027C0[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_84027E0[] =
+{
+ gSpriteAffineAnim_8402780,
+ gSpriteAffineAnim_84027A0,
+ gSpriteAffineAnim_84027C0,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84027EC =
+{
+ .tileTag = 10242,
+ .paletteTag = 10242,
+ .oam = &gOamData_837DF94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_84027E0,
+ .callback = sub_812F88C,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402804[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFA, 0, 16),
+ AFFINEANIMCMD_FRAME(0x4, 0x6, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402824[] =
+{
+ AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x6, 0, 16),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFA, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402844[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x6, 0, 16),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFA, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402864[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0xA, 0, 30),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF6, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402884[] =
+{
+ gSpriteAffineAnim_8402804,
+ gSpriteAffineAnim_8402824,
+ gSpriteAffineAnim_8402844,
+ gSpriteAffineAnim_8402864,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402894 =
+{
+ .tileTag = 10242,
+ .paletteTag = 10242,
+ .oam = &gOamData_837DFF4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402884,
+ .callback = sub_812F948,
+};
+
+const union AffineAnimCmd gUnknown_084028AC[] =
+{
+ AFFINEANIMCMD_FRAME(-16, 16, 0, 6),
+ AFFINEANIMCMD_FRAME(16, -16, 0, 12),
+ AFFINEANIMCMD_FRAME(-16, 16, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gSpriteTemplate_84028CC =
+{
+ .tileTag = 10243,
+ .paletteTag = 10243,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_812FF94,
+};
+
+const u16 gUnknown_084028E4[] = INCBIN_U16("graphics/battle_anims/sprites/effect.gbapal");
+
+const union AnimCmd gSpriteAnim_8402914[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_8402920[] =
+{
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_840292C[] =
+{
+ gSpriteAnim_8402914,
+ gSpriteAnim_8402920,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402934 =
+{
+ .tileTag = 10053,
+ .paletteTag = 10053,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_840292C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81300F4,
+};
+
+const struct SpriteTemplate gSpriteTemplate_840294C =
+{
+ .tileTag = 10248,
+ .paletteTag = 10248,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81304DC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402964 =
+{
+ .tileTag = 10252,
+ .paletteTag = 10252,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_813051C,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_840297C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_840298C[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_84029A4[] =
+{
+ gSpriteAffineAnim_840297C,
+ gSpriteAffineAnim_840298C,
+};
+
+const struct SpriteTemplate gSpriteTemplate_84029AC =
+{
+ .tileTag = 10254,
+ .paletteTag = 10254,
+ .oam = &gOamData_837DF94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_84029A4,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84029C4 =
+{
+ .tileTag = 10247,
+ .paletteTag = 10247,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81307B0,
+};
+
+const union AffineAnimCmd gUnknown_084029DC[] =
+{
+ AFFINEANIMCMD_FRAME(0, -16, 0, 6),
+ AFFINEANIMCMD_FRAME(0, 16, 0, 6),
+ AFFINEANIMCMD_END,//0
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_84029F4 =
+{
+ .tileTag = 10255,
+ .paletteTag = 10255,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8130A2C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402A0C =
+{
+ .tileTag = 10247,
+ .paletteTag = 10247,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8130AEC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402A24 =
+{
+ .tileTag = 10258,
+ .paletteTag = 10258,
+ .oam = &gOamData_837E054,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8130F5C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402A3C =
+{
+ .tileTag = 10233,
+ .paletteTag = 10233,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8131264,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8402A54 =
+{
+ .tileTag = 10233,
+ .paletteTag = 10233,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D1FDC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402A6C =
+{
+ .tileTag = 10250,
+ .paletteTag = 10250,
+ .oam = &gOamData_837DF3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8131564,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8402A84 =
+{
+ .tileTag = 10224,
+ .paletteTag = 10224,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8131EB8,
+};
+
+const union AnimCmd gSpriteAnim_8402A9C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_8402AA8[] =
+{
+ gSpriteAnim_8402A9C,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402AAC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402AC4[] =
+{
+ AFFINEANIMCMD_FRAME(0xFF00, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402ADC[] =
+{
+ gSpriteAffineAnim_8402AAC,
+ gSpriteAffineAnim_8402AC4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402AE4 =
+{
+ .tileTag = 10277,
+ .paletteTag = 10277,
+ .oam = &gOamData_837DF9C,
+ .anims = gSpriteAnimTable_8402AA8,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402ADC,
+ .callback = sub_8132370,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8402AFC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 64),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8402B0C[] =
+{
+ gSpriteAffineAnim_8402AFC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8402B10 =
+{
+ .tileTag = 10278,
+ .paletteTag = 10278,
+ .oam = &gOamData_837E0BC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8402B0C,
+ .callback = sub_81323E0,
+};
+
+const union AffineAnimCmd gUnknown_08402B28[] =
+{
+ AFFINEANIMCMD_FRAME(0, 16, 0, 4),
+ AFFINEANIMCMD_FRAME(-2, 0, 0, 8),
+ AFFINEANIMCMD_FRAME(0, 4, 0, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 24),
+ AFFINEANIMCMD_FRAME(1, -5, 0, 16),
+ AFFINEANIMCMD_END,
+};
+
+static void sub_812C144(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -157,7 +1212,7 @@ void sub_812C1D0(u8 taskId)
}
-void sub_812C220(struct Sprite *sprite)
+static void sub_812C220(struct Sprite *sprite)
{
sprite->data[0] = 90;
sprite->callback = WaitAnimForDuration;
@@ -184,13 +1239,13 @@ static void sub_812C2A4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812C2BC(struct Sprite *sprite)
+static void sub_812C2BC(struct Sprite *sprite)
{
u16 rotation;
u8 x = GetBattlerSpriteCoord(gAnimBankTarget, 2);
u8 y = GetBattlerSpriteCoord(gAnimBankTarget, 3);
- sub_8078764(sprite, 1);
+ sub_8078764(sprite, TRUE);
rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y);
rotation += 0x6000;
@@ -206,7 +1261,7 @@ void sub_812C2BC(struct Sprite *sprite)
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_812C358(struct Sprite *sprite)
+static void sub_812C358(struct Sprite *sprite)
{
REG_BLDCNT = 0x3F40;
REG_BLDALPHA = 0x1000;
@@ -366,7 +1421,7 @@ static void sub_812C64C(u8 taskId)
DestroyTask(taskId);
}
-void sub_812C720(struct Sprite *sprite)
+static void sub_812C720(struct Sprite *sprite)
{
u16 x;
u16 y;
@@ -406,7 +1461,7 @@ static void sub_812C7C8(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812C80C(struct Sprite *sprite)
+static void sub_812C80C(struct Sprite *sprite)
{
sub_8078650(sprite);
sub_807867C(sprite, gBattleAnimArgs[0]);
@@ -416,7 +1471,7 @@ void sub_812C80C(struct Sprite *sprite)
}
// This is likely fakematching due to some strange type casting behavior.
-void sub_812C848(struct Sprite *sprite)
+static void sub_812C848(struct Sprite *sprite)
{
int var0;
int var1;
@@ -459,7 +1514,7 @@ void sub_812C848(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812C908(struct Sprite *sprite)
+static void sub_812C908(struct Sprite *sprite)
{
if (sprite->animEnded)
DestroyAnimSprite(sprite);
@@ -485,7 +1540,7 @@ void sub_812C960(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_812C990(struct Sprite *sprite)
+static void sub_812C990(struct Sprite *sprite)
{
REG_WINOUT = 0x1F3F;
REG_DISPCNT |= DISPCNT_OBJWIN_ON;
@@ -494,7 +1549,7 @@ void sub_812C990(struct Sprite *sprite)
REG_WIN0H = 0;
REG_WIN0V = 0;
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
@@ -550,7 +1605,7 @@ static void sub_812CAD0(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812CAFC(struct Sprite *sprite)
+static void sub_812CAFC(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] == 0)
{
@@ -611,7 +1666,7 @@ static void sub_812CBB4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812CC28(struct Sprite *sprite)
+static void sub_812CC28(struct Sprite *sprite)
{
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->data[3] = 255;
@@ -644,7 +1699,7 @@ void sub_812CCA8(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_812CCE8(struct Sprite *sprite)
+static void sub_812CCE8(struct Sprite *sprite)
{
int var0;
if (gBattleAnimArgs[0] == 0)
@@ -955,7 +2010,7 @@ static void sub_812D254(struct Sprite *sprite)
}
}
-void sub_812D294(struct Sprite *sprite)
+static void sub_812D294(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
InitAnimSpritePos(sprite, 0);
@@ -1002,7 +2057,7 @@ void sub_812D350(u8 taskId)
}
}
-void sub_812D3AC(struct Sprite *sprite)
+static void sub_812D3AC(struct Sprite *sprite)
{
u8 spriteId = GetAnimBattlerSpriteId(0);
@@ -1045,7 +2100,7 @@ void sub_812D3AC(struct Sprite *sprite)
}
}
-void sub_812D4B4(struct Sprite *sprite)
+static void sub_812D4B4(struct Sprite *sprite)
{
if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER)
sprite->pos1.x = -16;
@@ -1083,7 +2138,7 @@ static void sub_812D4EC(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812D588(struct Sprite *sprite)
+static void sub_812D588(struct Sprite *sprite)
{
u8 rand;
s8 y;
@@ -1158,7 +2213,7 @@ void sub_812D6CC(u8 taskId)
}
}
-void sub_812D724(struct Sprite *sprite)
+static void sub_812D724(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1414,7 +2469,7 @@ void sub_812DB84(u8 taskId)
}
}
-void sub_812DEAC(struct Sprite *sprite)
+static void sub_812DEAC(struct Sprite *sprite)
{
s16 var0;
u8 spriteId1;
@@ -1635,7 +2690,7 @@ void sub_812E498(u8 taskId)
}
}
-void sub_812E4F0(struct Sprite *sprite)
+static void sub_812E4F0(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -1752,7 +2807,7 @@ static void sub_812E638(u8 taskId)
}
}
-void sub_812E7A0(struct Sprite *sprite)
+static void sub_812E7A0(struct Sprite *sprite)
{
if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER)
{
@@ -1883,7 +2938,7 @@ static void sub_812E8B4(u8 taskId)
}
}
-void sub_812EA4C(struct Sprite *sprite)
+static void sub_812EA4C(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -1974,7 +3029,7 @@ void sub_812EB10(u8 taskId)
}
}
-void sub_812EC78(struct Sprite *sprite)
+static void sub_812EC78(struct Sprite *sprite)
{
u8 tileOffset;
int rand1;
@@ -2027,7 +3082,7 @@ static void sub_812ED24(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_812ED84(struct Sprite *sprite)
+static void sub_812ED84(struct Sprite *sprite)
{
REG_WINOUT = 0x1F3F;
REG_DISPCNT |= DISPCNT_OBJWIN_ON;
@@ -2037,7 +3092,7 @@ void sub_812ED84(struct Sprite *sprite)
REG_WIN0V = 0;
sprite->data[0] = gBattleAnimArgs[2];
- sub_8078764(sprite, 0);
+ sub_8078764(sprite, FALSE);
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
sprite->callback = sub_812EE00;
@@ -2074,7 +3129,7 @@ static void sub_812EE00(struct Sprite *sprite)
}
}
-void sub_812EEA4(struct Sprite *sprite)
+static void sub_812EEA4(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3);
@@ -2757,7 +3812,7 @@ void sub_812F86C(struct Sprite *sprite)
sprite->pos1.y = sprite->data[5] >> 4;
}
-void sub_812F88C(struct Sprite *sprite)
+static void sub_812F88C(struct Sprite *sprite)
{
s16 x = sprite->pos1.x;
s16 y = sprite->pos1.y;
@@ -2790,7 +3845,7 @@ static void sub_812F8DC(struct Sprite *sprite)
}
}
-void sub_812F948(struct Sprite *sprite)
+static void sub_812F948(struct Sprite *sprite)
{
sprite->data[0] = gBattleAnimArgs[3];
StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]);
@@ -3039,7 +4094,7 @@ static void sub_812FEB8(u8 taskId, bool8 arg1)
}
}
-void sub_812FF94(struct Sprite *sprite)
+static void sub_812FF94(struct Sprite *sprite)
{
sprite->pos1.x += sprite->data[1];
sprite->pos1.y += sprite->data[2];
@@ -3094,7 +4149,7 @@ void sub_81300A4(u8 taskId)
gUnknown_08D2E150);
}
-void sub_81300F4(struct Sprite *sprite)
+static void sub_81300F4(struct Sprite *sprite)
{
if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
@@ -3259,7 +4314,7 @@ static void sub_8130424(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5
*y = y2 >> 8;
}
-void sub_81304DC(struct Sprite *sprite)
+static void sub_81304DC(struct Sprite *sprite)
{
if (++sprite->data[0] > 36)
{
@@ -3268,7 +4323,7 @@ void sub_81304DC(struct Sprite *sprite)
}
}
-void sub_813051C(struct Sprite *sprite)
+static void sub_813051C(struct Sprite *sprite)
{
sprite->pos1.x = gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1];
@@ -3349,7 +4404,7 @@ static void sub_81306A4(u8 taskId)
}
}
-void sub_81307B0(struct Sprite *sprite)
+static void sub_81307B0(struct Sprite *sprite)
{
u8 battler;
@@ -3465,7 +4520,7 @@ static void sub_8130970(u8 taskId)
}
}
-void sub_8130A2C(struct Sprite *sprite)
+static void sub_8130A2C(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -3500,7 +4555,7 @@ static void sub_8130A94(struct Sprite *sprite)
}
}
-void sub_8130AEC(struct Sprite *sprite)
+static void sub_8130AEC(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -3715,7 +4770,7 @@ static void sub_8130DBC(u8 taskId)
}
}
-void sub_8130F5C(struct Sprite *sprite)
+static void sub_8130F5C(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -3855,7 +4910,7 @@ static void sub_81311E4(struct Sprite *sprite)
sprite->data[5]++;
}
-void sub_8131264(struct Sprite *sprite)
+static void sub_8131264(struct Sprite *sprite)
{
GetBattlerSpriteCoord(gAnimBankTarget, 2); // unused local variable
GetBattlerSpriteCoord(gAnimBankTarget, 3); // unused local variable
@@ -3973,7 +5028,7 @@ static void sub_8131408(u8 taskId)
}
}
-void sub_8131564(struct Sprite *sprite)
+static void sub_8131564(struct Sprite *sprite)
{
s16 y2;
diff --git a/src/battle/battle_anim_813F0F4.c b/src/battle/battle_anim_813F0F4.c
index f112c59aa..312cdf8c9 100755
--- a/src/battle/battle_anim_813F0F4.c
+++ b/src/battle/battle_anim_813F0F4.c
@@ -36,14 +36,9 @@ extern u8 gEffectBank;
extern const u8 gUnknown_08D2EE48[];
extern const u8 gUnknown_08D2EDFC[];
extern const u16 gUnknown_08D2E150[];
-extern const struct CompressedSpritePalette gBallOpenParticlePalettes[];
extern const struct SpriteTemplate gSpriteTemplates_840B3B4[];
extern const struct SpriteTemplate gSpriteTemplate_8402500;
extern const struct SpriteTemplate gBattleAnimSpriteTemplate_84024E8;
-extern const u8 gBallOpenParticleAnimNums[];
-extern const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[];
-extern const TaskFunc gBallOpenParticleAnimationFuncs[];
-extern const u16 gUnknown_0840B4D4[];
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
@@ -86,6 +81,284 @@ static void sub_8141CBC(struct Sprite *sprite);
static void sub_8141CF4(struct Sprite *sprite);
static void sub_8141D20(struct Sprite *sprite);
+extern const u8 gBattleAnimSpriteSheet_Particles[];
+const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] =
+{
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7},
+};
+
+extern const u8 gBattleAnimSpritePalette_136[];
+const struct CompressedSpritePalette gBallOpenParticlePalettes[] =
+{
+ {gBattleAnimSpritePalette_136, 0xD6EC},
+ {gBattleAnimSpritePalette_136, 0xD6ED},
+ {gBattleAnimSpritePalette_136, 0xD6EE},
+ {gBattleAnimSpritePalette_136, 0xD6EF},
+ {gBattleAnimSpritePalette_136, 0xD6F0},
+ {gBattleAnimSpritePalette_136, 0xD6F1},
+ {gBattleAnimSpritePalette_136, 0xD6F2},
+ {gBattleAnimSpritePalette_136, 0xD6F3},
+ {gBattleAnimSpritePalette_136, 0xD6F4},
+ {gBattleAnimSpritePalette_136, 0xD6F5},
+ {gBattleAnimSpritePalette_136, 0xD6F6},
+ {gBattleAnimSpritePalette_136, 0xD6F7},
+};
+
+const union AnimCmd gSpriteAnim_840B318[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_840B334[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B33C[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B344[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B34C[] =
+{
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_840B358[] =
+{
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_840B360[] =
+{
+ gSpriteAnim_840B318,
+ gSpriteAnim_840B334,
+ gSpriteAnim_840B33C,
+ gSpriteAnim_840B344,
+ gSpriteAnim_840B34C,
+ gSpriteAnim_840B358,
+};
+
+const u8 gBallOpenParticleAnimNums[] =
+{
+ 0,
+ 0,
+ 0,
+ 5,
+ 1,
+ 2,
+ 2,
+ 3,
+ 5,
+ 5,
+ 4,
+ 4,
+};
+
+void PokeBallOpenParticleAnimation(u8);
+void GreatBallOpenParticleAnimation(u8);
+void SafariBallOpenParticleAnimation(u8);
+void UltraBallOpenParticleAnimation(u8);
+void MasterBallOpenParticleAnimation(u8);
+void SafariBallOpenParticleAnimation(u8);
+void DiveBallOpenParticleAnimation(u8);
+void UltraBallOpenParticleAnimation(u8);
+void RepeatBallOpenParticleAnimation(u8);
+void TimerBallOpenParticleAnimation(u8);
+void GreatBallOpenParticleAnimation(u8);
+void PremierBallOpenParticleAnimation(u8);
+
+const TaskFunc gBallOpenParticleAnimationFuncs[] =
+{
+ PokeBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ MasterBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ DiveBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ RepeatBallOpenParticleAnimation,
+ TimerBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ PremierBallOpenParticleAnimation,
+};
+
+const struct SpriteTemplate gSpriteTemplates_840B3B4[] =
+{
+ {
+ .tileTag = 55020,
+ .paletteTag = 55020,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55021,
+ .paletteTag = 55021,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55022,
+ .paletteTag = 55022,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55023,
+ .paletteTag = 55023,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55024,
+ .paletteTag = 55024,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55025,
+ .paletteTag = 55025,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55026,
+ .paletteTag = 55026,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55027,
+ .paletteTag = 55027,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55028,
+ .paletteTag = 55028,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55029,
+ .paletteTag = 55029,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55030,
+ .paletteTag = 55030,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55031,
+ .paletteTag = 55031,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+};
+
+const u16 gUnknown_0840B4D4[] =
+{
+ 0x7ADF,
+ 0x7AF0,
+ 0x53D7,
+ 0x3FFF,
+ 0x7297,
+ 0x67F5,
+ 0x7B2C,
+ 0x2B7E,
+ 0x431F,
+ 0x7BDD,
+ 0x2A3F,
+ 0x293F,
+ 0x0000,
+ 0x0201,
+ 0x0403,
+ 0x0101,
+ 0x0100,
+ 0x0503,
+ 0x0506,
+ 0x0004,
+};
+
+static void sub_8141C30(struct Sprite *sprite);
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840B4FC =
+{
+ .tileTag = 10269,
+ .paletteTag = 10269,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8141C30,
+};
void unref_sub_813F0F4(u8 taskId)
{
@@ -1826,7 +2099,7 @@ void sub_8141C08(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_8141C30(struct Sprite *sprite)
+static void sub_8141C30(struct Sprite *sprite)
{
InitAnimSpritePos(sprite, 0);
sprite->data[0] = 30;
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index e81d02251..8e8e6ef8a 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -1445,16 +1445,17 @@ void sub_8079518(struct Sprite *sprite)
void sub_8079534(struct Sprite *sprite)
{
- u8 r4, slot, r7;
+ bool8 r4;
+ u8 slot, r7;
if (!gBattleAnimArgs[6])
{
- r4 = 1;
+ r4 = TRUE;
r7 = 3;
}
else
{
- r4 = 0;
+ r4 = FALSE;
r7 = 1;
}
if (!gBattleAnimArgs[5])