summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim.c20
-rw-r--r--src/battle_anim_effects_2.c8
-rw-r--r--src/battle_anim_effects_3.c8
-rw-r--r--src/battle_anim_mons.c58
-rw-r--r--src/battle_anim_special.c550
-rw-r--r--src/battle_anim_utility_funcs.c14
-rw-r--r--src/battle_bg.c6
-rw-r--r--src/battle_controller_link_opponent.c14
-rw-r--r--src/battle_controller_link_partner.c8
-rw-r--r--src/battle_controller_oak_old_man.c40
-rw-r--r--src/battle_controller_opponent.c14
-rw-r--r--src/battle_controller_player.c38
-rw-r--r--src/battle_controller_pokedude.c32
-rw-r--r--src/battle_controller_safari.c2
-rw-r--r--src/battle_controllers.c2
-rw-r--r--src/battle_gfx_sfx_util.c13
-rw-r--r--src/battle_intro.c4
-rw-r--r--src/battle_main.c232
-rw-r--r--src/battle_script_commands.c6
-rw-r--r--src/dark.c12
-rw-r--r--src/data.c12
-rw-r--r--src/daycare.c12
-rw-r--r--src/dodrio_berry_picking_2.c2
-rw-r--r--src/easy_chat.c2
-rw-r--r--src/fame_checker.c2
-rw-r--r--src/fighting.c4
-rw-r--r--src/fire.c2
-rw-r--r--src/ice.c8
-rw-r--r--src/load_save.c14
-rw-r--r--src/mystery_gift_menu.c2
-rw-r--r--src/pokeball.c2
-rw-r--r--src/pokemon.c90
-rw-r--r--src/pokemon_summary_screen.c16
-rw-r--r--src/psychic.c4
-rw-r--r--src/quest_log_player.c2
-rw-r--r--src/reshow_battle_screen.c34
-rw-r--r--src/roamer.c6
-rw-r--r--src/rock.c4
-rw-r--r--src/save.c34
-rw-r--r--src/string_util.c4
-rw-r--r--src/trainer_card.c2
-rw-r--r--src/water.c4
42 files changed, 680 insertions, 663 deletions
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 41f44a42c..f9b620025 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -2259,7 +2259,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, DMA3_32BIT);
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, DMA3_32BIT);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
@@ -2326,10 +2326,10 @@ void sub_80730C0(u16 a, u16 *b, s32 c, u8 d)
}
}
-void sub_8073128(bool8 to_BG2)
+void ResetBattleAnimBg(bool8 to_BG2)
{
struct BattleAnimBgData animBg;
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
if (!to_BG2)
{
@@ -2353,7 +2353,7 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
spriteId = gTasks[taskId].data[0];
palIndex = gTasks[taskId].data[6];
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
x = gTasks[taskId].data[1] - (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x);
y = gTasks[taskId].data[2] - (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y);
@@ -2429,13 +2429,13 @@ static void sub_807331C(u8 taskId)
if (sMonAnimTaskIdArray[0] != 0xFF)
{
- sub_8073128(toBG_2);
+ ResetBattleAnimBg(toBG_2);
DestroyTask(sMonAnimTaskIdArray[0]);
sMonAnimTaskIdArray[0] = 0xFF;
}
if (gTasks[taskId].data[0] > 1)
{
- sub_8073128(toBG_2 ^ 1);
+ ResetBattleAnimBg(toBG_2 ^ 1);
DestroyTask(sMonAnimTaskIdArray[1]);
sMonAnimTaskIdArray[1] = 0xFF;
}
@@ -2541,10 +2541,10 @@ static void sub_8073558(u8 taskId)
toBG_2 = TRUE;
if (IsBattlerSpriteVisible(battlerId))
- sub_8073128(toBG_2);
+ ResetBattleAnimBg(toBG_2);
if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK))
- sub_8073128(toBG_2 ^ 1);
+ ResetBattleAnimBg(toBG_2 ^ 1);
DestroyTask(taskId);
}
@@ -3303,9 +3303,9 @@ static void ScriptCmd_doublebattle_2D(void)
gSprites[spriteId].oam.priority = 3;
if (priority == 1)
- sub_8073128(FALSE);
+ ResetBattleAnimBg(FALSE);
else
- sub_8073128(TRUE);
+ ResetBattleAnimBg(TRUE);
}
}
}
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index ac4e9db30..9d9bc8b2e 100644
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -3232,7 +3232,7 @@ void AnimTask_HeartsBackground(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32);
@@ -3282,7 +3282,7 @@ static void HeartsBackground_Step(u8 taskId)
}
break;
case 3:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
gTasks[taskId].data[12]++;
break;
@@ -3313,7 +3313,7 @@ void AnimTask_ScaryFace(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
if (IsContest())
LZDecompressVram(gBattleAnimBgTilemap_ScaryFaceContest, animBg.bgTilemap);
@@ -3370,7 +3370,7 @@ static void ScaryFace_Step(u8 taskId)
}
break;
case 3:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
gTasks[taskId].data[12]++;
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index c259755df..b08783528 100644
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -2287,7 +2287,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
@@ -2348,7 +2348,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
}
break;
case 4:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
@@ -2467,7 +2467,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
@@ -2540,7 +2540,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
gTasks[taskId].data[0] = 1;
break;
case 5:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index ee5d4017d..d624b36fe 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -695,10 +695,10 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
void InitAnimArcTranslation(struct Sprite *sprite)
{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite);
- sprite->data[6] = 0x8000 / sprite->data[0];
+ sprite->data[6] = 0x8000 / sprite->sTransl_Speed;
sprite->data[7] = 0;
}
@@ -707,7 +707,7 @@ bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
if (AnimTranslateLinear(sprite))
return TRUE;
sprite->data[7] += sprite->data[6];
- sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
+ sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
return FALSE;
}
@@ -716,7 +716,7 @@ bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
if (AnimTranslateLinear(sprite))
return TRUE;
sprite->data[7] += sprite->data[6];
- sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
+ sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
return FALSE;
}
@@ -801,7 +801,7 @@ bool8 IsDoubleBattle(void)
return IS_DOUBLE_BATTLE();
}
-void sub_80752A0(struct BattleAnimBgData *animBgData)
+void GetBattleAnimBg1Data(struct BattleAnimBgData *animBgData)
{
animBgData->bgTiles = gUnknown_2022BB8;
animBgData->bgTilemap = (u16 *)gUnknown_2022BBC;
@@ -815,7 +815,7 @@ void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1)
{
if (arg1 == 1)
{
- sub_80752A0(animBgData);
+ GetBattleAnimBg1Data(animBgData);
}
else
{
@@ -919,15 +919,15 @@ void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
void InitAnimLinearTranslation(struct Sprite *sprite)
{
- s32 x = sprite->data[2] - sprite->data[1];
- s32 y = sprite->data[4] - sprite->data[3];
+ s32 x = sprite->sTransl_DestX - sprite->sTransl_InitX;
+ s32 y = sprite->sTransl_DestY - sprite->sTransl_InitY;
bool8 movingLeft = x < 0;
bool8 movingUp = y < 0;
u16 xDelta = abs(x) << 8;
u16 yDelta = abs(y) << 8;
- xDelta = xDelta / sprite->data[0];
- yDelta = yDelta / sprite->data[0];
+ xDelta = xDelta / sprite->sTransl_Speed;
+ yDelta = yDelta / sprite->sTransl_Speed;
if (movingLeft)
xDelta |= 1;
@@ -947,17 +947,17 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
void StartAnimLinearTranslation(struct Sprite *sprite)
{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite);
- sprite->callback = sub_807563C;
+ sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
sprite->callback(sprite);
}
void sub_80755B8(struct Sprite *sprite)
{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite);
sprite->callback = sub_8075658;
sprite->callback(sprite);
@@ -990,7 +990,7 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
return FALSE;
}
-void sub_807563C(struct Sprite *sprite)
+void RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
@@ -998,39 +998,39 @@ void sub_807563C(struct Sprite *sprite)
static void sub_8075658(struct Sprite *sprite)
{
- sub_801236C(sprite);
+ UpdatePlayerPosInThrowAnim(sprite);
if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
void sub_8075678(struct Sprite *sprite)
{
- s32 v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
+ s32 v1 = abs(sprite->sTransl_DestX - sprite->sTransl_InitX) << 8;
- sprite->data[0] = v1 / sprite->data[0];
+ sprite->sTransl_Speed = v1 / sprite->sTransl_Duration;
InitAnimLinearTranslation(sprite);
}
void sub_80756A4(struct Sprite *sprite)
{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_InitY = sprite->pos1.y;
sub_8075678(sprite);
- sprite->callback = sub_807563C;
+ sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
sprite->callback(sprite);
}
static void InitAnimFastLinearTranslation(struct Sprite *sprite)
{
- s32 xDiff = sprite->data[2] - sprite->data[1];
- s32 yDiff = sprite->data[4] - sprite->data[3];
+ s32 xDiff = sprite->sTransl_DestX - sprite->sTransl_InitX;
+ s32 yDiff = sprite->sTransl_DestY - sprite->sTransl_InitY;
bool8 xSign = xDiff < 0;
bool8 ySign = yDiff < 0;
u16 x2 = abs(xDiff) << 4;
u16 y2 = abs(yDiff) << 4;
- x2 /= sprite->data[0];
- y2 /= sprite->data[0];
+ x2 /= sprite->sTransl_Duration;
+ y2 /= sprite->sTransl_Duration;
if (xSign)
x2 |= 1;
else
@@ -1047,8 +1047,8 @@ static void InitAnimFastLinearTranslation(struct Sprite *sprite)
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_InitY = sprite->pos1.y;
InitAnimFastLinearTranslation(sprite);
sprite->callback = sub_80757E8;
sprite->callback(sprite);
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
index a919b0371..82d85034e 100644
--- a/src/battle_anim_special.c
+++ b/src/battle_anim_special.c
@@ -15,7 +15,6 @@
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
-#include "constants/pokemon.h"
// Defines
#define TAG_PARTICLES_POKEBALL 55020
@@ -31,58 +30,61 @@
#define TAG_PARTICLES_LUXURYBALL 55030
#define TAG_PARTICLES_PREMIERBALL 55031
+#define TAG_HEALTHBOX_PALS_1 55049
+#define TAG_HEALTHBOX_PALS_2 55050
+
#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
#define LOHALF(n) ((n) & 0xFFFF)
// RAM
-int sUnknown_3005424;
-u16 sUnknown_3005428;
-u16 sUnknown_300542C;
+UNUSED u32 gMonShrinkDuration;
+UNUSED u16 gMonShrinkDelta;
+UNUSED u16 gMonShrinkDistance;
// Function Declarations
-static void sub_80EEDF4(u8);
-static void sub_80EF1CC(u8);
-static void sub_80EF698(u8);
-static void sub_80EF8C0(struct Sprite *);
-static void sub_80EF7EC(u8);
-static void sub_80EF864(u8);
-static void sub_80EF8F0(struct Sprite *);
-static void sub_80F0478(struct Sprite *);
-static void sub_80EF9B4(struct Sprite *);
-static void sub_80EFA0C(struct Sprite *);
-static void sub_80EFB58(struct Sprite *);
-static void sub_80EFB9C(struct Sprite *);
-static void sub_80EFF80(struct Sprite *);
-static void sub_80EFCA0(struct Sprite *);
-static void sub_80EFCEC(struct Sprite *);
-static void sub_80EFFA4(struct Sprite *);
-static void sub_80F02B0(struct Sprite *);
-static void sub_80EFFC4(struct Sprite *);
-static void sub_80F01B8(struct Sprite *);
-static void sub_80F00A4(struct Sprite *);
-static void sub_80F018C(struct Sprite *);
-static void sub_80F05B4(u8);
-static void sub_80F0278(struct Sprite *);
-static void sub_80F0378(struct Sprite *);
-static void sub_80F04B4(struct Sprite *);
+static void AnimTask_UnusedLevelUpHealthBox_Step(u8);
+static void AnimTask_FlashHealthboxOnLevelUp_Step(u8);
+static void AnimTask_ThrowBall_WaitAnimObjComplete(u8);
+static void SpriteCB_ThrowBall_Init(struct Sprite *);
+static void AnimTask_ThrowBallSpecial_PlaySfx(u8);
+static void AnimTask_ThrowBallSpecial_ResetPlayerSprite(u8);
+static void SpriteCB_ThrowBall_ArcFlight(struct Sprite *);
+static void TrainerBallBlock(struct Sprite *);
+static void SpriteCB_ThrowBall_TenFrameDelay(struct Sprite *);
+static void SpriteCB_ThrowBall_ShrinkMon(struct Sprite *);
+static void SpriteCB_ThrowBall_InitialFall(struct Sprite *);
+static void SpriteCB_ThrowBall_Bounce(struct Sprite *);
+static void SpriteCB_ThrowBall_DelayThenBreakOut(struct Sprite *);
+static void SpriteCB_ThrowBall_InitShake(struct Sprite *);
+static void SpriteCB_ThrowBall_DoShake(struct Sprite *);
+static void SpriteCB_ThrowBall_InitClick(struct Sprite *);
+static void SpriteCB_ThrowBall_BeginBreakOut(struct Sprite *);
+static void SpriteCB_ThrowBall_DoClick(struct Sprite *);
+static void CreateStarsWhenBallClicks(struct Sprite *);
+static void SpriteCB_ThrowBall_FinishClick(struct Sprite *);
+static void BattleAnimObj_SignalEnd(struct Sprite *);
+static void LoadBallParticleGfx(u8);
+static void SpriteCB_BallCaptureSuccessStar(struct Sprite *);
+static void SpriteCB_ThrowBall_RunBreakOut(struct Sprite *);
+static void TrainerBallBlock2(struct Sprite *);
static void GhostBallDodge(struct Sprite *sprite);
-static void sub_80F0574(struct Sprite *sprite);
+static void GhostBallDodge2(struct Sprite *sprite);
static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
static void DestroyBallOpenAnimationParticle(struct Sprite *);
static void FanOutBallOpenParticles_Step1(struct Sprite *);
static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *);
static void PremierBallOpenParticleAnimation_Step1(struct Sprite *);
-static void sub_80F12E0(u8);
-static void sub_80F1370(u8);
-static void sub_80F13C0(u8);
-static void sub_80F181C(u8);
-static void sub_80F1A2C(struct Sprite *);
-static void sub_80F1A80(struct Sprite *);
-static void sub_80F19E0(u8);
-static void sub_80F1BCC(struct Sprite *);
-static void sub_80F1C04(struct Sprite *);
-static void sub_80F1C30(struct Sprite *);
+static void Task_FadeMon_ToBallColor(u8);
+static void Task_FadeMon_ToNormal(u8);
+static void Task_FadeMon_ToNormal_Step(u8);
+static void AnimTask_ShinySparkles(u8);
+static void SpriteCB_ShinySparkles_1(struct Sprite *);
+static void SpriteCB_ShinySparkles_2(struct Sprite *);
+static void AnimTask_ShinySparkles_WaitSparkles(u8);
+static void SpriteCB_SafariBaitOrRock_WaitPlayerThrow(struct Sprite *);
+static void SpriteCB_SafariBaitOrRock_ArcFlight(struct Sprite *);
+static void SpriteCB_SafariBaitOrRock_Finish(struct Sprite *);
static void PokeBallOpenParticleAnimation(u8);
static void GreatBallOpenParticleAnimation(u8);
static void SafariBallOpenParticleAnimation(u8);
@@ -92,65 +94,65 @@ static void DiveBallOpenParticleAnimation(u8);
static void RepeatBallOpenParticleAnimation(u8);
static void TimerBallOpenParticleAnimation(u8);
static void PremierBallOpenParticleAnimation(u8);
-static void sub_80F1B3C(struct Sprite *);
+static void SpriteCB_SafariBaitOrRock_Init(struct Sprite *);
// Data
-struct BallCaptureSuccessStarData
+struct CaptureStar
{
s8 xOffset;
s8 yOffset;
- s8 unk2;
+ s8 amplitude;
};
-static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
+static const struct CaptureStar sCaptureStar[] =
{
{
.xOffset = 10,
.yOffset = 2,
- .unk2 = -3,
+ .amplitude = -3,
},
{
.xOffset = 15,
.yOffset = 0,
- .unk2 = -4,
+ .amplitude = -4,
},
{
.xOffset = -10,
.yOffset = 2,
- .unk2 = -4,
+ .amplitude = -4,
},
};
const struct CompressedSpriteSheet gBallParticleSpritesheets[] =
{
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL},
- {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL},
+ [BALL_POKE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL},
+ [BALL_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
+ [BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
+ [BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL},
+ [BALL_MASTER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL},
+ [BALL_NET] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL},
+ [BALL_DIVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL},
+ [BALL_NEST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL},
+ [BALL_REPEAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL},
+ [BALL_TIMER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL},
+ [BALL_LUXURY] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL},
+ [BALL_PREMIER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL},
};
const struct CompressedSpritePalette gBallParticlePalettes[] =
{
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL},
- {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL},
+ [BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
+ [BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
+ [BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
+ [BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL},
+ [BALL_MASTER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL},
+ [BALL_NET] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL},
+ [BALL_DIVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL},
+ [BALL_NEST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL},
+ [BALL_REPEAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL},
+ [BALL_TIMER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL},
+ [BALL_LUXURY] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL},
+ [BALL_PREMIER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL},
};
static const union AnimCmd sAnim_RegularBall[] =
@@ -207,39 +209,39 @@ static const union AnimCmd *const sAnims_BallParticles[] =
static const u8 sBallParticleAnimNums[] =
{
- [BALL_POKE] = 0,
- [BALL_GREAT] = 0,
- [BALL_SAFARI] = 0,
- [BALL_ULTRA] = 5,
- [BALL_MASTER] = 1,
- [BALL_NET] = 2,
- [BALL_DIVE] = 2,
- [BALL_NEST] = 3,
- [BALL_REPEAT] = 5,
- [BALL_TIMER] = 5,
- [BALL_LUXURY] = 4,
+ [BALL_POKE] = 0,
+ [BALL_GREAT] = 0,
+ [BALL_SAFARI] = 0,
+ [BALL_ULTRA] = 5,
+ [BALL_MASTER] = 1,
+ [BALL_NET] = 2,
+ [BALL_DIVE] = 2,
+ [BALL_NEST] = 3,
+ [BALL_REPEAT] = 5,
+ [BALL_TIMER] = 5,
+ [BALL_LUXURY] = 4,
[BALL_PREMIER] = 4,
};
static const TaskFunc sBallParticleAnimationFuncs[] =
{
- PokeBallOpenParticleAnimation,
- GreatBallOpenParticleAnimation,
- SafariBallOpenParticleAnimation,
- UltraBallOpenParticleAnimation,
- MasterBallOpenParticleAnimation,
- SafariBallOpenParticleAnimation,
- DiveBallOpenParticleAnimation,
- UltraBallOpenParticleAnimation,
- RepeatBallOpenParticleAnimation,
- TimerBallOpenParticleAnimation,
- GreatBallOpenParticleAnimation,
- PremierBallOpenParticleAnimation,
+ [BALL_POKE] = PokeBallOpenParticleAnimation,
+ [BALL_GREAT] = GreatBallOpenParticleAnimation,
+ [BALL_SAFARI] = SafariBallOpenParticleAnimation,
+ [BALL_ULTRA] = UltraBallOpenParticleAnimation,
+ [BALL_MASTER] = MasterBallOpenParticleAnimation,
+ [BALL_NET] = SafariBallOpenParticleAnimation,
+ [BALL_DIVE] = DiveBallOpenParticleAnimation,
+ [BALL_NEST] = UltraBallOpenParticleAnimation,
+ [BALL_REPEAT] = RepeatBallOpenParticleAnimation,
+ [BALL_TIMER] = TimerBallOpenParticleAnimation,
+ [BALL_LUXURY] = GreatBallOpenParticleAnimation,
+ [BALL_PREMIER] = PremierBallOpenParticleAnimation,
};
static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
{
- {
+ [BALL_POKE] = {
.tileTag = TAG_PARTICLES_POKEBALL,
.paletteTag = TAG_PARTICLES_POKEBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -248,7 +250,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_GREAT] = {
.tileTag = TAG_PARTICLES_GREATBALL,
.paletteTag = TAG_PARTICLES_GREATBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -257,7 +259,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_SAFARI] = {
.tileTag = TAG_PARTICLES_SAFARIBALL,
.paletteTag = TAG_PARTICLES_SAFARIBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -266,7 +268,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_ULTRA] = {
.tileTag = TAG_PARTICLES_ULTRABALL,
.paletteTag = TAG_PARTICLES_ULTRABALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -275,7 +277,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_MASTER] = {
.tileTag = TAG_PARTICLES_MASTERBALL,
.paletteTag = TAG_PARTICLES_MASTERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -284,7 +286,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_NET] = {
.tileTag = TAG_PARTICLES_NETBALL,
.paletteTag = TAG_PARTICLES_NETBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -293,7 +295,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_DIVE] = {
.tileTag = TAG_PARTICLES_DIVEBALL,
.paletteTag = TAG_PARTICLES_DIVEBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -302,7 +304,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_NEST] = {
.tileTag = TAG_PARTICLES_NESTBALL,
.paletteTag = TAG_PARTICLES_NESTBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -311,7 +313,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_REPEAT] = {
.tileTag = TAG_PARTICLES_REPEATBALL,
.paletteTag = TAG_PARTICLES_REPEATBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -320,7 +322,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_TIMER] = {
.tileTag = TAG_PARTICLES_TIMERBALL,
.paletteTag = TAG_PARTICLES_TIMERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -329,7 +331,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_LUXURY] = {
.tileTag = TAG_PARTICLES_LUXURYBALL,
.paletteTag = TAG_PARTICLES_LUXURYBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -338,7 +340,7 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
- {
+ [BALL_PREMIER] = {
.tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
@@ -351,17 +353,17 @@ static const struct SpriteTemplate sBallParticlesSpriteTemplates[] =
static const u16 sBallOpenFadeColors[] =
{
- [BALL_POKE] = RGB(31, 22, 30),
- [BALL_GREAT] = RGB(16, 23, 30),
- [BALL_SAFARI] = RGB(23, 30, 20),
- [BALL_ULTRA] = RGB(31, 31, 15),
- [BALL_MASTER] = RGB(23, 20, 28),
- [BALL_NET] = RGB(21, 31, 25),
- [BALL_DIVE] = RGB(12, 25, 30),
- [BALL_NEST] = RGB(30, 27, 10),
- [BALL_REPEAT] = RGB(31, 24, 16),
- [BALL_TIMER] = RGB(29, 30, 30),
- [BALL_LUXURY] = RGB(31, 17, 10),
+ [BALL_POKE] = RGB(31, 22, 30),
+ [BALL_GREAT] = RGB(16, 23, 30),
+ [BALL_SAFARI] = RGB(23, 30, 20),
+ [BALL_ULTRA] = RGB(31, 31, 15),
+ [BALL_MASTER] = RGB(23, 20, 28),
+ [BALL_NET] = RGB(21, 31, 25),
+ [BALL_DIVE] = RGB(12, 25, 30),
+ [BALL_NEST] = RGB(30, 27, 10),
+ [BALL_REPEAT] = RGB(31, 24, 16),
+ [BALL_TIMER] = RGB(29, 30, 30),
+ [BALL_LUXURY] = RGB(31, 17, 10),
[BALL_PREMIER] = RGB(31, 9, 10),
// Unused
@@ -375,7 +377,7 @@ static const u16 sBallOpenFadeColors[] =
RGB(4, 0, 0),
};
-const struct SpriteTemplate gSafariBaitSpriteTemplate =
+USED const struct SpriteTemplate gSafariBaitSpriteTemplate =
{
.tileTag = ANIM_TAG_SAFARI_BAIT,
.paletteTag = ANIM_TAG_SAFARI_BAIT,
@@ -383,35 +385,35 @@ const struct SpriteTemplate gSafariBaitSpriteTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80F1B3C,
+ .callback = SpriteCB_SafariBaitOrRock_Init,
};
-static const union AnimCmd sUnknown_840C204[] =
+static const union AnimCmd sSpriteAnim_SafariRock_0[] =
{
ANIMCMD_FRAME(64, 1),
ANIMCMD_END,
};
-static const union AnimCmd *const sSpriteAnimTable_840C20C[] =
+static const union AnimCmd *const sSpriteAnimTable_SafariRock[] =
{
- sUnknown_840C204,
+ sSpriteAnim_SafariRock_0,
};
-const struct SpriteTemplate gSafariRockTemplate =
+USED const struct SpriteTemplate gSafariRockTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = sSpriteAnimTable_840C20C,
+ .anims = sSpriteAnimTable_SafariRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80F1B3C,
+ .callback = SpriteCB_SafariBaitOrRock_Init,
};
// Functions
-void sub_80EEC0C(u8 taskId)
+UNUSED void AnimTask_UnusedLevelUpHealthBox(u8 taskId)
{
- struct BattleAnimBgData unknownStruct;
+ struct BattleAnimBgData animBgData;
u8 healthBoxSpriteId;
u8 battler;
u8 spriteId1, spriteId2, spriteId3, spriteId4;
@@ -442,19 +444,19 @@ void sub_80EEC0C(u8 taskId)
gSprites[spriteId4].oam.objMode = ST_OAM_OBJ_WINDOW;
gSprites[spriteId3].callback = SpriteCallbackDummy;
gSprites[spriteId4].callback = SpriteCallbackDummy;
- sub_80752A0(&unknownStruct);
- AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_D2EC24_Tilemap);
- AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_D2EC24_Gfx, unknownStruct.tilesOffset);
- LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
+ GetBattleAnimBg1Data(&animBgData);
+ AnimLoadCompressedBgTilemap(animBgData.bgId, gUnknown_D2EC24_Tilemap);
+ AnimLoadCompressedBgGfx(animBgData.bgId, gUnknown_D2EC24_Gfx, animBgData.tilesOffset);
+ LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32);
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
gTasks[taskId].data[1] = 640;
gTasks[taskId].data[0] = spriteId3;
gTasks[taskId].data[2] = spriteId4;
- gTasks[taskId].func = sub_80EEDF4;
+ gTasks[taskId].func = AnimTask_UnusedLevelUpHealthBox_Step;
}
-static void sub_80EEDF4(u8 taskId)
+static void AnimTask_UnusedLevelUpHealthBox_Step(u8 taskId)
{
u8 spriteId1, spriteId2;
u8 battler;
@@ -488,7 +490,7 @@ static void sub_80EEDF4(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0)
{
- sub_8073128(0);
+ ResetBattleAnimBg(0);
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
@@ -514,7 +516,7 @@ static void sub_80EEDF4(u8 taskId)
}
}
-void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
+void DoLoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battler)
{
u8 healthBoxSpriteId;
u8 spriteId1, spriteId2;
@@ -523,8 +525,8 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
healthBoxSpriteId = gHealthboxSpriteIds[battler];
spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
spriteId2 = gSprites[healthBoxSpriteId].data[5];
- *paletteId1 = AllocSpritePalette(0xD709);
- *paletteId2 = AllocSpritePalette(0xD70A);
+ *paletteId1 = AllocSpritePalette(TAG_HEALTHBOX_PALS_1);
+ *paletteId2 = AllocSpritePalette(TAG_HEALTHBOX_PALS_2);
offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
@@ -534,15 +536,15 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
gSprites[spriteId2].oam.paletteNum = *paletteId2;
}
-void AnimTask_LoadHealthboxPalsForLevelUp(u8 taskId)
+USED void AnimTask_LoadHealthboxPalsForLevelUp(u8 taskId)
{
u8 paletteId1, paletteId2;
- sub_80EEFC8(&paletteId1, &paletteId2, gBattleAnimAttacker);
+ DoLoadHealthboxPalsForLevelUp(&paletteId1, &paletteId2, gBattleAnimAttacker);
DestroyAnimVisualTask(taskId);
}
-void sub_80EF0E0(u8 battler)
+void DoFreeHealthboxPalsForLevelUp(u8 battler)
{
u8 healthBoxSpriteId;
u8 spriteId1, spriteId2;
@@ -551,29 +553,29 @@ void sub_80EF0E0(u8 battler)
healthBoxSpriteId = gHealthboxSpriteIds[battler];
spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
spriteId2 = gSprites[healthBoxSpriteId].data[5];
- FreeSpritePaletteByTag(0xD709);
- FreeSpritePaletteByTag(0xD70A);
- paletteId1 = IndexOfSpritePaletteTag(0xD6FF);
- paletteId2 = IndexOfSpritePaletteTag(0xD704);
+ FreeSpritePaletteByTag(TAG_HEALTHBOX_PALS_1);
+ FreeSpritePaletteByTag(TAG_HEALTHBOX_PALS_2);
+ paletteId1 = IndexOfSpritePaletteTag(TAG_HEALTHBOX_PAL);
+ paletteId2 = IndexOfSpritePaletteTag(TAG_HEALTHBAR_PAL);
gSprites[healthBoxSpriteId].oam.paletteNum = paletteId1;
gSprites[spriteId1].oam.paletteNum = paletteId1;
gSprites[spriteId2].oam.paletteNum = paletteId2;
}
-void AnimTask_FreeHealthboxPalsForLevelUp(u8 taskId)
+USED void AnimTask_FreeHealthboxPalsForLevelUp(u8 taskId)
{
- sub_80EF0E0(gBattleAnimAttacker);
+ DoFreeHealthboxPalsForLevelUp(gBattleAnimAttacker);
DestroyAnimVisualTask(taskId);
}
-void AnimTask_FlashHealthboxOnLevelUp(u8 taskId)
+USED void AnimTask_FlashHealthboxOnLevelUp(u8 taskId)
{
gTasks[taskId].data[10] = gBattleAnimArgs[0];
gTasks[taskId].data[11] = gBattleAnimArgs[1];
- gTasks[taskId].func = sub_80EF1CC;
+ gTasks[taskId].func = AnimTask_FlashHealthboxOnLevelUp_Step;
}
-static void sub_80EF1CC(u8 taskId)
+static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId)
{
u8 paletteNum;
int paletteOffset, colorOffset;
@@ -582,7 +584,7 @@ static void sub_80EF1CC(u8 taskId)
if (gTasks[taskId].data[0]++ >= gTasks[taskId].data[11])
{
gTasks[taskId].data[0] = 0;
- paletteNum = IndexOfSpritePaletteTag(0xD709);
+ paletteNum = IndexOfSpritePaletteTag(TAG_HEALTHBOX_PALS_1);
colorOffset = gTasks[taskId].data[10] == 0 ? 6 : 2;
switch (gTasks[taskId].data[1])
{
@@ -610,7 +612,7 @@ static void sub_80EF1CC(u8 taskId)
}
}
-void AnimTask_SwitchOutShrinkMon(u8 taskId)
+USED void AnimTask_SwitchOutShrinkMon(u8 taskId)
{
u8 spriteId;
@@ -637,7 +639,7 @@ void AnimTask_SwitchOutShrinkMon(u8 taskId)
}
}
-void AnimTask_SwitchOutBallEffect(u8 taskId)
+USED void AnimTask_SwitchOutBallEffect(u8 taskId)
{
u8 spriteId;
u16 ball;
@@ -672,7 +674,7 @@ void AnimTask_SwitchOutBallEffect(u8 taskId)
}
}
-void AnimTask_LoadBallGfx(u8 taskId)
+USED void AnimTask_LoadBallGfx(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
@@ -680,7 +682,7 @@ void AnimTask_LoadBallGfx(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void AnimTask_FreeBallGfx(u8 taskId)
+USED void AnimTask_FreeBallGfx(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
@@ -688,7 +690,7 @@ void AnimTask_FreeBallGfx(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void AnimTask_IsBallBlockedByTrainerOrDodged(u8 taskId)
+USED void AnimTask_IsBallBlockedByTrainerOrDodged(u8 taskId)
{
switch (gBattleSpritesDataPtr->animationData->ballThrowCaseId)
{
@@ -738,7 +740,7 @@ u8 ItemIdToBallId(u16 ballItem)
}
}
-void AnimTask_ThrowBall(u8 taskId)
+USED void AnimTask_ThrowBall(u8 taskId)
{
u8 ballId;
u8 spriteId;
@@ -748,13 +750,13 @@ void AnimTask_ThrowBall(u8 taskId)
gSprites[spriteId].data[0] = 34;
gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) - 16;
- gSprites[spriteId].callback = sub_80EF8C0;
+ gSprites[spriteId].callback = SpriteCB_ThrowBall_Init;
gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
gTasks[taskId].data[0] = spriteId;
- gTasks[taskId].func = sub_80EF698;
+ gTasks[taskId].func = AnimTask_ThrowBall_WaitAnimObjComplete;
}
-static void sub_80EF698(u8 taskId)
+static void AnimTask_ThrowBall_WaitAnimObjComplete(u8 taskId)
{
u8 spriteId = gTasks[taskId].data[0];
@@ -762,7 +764,7 @@ static void sub_80EF698(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void AnimTask_ThrowBallSpecial(u8 taskId)
+USED void AnimTask_ThrowBallSpecial(u8 taskId)
{
int x, y;
u8 ballId;
@@ -789,23 +791,23 @@ void AnimTask_ThrowBallSpecial(u8 taskId)
gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) - 16;
gSprites[spriteId].callback = SpriteCallbackDummy;
- gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8012354;
+ gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = SpriteCB_PlayerThrowInit;
gTasks[taskId].data[0] = spriteId;
- gTasks[taskId].func = sub_80EF7EC;
+ gTasks[taskId].func = AnimTask_ThrowBallSpecial_PlaySfx;
}
-static void sub_80EF7EC(u8 taskId)
+static void AnimTask_ThrowBallSpecial_PlaySfx(u8 taskId)
{
if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1)
{
PlaySE12WithPanning(SE_BALL_THROW, 0);
- gSprites[gTasks[taskId].data[0]].callback = sub_80EF8C0;
- CreateTask(sub_80EF864, 10);
- gTasks[taskId].func = sub_80EF698;
+ gSprites[gTasks[taskId].data[0]].callback = SpriteCB_ThrowBall_Init;
+ CreateTask(AnimTask_ThrowBallSpecial_ResetPlayerSprite, 10);
+ gTasks[taskId].func = AnimTask_ThrowBall_WaitAnimObjComplete;
}
}
-static void sub_80EF864(u8 taskId)
+static void AnimTask_ThrowBallSpecial_ResetPlayerSprite(u8 taskId)
{
if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded)
{
@@ -814,21 +816,21 @@ static void sub_80EF864(u8 taskId)
}
}
-static void sub_80EF8C0(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_Init(struct Sprite *sprite)
{
- u16 temp = sprite->data[1];
- u16 temp2 = sprite->data[2];
+ u16 destX = sprite->data[1];
+ u16 destY = sprite->data[2];
- sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = temp;
- sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = temp2;
- sprite->data[5] = -40;
+ sprite->sTransl_InitX = sprite->pos1.x;
+ sprite->sTransl_DestX = destX;
+ sprite->sTransl_InitY = sprite->pos1.y;
+ sprite->sTransl_DestY = destY;
+ sprite->sTransl_ArcAmpl = -40;
InitAnimArcTranslation(sprite);
- sprite->callback = sub_80EF8F0;
+ sprite->callback = SpriteCB_ThrowBall_ArcFlight;
}
-static void sub_80EF8F0(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_ArcFlight(struct Sprite *sprite)
{
int i;
u8 ballId;
@@ -837,7 +839,7 @@ static void sub_80EF8F0(struct Sprite *sprite)
{
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
{
- sprite->callback = sub_80F0478;
+ sprite->callback = TrainerBallBlock;
}
else if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_GHOST_DODGE)
{
@@ -855,7 +857,7 @@ static void sub_80EF8F0(struct Sprite *sprite)
sprite->data[i] = 0;
sprite->data[5] = 0;
- sprite->callback = sub_80EF9B4;
+ sprite->callback = SpriteCB_ThrowBall_TenFrameDelay;
ballId = ItemIdToBallId(gLastUsedItem);
switch (ballId)
@@ -869,17 +871,17 @@ static void sub_80EF8F0(struct Sprite *sprite)
}
}
-static void sub_80EF9B4(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_TenFrameDelay(struct Sprite *sprite)
{
if (++sprite->data[5] == 10)
{
sprite->data[5] = CreateTask(TaskDummy, 50);
- sprite->callback = sub_80EFA0C;
+ sprite->callback = SpriteCB_ThrowBall_ShrinkMon;
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0;
}
}
-static void sub_80EFA0C(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_ShrinkMon(struct Sprite *sprite)
{
u8 spriteId;
u8 taskId;
@@ -894,10 +896,10 @@ static void sub_80EFA0C(struct Sprite *sprite)
case 0:
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[10] = 256;
- sUnknown_3005424 = 28;
- sUnknown_300542C = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
- sUnknown_3005428 = (u32)(sUnknown_300542C * 256) / 28;
- gTasks[taskId].data[2] = sUnknown_3005428;
+ gMonShrinkDuration = 28;
+ gMonShrinkDistance = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
+ gMonShrinkDelta = (gMonShrinkDistance * 256) / gMonShrinkDuration;
+ gTasks[taskId].data[2] = gMonShrinkDelta;
gTasks[taskId].data[0]++;
break;
case 1:
@@ -919,13 +921,13 @@ static void sub_80EFA0C(struct Sprite *sprite)
DestroyTask(taskId);
StartSpriteAnim(sprite, 2);
sprite->data[5] = 0;
- sprite->callback = sub_80EFB58;
+ sprite->callback = SpriteCB_ThrowBall_InitialFall;
}
break;
}
}
-static void sub_80EFB58(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_InitialFall(struct Sprite *sprite)
{
int angle;
@@ -937,11 +939,11 @@ static void sub_80EFB58(struct Sprite *sprite)
angle = 0;
sprite->pos1.y += Cos(angle, 40);
sprite->pos2.y = -Cos(angle, sprite->data[4]);
- sprite->callback = sub_80EFB9C;
+ sprite->callback = SpriteCB_ThrowBall_Bounce;
}
}
-static void sub_80EFB9C(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_Bounce(struct Sprite *sprite)
{
bool8 lastBounce;
int bounceCount;
@@ -998,18 +1000,18 @@ static void sub_80EFB9C(struct Sprite *sprite)
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
{
sprite->data[5] = 0;
- sprite->callback = sub_80EFF80;
+ sprite->callback = SpriteCB_ThrowBall_DelayThenBreakOut;
}
else
{
- sprite->callback = sub_80EFCA0;
+ sprite->callback = SpriteCB_ThrowBall_InitShake;
sprite->data[4] = 1;
sprite->data[5] = 0;
}
}
}
-static void sub_80EFCA0(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_InitShake(struct Sprite *sprite)
{
if (++sprite->data[3] == 31)
{
@@ -1017,12 +1019,12 @@ static void sub_80EFCA0(struct Sprite *sprite)
sprite->affineAnimPaused = TRUE;
StartSpriteAffineAnim(sprite, 1);
gBattleSpritesDataPtr->animationData->field_C = 0;
- sprite->callback = sub_80EFCEC;
+ sprite->callback = SpriteCB_ThrowBall_DoShake;
PlaySE(SE_BALL);
}
}
-static void sub_80EFCEC(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
{
s8 state;
u16 var0;
@@ -1132,13 +1134,13 @@ static void sub_80EFCEC(struct Sprite *sprite)
if (state == gBattleSpritesDataPtr->animationData->ballThrowCaseId)
{
sprite->affineAnimPaused = TRUE;
- sprite->callback = sub_80EFF80;
+ sprite->callback = SpriteCB_ThrowBall_DelayThenBreakOut;
}
else
{
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_3_SHAKES_SUCCESS && state == 3)
{
- sprite->callback = sub_80EFFA4;
+ sprite->callback = SpriteCB_ThrowBall_InitClick;
sprite->affineAnimPaused = TRUE;
}
else
@@ -1166,25 +1168,25 @@ static void sub_80EFCEC(struct Sprite *sprite)
}
}
-static void sub_80EFF80(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_DelayThenBreakOut(struct Sprite *sprite)
{
if (++sprite->data[5] == 31)
{
sprite->data[5] = 0;
- sprite->callback = sub_80F02B0;
+ sprite->callback = SpriteCB_ThrowBall_BeginBreakOut;
}
}
-static void sub_80EFFA4(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_InitClick(struct Sprite *sprite)
{
sprite->animPaused = TRUE;
- sprite->callback = sub_80EFFC4;
+ sprite->callback = SpriteCB_ThrowBall_DoClick;
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = 0;
}
-static void sub_80EFFC4(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_DoClick(struct Sprite *sprite)
{
u8 *battler = &gBattleAnimTarget;
@@ -1193,7 +1195,7 @@ static void sub_80EFFC4(struct Sprite *sprite)
{
PlaySE(SE_BALL_CLICK);
BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB_BLACK);
- sub_80F01B8(sprite);
+ CreateStarsWhenBallClicks(sprite);
}
else if (sprite->data[4] == 60)
{
@@ -1211,11 +1213,11 @@ static void sub_80EFFC4(struct Sprite *sprite)
FreeOamMatrix(gSprites[gBattlerSpriteIds[*battler]].oam.matrixNum);
DestroySprite(&gSprites[gBattlerSpriteIds[*battler]]);
sprite->data[0] = 0;
- sprite->callback = sub_80F00A4;
+ sprite->callback = SpriteCB_ThrowBall_FinishClick;
}
}
-static void sub_80F00A4(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_FinishClick(struct Sprite *sprite)
{
u8 paletteIndex;
@@ -1251,13 +1253,13 @@ static void sub_80F00A4(struct Sprite *sprite)
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
sprite->data[0] = 0;
- sprite->callback = sub_80F018C;
+ sprite->callback = BattleAnimObj_SignalEnd;
}
break;
}
}
-static void sub_80F018C(struct Sprite *sprite)
+static void BattleAnimObj_SignalEnd(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -1270,7 +1272,7 @@ static void sub_80F018C(struct Sprite *sprite)
}
}
-static void sub_80F01B8(struct Sprite *sprite)
+static void CreateStarsWhenBallClicks(struct Sprite *sprite)
{
u32 i;
u8 subpriority;
@@ -1285,37 +1287,37 @@ static void sub_80F01B8(struct Sprite *sprite)
sprite->subpriority = 1;
}
- sub_80F05B4(4);
+ LoadBallParticleGfx(BALL_MASTER);
for (i = 0; i < 3; i++)
{
- u8 spriteId = CreateSprite(&sBallParticlesSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority);
+ u8 spriteId = CreateSprite(&sBallParticlesSpriteTemplates[BALL_MASTER], sprite->pos1.x, sprite->pos1.y, subpriority);
if (spriteId != MAX_SPRITES)
{
- gSprites[spriteId].data[0] = 24;
- gSprites[spriteId].data[2] = sprite->pos1.x + sBallCaptureSuccessStarData[i].xOffset;
- gSprites[spriteId].data[4] = sprite->pos1.y + sBallCaptureSuccessStarData[i].yOffset;
- gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2;
+ gSprites[spriteId].sTransl_Speed = 24;
+ gSprites[spriteId].sTransl_DestX = sprite->pos1.x + sCaptureStar[i].xOffset;
+ gSprites[spriteId].sTransl_DestY = sprite->pos1.y + sCaptureStar[i].yOffset;
+ gSprites[spriteId].sTransl_ArcAmpl = sCaptureStar[i].amplitude;
InitAnimArcTranslation(&gSprites[spriteId]);
- gSprites[spriteId].callback = sub_80F0278;
- StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[4]);
+ gSprites[spriteId].callback = SpriteCB_BallCaptureSuccessStar;
+ StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[BALL_MASTER]);
}
}
}
-static void sub_80F0278(struct Sprite *sprite)
+static void SpriteCB_BallCaptureSuccessStar(struct Sprite *sprite)
{
sprite->invisible = !sprite->invisible;
if (TranslateAnimHorizontalArc(sprite))
DestroySprite(sprite);
}
-static void sub_80F02B0(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_BeginBreakOut(struct Sprite *sprite)
{
u8 ballId;
StartSpriteAnim(sprite, 1);
StartSpriteAffineAnim(sprite, 0);
- sprite->callback = sub_80F0378;
+ sprite->callback = SpriteCB_ThrowBall_RunBreakOut;
ballId = ItemIdToBallId(gLastUsedItem);
switch (ballId)
{
@@ -1331,7 +1333,7 @@ static void sub_80F02B0(struct Sprite *sprite)
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000;
}
-static void sub_80F0378(struct Sprite *sprite)
+static void SpriteCB_ThrowBall_RunBreakOut(struct Sprite *sprite)
{
bool32 next = FALSE;
@@ -1354,13 +1356,13 @@ static void sub_80F0378(struct Sprite *sprite)
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
sprite->data[0] = 0;
- sprite->callback = sub_80F018C;
+ sprite->callback = BattleAnimObj_SignalEnd;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
}
-static void sub_80F0478(struct Sprite *sprite)
+static void TrainerBallBlock(struct Sprite *sprite)
{
int i;
@@ -1370,10 +1372,10 @@ static void sub_80F0478(struct Sprite *sprite)
for (i = 0; i < 6; i++)
sprite->data[i] = 0;
- sprite->callback = sub_80F04B4;
+ sprite->callback = TrainerBallBlock2;
}
-static void sub_80F04B4(struct Sprite *sprite)
+static void TrainerBallBlock2(struct Sprite *sprite)
{
s16 var0 = sprite->data[0] + 0x800;
s16 var1 = sprite->data[1] + 0x680;
@@ -1386,7 +1388,7 @@ static void sub_80F04B4(struct Sprite *sprite)
|| sprite->pos1.x + sprite->pos2.x < -8)
{
sprite->data[0] = 0;
- sprite->callback = sub_80F018C;
+ sprite->callback = BattleAnimObj_SignalEnd;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
@@ -1405,10 +1407,10 @@ static void GhostBallDodge(struct Sprite *sprite)
sprite->data[5] = 0x20;
InitAnimArcTranslation(sprite);
TranslateAnimVerticalArc(sprite);
- sprite->callback = sub_80F0574;
+ sprite->callback = GhostBallDodge2;
}
-static void sub_80F0574(struct Sprite *sprite)
+static void GhostBallDodge2(struct Sprite *sprite)
{
if (!TranslateAnimVerticalArc(sprite))
{
@@ -1417,15 +1419,13 @@ static void sub_80F0574(struct Sprite *sprite)
}
sprite->data[0] = 0;
- sprite->callback = sub_80F018C;
+ sprite->callback = BattleAnimObj_SignalEnd;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
-static void sub_80F05B4(u8 ballId)
+static void LoadBallParticleGfx(u8 ballId)
{
- u8 taskId;
-
if (GetSpriteTileStartByTag(gBallParticleSpritesheets[ballId].tag) == 0xFFFF)
{
LoadCompressedSpriteSheetUsingHeap(&gBallParticleSpritesheets[ballId]);
@@ -1437,7 +1437,7 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
{
u8 taskId;
- sub_80F05B4(ballId);
+ LoadBallParticleGfx(ballId);
taskId = CreateTask(sBallParticleAnimationFuncs[ballId], 5);
gTasks[taskId].data[1] = x;
gTasks[taskId].data[2] = y;
@@ -1448,7 +1448,7 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
return taskId;
}
-void sub_80F0674(void)
+static void IncrementBattleParticleCounter(void)
{
if (gMain.inBattle)
gBattleSpritesDataPtr->animationData->field_A++;
@@ -1473,7 +1473,7 @@ static void PokeBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1532,7 +1532,7 @@ static void TimerBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1566,7 +1566,7 @@ static void DiveBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1601,7 +1601,7 @@ static void SafariBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1636,7 +1636,7 @@ static void UltraBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1677,7 +1677,7 @@ static void GreatBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1727,7 +1727,7 @@ static void RepeatBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1771,7 +1771,7 @@ static void MasterBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1815,7 +1815,7 @@ static void PremierBallOpenParticleAnimation(u8 taskId)
spriteId = CreateSprite(&sBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES)
{
- sub_80F0674();
+ IncrementBattleParticleCounter();
StartSpriteAnim(&gSprites[spriteId], sBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority;
@@ -1875,7 +1875,7 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 battler, u32 selectedPalettes, u8
{
u8 taskId;
- taskId = CreateTask(sub_80F12E0, 5);
+ taskId = CreateTask(Task_FadeMon_ToBallColor, 5);
gTasks[taskId].data[15] = ballId;
gTasks[taskId].data[3] = battler;
gTasks[taskId].data[10] = selectedPalettes;
@@ -1891,14 +1891,14 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 battler, u32 selectedPalettes, u8
BlendPalette(battler * 16 + 0x100, 16, 16, sBallOpenFadeColors[ballId]);
gTasks[taskId].data[0] = 16;
gTasks[taskId].data[1] = -1;
- gTasks[taskId].func = sub_80F1370;
+ gTasks[taskId].func = Task_FadeMon_ToNormal;
}
BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB_WHITE);
return taskId;
}
-static void sub_80F12E0(u8 taskId)
+static void Task_FadeMon_ToBallColor(u8 taskId)
{
u8 ballId = gTasks[taskId].data[15];
@@ -1916,17 +1916,17 @@ static void sub_80F12E0(u8 taskId)
}
}
-static void sub_80F1370(u8 taskId)
+static void Task_FadeMon_ToNormal(u8 taskId)
{
if (!gPaletteFade.active)
{
u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB_WHITE);
- gTasks[taskId].func = sub_80F13C0;
+ gTasks[taskId].func = Task_FadeMon_ToNormal_Step;
}
}
-static void sub_80F13C0(u8 taskId)
+static void Task_FadeMon_ToNormal_Step(u8 taskId)
{
u8 ballId = gTasks[taskId].data[15];
@@ -2046,7 +2046,7 @@ void AnimTask_TargetToEffectBattler(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80F1720(u8 battler, struct Pokemon *mon)
+void TryShinyAnimation(u8 battler, struct Pokemon *mon)
{
bool32 isShiny;
u32 otId, personality;
@@ -2072,8 +2072,8 @@ void sub_80F1720(u8 battler, struct Pokemon *mon)
LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_GOLD_STARS - ANIM_SPRITES_START]);
}
- taskId1 = CreateTask(sub_80F181C, 10);
- taskId2 = CreateTask(sub_80F181C, 10);
+ taskId1 = CreateTask(AnimTask_ShinySparkles, 10);
+ taskId2 = CreateTask(AnimTask_ShinySparkles, 10);
gTasks[taskId1].data[0] = battler;
gTasks[taskId2].data[0] = battler;
gTasks[taskId1].data[1] = 0;
@@ -2085,7 +2085,7 @@ void sub_80F1720(u8 battler, struct Pokemon *mon)
gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
}
-static void sub_80F181C(u8 taskId)
+static void AnimTask_ShinySparkles(u8 taskId)
{
u8 battler;
u8 x, y;
@@ -2128,11 +2128,11 @@ static void sub_80F181C(u8 taskId)
if (gTasks[taskId].data[1] == FALSE)
{
- gSprites[spriteId].callback = sub_80F1A2C;
+ gSprites[spriteId].callback = SpriteCB_ShinySparkles_1;
}
else
{
- gSprites[spriteId].callback = sub_80F1A80;
+ gSprites[spriteId].callback = SpriteCB_ShinySparkles_2;
gSprites[spriteId].pos2.x = -32;
gSprites[spriteId].pos2.y = 32;
gSprites[spriteId].invisible = TRUE;
@@ -2153,10 +2153,10 @@ static void sub_80F181C(u8 taskId)
gTasks[taskId].data[12]++;
if (gTasks[taskId].data[11] == 5)
- gTasks[taskId].func = sub_80F19E0;
+ gTasks[taskId].func = AnimTask_ShinySparkles_WaitSparkles;
}
-static void sub_80F19E0(u8 taskId)
+static void AnimTask_ShinySparkles_WaitSparkles(u8 taskId)
{
u8 battler;
@@ -2172,7 +2172,7 @@ static void sub_80F19E0(u8 taskId)
}
}
-static void sub_80F1A2C(struct Sprite *sprite)
+static void SpriteCB_ShinySparkles_1(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[1], 24);
sprite->pos2.y = Cos(sprite->data[1], 24);
@@ -2185,7 +2185,7 @@ static void sub_80F1A2C(struct Sprite *sprite)
}
}
-static void sub_80F1A80(struct Sprite *sprite)
+static void SpriteCB_ShinySparkles_2(struct Sprite *sprite)
{
if (sprite->data[1] < 4)
{
@@ -2207,7 +2207,7 @@ static void sub_80F1A80(struct Sprite *sprite)
void AnimTask_LoadBaitGfx(u8 taskId)
{
- u8 paletteIndex;
+ UNUSED u8 paletteIndex;
LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[ANIM_TAG_SAFARI_BAIT - ANIM_SPRITES_START]);
LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_SAFARI_BAIT - ANIM_SPRITES_START]);
@@ -2222,35 +2222,35 @@ void AnimTask_FreeBaitGfx(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-static void sub_80F1B3C(struct Sprite *sprite)
+static void SpriteCB_SafariBaitOrRock_Init(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 0);
- sprite->data[0] = 30;
- sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_X) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_Y) + gBattleAnimArgs[3];
- sprite->data[5] = -32;
+ sprite->sTransl_Speed = 30;
+ sprite->sTransl_DestX = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->sTransl_DestY = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_Y) + gBattleAnimArgs[3];
+ sprite->sTransl_ArcAmpl = -32;
InitAnimArcTranslation(sprite);
- gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8012354;
- sprite->callback = sub_80F1BCC;
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = SpriteCB_PlayerThrowInit;
+ sprite->callback = SpriteCB_SafariBaitOrRock_WaitPlayerThrow;
}
-static void sub_80F1BCC(struct Sprite *sprite)
+static void SpriteCB_SafariBaitOrRock_WaitPlayerThrow(struct Sprite *sprite)
{
if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1)
- sprite->callback = sub_80F1C04;
+ sprite->callback = SpriteCB_SafariBaitOrRock_ArcFlight;
}
-static void sub_80F1C04(struct Sprite *sprite)
+static void SpriteCB_SafariBaitOrRock_ArcFlight(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
sprite->data[0] = 0;
sprite->invisible = TRUE;
- sprite->callback = sub_80F1C30;
+ sprite->callback = SpriteCB_SafariBaitOrRock_Finish;
}
}
-static void sub_80F1C30(struct Sprite *sprite)
+static void SpriteCB_SafariBaitOrRock_Finish(struct Sprite *sprite)
{
if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
{
@@ -2262,7 +2262,7 @@ static void sub_80F1C30(struct Sprite *sprite)
}
}
-void sub_80F1C8C(u8 taskId)
+USED void AnimTask_SafariOrGhost_DecideAnimSides(u8 taskId)
{
switch (gBattleAnimArgs[0])
{
@@ -2279,7 +2279,7 @@ void sub_80F1C8C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80F1CE4(u8 taskId)
+USED void AnimTask_SafariGetReaction(u8 taskId)
{
if (gBattleCommunication[MULTISTRING_CHOOSER] > 2)
gBattleAnimArgs[7] = 0;
@@ -2289,7 +2289,7 @@ void sub_80F1CE4(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void AnimTask_GetTrappedMoveAnimId(u8 taskId)
+USED void AnimTask_GetTrappedMoveAnimId(u8 taskId)
{
if (gBattleSpritesDataPtr->animationData->animArg == MOVE_FIRE_SPIN)
gBattleAnimArgs[0] = TRAP_ANIM_FIRE_SPIN;
@@ -2305,7 +2305,7 @@ void AnimTask_GetTrappedMoveAnimId(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void AnimTask_GetBattlersFromArg(u8 taskId)
+USED void AnimTask_GetBattlersFromArg(u8 taskId)
{
gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg;
gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8;
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index e8042df92..82ef6da92 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -331,7 +331,7 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
- sub_80752A0(&animBgData);
+ GetBattleAnimBg1Data(&animBgData);
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
if (IsContest())
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
@@ -358,7 +358,7 @@ static void sub_80BAF38(u8 taskId)
gBattle_BG1_Y += 64;
if (++gTasks[taskId].data[11] == 4)
{
- sub_8073128(0);
+ ResetBattleAnimBg(0);
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
@@ -377,7 +377,7 @@ static void sub_80BAF38(u8 taskId)
sprite = &gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)]; // unused
sprite = &gSprites[gTasks[taskId].data[0]];
DestroySprite(sprite);
- sub_80752A0(&animBgData);
+ GetBattleAnimBg1Data(&animBgData);
sub_8075358(animBgData.bgId);
if (gTasks[taskId].data[6] == 1)
++gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority;
@@ -452,7 +452,7 @@ static void sub_80BB2A0(u8 taskId)
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
newSpriteId = sub_8076E34(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
}
- sub_80752A0(&animBgData);
+ GetBattleAnimBg1Data(&animBgData);
if (sAnimStatsChangeData->data[0] == 0)
AnimLoadCompressedBgTilemap(animBgData.bgId, gBattleStatMask1_Tilemap);
else
@@ -548,7 +548,7 @@ static void sub_80BB4B8(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0)
{
- sub_8073128(0);
+ ResetBattleAnimBg(0);
++gTasks[taskId].data[15];
}
}
@@ -755,7 +755,7 @@ void sub_80BBA20(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
spriteId = sub_8076E34(battler1, gBattlerSpriteIds[battler1], species);
if (arg4)
newSpriteId = sub_8076E34(battler2, gBattlerSpriteIds[battler2], species);
- sub_80752A0(&animBgData);
+ GetBattleAnimBg1Data(&animBgData);
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
if (IsContest())
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
@@ -805,7 +805,7 @@ static void sub_80BBC2C(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0)
{
- sub_8073128(0);
+ ResetBattleAnimBg(0);
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
diff --git a/src/battle_bg.c b/src/battle_bg.c
index e66180c4d..32d3e017a 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -85,7 +85,7 @@ static const struct SpriteTemplate sVsLetter_V_SpriteTemplate = {
.oam = &gOamData_82482A0,
.anims = gDummySpriteAnimTable,
.affineAnims = gAffineAnimTable_82482E0,
- .callback = nullsub_9
+ .callback = SpriteCB_VsLetterDummy
};
static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = {
@@ -94,7 +94,7 @@ static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = {
.oam = &gOamData_82482A8,
.anims = gDummySpriteAnimTable,
.affineAnims = gAffineAnimTable_82482E0,
- .callback = nullsub_9
+ .callback = SpriteCB_VsLetterDummy
};
static const struct CompressedSpriteSheet sVsLettersSpriteSheet = {
@@ -584,7 +584,7 @@ UNUSED void CreateUnknownDebugSprite(void)
u8 spriteId;
ResetSpriteData();
- spriteId = CreateSprite(&gUnknown_824EFF0, 0, 0, 0);
+ spriteId = CreateSprite(&gUnknownDebugSprite, 0, 0, 0);
gSprites[spriteId].invisible = TRUE;
SetMainCallback2(CB2_unused);
}
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index f3966e832..8fa1c36a7 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -244,9 +244,9 @@ static void sub_803A9CC(void)
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80)
- sub_80F1720(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
+ TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(gActiveBattler) == 3)
{
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 1)
@@ -259,7 +259,7 @@ static void sub_803A9CC(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES));
}
@@ -267,7 +267,7 @@ static void sub_803A9CC(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
@@ -282,7 +282,7 @@ static void sub_803AC14(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
}
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{
@@ -381,7 +381,7 @@ static void sub_803AF28(void)
FreeSpritePaletteByTag(0x27F9);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
CopyBattleSpriteInvisibility(gActiveBattler);
gBattlerControllerFuncs[gActiveBattler] = sub_803AE6C;
@@ -392,7 +392,7 @@ static void sub_803AFFC(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 2d95a756f..9627265a2 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -226,14 +226,14 @@ static void sub_80D443C(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
}
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
gBattlerControllerFuncs[gActiveBattler] = sub_80D4358;
@@ -338,7 +338,7 @@ static void sub_80D484C(void)
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
CopyBattleSpriteInvisibility(gActiveBattler);
gBattlerControllerFuncs[gActiveBattler] = sub_80D47AC;
@@ -349,7 +349,7 @@ static void sub_80D4944(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
{
diff --git a/src/battle_controller_oak_old_man.c b/src/battle_controller_oak_old_man.c
index d6833942a..f6b43446b 100644
--- a/src/battle_controller_oak_old_man.c
+++ b/src/battle_controller_oak_old_man.c
@@ -401,10 +401,10 @@ static void sub_80E7B4C(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
- sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
+ TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -413,14 +413,14 @@ static void sub_80E7B4C(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
}
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
gBattlerControllerFuncs[gActiveBattler] = sub_80E7CD8;
@@ -628,7 +628,7 @@ static void sub_80E835C(void)
case 0:
if (!gPaletteFade.active)
{
- sub_80EEFC8(&gBattleStruct->field_95, &gBattleStruct->field_97, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
+ DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95, &gBattleStruct->field_97, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
BeginNormalPaletteFade(0xFFFFFF7E,
4,
0,
@@ -703,7 +703,7 @@ static void sub_80E835C(void)
case 8:
if (!gPaletteFade.active)
{
- sub_80EF0E0(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
+ DoFreeHealthboxPalsForLevelUp(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
sub_80EB524();
gBattleStruct->field_94 = 0;
OakOldManBufferExecCompleted();
@@ -806,7 +806,7 @@ static void sub_80E8704(void)
case 0:
if (!gPaletteFade.active)
{
- sub_80EEFC8(&gBattleStruct->field_95, &gBattleStruct->field_97, gActiveBattler);
+ DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95, &gBattleStruct->field_97, gActiveBattler);
BeginNormalPaletteFade(0xFFFFFF7E,
4,
0,
@@ -1569,20 +1569,20 @@ static void OakOldManHandleDrawTrainerPic(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
{
- DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_RED + gSaveBlock2Ptr->playerGender, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_RED + gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_RED + gSaveBlock2Ptr->playerGender].size) * 4 + 80,
30);
}
else
{
- DecompressTrainerBackPalette(5, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(5, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_OLDMAN, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_OLDMAN, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[5].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_OLDMAN].size) * 4 + 80,
30);
}
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@@ -1596,20 +1596,20 @@ static void OakOldManHandleTrainerSlide(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
{
- DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_RED + gSaveBlock2Ptr->playerGender, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_RED + gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_RED + gSaveBlock2Ptr->playerGender].size) * 4 + 80,
30);
}
else
{
- DecompressTrainerBackPalette(5, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(5, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_OLDMAN, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_OLDMAN, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[5].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_OLDMAN].size) * 4 + 80,
30);
}
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@@ -2081,7 +2081,7 @@ static void OakOldManHandleIntroTrainerBallThrow(void)
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80335F8);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
paletteNum = AllocSpritePalette(0xD6F8);
- LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32);
+ LoadCompressedPalette(gTrainerBackPicPaletteTable[BACK_PIC_RED + gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32);
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
taskId = CreateTask(sub_80EB0A8, 5);
gTasks[taskId].data[0] = gActiveBattler;
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 29cde44df..455cb5e19 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -242,9 +242,9 @@ static void sub_8035C30(void)
static void sub_8035DF0(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
- sub_80F1720(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
+ TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -253,7 +253,7 @@ static void sub_8035DF0(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES));
}
@@ -261,7 +261,7 @@ static void sub_8035DF0(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
@@ -276,7 +276,7 @@ static void sub_8035FE8(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
}
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{
@@ -387,7 +387,7 @@ static void sub_8036334(void)
FreeSpritePaletteByTag(0x27F9);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
CopyBattleSpriteInvisibility(gActiveBattler);
gBattlerControllerFuncs[gActiveBattler] = sub_8036278;
@@ -397,7 +397,7 @@ static void sub_8036334(void)
static void sub_8036408(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
{
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index db51f6e05..d23057900 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -336,7 +336,7 @@ static void HandleInputChooseTarget(void)
if (JOY_NEW(A_BUTTON))
{
PlaySE(SE_SELECT);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012098;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget;
BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8));
EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX);
PlayerBufferExecCompleted();
@@ -344,7 +344,7 @@ static void HandleInputChooseTarget(void)
else if (JOY_NEW(B_BUTTON))
{
PlaySE(SE_SELECT);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012098;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget;
gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove;
DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1);
DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1);
@@ -353,7 +353,7 @@ static void HandleInputChooseTarget(void)
else if (JOY_NEW(DPAD_LEFT | DPAD_UP))
{
PlaySE(SE_SELECT);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012098;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget;
do
{
@@ -388,12 +388,12 @@ static void HandleInputChooseTarget(void)
i = 0;
}
while (i == 0);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012044;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget;
}
else if (JOY_NEW(DPAD_RIGHT | DPAD_DOWN))
{
PlaySE(SE_SELECT);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012098;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget;
do
{
@@ -428,7 +428,7 @@ static void HandleInputChooseTarget(void)
i = 0;
}
while (i == 0);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012044;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget;
}
}
@@ -495,7 +495,7 @@ void HandleInputChooseMove(void)
gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
else
gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
- gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8012044;
+ gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget;
}
}
else if (JOY_NEW(B_BUTTON))
@@ -801,7 +801,7 @@ static void sub_802F610(void)
m4aSongNumStop(SE_LOW_HEALTH);
gMain.inBattle = 0;
gMain.callback1 = gPreBattleCallback1;
- SetMainCallback2(sub_8011A1C);
+ SetMainCallback2(CB2_InitEndLinkBattle);
FreeAllWindowBuffers();
}
}
@@ -810,7 +810,7 @@ static void sub_802F610(void)
m4aSongNumStop(SE_LOW_HEALTH);
gMain.inBattle = 0;
gMain.callback1 = gPreBattleCallback1;
- SetMainCallback2(sub_8011A1C);
+ SetMainCallback2(CB2_InitEndLinkBattle);
FreeAllWindowBuffers();
}
}
@@ -912,23 +912,23 @@ static void sub_802FA58(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80)
- sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
+ TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler ^ BIT_FLANK]]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
}
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
gBattlerControllerFuncs[gActiveBattler] = sub_802F858;
@@ -965,7 +965,7 @@ static void sub_802FD18(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive))
{
@@ -973,7 +973,7 @@ static void sub_802FD18(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
CopyBattleSpriteInvisibility(gActiveBattler);
gBattlerControllerFuncs[gActiveBattler] = sub_802FBF4;
@@ -1235,7 +1235,7 @@ static void sub_80303A8(u8 taskId)
}
break;
case 5:
- sub_8073128(v6);
+ ResetBattleAnimBg(v6);
++data[15];
break;
case 4:
@@ -2175,13 +2175,13 @@ static void PlayerHandleDrawTrainerPic(void)
if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_SAPPHIRE
|| (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_EMERALD)
- trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + 2;
+ trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RS_BRENDAN;
else
- trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + 0;
+ trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RED;
}
else
{
- trainerPicId = gSaveBlock2Ptr->playerGender + 0;
+ trainerPicId = gSaveBlock2Ptr->playerGender + BACK_PIC_RED;
}
DecompressTrainerBackPalette(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c
index e6af71b6c..88faa3c98 100644
--- a/src/battle_controller_pokedude.c
+++ b/src/battle_controller_pokedude.c
@@ -598,7 +598,7 @@ static void sub_8156184(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{
- sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
}
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{
@@ -656,7 +656,7 @@ static void sub_81563A8(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive))
{
@@ -664,7 +664,7 @@ static void sub_81563A8(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
CopyBattleSpriteInvisibility(gActiveBattler);
gBattlerControllerFuncs[gActiveBattler] = sub_81562F0;
@@ -750,10 +750,10 @@ static void sub_8156624(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
- sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
+ TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
- sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
+ TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -762,14 +762,14 @@ static void sub_8156624(void)
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler ^ BIT_FLANK);
+ StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
}
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
HEALTHBOX_ALL);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
gBattlerControllerFuncs[gActiveBattler] = sub_81567B0;
@@ -1714,11 +1714,11 @@ static void PokedudeHandleDrawTrainerPic(void)
{
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
{
- DecompressTrainerBackPalette(4, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(4, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_POKEDUDE, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_POKEDUDE, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[4].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_POKEDUDE].size) * 4 + 80,
30);
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
@@ -1747,11 +1747,11 @@ static void PokedudeHandleDrawTrainerPic(void)
static void PokedudeHandleTrainerSlide(void)
{
- DecompressTrainerBackPalette(4, gActiveBattler);
- SetMultiuseSpriteTemplateToTrainerBack(4, GetBattlerPosition(gActiveBattler));
+ DecompressTrainerBackPalette(BACK_PIC_POKEDUDE, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(BACK_PIC_POKEDUDE, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80,
- (8 - gTrainerBackPicCoords[4].size) * 4 + 80,
+ (8 - gTrainerBackPicCoords[BACK_PIC_POKEDUDE].size) * 4 + 80,
30);
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
@@ -2222,7 +2222,7 @@ static void PokedudeHandleIntroTrainerBallThrow(void)
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80335F8);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
paletteNum = AllocSpritePalette(0xD6F8);
- LoadCompressedPalette(gTrainerBackPicPaletteTable[4].data, 0x100 + paletteNum * 16, 32);
+ LoadCompressedPalette(gTrainerBackPicPaletteTable[BACK_PIC_POKEDUDE].data, 0x100 + paletteNum * 16, 32);
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum;
taskId = CreateTask(sub_81595EC, 5);
gTasks[taskId].data[0] = gActiveBattler;
@@ -2518,7 +2518,7 @@ static void sub_8159D04(void)
case 0:
if (!gPaletteFade.active)
{
- sub_80EEFC8(&gBattleStruct->field_95,
+ DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95,
&gBattleStruct->field_94,
GetBattlerAtPosition(B_POSITION_PLAYER_LEFT));
BeginNormalPaletteFade(0xFFFFFF7F, 4, 0, 8, RGB_BLACK);
@@ -2576,7 +2576,7 @@ static void sub_8159D04(void)
BattleStopLowHpSound();
PlayBGM(MUS_VICTORY_WILD);
}
- sub_80EF0E0(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT));
+ DoFreeHealthboxPalsForLevelUp(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT));
sub_80EB524();
sub_8159B78();
}
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index b09661675..6a37c12ea 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -608,7 +608,7 @@ static void SafariHandleIntroSlide(void)
static void SafariHandleIntroTrainerBallThrow(void)
{
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT);
- sub_804BD94(gActiveBattler);
+ StartHealthboxSlideIn(gActiveBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy;
}
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 583a64eaa..dbcc0594c 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -62,7 +62,7 @@ void SetUpBattleVars(void)
gUnknown_2023DDC = 0;
}
-void sub_800D30C(void)
+void InitBtlControllers(void)
{
s32 i;
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 4340703e3..7019acc86 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -950,9 +950,12 @@ void HideBattlerShadowSprite(u8 battlerId)
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
}
-void sub_80357C8(void)
+// Low-level function that sets specific interface tiles' palettes,
+// overwriting any pixel with value 0.
+void BattleInterfaceSetWindowPals(void)
{
- u16 *vramPtr = (u16 *)(VRAM + 0x240);
+ // 9 tiles at 0x06000240
+ u16 *vramPtr = (u16 *)(BG_VRAM + 0x240);
s32 i;
s32 j;
@@ -970,7 +973,9 @@ void sub_80357C8(void)
*vramPtr |= 0x000F;
}
}
- vramPtr = (u16 *)(VRAM + 0x600);
+
+ // 18 tiles at 0x06000600
+ vramPtr = (u16 *)(BG_VRAM + 0x600);
for (i = 0; i < 18; ++i)
{
for (j = 0; j < 16; ++vramPtr, ++j)
@@ -1005,7 +1010,7 @@ void AllocateMonSpritesGfx(void)
for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
{
gMonSpritesGfxPtr->sprites[i] = gMonSpritesGfxPtr->firstDecompressed + (i * 0x2000);
- *(gMonSpritesGfxPtr->templates + i) = gUnknown_825DEF0[i];
+ *(gMonSpritesGfxPtr->templates + i) = gSpriteTemplates_Battlers[i];
for (j = 0; j < 4; ++j)
{
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 04c7072d9..996b8d3a6 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -422,9 +422,9 @@ static void BattleIntroSlideLink(u8 taskId)
{
++gTasks[taskId].data[0];
gSprites[gBattleStruct->linkBattleVsSpriteId_V].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[gBattleStruct->linkBattleVsSpriteId_V].callback = sub_801182C;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].callback = SpriteCB_VsLetterInit;
gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[gBattleStruct->linkBattleVsSpriteId_S].callback = sub_801182C;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].callback = SpriteCB_VsLetterInit;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2);
}
diff --git a/src/battle_main.c b/src/battle_main.c
index 08bf6e345..902da32d7 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -44,7 +44,7 @@
#include "constants/songs.h"
#include "constants/trainer_classes.h"
-static void sub_80111EC(struct Sprite *sprite);
+static void SpriteCB_UnusedDebugSprite(struct Sprite *sprite);
static void HandleAction_UseMove(void);
static void HandleAction_Switch(void);
static void HandleAction_UseItem(void);
@@ -72,18 +72,18 @@ static void CB2_HandleStartBattle(void);
static void TryCorrectShedinjaLanguage(struct Pokemon *mon);
static void BattleMainCB1(void);
static void CB2_QuitPokedudeBattle(void);
-static void sub_80111FC(struct Sprite *sprite);
-static void sub_8011B94(void);
-static void sub_8011BB0(void);
+static void SpriteCB_UnusedDebugSprite_Step(struct Sprite *sprite);
+static void CB2_EndLinkBattle(void);
+static void EndLinkBattleInSteps(void);
static void SpriteCB_MoveWildMonToRight(struct Sprite *sprite);
static void SpriteCB_WildMonShowHealthbox(struct Sprite *sprite);
static void sub_8011E3C(struct Sprite *sprite);
static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite);
-static void sub_8012060(struct Sprite *sprite);
+static void SpriteCb_BlinkVisible(struct Sprite *sprite);
static void oac_poke_ally_(struct Sprite *sprite);
static void SpriteCallbackDummy3(struct Sprite *sprite);
static void SpriteCB_BounceEffect(struct Sprite *sprite);
-static void sub_8012398(struct Sprite *sprite);
+static void SpriteCB_PlayerThrowUpdate(struct Sprite *sprite);
static void BattleStartClearSetData(void);
static void BattleIntroGetMonsData(void);
static void TurnValuesCleanUp(bool8 var0);
@@ -132,7 +132,7 @@ EWRAM_DATA u32 gUnknown_2022B54 = 0;
EWRAM_DATA struct UnknownPokemonStruct4 gMultiPartnerParty[3] = {0};
EWRAM_DATA u8 *gUnknown_2022BB8 = NULL;
EWRAM_DATA u8 *gUnknown_2022BBC = NULL;
-EWRAM_DATA u16 *gUnknown_2022BC0 = NULL;
+EWRAM_DATA u16 *sUnknownDebugSpriteDataBuffer = NULL;
EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0};
EWRAM_DATA u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200] = {0};
EWRAM_DATA u8 gActiveBattler = 0;
@@ -231,7 +231,7 @@ static const struct ScanlineEffectParams sIntroScanlineParams16Bit =
&REG_BG3HOFS, SCANLINE_EFFECT_DMACNT_16BIT, 1
};
-const struct SpriteTemplate gUnknown_824EFF0 =
+const struct SpriteTemplate gUnknownDebugSprite =
{
.tileTag = 0,
.paletteTag = 0,
@@ -239,12 +239,12 @@ const struct SpriteTemplate gUnknown_824EFF0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80111EC,
+ .callback = SpriteCB_UnusedDebugSprite,
};
static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin
-const struct OamData gOamData_824F010 =
+const struct OamData gOamData_BattlerOpponent =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -259,7 +259,7 @@ const struct OamData gOamData_824F010 =
.affineParam = 0,
};
-const struct OamData gOamData_824F018 =
+const struct OamData gOamData_BattlerPlayer =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -301,7 +301,7 @@ static const union AffineAnimCmd *const gUnknown_824F044[] =
gUnknown_824F02C,
};
-static const s8 gUnknown_824F048[] = { -32, -16, -16, -32, -32, 0, 0, 0 };
+static const s8 sPlayerThrowXTranslation[] = { -32, -16, -16, -32, -32, 0, 0, 0 };
// format: attacking type, defending type, damage multiplier
// the multiplier is a (decimal) fixed-point number:
@@ -705,41 +705,50 @@ static void CB2_InitBattleInternal(void)
gBattleCommunication[MULTIUSE_STATE] = 0;
}
-static void sub_800FFEC(void)
+#define BUFFER_PARTY_VS_SCREEN_STATUS(party, flags, i) \
+ for ((i) = 0; (i) < PARTY_SIZE; (i)++) \
+ { \
+ u16 species = GetMonData(&(party)[(i)], MON_DATA_SPECIES2); \
+ u16 hp = GetMonData(&(party)[(i)], MON_DATA_HP); \
+ u32 status = GetMonData(&(party)[(i)], MON_DATA_STATUS); \
+ \
+ if (species == SPECIES_NONE) \
+ continue; \
+ \
+ /* Is healthy mon? */ \
+ if (species != SPECIES_EGG && hp != 0 && status == 0) \
+ (flags) |= 1 << (i) * 2; \
+ \
+ if (species == SPECIES_NONE) /* Redundant */ \
+ continue; \
+ \
+ /* Is Egg or statused? */ \
+ if (hp != 0 && (species == SPECIES_EGG || status != 0)) \
+ (flags) |= 2 << (i) * 2; \
+ \
+ if (species == SPECIES_NONE) /* Redundant */ \
+ continue; \
+ \
+ /* Is fainted? */ \
+ if (species != SPECIES_EGG && hp == 0) \
+ (flags) |= 3 << (i) * 2; \
+ }
+
+static void BufferPartyVsScreenHealth_AtStart(void)
{
- u16 r6 = 0;
- u16 species = SPECIES_NONE;
- u16 hp = 0;
- u32 status = 0;
+ u16 flags = 0;
s32 i;
- for (i = 0; i < PARTY_SIZE; ++i)
- {
- species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
- if (species == SPECIES_NONE)
- continue;
- if (species != SPECIES_EGG && hp != 0 && status == 0)
- r6 |= 1 << i * 2;
- if (species == SPECIES_NONE)
- continue;
- if (hp != 0 && (species == SPECIES_EGG || status != 0))
- r6 |= 2 << i * 2;
- if (species == SPECIES_NONE)
- continue;
- if (species != SPECIES_EGG && hp == 0)
- r6 |= 3 << i * 2;
- }
- gBattleStruct->field_186 = r6;
- *(&gBattleStruct->field_187) = r6 >> 8;
+ BUFFER_PARTY_VS_SCREEN_STATUS(gPlayerParty, flags, i);
+ gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.vsScreenHealthFlagsLo = flags;
+ *(&gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.vsScreenHealthFlagsHi) = flags >> 8;
}
static void SetPlayerBerryDataInBattleStruct(void)
{
s32 i;
struct BattleStruct *battleStruct = gBattleStruct;
- struct BattleEnigmaBerry *battleBerry = &battleStruct->battleEnigmaBerry;
+ struct BattleEnigmaBerry *battleBerry = &battleStruct->multiBuffer.multiPartnerEnigmaBerry.battleEnigmaBerry;
if (IsEnigmaBerryValid() == TRUE)
{
@@ -859,44 +868,47 @@ static void SetAllPlayersBerryData(void)
}
}
-static void sub_8010414(u8 arg0, u8 arg1)
+static void LinkBattleComputeBattleTypeFlags(u8 numPlayers, u8 multiPlayerId)
{
- u8 var = 0;
+ u8 found = 0;
- if (gBlockRecvBuffer[0][0] == 256)
+ // If player 1 is playing the minimum version, player 1 is master.
+ if (gBlockRecvBuffer[0][0] == 0x100)
{
- if (arg1 == 0)
+ if (multiPlayerId == 0)
gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER;
else
gBattleTypeFlags |= BATTLE_TYPE_TRAINER;
- ++var;
+ ++found;
}
- if (var == 0)
+ if (found == 0)
{
+ // If multiple different versions are being used, player 1 is master.
s32 i;
- for (i = 0; i < arg0; ++i)
+ for (i = 0; i < numPlayers; ++i)
if (gBlockRecvBuffer[0][0] != gBlockRecvBuffer[i][0])
break;
- if (i == arg0)
+ if (i == numPlayers)
{
- if (arg1 == 0)
+ if (multiPlayerId == 0)
gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER;
else
gBattleTypeFlags |= BATTLE_TYPE_TRAINER;
- ++var;
+ ++found;
}
- if (var == 0)
+ if (found == 0)
{
- for (i = 0; i < arg0; ++i)
+ // Lowest index player with the highest game version is master.
+ for (i = 0; i < numPlayers; ++i)
{
- if (gBlockRecvBuffer[i][0] == 0x201)
- if (i != arg1 && i < arg1)
+ if (gBlockRecvBuffer[i][0] == 0x201 && i != multiPlayerId)
+ if (i < multiPlayerId)
break;
- if (gBlockRecvBuffer[i][0] > 0x201 && i != arg1)
+ if (gBlockRecvBuffer[i][0] > 0x201 && i != multiPlayerId)
break;
}
- if (i == arg0)
+ if (i == numPlayers)
gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER;
else
gBattleTypeFlags |= BATTLE_TYPE_TRAINER;
@@ -924,7 +936,7 @@ static void CB2_HandleStartBattle(void)
ShowBg(1);
ShowBg(2);
ShowBg(3);
- sub_80357C8();
+ BattleInterfaceSetWindowPals();
gBattleCommunication[MULTIUSE_STATE] = 1;
}
if (gWirelessCommType)
@@ -937,11 +949,12 @@ static void CB2_HandleStartBattle(void)
{
if (IsLinkTaskFinished())
{
- *(&gBattleStruct->field_184) = 1;
- *(&gBattleStruct->field_185) = 2;
- sub_800FFEC();
+ // 0x201
+ *(&gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.versionSignatureLo) = 1;
+ *(&gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.versionSignatureHi) = 2;
+ BufferPartyVsScreenHealth_AtStart();
SetPlayerBerryDataInBattleStruct();
- SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, 32);
+ SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->multiBuffer.multiPartnerEnigmaBerry, sizeof(gBattleStruct->multiBuffer.multiPartnerEnigmaBerry));
gBattleCommunication[MULTIUSE_STATE] = 2;
}
if (gWirelessCommType != 0)
@@ -961,13 +974,13 @@ static void CB2_HandleStartBattle(void)
u8 taskId;
ResetBlockReceivedFlags();
- sub_8010414(2, playerMultiplayerId);
+ LinkBattleComputeBattleTypeFlags(2, playerMultiplayerId);
SetAllPlayersBerryData();
taskId = CreateTask(InitLinkBattleVsScreen, 0);
gTasks[taskId].data[1] = 270;
gTasks[taskId].data[2] = 90;
gTasks[taskId].data[5] = 0;
- gTasks[taskId].data[3] = gBattleStruct->field_186 | (gBattleStruct->field_187 << 8);
+ gTasks[taskId].data[3] = gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.vsScreenHealthFlagsLo | (gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.vsScreenHealthFlagsHi << 8);
gTasks[taskId].data[4] = gBlockRecvBuffer[enemyMultiplayerId][1];
SetDeoxysStats();
++gBattleCommunication[MULTIUSE_STATE];
@@ -1025,7 +1038,7 @@ static void CB2_HandleStartBattle(void)
}
break;
case 15:
- sub_800D30C();
+ InitBtlControllers();
++gBattleCommunication[MULTIUSE_STATE];
gBattleCommunication[SPRITES_INIT_STATE1] = 0;
gBattleCommunication[SPRITES_INIT_STATE2] = 0;
@@ -1056,7 +1069,7 @@ static void CB2_HandleStartBattle(void)
}
}
-static void sub_80108C4(void)
+static void PrepareOwnMultiPartnerBuffer(void)
{
s32 i, j;
u8 *nick, *cur;
@@ -1083,7 +1096,7 @@ static void sub_80108C4(void)
cur[j] = EOS;
}
}
- memcpy(&gBattleStruct->field_184, gMultiPartnerParty, sizeof(gMultiPartnerParty));
+ memcpy(gBattleStruct->multiBuffer.multiBattleMons, gMultiPartnerParty, sizeof(gMultiPartnerParty));
}
static void CB2_PreInitMultiBattle(void)
@@ -1107,8 +1120,8 @@ static void CB2_PreInitMultiBattle(void)
case 0:
if (gReceivedRemoteLinkPlayers && IsLinkTaskFinished())
{
- sub_80108C4();
- SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, sizeof(gMultiPartnerParty));
+ PrepareOwnMultiPartnerBuffer();
+ SendBlock(bitmask_all_link_players_but_self(), gBattleStruct->multiBuffer.multiBattleMons, sizeof(gBattleStruct->multiBuffer.multiBattleMons));
++gBattleCommunication[MULTIUSE_STATE];
}
break;
@@ -1181,7 +1194,7 @@ static void CB2_HandleStartMultiBattle(void)
ShowBg(1);
ShowBg(2);
ShowBg(3);
- sub_80357C8();
+ BattleInterfaceSetWindowPals();
gBattleCommunication[MULTIUSE_STATE] = 1;
}
if (gWirelessCommType)
@@ -1192,11 +1205,12 @@ static void CB2_HandleStartMultiBattle(void)
{
if (IsLinkTaskFinished())
{
- *(&gBattleStruct->field_184) = 1;
- *(&gBattleStruct->field_185) = 2;
- sub_800FFEC();
+ // 0x201
+ *(&gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.versionSignatureLo) = 1;
+ *(&gBattleStruct->multiBuffer.multiPartnerEnigmaBerry.versionSignatureHi) = 2;
+ BufferPartyVsScreenHealth_AtStart();
SetPlayerBerryDataInBattleStruct();
- SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, 32);
+ SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->multiBuffer.multiPartnerEnigmaBerry, sizeof(gBattleStruct->multiBuffer.multiPartnerEnigmaBerry));
++gBattleCommunication[MULTIUSE_STATE];
}
if (gWirelessCommType)
@@ -1207,7 +1221,7 @@ static void CB2_HandleStartMultiBattle(void)
if ((GetBlockReceivedStatus() & 0xF) == 0xF)
{
ResetBlockReceivedFlags();
- sub_8010414(4, playerMultiplayerId);
+ LinkBattleComputeBattleTypeFlags(4, playerMultiplayerId);
SetAllPlayersBerryData();
SetDeoxysStats();
memcpy(gDecompressionBuffer, gPlayerParty, sizeof(struct Pokemon) * 3);
@@ -1383,7 +1397,7 @@ static void CB2_HandleStartMultiBattle(void)
}
break;
case 11:
- sub_800D30C();
+ InitBtlControllers();
++gBattleCommunication[MULTIUSE_STATE];
gBattleCommunication[SPRITES_INIT_STATE1] = 0;
gBattleCommunication[SPRITES_INIT_STATE2] = 0;
@@ -1450,18 +1464,18 @@ static void CB2_QuitPokedudeBattle(void)
}
}
-static void sub_80111EC(struct Sprite *sprite)
+static void SpriteCB_UnusedDebugSprite(struct Sprite *sprite)
{
sprite->data[0] = 0;
- sprite->callback = sub_80111FC;
+ sprite->callback = SpriteCB_UnusedDebugSprite_Step;
}
-static void sub_80111FC(struct Sprite *sprite)
+static void SpriteCB_UnusedDebugSprite_Step(struct Sprite *sprite)
{
switch (sprite->data[0])
{
case 0:
- gUnknown_2022BC0 = AllocZeroed(0x1000);
+ sUnknownDebugSpriteDataBuffer = AllocZeroed(0x1000);
++sprite->data[0];
sprite->data[1] = 0;
sprite->data[2] = 0x281;
@@ -1478,8 +1492,8 @@ static void sub_80111FC(struct Sprite *sprite)
r0 = sprite->data[2] - sprite->data[3] * 32;
for (i = 0; i <= 29; i += 2)
{
- *(&gUnknown_2022BC0[r2] + i) = 0x3D;
- *(&gUnknown_2022BC0[r0] + i) = 0x3D;
+ *(&sUnknownDebugSpriteDataBuffer[r2] + i) = 0x3D;
+ *(&sUnknownDebugSpriteDataBuffer[r0] + i) = 0x3D;
}
if (++sprite->data[3] == 21)
{
@@ -1491,10 +1505,10 @@ static void sub_80111FC(struct Sprite *sprite)
case 2:
if (--sprite->data[1] == 20)
{
- if (gUnknown_2022BC0 != NULL)
+ if (sUnknownDebugSpriteDataBuffer != NULL)
{
- memset(gUnknown_2022BC0, 0, 0x1000);
- FREE_AND_SET_NULL(gUnknown_2022BC0);
+ memset(sUnknownDebugSpriteDataBuffer, 0, 0x1000);
+ FREE_AND_SET_NULL(sUnknownDebugSpriteDataBuffer);
}
SetMainCallback2(CB2_InitBattle);
}
@@ -1593,7 +1607,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
}
// not used
-static void sub_80116CC(void)
+UNUSED static void unused_80116CC(void)
{
if (REG_VCOUNT < 0xA0 && REG_VCOUNT >= 0x6F)
REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(24) | BGCNT_16COLOR | BGCNT_TXT256x512;
@@ -1621,11 +1635,11 @@ void VBlankCB_Battle(void)
ScanlineEffect_InitHBlankDmaTransfer();
}
-void nullsub_9(struct Sprite *sprite)
+void SpriteCB_VsLetterDummy(struct Sprite *sprite)
{
}
-static void sub_80117BC(struct Sprite *sprite)
+static void SpriteCB_VsLetter(struct Sprite *sprite)
{
if (sprite->data[0] != 0)
sprite->pos1.x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
@@ -1641,14 +1655,14 @@ static void sub_80117BC(struct Sprite *sprite)
}
}
-void sub_801182C(struct Sprite *sprite)
+void SpriteCB_VsLetterInit(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, 1);
- sprite->callback = sub_80117BC;
+ sprite->callback = SpriteCB_VsLetter;
PlaySE(SE_MUGSHOT);
}
-static void sub_801184C(u8 taskId)
+static void BufferPartyVsScreenHealth_AtEnd(u8 taskId)
{
struct Pokemon *party1 = NULL;
struct Pokemon *party2 = NULL;
@@ -1723,7 +1737,7 @@ static void sub_801184C(u8 taskId)
gTasks[taskId].data[4] = r7;
}
-void sub_8011A1C(void)
+void CB2_InitEndLinkBattle(void)
{
s32 i;
u8 taskId;
@@ -1773,21 +1787,21 @@ void sub_8011A1C(void)
gTasks[taskId].data[1] = 270;
gTasks[taskId].data[2] = 90;
gTasks[taskId].data[5] = 1;
- sub_801184C(taskId);
- SetMainCallback2(sub_8011B94);
+ BufferPartyVsScreenHealth_AtEnd(taskId);
+ SetMainCallback2(CB2_EndLinkBattle);
gBattleCommunication[MULTIUSE_STATE] = 0;
}
-static void sub_8011B94(void)
+static void CB2_EndLinkBattle(void)
{
- sub_8011BB0();
+ EndLinkBattleInSteps();
AnimateSprites();
BuildOamBuffer();
UpdatePaletteFade();
RunTasks();
}
-static void sub_8011BB0(void)
+static void EndLinkBattleInSteps(void)
{
s32 i;
@@ -1868,7 +1882,7 @@ static void TryCorrectShedinjaLanguage(struct Pokemon *mon)
#define sBattler data[0]
#define sSpeciesId data[2]
-void SpriteCB_WildMon(struct Sprite *sprite)
+void SpriteCB_EnemyMon(struct Sprite *sprite)
{
sprite->callback = SpriteCB_MoveWildMonToRight;
StartSpriteAnimIfDifferent(sprite, 0);
@@ -1892,7 +1906,7 @@ static void SpriteCB_WildMonShowHealthbox(struct Sprite *sprite)
{
if (sprite->animEnded)
{
- sub_804BD94(sprite->sBattler);
+ StartHealthboxSlideIn(sprite->sBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]);
sprite->callback = SpriteCallbackDummy2;
StartSpriteAnimIfDifferent(sprite, 0);
@@ -1905,7 +1919,7 @@ void SpriteCallbackDummy2(struct Sprite *sprite)
}
// not used
-static void sub_8011E28(struct Sprite *sprite)
+UNUSED static void sub_8011E28(struct Sprite *sprite)
{
sprite->data[3] = 6;
sprite->data[4] = 1;
@@ -1994,14 +2008,14 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite)
}
}
-void sub_8012044(struct Sprite *sprite)
+void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite)
{
sprite->data[3] = 8;
sprite->data[4] = sprite->invisible;
- sprite->callback = sub_8012060;
+ sprite->callback = SpriteCb_BlinkVisible;
}
-static void sub_8012060(struct Sprite *sprite)
+static void SpriteCb_BlinkVisible(struct Sprite *sprite)
{
--sprite->data[3];
if (sprite->data[3] == 0)
@@ -2011,14 +2025,14 @@ static void sub_8012060(struct Sprite *sprite)
}
}
-void sub_8012098(struct Sprite *sprite)
+void SpriteCb_HideAsMoveTarget(struct Sprite *sprite)
{
sprite->invisible = sprite->data[4];
sprite->data[4] = FALSE;
sprite->callback = SpriteCallbackDummy2;
}
-void sub_80120C4(struct Sprite *sprite)
+void SpriteCB_AllyMon(struct Sprite *sprite)
{
sprite->callback = oac_poke_ally_;
}
@@ -2139,21 +2153,21 @@ static void SpriteCB_BounceEffect(struct Sprite *sprite)
sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF;
}
-void sub_8012354(struct Sprite *sprite)
+void SpriteCB_PlayerThrowInit(struct Sprite *sprite)
{
StartSpriteAnim(sprite, 1);
- sprite->callback = sub_8012398;
+ sprite->callback = SpriteCB_PlayerThrowUpdate;
}
-void sub_801236C(struct Sprite *sprite)
+void UpdatePlayerPosInThrowAnim(struct Sprite *sprite)
{
if (sprite->animDelayCounter == 0)
- sprite->centerToCornerVecX = gUnknown_824F048[sprite->animCmdIndex];
+ sprite->centerToCornerVecX = sPlayerThrowXTranslation[sprite->animCmdIndex];
}
-static void sub_8012398(struct Sprite *sprite)
+static void SpriteCB_PlayerThrowUpdate(struct Sprite *sprite)
{
- sub_801236C(sprite);
+ UpdatePlayerPosInThrowAnim(sprite);
if (sprite->animEnded)
sprite->callback = SpriteCallbackDummy3;
}
@@ -2983,7 +2997,7 @@ u8 IsRunningFromBattleImpossible(void)
return BATTLE_RUN_SUCCESS;
}
-void sub_8013F6C(u8 battler)
+void UpdatePartyOwnerOnSwitch_NonMulti(u8 battler)
{
s32 i;
u8 r4, r1;
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 90ee8e561..dfbab5c15 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -4791,7 +4791,7 @@ static void atk51_switchhandleorder(void)
break;
case 1:
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
- sub_8013F6C(gActiveBattler);
+ UpdatePartyOwnerOnSwitch_NonMulti(gActiveBattler);
break;
case 2:
gBattleCommunication[0] = gBattleBufferB[gActiveBattler][1];
@@ -4808,7 +4808,7 @@ static void atk51_switchhandleorder(void)
}
else
{
- sub_8013F6C(gActiveBattler);
+ UpdatePartyOwnerOnSwitch_NonMulti(gActiveBattler);
}
PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species)
PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, gActiveBattler, gBattleBufferB[gActiveBattler][1])
@@ -6704,7 +6704,7 @@ static void atk8F_forcerandomswitch(void)
}
*(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i;
if (!IsMultiBattle())
- sub_8013F6C(gBattlerTarget);
+ UpdatePartyOwnerOnSwitch_NonMulti(gBattlerTarget);
SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0);
SwitchPartyOrderLinkMulti(gBattlerTarget ^ 2, i, 1);
}
diff --git a/src/dark.c b/src/dark.c
index 86523f2f1..d9c2900ba 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -409,7 +409,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId)
task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[3] == 1)
{
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
task->data[10] = gBattle_BG1_Y;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
FillPalette(0, animBg.paletteId * 16, 32);
@@ -540,7 +540,7 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId)
case 1:
if (task->data[3] == 1)
{
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
task->data[10] = gBattle_BG1_Y;
FillPalette(0, animBg.paletteId * 16, 32);
}
@@ -742,9 +742,9 @@ void sub_80B8664(u8 taskId)
{
bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE;
- sub_8073128(toBG2);
+ ResetBattleAnimBg(toBG2);
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
- sub_8073128(toBG2 ^ 1);
+ ResetBattleAnimBg(toBG2 ^ 1);
DestroyAnimVisualTask(taskId);
}
@@ -800,7 +800,7 @@ void AnimTask_MetallicShine(u8 taskId)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
@@ -839,7 +839,7 @@ static void sub_80B8920(u8 taskId)
if (gTasks[taskId].data[1] == 0)
SetGreyscaleOrOriginalPalette(paletteNum, 1);
DestroySprite(&gSprites[gTasks[taskId].data[0]]);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
if (gTasks[taskId].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
diff --git a/src/data.c b/src/data.c
index 6b4e113af..3f6a340eb 100644
--- a/src/data.c
+++ b/src/data.c
@@ -8,7 +8,7 @@
#include "constants/battle_ai.h"
#include "constants/trainer_classes.h"
-const struct SpriteFrameImage gUnknown_8234698[] =
+const struct SpriteFrameImage gSpriteImages_BattlerPlayerLeft[] =
{
gHeap + 0x8000, 0x800,
gHeap + 0x8800, 0x800,
@@ -16,7 +16,7 @@ const struct SpriteFrameImage gUnknown_8234698[] =
gHeap + 0x9800, 0x800,
};
-const struct SpriteFrameImage gUnknown_82346B8[] =
+const struct SpriteFrameImage gSpriteImages_BattlerOpponentLeft[] =
{
gHeap + 0xA000, 0x800,
gHeap + 0xA800, 0x800,
@@ -24,7 +24,7 @@ const struct SpriteFrameImage gUnknown_82346B8[] =
gHeap + 0xB800, 0x800,
};
-const struct SpriteFrameImage gUnknown_82346D8[] =
+const struct SpriteFrameImage gSpriteImages_BattlerPlayerRight[] =
{
gHeap + 0xC000, 0x800,
gHeap + 0xC800, 0x800,
@@ -32,7 +32,7 @@ const struct SpriteFrameImage gUnknown_82346D8[] =
gHeap + 0xD800, 0x800,
};
-const struct SpriteFrameImage gUnknown_82346F8[] =
+const struct SpriteFrameImage gSpriteImages_BattlerOpponentRight[] =
{
gHeap + 0xE000, 0x800,
gHeap + 0xE800, 0x800,
@@ -168,7 +168,7 @@ static const union AffineAnimCmd gSpriteAffineAnim_82348B0[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gSpriteAffineAnimTable_82348C8[] =
+const union AffineAnimCmd *const gSpriteAffineAnimTable_BattlerPlayer[] =
{
gSpriteAffineAnim_82347F8,
gSpriteAffineAnim_8234818,
@@ -208,7 +208,7 @@ static const union AffineAnimCmd gSpriteAffineAnim_8234934[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gSpriteAffineAnimTable_8234944[] =
+const union AffineAnimCmd *const gSpriteAffineAnimTable_BattlerOpponent[] =
{
gSpriteAffineAnim_82347F8,
gSpriteAffineAnim_8234818,
diff --git a/src/daycare.c b/src/daycare.c
index 14c41355b..bbd0d89a6 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -790,7 +790,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
u8 i;
u8 selectedIvs[INHERITED_IV_COUNT];
u8 availableIVs[NUM_STATS];
- u8 whichParent[ARRAY_COUNT(selectedIvs)];
+ u8 whichParent[NELEMS(selectedIvs)];
u8 iv;
// Initialize a list of IV indices.
@@ -800,7 +800,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
}
// Select the 3 IVs that will be inherited.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < NELEMS(selectedIvs); i++)
{
// Randomly pick an IV from the available list and stop from being chosen again.
selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)];
@@ -808,13 +808,13 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
}
// Determine which parent each of the selected IVs should inherit from.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < NELEMS(selectedIvs); i++)
{
whichParent[i] = Random() % DAYCARE_MON_COUNT;
}
// Set each of inherited IVs on the egg mon.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < NELEMS(selectedIvs); i++)
{
switch (selectedIvs[i])
{
@@ -858,7 +858,7 @@ static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves)
numEggMoves = 0;
eggMoveIdx = 0;
species = GetMonData(pokemon, MON_DATA_SPECIES);
- for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++)
+ for (i = 0; i < NELEMS(gEggMoves) - 1; i++)
{
if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET)
{
@@ -1787,7 +1787,7 @@ static void CB2_EggHatch_0(void)
ResetTempTileDataBuffers();
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sBgTemplates_EggHatch, ARRAY_COUNT(sBgTemplates_EggHatch));
+ InitBgsFromTemplates(0, sBgTemplates_EggHatch, NELEMS(sBgTemplates_EggHatch));
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
diff --git a/src/dodrio_berry_picking_2.c b/src/dodrio_berry_picking_2.c
index d2ddd30be..df6b3ff4b 100644
--- a/src/dodrio_berry_picking_2.c
+++ b/src/dodrio_berry_picking_2.c
@@ -1567,7 +1567,7 @@ static void sub_8155EA0(void)
DmaClear16(3, (void *)PLTT, PLTT_SIZE);
SetGpuReg(REG_OFFSET_DISPCNT, 0);
ResetBgsAndClearDma3BusyFlags(FALSE);
- InitBgsFromTemplates(0, sUnknown_847565C, ARRAY_COUNT(sUnknown_847565C));
+ InitBgsFromTemplates(0, sUnknown_847565C, NELEMS(sUnknown_847565C));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0);
diff --git a/src/easy_chat.c b/src/easy_chat.c
index bf617a854..4360dc72e 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -704,7 +704,7 @@ static bool8 UnlockedECMonOrMove(u16 wordIndex, u8 groupId)
static bool32 EC_IsDeoxys(u16 species)
{
u32 i;
- for (i = 0; i < ARRAY_COUNT(sDeoxysValue); i++)
+ for (i = 0; i < NELEMS(sDeoxysValue); i++)
{
if (sDeoxysValue[i] == species)
return TRUE;
diff --git a/src/fame_checker.c b/src/fame_checker.c
index 48e5cf00a..ea6e63be9 100644
--- a/src/fame_checker.c
+++ b/src/fame_checker.c
@@ -450,7 +450,7 @@ static void MainCB2_LoadFameChecker(void)
sBg1TilemapBuffer = AllocZeroed(0x1000);
sBg2TilemapBuffer = AllocZeroed(0x800);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sUIBgTemplates, ARRAY_COUNT(sUIBgTemplates));
+ InitBgsFromTemplates(0, sUIBgTemplates, NELEMS(sUIBgTemplates));
SetBgTilemapBuffer(3, sBg3TilemapBuffer);
SetBgTilemapBuffer(2, sBg2TilemapBuffer);
SetBgTilemapBuffer(1, sBg1TilemapBuffer);
diff --git a/src/fighting.c b/src/fighting.c
index ab477cd43..9bbb09d87 100644
--- a/src/fighting.c
+++ b/src/fighting.c
@@ -788,7 +788,7 @@ static void sub_80B111C(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_807563C;
+ sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
}
}
@@ -874,7 +874,7 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = sub_807563C;
+ sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
}
static void sub_80B13D4(struct Sprite *sprite)
diff --git a/src/fire.c b/src/fire.c
index 7833620d4..54b7948f3 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -1160,7 +1160,7 @@ void AnimTask_BlendBackground(u8 taskId)
{
struct BattleAnimBgData animBg;
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]);
DestroyAnimVisualTask(taskId);
}
diff --git a/src/ice.c b/src/ice.c
index 6a77675e2..eb8420c63 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -941,7 +941,7 @@ void AnimTask_Haze1(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32);
@@ -992,7 +992,7 @@ static void AnimTask_Haze2(u8 taskId)
}
break;
case 3:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
++gTasks[taskId].data[12];
@@ -1039,7 +1039,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32);
@@ -1087,7 +1087,7 @@ static void AnimTask_OverlayFogTiles(u8 taskId)
}
break;
case 3:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
++gTasks[taskId].data[12];
diff --git a/src/load_save.c b/src/load_save.c
index f17d31f37..a825061f5 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -23,14 +23,14 @@ struct LoadedSaveData
};
// EWRAM DATA
-EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {0};
-EWRAM_DATA u8 gSaveBlock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
+EWRAM_DATA HERE struct SaveBlock2 gSaveBlock2 = {0};
+EWRAM_DATA HERE u8 gSaveBlock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
-EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {0};
-EWRAM_DATA u8 gSaveBlock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
+EWRAM_DATA HERE struct SaveBlock1 gSaveBlock1 = {0};
+EWRAM_DATA HERE u8 gSaveBlock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
-EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
-EWRAM_DATA u8 gSaveBlock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
+EWRAM_DATA HERE struct PokemonStorage gPokemonStorage = {0};
+EWRAM_DATA HERE u8 gSaveBlock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
EWRAM_DATA u32 gLastEncryptionKey = 0;
@@ -70,7 +70,7 @@ void SetSaveBlocksPointers(void)
struct SaveBlock1** sav1_LocalVar = &gSaveBlock1Ptr;
void *oldSave = (void *)gSaveBlock1Ptr;
- offset = (Random()) & (SAVEBLOCK_MOVE_RANGE - 4);
+ offset = (Random()) & ((SAVEBLOCK_MOVE_RANGE - 1) & ~3);
gSaveBlock2Ptr = (void*)(&gSaveBlock2) + offset;
*sav1_LocalVar = (void*)(&gSaveBlock1) + offset;
diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c
index 33f31515d..cfc05fe46 100644
--- a/src/mystery_gift_menu.c
+++ b/src/mystery_gift_menu.c
@@ -375,7 +375,7 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 mg_or_ereader)
ScanlineEffect_Stop();
ResetBgsAndClearDma3BusyFlags(1);
- InitBgsFromTemplates(0, sBGTemplates, ARRAY_COUNT(sBGTemplates));
+ InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0);
diff --git a/src/pokeball.c b/src/pokeball.c
index 69bab3e90..cccd88dd7 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -1167,7 +1167,7 @@ void DestroySpriteAndFreeResources2(struct Sprite *sprite)
DestroySpriteAndFreeResources(sprite);
}
-void sub_804BD94(u8 battlerId)
+void StartHealthboxSlideIn(u8 battlerId)
{
struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battlerId]];
diff --git a/src/pokemon.c b/src/pokemon.c
index b523c4cb9..16220d138 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1472,101 +1472,101 @@ static const u8 sHoldEffectToType[][2] =
{HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL},
};
-const struct SpriteTemplate gUnknown_825DEF0[] =
+const struct SpriteTemplate gSpriteTemplates_Battlers[] =
{
- {
+ [B_POSITION_PLAYER_LEFT] = {
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
- .images = gUnknown_8234698,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .images = gSpriteImages_BattlerPlayerLeft,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
- {
+ [B_POSITION_OPPONENT_LEFT] = {
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F010,
+ .oam = &gOamData_BattlerOpponent,
.anims = NULL,
- .images = gUnknown_82346B8,
- .affineAnims = gSpriteAffineAnimTable_8234944,
- .callback = SpriteCB_WildMon,
+ .images = gSpriteImages_BattlerOpponentLeft,
+ .affineAnims = gSpriteAffineAnimTable_BattlerOpponent,
+ .callback = SpriteCB_EnemyMon,
},
- {
+ [B_POSITION_PLAYER_RIGHT] = {
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
- .images = gUnknown_82346D8,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .images = gSpriteImages_BattlerPlayerRight,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
- {
+ [B_POSITION_OPPONENT_RIGHT] = {
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F010,
+ .oam = &gOamData_BattlerOpponent,
.anims = NULL,
- .images = gUnknown_82346F8,
- .affineAnims = gSpriteAffineAnimTable_8234944,
- .callback = SpriteCB_WildMon,
+ .images = gSpriteImages_BattlerOpponentRight,
+ .affineAnims = gSpriteAffineAnimTable_BattlerOpponent,
+ .callback = SpriteCB_EnemyMon,
},
};
-const struct SpriteTemplate gUnknown_825DF50[] =
+const struct SpriteTemplate gSpriteTemplates_TrainerBackpics[] =
{
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_Red,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_Leaf,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_RSBrendan,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_RSMay,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_Pokedude,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
{
.tileTag = SPRITE_INVALID_TAG,
.paletteTag = 0,
- .oam = &gOamData_824F018,
+ .oam = &gOamData_BattlerPlayer,
.anims = NULL,
.images = gTrainerBackPicTable_OldMan,
- .affineAnims = gSpriteAffineAnimTable_82348C8,
- .callback = sub_80120C4,
+ .affineAnims = gSpriteAffineAnimTable_BattlerPlayer,
+ .callback = SpriteCB_AllyMon,
},
};
@@ -2716,7 +2716,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition)
if (battlerPosition >= 4)
battlerPosition = 0;
- gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition];
+ gMultiuseSpriteTemplate = gSpriteTemplates_Battlers[battlerPosition];
}
}
gMultiuseSpriteTemplate.paletteTag = speciesTag;
@@ -2728,7 +2728,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit
gMultiuseSpriteTemplate.paletteTag = trainerSpriteId;
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
{
- gMultiuseSpriteTemplate = gUnknown_825DF50[trainerSpriteId];
+ gMultiuseSpriteTemplate = gSpriteTemplates_TrainerBackpics[trainerSpriteId];
gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerSpriteId];
}
else
@@ -2736,7 +2736,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit
if (gMonSpritesGfxPtr != NULL)
gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition];
else
- gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition];
+ gMultiuseSpriteTemplate = gSpriteTemplates_Battlers[battlerPosition];
gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[trainerSpriteId];
}
}
@@ -6081,7 +6081,7 @@ static void OakSpeechNidoranFSetupTemplate(struct OakSpeechNidoranFStruct *struc
{
for (i = 0; i < (s8)structPtr->spriteCount; ++i)
{
- structPtr->templates[i] = gUnknown_825DEF0[i];
+ structPtr->templates[i] = gSpriteTemplates_Battlers[i];
for (j = 0; j < structPtr->frameCount; ++j)
structPtr->frameImages[i * structPtr->frameCount + j].data = &structPtr->bufferPtrs[i][j * 0x800];
structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->frameCount];
@@ -6089,7 +6089,7 @@ static void OakSpeechNidoranFSetupTemplate(struct OakSpeechNidoranFStruct *struc
}
else
{
- const struct SpriteTemplate *template = &gUnknown_825DEF0[battlePosition];
+ const struct SpriteTemplate *template = &gSpriteTemplates_Battlers[battlePosition];
structPtr->templates[0] = *template;
for (j = 0; j < structPtr->frameCount; ++j)
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 03b9c6744..c09fbf6ed 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -2339,7 +2339,7 @@ static void sub_8136BC4(void)
SetGpuReg(REG_OFFSET_DISPCNT, 0);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sUnknown_8463EFC, ARRAY_COUNT(sUnknown_8463EFC));
+ InitBgsFromTemplates(0, sUnknown_8463EFC, NELEMS(sUnknown_8463EFC));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
@@ -3902,20 +3902,20 @@ static void sub_8139768(struct Sprite * sprite)
{
case 0:
sprite->pos1.y += sUnknown_8463FBE[sUnknown_203B170->unk00++];
- v0 = ARRAY_COUNT(sUnknown_8463FBE);
+ v0 = NELEMS(sUnknown_8463FBE);
break;
case 1:
sprite->pos1.y += sUnknown_8463FC1[sUnknown_203B170->unk00++];
- v0 = ARRAY_COUNT(sUnknown_8463FC1);
+ v0 = NELEMS(sUnknown_8463FC1);
break;
case 2:
sprite->pos1.y += sUnknown_8463FC6[sUnknown_203B170->unk00++];
- v0 = ARRAY_COUNT(sUnknown_8463FC6);
+ v0 = NELEMS(sUnknown_8463FC6);
break;
case 3:
default:
sprite->pos1.y += sUnknown_8463FCD[sUnknown_203B170->unk00++];
- v0 = ARRAY_COUNT(sUnknown_8463FCD);
+ v0 = NELEMS(sUnknown_8463FCD);
break;
}
@@ -3941,7 +3941,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 120)
{
sprite->pos1.x += sUnknown_8463FD4[sUnknown_203B170->unk00];
- if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FD4))
+ if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FD4))
{
sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0;
@@ -3953,7 +3953,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 90)
{
sprite->pos1.x += sUnknown_8463FDF[sUnknown_203B170->unk00];
- if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FDF))
+ if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FDF))
{
sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0;
@@ -3965,7 +3965,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 60)
{
sprite->pos1.x += sUnknown_8463FEA[sUnknown_203B170->unk00];
- if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FEA))
+ if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FEA))
{
sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0;
diff --git a/src/psychic.c b/src/psychic.c
index 32e4dce46..9a072ad5c 100644
--- a/src/psychic.c
+++ b/src/psychic.c
@@ -523,10 +523,10 @@ static void sub_80B3168(struct Sprite *sprite)
bool8 toBG2 = (rank ^ var0) != 0;
if (IsBattlerSpriteVisible(battler))
- sub_8073128(toBG2);
+ ResetBattleAnimBg(toBG2);
battler = battlerCopy ^ 2;
if (IsBattlerSpriteVisible(battler))
- sub_8073128(toBG2 ^ var0);
+ ResetBattleAnimBg(toBG2 ^ var0);
}
sprite->callback = DestroyAnimSprite;
}
diff --git a/src/quest_log_player.c b/src/quest_log_player.c
index 715061963..da1c2b76e 100644
--- a/src/quest_log_player.c
+++ b/src/quest_log_player.c
@@ -35,7 +35,7 @@ static void (*const gUnknown_8471EDC[])(void) = {
void sub_8150454(u8 a0)
{
- if (a0 < ARRAY_COUNT(gUnknown_8471EDC))
+ if (a0 < NELEMS(gUnknown_8471EDC))
gUnknown_8471EDC[a0]();
}
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index c65169710..e21392f9d 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -10,7 +10,7 @@
#include "battle_controllers.h"
static void CB2_ReshowBattleScreenAfterMenu(void);
-static void sub_8077AAC(void);
+static void ReshowBattleScreen_TurnOnDisplay(void);
static bool8 LoadBattlerSpriteGfx(u8 battlerId);
static void CreateBattlerSprite(u8 battlerId);
static void CreateHealthboxSprite(u8 battlerId);
@@ -113,35 +113,35 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
if (!LoadBattlerSpriteGfx(2))
--gBattleScripting.reshowMainState;
break;
- case 0xA:
+ case 10:
if (!LoadBattlerSpriteGfx(3))
--gBattleScripting.reshowMainState;
break;
- case 0xB:
+ case 11:
CreateBattlerSprite(0);
break;
- case 0xC:
+ case 12:
CreateBattlerSprite(1);
break;
- case 0xD:
+ case 13:
CreateBattlerSprite(2);
break;
- case 0xE:
+ case 14:
CreateBattlerSprite(3);
break;
- case 0xF:
+ case 15:
CreateHealthboxSprite(0);
break;
- case 0x10:
+ case 16:
CreateHealthboxSprite(1);
break;
- case 0x11:
+ case 17:
CreateHealthboxSprite(2);
break;
- case 0x12:
+ case 18:
CreateHealthboxSprite(3);
break;
- case 0x13:
+ case 19:
LoadAndCreateEnemyShadowSprites();
opponentBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBattler]], MON_DATA_SPECIES);
@@ -159,13 +159,13 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
CreateWirelessStatusIndicatorSprite(0, 0);
}
break;
- case 0x14:
+ case 20:
SetVBlankCallback(VBlankCB_Battle);
- sub_8077AAC();
+ ReshowBattleScreen_TurnOnDisplay();
BeginHardwarePaletteFade(0xFF, 0, 0x10, 0, 1);
gPaletteFade.bufferTransferDisabled = 0;
SetMainCallback2(BattleMainCB2);
- sub_80357C8();
+ BattleInterfaceSetWindowPals();
break;
default:
break;
@@ -173,7 +173,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
++gBattleScripting.reshowMainState;
}
-static void sub_8077AAC(void)
+static void ReshowBattleScreen_TurnOnDisplay(void)
{
EnableInterrupts(INTR_FLAG_VBLANK);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -202,9 +202,9 @@ static bool8 LoadBattlerSpriteGfx(u8 battler)
BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
- DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, battler);
+ DecompressTrainerBackPalette(BACK_PIC_RED + gSaveBlock2Ptr->playerGender, battler);
else if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
- DecompressTrainerBackPalette(5, battler);
+ DecompressTrainerBackPalette(BACK_PIC_OLDMAN, battler);
else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler);
else
diff --git a/src/roamer.c b/src/roamer.c
index 074ac22cf..6367e9d43 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -94,7 +94,7 @@ void CreateInitialRoamerMon(void)
saveRoamer.smart = GetMonData(tmpMon, MON_DATA_SMART);
saveRoamer.tough = GetMonData(tmpMon, MON_DATA_TOUGH);
sRoamerLocation[MAP_GRP] = 3;
- sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
+ sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (NELEMS(sRoamerLocations) - 1)][0];
}
void InitRoamer(void)
@@ -125,7 +125,7 @@ void RoamerMoveToOtherLocationSet(void)
while (1)
{
- mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
+ mapNum = sRoamerLocations[Random() % (NELEMS(sRoamerLocations) - 1)][0];
if (sRoamerLocation[MAP_NUM] != mapNum)
{
sRoamerLocation[MAP_NUM] = mapNum;
@@ -150,7 +150,7 @@ void RoamerMove(void)
if (!roamer->active)
return;
- while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1))
+ while (locSet < (NELEMS(sRoamerLocations) - 1))
{
if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0])
{
diff --git a/src/rock.c b/src/rock.c
index 922b2ad6a..4243e5102 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -407,7 +407,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
@@ -464,7 +464,7 @@ static void sub_80B490C(u8 taskId)
}
break;
case 3:
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
++gTasks[taskId].data[12];
break;
diff --git a/src/save.c b/src/save.c
index d5993182c..bd8cdbc29 100644
--- a/src/save.c
+++ b/src/save.c
@@ -45,26 +45,24 @@
min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \
} \
-// TODO: use gSaveblock2, gSaveblock1, gPokemonStorage instead of structs
-// Will be done when load_save is decompiled.
const struct SaveSectionOffsets gSaveSectionOffsets[] =
{
- SAVEBLOCK_CHUNK(struct SaveBlock2, 0),
-
- SAVEBLOCK_CHUNK(struct SaveBlock1, 0),
- SAVEBLOCK_CHUNK(struct SaveBlock1, 1),
- SAVEBLOCK_CHUNK(struct SaveBlock1, 2),
- SAVEBLOCK_CHUNK(struct SaveBlock1, 3),
-
- SAVEBLOCK_CHUNK(struct PokemonStorage, 0),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 1),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 2),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 3),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 4),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 5),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 6),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 7),
- SAVEBLOCK_CHUNK(struct PokemonStorage, 8)
+ SAVEBLOCK_CHUNK(gSaveBlock2, 0),
+
+ SAVEBLOCK_CHUNK(gSaveBlock1, 0),
+ SAVEBLOCK_CHUNK(gSaveBlock1, 1),
+ SAVEBLOCK_CHUNK(gSaveBlock1, 2),
+ SAVEBLOCK_CHUNK(gSaveBlock1, 3),
+
+ SAVEBLOCK_CHUNK(gPokemonStorage, 0),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 1),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 2),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 3),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 4),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 5),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 6),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 7),
+ SAVEBLOCK_CHUNK(gPokemonStorage, 8)
};
// Sector num to begin writing save data. Sectors are rotated each time the game is saved. (possibly to avoid wear on flash memory?)
diff --git a/src/string_util.c b/src/string_util.c
index 17507b0e8..f059ac43d 100644
--- a/src/string_util.c
+++ b/src/string_util.c
@@ -487,7 +487,7 @@ u8 *GetExpandedPlaceholder(u32 id)
[PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre,
};
- if (id >= ARRAY_COUNT(funcs))
+ if (id >= NELEMS(funcs))
return gExpandedPlaceholder_Empty;
else
return funcs[id]();
@@ -627,7 +627,7 @@ u8 GetExtCtrlCodeLength(u8 code)
};
u8 length = 0;
- if (code < ARRAY_COUNT(lengths))
+ if (code < NELEMS(lengths))
length = lengths[code];
return length;
}
diff --git a/src/trainer_card.c b/src/trainer_card.c
index e42385243..483c91126 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -1472,7 +1472,7 @@ static bool8 SetTrainerCardBgsAndPals(void)
switch (sTrainerCardDataPtr->bgPalLoadState)
{
case 0:
- LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, ARRAY_COUNT(sTrainerCardDataPtr->badgeTiles), 0);
+ LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, NELEMS(sTrainerCardDataPtr->badgeTiles), 0);
break;
case 1:
LoadBgTiles(0, sTrainerCardDataPtr->cardTiles, 0x1800, 0);
diff --git a/src/water.c b/src/water.c
index f8dd29bd0..9fbfd4d9a 100644
--- a/src/water.c
+++ b/src/water.c
@@ -812,7 +812,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
if (!IsContest())
{
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
@@ -889,7 +889,7 @@ static void AnimTask_CreateSurfWave_Step1(u8 taskId)
*BGptrX += gTasks[taskId].data[0];
*BGptrY += gTasks[taskId].data[1];
- sub_80752A0(&animBg);
+ GetBattleAnimBg1Data(&animBg);
gTasks[taskId].data[2] += gTasks[taskId].data[1];
if (++gTasks[taskId].data[5] == 4)
{