summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/battle/battle_anim_813F0F4.c140
-rw-r--r--src/battle/battle_controller_linkopponent.c4
-rw-r--r--src/battle/battle_controller_linkpartner.c4
-rw-r--r--src/battle/battle_controller_opponent.c4
-rw-r--r--src/battle/battle_controller_player.c4
-rw-r--r--src/battle/battle_controller_wally.c4
-rw-r--r--src/battle/pokeball.c181
-rw-r--r--src/pokemon_summary_screen.c2
8 files changed, 177 insertions, 166 deletions
diff --git a/src/battle/battle_anim_813F0F4.c b/src/battle/battle_anim_813F0F4.c
index 219395baf..f112c59aa 100755
--- a/src/battle/battle_anim_813F0F4.c
+++ b/src/battle/battle_anim_813F0F4.c
@@ -36,13 +36,13 @@ extern u8 gEffectBank;
extern const u8 gUnknown_08D2EE48[];
extern const u8 gUnknown_08D2EDFC[];
extern const u16 gUnknown_08D2E150[];
-extern const struct CompressedSpritePalette gUnknown_0840B2B8[];
-extern const struct SpriteTemplate gSpriteTemplate_840B3B4[];
+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 gUnknown_0840B378[];
-extern const struct CompressedSpriteSheet gUnknown_0840B258[];
-extern const TaskFunc gUnknown_0840B384[];
+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[];
@@ -69,12 +69,12 @@ static void sub_81404E4(struct Sprite *sprite);
static void sub_81405C8(struct Sprite *sprite);
static void sub_81406BC(struct Sprite *sprite);
static void sub_81407F4(struct Sprite *sprite);
-static void sub_8140A08(struct Sprite *sprite);
-static void sub_8140A28(struct Sprite *sprite);
-static void sub_8141294(struct Sprite *sprite);
-static void sub_8140ECC(struct Sprite *sprite);
-static void sub_8140FF8(struct Sprite *sprite);
-static void sub_8141230(struct Sprite *sprite);
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite);
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite);
+static void DestroyBallOpenAnimationParticle(struct Sprite *sprite);
+static void FanOutBallOpenParticles_Step1(struct Sprite *sprite);
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite);
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite);
static void sub_81413DC(u8 taskId);
static void sub_814146C(u8 taskId);
static void sub_81414BC(u8 taskId);
@@ -338,7 +338,7 @@ void sub_813F844(u8 taskId)
y = GetBattlerSpriteCoord(gAnimBankAttacker, 1);
priority = gSprites[spriteId].oam.priority;
subpriority = gSprites[spriteId].subpriority;
- gTasks[taskId].data[10] = sub_814086C(x, y + 32, priority, subpriority, ballIndex);
+ gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballIndex);
selectedPalettes = sub_80791A8(1, 0, 0, 0, 0, 0, 0);
gTasks[taskId].data[11] = sub_8141314(0, gAnimBankAttacker, selectedPalettes, ballIndex);
gTasks[taskId].data[0]++;
@@ -353,14 +353,14 @@ void sub_813F844(u8 taskId)
void sub_813F990(u8 taskId)
{
u8 ballIndex = ball_number_to_ball_processing_index(gLastUsedItem);
- sub_80478DC(ballIndex);
+ LoadBallGraphics(ballIndex);
DestroyAnimVisualTask(taskId);
}
void sub_813F9B8(u8 taskId)
{
u8 ballIndex = ball_number_to_ball_processing_index(gLastUsedItem);
- sub_804794C(ballIndex);
+ FreeBallGraphics(ballIndex);
DestroyAnimVisualTask(taskId);
}
@@ -526,7 +526,7 @@ static void sub_813FDC0(struct Sprite *sprite)
if (ballIndex2 < 0)
return;
- sub_814086C(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballIndex);
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballIndex);
sub_8141314(0, gAnimBankTarget, 14, ballIndex);
}
}
@@ -946,7 +946,7 @@ static void sub_81405F4(struct Sprite *sprite)
if (ballIndex2 < 0)
goto LABEL;
- sub_814086C(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballIndex);
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballIndex);
sub_8141314(1, gAnimBankTarget, 14, ballIndex);
LABEL:
@@ -1090,17 +1090,17 @@ _08140868: .4byte gDoingBattleAnim\n\
}
#endif // NONMATCHING
-u8 sub_814086C(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballIndex)
+u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballIndex)
{
u8 taskId;
- if (GetSpriteTileStartByTag(gUnknown_0840B258[ballIndex].tag) == 0xFFFF)
+ if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballIndex].tag) == 0xFFFF)
{
- LoadCompressedObjectPic(&gUnknown_0840B258[ballIndex]);
- LoadCompressedObjectPalette(&gUnknown_0840B2B8[ballIndex]);
+ LoadCompressedObjectPic(&gBallOpenParticleSpritesheets[ballIndex]);
+ LoadCompressedObjectPalette(&gBallOpenParticlePalettes[ballIndex]);
}
- taskId = CreateTask(gUnknown_0840B384[ballIndex], 5);
+ taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballIndex], 5);
gTasks[taskId].data[1] = x;
gTasks[taskId].data[2] = y;
gTasks[taskId].data[3] = priority;
@@ -1113,7 +1113,7 @@ u8 sub_814086C(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballIndex)
return taskId;
}
-void sub_8140930(u8 taskId)
+void PokeBallOpenParticleAnimation(u8 taskId)
{
u8 spriteId;
u8 x, y;
@@ -1129,9 +1129,9 @@ void sub_8140930(u8 taskId)
priority = gTasks[taskId].data[3];
subpriority = gTasks[taskId].data[4];
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140A08;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
var0 = (u8)gTasks[taskId].data[0];
@@ -1150,24 +1150,24 @@ void sub_8140930(u8 taskId)
gTasks[taskId].data[0]++;
}
-static void sub_8140A08(struct Sprite *sprite)
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
{
if (sprite->data[1] == 0)
- sprite->callback = sub_8140A28;
+ sprite->callback = PokeBallOpenParticleAnimation_Step2;
else
sprite->data[1]--;
}
-static void sub_8140A28(struct Sprite *sprite)
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
sprite->data[1] += 2;
if (sprite->data[1] == 50)
- sub_8141294(sprite);
+ DestroyBallOpenAnimationParticle(sprite);
}
-void sub_8140A64(u8 taskId)
+void TimerBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1181,9 +1181,9 @@ void sub_8140A64(u8 taskId)
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
gSprites[spriteId].data[4] = 10;
@@ -1195,7 +1195,7 @@ void sub_8140A64(u8 taskId)
DestroyTask(taskId);
}
-void sub_8140B3C(u8 taskId)
+void DiveBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1209,9 +1209,9 @@ void sub_8140B3C(u8 taskId)
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
gSprites[spriteId].data[4] = 10;
@@ -1223,7 +1223,7 @@ void sub_8140B3C(u8 taskId)
DestroyTask(taskId);
}
-void sub_8140C14(u8 taskId)
+void SafariBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1237,9 +1237,9 @@ void sub_8140C14(u8 taskId)
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
gSprites[spriteId].data[4] = 4;
@@ -1251,7 +1251,7 @@ void sub_8140C14(u8 taskId)
DestroyTask(taskId);
}
-void sub_8140CE8(u8 taskId)
+void UltraBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1265,9 +1265,9 @@ void sub_8140CE8(u8 taskId)
for (i = 0; i < 10; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 25;
gSprites[spriteId].data[4] = 5;
@@ -1279,7 +1279,7 @@ void sub_8140CE8(u8 taskId)
DestroyTask(taskId);
}
-void sub_8140DC4(u8 taskId)
+void GreatBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1299,9 +1299,9 @@ void sub_8140DC4(u8 taskId)
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
gSprites[spriteId].data[4] = 8;
@@ -1318,7 +1318,7 @@ void sub_8140DC4(u8 taskId)
}
}
-static void sub_8140ECC(struct Sprite *sprite)
+static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
@@ -1326,10 +1326,10 @@ static void sub_8140ECC(struct Sprite *sprite)
sprite->data[1] += sprite->data[5];
sprite->data[2] += sprite->data[6];
if (++sprite->data[3] == 51)
- sub_8141294(sprite);
+ DestroyBallOpenAnimationParticle(sprite);
}
-void sub_8140F24(u8 taskId)
+void RepeatBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1343,9 +1343,9 @@ void sub_8140F24(u8 taskId)
for (i = 0; i < 12; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140FF8;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 21;
}
@@ -1354,7 +1354,7 @@ void sub_8140F24(u8 taskId)
DestroyTask(taskId);
}
-static void sub_8140FF8(struct Sprite *sprite)
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
@@ -1362,10 +1362,10 @@ static void sub_8140FF8(struct Sprite *sprite)
sprite->data[1]++;
sprite->data[2]++;
if (++sprite->data[3] == 51)
- sub_8141294(sprite);
+ DestroyBallOpenAnimationParticle(sprite);
}
-void sub_8141058(u8 taskId)
+void MasterBallOpenParticleAnimation(u8 taskId)
{
u8 i, j;
u8 x, y, priority, subpriority, ballIndex;
@@ -1381,9 +1381,9 @@ void sub_8141058(u8 taskId)
{
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8140ECC;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
gSprites[spriteId].data[4] = 8;
@@ -1405,7 +1405,7 @@ void sub_8141058(u8 taskId)
DestroyTask(taskId);
}
-void sub_8141164(u8 taskId)
+void PremierBallOpenParticleAnimation(u8 taskId)
{
u8 i;
u8 x, y, priority, subpriority, ballIndex;
@@ -1419,9 +1419,9 @@ void sub_8141164(u8 taskId)
for (i = 0; i < 8; i++)
{
- spriteId = CreateSprite(&gSpriteTemplate_840B3B4[ballIndex], x, y, subpriority);
- StartSpriteAnim(&gSprites[spriteId], gUnknown_0840B378[ballIndex]);
- gSprites[spriteId].callback = sub_8141230;
+ spriteId = CreateSprite(&gSpriteTemplates_840B3B4[ballIndex], x, y, subpriority);
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballIndex]);
+ gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32;
}
@@ -1430,7 +1430,7 @@ void sub_8141164(u8 taskId)
DestroyTask(taskId);
}
-static void sub_8141230(struct Sprite *sprite)
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
@@ -1438,10 +1438,10 @@ static void sub_8141230(struct Sprite *sprite)
sprite->data[1]++;
sprite->data[2]++;
if (++sprite->data[3] == 51)
- sub_8141294(sprite);
+ DestroyBallOpenAnimationParticle(sprite);
}
-static void sub_8141294(struct Sprite *sprite)
+static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
{
int i;
int temp;
@@ -1460,8 +1460,8 @@ static void sub_8141294(struct Sprite *sprite)
{
for (i = 0; i < 12; i++)
{
- FreeSpriteTilesByTag(gUnknown_0840B258[i].tag);
- FreeSpritePaletteByTag(gUnknown_0840B2B8[i].tag);
+ FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[i].tag);
+ FreeSpritePaletteByTag(gBallOpenParticlePalettes[i].tag);
}
DestroySprite(sprite);
diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c
index 8ca3d160a..f9c8fe7d1 100644
--- a/src/battle/battle_controller_linkopponent.c
+++ b/src/battle/battle_controller_linkopponent.c
@@ -62,7 +62,7 @@ extern void sub_8037A74(void);
extern void sub_8032984(u8, u16);
extern void sub_8037E30(void);
extern void sub_80312F0(struct Sprite *);
-extern u8 sub_8046400();
+extern u8 StartSendOutMonAnimation();
extern void sub_8032A08();
extern void sub_8043DB0();
extern void sub_8037BBC(void);
@@ -1195,7 +1195,7 @@ void sub_8039430(u8 a, u8 b)
StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]);
gSprites[gBankSpriteIds[a]].invisible = TRUE;
gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFE);
+ gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFE);
}
void LinkOpponentHandleReturnPokeToBall(void)
diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c
index dff4edfc1..38514bfb5 100644
--- a/src/battle/battle_controller_linkpartner.c
+++ b/src/battle/battle_controller_linkpartner.c
@@ -79,7 +79,7 @@ extern void sub_80105EC(struct Sprite *);
extern s32 sub_803FC34(u16);
extern void LoadPlayerTrainerBankSprite();
extern void sub_80313A0(struct Sprite *);
-extern u8 sub_8046400();
+extern u8 StartSendOutMonAnimation();
extern void sub_80312F0(struct Sprite *);
extern u8 CreateInvisibleSpriteWithCallback();
extern void BattleLoadPlayerMonSprite();
@@ -1143,7 +1143,7 @@ void sub_811F864(u8 a, u8 b)
StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]);
gSprites[gBankSpriteIds[a]].invisible = TRUE;
gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFF);
+ gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFF);
}
void LinkPartnerHandleReturnPokeToBall(void)
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index ee313c098..a7e99900b 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -74,7 +74,7 @@ extern u8 GetBattlerPosition(u8);
extern void sub_8032984(u8, u16);
extern void sub_80333D4(void);
extern void sub_80312F0(struct Sprite *);
-extern u8 sub_8046400();
+extern u8 StartSendOutMonAnimation();
extern void sub_8032A08();
extern void sub_8043DB0();
extern void sub_8033160(void);
@@ -1168,7 +1168,7 @@ void sub_803495C(u8 a, u8 b)
StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]);
gSprites[gBankSpriteIds[a]].invisible = TRUE;
gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFE);
+ gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFE);
}
void OpponentHandleReturnPokeToBall(void)
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 654a2c195..de8b1579b 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -126,7 +126,7 @@ extern void sub_802DEAC(void);
extern void sub_80312F0(struct Sprite *);
extern u8 GetBattlerSpriteCoord();
extern u8 sub_8077F68();
-extern u8 sub_8046400();
+extern u8 StartSendOutMonAnimation();
extern void sub_802D798(void);
extern void bx_0802E404(void);
extern u8 gActiveBattler;
@@ -2523,7 +2523,7 @@ void sub_802F934(u8 bank, u8 b)
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_0300434C[bank]].data[0] = sub_8046400(0, 0xFF);
+ gSprites[gUnknown_0300434C[bank]].data[0] = StartSendOutMonAnimation(0, 0xFF);
}
void PlayerHandleReturnPokeToBall(void)
diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index 312ef9d12..a7ce7d27d 100644
--- a/src/battle/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -88,7 +88,7 @@ extern void oamt_add_pos2_onto_pos1();
extern void StartAnimLinearTranslation(struct Sprite *);
extern void sub_8030E38(struct Sprite *);
extern void StoreSpriteCallbackInData();
-extern u8 sub_8046400();
+extern u8 StartSendOutMonAnimation();
extern u8 GetBattlerSpriteCoord();
extern u8 sub_8077F68();
extern u8 sub_8079E90();
@@ -1518,7 +1518,7 @@ void sub_81398BC(u8 bank)
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_0300434C[bank]].data[0] = sub_8046400(0, 0xFF);
+ gSprites[gUnknown_0300434C[bank]].data[0] = StartSendOutMonAnimation(0, 0xFF);
}
void sub_8139A2C(u8 taskId)
diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c
index ac15246d6..abfdf2c3d 100644
--- a/src/battle/pokeball.c
+++ b/src/battle/pokeball.c
@@ -300,7 +300,7 @@ const struct SpriteTemplate gBallSpriteTemplates[] =
extern void InitAnimArcTranslation();
extern bool8 TranslateAnimArc(struct Sprite *);
-static void sub_8046464(u8);
+static void SendOutMonAnimation(u8);
static void sub_80466E8(struct Sprite *);
static void sub_80466F4(struct Sprite *);
static void sub_8046760(struct Sprite *);
@@ -312,10 +312,10 @@ static void sub_8046C78(struct Sprite *);
static void sub_8046E7C(struct Sprite *);
static void sub_8046E9C(struct Sprite *);
static void sub_8046FBC(struct Sprite *);
-static void sub_8047074(struct Sprite *);
-static void sub_80470C4(struct Sprite *);
-static void sub_8047230(struct Sprite *);
-static void sub_8047254(struct Sprite *);
+static void SendOutPlayerMonAnimation_Step0(struct Sprite *);
+static void SendOutPlayerMonAnimation_Step1(struct Sprite *);
+static void SendOutMonAnimation_Delay(struct Sprite *);
+static void SendOutOpponentMonAnimation_Step0(struct Sprite *);
static void sub_80473D0(struct Sprite *);
static void sub_804748C(struct Sprite *);
static void sub_8047638(struct Sprite *);
@@ -324,28 +324,28 @@ static void sub_8047754(struct Sprite *);
static void sub_804780C(struct Sprite *);
static void sub_8047830(struct Sprite *);
static void oamc_804BEB4(struct Sprite *);
-static u16 sub_8047978(u8);
+static u16 GetBattlerBall(u8);
-u8 sub_8046400(u16 a, u8 b)
+u8 StartSendOutMonAnimation(u16 a, u8 side)
{
u8 taskId;
gDoingBattleAnim = 1;
ewram17810[gActiveBattler].unk0_3 = 1;
- taskId = CreateTask(sub_8046464, 5);
+ taskId = CreateTask(SendOutMonAnimation, 5);
gTasks[taskId].data[1] = a;
- gTasks[taskId].data[2] = b;
+ gTasks[taskId].data[2] = side;
gTasks[taskId].data[3] = gActiveBattler;
return 0;
}
-static void sub_8046464(u8 taskId)
+static void SendOutMonAnimation(u8 taskId)
{
- bool8 sp0 = FALSE;
- u16 r8;
- u8 r5;
+ bool8 debug = FALSE;
+ u16 side;
+ u8 battler;
u16 ball;
- u8 r4;
+ u8 ballIndex;
u8 spriteId;
if (gTasks[taskId].data[0] == 0)
@@ -353,44 +353,49 @@ static void sub_8046464(u8 taskId)
gTasks[taskId].data[0]++;
return;
}
- r8 = gTasks[taskId].data[2];
- r5 = gTasks[taskId].data[3];
- if (GetBattlerSide(r5) != 0)
- ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL);
+
+ side = gTasks[taskId].data[2];
+ battler = gTasks[taskId].data[3];
+ if (GetBattlerSide(battler) != B_SIDE_PLAYER)
+ ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL);
else
- ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL);
- r4 = ball_number_to_ball_processing_index(ball);
- sub_80478DC(r4);
- spriteId = CreateSprite(&gBallSpriteTemplates[r4], 32, 80, 0x1D);
+ ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL);
+
+ ballIndex = ball_number_to_ball_processing_index(ball);
+ LoadBallGraphics(ballIndex);
+ spriteId = CreateSprite(&gBallSpriteTemplates[ballIndex], 32, 80, 29);
gSprites[spriteId].data[0] = 0x80;
gSprites[spriteId].data[1] = 0;
- gSprites[spriteId].data[7] = r8;
- switch (r8)
+ gSprites[spriteId].data[7] = side;
+
+ switch (side)
{
- case 0xFF:
- gBankTarget = r5;
+ case 0xFF: // Player's side
+ gBankTarget = battler;
gSprites[spriteId].pos1.x = 24;
gSprites[spriteId].pos1.y = 68;
- gSprites[spriteId].callback = sub_8047074;
+ gSprites[spriteId].callback = SendOutPlayerMonAnimation_Step0;
break;
- case 0xFE:
- gSprites[spriteId].pos1.x = GetBattlerSpriteCoord(r5, 0);
- gSprites[spriteId].pos1.y = GetBattlerSpriteCoord(r5, 1) + 24;
- gBankTarget = r5;
+ case 0xFE: // Opponent's side
+ gSprites[spriteId].pos1.x = GetBattlerSpriteCoord(battler, 0);
+ gSprites[spriteId].pos1.y = GetBattlerSpriteCoord(battler, 1) + 24;
+ gBankTarget = battler;
gSprites[spriteId].data[0] = 0;
- gSprites[spriteId].callback = sub_8047254;
+ gSprites[spriteId].callback = SendOutOpponentMonAnimation_Step0;
break;
default:
gBankTarget = GetBattlerAtPosition(1);
- sp0 = TRUE;
+ debug = TRUE;
break;
}
+
gSprites[spriteId].data[6] = gBankTarget;
- if (!sp0)
+ if (!debug)
{
DestroyTask(taskId);
return;
}
+
gSprites[spriteId].data[0] = 0x22;
gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBankTarget, 0);
gSprites[spriteId].data[4] = GetBattlerSpriteCoord(gBankTarget, 1) - 16;
@@ -418,8 +423,8 @@ static void objc_0804ABD4(struct Sprite *sprite)
sprite->pos2.x = 0;
sprite->pos2.y = 0;
sprite->data[5] = 0;
- r4 = ball_number_to_ball_processing_index(sub_8047978(r5));
- sub_814086C(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, r4);
+ r4 = ball_number_to_ball_processing_index(GetBattlerBall(r5));
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, r4);
sprite->data[0] = sub_8141314(0, r5, 14, r4);
sprite->data[6] = r5;
sprite->data[7] = r8;
@@ -693,34 +698,35 @@ static void sub_8046AD0(u8 taskId)
static void sub_8046C78(struct Sprite *sprite)
{
- u8 r5 = sprite->data[6];
- u32 r4; // not sure of this type
+ int ballIndex;
+ u8 battler = sprite->data[6];
StartSpriteAnim(sprite, 1);
- r4 = ball_number_to_ball_processing_index(sub_8047978(r5));
- sub_814086C(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, r4);
- sprite->data[0] = sub_8141314(1, sprite->data[6], 14, r4);
+ ballIndex = ball_number_to_ball_processing_index(GetBattlerBall(battler));
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballIndex);
+ sprite->data[0] = sub_8141314(1, sprite->data[6], 14, ballIndex);
sprite->callback = sub_8046E9C;
if (gMain.inBattle)
{
- struct Pokemon *pkmn;
+ struct Pokemon *mon;
u16 species;
- s8 r8;
- u16 r4_2;
+ s8 cryPanning;
+ u16 cryBehavior;
u8 taskId;
- if (GetBattlerSide(r5) != 0)
+ if (GetBattlerSide(battler) != 0)
{
- pkmn = &gEnemyParty[gBattlerPartyIndexes[r5]];
- r8 = 25;
+ mon = &gEnemyParty[gBattlerPartyIndexes[battler]];
+ cryPanning = 25;
}
else
{
- pkmn = &gPlayerParty[gBattlerPartyIndexes[r5]];
- r8 = -25;
+ mon = &gPlayerParty[gBattlerPartyIndexes[battler]];
+ cryPanning = -25;
}
- species = GetMonData(pkmn, MON_DATA_SPECIES);
- if ((r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1))
+
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ if ((battler == GetBattlerAtPosition(0) || battler == GetBattlerAtPosition(1))
&& IsDoubleBattle() && ewram17840.unk9_0)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
@@ -733,18 +739,21 @@ static void sub_8046C78(struct Sprite *sprite)
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128);
}
}
+
if (!IsDoubleBattle() || !ewram17840.unk9_0)
- r4_2 = 0;
- else if (r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1))
- r4_2 = 1;
+ cryBehavior = 0;
+ else if (battler == GetBattlerAtPosition(0) || battler == GetBattlerAtPosition(1))
+ cryBehavior = 1;
else
- r4_2 = 2;
+ cryBehavior = 2;
+
taskId = CreateTask(sub_8046AD0, 3);
gTasks[taskId].data[0] = species;
- gTasks[taskId].data[1] = r8;
- gTasks[taskId].data[2] = r4_2;
+ gTasks[taskId].data[1] = cryPanning;
+ gTasks[taskId].data[2] = cryBehavior;
gTasks[taskId].data[15] = 0;
}
+
StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->data[6]]], 1);
AnimateSprite(&gSprites[gBankSpriteIds[sprite->data[6]]]);
gSprites[gBankSpriteIds[sprite->data[6]]].data[1] = 0x1000;
@@ -795,7 +804,7 @@ static void sub_8046E9C(struct Sprite *sprite)
if (r3 == 4)
{
for (i = 0; i < 12; i++)
- sub_804794C(i);
+ FreeBallGraphics(i);
}
}
}
@@ -825,7 +834,7 @@ static void sub_8046FBC(struct Sprite *sprite)
}
}
-static void sub_8047074(struct Sprite *sprite)
+static void SendOutPlayerMonAnimation_Step0(struct Sprite *sprite)
{
sprite->data[0] = 25;
sprite->data[2] = GetBattlerSpriteCoord(sprite->data[6], 2);
@@ -833,12 +842,12 @@ static void sub_8047074(struct Sprite *sprite)
sprite->data[5] = -30;
sprite->oam.affineParam = sprite->data[6];
InitAnimArcTranslation(sprite);
- sprite->callback = sub_80470C4;
+ sprite->callback = SendOutPlayerMonAnimation_Step1;
}
#define HIBYTE(x) (((x) >> 8) & 0xFF)
-static void sub_80470C4(struct Sprite *sprite)
+static void SendOutPlayerMonAnimation_Step1(struct Sprite *sprite)
{
u32 r6;
u32 r7;
@@ -855,6 +864,7 @@ static void sub_80470C4(struct Sprite *sprite)
sprite->data[2] = ((sprite->data[2] / 3) & ~1) | r7;
StartSpriteAffineAnim(sprite, 4);
}
+
r4 = sprite->data[0];
TranslateAnimLinear(sprite);
sprite->data[7] += sprite->data[6] / 3;
@@ -864,6 +874,7 @@ static void sub_80470C4(struct Sprite *sprite)
sprite->data[0] = r4;
else
sprite->data[0] = r4 - 1;
+
if (HIBYTE(sprite->data[7]) >= 80)
{
r6 = sprite->data[1] & 1;
@@ -882,17 +893,17 @@ static void sub_80470C4(struct Sprite *sprite)
sprite->pos2.x = 0;
sprite->data[6] = sprite->oam.affineParam & 0xFF;
sprite->data[0] = 0;
- if (IsDoubleBattle() && ewram17840.unk9_0
- && sprite->data[6] == GetBattlerAtPosition(2))
- sprite->callback = sub_8047230;
+ if (IsDoubleBattle() && ewram17840.unk9_0 && sprite->data[6] == GetBattlerAtPosition(2))
+ sprite->callback = SendOutMonAnimation_Delay;
else
sprite->callback = sub_8046C78;
+
StartSpriteAffineAnim(sprite, 0);
}
}
}
-static void sub_8047230(struct Sprite *sprite)
+static void SendOutMonAnimation_Delay(struct Sprite *sprite)
{
if (sprite->data[0]++ > 24)
{
@@ -901,15 +912,14 @@ static void sub_8047230(struct Sprite *sprite)
}
}
-static void sub_8047254(struct Sprite *sprite)
+static void SendOutOpponentMonAnimation_Step0(struct Sprite *sprite)
{
sprite->data[0]++;
if (sprite->data[0] > 15)
{
sprite->data[0] = 0;
- if (IsDoubleBattle() && ewram17840.unk9_0
- && sprite->data[6] == GetBattlerAtPosition(3))
- sprite->callback = sub_8047230;
+ if (IsDoubleBattle() && ewram17840.unk9_0 && sprite->data[6] == GetBattlerAtPosition(3))
+ sprite->callback = SendOutMonAnimation_Delay;
else
sprite->callback = sub_8046C78;
}
@@ -917,7 +927,7 @@ static void sub_8047254(struct Sprite *sprite)
static u8 sub_80472B0(u8 a, u8 b, u8 c, u8 d)
{
- return sub_814086C(a, b, c, d, 0);
+ return AnimateBallOpenParticles(a, b, c, d, 0);
}
static u8 sub_80472D8(u8 a, u8 b, u32 c)
@@ -1155,38 +1165,39 @@ static void oamc_804BEB4(struct Sprite *sprite)
}
}
-void sub_80478DC(u8 a)
+void LoadBallGraphics(u8 ballIndex)
{
- u16 var;
+ u16 tileStart;
- if (GetSpriteTileStartByTag(sBallSpriteSheets[a].tag) == 0xFFFF)
+ if (GetSpriteTileStartByTag(sBallSpriteSheets[ballIndex].tag) == 0xFFFF)
{
- LoadCompressedObjectPic(&sBallSpriteSheets[a]);
- LoadCompressedObjectPalette(&sBallSpritePalettes[a]);
+ LoadCompressedObjectPic(&sBallSpriteSheets[ballIndex]);
+ LoadCompressedObjectPalette(&sBallSpritePalettes[ballIndex]);
}
- switch (a)
+
+ switch (ballIndex)
{
case 6:
case 10:
case 11:
break;
default:
- var = GetSpriteTileStartByTag(sBallSpriteSheets[a].tag);
- LZDecompressVram(gUnknown_08D030D0, (void *)(VRAM + 0x10100 + var * 32));
+ tileStart = GetSpriteTileStartByTag(sBallSpriteSheets[ballIndex].tag);
+ LZDecompressVram(gUnknown_08D030D0, (void *)(VRAM + 0x10100 + tileStart * 32));
break;
}
}
-void sub_804794C(u8 a)
+void FreeBallGraphics(u8 ballIndex)
{
- FreeSpriteTilesByTag(sBallSpriteSheets[a].tag);
- FreeSpritePaletteByTag(sBallSpritePalettes[a].tag);
+ FreeSpriteTilesByTag(sBallSpriteSheets[ballIndex].tag);
+ FreeSpritePaletteByTag(sBallSpritePalettes[ballIndex].tag);
}
-static u16 sub_8047978(u8 a)
+static u16 GetBattlerBall(u8 battler)
{
- if (GetBattlerSide(a) == 0)
- return GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL);
+ if (GetBattlerSide(battler) == B_SIDE_PLAYER)
+ return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL);
else
- return GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL);
+ return GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL);
}
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 2fd7cb1ca..fe908de03 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -4778,7 +4778,7 @@ static void sub_80A1DCC(struct Pokemon *mon)
static void sub_80A1DE8(struct Pokemon *mon)
{
u8 ball = ball_number_to_ball_processing_index(GetMonData(mon, MON_DATA_POKEBALL));
- sub_80478DC(ball);
+ LoadBallGraphics(ball);
pssData.ballSpriteId = CreateSprite(&gBallSpriteTemplates[ball], 6, 136, 0);
gSprites[pssData.ballSpriteId].callback = SpriteCallbackDummy;