summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2019-02-12 00:40:42 -0600
committerDiegoisawesome <diego@domoreaweso.me>2019-02-12 00:40:42 -0600
commitdfb896356cf46fd1679814c7d5cf8f1e31e34dee (patch)
tree0c38e9dc94b1ef531b7a740cd1a08c4a2d5e091c /src
parent449fb25f2372c8d51fc156d0eeeffa4023ec38b8 (diff)
parent16eff049a14be4f826edb8bc07929e6d5e4e4e0d (diff)
Merge branch 'master' of github.com:pret/pokeemerald
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim.c38
-rw-r--r--src/battle_anim_80A5C6C.c223
-rw-r--r--src/battle_anim_80D51AC.c12
-rwxr-xr-xsrc/battle_anim_8170478.c14
-rw-r--r--src/battle_anim_effects_1.c34
-rwxr-xr-xsrc/battle_anim_effects_2.c40
-rwxr-xr-xsrc/battle_anim_effects_3.c54
-rw-r--r--src/battle_anim_utility_funcs.c34
-rw-r--r--src/battle_arena.c134
-rw-r--r--src/battle_controller_link_opponent.c4
-rw-r--r--src/battle_controller_link_partner.c4
-rw-r--r--src/battle_controller_opponent.c4
-rw-r--r--src/battle_controller_player.c4
-rw-r--r--src/battle_controller_player_partner.c4
-rw-r--r--src/battle_controller_recorded_opponent.c4
-rw-r--r--src/battle_controller_recorded_player.c4
-rw-r--r--src/battle_controller_wally.c2
-rw-r--r--src/battle_dome.c877
-rw-r--r--src/battle_factory.c196
-rw-r--r--src/battle_factory_screen.c22
-rw-r--r--src/battle_pike.c777
-rw-r--r--src/battle_pyramid.c1891
-rw-r--r--src/battle_pyramid_bag.c2
-rw-r--r--src/battle_script_commands.c4
-rw-r--r--src/battle_setup.c6
-rw-r--r--src/battle_tent.c8
-rw-r--r--src/battle_tower.c86
-rw-r--r--src/bug.c4
-rw-r--r--src/dark.c32
-rw-r--r--src/dragon.c2
-rw-r--r--src/event_object_movement.c8
-rw-r--r--src/field_poison.c2
-rw-r--r--src/field_screen_effect.c4
-rw-r--r--src/field_specials.c2
-rw-r--r--src/fieldmap.c7
-rw-r--r--src/fire.c10
-rw-r--r--src/frontier_util.c2
-rw-r--r--src/ghost.c4
-rw-r--r--src/graphics.c10
-rw-r--r--src/ground.c6
-rw-r--r--src/ice.c30
-rwxr-xr-xsrc/item_menu.c2
-rwxr-xr-xsrc/item_use.c2
-rw-r--r--src/map_name_popup.c2
-rw-r--r--src/new_game.c2
-rw-r--r--src/normal.c12
-rw-r--r--src/overworld.c94
-rw-r--r--src/poison.c6
-rw-r--r--src/pokeball.c4
-rw-r--r--src/pokemon.c2
-rw-r--r--src/pokemon_summary_screen.c10
-rw-r--r--src/psychic.c2
-rw-r--r--src/rock.c24
-rw-r--r--src/start_menu.c8
-rw-r--r--src/tileset_anims.c1672
-rw-r--r--src/trainer_hill.c10
-rw-r--r--src/water.c36
57 files changed, 3095 insertions, 3398 deletions
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 1f4831c54..f086b1c33 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -1924,7 +1924,7 @@ bool8 IsBattlerSpriteVisible(u8 battlerId)
void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
u8 battlerSpriteId;
if (!toBG_2)
@@ -1942,9 +1942,9 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
RequestDma3Fill(0xFF, (void*)(VRAM + 0xe000), 0x1000, 0);
}
- sub_80A6B30(&unknownStruct);
- CpuFill16(0, unknownStruct.bgTiles, 0x1000);
- CpuFill16(0xFF, unknownStruct.unk4, 0x800);
+ sub_80A6B30(&animBg);
+ CpuFill16(0, animBg.bgTiles, 0x1000);
+ CpuFill16(0xFF, animBg.bgTilemap, 0x800);
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 2);
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
@@ -1963,15 +1963,15 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], unknownStruct.unk8 * 16, 0x20);
- CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + unknownStruct.unk8 * 32), 0x20);
+ LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20);
+ CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + animBg.paletteId * 32), 0x20);
if (IsContest())
battlerPosition = 0;
else
battlerPosition = GetBattlerPosition(battlerId);
- sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.bgTiles, unknownStruct.unk4, unknownStruct.tilesOffset);
+ sub_8118FBC(1, 0, 0, battlerPosition, animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset);
if (IsContest())
sub_80A46A0();
@@ -1980,9 +1980,9 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
{
RequestDma3Fill(0, (void*)(VRAM + 0x6000), 0x2000, 1);
RequestDma3Fill(0, (void*)(VRAM + 0xF000), 0x1000, 1);
- sub_80A6B90(&unknownStruct, 2);
- CpuFill16(0, unknownStruct.bgTiles + 0x1000, 0x1000);
- CpuFill16(0, unknownStruct.unk4 + 0x400, 0x800);
+ sub_80A6B90(&animBg, 2);
+ CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
+ CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1);
SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0);
@@ -2001,20 +2001,20 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20);
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20);
- sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.bgTiles + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.tilesOffset);
+ sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset);
}
}
static void sub_80A46A0(void)
{
s32 i, j;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
u16 *ptr;
if (IsSpeciesNotUnown(gContestResources->field_18->species))
{
- sub_80A6B30(&unknownStruct);
- ptr = unknownStruct.unk4;
+ sub_80A6B30(&animBg);
+ ptr = animBg.bgTilemap;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 4; j++)
@@ -2052,8 +2052,8 @@ void sub_80A4720(u16 a, u16 *b, u32 c, u8 d)
void sub_80A477C(bool8 to_BG2)
{
- struct UnknownAnimStruct2 unknownStruct;
- sub_80A6B30(&unknownStruct);
+ struct BattleAnimBgData animBg;
+ sub_80A6B30(&animBg);
if (!to_BG2 || IsContest())
{
@@ -2073,11 +2073,11 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
{
u8 spriteId, palIndex;
s16 x, y;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
spriteId = gTasks[taskId].data[0];
palIndex = gTasks[taskId].data[6];
- sub_80A6B30(&unknownStruct);
+ sub_80A6B30(&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);
@@ -2089,7 +2089,7 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
gBattle_BG1_X = x + gTasks[taskId].data[3];
gBattle_BG1_Y = y + gTasks[taskId].data[4];
src = gPlttBufferFaded + 0x100 + palIndex * 16;
- dst = gPlttBufferFaded + 0x100 + unknownStruct.unk8 * 16 - 256;
+ dst = gPlttBufferFaded + 0x100 + animBg.paletteId * 16 - 256;
CpuCopy32(src, dst, 0x20);
}
else
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
index 3efc86bf8..372377a0c 100644
--- a/src/battle_anim_80A5C6C.c
+++ b/src/battle_anim_80A5C6C.c
@@ -33,21 +33,18 @@ extern const u8 gEnemyMonElevation[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const union AffineAnimCmd *gUnknown_082FF6C0[];
-// This file's functions.
-void sub_80A64EC(struct Sprite *sprite);
-void sub_80A6FB4(struct Sprite *sprite);
-void sub_80A7144(struct Sprite *sprite);
-void sub_80A791C(struct Sprite *sprite);
-void sub_80A8DFC(struct Sprite *sprite);
-void sub_80A8E88(struct Sprite *sprite);
-void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
-u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
-void AnimTask_BlendMonInAndOutSetup(struct Task *task);
-void sub_80A7AFC(u8 taskId);
-void sub_80A8CAC(u8 taskId);
-void AnimTask_BlendMonInAndOutStep(u8 taskId);
-bool8 sub_80A7238(void);
-void sub_80A8D78(struct Task *task, u8 taskId);
+static void sub_80A6FB4(struct Sprite *sprite);
+static void sub_80A7144(struct Sprite *sprite);
+static void sub_80A791C(struct Sprite *sprite);
+static void sub_80A8DFC(struct Sprite *sprite);
+static void sub_80A8E88(struct Sprite *sprite);
+static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
+static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
+static void sub_80A7AFC(u8 taskId);
+static void sub_80A8CAC(u8 taskId);
+static void AnimTask_BlendMonInAndOutStep(u8 taskId);
+static bool8 sub_80A7238(void);
+static void sub_80A8D78(struct Task *task, u8 taskId);
// EWRAM vars
EWRAM_DATA static union AffineAnimCmd *gAnimTaskAffineAnim = NULL;
@@ -503,7 +500,7 @@ void sub_80A63C8(struct Sprite *sprite)
}
}
-void sub_80A6450(struct Sprite *sprite)
+void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
{
if (sprite->data[3])
{
@@ -533,28 +530,28 @@ void WaitAnimForDuration(struct Sprite *sprite)
SetCallbackToStoredInData6(sprite);
}
-void sub_80A64D0(struct Sprite *sprite)
+static void sub_80A64D0(struct Sprite *sprite)
{
sub_80A64EC(sprite);
- sprite->callback = TranslateSpriteOverDuration;
+ sprite->callback = TranslateSpriteLinear;
sprite->callback(sprite);
}
void sub_80A64EC(struct Sprite *sprite)
{
s16 old;
- int v1;
+ int xDiff;
if (sprite->data[1] > sprite->data[2])
sprite->data[0] = -sprite->data[0];
- v1 = sprite->data[2] - sprite->data[1];
+ xDiff = sprite->data[2] - sprite->data[1];
old = sprite->data[0];
- sprite->data[0] = abs(v1 / sprite->data[0]);
+ sprite->data[0] = abs(xDiff / sprite->data[0]);
sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0];
sprite->data[1] = old;
}
-void TranslateSpriteOverDuration(struct Sprite *sprite)
+void TranslateSpriteLinear(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -568,7 +565,7 @@ void TranslateSpriteOverDuration(struct Sprite *sprite)
}
}
-void AnimTranslateLinearSimple(struct Sprite *sprite)
+void TranslateSpriteLinearFixedPoint(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -584,7 +581,7 @@ void AnimTranslateLinearSimple(struct Sprite *sprite)
}
}
-void sub_80A65A8(struct Sprite *sprite)
+static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -598,6 +595,7 @@ void sub_80A65A8(struct Sprite *sprite)
{
SetCallbackToStoredInData6(sprite);
}
+
UpdateMonIconFrame(sprite);
}
@@ -605,12 +603,12 @@ void sub_80A65EC(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = sub_80A64D0;
}
-void TranslateMonBGUntil(struct Sprite *sprite)
+void TranslateMonSpriteLinear(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -624,9 +622,7 @@ void TranslateMonBGUntil(struct Sprite *sprite)
}
}
-// Same as TranslateMonBGUntil, but it operates on sub-pixel values
-// to handle slower translations.
-void sub_80A6680(struct Sprite *sprite)
+void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -642,7 +638,7 @@ void sub_80A6680(struct Sprite *sprite)
}
}
-void sub_80A66DC(struct Sprite *sprite)
+void TranslateSpriteLinearAndFlicker(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -673,8 +669,8 @@ void sub_80A6760(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = sub_80A64D0;
}
@@ -696,7 +692,7 @@ void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite)
SetCallbackToStoredInData6(sprite);
}
-void sub_80A67F4(struct Sprite *sprite)
+void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
@@ -749,7 +745,7 @@ void InitAnimArcTranslation(struct Sprite *sprite)
sprite->data[7] = 0;
}
-bool8 TranslateAnimArc(struct Sprite *sprite)
+bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
return TRUE;
@@ -758,7 +754,7 @@ bool8 TranslateAnimArc(struct Sprite *sprite)
return FALSE;
}
-bool8 sub_80A6934(struct Sprite *sprite)
+bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
return TRUE;
@@ -767,7 +763,7 @@ bool8 sub_80A6934(struct Sprite *sprite)
return FALSE;
}
-void oamt_add_pos2_onto_pos1(struct Sprite *sprite)
+void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite)
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
@@ -862,38 +858,38 @@ bool8 IsDoubleBattle(void)
return IS_DOUBLE_BATTLE();
}
-void sub_80A6B30(struct UnknownAnimStruct2 *unk)
+void sub_80A6B30(struct BattleAnimBgData *unk)
{
if (IsContest())
{
unk->bgTiles = gUnknown_0202305C;
- unk->unk4 = (u16 *)gUnknown_02023060;
- unk->unk8 = 0xe;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 14;
unk->bgId = 1;
unk->tilesOffset = 0;
- unk->unkC = 0;
+ unk->unused = 0;
}
else
{
unk->bgTiles = gUnknown_0202305C;
- unk->unk4 = (u16 *)gUnknown_02023060;
- unk->unk8 = 0x8;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 8;
unk->bgId = 1;
unk->tilesOffset = 0x200;
- unk->unkC = 0;
+ unk->unused = 0;
}
}
-void sub_80A6B90(struct UnknownAnimStruct2 *unk, u32 arg1)
+void sub_80A6B90(struct BattleAnimBgData *unk, u32 arg1)
{
if (IsContest())
{
unk->bgTiles = gUnknown_0202305C;
- unk->unk4 = (u16 *)gUnknown_02023060;
- unk->unk8 = 0xe;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 14;
unk->bgId = 1;
unk->tilesOffset = 0;
- unk->unkC = 0;
+ unk->unused = 0;
}
else if (arg1 == 1)
{
@@ -902,76 +898,76 @@ void sub_80A6B90(struct UnknownAnimStruct2 *unk, u32 arg1)
else
{
unk->bgTiles = gUnknown_0202305C;
- unk->unk4 = (u16 *)gUnknown_02023060;
- unk->unk8 = 0x9;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 9;
unk->bgId = 2;
unk->tilesOffset = 0x300;
- unk->unkC = 0;
+ unk->unused = 0;
}
}
-void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused)
+void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused)
{
unk->bgTiles = gUnknown_0202305C;
- unk->unk4 = (u16 *)gUnknown_02023060;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
if (IsContest())
{
- unk->unk8 = 0xe;
+ unk->paletteId = 14;
unk->bgId = 1;
unk->tilesOffset = 0;
- unk->unkC = 0;
+ unk->unused = 0;
}
else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
{
- unk->unk8 = 8;
+ unk->paletteId = 8;
unk->bgId = 1;
unk->tilesOffset = 0x200;
- unk->unkC = 0;
+ unk->unused = 0;
}
else
{
- unk->unk8 = 0x9;
+ unk->paletteId = 9;
unk->bgId = 2;
unk->tilesOffset = 0x300;
- unk->unkC = 0;
+ unk->unused = 0;
}
}
void sub_80A6C68(u32 bgId)
{
- struct UnknownAnimStruct2 unkStruct;
+ struct BattleAnimBgData unkStruct;
sub_80A6B90(&unkStruct, bgId);
CpuFill32(0, unkStruct.bgTiles, 0x2000);
LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
- FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 0x20, 0x40, 0x11);
+ FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 32, 64, 17);
CopyBgTilemapBufferToVram(unkStruct.bgId);
}
-void sub_80A6CC0(u32 bgId, const u32 *src, u32 tilesOffset)
+void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset)
{
CpuFill32(0, gUnknown_0202305C, 0x2000);
LZDecompressWram(src, gUnknown_0202305C);
LoadBgTiles(bgId, gUnknown_0202305C, 0x2000, tilesOffset);
}
-void sub_80A6D10(u32 bgId, const void *src)
+static void InitAnimBgTilemapBuffer(u32 bgId, const void *src)
{
- FillBgTilemapBufferRect(bgId, 0, 0, 0, 0x20, 0x40, 0x11);
+ FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17);
CopyToBgTilemapBuffer(bgId, src, 0, 0);
}
-void sub_80A6D48(u32 bgId, const void *src)
+void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
{
- sub_80A6D10(bgId, src);
+ InitAnimBgTilemapBuffer(bgId, src);
CopyBgTilemapBufferToVram(bgId);
}
-void sub_80A6D60(struct UnknownAnimStruct2 *unk, const void *src, u32 arg2)
+void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
{
- sub_80A6D10(unk->bgId, src);
+ InitAnimBgTilemapBuffer(unk->bgId, src);
if (IsContest() == TRUE)
- sub_80A4720(unk->unk8, unk->unk4, 0, arg2);
+ sub_80A4720(unk->paletteId, unk->bgTilemap, 0, arg2);
CopyBgTilemapBufferToVram(unk->bgId);
}
@@ -1002,7 +998,7 @@ void sub_80A6DEC(struct Sprite *sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
InitSpriteDataForLinearTranslation(sprite);
- sprite->callback = sub_80A65A8;
+ sprite->callback = TranslateSpriteLinearFixedPointIconFrame;
sprite->callback(sprite);
}
@@ -1098,7 +1094,7 @@ void sub_80A6F98(struct Sprite *sprite)
SetCallbackToStoredInData6(sprite);
}
-void sub_80A6FB4(struct Sprite *sprite)
+static void sub_80A6FB4(struct Sprite *sprite)
{
sub_8039E9C(sprite);
if (AnimTranslateLinear(sprite))
@@ -1188,7 +1184,7 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite)
return FALSE;
}
-void sub_80A7144(struct Sprite *sprite)
+static void sub_80A7144(struct Sprite *sprite)
{
if (AnimFastTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
@@ -1229,7 +1225,7 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
gOamMatrices[i].d = matrix.d;
}
-bool8 sub_80A7238(void)
+static bool8 sub_80A7238(void)
{
if (IsContest())
{
@@ -1352,56 +1348,57 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
}
}
-u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
+u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7)
{
- u32 var = 0;
+ u32 selectedPalettes = 0;
u32 shift;
- if (a1)
+ if (battleBackground)
{
if (!IsContest())
- var = 0xe;
+ selectedPalettes = 0xe;
else
- var = 1 << sub_80A6D94();
+ selectedPalettes = 1 << sub_80A6D94();
}
- if (a2)
+ if (attacker)
{
shift = gBattleAnimAttacker + 16;
- var |= 1 << shift;
+ selectedPalettes |= 1 << shift;
}
- if (a3) {
+ if (target)
+ {
shift = gBattleAnimTarget + 16;
- var |= 1 << shift;
+ selectedPalettes |= 1 << shift;
}
- if (a4)
+ if (attackerPartner)
{
- if (IsBattlerSpriteVisible(gBattleAnimAttacker ^ 2))
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
{
- shift = (gBattleAnimAttacker ^ 2) + 16;
- var |= 1 << shift;
+ shift = BATTLE_PARTNER(gBattleAnimAttacker) + 16;
+ selectedPalettes |= 1 << shift;
}
}
- if (a5)
+ if (targetPartner)
{
- if (IsBattlerSpriteVisible(gBattleAnimTarget ^ 2))
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
{
- shift = (gBattleAnimTarget ^ 2) + 16;
- var |= 1 << shift;
+ shift = BATTLE_PARTNER(gBattleAnimTarget) + 16;
+ selectedPalettes |= 1 << shift;
}
}
if (a6)
{
if (!IsContest())
- var |= 0x100;
+ selectedPalettes |= 0x100;
else
- var |= 0x4000;
+ selectedPalettes |= 0x4000;
}
if (a7)
{
if (!IsContest())
- var |= 0x200;
+ selectedPalettes |= 0x200;
}
- return var;
+ return selectedPalettes;
}
u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4)
@@ -1459,7 +1456,7 @@ u8 sub_80A77AC(u8 a1)
return a1;
}
-u8 sub_80A77B4(u8 position)
+static u8 GetBattlerAtPosition_(u8 position)
{
return GetBattlerAtPosition(position);
}
@@ -1527,33 +1524,33 @@ void sub_80A78AC(struct Sprite *sprite)
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
sprite->callback = sub_80A791C;
}
-void sub_80A791C(struct Sprite *sprite)
+static void sub_80A791C(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
void sub_80A7938(struct Sprite *sprite)
{
bool8 r4;
- u8 battlerId, attributeId;
+ u8 battlerId, coordType;
if (!gBattleAnimArgs[6])
{
r4 = TRUE;
- attributeId = BATTLER_COORD_Y_PIC_OFFSET;
+ coordType = BATTLER_COORD_Y_PIC_OFFSET;
}
else
{
r4 = FALSE;
- attributeId = BATTLER_COORD_Y;
+ coordType = BATTLER_COORD_Y;
}
if (!gBattleAnimArgs[5])
{
@@ -1570,7 +1567,7 @@ void sub_80A7938(struct Sprite *sprite)
InitSpritePosToAnimTarget(sprite, r4);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
+ sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -1629,7 +1626,7 @@ void sub_80A7A74(u8 taskId)
gTasks[taskId].func = sub_80A7AFC;
}
-void sub_80A7AFC(u8 taskId)
+static void sub_80A7AFC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1674,7 +1671,7 @@ void AnimTask_BlendMonInAndOut(u8 task)
AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
}
-void AnimTask_BlendMonInAndOutSetup(struct Task *task)
+static void AnimTask_BlendMonInAndOutSetup(struct Task *task)
{
task->data[1] = gBattleAnimArgs[1];
task->data[2] = 0;
@@ -1686,7 +1683,7 @@ void AnimTask_BlendMonInAndOutSetup(struct Task *task)
task->func = AnimTask_BlendMonInAndOutStep;
}
-void AnimTask_BlendMonInAndOutStep(u8 taskId)
+static void AnimTask_BlendMonInAndOutStep(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1844,7 +1841,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
gSprites[spriteId].pos2.y = (var - var2) / 2;
}
-u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
+static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
{
struct BattleSpriteInfo *spriteInfo;
u8 battlerId = gSprites[spriteId].data[0];
@@ -2300,7 +2297,7 @@ void sub_80A8A6C(struct Sprite *sprite)
sprite->data[3] = gBattleAnimArgs[4];
sprite->data[5] = gBattleAnimArgs[5];
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A66DC;
+ sprite->callback = TranslateSpriteLinearAndFlicker;
}
void sub_80A8AEC(struct Sprite *sprite)
@@ -2321,7 +2318,7 @@ void sub_80A8AEC(struct Sprite *sprite)
sprite->data[5] = gBattleAnimArgs[5];
StartSpriteAnim(sprite, gBattleAnimArgs[6]);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A66DC;
+ sprite->callback = TranslateSpriteLinearAndFlicker;
}
void sub_80A8B64(struct Sprite *sprite)
@@ -2362,7 +2359,7 @@ void sub_80A8BC4(u8 taskId)
task->func = sub_80A8CAC;
}
-void sub_80A8CAC(u8 taskId)
+static void sub_80A8CAC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
switch (task->data[2])
@@ -2395,7 +2392,7 @@ void sub_80A8CAC(u8 taskId)
}
}
-void sub_80A8D78(struct Task *task, u8 taskId)
+static void sub_80A8D78(struct Task *task, u8 taskId)
{
s16 spriteId = CloneBattlerSpriteWithBlend(0);
if (spriteId >= 0)
@@ -2411,7 +2408,7 @@ void sub_80A8D78(struct Task *task, u8 taskId)
}
}
-void sub_80A8DFC(struct Sprite *sprite)
+static void sub_80A8DFC(struct Sprite *sprite)
{
if (--sprite->data[0] == 0)
{
@@ -2432,7 +2429,7 @@ void sub_80A8E30(struct Sprite *sprite)
sprite->callback = sub_80A8E88;
}
-void sub_80A8E88(struct Sprite *sprite)
+static void sub_80A8E88(struct Sprite *sprite)
{
sprite->data[2] += sprite->data[0];
sprite->data[3] += sprite->data[1];
diff --git a/src/battle_anim_80D51AC.c b/src/battle_anim_80D51AC.c
index 34eee7376..250a0459f 100644
--- a/src/battle_anim_80D51AC.c
+++ b/src/battle_anim_80D51AC.c
@@ -441,14 +441,14 @@ static void DoHorizontalLunge(struct Sprite *sprite)
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection);
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
}
static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -468,14 +468,14 @@ static void DoVerticalDip(struct Sprite *sprite)
sprite->data[3] = spriteId;
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection);
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
}
static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -581,7 +581,7 @@ static void SlideMonToOffset(struct Sprite *sprite)
sprite->data[5] = monSpriteId;
sprite->invisible = TRUE;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = sub_80A6680;
+ sprite->callback = TranslateMonSpriteLinearFixedPoint;
}
static void sub_80D5B48(struct Sprite *sprite)
@@ -624,7 +624,7 @@ static void sub_80D5B48(struct Sprite *sprite)
{
StoreSpriteCallbackInData6(sprite, sub_80D5C20);
}
- sprite->callback = sub_80A6680;
+ sprite->callback = TranslateMonSpriteLinearFixedPoint;
}
diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c
index 7d899fb09..92874fe09 100755
--- a/src/battle_anim_8170478.c
+++ b/src/battle_anim_8170478.c
@@ -392,7 +392,7 @@ extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
void unref_sub_8170478(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData unknownStruct;
u8 healthBoxSpriteId;
u8 battler;
u8 spriteId1, spriteId2, spriteId3, spriteId4;
@@ -426,9 +426,9 @@ void unref_sub_8170478(u8 taskId)
gSprites[spriteId4].callback = SpriteCallbackDummy;
sub_80A6B30(&unknownStruct);
- sub_80A6D48(unknownStruct.bgId, gUnknown_08C2EA9C);
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
- LoadCompressedPalette(gCureBubblesPal, unknownStruct.unk8 << 4, 32);
+ AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_08C2EA9C);
+ AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
+ LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
@@ -806,7 +806,7 @@ static void sub_8171134(struct Sprite *sprite)
u8 ballId;
int ballId2; // extra var needed to match
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
{
@@ -1276,7 +1276,7 @@ static void sub_81719EC(struct Sprite *sprite)
static void sub_8171AAC(struct Sprite *sprite)
{
sprite->invisible = !sprite->invisible;
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroySprite(sprite);
}
@@ -2206,7 +2206,7 @@ static void sub_817339C(struct Sprite *sprite)
static void sub_81733D4(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->data[0] = 0;
sprite->invisible = 1;
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index 25eb14637..f14e502f3 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -2326,7 +2326,7 @@ void AnimAbsorptionOrb(struct Sprite* sprite)
static void AnimAbsorptionOrbStep(struct Sprite* sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
@@ -2401,7 +2401,7 @@ void AnimLeechSeed(struct Sprite* sprite)
static void AnimLeechSeedStep(struct Sprite* sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->invisible = 1;
sprite->data[0] = 10;
@@ -2662,7 +2662,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
s16 r0;
sprite->data[0] = 1;
- TranslateAnimArc(sprite);
+ TranslateAnimHorizontalArc(sprite);
r0 = sprite->data[7];
sprite->data[0] = a;
if (b > 200 && r0 < 56 && sprite->oam.affineParam == 0)
@@ -3325,7 +3325,7 @@ static void sub_8100128(u8 taskId)
{
case 4:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 5;
task->data[0] = 0xFF;
@@ -3333,7 +3333,7 @@ static void sub_8100128(u8 taskId)
break;
case 8:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 9;
task->data[0] = 0xFF;
@@ -3341,7 +3341,7 @@ static void sub_8100128(u8 taskId)
break;
case 0:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 1;
task->data[0] = 0xFF;
@@ -3367,7 +3367,7 @@ static void sub_8100128(u8 taskId)
break;
case 2:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 3;
task->data[0] = 0xFF;
@@ -3410,7 +3410,7 @@ static void sub_8100128(u8 taskId)
break;
case 6:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 7;
task->data[0] = 0xFF;
@@ -3453,7 +3453,7 @@ static void sub_8100128(u8 taskId)
break;
case 10:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 11;
task->data[0] = 0xFF;
@@ -3481,7 +3481,7 @@ static void sub_8100128(u8 taskId)
}
case 12:
sub_8100524(task, taskId);
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
DestroySprite(sprite);
task->data[0]++;
@@ -3766,7 +3766,7 @@ void sub_8100A94(struct Sprite* sprite)
sprite->data[5] = gBattleAnimArgs[5];
StartSpriteAffineAnim(sprite, gBattleAnimArgs[6]);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A66DC;
+ sprite->callback = TranslateSpriteLinearAndFlicker;
}
// Moves the sprite in a diagonally slashing motion across the target mon.
@@ -3995,7 +3995,7 @@ static void sub_8100FD4(struct Sprite *sprite)
if (sprite->data[7] == 16)
{
sprite->invisible = 1;
- sprite->callback = sub_80A67F4;
+ sprite->callback = DestroyAnimSpriteAndDisableBlend;
}
}
}
@@ -4121,7 +4121,7 @@ void sub_810130C(struct Sprite* sprite)
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = AnimTranslateLinearSimple;
+ sprite->callback = TranslateSpriteLinearFixedPoint;
}
void sub_810135C(struct Sprite* sprite)
@@ -4158,7 +4158,7 @@ void sub_810135C(struct Sprite* sprite)
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = AnimTranslateLinearSimple;
+ sprite->callback = TranslateSpriteLinearFixedPoint;
}
void sub_8101440(struct Sprite* sprite)
@@ -4428,7 +4428,7 @@ static void sub_8101998(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
StoreSpriteCallbackInData6(sprite, sub_81019E8);
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
}
static void sub_81019E8(struct Sprite* sprite)
@@ -4458,7 +4458,7 @@ static void sub_8101A74(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
StoreSpriteCallbackInData6(sprite, sub_8101B84);
- sprite->callback = TranslateMonBGUntil;
+ sprite->callback = TranslateMonSpriteLinear;
}
static void sub_8101AC4(struct Sprite* sprite)
@@ -4737,7 +4737,7 @@ static void sub_8102044(struct Sprite* sprite)
sprite->data[1] = 8;
sprite->data[2] = 0;
StoreSpriteCallbackInData6(sprite, sub_810207C);
- sprite->callback = TranslateSpriteOverDuration;
+ sprite->callback = TranslateSpriteLinear;
}
}
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 8306ada1c..0c6f2ef11 100755
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -1264,7 +1264,7 @@ void sub_8103448(struct Sprite *sprite)
sprite->data[3] = gBattleAnimArgs[5];
sprite->data[4] = gBattleAnimArgs[3];
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A6450;
+ sprite->callback = TranslateSpriteInEllipseOverDuration;
sprite->callback(sprite);
}
@@ -2318,7 +2318,7 @@ void Anim_BreathPuff(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = AnimTranslateLinearSimple;
+ sprite->callback = TranslateSpriteLinearFixedPoint;
}
// Animates an "angry" mark above a mon's head.
@@ -3291,7 +3291,7 @@ static void sub_810627C(struct Sprite *sprite)
void sub_81062E8(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
@@ -3304,16 +3304,16 @@ void sub_81062E8(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80A6B30(&unknownStruct);
- sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C232E0, unknownStruct.tilesOffset);
- sub_80A6D60(&unknownStruct, &gUnknown_08C23D78, 0);
- LoadCompressedPalette(&gUnknown_08C23D50, unknownStruct.unk8 << 4, 32);
+ sub_80A6B30(&animBg);
+ AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset);
+ sub_80A6D60(&animBg, &gUnknown_08C23D78, 0);
+ LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32);
gTasks[taskId].func = sub_81063A8;
}
static void sub_81063A8(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
switch (gTasks[taskId].data[12])
{
@@ -3351,8 +3351,8 @@ static void sub_81063A8(u8 taskId)
}
break;
case 3:
- sub_80A6B30(&unknownStruct);
- sub_80A6C68(unknownStruct.bgId);
+ sub_80A6B30(&animBg);
+ sub_80A6C68(animBg.bgId);
gTasks[taskId].data[12]++;
break;
case 4:
@@ -3369,7 +3369,7 @@ static void sub_81063A8(u8 taskId)
void sub_81064F8(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
@@ -3382,22 +3382,22 @@ void sub_81064F8(u8 taskId)
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80A6B30(&unknownStruct);
+ sub_80A6B30(&animBg);
if (IsContest())
- sub_80A6D60(&unknownStruct, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0);
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
- sub_80A6D60(&unknownStruct, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0);
else
- sub_80A6D60(&unknownStruct, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0);
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C249F8, unknownStruct.tilesOffset);
- LoadCompressedPalette(gUnknown_08C249D0, unknownStruct.unk8 << 4, 32);
+ AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset);
+ LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32);
gTasks[taskId].func = sub_81065EC;
}
static void sub_81065EC(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
switch (gTasks[taskId].data[12])
{
@@ -3435,7 +3435,7 @@ static void sub_81065EC(u8 taskId)
}
break;
case 3:
- sub_80A6B30(&unknownStruct);
+ sub_80A6B30(&animBg);
sub_80A6C68(1);
sub_80A6C68(2);
gTasks[taskId].data[12]++;
@@ -3804,7 +3804,7 @@ void sub_8106F60(struct Sprite *sprite)
sprite->callback = sub_8107018;
sprite->data[0] = 0;
- oamt_add_pos2_onto_pos1(sprite);
+ SetSpritePrimaryCoordsFromSecondaryCoords(sprite);
sprite->data[2] = 5;
sprite->data[4] = 0;
sprite->data[3] = 0;
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index a8b7d6d6a..49fb69342 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -1453,7 +1453,7 @@ void sub_815A6C4(struct Sprite *sprite)
static void sub_815A73C(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->data[0] = 30;
sprite->data[1] = 0;
@@ -2257,10 +2257,10 @@ void sub_815B7D0(u8 taskId)
{
int i, j;
u8 position;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
u8 *dest;
u8 *src;
- u16 *unk4;
+ u16 *bgTilemap;
u16 stretch;
switch (gTasks[taskId].data[0])
@@ -2288,7 +2288,7 @@ void sub_815B7D0(u8 taskId)
break;
case 2:
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]);
- sub_80A6BFC(&unknownStruct, gBattleAnimAttacker);
+ sub_80A6BFC(&animBg, gBattleAnimAttacker);
if (IsContest())
position = 0;
@@ -2296,21 +2296,21 @@ void sub_815B7D0(u8 taskId)
position = GetBattlerPosition(gBattleAnimAttacker);
src = gMonSpritesGfxPtr->sprites[position] + (gBattleMonForms[gBattleAnimAttacker] << 11);
- dest = unknownStruct.bgTiles;
+ dest = animBg.bgTiles;
CpuCopy32(src, dest, 0x800);
- LoadBgTiles(1, unknownStruct.bgTiles, 0x800, unknownStruct.tilesOffset);
+ LoadBgTiles(1, animBg.bgTiles, 0x800, animBg.tilesOffset);
if (IsContest())
{
if (IsSpeciesNotUnown(gContestResources->field_18->species) != IsSpeciesNotUnown(gContestResources->field_18->unk2))
{
- unk4 = (u16 *)unknownStruct.unk4;
+ bgTilemap = (u16 *)animBg.bgTilemap;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 4; j++)
{
- u16 temp = unk4[j + i * 0x20];
- unk4[j + i * 0x20] = unk4[(7 - j) + i * 0x20];
- unk4[(7 - j) + i * 0x20] = temp;
+ u16 temp = bgTilemap[j + i * 0x20];
+ bgTilemap[j + i * 0x20] = bgTilemap[(7 - j) + i * 0x20];
+ bgTilemap[(7 - j) + i * 0x20] = temp;
}
}
@@ -2318,7 +2318,7 @@ void sub_815B7D0(u8 taskId)
{
for (j = 0; j < 8; j++)
{
- unk4[j + i * 0x20] ^= 0x400;
+ bgTilemap[j + i * 0x20] ^= 0x400;
}
}
}
@@ -2380,7 +2380,7 @@ void sub_815BB58(u8 taskId)
void sub_815BB84(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
switch (gTasks[taskId].data[0])
{
@@ -2392,8 +2392,8 @@ void sub_815BB84(u8 taskId)
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
- sub_80A6B30(&unknownStruct);
- sub_80A6D60(&unknownStruct, &gUnknown_08C2A6EC, 0);
+ sub_80A6B30(&animBg);
+ sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
if (IsContest())
{
gBattle_BG1_X = -56;
@@ -2409,8 +2409,8 @@ void sub_815BB84(u8 taskId)
gBattle_BG1_Y = 0;
}
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset);
- LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32);
+ AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
+ LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y;
@@ -2455,8 +2455,8 @@ void sub_815BB84(u8 taskId)
}
break;
case 4:
- sub_80A6B30(&unknownStruct);
- sub_80A6C68(unknownStruct.bgId);
+ sub_80A6B30(&animBg);
+ sub_80A6C68(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
@@ -2571,7 +2571,7 @@ static void sub_815C050(struct Sprite *sprite)
void sub_815C0A4(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
switch (gTasks[taskId].data[0])
{
@@ -2583,8 +2583,8 @@ void sub_815C0A4(u8 taskId)
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
- sub_80A6B30(&unknownStruct);
- sub_80A6D60(&unknownStruct, &gUnknown_08C2A6EC, 0);
+ sub_80A6B30(&animBg);
+ sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
if (IsContest())
{
gBattle_BG1_X = -56;
@@ -2615,8 +2615,8 @@ void sub_815C0A4(u8 taskId)
gBattle_BG1_Y = 0;
}
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset);
- LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32);
+ AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
+ LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y;
gTasks[taskId].data[0]++;
@@ -2654,8 +2654,8 @@ void sub_815C0A4(u8 taskId)
gTasks[taskId].data[0] = 1;
break;
case 5:
- sub_80A6B30(&unknownStruct);
- sub_80A6C68(unknownStruct.bgId);
+ sub_80A6B30(&animBg);
+ sub_80A6C68(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
@@ -4130,13 +4130,13 @@ static void AnimTask_BarrageBallStep(u8 taskId)
if (++task->data[1] > 1)
{
task->data[1] = 0;
- TranslateAnimArc(&gSprites[task->data[15]]);
+ TranslateAnimHorizontalArc(&gSprites[task->data[15]]);
if (++task->data[2] > 7)
task->data[0]++;
}
break;
case 1:
- if (TranslateAnimArc(&gSprites[task->data[15]]))
+ if (TranslateAnimHorizontalArc(&gSprites[task->data[15]]))
{
task->data[1] = 0;
task->data[2] = 0;
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index ba7cbd3aa..efe35e1b4 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -276,7 +276,7 @@ void sub_8116B14(u8 taskId)
int spriteId, newSpriteId;
u16 var0;
u16 bg1Cnt;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData unknownStruct;
var0 = 0;
gBattle_WIN0H = 0;
@@ -330,8 +330,8 @@ void sub_8116B14(u8 taskId)
newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0);
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
- LoadPalette(&gUnknown_08597418, unknownStruct.unk8 * 16 + 1, 2);
+ AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
+ LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2);
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
@@ -342,7 +342,7 @@ void sub_8116B14(u8 taskId)
static void sub_8116D64(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData unknownStruct;
struct Sprite *sprite;
u16 bg1Cnt;
@@ -453,7 +453,7 @@ static void sub_8116F04(u8 taskId)
static void sub_81170EC(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData unknownStruct;
u8 spriteId, spriteId2;
u8 battlerSpriteId;
@@ -472,32 +472,32 @@ static void sub_81170EC(u8 taskId)
else
sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0);
- sub_80A6CC0(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
+ AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
switch (sAnimStatsChangeData->data[1])
{
case 0:
- LoadCompressedPalette(gBattleStatMask2_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask2_Pal, unknownStruct.paletteId * 16, 32);
break;
case 1:
- LoadCompressedPalette(gBattleStatMask1_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask1_Pal, unknownStruct.paletteId * 16, 32);
break;
case 2:
- LoadCompressedPalette(gBattleStatMask3_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask3_Pal, unknownStruct.paletteId * 16, 32);
break;
case 3:
- LoadCompressedPalette(gBattleStatMask4_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask4_Pal, unknownStruct.paletteId * 16, 32);
break;
case 4:
- LoadCompressedPalette(gBattleStatMask6_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask6_Pal, unknownStruct.paletteId * 16, 32);
break;
case 5:
- LoadCompressedPalette(gBattleStatMask7_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask7_Pal, unknownStruct.paletteId * 16, 32);
break;
case 6:
- LoadCompressedPalette(gBattleStatMask8_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask8_Pal, unknownStruct.paletteId * 16, 32);
break;
default:
- LoadCompressedPalette(gBattleStatMask5_Pal, unknownStruct.unk8 << 4, 32);
+ LoadCompressedPalette(gBattleStatMask5_Pal, unknownStruct.paletteId * 16, 32);
break;
}
@@ -773,7 +773,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
u16 species;
u8 spriteId, spriteId2;
u16 bg1Cnt;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData unknownStruct;
u8 battler2;
spriteId2 = 0;
@@ -820,8 +820,8 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, tilemap, 0);
- sub_80A6CC0(unknownStruct.bgId, gfx, unknownStruct.tilesOffset);
- LoadCompressedPalette(palette, unknownStruct.unk8 << 4, 32);
+ AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset);
+ LoadCompressedPalette(palette, unknownStruct.paletteId * 16, 32);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
diff --git a/src/battle_arena.c b/src/battle_arena.c
index cfcb10a0d..8146f5b38 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -22,18 +22,20 @@
#include "constants/songs.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_frontier.h"
+#include "constants/items.h"
#include "constants/moves.h"
+#include "constants/rgb.h"
// This file's functions.
-static void sub_81A58B4(void);
-static void sub_81A5964(void);
-static void sub_81A59FC(void);
+static void InitArenaChallenge(void);
+static void GetArenaData(void);
+static void SetArenaData(void);
static void sub_81A5AC4(void);
-static void sub_81A5B08(void);
-static void sub_81A5B88(void);
-static void sub_81A5BE0(void);
+static void SetArenaRewardItem(void);
+static void GiveArenaRewardItem(void);
+static void BufferArenaOpponentName(void);
static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
-static void ShowJudgmentSprite(u8 x, u8 y, u8 arg2, u8 battler);
+static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler);
// Const rom data.
static const s8 sMindRatings[] =
@@ -395,7 +397,9 @@ static const s8 sMindRatings[] =
[MOVE_PSYCHO_BOOST] = 1,
};
-static const struct OamData sOamData_8611F24 =
+#define TAG_JUDGEMENT_ICON 1000
+
+static const struct OamData sJudgementIconOamData =
{
.y = 0,
.affineMode = 0,
@@ -412,74 +416,87 @@ static const struct OamData sOamData_8611F24 =
.affineParam = 0
};
-static const union AnimCmd sSpriteAnim_8611F2C[] =
+static const union AnimCmd sJudgementIconAnimCmd0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_8611F34[] =
+static const union AnimCmd sJudgementIconAnimCmd1[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_8611F3C[] =
+static const union AnimCmd sJudgementIconAnimCmd2[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_8611F44[] =
+static const union AnimCmd sJudgementIconAnimCmd3[] =
{
ANIMCMD_FRAME(12, 1),
ANIMCMD_END
};
-static const union AnimCmd *const sSpriteAnimTable_8611F4C[] =
+static const union AnimCmd *const sJudgementIconAnimCmds[] =
{
- sSpriteAnim_8611F2C,
- sSpriteAnim_8611F34,
- sSpriteAnim_8611F3C,
- sSpriteAnim_8611F44
+ sJudgementIconAnimCmd0,
+ sJudgementIconAnimCmd1,
+ sJudgementIconAnimCmd2,
+ sJudgementIconAnimCmd3
};
static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon =
{
- .tileTag = 0x3E8,
+ .tileTag = TAG_JUDGEMENT_ICON,
.paletteTag = 0xFFFF,
- .oam = &sOamData_8611F24,
- .anims = sSpriteAnimTable_8611F4C,
+ .oam = &sJudgementIconOamData,
+ .anims = sJudgementIconAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCb_JudgmentIcon,
};
-static const struct CompressedSpriteSheet gUnknown_08611F74[] =
+static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteSheet[] =
{
- {gUnknown_08D854E8, 0x200, 0x3E8},
+ {gBattleArenaJudgementSymbolsGfx, 0x200, TAG_JUDGEMENT_ICON},
{0}
};
static void (* const sArenaFunctions[])(void) =
{
- sub_81A58B4,
- sub_81A5964,
- sub_81A59FC,
+ InitArenaChallenge,
+ GetArenaData,
+ SetArenaData,
sub_81A5AC4,
- sub_81A5B08,
- sub_81A5B88,
- sub_81A5BE0,
+ SetArenaRewardItem,
+ GiveArenaRewardItem,
+ BufferArenaOpponentName,
};
-static const u16 gUnknown_08611FA0[6] =
+static const u16 sShortStreakRewardItems[] =
{
- 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC,
};
-static const u16 gUnknown_08611FAC[9] =
+static const u16 sLongStreakRewardItems[] =
{
- 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
+ ITEM_BRIGHT_POWDER,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_MENTAL_HERB,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ ITEM_CHOICE_BAND,
};
// code
@@ -490,15 +507,15 @@ void CallBattleArenaFunction(void)
u8 BattleArena_ShowJudgmentWindow(u8 *state)
{
- s32 i;
+ int i;
u8 ret = 0;
switch (*state)
{
case 0:
- BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, 0);
+ BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, RGB_BLACK);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
- LoadCompressedSpriteSheet(gUnknown_08611F74);
- LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20);
+ LoadCompressedSpriteSheet(sBattleArenaJudgementSymbolsSpriteSheet);
+ LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, 0x1F0, 0x20);
gBattle_WIN0H = 0xFF;
gBattle_WIN0V = 0x70;
(*state)++;
@@ -536,7 +553,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
for (i = 0; i < 8; i++)
{
- u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 0x40 + (i * 0x10), 84, 0);
+ u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 64 + i * 16, 84, 0);
StartSpriteAnim(&gSprites[spriteId], 3);
}
ret = 1;
@@ -596,14 +613,14 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
HandleBattleWindow(5, 0, 24, 13, WINDOW_CLEAR);
CopyBgTilemapBufferToVram(0);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
- BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, 0);
+ BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, RGB_BLACK);
(*state)++;
break;
case 10:
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
- FreeSpriteTilesByTag(0x3E8);
+ FreeSpriteTilesByTag(TAG_JUDGEMENT_ICON);
ret = 1;
(*state)++;
}
@@ -615,9 +632,9 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
{
- s32 animNum = 0;
- s32 pointsPlayer = 0;
- s32 pointsOpponent = 0;
+ int animNum = 0;
+ int pointsPlayer = 0;
+ int pointsOpponent = 0;
s8 *mindPoints = gBattleStruct->arenaMindPoints;
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
u16 *hpAtStart = gBattleStruct->arenaStartHp;
@@ -686,7 +703,6 @@ void BattleArena_InitPoints(void)
void BattleArena_AddMindPoints(u8 battler)
{
s8 *mindPoints = gBattleStruct->arenaMindPoints;
-
mindPoints[battler] += sMindRatings[gCurrentMove];
}
@@ -707,7 +723,7 @@ void BattleArena_AddSkillPoints(u8 battler)
if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[6] != 1)
skillPoints[battler] -= 2;
}
- else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE && gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
+ else if ((gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) && (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE))
{
skillPoints[battler] += 1;
}
@@ -765,7 +781,7 @@ void sub_81A586C(u8 battler) // Unused.
hpAtStart[BATTLE_OPPOSITE(battler)] = gBattleMons[BATTLE_OPPOSITE(battler)].hp;
}
-static void sub_81A58B4(void)
+static void InitArenaChallenge(void)
{
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -786,14 +802,14 @@ static void sub_81A58B4(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_81A5964(void)
+static void GetArenaData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DD8;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
@@ -807,14 +823,14 @@ static void sub_81A5964(void)
}
}
-static void sub_81A59FC(void)
+static void SetArenaData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
- gSaveBlock2Ptr->frontier.field_DD8 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
@@ -846,22 +862,22 @@ static void sub_81A5AC4(void)
sub_81A4C30();
}
-static void sub_81A5B08(void)
+static void SetArenaRewardItem(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FAC[Random() % ARRAY_COUNT(gUnknown_08611FAC)];
+ gSaveBlock2Ptr->frontier.arenaRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
else
- gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FA0[Random() % ARRAY_COUNT(gUnknown_08611FA0)];
+ gSaveBlock2Ptr->frontier.arenaRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
}
-static void sub_81A5B88(void)
+static void GiveArenaRewardItem(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_DD8, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_DD8, gStringVar1);
- gSaveBlock2Ptr->frontier.field_DD8 = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1);
+ gSaveBlock2Ptr->frontier.arenaRewardItem = 0;
gSpecialVar_Result = TRUE;
}
else
@@ -870,12 +886,12 @@ static void sub_81A5B88(void)
}
}
-static void sub_81A5BE0(void)
+static void BufferArenaOpponentName(void)
{
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
-void sub_81A5BF8(void)
+void DrawArenaRefereeTextBox(void)
{
u8 width = 27;
u8 palNum = 7;
@@ -898,7 +914,7 @@ void sub_81A5BF8(void)
FillBgTilemapBufferRect(0, 0x836, 29, 19, 1, 1, palNum);
}
-void sub_81A5D44(void)
+void RemoveArenaRefereeTextBox(void)
{
u8 width;
u8 height;
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index d69e05b9e..05da72e16 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1339,7 +1339,7 @@ static void LinkOpponentHandleTrainerSlide(void)
static void LinkOpponentHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1700,7 +1700,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 5c9a92744..19d39609f 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -1160,7 +1160,7 @@ static void LinkPartnerHandleTrainerSlide(void)
static void LinkPartnerHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1525,7 +1525,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
u8 taskId;
u32 trainerPicId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index d8a0127d0..99bb0c588 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1376,7 +1376,7 @@ static void OpponentHandleTrainerSlide(void)
static void OpponentHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1849,7 +1849,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 70b0a6160..6bcc97c68 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -2377,7 +2377,7 @@ static void PlayerHandleTrainerSlide(void)
static void PlayerHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -2921,7 +2921,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 3cfc94977..a9b0f376b 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -1354,7 +1354,7 @@ static void PlayerPartnerHandleTrainerSlide(void)
static void PlayerPartnerHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1777,7 +1777,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 03c3c88b2..911eb6ce5 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -1267,7 +1267,7 @@ static void RecordedOpponentHandleTrainerSlide(void)
static void RecordedOpponentHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1640,7 +1640,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 9055fc16b..b2dfca6a0 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -1268,7 +1268,7 @@ static void RecordedPlayerHandleTrainerSlide(void)
static void RecordedPlayerHandleTrainerSlideBack(void)
{
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
@@ -1662,7 +1662,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
u8 taskId;
u32 trainerPicId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 9a9773316..d891b96b6 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -1427,7 +1427,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
u8 paletteNum;
u8 taskId;
- oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
+ SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
diff --git a/src/battle_dome.c b/src/battle_dome.c
index b9e27675b..bfede1b28 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -17,6 +17,7 @@
#include "text.h"
#include "bg.h"
#include "window.h"
+#include "strings.h"
#include "palette.h"
#include "decompress.h"
#include "party_menu.h"
@@ -59,177 +60,62 @@ struct UnkStruct_860DD10
};
// text
-extern const u8 gTrainerClassNames[][0xD];
-
-extern const u8 gBattleDomeOpponentPotential1[];
-extern const u8 gBattleDomeOpponentPotential2[];
-extern const u8 gBattleDomeOpponentPotential3[];
-extern const u8 gBattleDomeOpponentPotential4[];
-extern const u8 gBattleDomeOpponentPotential5[];
-extern const u8 gBattleDomeOpponentPotential6[];
-extern const u8 gBattleDomeOpponentPotential7[];
-extern const u8 gBattleDomeOpponentPotential8[];
-extern const u8 gBattleDomeOpponentPotential9[];
-extern const u8 gBattleDomeOpponentPotential10[];
-extern const u8 gBattleDomeOpponentPotential11[];
-extern const u8 gBattleDomeOpponentPotential12[];
-extern const u8 gBattleDomeOpponentPotential13[];
-extern const u8 gBattleDomeOpponentPotential14[];
-extern const u8 gBattleDomeOpponentPotential15[];
-extern const u8 gBattleDomeOpponentPotential16[];
-extern const u8 gBattleDomeOpponentPotential17[];
-extern const u8 gBattleDomeOpponentStyle1[];
-extern const u8 gBattleDomeOpponentStyle2[];
-extern const u8 gBattleDomeOpponentStyle3[];
-extern const u8 gBattleDomeOpponentStyle4[];
-extern const u8 gBattleDomeOpponentStyle5[];
-extern const u8 gBattleDomeOpponentStyle6[];
-extern const u8 gBattleDomeOpponentStyle7[];
-extern const u8 gBattleDomeOpponentStyle8[];
-extern const u8 gBattleDomeOpponentStyle9[];
-extern const u8 gBattleDomeOpponentStyle10[];
-extern const u8 gBattleDomeOpponentStyle11[];
-extern const u8 gBattleDomeOpponentStyle12[];
-extern const u8 gBattleDomeOpponentStyle13[];
-extern const u8 gBattleDomeOpponentStyle14[];
-extern const u8 gBattleDomeOpponentStyle15[];
-extern const u8 gBattleDomeOpponentStyle16[];
-extern const u8 gBattleDomeOpponentStyle17[];
-extern const u8 gBattleDomeOpponentStyle18[];
-extern const u8 gBattleDomeOpponentStyle19[];
-extern const u8 gBattleDomeOpponentStyle20[];
-extern const u8 gBattleDomeOpponentStyle21[];
-extern const u8 gBattleDomeOpponentStyle22[];
-extern const u8 gBattleDomeOpponentStyle23[];
-extern const u8 gBattleDomeOpponentStyle24[];
-extern const u8 gBattleDomeOpponentStyle25[];
-extern const u8 gBattleDomeOpponentStyle26[];
-extern const u8 gBattleDomeOpponentStyle27[];
-extern const u8 gBattleDomeOpponentStyle28[];
-extern const u8 gBattleDomeOpponentStyleUnused1[];
-extern const u8 gBattleDomeOpponentStyleUnused2[];
-extern const u8 gBattleDomeOpponentStyleUnused3[];
-extern const u8 gBattleDomeOpponentStyleUnused4[];
-extern const u8 gBattleDomeOpponentStats1[];
-extern const u8 gBattleDomeOpponentStats2[];
-extern const u8 gBattleDomeOpponentStats3[];
-extern const u8 gBattleDomeOpponentStats4[];
-extern const u8 gBattleDomeOpponentStats5[];
-extern const u8 gBattleDomeOpponentStats6[];
-extern const u8 gBattleDomeOpponentStats7[];
-extern const u8 gBattleDomeOpponentStats8[];
-extern const u8 gBattleDomeOpponentStats9[];
-extern const u8 gBattleDomeOpponentStats10[];
-extern const u8 gBattleDomeOpponentStats11[];
-extern const u8 gBattleDomeOpponentStats12[];
-extern const u8 gBattleDomeOpponentStats13[];
-extern const u8 gBattleDomeOpponentStats14[];
-extern const u8 gBattleDomeOpponentStats15[];
-extern const u8 gBattleDomeOpponentStats16[];
-extern const u8 gBattleDomeOpponentStats17[];
-extern const u8 gBattleDomeOpponentStats18[];
-extern const u8 gBattleDomeOpponentStats19[];
-extern const u8 gBattleDomeOpponentStats20[];
-extern const u8 gBattleDomeOpponentStats21[];
-extern const u8 gBattleDomeOpponentStats22[];
-extern const u8 gBattleDomeOpponentStats23[];
-extern const u8 gBattleDomeOpponentStats24[];
-extern const u8 gBattleDomeOpponentStats25[];
-extern const u8 gBattleDomeOpponentStats26[];
-extern const u8 gBattleDomeOpponentStats27[];
-extern const u8 gBattleDomeOpponentStats28[];
-extern const u8 gBattleDomeOpponentStats29[];
-extern const u8 gBattleDomeOpponentStats30[];
-extern const u8 gBattleDomeOpponentStats31[];
-extern const u8 gBattleDomeOpponentStats32[];
-extern const u8 gBattleDomeOpponentStats33[];
-extern const u8 gBattleDomeOpponentStats34[];
-extern const u8 gBattleDomeOpponentStats35[];
-extern const u8 gBattleDomeOpponentStats36[];
-extern const u8 gBattleDomeOpponentStats37[];
-extern const u8 gBattleDomeOpponentStats38[];
-extern const u8 gBattleDomeOpponentStats39[];
-extern const u8 gBattleDomeOpponentStats40[];
-extern const u8 gBattleDomeOpponentStats41[];
-extern const u8 gBattleDomeOpponentStats42[];
-extern const u8 gBattleDomeOpponentStats43[];
-extern const u8 gBattleDomeMatchNumber1[];
-extern const u8 gBattleDomeMatchNumber2[];
-extern const u8 gBattleDomeMatchNumber3[];
-extern const u8 gBattleDomeMatchNumber4[];
-extern const u8 gBattleDomeMatchNumber5[];
-extern const u8 gBattleDomeMatchNumber6[];
-extern const u8 gBattleDomeMatchNumber7[];
-extern const u8 gBattleDomeMatchNumber8[];
-extern const u8 gBattleDomeMatchNumber9[];
-extern const u8 gBattleDomeMatchNumber10[];
-extern const u8 gBattleDomeMatchNumber11[];
-extern const u8 gBattleDomeMatchNumber12[];
-extern const u8 gBattleDomeMatchNumber13[];
-extern const u8 gBattleDomeMatchNumber14[];
-extern const u8 gBattleDomeMatchNumber15[];
-extern const u8 gBattleDomeWinStrings1[];
-extern const u8 gBattleDomeWinStrings2[];
-extern const u8 gBattleDomeWinStrings3[];
-extern const u8 gBattleDomeWinStrings4[];
-extern const u8 gBattleDomeWinStrings5[];
-extern const u8 gBattleDomeWinStrings6[];
-extern const u8 gBattleDomeWinStrings7[];
+extern const u8 gTrainerClassNames[][13];
// This file's functions.
static u8 GetDomeTrainerMonIvs(u16 trainerId);
-static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray);
-static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats);
-static void CreateDomeTrainerMons(u16 tournamentTrainerId);
-static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1);
-static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1);
-static s32 GetTypeEffectivenessPoints(s32 move, s32 species, s32 arg2);
-static s32 sub_818FEB4(s32 *arr, bool8 arg1);
-static void sub_8190400(u8 taskId);
+static void SwapDomeTrainers(int id1, int id2, u16 *statsArray);
+static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 nature, int *stats);
+static void CreateDomeOpponentMons(u16 tournamentTrainerId);
+static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1);
+static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1);
+static int GetTypeEffectivenessPoints(int move, int species, int arg2);
+static int sub_818FEB4(int *arr, bool8 arg1);
+static void Task_ShowOpponentInfo(u8 taskId);
static void sub_8190CD4(u8 taskId);
static u8 sub_819221C(u8 taskId);
-static void sub_8194D48(void);
-static s32 TrainerIdToTournamentId(u16 trainerId);
+static void InitDomeFacilityTrainersAndMons(void);
+static int TrainerIdToTournamentId(u16 trainerId);
static u16 TrainerIdOfPlayerOpponent(void);
-static void sub_8194220(u8 taskId);
+static void Task_ShowTourneyTree(u8 taskId);
static void sub_8194950(u8 taskId);
static void CB2_BattleDome(void);
static void VblankCb0_BattleDome(void);
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo);
static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId);
-static s32 sub_8192F08(u8, u8*);
+static int sub_8192F08(u8, u8*);
static u8 GetDomeBrainTrainerPicId(void);
static u8 GetDomeBrainTrainerClass(void);
-static void CopyDomeBrainTrainerName(u8 *dst);
-static void CopyDomeTrainerName(u8 *dst, u16 trainerId);
+static void CopyDomeBrainTrainerName(u8 *str);
+static void CopyDomeTrainerName(u8 *str, u16 trainerId);
static void HblankCb_BattleDome(void);
static void VblankCb1_BattleDome(void);
-static u8 sub_8193BDC(u8 taskId);
+static u8 UpdateTourneyTreeCursor(u8 taskId);
static void DecideRoundWinners(u8 roundId);
static u8 sub_81953E8(u8 tournamentId, u8);
static void sub_81948EC(u8, u8);
static void sub_8190B40(struct Sprite *sprite);
static void sub_8190C6C(struct Sprite *sprite);
-static void sub_818E9CC(void);
-static void sub_818EA84(void);
-static void sub_818ED28(void);
-static void sub_818F9B0(void);
-static void sub_818F9E0(void);
-static void sub_818FA20(void);
+static void InitDomeChallenge(void);
+static void GetDomeData(void);
+static void SetDomeData(void);
+static void BufferDomeRoundText(void);
+static void BufferDomeOpponentName(void);
+static void InitDomeOpponentParty(void);
static void ShowDomeOpponentInfo(void);
-static void sub_81938A4(void);
-static void sub_81938E0(void);
-static void sub_8190298(void);
-static void sub_81902E4(void);
-static void sub_8193D40(void);
-static void sub_8193D7C(void);
+static void ShowDomeTourneyTree(void);
+static void ShowPreviousDomeResultsTourneyTree(void);
+static void SetDomeOpponentId(void);
+static void SetDomeOpponentGraphicsId(void);
+static void ShowNonInteractiveDomeTourneyTree(void);
+static void ResolveDomeRoundWinners(void);
static void sub_81902F8(void);
-static void sub_819033C(void);
-static void sub_8194D68(void);
-static void sub_8194E44(void);
-static void sub_8194EB4(void);
-static void sub_8194EC0(void);
-static void sub_8194EF8(void);
+static void UpdateDomeStreaks(void);
+static void RestoreDomePlayerParty(void);
+static void RestoreDomePlayerPartyHeldItems(void);
+static void ReduceDomePlayerPartyTo3Mons(void);
+static void GetPlayerSeededBeforeOpponent(void);
+static void BufferLastDomeWinnerName(void);
static void sub_8194F58(void);
static void InitDomeTrainers(void);
@@ -645,7 +531,7 @@ static const u8 sUnusedArray[] =
0, 0, 0, 254, 0, 0, 0, 0, 0,
};
-static const u8 gUnknown_0860CBF1[][5][4]=
+static const u8 sTourneyTreeCursorMovementMap[][5][4]=
{
{{0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}},
{{0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}},
@@ -960,14 +846,14 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
// UB: No DUMMY_WIN_TEMPLATE at the array's end.
};
-static const struct ScanlineEffectParams gUnknown_0860CF44 =
+static const struct ScanlineEffectParams sTourneyTreeScanlineEffectParams =
{
.dmaDest = (void *)REG_ADDR_BG3CNT,
- .dmaControl = 0xa2600001,
+ .dmaControl = SCANLINE_EFFECT_DMACNT_16BIT,
.initState = 1,
};
-static const struct CompressedSpriteSheet gUnknown_0860CF50[] =
+static const struct CompressedSpriteSheet sDomeOptionsSpriteSheet[] =
{
{gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000},
{},
@@ -1191,34 +1077,31 @@ static const struct SpriteTemplate gUnknown_0860D068 =
.callback = sub_8190C6C
};
-static const u8 gUnknown_0860D080[DOME_TOURNAMENT_TRAINERS_COUNT] =
-{
- 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01
-};
+static const u8 sTourneyTreeTrainerIds[] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
-static void (* const gUnknown_0860D090[])(void) =
+static void (* const sBattleDomeFunctions[])(void) =
{
- sub_818E9CC,
- sub_818EA84,
- sub_818ED28,
- sub_818F9B0,
- sub_818F9E0,
- sub_818FA20,
+ InitDomeChallenge,
+ GetDomeData,
+ SetDomeData,
+ BufferDomeRoundText,
+ BufferDomeOpponentName,
+ InitDomeOpponentParty,
ShowDomeOpponentInfo,
- sub_81938A4,
- sub_81938E0,
- sub_8190298,
- sub_81902E4,
- sub_8193D40,
- sub_8193D7C,
+ ShowDomeTourneyTree,
+ ShowPreviousDomeResultsTourneyTree,
+ SetDomeOpponentId,
+ SetDomeOpponentGraphicsId,
+ ShowNonInteractiveDomeTourneyTree,
+ ResolveDomeRoundWinners,
sub_81902F8,
- sub_819033C,
- sub_8194D48,
- sub_8194D68,
- sub_8194E44,
- sub_8194EB4,
- sub_8194EC0,
- sub_8194EF8,
+ UpdateDomeStreaks,
+ InitDomeFacilityTrainersAndMons,
+ RestoreDomePlayerParty,
+ RestoreDomePlayerPartyHeldItems,
+ ReduceDomePlayerPartyTo3Mons,
+ GetPlayerSeededBeforeOpponent,
+ BufferLastDomeWinnerName,
sub_8194F58,
InitDomeTrainers,
};
@@ -1293,108 +1176,108 @@ static const u8 gUnknown_0860D1A0[][4] =
static const u8 gUnknown_0860D1C0[] = {0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05};
-static const u8 *const gBattleDomePotentialPointers[] =
-{
- gBattleDomeOpponentPotential1,
- gBattleDomeOpponentPotential2,
- gBattleDomeOpponentPotential3,
- gBattleDomeOpponentPotential4,
- gBattleDomeOpponentPotential5,
- gBattleDomeOpponentPotential6,
- gBattleDomeOpponentPotential7,
- gBattleDomeOpponentPotential8,
- gBattleDomeOpponentPotential9,
- gBattleDomeOpponentPotential10,
- gBattleDomeOpponentPotential11,
- gBattleDomeOpponentPotential12,
- gBattleDomeOpponentPotential13,
- gBattleDomeOpponentPotential14,
- gBattleDomeOpponentPotential15,
- gBattleDomeOpponentPotential16,
- gBattleDomeOpponentPotential17,
+static const u8 *const sBattleDomePotentialTexts[] =
+{
+ gBattleDomeOpponentPotentialText1,
+ gBattleDomeOpponentPotentialText2,
+ gBattleDomeOpponentPotentialText3,
+ gBattleDomeOpponentPotentialText4,
+ gBattleDomeOpponentPotentialText5,
+ gBattleDomeOpponentPotentialText6,
+ gBattleDomeOpponentPotentialText7,
+ gBattleDomeOpponentPotentialText8,
+ gBattleDomeOpponentPotentialText9,
+ gBattleDomeOpponentPotentialText10,
+ gBattleDomeOpponentPotentialText11,
+ gBattleDomeOpponentPotentialText12,
+ gBattleDomeOpponentPotentialText13,
+ gBattleDomeOpponentPotentialText14,
+ gBattleDomeOpponentPotentialText15,
+ gBattleDomeOpponentPotentialText16,
+ gBattleDomeOpponentPotentialText17,
};
-static const u8 *const gBattleDomeOpponentStylePointers[] =
-{
- gBattleDomeOpponentStyle1,
- gBattleDomeOpponentStyle2,
- gBattleDomeOpponentStyle3,
- gBattleDomeOpponentStyle4,
- gBattleDomeOpponentStyle5,
- gBattleDomeOpponentStyle6,
- gBattleDomeOpponentStyle7,
- gBattleDomeOpponentStyle8,
- gBattleDomeOpponentStyle9,
- gBattleDomeOpponentStyle10,
- gBattleDomeOpponentStyle11,
- gBattleDomeOpponentStyle12,
- gBattleDomeOpponentStyle13,
- gBattleDomeOpponentStyle14,
- gBattleDomeOpponentStyle15,
- gBattleDomeOpponentStyle16,
- gBattleDomeOpponentStyle17,
- gBattleDomeOpponentStyle18,
- gBattleDomeOpponentStyle19,
- gBattleDomeOpponentStyle20,
- gBattleDomeOpponentStyle21,
- gBattleDomeOpponentStyle22,
- gBattleDomeOpponentStyle23,
- gBattleDomeOpponentStyle24,
- gBattleDomeOpponentStyle25,
- gBattleDomeOpponentStyle26,
- gBattleDomeOpponentStyle27,
- gBattleDomeOpponentStyle28,
- gBattleDomeOpponentStyleUnused1,
- gBattleDomeOpponentStyleUnused2,
- gBattleDomeOpponentStyleUnused3,
- gBattleDomeOpponentStyleUnused4,
+static const u8 *const sBattleDomeOpponentStyleTexts[] =
+{
+ gBattleDomeOpponentStyleText1,
+ gBattleDomeOpponentStyleText2,
+ gBattleDomeOpponentStyleText3,
+ gBattleDomeOpponentStyleText4,
+ gBattleDomeOpponentStyleText5,
+ gBattleDomeOpponentStyleText6,
+ gBattleDomeOpponentStyleText7,
+ gBattleDomeOpponentStyleText8,
+ gBattleDomeOpponentStyleText9,
+ gBattleDomeOpponentStyleText10,
+ gBattleDomeOpponentStyleText11,
+ gBattleDomeOpponentStyleText12,
+ gBattleDomeOpponentStyleText13,
+ gBattleDomeOpponentStyleText14,
+ gBattleDomeOpponentStyleText15,
+ gBattleDomeOpponentStyleText16,
+ gBattleDomeOpponentStyleText17,
+ gBattleDomeOpponentStyleText18,
+ gBattleDomeOpponentStyleText19,
+ gBattleDomeOpponentStyleText20,
+ gBattleDomeOpponentStyleText21,
+ gBattleDomeOpponentStyleText22,
+ gBattleDomeOpponentStyleText23,
+ gBattleDomeOpponentStyleText24,
+ gBattleDomeOpponentStyleText25,
+ gBattleDomeOpponentStyleText26,
+ gBattleDomeOpponentStyleText27,
+ gBattleDomeOpponentStyleText28,
+ gBattleDomeOpponentStyleTextUnused1,
+ gBattleDomeOpponentStyleTextUnused2,
+ gBattleDomeOpponentStyleTextUnused3,
+ gBattleDomeOpponentStyleTextUnused4,
};
-static const u8 *const gBattleDomeOpponentStatsPointers[] =
-{
- gBattleDomeOpponentStats1,
- gBattleDomeOpponentStats2,
- gBattleDomeOpponentStats3,
- gBattleDomeOpponentStats4,
- gBattleDomeOpponentStats5,
- gBattleDomeOpponentStats6,
- gBattleDomeOpponentStats7,
- gBattleDomeOpponentStats8,
- gBattleDomeOpponentStats9,
- gBattleDomeOpponentStats10,
- gBattleDomeOpponentStats11,
- gBattleDomeOpponentStats12,
- gBattleDomeOpponentStats13,
- gBattleDomeOpponentStats14,
- gBattleDomeOpponentStats15,
- gBattleDomeOpponentStats16,
- gBattleDomeOpponentStats17,
- gBattleDomeOpponentStats18,
- gBattleDomeOpponentStats19,
- gBattleDomeOpponentStats20,
- gBattleDomeOpponentStats21,
- gBattleDomeOpponentStats22,
- gBattleDomeOpponentStats23,
- gBattleDomeOpponentStats24,
- gBattleDomeOpponentStats25,
- gBattleDomeOpponentStats26,
- gBattleDomeOpponentStats27,
- gBattleDomeOpponentStats28,
- gBattleDomeOpponentStats29,
- gBattleDomeOpponentStats30,
- gBattleDomeOpponentStats31,
- gBattleDomeOpponentStats32,
- gBattleDomeOpponentStats33,
- gBattleDomeOpponentStats34,
- gBattleDomeOpponentStats35,
- gBattleDomeOpponentStats36,
- gBattleDomeOpponentStats37,
- gBattleDomeOpponentStats38,
- gBattleDomeOpponentStats39,
- gBattleDomeOpponentStats40,
- gBattleDomeOpponentStats41,
- gBattleDomeOpponentStats42,
- gBattleDomeOpponentStats43,
+static const u8 *const sBattleDomeOpponentStatsTexts[] =
+{
+ gBattleDomeOpponentStatsText1,
+ gBattleDomeOpponentStatsText2,
+ gBattleDomeOpponentStatsText3,
+ gBattleDomeOpponentStatsText4,
+ gBattleDomeOpponentStatsText5,
+ gBattleDomeOpponentStatsText6,
+ gBattleDomeOpponentStatsText7,
+ gBattleDomeOpponentStatsText8,
+ gBattleDomeOpponentStatsText9,
+ gBattleDomeOpponentStatsText10,
+ gBattleDomeOpponentStatsText11,
+ gBattleDomeOpponentStatsText12,
+ gBattleDomeOpponentStatsText13,
+ gBattleDomeOpponentStatsText14,
+ gBattleDomeOpponentStatsText15,
+ gBattleDomeOpponentStatsText16,
+ gBattleDomeOpponentStatsText17,
+ gBattleDomeOpponentStatsText18,
+ gBattleDomeOpponentStatsText19,
+ gBattleDomeOpponentStatsText20,
+ gBattleDomeOpponentStatsText21,
+ gBattleDomeOpponentStatsText22,
+ gBattleDomeOpponentStatsText23,
+ gBattleDomeOpponentStatsText24,
+ gBattleDomeOpponentStatsText25,
+ gBattleDomeOpponentStatsText26,
+ gBattleDomeOpponentStatsText27,
+ gBattleDomeOpponentStatsText28,
+ gBattleDomeOpponentStatsText29,
+ gBattleDomeOpponentStatsText30,
+ gBattleDomeOpponentStatsText31,
+ gBattleDomeOpponentStatsText32,
+ gBattleDomeOpponentStatsText33,
+ gBattleDomeOpponentStatsText34,
+ gBattleDomeOpponentStatsText35,
+ gBattleDomeOpponentStatsText36,
+ gBattleDomeOpponentStatsText37,
+ gBattleDomeOpponentStatsText38,
+ gBattleDomeOpponentStatsText39,
+ gBattleDomeOpponentStatsText40,
+ gBattleDomeOpponentStatsText41,
+ gBattleDomeOpponentStatsText42,
+ gBattleDomeOpponentStatsText43,
};
static const u8 sInfoTrainerMonX[] = {0x68, 0x88, 0x68};
@@ -1403,34 +1286,34 @@ static const u8 gUnknown_0860D346[] = {0x00, 0x04, 0x00};
static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00};
-static const u8 *const gBattleDomeMatchNumberPointers[] =
-{
- gBattleDomeMatchNumber1,
- gBattleDomeMatchNumber2,
- gBattleDomeMatchNumber3,
- gBattleDomeMatchNumber4,
- gBattleDomeMatchNumber5,
- gBattleDomeMatchNumber6,
- gBattleDomeMatchNumber7,
- gBattleDomeMatchNumber8,
- gBattleDomeMatchNumber9,
- gBattleDomeMatchNumber10,
- gBattleDomeMatchNumber11,
- gBattleDomeMatchNumber12,
- gBattleDomeMatchNumber13,
- gBattleDomeMatchNumber14,
- gBattleDomeMatchNumber15,
+static const u8 *const sBattleDomeMatchNumberTexts[] =
+{
+ gBattleDomeMatchNumberText1,
+ gBattleDomeMatchNumberText2,
+ gBattleDomeMatchNumberText3,
+ gBattleDomeMatchNumberText4,
+ gBattleDomeMatchNumberText5,
+ gBattleDomeMatchNumberText6,
+ gBattleDomeMatchNumberText7,
+ gBattleDomeMatchNumberText8,
+ gBattleDomeMatchNumberText9,
+ gBattleDomeMatchNumberText10,
+ gBattleDomeMatchNumberText11,
+ gBattleDomeMatchNumberText12,
+ gBattleDomeMatchNumberText13,
+ gBattleDomeMatchNumberText14,
+ gBattleDomeMatchNumberText15,
};
-static const u8 *const gBattleDomeWinStringsPointers[] =
+static const u8 *const sBattleDomeWinTexts[] =
{
- gBattleDomeWinStrings1,
- gBattleDomeWinStrings2,
- gBattleDomeWinStrings3,
- gBattleDomeWinStrings4,
- gBattleDomeWinStrings5,
- gBattleDomeWinStrings6,
- gBattleDomeWinStrings7,
+ gBattleDomeWinText1,
+ gBattleDomeWinText2,
+ gBattleDomeWinText3,
+ gBattleDomeWinText4,
+ gBattleDomeWinText5,
+ gBattleDomeWinText6,
+ gBattleDomeWinText7,
};
static const u8 sFirstTrainerMonX[] = {0x60, 0x60, 0x60};
@@ -2373,10 +2256,10 @@ static const u8 gUnknown_0860DE10[DOME_TOURNAMENT_TRAINERS_COUNT][4] =
// code
void CallBattleDomeFunction(void)
{
- gUnknown_0860D090[gSpecialVar_0x8004]();
+ sBattleDomeFunctions[gSpecialVar_0x8004]();
}
-static void sub_818E9CC(void)
+static void InitDomeChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2392,7 +2275,7 @@ static void sub_818E9CC(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_818EA84(void)
+static void GetDomeData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2460,7 +2343,7 @@ static void sub_818EA84(void)
}
}
-static void sub_818ED28(void)
+static void SetDomeData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2528,21 +2411,21 @@ static void sub_818ED28(void)
static void InitDomeTrainers(void)
{
- s32 i, j, k;
- s32 monLevel;
- s32 species[3];
- s32 monTypesBits, monTypesCount;
- s32 trainerId;
- s32 monSetId;
+ int i, j, k;
+ int monLevel;
+ int species[3];
+ int monTypesBits, monTypesCount;
+ int trainerId;
+ int monSetId;
u16 *statSums;
- s32 *statValues;
+ int *statValues;
u8 ivs = 0;
species[0] = 0;
species[1] = 0;
species[2] = 0;
statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
- statValues = AllocZeroed(sizeof(s32) * 6);
+ statValues = AllocZeroed(sizeof(int) * 6);
gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.lvlMode + 1;
gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1;
@@ -2599,7 +2482,7 @@ static void InitDomeTrainers(void)
monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++)
{
- s32 checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
+ int checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
if (checkingMonSetId == monSetId
|| species[0] == gFacilityTrainerMons[monSetId].species
|| species[1] == gFacilityTrainerMons[monSetId].species
@@ -2729,12 +2612,12 @@ static void InitDomeTrainers(void)
stats[statIndex] = (u8) ModifyStatByNature(nature, stats[statIndex], statIndex); \
}
-static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats)
+static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 nature, int *stats)
{
- s32 i, count;
+ int i, count;
u8 bits;
u16 resultingEvs;
- s32 evs[NUM_STATS];
+ int evs[NUM_STATS];
count = 0, bits = evBits;
for (i = 0; i < NUM_STATS; bits >>= 1, i++)
@@ -2757,7 +2640,7 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu
}
else
{
- s32 n = 2 * gBaseStats[species].baseHP;
+ int n = 2 * gBaseStats[species].baseHP;
stats[STAT_HP] = (((n + ivs + evs[STAT_HP] / 4) * level) / 100) + level + 10;
}
@@ -2768,9 +2651,9 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu
CALC_STAT(baseSpDefense, STAT_SPDEF);
}
-static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray)
+static void SwapDomeTrainers(int id1, int id2, u16 *statsArray)
{
- s32 i;
+ int i;
u16 temp;
SWAP(statsArray[id1], statsArray[id2], temp);
@@ -2780,29 +2663,29 @@ static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray)
SWAP(gSaveBlock2Ptr->frontier.domeMonIds[id1][i], gSaveBlock2Ptr->frontier.domeMonIds[id2][i], temp);
}
-static void sub_818F9B0(void)
+static void BufferDomeRoundText(void)
{
StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.curChallengeBattleNum]);
}
-static void sub_818F9E0(void)
+static void BufferDomeOpponentName(void)
{
StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.curChallengeBattleNum]);
CopyDomeTrainerName(gStringVar2, gTrainerBattleOpponent_A);
}
-static void sub_818FA20(void)
+static void InitDomeOpponentParty(void)
{
gUnknown_0203CD70 = 0;
gUnknown_0203CD74 = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL);
gUnknown_0203CD74 += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL);
CalculatePlayerPartyCount();
- CreateDomeTrainerMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A));
+ CreateDomeOpponentMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A));
}
-static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId)
+static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId)
{
- s32 i;
+ int i;
u8 happiness = 0xFF;
u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3.
u8 level = SetFacilityPtrsGetLevel();
@@ -2827,11 +2710,11 @@ static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentM
&gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].itemTableId]);
}
-static void CreateDomeTrainerMons(u16 tournamentTrainerId)
+static void CreateDomeOpponentMons(u16 tournamentTrainerId)
{
u8 monsCount = 0;
u32 otId = 0;
- s32 i, bits;
+ int i, bits;
ZeroEnemyPartyMons();
bits = GetDomeTrainerMonCountInBits(tournamentTrainerId);
@@ -2842,7 +2725,7 @@ static void CreateDomeTrainerMons(u16 tournamentTrainerId)
{
if (bits & 1)
{
- CreateDomeMon(monsCount, tournamentTrainerId, i, otId);
+ CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId);
monsCount++;
}
bits >>= 1;
@@ -2854,7 +2737,7 @@ static void CreateDomeTrainerMons(u16 tournamentTrainerId)
{
if (bits & 4)
{
- CreateDomeMon(monsCount, tournamentTrainerId, i, otId);
+ CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId);
monsCount++;
}
bits <<= 1;
@@ -2862,9 +2745,9 @@ static void CreateDomeTrainerMons(u16 tournamentTrainerId)
}
}
-s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
+int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
{
- s32 bits;
+ int bits;
if (Random() & 1)
{
bits = sub_818FCBC(tournamentTrainerId, FALSE);
@@ -2881,10 +2764,10 @@ s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
return bits;
}
-static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
+static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
{
- s32 i, moveId, playerMonId;
- s32 array[3];
+ int i, moveId, playerMonId;
+ int array[3];
for (i = 0; i < 3; i++)
{
@@ -2909,10 +2792,10 @@ static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
return sub_818FEB4(array, arg1);
}
-static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
+static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
{
- s32 i, moveId, playerMonId;
- s32 array[3];
+ int i, moveId, playerMonId;
+ int array[3];
for (i = 0; i < 3; i++)
{
@@ -2937,11 +2820,11 @@ static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
return sub_818FEB4(array, arg1);
}
-static s32 sub_818FEB4(s32 *arr, bool8 arg1)
+static int sub_818FEB4(int *arr, bool8 arg1)
{
- s32 i, j;
- s32 bits = 0;
- s32 array[3];
+ int i, j;
+ int bits = 0;
+ int array[3];
for (i = 0; i < 3; i++)
array[i] = i;
@@ -2968,7 +2851,7 @@ static s32 sub_818FEB4(s32 *arr, bool8 arg1)
{
for (j = i + 1; j < 3; j++)
{
- s32 temp;
+ int temp;
if (arr[i] < arr[j])
{
@@ -3012,11 +2895,11 @@ static s32 sub_818FEB4(s32 *arr, bool8 arg1)
// Functionally equivalent, while loop is impossible to match.
#ifdef NONMATCHING
-static s32 GetTypeEffectivenessPoints(s32 move, s32 targetSpecies, s32 arg2)
+static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2)
{
- s32 defType1, defType2, defAbility, moveType;
- s32 i = 0;
- s32 typePower = TYPE_x1;
+ int defType1, defType2, defAbility, moveType;
+ int i = 0;
+ int typePower = TYPE_x1;
if (move == MOVE_NONE || move == 0xFFFF || gBattleMoves[move].power == 0)
return 0;
@@ -3131,7 +3014,7 @@ static s32 GetTypeEffectivenessPoints(s32 move, s32 targetSpecies, s32 arg2)
}
#else
NAKED
-static s32 GetTypeEffectivenessPoints(s32 move, s32 species, s32 arg2)
+static int GetTypeEffectivenessPoints(int move, int species, int arg2)
{
asm_unified("\n\
push {r4-r7,lr}\n\
@@ -3394,9 +3277,9 @@ static u8 GetDomeTrainerMonIvs(u16 trainerId)
return fixedIv;
}
-static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId)
+static int TournamentIdOfOpponent(int roundId, int trainerId)
{
- s32 i, j, val;
+ int i, j, val;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
@@ -3431,7 +3314,7 @@ static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId)
}
}
-static void sub_8190298(void)
+static void SetDomeOpponentId(void)
{
gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent();
}
@@ -3441,7 +3324,7 @@ static u16 TrainerIdOfPlayerOpponent(void)
return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId;
}
-static void sub_81902E4(void)
+static void SetDomeOpponentGraphicsId(void)
{
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
@@ -3454,7 +3337,7 @@ static void sub_81902F8(void)
sub_81A4C30();
}
-static void sub_819033C(void)
+static void UpdateDomeStreaks(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -3470,7 +3353,7 @@ static void sub_819033C(void)
static void ShowDomeOpponentInfo(void)
{
- u8 taskId = CreateTask(sub_8190400, 0);
+ u8 taskId = CreateTask(Task_ShowOpponentInfo, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent());
gTasks[taskId].data[2] = 0;
@@ -3479,12 +3362,12 @@ static void ShowDomeOpponentInfo(void)
SetMainCallback2(CB2_BattleDome);
}
-static void sub_8190400(u8 taskId)
+static void Task_ShowOpponentInfo(u8 taskId)
{
- s32 i;
- s32 r5 = gTasks[taskId].data[1];
- s32 r9 = gTasks[taskId].data[2];
- s32 r7 = gTasks[taskId].data[3];
+ int i;
+ int r5 = gTasks[taskId].data[1];
+ int r9 = gTasks[taskId].data[2];
+ int r7 = gTasks[taskId].data[3];
switch (gTasks[taskId].data[0])
{
@@ -3531,7 +3414,7 @@ static void sub_8190400(u8 taskId)
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1);
DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1);
- LoadCompressedSpriteSheet(gUnknown_0860CF50);
+ LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20);
@@ -3774,10 +3657,10 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite)
static void sub_8190B40(struct Sprite *sprite)
{
- s32 taskId1 = sprite->data[0];
- s32 arrId = gTasks[gTasks[taskId1].data[4]].data[1];
- s32 tournmanetTrainerId = gUnknown_0860D080[arrId];
- s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ int taskId1 = sprite->data[0];
+ int arrId = gTasks[gTasks[taskId1].data[4]].data[1];
+ int tournmanetTrainerId = sTourneyTreeTrainerIds[arrId];
+ int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gTasks[taskId1].data[3] == 1)
{
@@ -3843,7 +3726,7 @@ static void sub_8190B40(struct Sprite *sprite)
static void sub_8190C6C(struct Sprite *sprite)
{
- s32 taskId1 = sprite->data[0];
+ int taskId1 = sprite->data[0];
if (gTasks[taskId1].data[3] == 1)
{
@@ -3873,12 +3756,12 @@ static void sub_8190C6C(struct Sprite *sprite)
static void sub_8190CD4(u8 taskId)
{
- s32 i;
- s32 windowId = 0;
- s32 r9 = gTasks[taskId].data[3];
- s32 taskId2 = gTasks[taskId].data[4];
- s32 trainerTournamentId = 0;
- s32 matchNo = 0;
+ int i;
+ int windowId = 0;
+ int r9 = gTasks[taskId].data[3];
+ int taskId2 = gTasks[taskId].data[4];
+ int trainerTournamentId = 0;
+ int matchNo = 0;
switch (gTasks[taskId].data[0])
{
@@ -3946,14 +3829,14 @@ static void sub_8190CD4(u8 taskId)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]];
+ trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
- trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]];
+ trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
sBattleDomeStruct->unk_10 = 0;
}
@@ -4062,14 +3945,14 @@ static void sub_8190CD4(u8 taskId)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]];
+ trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
- trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]];
+ trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
sBattleDomeStruct->unk_10 = 0;
}
@@ -4175,7 +4058,7 @@ static void sub_8190CD4(u8 taskId)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]];
+ trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId);
}
else
@@ -4574,7 +4457,7 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- i = CreateTask(sub_8194220, 0);
+ i = CreateTask(Task_ShowTourneyTree, 0);
gTasks[i].data[0] = 0;
gTasks[i].data[1] = 0;
gTasks[i].data[2] = 3;
@@ -4590,9 +4473,9 @@ static void sub_8190CD4(u8 taskId)
static u8 sub_819221C(u8 taskId)
{
u8 retVal = 0;
- s32 taskId2 = gTasks[taskId].data[4];
- s32 r5 = gTasks[taskId2].data[1];
- u8 r10 = gUnknown_0860D080[r5];
+ int taskId2 = gTasks[taskId].data[4];
+ int r5 = gTasks[taskId2].data[1];
+ u8 r10 = sTourneyTreeTrainerIds[r5];
u16 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
@@ -4699,12 +4582,12 @@ static u8 sub_819221C(u8 taskId)
static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
struct TextPrinterTemplate textPrinter;
- s32 i, j, k;
- s32 trainerId = 0;
+ int i, j, k;
+ int trainerId = 0;
u8 nature = 0;
- s32 arrId = 0;
- s32 windowId = 0;
- s32 x = 0, y = 0;
+ int arrId = 0;
+ int windowId = 0;
+ int x = 0, y = 0;
u8 palSlot = 0;
s16 *allocatedArray = AllocZeroed(sizeof(s16) * 18);
trainerId = gSaveBlock2Ptr->frontier.domeTrainers[trainerTournamentId].trainerId;
@@ -4835,9 +4718,9 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
PutWindowTilemap(windowId + 4);
CopyWindowToVram(windowId + 4, 3);
if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.currentChar = gBattleDomePotentialPointers[16];
+ textPrinter.currentChar = sBattleDomePotentialTexts[16];
else
- textPrinter.currentChar = gBattleDomePotentialPointers[trainerTournamentId];
+ textPrinter.currentChar = sBattleDomePotentialTexts[trainerTournamentId];
textPrinter.fontId = 1;
textPrinter.windowId = windowId + 4;
@@ -4864,7 +4747,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
for (i = 0; i < ARRAY_COUNT(gUnknown_0860C988); i++)
{
- s32 r4 = 0;
+ int r4 = 0;
for (k = 0, j = 0; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++)
{
@@ -4879,7 +4762,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
break;
}
- textPrinter.currentChar = gBattleDomeOpponentStylePointers[i];
+ textPrinter.currentChar = sBattleDomeOpponentStyleTexts[i];
textPrinter.y = 20;
textPrinter.currentY = 20;
AddTextPrinter(&textPrinter, 0, NULL);
@@ -4930,7 +4813,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
for (i = 0; i < 3; i++)
{
- s32 evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
+ int evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
for (k = 0, j = 0; j < NUM_STATS; j++)
{
allocatedArray[j] = 0;
@@ -5051,19 +4934,19 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
else
i = 42;
- textPrinter.currentChar = gBattleDomeOpponentStatsPointers[i];
+ textPrinter.currentChar = sBattleDomeOpponentStatsTexts[i];
textPrinter.y = 36;
textPrinter.currentY = 36;
AddTextPrinter(&textPrinter, 0, NULL);
Free(allocatedArray);
}
-static s32 sub_8192F08(u8 arg0, u8 *arg1)
+static int sub_8192F08(u8 arg0, u8 *arg1)
{
- s32 i;
+ int i;
u8 tournamentId;
- s32 retVal = 0;
- s32 count = 0;
+ int retVal = 0;
+ int count = 0;
for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++)
{
@@ -5123,14 +5006,14 @@ static s32 sub_8192F08(u8 arg0, u8 *arg1)
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
{
struct TextPrinterTemplate textPrinter;
- s32 tournamentIds[2];
- s32 trainerIds[2];
+ int tournamentIds[2];
+ int trainerIds[2];
bool32 lost[2];
- s32 i;
- s32 winStringId = 0;
- s32 arrId = 0;
- s32 windowId = 0;
- s32 x = 0, y = 0;
+ int i;
+ int winStringId = 0;
+ int arrId = 0;
+ int windowId = 0;
+ int x = 0, y = 0;
u8 palSlot = 0;
if (flags & 1)
@@ -5274,7 +5157,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.fgColor = 14;
textPrinter.bgColor = 0;
textPrinter.shadowColor = 13;
- StringExpandPlaceholders(gStringVar4, gBattleDomeWinStringsPointers[winStringId]);
+ StringExpandPlaceholders(gStringVar4, sBattleDomeWinTexts[winStringId]);
textPrinter.currentChar = gStringVar4;
textPrinter.windowId = windowId + 8;
textPrinter.fontId = 1;
@@ -5320,7 +5203,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
// Print match number.
textPrinter.letterSpacing = 0;
- textPrinter.currentChar = gBattleDomeMatchNumberPointers[matchNo];
+ textPrinter.currentChar = sBattleDomeMatchNumberTexts[matchNo];
textPrinter.windowId = windowId + 5;
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0xA0, textPrinter.letterSpacing);
textPrinter.currentY = textPrinter.y = 2;
@@ -5329,9 +5212,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
AddTextPrinter(&textPrinter, 0, NULL);
}
-static void sub_81938A4(void)
+static void ShowDomeTourneyTree(void)
{
- u8 taskId = CreateTask(sub_8194220, 0);
+ u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = 2;
@@ -5339,14 +5222,14 @@ static void sub_81938A4(void)
SetMainCallback2(CB2_BattleDome);
}
-static void sub_81938E0(void)
+static void ShowPreviousDomeResultsTourneyTree(void)
{
u8 taskId;
- sub_8194D48();
+ InitDomeFacilityTrainersAndMons();
gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.field_D0A - 1;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 3;
- taskId = CreateTask(sub_8194220, 0);
+ taskId = CreateTask(Task_ShowTourneyTree, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = 2;
@@ -5357,7 +5240,7 @@ static void sub_81938E0(void)
static void sub_819395C(u8 taskId)
{
u8 newTaskId = 0;
- s32 spriteId = gTasks[taskId].data[1];
+ int spriteId = gTasks[taskId].data[1];
switch (gTasks[taskId].data[0])
{
@@ -5374,7 +5257,7 @@ static void sub_819395C(u8 taskId)
gTasks[taskId].data[0] = 2;
break;
case 2:
- switch (sub_8193BDC(taskId))
+ switch (UpdateTourneyTreeCursor(taskId))
{
case 0:
default:
@@ -5399,9 +5282,9 @@ static void sub_819395C(u8 taskId)
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(sub_8190400, 0);
+ newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
gTasks[newTaskId].data[0] = 0;
- gTasks[newTaskId].data[1] = gUnknown_0860D080[spriteId];
+ gTasks[newTaskId].data[1] = sTourneyTreeTrainerIds[spriteId];
gTasks[newTaskId].data[2] = 1;
gTasks[newTaskId].data[3] = taskId;
@@ -5417,7 +5300,7 @@ static void sub_819395C(u8 taskId)
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(sub_8190400, 0);
+ newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
gTasks[newTaskId].data[0] = 0;
gTasks[newTaskId].data[1] = spriteId - 16;
gTasks[newTaskId].data[2] = 2;
@@ -5442,21 +5325,21 @@ static void sub_819395C(u8 taskId)
}
}
-static u8 sub_8193BDC(u8 taskId)
+static u8 UpdateTourneyTreeCursor(u8 taskId)
{
u8 retVal = 1;
- s32 arrId = 4;
- s32 spriteId = gTasks[taskId].data[1];
- s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ int direction = 4;
+ int tourneyTreeCursorSpriteId = gTasks[taskId].data[1];
+ int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && spriteId == 31))
+ if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == 31))
{
PlaySE(SE_SELECT);
retVal = 0;
}
else if (gMain.newKeys & A_BUTTON)
{
- if (spriteId < 16)
+ if (tourneyTreeCursorSpriteId < 16)
{
PlaySE(SE_SELECT);
retVal = 2;
@@ -5469,31 +5352,31 @@ static u8 sub_8193BDC(u8 taskId)
}
else
{
- if (gMain.newKeys == DPAD_UP && gUnknown_0860CBF1[spriteId][roundId][0] != 0xFF)
- arrId = 0;
- else if (gMain.newKeys == DPAD_DOWN && gUnknown_0860CBF1[spriteId][roundId][1] != 0xFF)
- arrId = 1;
- else if (gMain.newKeys == DPAD_LEFT && gUnknown_0860CBF1[spriteId][roundId][2] != 0xFF)
- arrId = 2;
- else if (gMain.newKeys == DPAD_RIGHT && gUnknown_0860CBF1[spriteId][roundId][3] != 0xFF)
- arrId = 3;
+ if (gMain.newKeys == DPAD_UP && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][0] != 0xFF)
+ direction = 0;
+ else if (gMain.newKeys == DPAD_DOWN && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][1] != 0xFF)
+ direction = 1;
+ else if (gMain.newKeys == DPAD_LEFT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][2] != 0xFF)
+ direction = 2;
+ else if (gMain.newKeys == DPAD_RIGHT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][3] != 0xFF)
+ direction = 3;
}
- if (arrId != 4)
+ if (direction != 4)
{
PlaySE(SE_SELECT);
- StartSpriteAnim(&gSprites[spriteId], 0);
- spriteId = gUnknown_0860CBF1[spriteId][roundId][arrId];
- StartSpriteAnim(&gSprites[spriteId], 1);
- gTasks[taskId].data[1] = spriteId;
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0);
+ tourneyTreeCursorSpriteId = sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][direction];
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1);
+ gTasks[taskId].data[1] = tourneyTreeCursorSpriteId;
}
return retVal;
}
-static void sub_8193D40(void)
+static void ShowNonInteractiveDomeTourneyTree(void)
{
- u8 taskId = CreateTask(sub_8194220, 0);
+ u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 1;
gTasks[taskId].data[2] = 2;
@@ -5501,9 +5384,9 @@ static void sub_8193D40(void)
SetMainCallback2(CB2_BattleDome);
}
-static void sub_8193D7C(void)
+static void ResolveDomeRoundWinners(void)
{
- s32 i;
+ int i;
if (gSpecialVar_0x8005 == 1)
{
@@ -5525,14 +5408,14 @@ static void sub_8193D7C(void)
}
}
-static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roundId)
+static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roundId)
{
- s32 i, j, k;
- s32 moveScores[4 * 3];
+ int i, j, k;
+ int moveScores[4 * 3];
u16 moveIds[4 * 3];
u16 bestScore = 0;
u16 bestId = 0;
- s32 movePower = 0;
+ int movePower = 0;
SetFacilityPtrsGetLevel();
// Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons.
@@ -5639,12 +5522,12 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun
return moveIds[j];
}
-static void sub_8194220(u8 taskId)
+static void Task_ShowTourneyTree(u8 taskId)
{
- s32 i;
+ int i;
struct TextPrinterTemplate textPrinter;
- s32 r10 = gTasks[taskId].data[1];
- s32 r4 = gTasks[taskId].data[2];
+ int r10 = gTasks[taskId].data[1];
+ int r4 = gTasks[taskId].data[2];
switch (gTasks[taskId].data[0])
{
@@ -5703,7 +5586,7 @@ static void sub_8194220(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 3:
- LoadCompressedSpriteSheet(gUnknown_0860CF50);
+ LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
if (r10 == 0)
{
for (i = 0; i < (unsigned) 31; i++)
@@ -5734,7 +5617,7 @@ static void sub_8194220(u8 taskId)
AddTextPrinter(&textPrinter, 0, NULL);
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- s32 roundId, var2;
+ int roundId, var2;
CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
if (r10 == 1)
@@ -5851,19 +5734,19 @@ static void sub_8194220(u8 taskId)
i = 0;
while (i < 91)
{
- gScanlineEffectRegBuffers[0][i] = 0x1F0A;
- gScanlineEffectRegBuffers[1][i] = 0x1F0A;
+ gScanlineEffectRegBuffers[0][i] = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(31) | BGCNT_16COLOR | BGCNT_CHARBASE(2) | BGCNT_TXT256x256;
+ gScanlineEffectRegBuffers[1][i] = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(31) | BGCNT_16COLOR | BGCNT_CHARBASE(2) | BGCNT_TXT256x256;
i++;
}
while (i < 160)
{
- gScanlineEffectRegBuffers[0][i] = 0x1F09;
- gScanlineEffectRegBuffers[1][i] = 0x1F09;
+ gScanlineEffectRegBuffers[0][i] = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(31) | BGCNT_16COLOR | BGCNT_CHARBASE(2) | BGCNT_TXT256x256;
+ gScanlineEffectRegBuffers[1][i] = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(31) | BGCNT_16COLOR | BGCNT_CHARBASE(2) | BGCNT_TXT256x256;
i++;
}
- ScanlineEffect_SetParams(gUnknown_0860CF44);
+ ScanlineEffect_SetParams(sTourneyTreeScanlineEffectParams);
DestroyTask(taskId);
break;
}
@@ -5871,7 +5754,7 @@ static void sub_8194220(u8 taskId)
static void sub_81948EC(u8 tournamentId, u8 arg1)
{
- s32 i;
+ int i;
const struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1];
for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++)
@@ -5882,7 +5765,7 @@ static void sub_81948EC(u8 tournamentId, u8 arg1)
static void sub_8194950(u8 taskId)
{
- s32 i;
+ int i;
struct TextPrinterTemplate textPrinter;
switch (gTasks[taskId].data[0])
@@ -5923,7 +5806,7 @@ static void sub_8194950(u8 taskId)
}
if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
{
- s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
+ int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
sub_81948EC(i, roundId);
}
}
@@ -6050,20 +5933,20 @@ static void VblankCb1_BattleDome(void)
ScanlineEffect_InitHBlankDmaTransfer();
}
-static void sub_8194D48(void)
+static void InitDomeFacilityTrainersAndMons(void)
{
gFacilityTrainerMons = gBattleFrontierMons;
gFacilityTrainers = gBattleFrontierTrainers;
}
-static void sub_8194D68(void)
+static void RestoreDomePlayerParty(void)
{
- s32 i, moveSlot;
+ int i, moveSlot;
for (i = 0; i < 2; i++)
{
- s32 playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
- s32 count;
+ int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
+ int count;
for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++)
{
@@ -6082,24 +5965,24 @@ static void sub_8194D68(void)
}
}
-static void sub_8194E44(void)
+static void RestoreDomePlayerPartyHeldItems(void)
{
- s32 i;
+ int i;
for (i = 0; i < 2; i++)
{
- s32 playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
+ int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_HELD_ITEM, NULL);
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
}
}
-static void sub_8194EB4(void)
+static void ReduceDomePlayerPartyTo3Mons(void)
{
ReducePlayerPartyToSelectedMons();
}
-static void sub_8194EC0(void)
+static void GetPlayerSeededBeforeOpponent(void)
{
if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER))
gSpecialVar_Result = 1;
@@ -6107,11 +5990,11 @@ static void sub_8194EC0(void)
gSpecialVar_Result = 2;
}
-static void sub_8194EF8(void)
+static void BufferLastDomeWinnerName(void)
{
- s32 i;
+ int i;
- sub_8194D48();
+ InitDomeFacilityTrainersAndMons();
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
@@ -6122,15 +6005,15 @@ static void sub_8194EF8(void)
static void sub_8194F58(void)
{
- s32 i, j, k;
- s32 monLevel;
- s32 species[3];
- s32 monTypesBits;
- s32 trainerId;
- s32 monSetId;
+ int i, j, k;
+ int monLevel;
+ int species[3];
+ int monTypesBits;
+ int trainerId;
+ int monSetId;
u8 lvlMode;
u16 *statSums;
- s32 *statValues;
+ int *statValues;
u8 ivs = 0;
species[0] = 0;
@@ -6140,7 +6023,7 @@ static void sub_8194F58(void)
return;
statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
- statValues = AllocZeroed(sizeof(s32) * 6);
+ statValues = AllocZeroed(sizeof(int) * 6);
lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.lvlMode = 0;
// This one, I'd like to call a 'C fakematching'.
@@ -6177,7 +6060,7 @@ static void sub_8194F58(void)
monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++)
{
- s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
+ int checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
if (checkingMonId == monSetId
|| species[0] == gFacilityTrainerMons[monSetId].species
|| species[1] == gFacilityTrainerMons[monSetId].species
@@ -6253,9 +6136,9 @@ static void sub_8194F58(void)
gSaveBlock2Ptr->frontier.lvlMode = lvlMode;
}
-static s32 TrainerIdToTournamentId(u16 trainerId)
+static int TrainerIdToTournamentId(u16 trainerId)
{
- s32 i;
+ int i;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
@@ -6267,9 +6150,9 @@ static s32 TrainerIdToTournamentId(u16 trainerId)
}
// The same as the above one, but has global scope.
-s32 TrainerIdToDomeTournamentId(u16 trainerId)
+int TrainerIdToDomeTournamentId(u16 trainerId)
{
- s32 i;
+ int i;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
@@ -6280,10 +6163,10 @@ s32 TrainerIdToDomeTournamentId(u16 trainerId)
return i;
}
-static u8 sub_81953E8(u8 tournamentId, u8 arg1)
+static u8 sub_81953E8(u8 tournamentId, u8 round)
{
u8 arr[2];
- sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][arg1] - 16, arr);
+ sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, arr);
if (tournamentId == arr[0])
return arr[1];
else
@@ -6292,11 +6175,11 @@ static u8 sub_81953E8(u8 tournamentId, u8 arg1)
static void DecideRoundWinners(u8 roundId)
{
- s32 i;
- s32 moveSlot, monId1, monId2;
- s32 tournamentId1, tournamentId2;
- s32 species;
- s32 points1 = 0, points2 = 0;
+ int i;
+ int moveSlot, monId1, monId2;
+ int tournamentId1, tournamentId2;
+ int species;
+ int points1 = 0, points2 = 0;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
@@ -6400,28 +6283,28 @@ static void DecideRoundWinners(u8 roundId)
}
}
-static void CopyDomeTrainerName(u8 *dst, u16 trainerId)
+static void CopyDomeTrainerName(u8 *str, u16 trainerId)
{
- s32 i = 0;
+ int i = 0;
SetFacilityPtrsGetLevel();
if (trainerId == TRAINER_FRONTIER_BRAIN)
{
- CopyDomeBrainTrainerName(dst);
+ CopyDomeBrainTrainerName(str);
}
else
{
if (trainerId == TRAINER_PLAYER)
{
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
- dst[i] = gSaveBlock2Ptr->playerName[i];
+ str[i] = gSaveBlock2Ptr->playerName[i];
}
else if (trainerId < 300)
{
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
- dst[i] = gFacilityTrainers[trainerId].trainerName[i];
+ str[i] = gFacilityTrainers[trainerId].trainerName[i];
}
- dst[i] = EOS;
+ str[i] = EOS;
}
}
@@ -6435,11 +6318,11 @@ static u8 GetDomeBrainTrainerClass(void)
return gTrainers[TRAINER_TUCKER].trainerClass;
}
-static void CopyDomeBrainTrainerName(u8 *dst)
+static void CopyDomeBrainTrainerName(u8 *str)
{
- s32 i;
+ int i;
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
- dst[i] = gTrainers[TRAINER_TUCKER].trainerName[i];
- dst[i] = EOS;
+ str[i] = gTrainers[TRAINER_TUCKER].trainerName[i];
+ str[i] = EOS;
}
diff --git a/src/battle_factory.c b/src/battle_factory.c
index c025dc139..d08ffe6e6 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -16,28 +16,28 @@
#include "constants/moves.h"
// IWRAM bss
-static IWRAM_DATA bool8 gUnknown_03001288;
+static IWRAM_DATA bool8 sPerformedRentalSwap;
// This file's functions.
-static void sub_81A5E94(void);
-static void sub_81A5FA8(void);
-static void sub_81A6054(void);
+static void InitFactoryChallenge(void);
+static void GetBattleFactoryData(void);
+static void SetBattleFactoryData(void);
static void sub_81A613C(void);
static void nullsub_75(void);
static void nullsub_123(void);
-static void sub_81A6188(void);
-static void sub_81A6198(void);
-static void sub_81A61A4(void);
-static void sub_81A63CC(void);
-static void sub_81A64C4(void);
-static void sub_81A63B8(void);
-static void sub_81A61B0(void);
-static void sub_81A67EC(void);
-static void sub_81A6A08(void);
-static void sub_81A6AEC(void);
-static void sub_81A6C1C(void);
+static void SelectInitialRentalMons(void);
+static void SwapRentalMons(void);
+static void SetPerformedRentalSwap(void);
+static void SetRentalsToOpponentParty(void);
+static void SetPlayerAndOpponentParties(void);
+static void SetOpponentGfxVar(void);
+static void GenerateOpponentMons(void);
+static void GenerateInitialRentalMons(void);
+static void GetOpponentMostCommonMonType(void);
+static void GetOpponentBattleStyle(void);
+static void RestorePlayerPartyHeldItems(void);
static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2);
-static u8 GetStyleForMove(u16 move);
+static u8 GetMoveBattleStyle(u16 move);
// Const rom data.
static const u8 sRequiredMoveCounts[] = {3, 3, 3, 2, 2, 2, 2};
@@ -110,25 +110,25 @@ static const u16 *const sMoveStyles[] =
sMoves_DependsOnTheBattlesFlow,
};
-static void (* const gUnknown_08612120[])(void) =
+static void (* const sBattleFactoryFunctions[])(void) =
{
- sub_81A5E94,
- sub_81A5FA8,
- sub_81A6054,
+ InitFactoryChallenge,
+ GetBattleFactoryData,
+ SetBattleFactoryData,
sub_81A613C,
nullsub_75,
nullsub_123,
- sub_81A6188,
- sub_81A6198,
- sub_81A61A4,
- sub_81A63CC,
- sub_81A64C4,
- sub_81A63B8,
- sub_81A61B0,
- sub_81A67EC,
- sub_81A6A08,
- sub_81A6AEC,
- sub_81A6C1C,
+ SelectInitialRentalMons,
+ SwapRentalMons,
+ SetPerformedRentalSwap,
+ SetRentalsToOpponentParty,
+ SetPlayerAndOpponentParties,
+ SetOpponentGfxVar,
+ GenerateOpponentMons,
+ GenerateInitialRentalMons,
+ GetOpponentMostCommonMonType,
+ GetOpponentBattleStyle,
+ RestorePlayerPartyHeldItems,
};
static const u32 gUnknown_08612164[][2] =
@@ -178,10 +178,10 @@ static const u16 sMonsToChooseFrom[][2] =
// code
void CallBattleFactoryFunction(void)
{
- gUnknown_08612120[gSpecialVar_0x8004]();
+ sBattleFactoryFunctions[gSpecialVar_0x8004]();
}
-static void sub_81A5E94(void)
+static void InitFactoryChallenge(void)
{
u8 i;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -197,9 +197,9 @@ static void sub_81A5E94(void)
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = 0;
}
- gUnknown_03001288 = FALSE;
+ sPerformedRentalSwap = FALSE;
for (i = 0; i < 6; i++)
- gSaveBlock2Ptr->frontier.field_E70[i].monId = 0xFFFF;
+ gSaveBlock2Ptr->frontier.rentalMons[i].monId = 0xFFFF;
for (i = 0; i < 3; i++)
gUnknown_03006298[i] = 0xFFFF;
@@ -207,10 +207,10 @@ static void sub_81A5E94(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_81A5FA8(void)
+static void GetBattleFactoryData(void)
{
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ int lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ int battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
@@ -226,10 +226,10 @@ static void sub_81A5FA8(void)
}
}
-static void sub_81A6054(void)
+static void SetBattleFactoryData(void)
{
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ int lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ int battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
@@ -243,10 +243,10 @@ static void sub_81A6054(void)
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_08612174[battleMode][lvlMode];
break;
case 3:
- if (gUnknown_03001288 == TRUE)
+ if (sPerformedRentalSwap == TRUE)
{
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = gSpecialVar_0x8006;
- gUnknown_03001288 = FALSE;
+ sPerformedRentalSwap = FALSE;
}
break;
}
@@ -270,28 +270,28 @@ static void nullsub_123(void)
}
-static void sub_81A6188(void)
+static void SelectInitialRentalMons(void)
{
ZeroPlayerPartyMons();
DoBattleFactorySelectScreen();
}
-static void sub_81A6198(void)
+static void SwapRentalMons(void)
{
DoBattleFactorySwapScreen();
}
-static void sub_81A61A4(void)
+static void SetPerformedRentalSwap(void)
{
- gUnknown_03001288 = TRUE;
+ sPerformedRentalSwap = TRUE;
}
-static void sub_81A61B0(void)
+static void GenerateOpponentMons(void)
{
- s32 i, j, k;
+ int i, j, k;
u16 species[3];
u16 heldItems[3];
- s32 firstMonId = 0;
+ int firstMonId = 0;
u16 trainerId = 0;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -304,14 +304,14 @@ static void sub_81A61B0(void)
trainerId = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId;
i = 0;
while (i != 3)
@@ -322,7 +322,7 @@ static void sub_81A61B0(void)
for (j = 0; j < 6; j++)
{
- if (gFacilityTrainerMons[monSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
+ if (gFacilityTrainerMons[monSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)
break;
}
if (j != 6)
@@ -354,12 +354,12 @@ static void sub_81A61B0(void)
}
}
-static void sub_81A63B8(void)
+static void SetOpponentGfxVar(void)
{
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_81A63CC(void)
+static void SetRentalsToOpponentParty(void)
{
u8 i;
@@ -370,18 +370,18 @@ static void sub_81A63CC(void)
for (i = 0; i < 3; i++)
{
- gSaveBlock2Ptr->frontier.field_E70[i + 3].monId = gUnknown_03006298[i];
- gSaveBlock2Ptr->frontier.field_E70[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i + 3].personality = GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i + 3].abilityBit = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ALT_ABILITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId = gUnknown_03006298[i];
+ gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i + 3].personality = GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityBit = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ALT_ABILITY, NULL);
SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[gUnknown_03006298[i]].itemTableId]);
}
}
-static void sub_81A64C4(void)
+static void SetPlayerAndOpponentParties(void)
{
- s32 i, j, k;
- s32 count = 0;
+ int i, j, k;
+ int count = 0;
u8 bits = 0;
u8 monLevel;
u16 monSetId;
@@ -408,13 +408,13 @@ static void sub_81A64C4(void)
ZeroPlayerPartyMons();
for (i = 0; i < 3; i++)
{
- monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
- ivs = gSaveBlock2Ptr->frontier.field_E70[i].ivs;
+ monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId;
+ ivs = gSaveBlock2Ptr->frontier.rentalMons[i].ivs;
CreateMon(&gPlayerParty[i],
gFacilityTrainerMons[monSetId].species,
monLevel,
ivs,
- TRUE, gSaveBlock2Ptr->frontier.field_E70[i].personality,
+ TRUE, gSaveBlock2Ptr->frontier.rentalMons[i].personality,
0, 0);
count = 0;
@@ -439,7 +439,7 @@ static void sub_81A64C4(void)
SetMonMoveAvoidReturn(&gPlayerParty[i], gFacilityTrainerMons[monSetId].moves[k], k);
SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
- SetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.field_E70[i].abilityBit);
+ SetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.rentalMons[i].abilityBit);
}
}
@@ -449,13 +449,13 @@ static void sub_81A64C4(void)
case 2:
for (i = 0; i < 3; i++)
{
- monSetId = gSaveBlock2Ptr->frontier.field_E70[i + 3].monId;
- ivs = gSaveBlock2Ptr->frontier.field_E70[i + 3].ivs;
+ monSetId = gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId;
+ ivs = gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs;
CreateMon(&gEnemyParty[i],
gFacilityTrainerMons[monSetId].species,
monLevel,
ivs,
- TRUE, gSaveBlock2Ptr->frontier.field_E70[i + 3].personality,
+ TRUE, gSaveBlock2Ptr->frontier.rentalMons[i + 3].personality,
0, 0);
count = 0;
@@ -478,15 +478,15 @@ static void sub_81A64C4(void)
for (k = 0; k < MAX_MON_MOVES; k++)
SetMonMoveAvoidReturn(&gEnemyParty[i], gFacilityTrainerMons[monSetId].moves[k], k);
SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
- SetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.field_E70[i + 3].abilityBit);
+ SetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityBit);
}
break;
}
}
-static void sub_81A67EC(void)
+static void GenerateInitialRentalMons(void)
{
- s32 i, j;
+ int i, j;
u8 firstMonId;
u8 battleMode;
u8 lvlMode;
@@ -526,7 +526,7 @@ static void sub_81A67EC(void)
factoryLvlMode = FRONTIER_LVL_50;
firstMonId = 0;
}
- var_40 = sub_81A6F70(factoryBattleMode, factoryLvlMode);
+ var_40 = GetNumPastRentalsRank(factoryBattleMode, factoryLvlMode);
currSpecies = SPECIES_NONE;
i = 0;
@@ -570,7 +570,7 @@ static void sub_81A67EC(void)
if (j != firstMonId + i)
continue;
- gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
+ gSaveBlock2Ptr->frontier.rentalMons[i].monId = monSetId;
species[i] = gFacilityTrainerMons[monSetId].species;
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
monIds[i] = monSetId;
@@ -578,7 +578,7 @@ static void sub_81A67EC(void)
}
}
-static void sub_81A6A08(void)
+static void GetOpponentMostCommonMonType(void)
{
u8 i;
u8 typesCount[NUMBER_OF_MON_TYPES];
@@ -613,7 +613,7 @@ static void sub_81A6A08(void)
gSpecialVar_Result = NUMBER_OF_MON_TYPES;
}
-static void sub_81A6AEC(void)
+static void GetOpponentBattleStyle(void)
{
u8 i, j, count;
u8 stylePoints[8];
@@ -622,13 +622,14 @@ static void sub_81A6AEC(void)
gFacilityTrainerMons = gBattleFrontierMons;
for (i = 0; i < 8; i++)
stylePoints[i] = 0;
+
for (i = 0; i < 3; i++)
{
u16 monSetId = gUnknown_03006298[i];
for (j = 0; j < MAX_MON_MOVES; j++)
{
- u8 id = GetStyleForMove(gFacilityTrainerMons[monSetId].moves[j]);
- stylePoints[id]++;
+ u8 battleStyle = GetMoveBattleStyle(gFacilityTrainerMons[monSetId].moves[j]);
+ stylePoints[battleStyle]++;
}
}
@@ -641,11 +642,12 @@ static void sub_81A6AEC(void)
count++;
}
}
+
if (count > 2)
gSpecialVar_Result = 8;
}
-static u8 GetStyleForMove(u16 move)
+static u8 GetMoveBattleStyle(u16 move)
{
const u16 *moves;
u8 i, j;
@@ -661,13 +663,13 @@ static u8 GetStyleForMove(u16 move)
return 0;
}
-bool8 sub_81A6BF4(void)
+bool8 InBattleFactory(void)
{
return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM
|| gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM;
}
-static void sub_81A6C1C(void)
+static void RestorePlayerPartyHeldItems(void)
{
u8 i;
@@ -680,7 +682,7 @@ static void sub_81A6C1C(void)
{
SetMonData(&gPlayerParty[i],
MON_DATA_HELD_ITEM,
- &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[i].monId].itemTableId]);
+ &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[i].monId].itemTableId]);
}
}
@@ -699,11 +701,11 @@ u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1)
void FillFactoryBrainParty(void)
{
- s32 i, j, k;
+ int i, j, k;
u16 species[3];
u16 heldItems[3];
u8 friendship;
- s32 monLevel;
+ int monLevel;
u8 fixedIV;
u32 otId;
@@ -726,7 +728,7 @@ void FillFactoryBrainParty(void)
for (j = 0; j < 6; j++)
{
- if (monSetId == gSaveBlock2Ptr->frontier.field_E70[j].monId)
+ if (monSetId == gSaveBlock2Ptr->frontier.rentalMons[j].monId)
break;
}
if (j != 6)
@@ -769,7 +771,7 @@ void FillFactoryBrainParty(void)
static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2)
{
- u16 range, ret;
+ u16 range, monSetId;
u16 adder;
if (lvlMode == FRONTIER_LVL_50)
@@ -782,14 +784,14 @@ static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2)
if (arg2)
{
range = (sMonsToChooseFrom[adder + challengeNum + 1][1] - sMonsToChooseFrom[adder + challengeNum + 1][0]) + 1;
- ret = Random() % range;
- ret += sMonsToChooseFrom[adder + challengeNum + 1][0];
+ monSetId = Random() % range;
+ monSetId += sMonsToChooseFrom[adder + challengeNum + 1][0];
}
else
{
range = (sMonsToChooseFrom[adder + challengeNum][1] - sMonsToChooseFrom[adder + challengeNum][0]) + 1;
- ret = Random() % range;
- ret += sMonsToChooseFrom[adder + challengeNum][0];
+ monSetId = Random() % range;
+ monSetId += sMonsToChooseFrom[adder + challengeNum][0];
}
}
else
@@ -798,14 +800,14 @@ static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2)
if (num != 7)
num = 7;
range = (sMonsToChooseFrom[adder + num][1] - sMonsToChooseFrom[adder + num][0]) + 1;
- ret = Random() % range;
- ret += sMonsToChooseFrom[adder + num][0];
+ monSetId = Random() % range;
+ monSetId += sMonsToChooseFrom[adder + num][0];
}
- return ret;
+ return monSetId;
}
-u8 sub_81A6F70(u8 battleMode, u8 lvlMode)
+u8 GetNumPastRentalsRank(u8 battleMode, u8 lvlMode)
{
u8 ret;
u8 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
@@ -828,7 +830,7 @@ u8 sub_81A6F70(u8 battleMode, u8 lvlMode)
u32 GetAiScriptsInBattleFactory(void)
{
- s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ int lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (lvlMode == FRONTIER_LVL_TENT)
{
@@ -836,8 +838,8 @@ u32 GetAiScriptsInBattleFactory(void)
}
else
{
- s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- s32 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ int battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ int challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
return AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY;
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index 7831ef750..bb9fe8e28 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -1673,12 +1673,12 @@ static void CreateFrontierFactorySelectableMons(u8 firstMonId)
else
level = 50;
- var_28 = sub_81A6F70(battleMode, lvlMode);
+ var_28 = GetNumPastRentalsRank(battleMode, lvlMode);
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
{
- u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
+ u16 monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId;
sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
if (i < var_28)
ivs = GetFactoryMonFixedIV(challengeNum + 1, 0);
@@ -1712,7 +1712,7 @@ static void CreateTentFactorySelectableMons(u8 firstMonId)
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
{
- u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
+ u16 monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId;
sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
CreateMonWithEVSpreadNatureOTID(&sFactorySelectScreen->mons[i + firstMonId].monData,
gFacilityTrainerMons[monSetId].species,
@@ -1740,10 +1740,10 @@ static void Select_CopyMonsToPlayerParty(void)
if (sFactorySelectScreen->mons[j].selectedId == i + 1)
{
gPlayerParty[i] = sFactorySelectScreen->mons[j].monData;
- gSaveBlock2Ptr->frontier.field_E70[i].monId = sFactorySelectScreen->mons[j].monSetId;
- gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i].monId = sFactorySelectScreen->mons[j].monSetId;
+ gSaveBlock2Ptr->frontier.rentalMons[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL);
break;
}
}
@@ -2263,10 +2263,10 @@ static void CopySwappedMonData(void)
gPlayerParty[sFactorySwapScreen->playerMonId] = gEnemyParty[sFactorySwapScreen->enemyMonId];
happiness = 0;
SetMonData(&gPlayerParty[sFactorySwapScreen->playerMonId], MON_DATA_FRIENDSHIP, &happiness);
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].monId;
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].ivs;
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->enemyMonId + 3].monId;
+ gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->enemyMonId + 3].ivs;
+ gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL);
}
static void Task_FromSwapScreenToSummaryScreen(u8 taskId)
diff --git a/src/battle_pike.c b/src/battle_pike.c
index bdf6e8027..cc58b81bb 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -16,6 +16,7 @@
#include "constants/event_objects.h"
#include "constants/battle_frontier.h"
#include "constants/abilities.h"
+#include "constants/easy_chat.h"
#include "constants/layouts.h"
#include "constants/rgb.h"
#include "constants/trainers.h"
@@ -36,12 +37,12 @@
#define PIKE_STATUS_KIRLIA 0
#define PIKE_STATUS_DUSCLOPS 1
-struct Unk0861231C
+struct PikeRoomNPC
{
- u16 unk0;
- u8 unk2;
- u8 unk3;
- u8 unk4;
+ u16 graphicsId;
+ u8 speechId1;
+ u8 speechId2;
+ u8 speechId3;
};
struct PikeWildMon
@@ -56,50 +57,50 @@ static IWRAM_DATA u8 sRoomType;
static IWRAM_DATA u8 sStatusMon;
static IWRAM_DATA bool8 sUnknown_0300128E;
static IWRAM_DATA u32 sStatusFlags;
-static IWRAM_DATA u8 sUnknown_03001294;
+static IWRAM_DATA u8 sNpcId;
// This file's functions.
-static void sub_81A705C(void);
-static void sub_81A7140(void);
-static void sub_81A7248(void);
-static void sub_81A73B8(void);
-static void sub_81A7070(void);
-static void sub_81A73EC(void);
+static void SetRoomType(void);
+static void GetBattlePikeData(void);
+static void SetBattlePikeData(void);
+static void GetInFinalRoom(void);
+static void SetupRoomEventObjects(void);
+static void GetRoomType(void);
static void sub_81A7400(void);
static void sub_81A740C(void);
static void sub_81A7418(void);
static void nullsub_76(void);
static void nullsub_124(void);
-static void sub_81A7468(void);
-static void sub_81A74CC(void);
-static void sub_81A74E0(void);
-static void sub_81A7508(void);
-static void sub_81A7580(void);
-static void sub_81A8090(void);
-static void sub_81A80DC(void);
-static void sub_81A825C(void);
-static void sub_81A827C(void);
-static void sub_81A84B4(void);
-static void sub_81A84EC(void);
-static void sub_81A863C(void);
-static void sub_81A8658(void);
-static void sub_81A869C(void);
-static void sub_81A86C0(void);
-static void sub_81A8794(void);
-static void sub_81A87E8(void);
-static void sub_81A8830(void);
+static void GetRoomInflictedStatus(void);
+static void GetRoomInflictedStatusMon(void);
+static void HealOneOrTwoMons(void);
+static void BufferNPCMessage(void);
+static void StatusInflictionScreenFade(void);
+static void GetInBattlePike(void);
+static void SetHintedRoom(void);
+static void GetHintedRoomIndex(void);
+static void GetRoomTypeHint(void);
+static void ClearPikeTrainerIds(void);
+static void BufferRecordMixingTrainerMessage(void);
+static void GetCurrentRoomPikeQueenFightType(void);
+static void HealSomeMonsBeforePikeQueen(void);
+static void SetHealingRoomsDisabled(void);
+static void CanAnyPartyMonsBeHealed(void);
+static void BackupMonHeldItems(void);
+static void RestoreMonHeldItems(void);
+static void InitPikeChallenge(void);
static u8 GetNextRoomType(void);
static void PrepareOneTrainer(bool8 difficult);
-static u16 sub_81A7B58(void);
+static u16 GetNPCRoomGraphicsId(void);
static void PrepareTwoTrainers(void);
static void TryHealMons(u8 healCount);
-static void sub_81A7EE4(u8 taskId);
+static void Task_DoStatusInflictionScreenFade(u8 taskId);
static bool8 AtLeastTwoAliveMons(void);
static u8 SpeciesToPikeMonId(u16 species);
static bool8 CanEncounterWildMon(u8 monLevel);
-static u8 sub_81A8590(u8);
-static bool8 sub_81A7D8C(struct Task *task);
-static bool8 sub_81A7DE8(struct Task *task);
+static u8 GetPikeQueenFightType(u8);
+static bool8 StatusInflictionFadeOut(struct Task *task);
+static bool8 StatusInflictionFadeIn(struct Task *task);
// Const rom data.
static const struct PikeWildMon sLvl50_Mons1[] =
@@ -276,253 +277,264 @@ static const struct PikeWildMon *const *const sWildMons[2] =
[FRONTIER_LVL_OPEN] = sLvlOpenMons
};
-static const struct Unk0861231C gUnknown_0861231C[] =
+static const struct PikeRoomNPC sNPCTable[] =
{
{
- .unk0 = 0x0012,
- .unk2 = 0x03,
- .unk3 = 0x05,
- .unk4 = 0x06
+ .graphicsId = EVENT_OBJ_GFX_POKEFAN_F,
+ .speechId1 = 3,
+ .speechId2 = 5,
+ .speechId3 = 6
},
{
- .unk0 = 0x0005,
- .unk2 = 0x0d,
- .unk3 = 0x20,
- .unk4 = 0x25
+ .graphicsId = EVENT_OBJ_GFX_NINJA_BOY,
+ .speechId1 = 13,
+ .speechId2 = 32,
+ .speechId3 = 37
},
{
- .unk0 = 0x0011,
- .unk2 = 0x08,
- .unk3 = 0x0b,
- .unk4 = 0x0c
+ .graphicsId = EVENT_OBJ_GFX_FAT_MAN,
+ .speechId1 = 8,
+ .speechId2 = 11,
+ .speechId3 = 12
},
{
- .unk0 = 0x0024,
- .unk2 = 0x22,
- .unk3 = 0x1e,
- .unk4 = 0x21
+ .graphicsId = EVENT_OBJ_GFX_BUG_CATCHER,
+ .speechId1 = 34,
+ .speechId2 = 30,
+ .speechId3 = 33
},
{
- .unk0 = 0x0015,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .unk4 = 0x00
+ .graphicsId = EVENT_OBJ_GFX_EXPERT_M,
+ .speechId1 = 0,
+ .speechId2 = 0,
+ .speechId3 = 0
},
{
- .unk0 = 0x001e,
- .unk2 = 0x01,
- .unk3 = 0x01,
- .unk4 = 0x01
+ .graphicsId = EVENT_OBJ_GFX_OLD_WOMAN,
+ .speechId1 = 1,
+ .speechId2 = 1,
+ .speechId3 = 1
},
{
- .unk0 = 0x002c,
- .unk2 = 0x16,
- .unk3 = 0x17,
- .unk4 = 0x1b
+ .graphicsId = EVENT_OBJ_GFX_BLACK_BELT,
+ .speechId1 = 22,
+ .speechId2 = 23,
+ .speechId3 = 27
},
{
- .unk0 = 0x0037,
- .unk2 = 0x08,
- .unk3 = 0x16,
- .unk4 = 0x1f
+ .graphicsId = EVENT_OBJ_GFX_HIKER,
+ .speechId1 = 8,
+ .speechId2 = 22,
+ .speechId3 = 31
},
{
- .unk0 = 0x000e,
- .unk2 = 0x0d,
- .unk3 = 0x27,
- .unk4 = 0x15
+ .graphicsId = EVENT_OBJ_GFX_GIRL_3,
+ .speechId1 = 13,
+ .speechId2 = 39,
+ .speechId3 = 21
},
{
- .unk0 = 0x0014,
- .unk2 = 0x02,
- .unk3 = 0x04,
- .unk4 = 0x11
+ .graphicsId = EVENT_OBJ_GFX_WOMAN_2,
+ .speechId1 = 2,
+ .speechId2 = 4,
+ .speechId3 = 17
},
{
- .unk0 = 0x0038,
- .unk2 = 0x1e,
- .unk3 = 0x14,
- .unk4 = 0x24
+ .graphicsId = EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M,
+ .speechId1 = 30,
+ .speechId2 = 20,
+ .speechId3 = 36
},
{
- .unk0 = 0x0042,
- .unk2 = 0x1c,
- .unk3 = 0x22,
- .unk4 = 0x19
+ .graphicsId = EVENT_OBJ_GFX_MAN_5,
+ .speechId1 = 28,
+ .speechId2 = 34,
+ .speechId3 = 25
},
{
- .unk0 = 0x0026,
- .unk2 = 0x17,
- .unk3 = 0x26,
- .unk4 = 0x1a
+ .graphicsId = EVENT_OBJ_GFX_SCHOOL_KID_M,
+ .speechId1 = 23,
+ .speechId2 = 38,
+ .speechId3 = 26
},
{
- .unk0 = 0x0032,
- .unk2 = 0x17,
- .unk3 = 0x1e,
- .unk4 = 0x0b
+ .graphicsId = EVENT_OBJ_GFX_FISHERMAN,
+ .speechId1 = 23,
+ .speechId2 = 30,
+ .speechId3 = 11
},
{
- .unk0 = 0x002f,
- .unk2 = 0x0f,
- .unk3 = 0x13,
- .unk4 = 0x0e
+ .graphicsId = EVENT_OBJ_GFX_LASS,
+ .speechId1 = 15,
+ .speechId2 = 19,
+ .speechId3 = 14
},
{
- .unk0 = 0x0027,
- .unk2 = 0x02,
- .unk3 = 0x1d,
- .unk4 = 0x1a
+ .graphicsId = EVENT_OBJ_GFX_MANIAC,
+ .speechId1 = 2,
+ .speechId2 = 29,
+ .speechId3 = 26
},
{
- .unk0 = 0x0033,
- .unk2 = 0x25,
- .unk3 = 0x0c,
- .unk4 = 0x20
+ .graphicsId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ .speechId1 = 37,
+ .speechId2 = 12,
+ .speechId3 = 32
},
{
- .unk0 = 0x0021,
- .unk2 = 0x18,
- .unk3 = 0x17,
- .unk4 = 0x26
+ .graphicsId = EVENT_OBJ_GFX_MAN_3,
+ .speechId1 = 24,
+ .speechId2 = 23,
+ .speechId3 = 38
},
{
- .unk0 = 0x0018,
- .unk2 = 0x05,
- .unk3 = 0x16,
- .unk4 = 0x04
+ .graphicsId = EVENT_OBJ_GFX_WOMAN_3,
+ .speechId1 = 5,
+ .speechId2 = 22,
+ .speechId3 = 4
},
{
- .unk0 = 0x000b,
- .unk2 = 0x29,
- .unk3 = 0x25,
- .unk4 = 0x23
+ .graphicsId = EVENT_OBJ_GFX_LITTLE_BOY,
+ .speechId1 = 41,
+ .speechId2 = 37,
+ .speechId3 = 35
},
{
- .unk0 = 0x0035,
- .unk2 = 0x27,
- .unk3 = 0x0e,
- .unk4 = 0x0d
+ .graphicsId = EVENT_OBJ_GFX_TUBER_F,
+ .speechId1 = 39,
+ .speechId2 = 14,
+ .speechId3 = 13
},
{
- .unk0 = 0x0030,
- .unk2 = 0x0a,
- .unk3 = 0x07,
- .unk4 = 0x09
+ .graphicsId = EVENT_OBJ_GFX_GENTLEMAN,
+ .speechId1 = 10,
+ .speechId2 = 7,
+ .speechId3 = 9
},
{
- .unk0 = 0x000c,
- .unk2 = 0x28,
- .unk3 = 0x14,
- .unk4 = 0x10
+ .graphicsId = EVENT_OBJ_GFX_LITTLE_GIRL,
+ .speechId1 = 40,
+ .speechId2 = 20,
+ .speechId3 = 16
},
{
- .unk0 = 0x0034,
- .unk2 = 0x12,
- .unk3 = 0x0d,
- .unk4 = 0x15
+ .graphicsId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ .speechId1 = 18,
+ .speechId2 = 13,
+ .speechId3 = 21
},
{
- .unk0 = 0x0013,
- .unk2 = 0x16,
- .unk3 = 0x1f,
- .unk4 = 0x1b
+ .graphicsId = EVENT_OBJ_GFX_MAN_1,
+ .speechId1 = 22,
+ .speechId2 = 31,
+ .speechId3 = 27
}
};
-static const u16 gUnknown_086123E4[][6] =
-{
- {0x0a29, 0x0630, 0x0a01, 0x140f, 0x1020, 0x270e},
- {0x0a2a, 0x081d, 0x061b, 0x1034, 0x1e20, 0x0a29},
- {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1a, 0x0c03},
- {0x1e0f, 0x100b, 0x1039, 0x200f, 0x102b, 0x0a14},
- {0x103b, 0x0a02, 0x161e, 0x1020, 0x143e, 0x0c03},
- {0x0a31, 0x0e02, 0x0e15, 0x1436, 0x1037, 0x1e0a},
- {0x0a29, 0x1025, 0x142a, 0x1034, 0x1e0f, 0x0a1b},
- {0x0a01, 0x0e07, 0x122a, 0x1e0f, 0x061f, 0xffff},
- {0x1a35, 0x1036, 0x0e0f, 0x0a01, 0x2621, 0x1e0f},
- {0x0e25, 0x102f, 0x062d, 0x201e, 0x0c03, 0xffff},
- {0x0c1d, 0x081d, 0x0a2b, 0x100f, 0x0a02, 0x0c03},
- {0x0a2a, 0x0a3e, 0x2000, 0x1027, 0x1c08, 0x0c04},
- {0x0a01, 0x1212, 0x0a01, 0x1000, 0x062d, 0xffff},
- {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1c, 0x0c03},
- {0x0a01, 0x060b, 0x1030, 0x0a28, 0x2549, 0x0624},
- {0x1014, 0x0a2c, 0x0415, 0x1642, 0x1e1b, 0x0c03},
- {0x0628, 0x1a0f, 0x100b, 0x2017, 0x0c00, 0xffff},
- {0x0a01, 0x1015, 0x1647, 0x1e0f, 0x0e39, 0x0e36},
- {0x0a01, 0x1017, 0x1620, 0x0e19, 0x0a31, 0x0c38},
- {0x0c1d, 0x081d, 0x0c00, 0x1022, 0x1c12, 0x020b},
- {0x1029, 0x1404, 0x102f, 0x1006, 0x1e28, 0x1c1c},
- {0x1029, 0x0e20, 0x1028, 0x1c16, 0x1e29, 0x0c03},
- {0x1e0f, 0x100b, 0x0e2f, 0x0638, 0x100c, 0xffff},
- {0x0a29, 0x1408, 0x102f, 0x061e, 0x102c, 0xffff},
- {0x1023, 0x100b, 0x081d, 0x062d, 0x1037, 0x0a14},
- {0x0a29, 0x1022, 0x1408, 0x102f, 0x161e, 0x1029},
- {0x0601, 0x102c, 0x0a01, 0x1015, 0x0e39, 0x0e36},
- {0x1020, 0x020b, 0x103f, 0x1c12, 0x0c04, 0xffff},
- {0x1018, 0x0a02, 0x103a, 0x0446, 0x020e, 0x0c03},
- {0x1e10, 0x020b, 0x1e0a, 0x100b, 0x063a, 0xffff},
- {0x0a02, 0x1212, 0x1e0f, 0x100b, 0x0638, 0x0c03},
- {0x1e22, 0x1000, 0x161b, 0x103f, 0x1e0f, 0x0c03},
- {0x0a29, 0x0e1e, 0x1025, 0x1e26, 0x0c00, 0xffff},
- {0x0a01, 0x0e1e, 0x1236, 0x102f, 0x120b, 0x0c04},
- {0x2805, 0x1e0f, 0x0a1b, 0x100b, 0x1020, 0x063b},
- {0x0a01, 0x101f, 0x0a3e, 0x1037, 0x1020, 0x0628},
- {0x1026, 0x0a31, 0x1e29, 0x1c1c, 0x0a01, 0x1212},
- {0x0c0a, 0x0c00, 0x1029, 0x101c, 0x1e0f, 0x0c23},
- {0x0a28, 0x020e, 0x100f, 0x1039, 0x142a, 0x0c04},
- {0x0a28, 0x020e, 0x100f, 0x0620, 0x102f, 0x043c},
- {0x0c39, 0x0c39, 0x0c00, 0x0a29, 0x2017, 0x0c39},
- {0x265c, 0x100b, 0x1020, 0x1230, 0x1e05, 0x100c},
+static const u16 sNPCSpeeches[][6] =
+{
+ {EC_WORD_I_AM, EC_WORD_LOST, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND)},
+ {EC_WORD_I_VE, EC_WORD_NO, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_WHERE, EC_WORD_I_AM},
+ {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_NOW, EC_WORD_QUES},
+ {EC_WORD_THIS, EC_WORD_IS, EC_WORD_TOO, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME},
+ {EC_WORD_DID, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES},
+ {EC_WORD_IT_S, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_IN, EC_WORD_HERE},
+ {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_TIRED, EC_WORD_OF, EC_WORD_THIS, EC_WORD_PLACE},
+ {EC_WORD_I, EC_WORD_QUITE, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_CHALLENGE, 0xFFFF},
+ {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_HOW, EC_WORD_I, EC_MOVE2(TACKLE), EC_WORD_THIS},
+ {EC_WORD_READY, EC_WORD_TO, EC_WORD_GIVE_UP, EC_WORD_YET, EC_WORD_QUES, 0xFFFF},
+ {EC_WORD_OH, EC_WORD_NO, EC_WORD_WHO, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_QUES},
+ {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_WANDERING, EC_WORD_ABOUT, EC_WORD_FOREVER, EC_WORD_ELLIPSIS},
+ {EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_WILL, EC_WORD_GIVE_UP, 0xFFFF},
+ {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_NEXT, EC_WORD_QUES},
+ {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_WITH, EC_WORD_MY, EC_MOVE(SHEER_COLD), EC_WORD_GENIUS},
+ {EC_WORD_WON_T, EC_WORD_SOMEONE, EC_WORD_COOL, EC_WORD_SHOW, EC_WORD_UP, EC_WORD_QUES},
+ {EC_WORD_BATTLE, EC_WORD_GAME, EC_WORD_IS, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF},
+ {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_THIS, EC_WORD_ANY, EC_WORD_MORE},
+ {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_OKAY},
+ {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER},
+ {EC_WORD_IT, EC_WORD_HAS, EC_WORD_TO, EC_WORD_BE, EC_WORD_LEFT, EC_WORD_NEXT},
+ {EC_WORD_IT, EC_WORD_MUST_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_RIGHT, EC_WORD_QUES},
+ {EC_WORD_THIS, EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_EASY, EC_WORD_ISN_T_IT_QUES, 0xFFFF},
+ {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_POWER, EC_WORD_ON, 0xFFFF},
+ {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_GIVE_UP, EC_WORD_IN, EC_WORD_ME},
+ {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_IT},
+ {EC_WORD_GO, EC_WORD_ON, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ANY, EC_WORD_MORE},
+ {EC_WORD_A, EC_WORD_TRAINER, EC_WORD_AFTER, EC_WORD_ANOTHER, EC_WORD_ELLIPSIS, 0xFFFF},
+ {EC_WORD_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_STEEL, EC_WORD_POKEMON, EC_WORD_QUES},
+ {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HERE, EC_WORD_IS, EC_WORD_TOO_WEAK, 0xFFFF},
+ {EC_WORD_YOU, EC_WORD_THINK, EC_WORD_THIS, EC_WORD_IS, EC_WORD_EASY, EC_WORD_QUES},
+ {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_COME, EC_WORD_AFTER, EC_WORD_THIS, EC_WORD_QUES},
+ {EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_SO, EC_WORD_CONFUSED, EC_WORD_EXCL, 0xFFFF},
+ {EC_WORD_I, EC_WORD_JUST, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_ELLIPSIS},
+ {EC_WORD_YEEHAW_EXCL, EC_WORD_THIS, EC_WORD_PLACE, EC_WORD_IS, EC_WORD_A, EC_WORD_PUSHOVER},
+ {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_BEEN, EC_WORD_IN, EC_WORD_A, EC_WORD_BATTLE},
+ {EC_WORD_MAYBE, EC_WORD_IT_S, EC_WORD_RIGHT, EC_WORD_NEXT, EC_WORD_I, EC_WORD_THINK},
+ {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_IT, EC_WORD_WASN_T, EC_WORD_THIS, EC_WORD_WAY},
+ {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_TOO, EC_WORD_TIRED, EC_WORD_ELLIPSIS},
+ {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_STRONG, EC_WORD_TO, EC_WORD_POISON},
+ {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_LALALA},
+ {EC_MOVE2(TOXIC), EC_WORD_IS, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_THING, EC_WORD_ISN_T_IT_QUES},
};
-static const u8 gUnknown_086125DC[][4] =
+// Only the 5th array in this data is used by the code.
+static const u8 sPikeQueenWinStreakAppearances[][4] =
{
- {0x23, 0x46, 0x23, 0x01},
- {0x04, 0x09, 0x05, 0x00},
- {0x15, 0x2a, 0x15, 0x01},
- {0x1c, 0x38, 0x1c, 0x01},
- {0x15, 0x2a, 0x15, 0x01},
- {0x1c, 0x8c, 0x38, 0x01},
- {0x15, 0x46, 0x23, 0x00},
+ {35, 70, 35, 1},
+ { 4, 9, 5, 0},
+ {21, 42, 21, 1},
+ {28, 56, 28, 1},
+ {21, 42, 21, 1},
+ {28, 140, 56, 1},
+ {21, 70, 35, 0},
};
static void (* const sBattlePikeFunctions[])(void) =
{
- sub_81A705C,
- sub_81A7140,
- sub_81A7248,
- sub_81A73B8,
- sub_81A7070,
- sub_81A73EC,
+ SetRoomType,
+ GetBattlePikeData,
+ SetBattlePikeData,
+ GetInFinalRoom,
+ SetupRoomEventObjects,
+ GetRoomType,
sub_81A7400,
sub_81A740C,
sub_81A7418,
nullsub_76,
nullsub_124,
- sub_81A7468,
- sub_81A74CC,
- sub_81A74E0,
- sub_81A7508,
- sub_81A7580,
- sub_81A8090,
- sub_81A80DC,
- sub_81A825C,
- sub_81A827C,
- sub_81A84B4,
- sub_81A84EC,
- sub_81A863C,
- sub_81A8658,
- sub_81A869C,
- sub_81A86C0,
- sub_81A8794,
- sub_81A87E8,
- sub_81A8830
+ GetRoomInflictedStatus,
+ GetRoomInflictedStatusMon,
+ HealOneOrTwoMons,
+ BufferNPCMessage,
+ StatusInflictionScreenFade,
+ GetInBattlePike,
+ SetHintedRoom,
+ GetHintedRoomIndex,
+ GetRoomTypeHint,
+ ClearPikeTrainerIds,
+ BufferRecordMixingTrainerMessage,
+ GetCurrentRoomPikeQueenFightType,
+ HealSomeMonsBeforePikeQueen,
+ SetHealingRoomsDisabled,
+ CanAnyPartyMonsBeHealed,
+ BackupMonHeldItems,
+ RestoreMonHeldItems,
+ InitPikeChallenge
};
-static const u8 gUnknown_0861266C[] = {3, 3, 1, 0, 0, 2, 2, 1, 4};
+static const u8 sRoomTypeHints[] = {
+ 3, // PIKE_ROOM_SINGLE_BATTLE
+ 3, // PIKE_ROOM_HEAL_FULL
+ 1, // PIKE_ROOM_NPC
+ 0, // PIKE_ROOM_STATUS
+ 0, // PIKE_ROOM_HEAL_PART
+ 2, // PIKE_ROOM_WILD_MONS
+ 2, // PIKE_ROOM_HARD_BATTLE
+ 1, // PIKE_ROOM_DOUBLE_BATTLE
+ 4, // PIKE_ROOM_BRAIN
+};
-static const u8 gUnknown_08612675[][3] =
+static const u8 sNumMonsToHealBeforePikeQueen[][3] =
{
{2, 1, 0},
{2, 0, 1},
@@ -532,9 +544,9 @@ static const u8 gUnknown_08612675[][3] =
{0, 1, 2},
};
-static bool8 (* const gUnknown_08612688[])(struct Task *) =
+static bool8 (* const sStatusInflictionScreenFadeFuncs[])(struct Task *) =
{
- sub_81A7D8C, sub_81A7DE8
+ StatusInflictionFadeOut, StatusInflictionFadeIn
};
static const u32 gUnknown_08612690[] = {0x400, 0x800};
@@ -545,78 +557,78 @@ void CallBattlePikeFunction(void)
sBattlePikeFunctions[gSpecialVar_0x8004]();
}
-static void sub_81A705C(void)
+static void SetRoomType(void)
{
u8 roomType = GetNextRoomType();
sRoomType = roomType;
}
-static void sub_81A7070(void)
+static void SetupRoomEventObjects(void)
{
- bool32 setPerson1, setPerson2;
- u32 person1;
- u16 person2;
+ bool32 setObjGfx1, setObjGfx2;
+ u32 objGfx1;
+ u16 objGfx2;
VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST);
VarSet(VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_DUSCLOPS);
- setPerson1 = TRUE;
- setPerson2 = FALSE;
- person1 = 0;
- person2 = 0;
+ setObjGfx1 = TRUE;
+ setObjGfx2 = FALSE;
+ objGfx1 = 0;
+ objGfx2 = 0;
switch (sRoomType)
{
case PIKE_ROOM_SINGLE_BATTLE:
PrepareOneTrainer(FALSE);
- setPerson1 = FALSE;
+ setObjGfx1 = FALSE;
break;
case PIKE_ROOM_HEAL_FULL:
- person1 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ objGfx1 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
break;
case PIKE_ROOM_NPC:
- person1 = (u8)(sub_81A7B58());
+ objGfx1 = (u8)(GetNPCRoomGraphicsId());
break;
case PIKE_ROOM_STATUS:
- person1 = EVENT_OBJ_GFX_GENTLEMAN;
+ objGfx1 = EVENT_OBJ_GFX_GENTLEMAN;
if (sStatusMon == PIKE_STATUS_DUSCLOPS)
- person2 = EVENT_OBJ_GFX_DUSCLOPS;
+ objGfx2 = EVENT_OBJ_GFX_DUSCLOPS;
else
- person2 = EVENT_OBJ_GFX_KIRLIA;
- setPerson2 = TRUE;
+ objGfx2 = EVENT_OBJ_GFX_KIRLIA;
+ setObjGfx2 = TRUE;
break;
case PIKE_ROOM_HEAL_PART:
- person1 = EVENT_OBJ_GFX_GENTLEMAN;
+ objGfx1 = EVENT_OBJ_GFX_GENTLEMAN;
break;
case PIKE_ROOM_WILD_MONS:
- setPerson1 = FALSE;
+ setObjGfx1 = FALSE;
break;
case PIKE_ROOM_HARD_BATTLE:
PrepareOneTrainer(TRUE);
- person2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
- setPerson1 = FALSE;
- setPerson2 = TRUE;
+ objGfx2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ setObjGfx1 = FALSE;
+ setObjGfx2 = TRUE;
break;
case PIKE_ROOM_DOUBLE_BATTLE:
PrepareTwoTrainers();
- setPerson1 = FALSE;
+ setObjGfx1 = FALSE;
break;
case PIKE_ROOM_BRAIN:
SetFrontierBrainEventObjGfx(FRONTIER_FACILITY_PIKE);
- person2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
- setPerson1 = FALSE;
- setPerson2 = TRUE;
+ objGfx2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ setObjGfx1 = FALSE;
+ setObjGfx2 = TRUE;
break;
default:
return;
}
- if (setPerson1 == TRUE)
- VarSet(VAR_OBJ_GFX_ID_0, person1);
- if (setPerson2 == TRUE)
- VarSet(VAR_OBJ_GFX_ID_1, person2);
+ if (setObjGfx1 == TRUE)
+ VarSet(VAR_OBJ_GFX_ID_0, objGfx1);
+ if (setObjGfx2 == TRUE)
+ VarSet(VAR_OBJ_GFX_ID_1, objGfx2);
}
-static void sub_81A7140(void)
+static void GetBattlePikeData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -643,7 +655,7 @@ static void sub_81A7140(void)
}
}
-static void sub_81A7248(void)
+static void SetBattlePikeData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -683,15 +695,15 @@ static void sub_81A7248(void)
}
}
-static void sub_81A73B8(void)
+static void GetInFinalRoom(void)
{
- if (gSaveBlock2Ptr->frontier.curChallengeBattleNum >= 15)
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum > 14)
gSpecialVar_Result = TRUE;
else
gSpecialVar_Result = FALSE;
}
-static void sub_81A73EC(void)
+static void GetRoomType(void)
{
gSpecialVar_Result = sRoomType;
}
@@ -725,7 +737,7 @@ static void nullsub_124(void)
}
-static void sub_81A7468(void)
+static void GetRoomInflictedStatus(void)
{
switch (sStatusFlags)
{
@@ -747,35 +759,35 @@ static void sub_81A7468(void)
}
}
-static void sub_81A74CC(void)
+static void GetRoomInflictedStatusMon(void)
{
gSpecialVar_Result = sStatusMon;
}
-static void sub_81A74E0(void)
+static void HealOneOrTwoMons(void)
{
u16 toHeal = (Random() % 2) + 1;
TryHealMons(toHeal);
gSpecialVar_Result = toHeal;
}
-static void sub_81A7508(void)
+static void BufferNPCMessage(void)
{
- s32 id;
+ int speechId;
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 4)
- id = gUnknown_0861231C[sUnknown_03001294].unk2;
+ speechId = sNPCTable[sNpcId].speechId1;
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 10)
- id = gUnknown_0861231C[sUnknown_03001294].unk3;
+ speechId = sNPCTable[sNpcId].speechId2;
else
- id = gUnknown_0861231C[sUnknown_03001294].unk4;
+ speechId = sNPCTable[sNpcId].speechId3;
- FrontierSpeechToString(gUnknown_086123E4[id]);
+ FrontierSpeechToString(sNPCSpeeches[speechId]);
}
-static void sub_81A7580(void)
+static void StatusInflictionScreenFade(void)
{
- CreateTask(sub_81A7EE4, 2);
+ CreateTask(Task_DoStatusInflictionScreenFade, 2);
}
static void HealMon(struct Pokemon *mon)
@@ -1014,81 +1026,88 @@ static bool8 AtLeastOneHealthyMon(void)
static u8 GetNextRoomType(void)
{
- u8 sp[8];
+ u8 roomTypesAvailability[8];
u8 i;
- u8 ret;
- u8 var;
- u8 count;
- u8 *allocated;
+ u8 nextRoomType;
+ u8 roomTypeGroup;
+ u8 numRoomCandidates;
+ u8 *roomCandidates;
u8 id;
- if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_BRAIN)
- return gSaveBlock2Ptr->frontier.field_E10_2;
- if (gSpecialVar_0x8007 == gSaveBlock2Ptr->frontier.field_E10_1)
+ if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_BRAIN)
+ return gSaveBlock2Ptr->frontier.pikeHintedRoomType;
+
+ // Check if the player walked into the same room that the lady gave a hint about.
+ if (gSpecialVar_0x8007 == gSaveBlock2Ptr->frontier.pikeHintedRoomIndex)
{
- if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_STATUS)
+ if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_STATUS)
TryInflictRandomStatus();
- return gSaveBlock2Ptr->frontier.field_E10_2;
+ return gSaveBlock2Ptr->frontier.pikeHintedRoomType;
}
for (i = 0; i < 8; i++)
- sp[i] = 0;
+ roomTypesAvailability[i] = 0;
+
+ numRoomCandidates = 8;
- count = 8;
- var = gUnknown_0861266C[gSaveBlock2Ptr->frontier.field_E10_2];
+ // The room types associated with the lady's hint cannot be in the other two rooms.
+ roomTypeGroup = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType];
for (i = 0; i < 8; i++)
{
- if (gUnknown_0861266C[i] == var)
+ if (sRoomTypeHints[i] == roomTypeGroup)
{
- sp[i] = 1;
- count--;
+ roomTypesAvailability[i] = 1;
+ numRoomCandidates--;
}
}
- if (sp[7] != 1 && !AtLeastTwoAliveMons())
+ // Remove room type candidates that would have no effect on the player's party.
+ if (roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] != 1 && !AtLeastTwoAliveMons())
{
- sp[7] = 1;
- count--;
+ roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] = 1;
+ numRoomCandidates--;
}
- if (sp[3] != 1 && !AtLeastOneHealthyMon())
+ if (roomTypesAvailability[PIKE_ROOM_STATUS] != 1 && !AtLeastOneHealthyMon())
{
- sp[3] = 1;
- count--;
+ roomTypesAvailability[PIKE_ROOM_STATUS] = 1;
+ numRoomCandidates--;
}
- if (gSaveBlock2Ptr->frontier.field_E10_3)
+
+ // Remove healing room type candidates if healing rooms are disabled.
+ if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled)
{
- if (sp[1] != 1)
+ if (roomTypesAvailability[PIKE_ROOM_HEAL_FULL] != 1)
{
- sp[1] = 1;
- count--;
+ roomTypesAvailability[PIKE_ROOM_HEAL_FULL] = 1;
+ numRoomCandidates--;
}
- if (sp[4] != 1)
+ if (roomTypesAvailability[PIKE_ROOM_HEAL_PART] != 1)
{
- sp[4] = 1;
- count--;
+ roomTypesAvailability[PIKE_ROOM_HEAL_PART] = 1;
+ numRoomCandidates--;
}
}
- allocated = AllocZeroed(count);
+ roomCandidates = AllocZeroed(numRoomCandidates);
id = 0;
for (i = 0; i < 8; i++)
{
- if (sp[i] == 0)
- allocated[id++] = i;
+ if (roomTypesAvailability[i] == 0)
+ roomCandidates[id++] = i;
}
- ret = allocated[Random() % count];
- free(allocated);
- if (ret == PIKE_ROOM_STATUS)
+ nextRoomType = roomCandidates[Random() % numRoomCandidates];
+ free(roomCandidates);
+ if (nextRoomType == PIKE_ROOM_STATUS)
TryInflictRandomStatus();
- return ret;
+ return nextRoomType;
}
-static u16 sub_81A7B58(void)
+static u16 GetNPCRoomGraphicsId(void)
{
- sUnknown_03001294 = Random() % 25;
- return gUnknown_0861231C[sUnknown_03001294].unk0;
+ sNpcId = Random() % ARRAY_COUNT(sNPCTable);
+ return sNPCTable[sNpcId].graphicsId;
}
static u8 sub_81A7B84(void)
@@ -1163,12 +1182,12 @@ u8 GetBattlePikeWildMonHeaderId(void)
return headerId;
}
-static void sub_81A7D54(u8 taskId)
+static void DoStatusInflictionScreenFade(u8 taskId)
{
- while (gUnknown_08612688[gTasks[taskId].data[0]](&gTasks[taskId]));
+ while (sStatusInflictionScreenFadeFuncs[gTasks[taskId].data[0]](&gTasks[taskId]));
}
-static bool8 sub_81A7D8C(struct Task *task)
+static bool8 StatusInflictionFadeOut(struct Task *task)
{
if (task->data[6] == 0 || --task->data[6] == 0)
{
@@ -1187,7 +1206,7 @@ static bool8 sub_81A7D8C(struct Task *task)
return FALSE;
}
-static bool8 sub_81A7DE8(struct Task *task)
+static bool8 StatusInflictionFadeIn(struct Task *task)
{
if (task->data[6] == 0 || --task->data[6] == 0)
{
@@ -1202,7 +1221,7 @@ static bool8 sub_81A7DE8(struct Task *task)
{
if (--task->data[3] == 0)
{
- DestroyTask(FindTaskIdByFunc(sub_81A7D54));
+ DestroyTask(FindTaskIdByFunc(DoStatusInflictionScreenFade));
}
else
{
@@ -1213,36 +1232,36 @@ static bool8 sub_81A7DE8(struct Task *task)
return FALSE;
}
-static void sub_81A7E60(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4)
+static void StartStatusInflictionScreenFade(s16 fadeOutDelay, s16 fadeInDelay, s16 numFades, s16 fadeOutSpeed, s16 fadeInSpped)
{
- u8 taskId = CreateTask(sub_81A7D54, 3);
+ u8 taskId = CreateTask(DoStatusInflictionScreenFade, 3);
- gTasks[taskId].data[1] = a0;
- gTasks[taskId].data[2] = a1;
- gTasks[taskId].data[3] = a2;
- gTasks[taskId].data[4] = a3;
- gTasks[taskId].data[5] = a4;
- gTasks[taskId].data[6] = a0;
+ gTasks[taskId].data[1] = fadeOutDelay;
+ gTasks[taskId].data[2] = fadeInDelay;
+ gTasks[taskId].data[3] = numFades;
+ gTasks[taskId].data[4] = fadeOutSpeed;
+ gTasks[taskId].data[5] = fadeInSpped;
+ gTasks[taskId].data[6] = fadeOutDelay;
}
-static bool8 sub_81A7EC4(void)
+static bool8 IsStatusInflictionScreenFadeTaskFinished(void)
{
- if (FindTaskIdByFunc(sub_81A7D54) == 0xFF)
+ if (FindTaskIdByFunc(DoStatusInflictionScreenFade) == 0xFF)
return TRUE;
else
return FALSE;
}
-static void sub_81A7EE4(u8 taskId)
+static void Task_DoStatusInflictionScreenFade(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
gTasks[taskId].data[0]++;
- sub_81A7E60(0, 0, 3, 2, 2);
+ StartStatusInflictionScreenFade(0, 0, 3, 2, 2);
}
else
{
- if (sub_81A7EC4())
+ if (IsStatusInflictionScreenFadeTaskFinished())
{
EnableBothScriptContexts();
DestroyTask(taskId);
@@ -1308,7 +1327,7 @@ static void TryHealMons(u8 healCount)
}
}
-static void sub_81A8090(void)
+static void GetInBattlePike(void)
{
gSpecialVar_Result = InBattlePike();
}
@@ -1318,64 +1337,68 @@ bool8 InBattlePike(void)
return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM
|| gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
|| gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3
- || gMapHeader.mapLayoutId == LAYOUT_UNKNOWN_MAP_084693AC;
+ || gMapHeader.mapLayoutId == LAYOUT_UNKNOWN_084693AC;
}
-static void sub_81A80DC(void)
+static void SetHintedRoom(void)
{
u8 i, count, id;
- u8 *allocated;
+ u8 *roomCandidates;
gSpecialVar_Result = 0;
- if (sub_81A8590(1))
+ if (GetPikeQueenFightType(1))
{
gSpecialVar_Result = 1;
- gSaveBlock2Ptr->frontier.field_E10_1 = Random() % 6;
- gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_BRAIN;
+ gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 6;
+ gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_BRAIN;
}
else
{
- gSaveBlock2Ptr->frontier.field_E10_1 = Random() % 3;
- if (gSaveBlock2Ptr->frontier.field_E10_3)
+ gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 3;
+ if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled)
count = 6;
else
count = 8;
- allocated = AllocZeroed(count);
+ roomCandidates = AllocZeroed(count);
for (i = 0, id = 0; i < count; i++)
{
- if (gSaveBlock2Ptr->frontier.field_E10_3)
+ if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled)
{
if (i != PIKE_ROOM_HEAL_FULL && i != PIKE_ROOM_HEAL_PART)
- allocated[id++] = i;
+ roomCandidates[id++] = i;
}
else
{
- allocated[i] = i;
+ roomCandidates[i] = i;
}
}
- gSaveBlock2Ptr->frontier.field_E10_2 = allocated[Random() % count];
- free(allocated);
- if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon())
- gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_NPC;
- if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons())
- gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_NPC;
+
+ gSaveBlock2Ptr->frontier.pikeHintedRoomType = roomCandidates[Random() % count];
+ free(roomCandidates);
+ if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon())
+ gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_NPC;
+ if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons())
+ gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_NPC;
}
}
-static void sub_81A825C(void)
+static void GetHintedRoomIndex(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E10_1;
+ // 0 = left room
+ // 1 = center room
+ // 2 = right room
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeHintedRoomIndex;
}
-static void sub_81A827C(void)
+static void GetRoomTypeHint(void)
{
- gSpecialVar_Result = gUnknown_0861266C[gSaveBlock2Ptr->frontier.field_E10_2];
+ gSpecialVar_Result = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType];
}
static void PrepareOneTrainer(bool8 difficult)
{
- s32 i;
+ int i;
u8 lvlMode;
u8 battleNum;
u16 challengeNum;
@@ -1393,7 +1416,7 @@ static void PrepareOneTrainer(bool8 difficult)
trainerId = sub_8162548(challengeNum, battleNum);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1);
@@ -1402,12 +1425,12 @@ static void PrepareOneTrainer(bool8 difficult)
gFacilityTrainers = gBattleFrontierTrainers;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 14)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
}
static void PrepareTwoTrainers(void)
{
- s32 i;
+ int i;
u16 trainerId;
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u16 challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14;
@@ -1418,7 +1441,7 @@ static void PrepareTwoTrainers(void)
trainerId = sub_8162548(challengeNum, 1);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1);
@@ -1426,14 +1449,14 @@ static void PrepareTwoTrainers(void)
gTrainerBattleOpponent_A = trainerId;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 14)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
do
{
trainerId = sub_8162548(challengeNum, 1);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
@@ -1441,18 +1464,18 @@ static void PrepareTwoTrainers(void)
gTrainerBattleOpponent_B = trainerId;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 14)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2] = gTrainerBattleOpponent_B;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2] = gTrainerBattleOpponent_B;
}
-static void sub_81A84B4(void)
+static void ClearPikeTrainerIds(void)
{
u8 i;
for (i = 0; i < 14; i++)
- gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
-static void sub_81A84EC(void)
+static void BufferRecordMixingTrainerMessage(void)
{
if (gSpecialVar_0x8005 == 0)
{
@@ -1485,31 +1508,31 @@ static bool8 AtLeastTwoAliveMons(void)
return TRUE;
}
-static u8 sub_81A8590(u8 arg0)
+static u8 GetPikeQueenFightType(u8 nextRoom)
{
- u8 symbolsCount;
+ u8 numPikeSymbols;
u8 var = 5;
u8 ret = 0;
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u16 wins = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
- wins += arg0;
- symbolsCount = GetPlayerSymbolCountForFacility(FRONTIER_FACILITY_PIKE);
+ u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+ winStreak += nextRoom;
+ numPikeSymbols = GetPlayerSymbolCountForFacility(FRONTIER_FACILITY_PIKE);
- switch (symbolsCount)
+ switch (numPikeSymbols)
{
case 0:
case 1:
- if (wins == gUnknown_086125DC[var][symbolsCount] - gUnknown_086125DC[var][3])
- ret = symbolsCount + 1;
+ if (winStreak == sPikeQueenWinStreakAppearances[var][numPikeSymbols] - sPikeQueenWinStreakAppearances[var][3])
+ ret = numPikeSymbols + 1;
break;
case 2:
default:
- if (wins == gUnknown_086125DC[var][0] - gUnknown_086125DC[var][3])
+ if (winStreak == sPikeQueenWinStreakAppearances[var][0] - sPikeQueenWinStreakAppearances[var][3])
ret = 3;
- else if (wins == gUnknown_086125DC[var][1] - gUnknown_086125DC[var][3]
- || (wins > gUnknown_086125DC[var][1]
- && (wins - gUnknown_086125DC[var][1] + gUnknown_086125DC[var][3]) % gUnknown_086125DC[var][2] == 0))
+ else if (winStreak == sPikeQueenWinStreakAppearances[var][1] - sPikeQueenWinStreakAppearances[var][3]
+ || (winStreak > sPikeQueenWinStreakAppearances[var][1]
+ && (winStreak - sPikeQueenWinStreakAppearances[var][1] + sPikeQueenWinStreakAppearances[var][3]) % sPikeQueenWinStreakAppearances[var][2] == 0))
ret = 4;
break;
}
@@ -1517,25 +1540,25 @@ static u8 sub_81A8590(u8 arg0)
return ret;
}
-static void sub_81A863C(void)
+static void GetCurrentRoomPikeQueenFightType(void)
{
- gSpecialVar_Result = sub_81A8590(0);
+ gSpecialVar_Result = GetPikeQueenFightType(0);
}
-static void sub_81A8658(void)
+static void HealSomeMonsBeforePikeQueen(void)
{
- u8 toHealCount = gUnknown_08612675[gSaveBlock2Ptr->frontier.field_E10_1][gSpecialVar_0x8007];
+ u8 toHealCount = sNumMonsToHealBeforePikeQueen[gSaveBlock2Ptr->frontier.pikeHintedRoomIndex][gSpecialVar_0x8007];
TryHealMons(toHealCount);
gSpecialVar_Result = toHealCount;
}
-static void sub_81A869C(void)
+static void SetHealingRoomsDisabled(void)
{
- gSaveBlock2Ptr->frontier.field_E10_3 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled = gSpecialVar_0x8005;
}
-static void sub_81A86C0(void)
+static void CanAnyPartyMonsBeHealed(void)
{
u8 i, j;
@@ -1574,19 +1597,19 @@ static void sub_81A86C0(void)
}
}
-static void sub_81A8794(void)
+static void BackupMonHeldItems(void)
{
u8 i;
for (i = 0; i < 3; i++)
{
- s32 heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
+ int heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM);
- gSaveBlock2Ptr->frontier.field_E12[i] = heldItem;
+ gSaveBlock2Ptr->frontier.pikeHeldItemsBackup[i] = heldItem;
}
}
-static void sub_81A87E8(void)
+static void RestoreMonHeldItems(void)
{
u8 i;
@@ -1594,11 +1617,11 @@ static void sub_81A87E8(void)
{
SetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM,
- &gSaveBlock2Ptr->frontier.field_E12[i]);
+ &gSaveBlock2Ptr->frontier.pikeHeldItemsBackup[i]);
}
}
-static void sub_81A8830(void)
+static void InitPikeChallenge(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index ed911d8d9..a2fa4120f 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -34,12 +34,43 @@
#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/species.h"
+#include "constants/trainers.h"
extern const struct MapLayout *const gMapLayouts[];
extern const u16 gUnknown_08D856C8[][16];
#define TOTAL_ROUNDS 20
#define PICKUP_ITEMS_PER_ROUND 10
+#define FLOOR_WALKABLE_METATILE 0x28D
+#define FLOOR_EXIT_METATILE 0x28E
+
+enum
+{
+ HINT_EXIT_DIRECTION,
+ HINT_REMAINING_ITEMS,
+ HINT_REMAINING_TRAINERS,
+ HINT_EXIT_SHORT_REMAINING_TRAINERS,
+ HINT_EXIT_SHORT_REMAINING_ITEMS,
+ HINT_EXIT_MEDIUM_REMAINING_TRAINERS,
+ HINT_EXIT_MEDIUM_REMAINING_ITEMS,
+ HINT_EXIT_FAR_REMAINING_TRAINERS,
+ HINT_EXIT_FAR_REMAINING_ITEMS,
+};
+
+enum
+{
+ OBJ_TRAINERS,
+ OBJ_ITEMS,
+};
+
+enum
+{
+ OBJ_POSITIONS_UNIFORM,
+ OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE,
+ OBJ_POSITIONS_IN_AND_NEAR_EXIT,
+ OBJ_POSITIONS_NEAR_ENTRANCE,
+ OBJ_POSITIONS_NEAR_EXIT,
+};
struct PyramidWildMon
{
@@ -49,231 +80,238 @@ struct PyramidWildMon
u16 moves[4];
};
-struct Struct_08613650
+struct PyramidFloorTemplate
{
- u8 unk0;
- u8 unk1;
- u8 unk2;
- u8 unk3;
+ u8 numItems;
+ u8 numTrainers;
+ u8 itemPositions;
+ u8 trainerPositions;
u8 runMultiplier;
- u8 unk5[8];
+ u8 layoutOffsets[8];
};
-struct ClassMusic
+struct PyramidTrainerEncounterMusic
{
- u8 class;
- u8 music;
+ u8 trainerClass;
+ u8 trainerEncounterMusic;
};
// This file's functions.
-static void sub_81A8E9C(void);
-static void sub_81A8F38(void);
-static void sub_81A9048(void);
+static void InitPyramidChallenge(void);
+static void GetBattlePyramidData(void);
+static void SetBattlePyramidData(void);
static void sub_81A9134(void);
-static void sub_81A917C(void);
-static void sub_81A91FC(void);
-static void sub_81A9254(void);
-static void sub_81A9290(void);
-static void sub_81A93C8(void);
-static void sub_81A9414(void);
-static void sub_81A9424(void);
-static void sub_81A9618(void);
-static void sub_81A966C(void);
-static void sub_81A9684(void);
-static void sub_81A975C(void);
-static void sub_81A97C8(void);
+static void SetBattlePyramidRewardItem(void);
+static void GiveBattlePyramidRewardItem(void);
+static void SeedPyramidFloor(void);
+static void SetPickupItem(void);
+static void HidePyramidItem(void);
+static void InitPyramidFacilityTrainers(void);
+static void ShowPostBattleHintText(void);
+static void UpdatePyramidWinStreak(void);
+static void GetInBattlePyramid(void);
+static void UpdatePyramidLightRadius(void);
+static void ClearPyramidPartyHeldItems(void);
+static void SetPyramidFloorPalette(void);
static void sub_81A9828(void);
-static void sub_81A9834(void);
-static void InitBagItems(u8 lvlMode);
-static u8 sub_81AA9E4(void);
-static u8 sub_81A9998(s32 *, u8, u8);
-static void sub_81A97DC(u8 taskId);
-static void sub_81A9B44(u16 trainerId);
-static void sub_81AA96C(u8 *mapNums);
-static void sub_81AA33C(u8 *, u8 *);
-static void sub_81AA398(u8);
-static bool8 sub_81AA4D8(u8, u8);
-static bool8 sub_81AA648(u8, u8);
-static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id);
-static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id);
+static void RestorePyramidPlayerParty(void);
+static void InitPyramidBagItems(u8 lvlMode);
+static u8 GetPyramidFloorTemplateId(void);
+static u8 GetPostBattleDirectionHintTextIndex(int *, u8, u8);
+static void Task_SetPyramidFloorPalette(u8 taskId);
+static void MarkPyramidTrainerAsBattled(u16 trainerId);
+static void GetPyramidFloorLayoutOffsets(u8 *layoutOffsets);
+static void GetPyramidEntranceAndExitSquareIds(u8 *, u8 *);
+static void SetPyramidObjectPositionsUniformly(u8);
+static bool8 SetPyramidObjectPositionsInAndNearSquare(u8, u8);
+static bool8 SetPyramidObjectPositionsNearSquare(u8, u8);
+static bool8 TrySetPyramidEventObjectPositionInSquare(u8 arg0, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId);
+static bool8 TrySetPyramidEventObjectPositionAtCoords(bool8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId);
// Const rom data.
#include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h"
#include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h"
-static const struct Struct_08613650 gUnknown_08613650[] =
+static const struct PyramidFloorTemplate sPyramidFloorTemplates[] =
{
{
- .unk0 = 0x07,
- .unk1 = 0x03,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x80,
- .unk5 = {0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03}
+ .numItems = 7,
+ .numTrainers = 3,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 128,
+ .layoutOffsets = {0, 0, 1, 1, 2, 2, 3, 3},
},
{
- .unk0 = 0x06,
- .unk1 = 0x03,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x80,
- .unk5 = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04}
+ .numItems = 6,
+ .numTrainers = 3,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 128,
+ .layoutOffsets = {1, 1, 2, 2, 3, 3, 4, 4},
},
{
- .unk0 = 0x05,
- .unk1 = 0x03,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x78,
- .unk5 = {0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05}
+ .numItems = 5,
+ .numTrainers = 3,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 120,
+ .layoutOffsets = {2, 2, 3, 3, 4, 4, 5, 5},
},
{
- .unk0 = 0x04,
- .unk1 = 0x04,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x78,
- .unk5 = {0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06}
+ .numItems = 4,
+ .numTrainers = 4,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 120,
+ .layoutOffsets = {3, 3, 4, 4, 5, 5, 6, 6},
},
{
- .unk0 = 0x04,
- .unk1 = 0x04,
- .unk2 = 0x00,
- .unk3 = 0x01,
- .runMultiplier = 0x70,
- .unk5 = {0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07}
+ .numItems = 4,
+ .numTrainers = 4,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE,
+ .runMultiplier = 112,
+ .layoutOffsets = {4, 4, 5, 5, 6, 6, 7, 7},
},
{
- .unk0 = 0x03,
- .unk1 = 0x05,
- .unk2 = 0x00,
- .unk3 = 0x02,
- .runMultiplier = 0x70,
- .unk5 = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c}
+ .numItems = 3,
+ .numTrainers = 5,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_IN_AND_NEAR_EXIT,
+ .runMultiplier = 112,
+ .layoutOffsets = {5, 6, 7, 8, 9, 10, 11, 12},
},
{
- .unk0 = 0x03,
- .unk1 = 0x05,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x68,
- .unk5 = {0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d}
+ .numItems = 3,
+ .numTrainers = 5,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 104,
+ .layoutOffsets = {6, 7, 8, 9, 10, 11, 12, 13},
},
{
- .unk0 = 0x02,
- .unk1 = 0x04,
- .unk2 = 0x00,
- .unk3 = 0x01,
- .runMultiplier = 0x68,
- .unk5 = {0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}
+ .numItems = 2,
+ .numTrainers = 4,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE,
+ .runMultiplier = 104,
+ .layoutOffsets = {7, 8, 9, 10, 11, 12, 13, 14},
},
{
- .unk0 = 0x04,
- .unk1 = 0x05,
- .unk2 = 0x00,
- .unk3 = 0x02,
- .runMultiplier = 0x60,
- .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ .numItems = 4,
+ .numTrainers = 5,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_IN_AND_NEAR_EXIT,
+ .runMultiplier = 96,
+ .layoutOffsets = {8, 9, 10, 11, 12, 13, 14, 15},
},
{
- .unk0 = 0x03,
- .unk1 = 0x06,
- .unk2 = 0x00,
- .unk3 = 0x04,
- .runMultiplier = 0x60,
- .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ .numItems = 3,
+ .numTrainers = 6,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_NEAR_EXIT,
+ .runMultiplier = 96,
+ .layoutOffsets = {8, 9, 10, 11, 12, 13, 14, 15},
},
{
- .unk0 = 0x02,
- .unk1 = 0x03,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x58,
- .unk5 = {0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d}
+ .numItems = 2,
+ .numTrainers = 3,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 88,
+ .layoutOffsets = {12, 13, 14, 12, 13, 14, 12, 13},
},
{
- .unk0 = 0x04,
- .unk1 = 0x05,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x58,
- .unk5 = {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}
+ .numItems = 4,
+ .numTrainers = 5,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 88,
+ .layoutOffsets = {11, 11, 11, 11, 11, 11, 11, 11},
},
{
- .unk0 = 0x03,
- .unk1 = 0x07,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x50,
- .unk5 = {0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c}
+ .numItems = 3,
+ .numTrainers = 7,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 80,
+ .layoutOffsets = {12, 12, 12, 12, 12, 12, 12, 12},
},
{
- .unk0 = 0x02,
- .unk1 = 0x04,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x50,
- .unk5 = {0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d}
+ .numItems = 2,
+ .numTrainers = 4,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 80,
+ .layoutOffsets = {13, 13, 13, 13, 13, 13, 13, 13},
},
{
- .unk0 = 0x03,
- .unk1 = 0x06,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x50,
- .unk5 = {0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e}
+ .numItems = 3,
+ .numTrainers = 6,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 80,
+ .layoutOffsets = {14, 14, 14, 14, 14, 14, 14, 14},
},
{
- .unk0 = 0x03,
- .unk1 = 0x08,
- .unk2 = 0x00,
- .unk3 = 0x00,
- .runMultiplier = 0x50,
- .unk5 = {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f}
+ .numItems = 3,
+ .numTrainers = 8,
+ .itemPositions = OBJ_POSITIONS_UNIFORM,
+ .trainerPositions = OBJ_POSITIONS_UNIFORM,
+ .runMultiplier = 80,
+ .layoutOffsets = {15, 15, 15, 15, 15, 15, 15, 15},
}
};
-static const u8 gUnknown_08613750[34][2] =
-{
- {0x28, 0x00},
- {0x46, 0x01},
- {0x5a, 0x02},
- {0x64, 0x03},
- {0x23, 0x01},
- {0x37, 0x02},
- {0x4b, 0x03},
- {0x5a, 0x04},
- {0x64, 0x0a},
- {0x23, 0x02},
- {0x37, 0x03},
- {0x4b, 0x04},
- {0x5a, 0x05},
- {0x64, 0x0b},
- {0x23, 0x03},
- {0x37, 0x04},
- {0x4b, 0x05},
- {0x5a, 0x06},
- {0x64, 0x0c},
- {0x23, 0x04},
- {0x37, 0x05},
- {0x4b, 0x06},
- {0x5a, 0x07},
- {0x64, 0x0d},
- {0x23, 0x05},
- {0x37, 0x06},
- {0x4b, 0x07},
- {0x5a, 0x08},
- {0x64, 0x0e},
- {0x23, 0x06},
- {0x37, 0x07},
- {0x4b, 0x08},
- {0x5a, 0x09},
- {0x64, 0x0f}
+static const u8 sPyramidFloorTemplateOptions[][2] =
+{
+ // Floor 0
+ {40, 0},
+ {70, 1},
+ {90, 2},
+ {100, 3},
+ // Floor 1
+ {35, 1},
+ {55, 2},
+ {75, 3},
+ {90, 4},
+ {100, 10},
+ // Floor 2
+ {35, 2},
+ {55, 3},
+ {75, 4},
+ {90, 5},
+ {100, 11},
+ // Floor 3
+ {35, 3},
+ {55, 4},
+ {75, 5},
+ {90, 6},
+ {100, 12},
+ // Floor 4
+ {35, 4},
+ {55, 5},
+ {75, 6},
+ {90, 7},
+ {100, 13},
+ // Floor 5
+ {35, 5},
+ {55, 6},
+ {75, 7},
+ {90, 8},
+ {100, 14},
+ // Floor 6
+ {35, 6},
+ {55, 7},
+ {75, 8},
+ {90, 9},
+ {100, 15}
};
-static const u8 gUnknown_08613794[] =
+static const u8 sFloorTemplateOffsets[] =
{
- 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
+ 0, 4, 9, 14, 19, 24, 29, 0
};
static const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
@@ -324,482 +362,499 @@ static const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
};
-static const u8 gUnknown_08613ABC[63][2] =
-{
- {0x1f, 0x00},
- {0x2e, 0x01},
- {0x3d, 0x02},
- {0x47, 0x03},
- {0x51, 0x04},
- {0x5b, 0x05},
- {0x5e, 0x06},
- {0x61, 0x07},
- {0x64, 0x08},
- {0x0f, 0x00},
- {0x2e, 0x01},
- {0x3d, 0x02},
- {0x47, 0x03},
- {0x51, 0x04},
- {0x5b, 0x05},
- {0x5e, 0x06},
- {0x61, 0x08},
- {0x64, 0x09},
- {0x0f, 0x00},
- {0x1e, 0x01},
- {0x3d, 0x02},
- {0x47, 0x03},
- {0x51, 0x04},
- {0x5b, 0x05},
- {0x5e, 0x06},
- {0x61, 0x07},
- {0x64, 0x08},
- {0x1c, 0x00},
- {0x2b, 0x01},
- {0x3a, 0x02},
- {0x44, 0x03},
- {0x4e, 0x04},
- {0x58, 0x05},
- {0x5c, 0x07},
- {0x60, 0x08},
- {0x64, 0x09},
- {0x0f, 0x00},
- {0x2b, 0x01},
- {0x3a, 0x02},
- {0x44, 0x03},
- {0x4e, 0x04},
- {0x58, 0x05},
- {0x5c, 0x06},
- {0x60, 0x07},
- {0x64, 0x09},
- {0x0f, 0x00},
- {0x1e, 0x01},
- {0x3a, 0x02},
- {0x44, 0x03},
- {0x4e, 0x04},
- {0x58, 0x05},
- {0x5c, 0x06},
- {0x60, 0x07},
- {0x64, 0x08},
- {0x1c, 0x00},
- {0x2b, 0x01},
- {0x3a, 0x02},
- {0x44, 0x03},
- {0x4e, 0x04},
- {0x58, 0x05},
- {0x5c, 0x06},
- {0x60, 0x08},
- {0x64, 0x09},
+static const u8 sPickupItemSlots[][2] =
+{
+ // Floor 0
+ { 31, 0},
+ { 46, 1},
+ { 61, 2},
+ { 71, 3},
+ { 81, 4},
+ { 91, 5},
+ { 94, 6},
+ { 97, 7},
+ {100, 8},
+ // Floor 1
+ { 15, 0},
+ { 46, 1},
+ { 61, 2},
+ { 71, 3},
+ { 81, 4},
+ { 91, 5},
+ { 94, 6},
+ { 97, 8},
+ {100, 9},
+ // Floor 2
+ { 15, 0},
+ { 30, 1},
+ { 61, 2},
+ { 71, 3},
+ { 81, 4},
+ { 91, 5},
+ { 94, 6},
+ { 97, 7},
+ {100, 8},
+ // Floor 3
+ { 28, 0},
+ { 43, 1},
+ { 58, 2},
+ { 68, 3},
+ { 78, 4},
+ { 88, 5},
+ { 92, 7},
+ { 96, 8},
+ {100, 9},
+ // Floor 4
+ { 15, 0},
+ { 43, 1},
+ { 58, 2},
+ { 68, 3},
+ { 78, 4},
+ { 88, 5},
+ { 92, 6},
+ { 96, 7},
+ {100, 9},
+ // Floor 5
+ { 15, 0},
+ { 30, 1},
+ { 58, 2},
+ { 68, 3},
+ { 78, 4},
+ { 88, 5},
+ { 92, 6},
+ { 96, 7},
+ {100, 8},
+ // Floor 6
+ { 28, 0},
+ { 43, 1},
+ { 58, 2},
+ { 68, 3},
+ { 78, 4},
+ { 88, 5},
+ { 92, 6},
+ { 96, 8},
+ {100, 9},
};
-static const u8 gUnknown_08613B3A[] = {0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36};
-
-static const struct ClassMusic gUnknown_08613B44[54] =
-{
- {0x03, 0x06},
- {0x0b, 0x06},
- {0x0d, 0x06},
- {0x0f, 0x01},
- {0x2b, 0x04},
- {0x2d, 0x01},
- {0x24, 0x09},
- {0x29, 0x04},
- {0x05, 0x05},
- {0x18, 0x04},
- {0x2f, 0x00},
- {0x2e, 0x09},
- {0x11, 0x0c},
- {0x10, 0x0b},
- {0x1e, 0x0d},
- {0x08, 0x01},
- {0x17, 0x03},
- {0x0c, 0x04},
- {0x38, 0x04},
- {0x1c, 0x03},
- {0x1a, 0x00},
- {0x19, 0x0b},
- {0x09, 0x07},
- {0x31, 0x07},
- {0x35, 0x07},
- {0x36, 0x01},
- {0x33, 0x00},
- {0x2a, 0x03},
- {0x16, 0x0d},
- {0x0e, 0x03},
- {0x15, 0x01},
- {0x14, 0x01},
- {0x2c, 0x01},
- {0x1b, 0x02},
- {0x04, 0x01},
- {0x07, 0x03},
- {0x34, 0x05},
- {0x32, 0x00},
- {0x37, 0x02},
- {0x1d, 0x04},
- {0x22, 0x09},
- {0x1f, 0x01},
- {0x25, 0x00},
- {0x0a, 0x04},
- {0x28, 0x00},
- {0x06, 0x05},
- {0x27, 0x0b},
- {0x26, 0x00},
- {0x13, 0x00},
- {0x12, 0x02},
- {0x39, 0x08},
- {0x02, 0x0b},
- {0x20, 0x01},
- {0x21, 0x00},
+static const u8 sPickupItemOffsets[] = {0, 9, 18, 27, 36, 45, 54};
+
+static const struct PyramidTrainerEncounterMusic sTrainerClassEncounterMusic[54] =
+{
+ {TRAINER_CLASS_TEAM_AQUA, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {TRAINER_CLASS_AQUA_ADMIN, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {TRAINER_CLASS_AQUA_LEADER, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {TRAINER_CLASS_AROMA_LADY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_BATTLE_GIRL, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_SWIMMER_F, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_POKEFAN, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {TRAINER_CLASS_DRAGON_TAMER, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_COOLTRAINER, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {TRAINER_CLASS_GUITARIST, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_SAILOR, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_TWINS, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {TRAINER_CLASS_INTERVIEWER, TRAINER_ENCOUNTER_MUSIC_INTERVIEWER},
+ {TRAINER_CLASS_RUIN_MANIAC, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {TRAINER_CLASS_GENTLEMAN, TRAINER_ENCOUNTER_MUSIC_RICH},
+ {TRAINER_CLASS_SWIMMER_M, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_POKEMANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {TRAINER_CLASS_BLACK_BELT, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_OLD_COUPLE, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_BUG_MANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {TRAINER_CLASS_CAMPER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_KINDLER, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {TRAINER_CLASS_TEAM_MAGMA, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {TRAINER_CLASS_MAGMA_ADMIN, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {TRAINER_CLASS_MAGMA_LEADER, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {TRAINER_CLASS_LASS, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_BUG_CATCHER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_NINJA_BOY, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {TRAINER_CLASS_RICH_BOY, TRAINER_ENCOUNTER_MUSIC_RICH},
+ {TRAINER_CLASS_HEX_MANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {TRAINER_CLASS_BEAUTY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_LADY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_PARASOL_LADY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_PICNICKER, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {TRAINER_CLASS_PKMN_BREEDER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_COLLECTOR, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {TRAINER_CLASS_PKMN_RANGER, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {TRAINER_CLASS_PKMN_TRAINER_3, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_YOUNG_COUPLE, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {TRAINER_CLASS_PSYCHIC, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_SR_AND_JR, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {TRAINER_CLASS_ELITE_FOUR, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_YOUNGSTER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_EXPERT, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {TRAINER_CLASS_TRIATHLETE, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_BIRD_KEEPER, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {TRAINER_CLASS_FISHERMAN, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {TRAINER_CLASS_CHAMPION, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_TUBER_M, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {TRAINER_CLASS_TUBER_F, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {TRAINER_CLASS_SIS_AND_BRO, TRAINER_ENCOUNTER_MUSIC_SWIMMER},
+ {TRAINER_CLASS_HIKER, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {TRAINER_CLASS_LEADER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {TRAINER_CLASS_SCHOOL_KID, TRAINER_ENCOUNTER_MUSIC_MALE},
};
-static const u8 gUnknown_08613C1C[50][2] =
-{
- {0x0d, 0x03},
- {0x0e, 0x04},
- {0x10, 0x01},
- {0x11, 0x00},
- {0x03, 0x02},
- {0x12, 0x03},
- {0x0c, 0x03},
- {0x13, 0x03},
- {0x14, 0x03},
- {0x15, 0x02},
- {0x17, 0x02},
- {0x07, 0x02},
- {0x0a, 0x04},
- {0x19, 0x02},
- {0x1a, 0x02},
- {0x1b, 0x00},
- {0x1d, 0x02},
- {0x1e, 0x02},
- {0x1f, 0x03},
- {0x20, 0x04},
- {0x26, 0x00},
- {0x27, 0x01},
- {0x29, 0x04},
- {0x2a, 0x05},
- {0x09, 0x04},
- {0x16, 0x05},
- {0x2b, 0x00},
- {0x2d, 0x04},
- {0x2e, 0x02},
- {0x30, 0x02},
- {0x32, 0x02},
- {0x31, 0x03},
- {0x2f, 0x03},
- {0x33, 0x03},
- {0x34, 0x02},
- {0x04, 0x02},
- {0x35, 0x00},
- {0x36, 0x03},
- {0x37, 0x03},
- {0x38, 0x03},
- {0x1c, 0x01},
- {0x3a, 0x02},
- {0x05, 0x02},
- {0x42, 0x02},
- {0x02, 0x03},
- {0x44, 0x02},
- {0x45, 0x03},
- {0x47, 0x03},
- {0x43, 0x00},
- {0x00, 0x04},
+static const u8 sTrainerTextGroups[50][2] =
+{
+ {FACILITY_CLASS_AROMA_LADY, 3},
+ {FACILITY_CLASS_RUIN_MANIAC, 4},
+ {FACILITY_CLASS_TUBER_F, 1},
+ {FACILITY_CLASS_TUBER_M, 0},
+ {FACILITY_CLASS_COOLTRAINER_M, 2},
+ {FACILITY_CLASS_COOLTRAINER_F, 3},
+ {FACILITY_CLASS_HEX_MANIAC, 3},
+ {FACILITY_CLASS_LADY, 3},
+ {FACILITY_CLASS_BEAUTY, 3},
+ {FACILITY_CLASS_RICH_BOY, 2},
+ {FACILITY_CLASS_POKEMANIAC, 2},
+ {FACILITY_CLASS_SWIMMER_M, 2},
+ {FACILITY_CLASS_BLACK_BELT, 4},
+ {FACILITY_CLASS_GUITARIST, 2},
+ {FACILITY_CLASS_KINDLER, 2},
+ {FACILITY_CLASS_CAMPER, 0},
+ {FACILITY_CLASS_BUG_MANIAC, 2},
+ {FACILITY_CLASS_PSYCHIC_M, 2},
+ {FACILITY_CLASS_PSYCHIC_F, 3},
+ {FACILITY_CLASS_GENTLEMAN, 4},
+ {FACILITY_CLASS_SCHOOL_KID_M, 0},
+ {FACILITY_CLASS_SCHOOL_KID_F, 1},
+ {FACILITY_CLASS_POKEFAN_M, 4},
+ {FACILITY_CLASS_POKEFAN_F, 5},
+ {FACILITY_CLASS_EXPERT_M, 4},
+ {FACILITY_CLASS_EXPERT_F, 5},
+ {FACILITY_CLASS_YOUNGSTER, 0},
+ {FACILITY_CLASS_FISHERMAN, 4},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_M, 2},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_M, 2},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, 2},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_F, 3},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_F, 3},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, 3},
+ {FACILITY_CLASS_DRAGON_TAMER, 2},
+ {FACILITY_CLASS_BIRD_KEEPER, 2},
+ {FACILITY_CLASS_NINJA_BOY, 0},
+ {FACILITY_CLASS_BATTLE_GIRL, 3},
+ {FACILITY_CLASS_PARASOL_LADY, 3},
+ {FACILITY_CLASS_SWIMMER_F, 3},
+ {FACILITY_CLASS_PICNICKER, 1},
+ {FACILITY_CLASS_SAILOR, 2},
+ {FACILITY_CLASS_COLLECTOR, 2},
+ {FACILITY_CLASS_PKMN_BREEDER_M, 2},
+ {FACILITY_CLASS_POKEMON_BREEDER_F, 3},
+ {FACILITY_CLASS_PKMN_RANGER_M, 2},
+ {FACILITY_CLASS_PKMN_RANGER_F, 3},
+ {FACILITY_CLASS_LASS, 3},
+ {FACILITY_CLASS_BUG_CATCHER, 0},
+ {FACILITY_CLASS_HIKER, 4},
};
-static const u8 *const gUnknown_08613C80[] =
+static const u8 *const sExitDirectionHintTexts1[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_252D2D,
- BattleFrontier_BattlePyramidEmptySquare_Text_252D57,
- BattleFrontier_BattlePyramidEmptySquare_Text_252D81,
- BattleFrontier_BattlePyramidEmptySquare_Text_252DAB,
+ BattlePyramid_ExitHintUp_Text1,
+ BattlePyramid_ExitHintLeft_Text1,
+ BattlePyramid_ExitHintRight_Text1,
+ BattlePyramid_ExitHintDown_Text1,
};
-static const u8 *const gUnknown_08613C90[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_25330B,
- BattleFrontier_BattlePyramidEmptySquare_Text_2532CC,
- BattleFrontier_BattlePyramidEmptySquare_Text_25328B,
- BattleFrontier_BattlePyramidEmptySquare_Text_253248,
- BattleFrontier_BattlePyramidEmptySquare_Text_253206,
- BattleFrontier_BattlePyramidEmptySquare_Text_2531C4,
- BattleFrontier_BattlePyramidEmptySquare_Text_253183,
- BattleFrontier_BattlePyramidEmptySquare_Text_253140,
- BattleFrontier_BattlePyramidEmptySquare_Text_2530FD,
+static const u8 *const sRemainingItemsHintTexts1[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text1,
+ BattlePyramid_OneItemRemaining_Text1,
+ BattlePyramid_TwoItemsRemaining_Text1,
+ BattlePyramid_ThreeItemsRemaining_Text1,
+ BattlePyramid_FourItemsRemaining_Text1,
+ BattlePyramid_FiveItemsRemaining_Text1,
+ BattlePyramid_SixItemsRemaining_Text1,
+ BattlePyramid_SevenItemsRemaining_Text1,
+ BattlePyramid_EightItemsRemaining_Text1,
};
-static const u8 *const gUnknown_08613CB4[] =
+static const u8 *const sRemainingTrainersHintTexts1[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_2544A6,
- BattleFrontier_BattlePyramidEmptySquare_Text_25445A,
- BattleFrontier_BattlePyramidEmptySquare_Text_25440B,
- BattleFrontier_BattlePyramidEmptySquare_Text_2543BA,
- BattleFrontier_BattlePyramidEmptySquare_Text_25436A,
- BattleFrontier_BattlePyramidEmptySquare_Text_25431A,
- BattleFrontier_BattlePyramidEmptySquare_Text_2542CB,
- BattleFrontier_BattlePyramidEmptySquare_Text_25427A,
+ BattlePyramid_ZeroTrainersRemaining_Text1,
+ BattlePyramid_OneTrainersRemaining_Text1,
+ BattlePyramid_TwoTrainersRemaining_Text1,
+ BattlePyramid_ThreeTrainersRemaining_Text1,
+ BattlePyramid_FourTrainersRemaining_Text1,
+ BattlePyramid_FiveTrainersRemaining_Text1,
+ BattlePyramid_SixTrainersRemaining_Text1,
+ BattlePyramid_SevenTrainersRemaining_Text1,
};
-static const u8 *const gUnknown_08613CD4[] =
+static const u8 *const sExitDirectionHintTexts2[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_252DD5,
- BattleFrontier_BattlePyramidEmptySquare_Text_252E03,
- BattleFrontier_BattlePyramidEmptySquare_Text_252E31,
- BattleFrontier_BattlePyramidEmptySquare_Text_252E5F,
+ BattlePyramid_ExitHintUp_Text2,
+ BattlePyramid_ExitHintLeft_Text2,
+ BattlePyramid_ExitHintRight_Text2,
+ BattlePyramid_ExitHintDown_Text2,
};
-static const u8 *const gUnknown_08613CE4[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_25362E,
- BattleFrontier_BattlePyramidEmptySquare_Text_2535D4,
- BattleFrontier_BattlePyramidEmptySquare_Text_253578,
- BattleFrontier_BattlePyramidEmptySquare_Text_25351A,
- BattleFrontier_BattlePyramidEmptySquare_Text_2534BD,
- BattleFrontier_BattlePyramidEmptySquare_Text_253460,
- BattleFrontier_BattlePyramidEmptySquare_Text_253404,
- BattleFrontier_BattlePyramidEmptySquare_Text_2533A6,
- BattleFrontier_BattlePyramidEmptySquare_Text_25334D,
+static const u8 *const sRemainingItemsHintTexts2[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text2,
+ BattlePyramid_OneItemRemaining_Text2,
+ BattlePyramid_TwoItemsRemaining_Text2,
+ BattlePyramid_ThreeItemsRemaining_Text2,
+ BattlePyramid_FourItemsRemaining_Text2,
+ BattlePyramid_FiveItemsRemaining_Text2,
+ BattlePyramid_SixItemsRemaining_Text2,
+ BattlePyramid_SevenItemsRemaining_Text2,
+ BattlePyramid_EightItemsRemaining_Text2,
};
-static const u8 *const gUnknown_08613D08[] =
+static const u8 *const sRemainingTrainersHintTexts2[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_25471E,
- BattleFrontier_BattlePyramidEmptySquare_Text_2546CC,
- BattleFrontier_BattlePyramidEmptySquare_Text_25467C,
- BattleFrontier_BattlePyramidEmptySquare_Text_25462A,
- BattleFrontier_BattlePyramidEmptySquare_Text_2545D9,
- BattleFrontier_BattlePyramidEmptySquare_Text_254588,
- BattleFrontier_BattlePyramidEmptySquare_Text_254538,
- BattleFrontier_BattlePyramidEmptySquare_Text_2544E6,
+ BattlePyramid_ZeroTrainersRemaining_Text2,
+ BattlePyramid_OneTrainersRemaining_Text2,
+ BattlePyramid_TwoTrainersRemaining_Text2,
+ BattlePyramid_ThreeTrainersRemaining_Text2,
+ BattlePyramid_FourTrainersRemaining_Text2,
+ BattlePyramid_FiveTrainersRemaining_Text2,
+ BattlePyramid_SixTrainersRemaining_Text2,
+ BattlePyramid_SevenTrainersRemaining_Text2,
};
-static const u8 *const gUnknown_08613D28[] =
+static const u8 *const sExitDirectionHintTexts3[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_252E8D,
- BattleFrontier_BattlePyramidEmptySquare_Text_252EAA,
- BattleFrontier_BattlePyramidEmptySquare_Text_252EC7,
- BattleFrontier_BattlePyramidEmptySquare_Text_252EE4,
+ BattlePyramid_ExitHintUp_Text3,
+ BattlePyramid_ExitHintLeft_Text3,
+ BattlePyramid_ExitHintRight_Text3,
+ BattlePyramid_ExitHintDown_Text3,
};
-static const u8 *const gUnknown_08613D38[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_2539EC,
- BattleFrontier_BattlePyramidEmptySquare_Text_253980,
- BattleFrontier_BattlePyramidEmptySquare_Text_253915,
- BattleFrontier_BattlePyramidEmptySquare_Text_2538A8,
- BattleFrontier_BattlePyramidEmptySquare_Text_25383C,
- BattleFrontier_BattlePyramidEmptySquare_Text_2537D0,
- BattleFrontier_BattlePyramidEmptySquare_Text_253765,
- BattleFrontier_BattlePyramidEmptySquare_Text_2536F8,
- BattleFrontier_BattlePyramidEmptySquare_Text_25368B,
+static const u8 *const sRemainingItemsHintTexts3[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text3,
+ BattlePyramid_OneItemRemaining_Text3,
+ BattlePyramid_TwoItemsRemaining_Text3,
+ BattlePyramid_ThreeItemsRemaining_Text3,
+ BattlePyramid_FourItemsRemaining_Text3,
+ BattlePyramid_FiveItemsRemaining_Text3,
+ BattlePyramid_SixItemsRemaining_Text3,
+ BattlePyramid_SevenItemsRemaining_Text3,
+ BattlePyramid_EightItemsRemaining_Text3,
};
-static const u8 *const gUnknown_08613D5C[] =
+static const u8 *const sRemainingTrainersHintTexts3[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_254A0B,
- BattleFrontier_BattlePyramidEmptySquare_Text_2549AE,
- BattleFrontier_BattlePyramidEmptySquare_Text_25494D,
- BattleFrontier_BattlePyramidEmptySquare_Text_2548EB,
- BattleFrontier_BattlePyramidEmptySquare_Text_25488A,
- BattleFrontier_BattlePyramidEmptySquare_Text_254829,
- BattleFrontier_BattlePyramidEmptySquare_Text_2547C9,
- BattleFrontier_BattlePyramidEmptySquare_Text_254767,
+ BattlePyramid_ZeroTrainersRemaining_Text3,
+ BattlePyramid_OneTrainersRemaining_Text3,
+ BattlePyramid_TwoTrainersRemaining_Text3,
+ BattlePyramid_ThreeTrainersRemaining_Text3,
+ BattlePyramid_FourTrainersRemaining_Text3,
+ BattlePyramid_FiveTrainersRemaining_Text3,
+ BattlePyramid_SixTrainersRemaining_Text3,
+ BattlePyramid_SevenTrainersRemaining_Text3,
};
-static const u8 *const gUnknown_08613D7C[] =
+static const u8 *const sExitDirectionHintTexts4[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_252F01,
- BattleFrontier_BattlePyramidEmptySquare_Text_252F3A,
- BattleFrontier_BattlePyramidEmptySquare_Text_252F73,
- BattleFrontier_BattlePyramidEmptySquare_Text_252FAC,
+ BattlePyramid_ExitHintUp_Text4,
+ BattlePyramid_ExitHintLeft_Text4,
+ BattlePyramid_ExitHintRight_Text4,
+ BattlePyramid_ExitHintDown_Text4,
};
-static const u8 *const gUnknown_08613D8C[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_253D3E,
- BattleFrontier_BattlePyramidEmptySquare_Text_253CE0,
- BattleFrontier_BattlePyramidEmptySquare_Text_253C87,
- BattleFrontier_BattlePyramidEmptySquare_Text_253C2C,
- BattleFrontier_BattlePyramidEmptySquare_Text_253BD2,
- BattleFrontier_BattlePyramidEmptySquare_Text_253B78,
- BattleFrontier_BattlePyramidEmptySquare_Text_253B1F,
- BattleFrontier_BattlePyramidEmptySquare_Text_253AC4,
- BattleFrontier_BattlePyramidEmptySquare_Text_253A69,
+static const u8 *const sRemainingItemsHintTexts4[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text4,
+ BattlePyramid_OneItemRemaining_Text4,
+ BattlePyramid_TwoItemsRemaining_Text4,
+ BattlePyramid_ThreeItemsRemaining_Text4,
+ BattlePyramid_FourItemsRemaining_Text4,
+ BattlePyramid_FiveItemsRemaining_Text4,
+ BattlePyramid_SixItemsRemaining_Text4,
+ BattlePyramid_SevenItemsRemaining_Text4,
+ BattlePyramid_EightItemsRemaining_Text4,
};
-static const u8 *const gUnknown_08613DB0[] =
+static const u8 *const sRemainingTrainersHintTexts4[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_254C3E,
- BattleFrontier_BattlePyramidEmptySquare_Text_254BF1,
- BattleFrontier_BattlePyramidEmptySquare_Text_254BAE,
- BattleFrontier_BattlePyramidEmptySquare_Text_254B69,
- BattleFrontier_BattlePyramidEmptySquare_Text_254B25,
- BattleFrontier_BattlePyramidEmptySquare_Text_254AE1,
- BattleFrontier_BattlePyramidEmptySquare_Text_254A9E,
- BattleFrontier_BattlePyramidEmptySquare_Text_254A59,
+ BattlePyramid_ZeroTrainersRemaining_Text4,
+ BattlePyramid_OneTrainersRemaining_Text4,
+ BattlePyramid_TwoTrainersRemaining_Text4,
+ BattlePyramid_ThreeTrainersRemaining_Text4,
+ BattlePyramid_FourTrainersRemaining_Text4,
+ BattlePyramid_FiveTrainersRemaining_Text4,
+ BattlePyramid_SixTrainersRemaining_Text4,
+ BattlePyramid_SevenTrainersRemaining_Text4,
};
-static const u8 *const gUnknown_08613DD0[] =
+static const u8 *const sExitDirectionHintTexts5[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_252FE5,
- BattleFrontier_BattlePyramidEmptySquare_Text_253000,
- BattleFrontier_BattlePyramidEmptySquare_Text_25301B,
- BattleFrontier_BattlePyramidEmptySquare_Text_253036,
+ BattlePyramid_ExitHintUp_Text5,
+ BattlePyramid_ExitHintLeft_Text5,
+ BattlePyramid_ExitHintRight_Text5,
+ BattlePyramid_ExitHintDown_Text5,
};
-static const u8 *const gUnknown_08613DE0[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_253F6C,
- BattleFrontier_BattlePyramidEmptySquare_Text_253F34,
- BattleFrontier_BattlePyramidEmptySquare_Text_253EFA,
- BattleFrontier_BattlePyramidEmptySquare_Text_253EBE,
- BattleFrontier_BattlePyramidEmptySquare_Text_253E83,
- BattleFrontier_BattlePyramidEmptySquare_Text_253E48,
- BattleFrontier_BattlePyramidEmptySquare_Text_253E0E,
- BattleFrontier_BattlePyramidEmptySquare_Text_253DD2,
- BattleFrontier_BattlePyramidEmptySquare_Text_253D96,
+static const u8 *const sRemainingItemsHintTexts5[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text5,
+ BattlePyramid_OneItemRemaining_Text5,
+ BattlePyramid_TwoItemsRemaining_Text5,
+ BattlePyramid_ThreeItemsRemaining_Text5,
+ BattlePyramid_FourItemsRemaining_Text5,
+ BattlePyramid_FiveItemsRemaining_Text5,
+ BattlePyramid_SixItemsRemaining_Text5,
+ BattlePyramid_SevenItemsRemaining_Text5,
+ BattlePyramid_EightItemsRemaining_Text5,
};
-static const u8 *const gUnknown_08613E04[] =
+static const u8 *const sRemainingTrainersHintTexts5[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_254E6E,
- BattleFrontier_BattlePyramidEmptySquare_Text_254E27,
- BattleFrontier_BattlePyramidEmptySquare_Text_254DE0,
- BattleFrontier_BattlePyramidEmptySquare_Text_254D97,
- BattleFrontier_BattlePyramidEmptySquare_Text_254D4F,
- BattleFrontier_BattlePyramidEmptySquare_Text_254D07,
- BattleFrontier_BattlePyramidEmptySquare_Text_254CC0,
- BattleFrontier_BattlePyramidEmptySquare_Text_254C77,
+ BattlePyramid_ZeroTrainersRemaining_Text5,
+ BattlePyramid_OneTrainersRemaining_Text5,
+ BattlePyramid_TwoTrainersRemaining_Text5,
+ BattlePyramid_ThreeTrainersRemaining_Text5,
+ BattlePyramid_FourTrainersRemaining_Text5,
+ BattlePyramid_FiveTrainersRemaining_Text5,
+ BattlePyramid_SixTrainersRemaining_Text5,
+ BattlePyramid_SevenTrainersRemaining_Text5,
};
-static const u8 *const gUnknown_08613E24[] =
+static const u8 *const sExitDirectionHintTexts6[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_253051,
- BattleFrontier_BattlePyramidEmptySquare_Text_25307C,
- BattleFrontier_BattlePyramidEmptySquare_Text_2530A7,
- BattleFrontier_BattlePyramidEmptySquare_Text_2530D2,
+ BattlePyramid_ExitHintUp_Text6,
+ BattlePyramid_ExitHintLeft_Text6,
+ BattlePyramid_ExitHintRight_Text6,
+ BattlePyramid_ExitHintDown_Text6,
};
-static const u8 *const gUnknown_08613E34[] =
-{
- BattleFrontier_BattlePyramidEmptySquare_Text_25422B,
- BattleFrontier_BattlePyramidEmptySquare_Text_2541DD,
- BattleFrontier_BattlePyramidEmptySquare_Text_25418D,
- BattleFrontier_BattlePyramidEmptySquare_Text_25413B,
- BattleFrontier_BattlePyramidEmptySquare_Text_2540EA,
- BattleFrontier_BattlePyramidEmptySquare_Text_254099,
- BattleFrontier_BattlePyramidEmptySquare_Text_254049,
- BattleFrontier_BattlePyramidEmptySquare_Text_253FF7,
- BattleFrontier_BattlePyramidEmptySquare_Text_253FA5,
+static const u8 *const sRemainingItemsHintTexts6[] =
+{
+ BattlePyramid_ZeroItemsRemaining_Text6,
+ BattlePyramid_OneItemRemaining_Text6,
+ BattlePyramid_TwoItemsRemaining_Text6,
+ BattlePyramid_ThreeItemsRemaining_Text6,
+ BattlePyramid_FourItemsRemaining_Text6,
+ BattlePyramid_FiveItemsRemaining_Text6,
+ BattlePyramid_SixItemsRemaining_Text6,
+ BattlePyramid_SevenItemsRemaining_Text6,
+ BattlePyramid_EightItemsRemaining_Text6,
};
-static const u8 *const gUnknown_08613E58[] =
+static const u8 *const sRemainingTrainersHintTexts6[] =
{
- BattleFrontier_BattlePyramidEmptySquare_Text_255068,
- BattleFrontier_BattlePyramidEmptySquare_Text_25502F,
- BattleFrontier_BattlePyramidEmptySquare_Text_254FF6,
- BattleFrontier_BattlePyramidEmptySquare_Text_254FBB,
- BattleFrontier_BattlePyramidEmptySquare_Text_254F81,
- BattleFrontier_BattlePyramidEmptySquare_Text_254F47,
- BattleFrontier_BattlePyramidEmptySquare_Text_254F0E,
- BattleFrontier_BattlePyramidEmptySquare_Text_254ED3,
+ BattlePyramid_ZeroTrainersRemaining_Text6,
+ BattlePyramid_OneTrainersRemaining_Text6,
+ BattlePyramid_TwoTrainersRemaining_Text6,
+ BattlePyramid_ThreeTrainersRemaining_Text6,
+ BattlePyramid_FourTrainersRemaining_Text6,
+ BattlePyramid_FiveTrainersRemaining_Text6,
+ BattlePyramid_SixTrainersRemaining_Text6,
+ BattlePyramid_SevenTrainersRemaining_Text6,
};
-static const u8 *const *const gUnknown_08613E78[] =
+static const u8 *const *const sPostBattleHintTexts1[] =
{
- gUnknown_08613C80,
- gUnknown_08613C90,
- gUnknown_08613CB4,
+ sExitDirectionHintTexts1,
+ sRemainingItemsHintTexts1,
+ sRemainingTrainersHintTexts1,
};
-static const u8 *const *const gUnknown_08613E84[] =
+static const u8 *const *const sPostBattleHintTexts2[] =
{
- gUnknown_08613CD4,
- gUnknown_08613CE4,
- gUnknown_08613D08,
+ sExitDirectionHintTexts2,
+ sRemainingItemsHintTexts2,
+ sRemainingTrainersHintTexts2,
};
-static const u8 *const *const gUnknown_08613E90[] =
+static const u8 *const *const sPostBattleHintTexts3[] =
{
- gUnknown_08613D28,
- gUnknown_08613D38,
- gUnknown_08613D5C,
+ sExitDirectionHintTexts3,
+ sRemainingItemsHintTexts3,
+ sRemainingTrainersHintTexts3,
};
-static const u8 *const *const gUnknown_08613E9C[] =
+static const u8 *const *const sPostBattleHintTexts4[] =
{
- gUnknown_08613D7C,
- gUnknown_08613D8C,
- gUnknown_08613DB0,
+ sExitDirectionHintTexts4,
+ sRemainingItemsHintTexts4,
+ sRemainingTrainersHintTexts4,
};
-static const u8 *const *const gUnknown_08613EA8[] =
+static const u8 *const *const sPostBattleHintTexts5[] =
{
- gUnknown_08613DD0,
- gUnknown_08613DE0,
- gUnknown_08613E04,
+ sExitDirectionHintTexts5,
+ sRemainingItemsHintTexts5,
+ sRemainingTrainersHintTexts5,
};
-static const u8 *const *const gUnknown_08613EB4[] =
+static const u8 *const *const sPostBattleHintTexts6[] =
{
- gUnknown_08613E24,
- gUnknown_08613E34,
- gUnknown_08613E58,
+ sExitDirectionHintTexts6,
+ sRemainingItemsHintTexts6,
+ sRemainingTrainersHintTexts6,
};
-static const u8 *const *const *const gUnknown_08613EC0[] =
+static const u8 *const *const *const sPostBattleTexts[] =
{
- gUnknown_08613E78,
- gUnknown_08613E84,
- gUnknown_08613E90,
- gUnknown_08613E9C,
- gUnknown_08613EA8,
- gUnknown_08613EB4,
+ sPostBattleHintTexts1,
+ sPostBattleHintTexts2,
+ sPostBattleHintTexts3,
+ sPostBattleHintTexts4,
+ sPostBattleHintTexts5,
+ sPostBattleHintTexts6,
};
-static const u8 gUnknown_08613ED8[] = {3, 4, 5, 6, 7, 8, 3, 4};
+static const u8 sHintTextTypes[] =
+{
+ HINT_EXIT_SHORT_REMAINING_TRAINERS,
+ HINT_EXIT_SHORT_REMAINING_ITEMS,
+ HINT_EXIT_MEDIUM_REMAINING_TRAINERS,
+ HINT_EXIT_MEDIUM_REMAINING_ITEMS,
+ HINT_EXIT_FAR_REMAINING_TRAINERS,
+ HINT_EXIT_FAR_REMAINING_ITEMS,
+ HINT_EXIT_SHORT_REMAINING_TRAINERS,
+ HINT_EXIT_SHORT_REMAINING_ITEMS,
+};
static void (* const sBattlePyramidFunctions[])(void) =
{
- sub_81A8E9C,
- sub_81A8F38,
- sub_81A9048,
+ InitPyramidChallenge,
+ GetBattlePyramidData,
+ SetBattlePyramidData,
sub_81A9134,
- sub_81A917C,
- sub_81A91FC,
- sub_81A9254,
- sub_81A9290,
- sub_81A93C8,
- sub_81A9414,
- sub_81A9424,
- sub_81A9618,
- sub_81A966C,
- sub_81A9684,
- sub_81A975C,
- sub_81A97C8,
+ SetBattlePyramidRewardItem,
+ GiveBattlePyramidRewardItem,
+ SeedPyramidFloor,
+ SetPickupItem,
+ HidePyramidItem,
+ InitPyramidFacilityTrainers,
+ ShowPostBattleHintText,
+ UpdatePyramidWinStreak,
+ GetInBattlePyramid,
+ UpdatePyramidLightRadius,
+ ClearPyramidPartyHeldItems,
+ SetPyramidFloorPalette,
sub_81A9828,
- sub_81A9834,
+ RestorePyramidPlayerParty,
};
-static const u16 gUnknown_08613F28[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
-static const u16 gUnknown_08613F34[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
-
-static const u8 gUnknown_08613F46[][4] =
-{
- {0x01, 0x04, 0xff, 0xff},
- {0x00, 0x02, 0x05, 0xff},
- {0x01, 0x03, 0x06, 0xff},
- {0x02, 0x07, 0xff, 0xff},
- {0x00, 0x05, 0x08, 0xff},
- {0x01, 0x04, 0x06, 0x09},
- {0x02, 0x05, 0x07, 0x0a},
- {0x03, 0x06, 0x0b, 0xff},
- {0x04, 0x09, 0x0c, 0xff},
- {0x05, 0x08, 0x0a, 0x0d},
- {0x06, 0x09, 0x0b, 0x0e},
- {0x07, 0x0a, 0x0f, 0xff},
- {0x08, 0x0d, 0xff, 0xff},
- {0x09, 0x0c, 0x0e, 0xff},
- {0x0a, 0x0d, 0x0f, 0xff},
- {0x0b, 0x0e, 0xff, 0xff},
+static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
+static const u16 sLongStreakRewardItems[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+
+static const u8 sBorderedSquareIds[][4] =
+{
+ {1, 4, -1, -1},
+ {0, 2, 5, -1},
+ {1, 3, 6, -1},
+ {2, 7, -1, -1},
+ {0, 5, 8, -1},
+ {1, 4, 6, 9},
+ {2, 5, 7, 10},
+ {3, 6, 11, -1},
+ {4, 9, 12, -1},
+ {5, 8, 10, 13},
+ {6, 9, 11, 14},
+ {7, 10, 15, -1},
+ {8, 13, -1, -1},
+ {9, 12, 14, -1},
+ {10, 13, 15, -1},
+ {11, 14, -1, -1},
};
static const u8 sPickupPercentages[PICKUP_ITEMS_PER_ROUND] = {30, 40, 50, 60, 70, 80, 85, 90, 95, 100};
@@ -810,7 +865,7 @@ void CallBattlePyramidFunction(void)
sBattlePyramidFunctions[gSpecialVar_0x8004]();
}
-static void sub_81A8E9C(void)
+static void InitPyramidChallenge(void)
{
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -826,22 +881,22 @@ static void sub_81A8E9C(void)
if (!isCurrent)
{
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = 0;
- InitBagItems(lvlMode);
+ InitPyramidBagItems(lvlMode);
}
- sub_81C4EEC();
+ InitBattlePyramidBagCursorPosition();
gTrainerBattleOpponent_A = 0;
gBattleOutcome = 0;
}
-static void sub_81A8F38(void)
+static void GetBattlePyramidData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E18;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidRewardItem;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
@@ -867,14 +922,14 @@ static void sub_81A8F38(void)
}
}
-static void sub_81A9048(void)
+static void SetBattlePyramidData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
- gSaveBlock2Ptr->frontier.field_E18 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.pyramidRewardItem = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006;
@@ -896,7 +951,7 @@ static void sub_81A9048(void)
}
break;
case 7:
- gSaveBlock2Ptr->frontier.field_E2A = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006;
break;
}
}
@@ -910,22 +965,22 @@ static void sub_81A9134(void)
TrySavingData(SAVE_LINK);
}
-static void sub_81A917C(void)
+static void SetBattlePyramidRewardItem(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F34[Random() % ARRAY_COUNT(gUnknown_08613F34)];
+ gSaveBlock2Ptr->frontier.pyramidRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
else
- gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F28[Random() % ARRAY_COUNT(gUnknown_08613F28)];
+ gSaveBlock2Ptr->frontier.pyramidRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
}
-static void sub_81A91FC(void)
+static void GiveBattlePyramidRewardItem(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E18, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidRewardItem, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E18, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E18 = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.pyramidRewardItem, gStringVar1);
+ gSaveBlock2Ptr->frontier.pyramidRewardItem = 0;
gSpecialVar_Result = TRUE;
}
else
@@ -934,21 +989,21 @@ static void sub_81A91FC(void)
}
}
-static void sub_81A9254(void)
+static void SeedPyramidFloor(void)
{
- s32 i;
+ int i;
for (i = 0; i < 4; i++)
- gSaveBlock2Ptr->frontier.field_E22[i] = Random();
+ gSaveBlock2Ptr->frontier.pyramidRandoms[i] = Random();
- gSaveBlock2Ptr->frontier.field_E2A = 0;
+ gSaveBlock2Ptr->frontier.pyramidTrainerFlags = 0;
}
-static void sub_81A9290(void)
+static void SetPickupItem(void)
{
- s32 i;
- s32 r7;
- s32 rand;
+ int i;
+ int itemIndex;
+ int rand;
u8 id;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 floor = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
@@ -957,37 +1012,39 @@ static void sub_81A9290(void)
if (round >= TOTAL_ROUNDS)
round = TOTAL_ROUNDS - 1;
- id = sub_81AA9E4();
- r7 = (gSpecialVar_LastTalked - gUnknown_08613650[id].unk1) - 1;
- rand = gSaveBlock2Ptr->frontier.field_E22[r7 / 2];
+ id = GetPyramidFloorTemplateId();
+ itemIndex = (gSpecialVar_LastTalked - sPyramidFloorTemplates[id].numTrainers) - 1;
+ rand = gSaveBlock2Ptr->frontier.pyramidRandoms[itemIndex / 2];
SeedRng2(rand);
- for (i = 0; i < r7 + 1; i++)
+ for (i = 0; i < itemIndex + 1; i++)
rand = Random2() % 100;
- for (i = gUnknown_08613B3A[floor]; i < ARRAY_COUNT(gUnknown_08613ABC); i++)
+ for (i = sPickupItemOffsets[floor]; i < ARRAY_COUNT(sPickupItemSlots); i++)
{
- if (rand < gUnknown_08613ABC[i][0])
+ if (rand < sPickupItemSlots[i][0])
break;
}
if (lvlMode != FRONTIER_LVL_50)
- gSpecialVar_0x8000 = sPickupItemsLvlOpen[round][gUnknown_08613ABC[i][1]];
+ gSpecialVar_0x8000 = sPickupItemsLvlOpen[round][sPickupItemSlots[i][1]];
else
- gSpecialVar_0x8000 = sPickupItemsLvl50[round][gUnknown_08613ABC[i][1]];
+ gSpecialVar_0x8000 = sPickupItemsLvl50[round][sPickupItemSlots[i][1]];
gSpecialVar_0x8001 = 1;
}
-static void sub_81A93C8(void)
+static void HidePyramidItem(void)
{
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
- s32 i = 0;
+ int i = 0;
for (;;)
{
if (events[i].localId == gSpecialVar_LastTalked)
{
+ // Rather than using event flags to hide the item event object,
+ // it moves them far off the map bounds.
events[i].x = 0x7FFF;
events[i].y = 0x7FFF;
break;
@@ -998,82 +1055,82 @@ static void sub_81A93C8(void)
}
}
-static void sub_81A9414(void)
+static void InitPyramidFacilityTrainers(void)
{
gFacilityTrainers = gBattleFrontierTrainers;
}
-static void sub_81A9424(void)
+static void ShowPostBattleHintText(void)
{
- s32 i;
- s32 var_24;
+ int i;
+ int hintType;
u8 id;
- s32 class = 0;
- s32 r7 = 0;
+ int textGroup = 0;
+ int textIndex = 0;
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
u16 trainerId = LocalIdToPyramidTrainerId(gEventObjects[gSelectedEventObject].localId);
- for (i = 0; i < ARRAY_COUNT(gUnknown_08613C1C); i++)
+ for (i = 0; i < ARRAY_COUNT(sTrainerTextGroups); i++)
{
- if (gUnknown_08613C1C[i][0] == gFacilityTrainers[trainerId].facilityClass)
+ if (sTrainerTextGroups[i][0] == gFacilityTrainers[trainerId].facilityClass)
{
- class = gUnknown_08613C1C[i][1];
+ textGroup = sTrainerTextGroups[i][1];
break;
}
}
- var_24 = gUnknown_08613ED8[gEventObjects[gSelectedEventObject].localId - 1];
+ hintType = sHintTextTypes[gEventObjects[gSelectedEventObject].localId - 1];
i = 0;
while (!i)
{
- switch (var_24)
+ switch (hintType)
{
- case 0:
- r7 = sub_81A9998(&var_24, 8, 0);
+ case HINT_EXIT_DIRECTION:
+ textIndex = GetPostBattleDirectionHintTextIndex(&hintType, 8, HINT_EXIT_DIRECTION);
i = 1;
break;
- case 1:
- for (i = 0; i < sub_81AAA40(); i++)
+ case HINT_REMAINING_ITEMS:
+ for (i = 0; i < GetNumBattlePyramidEventObjects(); i++)
{
if (events[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL && events[i].x != 0x7FFF && events[i].y != 0x7FFF)
- r7++;
+ textIndex++;
}
i = 1;
break;
- case 2:
- id = sub_81AA9E4();
- r7 = gUnknown_08613650[id].unk1;
+ case HINT_REMAINING_TRAINERS:
+ id = GetPyramidFloorTemplateId();
+ textIndex = sPyramidFloorTemplates[id].numTrainers;
for (i = 0; i < 8; i++)
{
- if (gBitTable[i] & gSaveBlock2Ptr->frontier.field_E2A)
- r7--;
+ if (gBitTable[i] & gSaveBlock2Ptr->frontier.pyramidTrainerFlags)
+ textIndex--;
}
i = 1;
break;
- case 3:
- sub_81A9998(&var_24, 8, 2);
+ case HINT_EXIT_SHORT_REMAINING_TRAINERS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 8, HINT_REMAINING_TRAINERS);
break;
- case 4:
- sub_81A9998(&var_24, 8, 1);
+ case HINT_EXIT_SHORT_REMAINING_ITEMS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 8, HINT_REMAINING_ITEMS);
break;
- case 5:
- sub_81A9998(&var_24, 16, 2);
+ case HINT_EXIT_MEDIUM_REMAINING_TRAINERS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 16, HINT_REMAINING_TRAINERS);
break;
- case 6:
- sub_81A9998(&var_24, 16, 1);
+ case HINT_EXIT_MEDIUM_REMAINING_ITEMS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 16, HINT_REMAINING_ITEMS);
break;
- case 7:
- sub_81A9998(&var_24, 24, 2);
+ case HINT_EXIT_FAR_REMAINING_TRAINERS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 24, HINT_REMAINING_TRAINERS);
break;
- case 8:
- sub_81A9998(&var_24, 24, 1);
+ case HINT_EXIT_FAR_REMAINING_ITEMS:
+ GetPostBattleDirectionHintTextIndex(&hintType, 24, HINT_REMAINING_ITEMS);
break;
}
}
- ShowFieldMessage(gUnknown_08613EC0[class][var_24][r7]);
+ ShowFieldMessage(sPostBattleTexts[textGroup][hintType][textIndex]);
}
-static void sub_81A9618(void)
+static void UpdatePyramidWinStreak(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1083,17 +1140,17 @@ static void sub_81A9618(void)
gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
}
-static void sub_81A966C(void)
+static void GetInBattlePyramid(void)
{
gSpecialVar_Result = InBattlePyramid();
}
-static void sub_81A9684(void)
+static void UpdatePyramidLightRadius(void)
{
switch (gSpecialVar_0x8006)
{
case 0:
- gSaveBlock2Ptr->frontier.field_E68 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.pyramidLightRadius = gSpecialVar_0x8005;
break;
case 1:
switch (gSpecialVar_Result)
@@ -1101,8 +1158,8 @@ static void sub_81A9684(void)
case 0:
if (!gPaletteFade.active)
{
- if (gSaveBlock2Ptr->frontier.field_E68 >= 120)
- gSaveBlock2Ptr->frontier.field_E68 = 120;
+ if (gSaveBlock2Ptr->frontier.pyramidLightRadius >= 120)
+ gSaveBlock2Ptr->frontier.pyramidLightRadius = 120;
else
PlaySE(gSpecialVar_0x8007);
gSpecialVar_Result++;
@@ -1112,13 +1169,13 @@ static void sub_81A9684(void)
if (gSpecialVar_0x8005 != 0)
{
gSpecialVar_0x8005--;
- gSaveBlock2Ptr->frontier.field_E68++;
- if (gSaveBlock2Ptr->frontier.field_E68 > 120)
+ gSaveBlock2Ptr->frontier.pyramidLightRadius++;
+ if (gSaveBlock2Ptr->frontier.pyramidLightRadius > 120)
{
- gSaveBlock2Ptr->frontier.field_E68 = 120;
+ gSaveBlock2Ptr->frontier.pyramidLightRadius = 120;
gSpecialVar_Result++;
}
- door_upload_tiles();
+ WriteBattlePyramidViewScanlineEffectBuffer();
}
else
{
@@ -1133,9 +1190,9 @@ static void sub_81A9684(void)
}
}
-static void sub_81A975C(void)
+static void ClearPyramidPartyHeldItems(void)
{
- s32 i, j;
+ int i, j;
u16 item = 0;
for (i = 0; i < PARTY_SIZE; i++)
@@ -1148,12 +1205,12 @@ static void sub_81A975C(void)
}
}
-static void sub_81A97C8(void)
+static void SetPyramidFloorPalette(void)
{
- CreateTask(sub_81A97DC, 0);
+ CreateTask(Task_SetPyramidFloorPalette, 0);
}
-static void sub_81A97DC(u8 taskId)
+static void Task_SetPyramidFloorPalette(u8 taskId)
{
if (gPaletteFade.active)
{
@@ -1167,29 +1224,29 @@ static void sub_81A9828(void)
sub_809FDD4();
}
-static void sub_81A9834(void)
+static void RestorePyramidPlayerParty(void)
{
- s32 i, j, k, l;
+ int i, j, k, l;
for (i = 0; i < 3; i++)
{
- s32 id = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ int partyIndex = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
for (j = 0; j < 3; j++)
{
- if (GetMonData(&gSaveBlock1Ptr->playerParty[id], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL))
+ if (GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL))
{
for (k = 0; k < MAX_MON_MOVES; k++)
{
for (l = 0; l < MAX_MON_MOVES; l++)
{
- if (GetMonData(&gSaveBlock1Ptr->playerParty[id], MON_DATA_MOVE1 + l, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_MOVE1 + k, NULL))
+ if (GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], MON_DATA_MOVE1 + l, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_MOVE1 + k, NULL))
break;
}
if (l == MAX_MON_MOVES)
SetMonMoveSlot(&gPlayerParty[j], MOVE_SKETCH, k);
}
- gSaveBlock1Ptr->playerParty[id] = gPlayerParty[j];
- gSelectedOrderFromParty[j] = id + 1;
+ gSaveBlock1Ptr->playerParty[partyIndex] = gPlayerParty[j];
+ gSelectedOrderFromParty[j] = partyIndex + 1;
break;
}
}
@@ -1199,104 +1256,108 @@ static void sub_81A9834(void)
gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
}
-static u8 sub_81A9998(s32 *arg0, u8 arg1, u8 arg2)
+static u8 GetPostBattleDirectionHintTextIndex(int *hintType, u8 minDistanceForExitHint, u8 defaultHintType)
{
- s32 i, j;
- u8 ret = 0;
+ int x, y;
+ u8 textIndex = 0;
u16 *map = gBackupMapLayout.map;
map += gBackupMapLayout.width * 7 + 7;
- for (i = 0; i < 32; map += 47, i++)
+ for (y = 0; y < 32; map += 47, y++)
{
- for (j = 0; j < 32; j++)
+ for (x = 0; x < 32; x++)
{
- if ((map[j] & 0x3FF) == 0x28E)
+ if ((map[x] & 0x3FF) == FLOOR_EXIT_METATILE)
{
- j += 7 - gEventObjects[gSelectedEventObject].initialCoords.x;
- i += 7 - gEventObjects[gSelectedEventObject].initialCoords.y;
- if (j >= arg1 || j <= -arg1 || i >= arg1 || i <= -arg1 || arg2 == 0)
+ x += 7 - gEventObjects[gSelectedEventObject].initialCoords.x;
+ y += 7 - gEventObjects[gSelectedEventObject].initialCoords.y;
+ if (x >= minDistanceForExitHint
+ || x <= -minDistanceForExitHint
+ || y >= minDistanceForExitHint
+ || y <= -minDistanceForExitHint
+ || defaultHintType == HINT_EXIT_DIRECTION)
{
- if (j > 0 && i > 0)
+ if (x > 0 && y > 0)
{
- if (j >= i)
- ret = 2;
+ if (x >= y)
+ textIndex = 2;
else
- ret = 3;
+ textIndex = 3;
}
- else if (j < 0 && i < 0)
+ else if (x < 0 && y < 0)
{
- if (j > i)
- ret = 0;
+ if (x > y)
+ textIndex = 0;
else
- ret = 1;
+ textIndex = 1;
}
- else if (j == 0)
+ else if (x == 0)
{
- if (i > 0)
- ret = 3;
+ if (y > 0)
+ textIndex = 3;
else
- ret = 0;
+ textIndex = 0;
}
- else if (i == 0)
+ else if (y == 0)
{
- if (j > 0)
- ret = 2;
+ if (x > 0)
+ textIndex = 2;
else
- ret = 1;
+ textIndex = 1;
}
- else if (j < 0)
+ else if (x < 0)
{
- if (j + i > 0)
- ret = 3;
+ if (x + y > 0)
+ textIndex = 3;
else
- ret = 1;
+ textIndex = 1;
}
else
{
- ret = (~(j + i) >= 0) ? 0 : 2;
+ textIndex = (~(x + y) >= 0) ? 0 : 2;
}
- *arg0 = 0;
+ *hintType = HINT_EXIT_DIRECTION;
}
else
{
- *arg0 = arg2;
+ *hintType = defaultHintType;
}
- return ret;
+ return textIndex;
}
}
}
- return ret;
+ return textIndex;
}
u16 LocalIdToPyramidTrainerId(u8 localId)
{
- return gSaveBlock2Ptr->frontier.field_CB4[localId - 1];
+ return gSaveBlock2Ptr->frontier.trainerIds[localId - 1];
}
bool8 GetBattlePyramidTrainerFlag(u8 eventId)
{
- return gSaveBlock2Ptr->frontier.field_E2A & gBitTable[gEventObjects[eventId].localId - 1];
+ return gSaveBlock2Ptr->frontier.pyramidTrainerFlags & gBitTable[gEventObjects[eventId].localId - 1];
}
-void sub_81A9B04(void)
+void MarkApproachingPyramidTrainersAsBattled(void)
{
- sub_81A9B44(gTrainerBattleOpponent_A);
+ MarkPyramidTrainerAsBattled(gTrainerBattleOpponent_A);
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
{
gSelectedEventObject = GetChosenApproachingTrainerEventObjectId(1);
- sub_81A9B44(gTrainerBattleOpponent_B);
+ MarkPyramidTrainerAsBattled(gTrainerBattleOpponent_B);
}
}
-static void sub_81A9B44(u16 trainerId)
+static void MarkPyramidTrainerAsBattled(u16 trainerId)
{
- s32 i;
+ int i;
for (i = 0; i < 8; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
- gSaveBlock2Ptr->frontier.field_E2A |= gBitTable[i];
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
+ gSaveBlock2Ptr->frontier.pyramidTrainerFlags |= gBitTable[i];
}
gEventObjects[gSelectedEventObject].movementType = MOVEMENT_TYPE_WANDER_AROUND;
@@ -1308,7 +1369,7 @@ static void sub_81A9B44(u16 trainerId)
void GenerateBattlePyramidWildMon(void)
{
u8 name[POKEMON_NAME_LENGTH + 1];
- s32 i;
+ int i;
const struct PyramidWildMon *wildMons;
u32 id;
u32 lvl = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1364,7 +1425,8 @@ void GenerateBattlePyramidWildMon(void)
for (i = 0; i < MAX_MON_MOVES; i++)
SetMonMoveSlot(&gEnemyParty[0], wildMons[id].moves[i], i);
- if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvl] >= 140) // BUG: Reading outside the array as lvl was used for mon level instead of frontier lvl mode.
+ // BUG: Reading outside the array as lvl was used for mon level instead of frontier lvl mode.
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvl] >= 140)
{
id = (Random() % 17) + 15;
for (i = 0; i < NUM_STATS; i++)
@@ -1375,8 +1437,8 @@ void GenerateBattlePyramidWildMon(void)
u8 GetPyramidRunMultiplier(void)
{
- u8 id = sub_81AA9E4();
- return gUnknown_08613650[id].runMultiplier;
+ u8 id = GetPyramidFloorTemplateId();
+ return sPyramidFloorTemplates[id].runMultiplier;
}
u8 InBattlePyramid(void)
@@ -1399,14 +1461,14 @@ void sub_81A9E90(void)
{
if (InBattlePyramid())
{
- sub_81A9834();
+ RestorePyramidPlayerParty();
gSaveBlock2Ptr->frontier.field_CA8 = 2;
VarSet(VAR_TEMP_E, 0);
LoadPlayerParty();
}
}
-void sub_81A9EC8(void)
+void SoftResetInBattlePyramid(void)
{
if (InBattlePyramid())
DoSoftReset();
@@ -1427,26 +1489,26 @@ void CopyPyramidTrainerLoseSpeech(u16 trainerId)
FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose);
}
-u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerId)
+u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId)
{
- s32 i;
+ int i;
- for (i = 0; i < ARRAY_COUNT(gUnknown_08613B44); i++)
+ for (i = 0; i < ARRAY_COUNT(sTrainerClassEncounterMusic); i++)
{
- if (gUnknown_08613B44[i].class == gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass])
- return gUnknown_08613B44[i].music;
+ if (sTrainerClassEncounterMusic[i].trainerClass == gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass])
+ return sTrainerClassEncounterMusic[i].trainerEncounterMusic;
}
- return 0;
+ return TRAINER_ENCOUNTER_MUSIC_MALE;
}
-static void sub_81A9F80(void)
+void sub_81A9F80(void)
{
ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
}
-static u16 sub_81A9F90(u8 count)
+static u16 GetUniqueTrainerId(u8 eventObjectId)
{
- s32 i;
+ int i;
u16 trainerId;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 challengeNum = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7;
@@ -1456,72 +1518,72 @@ static u16 sub_81A9F90(u8 count)
do
{
trainerId = sub_8162548(challengeNum + 1, battleNum);
- for (i = 0; i < count; i++)
+ for (i = 0; i < eventObjectId; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
- } while (i != count);
+ } while (i != eventObjectId);
}
else
{
do
{
trainerId = sub_8162548(challengeNum, battleNum);
- for (i = 0; i < count; i++)
+ for (i = 0; i < eventObjectId; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
- } while (i != count);
+ } while (i != eventObjectId);
}
return trainerId;
}
-void sub_81AA078(u16 *mapArg, u8 arg1)
+void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPosition)
{
- s32 j, k;
- s32 i;
- u8 var0, var1;
- u8 *allocated = AllocZeroed(0x10);
+ int y, x;
+ int i;
+ u8 entranceSquareId, exitSquareId;
+ u8 *floorLayoutOffsets = AllocZeroed(16);
- sub_81AA96C(allocated);
- sub_81AA33C(&var0, &var1);
+ GetPyramidFloorLayoutOffsets(floorLayoutOffsets);
+ GetPyramidEntranceAndExitSquareIds(&entranceSquareId, &exitSquareId);
for (i = 0; i < 16; i++)
{
u16 *map;
- s32 heightAdd, widthAdd;
- const struct MapLayout *mapLayout = gMapLayouts[allocated[i] + 0x169];
+ int yOffset, xOffset;
+ const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE];
const u16 *layoutMap = mapLayout->map;
- gBackupMapLayout.map = mapArg;
+ gBackupMapLayout.map = backupMapData;
gBackupMapLayout.width = mapLayout->width * 4 + 15;
gBackupMapLayout.height = mapLayout->height * 4 + 14;
- map = mapArg;
- heightAdd = (((i / 4 * mapLayout->height) + 7) * (gBackupMapLayout.width));
- widthAdd = ((i % 4 * mapLayout->width) + 7);
- map += heightAdd + widthAdd;
- for (j = 0; j < mapLayout->height; j++)
+ map = backupMapData;
+ yOffset = ((i / 4 * mapLayout->height) + 7) * gBackupMapLayout.width;
+ xOffset = (i % 4 * mapLayout->width) + 7;
+ map += yOffset + xOffset;
+ for (y = 0; y < mapLayout->height; y++)
{
- for (k = 0; k < mapLayout->width; k++)
+ for (x = 0; x < mapLayout->width; x++)
{
- if ((layoutMap[k] & 0x3FF) != 0x28E)
+ if ((layoutMap[x] & 0x3FF) != FLOOR_EXIT_METATILE)
{
- map[k] = layoutMap[k];
+ map[x] = layoutMap[x];
}
- else if (i != var1)
+ else if (i != exitSquareId)
{
- if (i == var0 && arg1 == 0)
+ if (i == entranceSquareId && setPlayerPosition == FALSE)
{
- gSaveBlock1Ptr->pos.x = (mapLayout->width * (i % 4)) + k;
- gSaveBlock1Ptr->pos.y = (mapLayout->height * (i / 4)) + j;
+ gSaveBlock1Ptr->pos.x = (mapLayout->width * (i % 4)) + x;
+ gSaveBlock1Ptr->pos.y = (mapLayout->height * (i / 4)) + y;
}
- map[k] = (layoutMap[k] & 0xFC00) | 0x28D;
+ map[x] = (layoutMap[x] & 0xFC00) | FLOOR_WALKABLE_METATILE;
}
else
{
- map[k] = layoutMap[k];
+ map[x] = layoutMap[x];
}
}
map += 15 + (mapLayout->width * 4);
@@ -1529,105 +1591,105 @@ void sub_81AA078(u16 *mapArg, u8 arg1)
}
}
mapheader_run_script_with_tag_x1();
- free(allocated);
+ free(floorLayoutOffsets);
}
-void sub_81AA1D8(void)
+void LoadBattlePyramidEventObjectTemplates(void)
{
- s32 i;
+ int i;
u8 id;
- u8 var0, var1;
+ u8 entranceSquareId, exitSquareId;
for (i = 0; i < 8; i++)
- gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
- id = sub_81AA9E4();
- sub_81AA33C(&var0, &var1);
+ id = GetPyramidFloorTemplateId();
+ GetPyramidEntranceAndExitSquareIds(&entranceSquareId, &exitSquareId);
CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates));
for (i = 0; i < 2; i++)
{
- u8 value;
+ u8 objectPositionsType;
- if (i == 0)
- value = gUnknown_08613650[id].unk3;
- else
- value = gUnknown_08613650[id].unk2;
+ if (i == OBJ_TRAINERS)
+ objectPositionsType = sPyramidFloorTemplates[id].trainerPositions;
+ else // OBJ_ITEMS
+ objectPositionsType = sPyramidFloorTemplates[id].itemPositions;
- switch (value)
+ switch (objectPositionsType)
{
- case 0:
- sub_81AA398(i);
+ case OBJ_POSITIONS_UNIFORM:
+ SetPyramidObjectPositionsUniformly(i);
break;
- case 1:
- if (sub_81AA4D8(i, var0))
- sub_81AA398(i);
+ case OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE:
+ if (SetPyramidObjectPositionsInAndNearSquare(i, entranceSquareId))
+ SetPyramidObjectPositionsUniformly(i);
break;
- case 2:
- if (sub_81AA4D8(i, var1))
- sub_81AA398(i);
+ case OBJ_POSITIONS_IN_AND_NEAR_EXIT:
+ if (SetPyramidObjectPositionsInAndNearSquare(i, exitSquareId))
+ SetPyramidObjectPositionsUniformly(i);
break;
- case 3:
- if (sub_81AA648(i, var0))
- sub_81AA398(i);
+ case OBJ_POSITIONS_NEAR_ENTRANCE:
+ if (SetPyramidObjectPositionsNearSquare(i, entranceSquareId))
+ SetPyramidObjectPositionsUniformly(i);
break;
- case 4:
- if (sub_81AA648(i, var1))
- sub_81AA398(i);
+ case OBJ_POSITIONS_NEAR_EXIT:
+ if (SetPyramidObjectPositionsNearSquare(i, exitSquareId))
+ SetPyramidObjectPositionsUniformly(i);
break;
}
}
}
-void sub_81AA2F8(void)
+void LoadBattlePyramidFloorEventObjectScripts(void)
{
- s32 i;
+ int i;
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
{
if (events[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
- events[i].script = BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F;
+ events[i].script = BattlePyramid_TrainerBattle;
else
- events[i].script = BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A;
+ events[i].script = BattlePyramid_FindItemBall;
}
}
-static void sub_81AA33C(u8 *var0, u8 *var1)
+static void GetPyramidEntranceAndExitSquareIds(u8 *entranceSquareId, u8 *exitSquareId)
{
- *var0 = gSaveBlock2Ptr->frontier.field_E22[3] % 16;
- *var1 = gSaveBlock2Ptr->frontier.field_E22[0] % 16;
+ *entranceSquareId = gSaveBlock2Ptr->frontier.pyramidRandoms[3] % 16;
+ *exitSquareId = gSaveBlock2Ptr->frontier.pyramidRandoms[0] % 16;
- if (*var0 == *var1)
+ if (*entranceSquareId == *exitSquareId)
{
- *var0 = (gSaveBlock2Ptr->frontier.field_E22[3] + 1 ) % 16;
- *var1 = (gSaveBlock2Ptr->frontier.field_E22[0] + 15) % 16;
+ *entranceSquareId = (gSaveBlock2Ptr->frontier.pyramidRandoms[3] + 1 ) % 16;
+ *exitSquareId = (gSaveBlock2Ptr->frontier.pyramidRandoms[0] + 15) % 16;
}
}
-static void sub_81AA398(u8 arg0)
+static void SetPyramidObjectPositionsUniformly(u8 objType)
{
- s32 i;
- s32 count;
- s32 var_28;
- s32 r4;
+ int i;
+ int numObjects;
+ int objectStartIndex;
+ int squareId;
u32 bits = 0;
- u8 id = sub_81AA9E4();
- u8 *allocated = AllocZeroed(0x10);
+ u8 id = GetPyramidFloorTemplateId();
+ u8 *floorLayoutOffsets = AllocZeroed(16);
- sub_81AA96C(allocated);
- r4 = gSaveBlock2Ptr->frontier.field_E22[2] % 16;
- if (arg0 == 0)
+ GetPyramidFloorLayoutOffsets(floorLayoutOffsets);
+ squareId = gSaveBlock2Ptr->frontier.pyramidRandoms[2] % 16;
+ if (objType == OBJ_TRAINERS)
{
- count = gUnknown_08613650[id].unk1;
- var_28 = 0;
+ numObjects = sPyramidFloorTemplates[id].numTrainers;
+ objectStartIndex = 0;
}
- else
+ else // OBJ_ITEMS
{
- count = gUnknown_08613650[id].unk0;
- var_28 = gUnknown_08613650[id].unk1;
+ numObjects = sPyramidFloorTemplates[id].numItems;
+ objectStartIndex = sPyramidFloorTemplates[id].numTrainers;
}
- for (i = 0; i < count; i++)
+ for (i = 0; i < numObjects; i++)
{
do
{
@@ -1635,18 +1697,18 @@ static void sub_81AA398(u8 arg0)
{
if (bits & 1)
{
- if (!(gBitTable[r4] & gSaveBlock2Ptr->frontier.field_E22[3]))
+ if (!(gBitTable[squareId] & gSaveBlock2Ptr->frontier.pyramidRandoms[3]))
bits |= 2;
}
else
{
- if (gBitTable[r4] & gSaveBlock2Ptr->frontier.field_E22[3])
+ if (gBitTable[squareId] & gSaveBlock2Ptr->frontier.pyramidRandoms[3])
bits |= 2;
}
- if (++r4 >= 16)
- r4 = 0;
+ if (++squareId >= 16)
+ squareId = 0;
- if (r4 == gSaveBlock2Ptr->frontier.field_E22[2] % 16)
+ if (squareId == gSaveBlock2Ptr->frontier.pyramidRandoms[2] % 16)
{
if (bits & 1)
bits |= 6;
@@ -1655,63 +1717,63 @@ static void sub_81AA398(u8 arg0)
}
} while (!(bits & 2));
- } while (!(bits & 4) && sub_81AA760(arg0, allocated, r4, var_28 + i));
+ } while (!(bits & 4) && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i));
bits &= 1;
}
- free(allocated);
+ free(floorLayoutOffsets);
}
-static bool8 sub_81AA4D8(u8 arg0, u8 arg1)
+static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId)
{
- s32 i;
- s32 var_28;
- s32 r6 = 0;
- s32 r7 = 0;
- s32 var_34 = 0;
- s32 count;
- u8 id = sub_81AA9E4();
- u8 *allocated = AllocZeroed(0x10);
+ int i;
+ int objectStartIndex;
+ int borderedIndex = 0;
+ int r7 = 0;
+ int numPlacedObjects = 0;
+ int numObjects;
+ u8 id = GetPyramidFloorTemplateId();
+ u8 *floorLayoutOffsets = AllocZeroed(16);
- sub_81AA96C(allocated);
- if (arg0 == 0)
+ GetPyramidFloorLayoutOffsets(floorLayoutOffsets);
+ if (objType == OBJ_TRAINERS)
{
- count = gUnknown_08613650[id].unk1;
- var_28 = 0;
+ numObjects = sPyramidFloorTemplates[id].numTrainers;
+ objectStartIndex = 0;
}
- else
+ else // OBJ_ITEMS
{
- count = gUnknown_08613650[id].unk0;
- var_28 = gUnknown_08613650[id].unk1;
+ numObjects = sPyramidFloorTemplates[id].numItems;
+ objectStartIndex = sPyramidFloorTemplates[id].numTrainers;
}
- for (i = 0; i < count; i++)
+ for (i = 0; i < numObjects; i++)
{
if (r7 == 0)
{
- if (sub_81AA760(arg0, allocated, arg1, var_28 + i))
+ if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i))
r7 = 1;
else
- var_34++;
+ numPlacedObjects++;
}
if (r7 & 1)
{
- if (sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r6], var_28 + i))
+ if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i))
{
do
{
- r6++;
- if (gUnknown_08613F46[arg1][r6] == 0xFF || r6 >= 4)
- r6 = 0;
+ borderedIndex++;
+ if (sBorderedSquareIds[squareId][borderedIndex] == 0xFF || borderedIndex >= 4)
+ borderedIndex = 0;
r7 += 2;
- } while (r7 >> 1 != 4 && sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r6], var_28 + i));
- var_34++;
+ } while (r7 >> 1 != 4 && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i));
+ numPlacedObjects++;
}
else
{
- r6++;
- if (gUnknown_08613F46[arg1][r6] == 0xFF || r6 >= 4)
- r6 = 0;
- var_34++;
+ borderedIndex++;
+ if (sBorderedSquareIds[squareId][borderedIndex] == 0xFF || borderedIndex >= 4)
+ borderedIndex = 0;
+ numPlacedObjects++;
}
}
@@ -1720,86 +1782,85 @@ static bool8 sub_81AA4D8(u8 arg0, u8 arg1)
r7 &= 1;
}
- // free(allocated); BUG: allocated memory not freed
+ // free(floorLayoutOffsets); BUG: floorLayoutOffsets memory not freed
- return (count / 2 > var_34);
+ return (numObjects / 2) > numPlacedObjects;
}
-static bool8 sub_81AA648(u8 arg0, u8 arg1)
+static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId)
{
- s32 i;
- s32 var_28;
- s32 r4 = 0;
- s32 r7 = 0;
- s32 r8 = 0;
- s32 count;
- u8 id = sub_81AA9E4();
- u8 *allocated = AllocZeroed(0x10);
+ int i;
+ int objectStartIndex;
+ int borderOffset = 0;
+ int numPlacedObjects = 0;
+ int r8 = 0;
+ int numObjects;
+ u8 id = GetPyramidFloorTemplateId();
+ u8 *floorLayoutOffsets = AllocZeroed(16);
- sub_81AA96C(allocated);
- if (arg0 == 0)
+ GetPyramidFloorLayoutOffsets(floorLayoutOffsets);
+ if (objType == OBJ_TRAINERS)
{
- count = gUnknown_08613650[id].unk1;
- var_28 = 0;
+ numObjects = sPyramidFloorTemplates[id].numTrainers;
+ objectStartIndex = 0;
}
- else
+ else // OBJ_ITEMS
{
- count = gUnknown_08613650[id].unk0;
- var_28 = gUnknown_08613650[id].unk1;
+ numObjects = sPyramidFloorTemplates[id].numItems;
+ objectStartIndex = sPyramidFloorTemplates[id].numTrainers;
}
- for (i = 0; i < count; i++)
+ for (i = 0; i < numObjects; i++)
{
- if (sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r4], var_28 + i))
+ if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i))
{
do
{
- r4++;
- if (gUnknown_08613F46[arg1][r4] == 0xFF || r4 >= 4)
- r4 = 0;
+ borderOffset++;
+ if (sBorderedSquareIds[squareId][borderOffset] == 0xFF || borderOffset >= 4)
+ borderOffset = 0;
r8++;
- } while (r8 != 4 && sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r4], var_28 + i));
- r7++;
+ } while (r8 != 4 && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i));
+ numPlacedObjects++;
}
else
{
- r4++;
- if (gUnknown_08613F46[arg1][r4] == 0xFF || r4 >= 4)
- r4 = 0;
- r7++;
+ borderOffset++;
+ if (sBorderedSquareIds[squareId][borderOffset] == 0xFF || borderOffset >= 4)
+ borderOffset = 0;
+ numPlacedObjects++;
}
if (r8 == 4)
break;
}
- // free(allocated); BUG: allocated memory not freed
+ // free(floorLayoutOffsets); BUG: floorLayoutOffsets memory not freed
- return (count / 2 > r7);
+ return (numObjects / 2) > numPlacedObjects;
}
-static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id)
+static bool8 TrySetPyramidEventObjectPositionInSquare(u8 objType, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId)
{
- s32 i, j;
+ int x, y;
- if (gSaveBlock2Ptr->frontier.field_E22[0] & 1)
+ if (gSaveBlock2Ptr->frontier.pyramidRandoms[0] & 1)
{
- s32 minus1 = -1;
- for (i = 7; i > minus1; i--)
+ for (y = 7; y > -1; y--)
{
- for (j = 7; j >= 0; j--)
+ for (x = 7; x > -1; x--)
{
- if (!sub_81AA810(arg0, j, i, mapNums, whichMap, id))
+ if (!TrySetPyramidEventObjectPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, eventObjectId))
return FALSE;
}
}
}
else
{
- for (i = 0; i < 8; i++)
+ for (y = 0; y < 8; y++)
{
- for (j = 0; j < 8; j++)
+ for (x = 0; x < 8; x++)
{
- if (!sub_81AA810(arg0, j, i, mapNums, whichMap, id))
+ if (!TrySetPyramidEventObjectPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, eventObjectId))
return FALSE;
}
}
@@ -1808,81 +1869,83 @@ static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id)
return TRUE;
}
-static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id)
+static bool8 TrySetPyramidEventObjectPositionAtCoords(u8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId)
{
- s32 i, j;
+ int i, j;
const struct MapHeader *mapHeader;
- struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+ struct EventObjectTemplate *floorEvents = gSaveBlock1Ptr->eventObjectTemplates;
- mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), mapNums[whichMap] + MAP_NUM(BATTLE_PYRAMID_SQUARE01));
+ mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(BATTLE_PYRAMID_SQUARE01));
for (i = 0; i < mapHeader->events->eventObjectCount; i++)
{
if (mapHeader->events->eventObjects[i].x != x || mapHeader->events->eventObjects[i].y != y)
continue;
- if (arg0 != 0 || mapHeader->events->eventObjects[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL)
+ if (objType != OBJ_TRAINERS || mapHeader->events->eventObjects[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL)
{
- if (arg0 != 1 || mapHeader->events->eventObjects[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ if (objType != OBJ_ITEMS || mapHeader->events->eventObjects[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
continue;
}
- for (j = 0; j < id; j++)
+ // Ensure an object wasn't previously placed in the exact same position.
+ for (j = 0; j < eventObjectId; j++)
{
- if (events[j].x == x + ((whichMap % 4) * 8) && events[j].y == y + ((whichMap / 4) * 8))
+ if (floorEvents[j].x == x + ((squareId % 4) * 8) && floorEvents[j].y == y + ((squareId / 4) * 8))
break;
}
- if (j != id)
- continue;
- events[id] = mapHeader->events->eventObjects[i];
- events[id].x += ((whichMap % 4) * 8);
- events[id].y += ((whichMap / 4) * 8);
- events[id].localId = id + 1;
- if (events[id].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ if (j == eventObjectId)
{
- i = sub_81A9F90(id);
- events[id].graphicsId = GetBattleFacilityTrainerGfxId(i);
- gSaveBlock2Ptr->frontier.field_CB4[id] = i;
+ floorEvents[eventObjectId] = mapHeader->events->eventObjects[i];
+ floorEvents[eventObjectId].x += (squareId % 4) * 8;
+ floorEvents[eventObjectId].y += (squareId / 4) * 8;
+ floorEvents[eventObjectId].localId = eventObjectId + 1;
+ if (floorEvents[eventObjectId].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ {
+ i = GetUniqueTrainerId(eventObjectId);
+ floorEvents[eventObjectId].graphicsId = GetBattleFacilityTrainerGfxId(i);
+ gSaveBlock2Ptr->frontier.trainerIds[eventObjectId] = i;
+ }
+ return FALSE;
}
- return FALSE;
}
return TRUE;
}
-static void sub_81AA96C(u8 *mapNums)
+static void GetPyramidFloorLayoutOffsets(u8 *layoutOffsets)
{
- s32 i;
- s32 bits = (gSaveBlock2Ptr->frontier.field_E22[0]) | (gSaveBlock2Ptr->frontier.field_E22[1] << 16);
- u8 id = sub_81AA9E4();
+ int i;
+ int rand = (gSaveBlock2Ptr->frontier.pyramidRandoms[0]) | (gSaveBlock2Ptr->frontier.pyramidRandoms[1] << 16);
+ u8 id = GetPyramidFloorTemplateId();
for (i = 0; i < 16; i++)
{
- mapNums[i] = gUnknown_08613650[id].unk5[bits & 7];
- bits >>= 3;
+ layoutOffsets[i] = sPyramidFloorTemplates[id].layoutOffsets[rand & 0x7];
+ rand >>= 3;
if (i == 7)
{
- bits = (gSaveBlock2Ptr->frontier.field_E22[2]) | (gSaveBlock2Ptr->frontier.field_E22[3] << 16);
- bits >>= 8;
+ rand = (gSaveBlock2Ptr->frontier.pyramidRandoms[2]) | (gSaveBlock2Ptr->frontier.pyramidRandoms[3] << 16);
+ rand >>= 8;
}
}
}
-static u8 sub_81AA9E4(void)
+static u8 GetPyramidFloorTemplateId(void)
{
- s32 i;
- s32 var = gSaveBlock2Ptr->frontier.field_E22[3] % 100;
- s32 battleNum = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ int i;
+ int rand = gSaveBlock2Ptr->frontier.pyramidRandoms[3] % 100;
+ int floor = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- for (i = gUnknown_08613794[battleNum]; i < ARRAY_COUNT(gUnknown_08613750); i++)
+ for (i = sFloorTemplateOffsets[floor]; i < ARRAY_COUNT(sPyramidFloorTemplateOptions); i++)
{
- if (var < gUnknown_08613750[i][0])
- return gUnknown_08613750[i][1];
+ if (rand < sPyramidFloorTemplateOptions[i][0])
+ return sPyramidFloorTemplateOptions[i][1];
}
return 0;
}
-u8 sub_81AAA40(void)
+u8 GetNumBattlePyramidEventObjects(void)
{
u8 i;
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
@@ -1896,14 +1959,14 @@ u8 sub_81AAA40(void)
return i;
}
-static void InitBagItems(u8 lvlMode)
+static void InitPyramidBagItems(u8 lvlMode)
{
- s32 i;
+ int i;
for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++)
{
- gSaveBlock2Ptr->frontier.pyramidBag.itemId[lvlMode][i] = 0;
- gSaveBlock2Ptr->frontier.pyramidBag.quantity[lvlMode][i] = 0;
+ gSaveBlock2Ptr->frontier.pyramidBag.itemId[lvlMode][i] = ITEM_NONE;
+ gSaveBlock2Ptr->frontier.pyramidBag.quantity[lvlMode][i] = ITEM_NONE;
}
AddPyramidBagItem(ITEM_HYPER_POTION, 1);
@@ -1912,10 +1975,10 @@ static void InitBagItems(u8 lvlMode)
u16 GetBattlePyramidPickupItemId(void)
{
- s32 rand;
+ int rand;
u32 i;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- s32 round = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7);
+ int round = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7);
if (round >= TOTAL_ROUNDS)
round = TOTAL_ROUNDS - 1;
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index 9bed2ab43..1f0672dcb 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -338,7 +338,7 @@ static const struct SpriteTemplate gUnknown_0861F3D4 =
};
// code
-void sub_81C4EEC(void)
+void InitBattlePyramidBagCursorPosition(void)
{
gPyramidBagCursorData.cursorPosition = 0;
gPyramidBagCursorData.scrollPosition = 0;
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 6023b2c1b..a53fa30f2 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -6721,10 +6721,10 @@ static void atk76_various(void)
MarkBattlerForControllerExec(gActiveBattler);
break;
case 14:
- sub_81A5BF8();
+ DrawArenaRefereeTextBox();
break;
case 15:
- sub_81A5D44();
+ RemoveArenaRefereeTextBox();
break;
case VARIOUS_ARENA_JUDGMENT_STRING:
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
diff --git a/src/battle_setup.c b/src/battle_setup.c
index f5e9e3e9e..7626420e9 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -874,8 +874,8 @@ u8 sub_80B100C(s32 arg0)
return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)];
}
- var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 0]
- + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 1];
+ var = gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 0]
+ + gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 1];
return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)];
}
@@ -1266,7 +1266,7 @@ void BattleSetup_StartTrainerBattle(void)
ZeroMonData(&gEnemyParty[2]);
}
- sub_81A9B04();
+ MarkApproachingPyramidTrainersAsBattled();
}
else if (sub_81D5C18())
{
diff --git a/src/battle_tent.c b/src/battle_tent.c
index cb8149253..b07020822 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -329,7 +329,7 @@ static void sub_81B9EC0(void)
if (j != i + firstMonId)
continue;
- gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
+ gSaveBlock2Ptr->frontier.rentalMons[i].monId = monSetId;
species[i] = gFacilityTrainerMons[monSetId].species;
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
monIds[i] = monSetId;
@@ -356,7 +356,7 @@ static void sub_81BA040(void)
trainerId = Random() % 30;
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
@@ -370,7 +370,7 @@ static void sub_81BA040(void)
}
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
i = 0;
@@ -379,7 +379,7 @@ static void sub_81BA040(void)
sRandMonSetId = monSets[Random() % setsCount];
for (j = 0; j < 6; j++)
{
- if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
+ if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)
break;
}
if (j != 6)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 088ef7972..fbb77789e 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -1311,15 +1311,15 @@ static void ChooseNextBattleTowerTrainer(void)
if (battleMode == FRONTIER_MODE_MULTIS || battleMode == FRONTIER_MODE_LINK_MULTIS)
{
id = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.field_CB4[id * 2];
- gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.field_CB4[id * 2 + 1];
+ gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.trainerIds[id * 2];
+ gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.trainerIds[id * 2 + 1];
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
}
else if (ChooseSpecialBattleTowerTrainer())
{
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
}
else
{
@@ -1331,7 +1331,7 @@ static void ChooseNextBattleTowerTrainer(void)
// Ensure trainer wasn't previously fought in this challenge.
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == id)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == id)
break;
}
if (i == gSaveBlock2Ptr->frontier.curChallengeBattleNum)
@@ -1341,7 +1341,7 @@ static void ChooseNextBattleTowerTrainer(void)
gTrainerBattleOpponent_A = id;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum + 1 < 7)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
}
}
}
@@ -2250,7 +2250,7 @@ void DoSpecialTrainerBattle(void)
break;
case FRONTIER_MODE_MULTIS:
FillFrontierTrainersParties(2);
- gPartnerTrainerId = gSaveBlock2Ptr->frontier.field_CB4[17];
+ gPartnerTrainerId = gSaveBlock2Ptr->frontier.trainerIds[17];
FillPartnerParty(gPartnerTrainerId);
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS;
break;
@@ -2524,32 +2524,32 @@ static void sub_81642A0(void)
trainerId = sub_8162548(challengeNum, 0);
for (i = 0; i < j; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
- if (gFacilityTrainers[gSaveBlock2Ptr->frontier.field_CB4[i]].facilityClass == gFacilityTrainers[trainerId].facilityClass)
+ if (gFacilityTrainers[gSaveBlock2Ptr->frontier.trainerIds[i]].facilityClass == gFacilityTrainers[trainerId].facilityClass)
break;
}
} while (i != j);
- gSaveBlock2Ptr->frontier.field_CB4[j] = trainerId;
+ gSaveBlock2Ptr->frontier.trainerIds[j] = trainerId;
j++;
} while (j < 6);
r10 = 8;
for (i = 0; i < 6; i++)
{
- trainerId = gSaveBlock2Ptr->frontier.field_CB4[i];
+ trainerId = gSaveBlock2Ptr->frontier.trainerIds[i];
eventObjTemplates[i + 1].graphicsId = GetBattleFacilityTrainerGfxId(trainerId);
for (j = 0; j < 2; j++)
{
while (1)
{
monSetId = RandomizeFacilityTrainerMonSet(trainerId);
- if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
continue;
for (k = 8; k < r10; k++)
{
- if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[k]].species == gFacilityTrainerMons[monSetId].species)
+ if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monSetId].species)
break;
if (species1 == gFacilityTrainerMons[monSetId].species)
break;
@@ -2560,7 +2560,7 @@ static void sub_81642A0(void)
break;
}
- gSaveBlock2Ptr->frontier.field_CB4[r10] = monSetId;
+ gSaveBlock2Ptr->frontier.trainerIds[r10] = monSetId;
r10++;
}
}
@@ -2591,10 +2591,10 @@ static void sub_81642A0(void)
}
if (r10 != 0)
{
- gSaveBlock2Ptr->frontier.field_CB4[6] = spArray[Random() % r10];
- eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[6]);
+ gSaveBlock2Ptr->frontier.trainerIds[6] = spArray[Random() % r10];
+ eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]);
FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1);
- sub_81640E0(gSaveBlock2Ptr->frontier.field_CB4[6]);
+ sub_81640E0(gSaveBlock2Ptr->frontier.trainerIds[6]);
}
r10 = 0;
@@ -2634,10 +2634,10 @@ static void sub_81642A0(void)
}
if (r10 != 0)
{
- gSaveBlock2Ptr->frontier.field_CB4[7] = spArray[Random() % r10];
- eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[7]);
+ gSaveBlock2Ptr->frontier.trainerIds[7] = spArray[Random() % r10];
+ eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]);
FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2);
- sub_8164188(gSaveBlock2Ptr->frontier.field_CB4[7]);
+ sub_8164188(gSaveBlock2Ptr->frontier.trainerIds[7]);
}
}
@@ -2684,7 +2684,7 @@ static void sub_8164828(void)
u16 winStreak = GetCurrentFacilityWinStreak();
s32 challengeNum = winStreak / 7;
s32 k = gSpecialVar_LastTalked - 2;
- s32 trainerId = gSaveBlock2Ptr->frontier.field_CB4[k];
+ s32 trainerId = gSaveBlock2Ptr->frontier.trainerIds[k];
for (arrId = 0; arrId < ARRAY_COUNT(gUnknown_085DD500); arrId++)
{
@@ -2717,29 +2717,29 @@ static void sub_8164828(void)
}
break;
case 1:
- monSetId = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2];
+ monSetId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
sub_81646BC(trainerId, monSetId);
break;
case 2:
- monSetId = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2];
+ monSetId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
sub_81646BC(trainerId, monSetId);
break;
case 3:
gPartnerTrainerId = trainerId;
if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
{
- gSaveBlock2Ptr->frontier.field_CB4[18] = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2];
- gSaveBlock2Ptr->frontier.field_CB4[19] = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2];
+ gSaveBlock2Ptr->frontier.trainerIds[18] = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
+ gSaveBlock2Ptr->frontier.trainerIds[19] = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
}
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
- gSaveBlock2Ptr->frontier.field_CB4[18] = gUnknown_03006298[2];
- gSaveBlock2Ptr->frontier.field_CB4[19] = gUnknown_03006298[3];
+ gSaveBlock2Ptr->frontier.trainerIds[18] = gUnknown_03006298[2];
+ gSaveBlock2Ptr->frontier.trainerIds[19] = gUnknown_03006298[3];
}
else
{
- gSaveBlock2Ptr->frontier.field_CB4[18] = gUnknown_03006298[0];
- gSaveBlock2Ptr->frontier.field_CB4[19] = gUnknown_03006298[1];
+ gSaveBlock2Ptr->frontier.trainerIds[18] = gUnknown_03006298[0];
+ gSaveBlock2Ptr->frontier.trainerIds[19] = gUnknown_03006298[1];
}
for (k = 0; k < 14; k++)
{
@@ -2751,15 +2751,15 @@ static void sub_8164828(void)
for (j = 0; j < k; j++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[j] == i)
+ if (gSaveBlock2Ptr->frontier.trainerIds[j] == i)
break;
}
if (j == k)
break;
}
- gSaveBlock2Ptr->frontier.field_CB4[k] = i;
+ gSaveBlock2Ptr->frontier.trainerIds[k] = i;
}
- gSaveBlock2Ptr->frontier.field_CB4[17] = trainerId;
+ gSaveBlock2Ptr->frontier.trainerIds[17] = trainerId;
break;
case 4:
break;
@@ -2825,12 +2825,12 @@ static void sub_8164B74(void)
trainerId = sub_8162548(challengeNum, i / 2);
for (j = 0; j < i; j++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[j] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[j] == trainerId)
break;
}
} while (i != j);
if (i == j) // This condition is always true, because of the loop above.
- gSaveBlock2Ptr->frontier.field_CB4[i] = trainerId;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = trainerId;
}
gSpecialVar_Result = 2;
}
@@ -2838,7 +2838,7 @@ static void sub_8164B74(void)
case 2:
if (IsLinkTaskFinished())
{
- SendBlock(bitmask_all_link_players_but_self(), &gSaveBlock2Ptr->frontier.field_CB4, sizeof(gSaveBlock2Ptr->frontier.field_CB4));
+ SendBlock(bitmask_all_link_players_but_self(), &gSaveBlock2Ptr->frontier.trainerIds, sizeof(gSaveBlock2Ptr->frontier.trainerIds));
gSpecialVar_Result = 3;
}
break;
@@ -2846,9 +2846,9 @@ static void sub_8164B74(void)
if ((GetBlockReceivedStatus() & 3) == 3)
{
ResetBlockReceivedFlags();
- memcpy(&gSaveBlock2Ptr->frontier.field_CB4, gBlockRecvBuffer, sizeof(gSaveBlock2Ptr->frontier.field_CB4));
- gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.field_CB4[battleNum * 2];
- gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.field_CB4[battleNum * 2 + 1];
+ memcpy(&gSaveBlock2Ptr->frontier.trainerIds, gBlockRecvBuffer, sizeof(gSaveBlock2Ptr->frontier.trainerIds));
+ gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.trainerIds[battleNum * 2];
+ gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.trainerIds[battleNum * 2 + 1];
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType == 0)
@@ -2880,7 +2880,7 @@ static void sub_8164DCC(void)
static void sub_8164DE4(void)
{
- SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[17], 0xF);
+ SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
}
static void sub_8164E04(void)
@@ -3213,7 +3213,7 @@ static void FillPartnerParty(u16 trainerId)
otID = Random32();
for (i = 0; i < 2; i++)
{
- monSetId = gSaveBlock2Ptr->frontier.field_CB4[i + 18];
+ monSetId = gSaveBlock2Ptr->frontier.trainerIds[i + 18];
CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i],
gFacilityTrainerMons[monSetId].species,
level,
@@ -3243,7 +3243,7 @@ static void FillPartnerParty(u16 trainerId)
for (i = 0; i < 2; i++)
{
struct EmeraldBattleTowerRecord *record = &gSaveBlock2Ptr->frontier.towerRecords[trainerId];
- struct BattleTowerPokemon monData = record->party[gSaveBlock2Ptr->frontier.field_CB4[18 + i]];
+ struct BattleTowerPokemon monData = record->party[gSaveBlock2Ptr->frontier.trainerIds[18 + i]];
StringCopy(trainerName, record->name);
if (record->language == LANGUAGE_JAPANESE)
{
@@ -3269,7 +3269,7 @@ static void FillPartnerParty(u16 trainerId)
trainerId -= TRAINER_RECORD_MIXING_APPRENTICE;
for (i = 0; i < 2; i++)
{
- CreateApprenticeMon(&gPlayerParty[3 + i], &gSaveBlock2Ptr->apprentices[trainerId], gSaveBlock2Ptr->frontier.field_CB4[18 + i]);
+ CreateApprenticeMon(&gPlayerParty[3 + i], &gSaveBlock2Ptr->apprentices[trainerId], gSaveBlock2Ptr->frontier.trainerIds[18 + i]);
j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_APPRENTICE);
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
}
@@ -3564,7 +3564,7 @@ static void sub_8165E18(void)
trainerId = sub_8165D40();
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
@@ -3572,7 +3572,7 @@ static void sub_8165E18(void)
gTrainerBattleOpponent_A = trainerId;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum + 1 < 3)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
}
static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
diff --git a/src/bug.c b/src/bug.c
index 31d1a9740..88f93a3d5 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -433,7 +433,7 @@ static void AnimMissileArcStep(struct Sprite *sprite)
{
sprite->invisible = FALSE;
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
DestroyAnimSprite(sprite);
}
@@ -453,7 +453,7 @@ static void AnimMissileArcStep(struct Sprite *sprite)
x2 += x1;
y2 += y1;
- if (!TranslateAnimArc(sprite))
+ if (!TranslateAnimHorizontalArc(sprite))
{
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
sprite->pos1.y + sprite->pos2.y - y2);
diff --git a/src/dark.c b/src/dark.c
index ecd466da8..80ce61800 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -389,14 +389,14 @@ void sub_8113A90(struct Sprite *sprite)
static void sub_8113B90(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroySpriteAndMatrix(sprite);
}
void sub_8113BAC(u8 taskId)
{
struct ScanlineEffectParams scanlineParams;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
u16 i;
u8 pos;
int var0;
@@ -420,10 +420,10 @@ void sub_8113BAC(u8 taskId)
task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[3] == 1)
{
- sub_80A6B30(&unknownStruct);
+ sub_80A6B30(&animBg);
task->data[10] = gBattle_BG1_Y;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
- FillPalette(0, unknownStruct.unk8 << 4, 32);
+ FillPalette(0, animBg.paletteId * 16, 32);
scanlineParams.dmaDest = &REG_BG1VOFS;
var0 = WINOUT_WIN01_BG1;
if (!IsContest())
@@ -524,7 +524,7 @@ static void sub_8113D60(u8 taskId)
void sub_8113E78(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
struct ScanlineEffectParams scanlineParams;
u8 x;
u16 i;
@@ -561,14 +561,14 @@ void sub_8113E78(u8 taskId)
case 1:
if (task->data[3] == 1)
{
- sub_80A6B30(&unknownStruct);
+ sub_80A6B30(&animBg);
task->data[10] = gBattle_BG1_Y;
- FillPalette(0, unknownStruct.unk8 << 4, 32);
+ FillPalette(0, animBg.paletteId * 16, 32);
}
else
{
task->data[10] = gBattle_BG2_Y;
- FillPalette(0, 144, 32);
+ FillPalette(0, 9 * 16, 32);
}
sub_8114374(3);
@@ -809,7 +809,7 @@ void sub_81144F8(u8 taskId)
u8 spriteId;
u8 newSpriteId;
u16 paletteNum;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
int var0 = 0;
gBattle_WIN0H = var0;
@@ -852,10 +852,10 @@ void sub_81144F8(u8 taskId)
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
- sub_80A6B30(&unknownStruct);
- sub_80A6D48(unknownStruct.bgId, gUnknown_08C1D210);
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08C1D0AC, unknownStruct.tilesOffset);
- LoadCompressedPalette(gUnknown_08C1D1E8, unknownStruct.unk8 << 4, 32);
+ sub_80A6B30(&animBg);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
+ AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
+ LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96;
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
@@ -876,7 +876,7 @@ void sub_81144F8(u8 taskId)
static void sub_8114748(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
u16 paletteNum;
u8 spriteId;
u8 taskIdCopy = taskId;
@@ -896,8 +896,8 @@ static void sub_8114748(u8 taskId)
SetGreyscaleOrOriginalPalette(paletteNum, 1);
DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]);
- sub_80A6B30(&unknownStruct);
- sub_80A6C68(unknownStruct.bgId);
+ sub_80A6B30(&animBg);
+ sub_80A6C68(animBg.bgId);
if (gTasks[taskIdCopy].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
}
diff --git a/src/dragon.c b/src/dragon.c
index 9b39a8a30..befaf52e7 100644
--- a/src/dragon.c
+++ b/src/dragon.c
@@ -209,7 +209,7 @@ void sub_8113064(struct Sprite *sprite)
sprite->data[5] = gBattleAnimArgs[5];
sprite->invisible = 1;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A66DC;
+ sprite->callback = TranslateSpriteLinearAndFlicker;
}
static void sub_8113100(struct Sprite *sprite)
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 6e1bae31e..ba62db10d 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -1,4 +1,6 @@
#include "global.h"
+#include "alloc.h"
+#include "battle_pyramid.h"
#include "berry.h"
#include "decoration.h"
#include "event_data.h"
@@ -9,14 +11,12 @@
#include "field_effect_helpers.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "alloc.h"
#include "mauville_old_man.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "palette.h"
#include "pokenav.h"
#include "random.h"
-#include "rom_818CFC8.h"
#include "sprite.h"
#include "task.h"
#include "trainer_see.h"
@@ -1420,7 +1420,7 @@ u8 Unref_TryInitLocalEventObject(u8 localId)
{
if (InBattlePyramid())
{
- eventObjectCount = sub_81AAA40();
+ eventObjectCount = GetNumBattlePyramidEventObjects();
}
else if (InTrainerHill())
{
@@ -1746,7 +1746,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
if (InBattlePyramid())
{
- objectCount = sub_81AAA40();
+ objectCount = GetNumBattlePyramidEventObjects();
}
else if (InTrainerHill())
{
diff --git a/src/field_poison.c b/src/field_poison.c
index 89cd02728..532c7f027 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "battle.h"
#include "battle_pike.h"
+#include "battle_pyramid.h"
#include "event_data.h"
#include "field_message_box.h"
#include "field_poison.h"
@@ -8,7 +9,6 @@
#include "frontier_util.h"
#include "party_menu.h"
#include "pokenav.h"
-#include "rom_818CFC8.h"
#include "script.h"
#include "string_util.h"
#include "strings.h"
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index b9e9272d4..93017f125 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -1004,9 +1004,9 @@ void WriteFlashScanlineEffectBuffer(u8 flashLevel)
}
}
-void door_upload_tiles(void)
+void WriteBattlePyramidViewScanlineEffectBuffer(void)
{
- SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], 120, 80, gSaveBlock2Ptr->frontier.field_E68);
+ SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], 120, 80, gSaveBlock2Ptr->frontier.pyramidLightRadius);
CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
}
diff --git a/src/field_specials.c b/src/field_specials.c
index f2ebf2b8e..3c26085dd 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1956,7 +1956,7 @@ void sub_8139D98(void)
}
}
-bool32 warp0_in_pokecenter(void)
+bool8 warp0_in_pokecenter(void)
{
static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xFFFF };
diff --git a/src/fieldmap.c b/src/fieldmap.c
index f67f61ede..7d9d079fc 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_pyramid.h"
#include "bg.h"
#include "fieldmap.h"
#include "fldeff.h"
@@ -15,8 +16,6 @@
#include "tv.h"
#include "constants/rgb.h"
-extern void sub_81AA078(u16*, u8);
-
struct ConnectionFlags
{
u8 south:1;
@@ -67,10 +66,10 @@ void InitMapFromSavedGame(void)
UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height);
}
-void InitBattlePyramidMap(u8 a0)
+void InitBattlePyramidMap(bool8 setPlayerPosition)
{
CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
- sub_81AA078(gBackupMapData, a0);
+ GenerateBattlePyramidFloorLayout(gBackupMapData, setPlayerPosition);
}
void InitTrainerHillMap(void)
diff --git a/src/fire.c b/src/fire.c
index 5f501a340..d428dc13b 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -479,7 +479,7 @@ static void sub_8108F08(struct Sprite *sprite)
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
- sprite->callback = AnimTranslateLinearSimple;
+ sprite->callback = TranslateSpriteLinearFixedPoint;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -726,7 +726,7 @@ static void AnimFireCross(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateSpriteOverDuration;
+ sprite->callback = TranslateSpriteLinear;
}
static void sub_81093A4(struct Sprite *sprite)
@@ -1280,9 +1280,9 @@ static void sub_8109E2C(u8 taskId)
// arg 1: color code
void AnimTask_BlendBackground(u8 taskId)
{
- struct UnknownAnimStruct2 unk;
- sub_80A6B30(&unk);
- BlendPalette(unk.unk8 << 4, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); // u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor
+ struct BattleAnimBgData animBg;
+ sub_80A6B30(&animBg);
+ BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); // u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor
DestroyAnimVisualTask(taskId);
}
diff --git a/src/frontier_util.c b/src/frontier_util.c
index 742b73858..e6954c356 100644
--- a/src/frontier_util.c
+++ b/src/frontier_util.c
@@ -1827,7 +1827,7 @@ void sub_81A3ACC(void)
s32 i;
for (i = 0; i < 20; i++)
- gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
static void sub_81A3B00(void)
diff --git a/src/ghost.c b/src/ghost.c
index d26a4d1cb..998be0caa 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -275,7 +275,7 @@ static void sub_81116E8(struct Sprite *sprite)
if (sprite->data[6] == 0)
{
sprite->invisible = TRUE;
- sprite->callback = sub_80A67F4;
+ sprite->callback = DestroyAnimSpriteAndDisableBlend;
}
else
sub_8111764(sprite);
@@ -536,7 +536,7 @@ void sub_8111C50(u8 taskId)
gSprites[task->data[0]].data[3] = 0;
gSprites[task->data[0]].data[4] = 0;
StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy);
- gSprites[task->data[0]].callback = AnimTranslateLinearSimple;
+ gSprites[task->data[0]].callback = TranslateSpriteLinearFixedPoint;
task->func = sub_8111D78;
}
diff --git a/src/graphics.c b/src/graphics.c
index 90b705d2f..c6af13477 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -592,9 +592,9 @@ const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/ba
const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz");
const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz");
-const u32 gUnknown_08C1D0AC[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz");
-const u32 gUnknown_08C1D1E8[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz");
-const u32 gUnknown_08C1D210[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.bin.lz");
+const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz");
+const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz");
+const u32 gMetalShineTilemap[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.bin.lz");
const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); // ghost
const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz");
@@ -984,8 +984,8 @@ const u32 gUnknown_08D85358[] = INCBIN_U32("graphics/battle_frontier/options_pal
const u32 gUnknown_08D85444[] = INCBIN_U32("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal
const u32 gUnknown_08D854C8[] = INCBIN_U32("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal
-const u32 gUnknown_08D854E8[] = INCBIN_U32("graphics/battle_frontier/symbols.4bpp.lz");
-const u32 gUnknown_08D855E8[] = INCBIN_U32("graphics/battle_frontier/symbols.gbapal.lz");
+const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.4bpp.lz");
+const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz");
const u32 gUnknown_08D85600[] = INCBIN_U32("graphics/battle_frontier/text.gbapal.lz");
const u16 gUnknown_08D85620[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal");
diff --git a/src/ground.c b/src/ground.c
index 807205ad8..ae3cf6c3e 100644
--- a/src/ground.c
+++ b/src/ground.c
@@ -153,7 +153,7 @@ void AnimBonemerangProjectile(struct Sprite *sprite)
static void AnimBonemerangProjectileStep(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
@@ -170,7 +170,7 @@ static void AnimBonemerangProjectileStep(struct Sprite *sprite)
static void AnimBonemerangProjectileEnd(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
@@ -530,7 +530,7 @@ void AnimFissureDirtPlumeParticle(struct Sprite *sprite)
static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
diff --git a/src/ice.c b/src/ice.c
index d354fce7e..34ad572e8 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -1176,7 +1176,7 @@ void AnimSwirlingFogAnim(struct Sprite *sprite)
// Fades mons to black and places foggy overlay in Haze.
void AnimTask_Haze1(u8 taskId)
{
- struct UnknownAnimStruct2 subStruct;
+ struct BattleAnimBgData animBg;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
@@ -1191,17 +1191,17 @@ void AnimTask_Haze1(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80A6B30(&subStruct);
- LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
- sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
- LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
+ sub_80A6B30(&animBg);
+ LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset);
+ sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
+ LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
gTasks[taskId].func = AnimTask_Haze2;
}
void AnimTask_Haze2(u8 taskId)
{
- struct UnknownAnimStruct2 subStruct;
+ struct BattleAnimBgData animBg;
gBattle_BG1_X += -1;
gBattle_BG1_Y += 0;
@@ -1245,7 +1245,7 @@ void AnimTask_Haze2(u8 taskId)
}
break;
case 3:
- sub_80A6B30(&subStruct);
+ sub_80A6B30(&animBg);
sub_80A6C68(1);
sub_80A6C68(2);
@@ -1283,7 +1283,7 @@ void AnimThrowMistBall(struct Sprite *sprite)
// Displays misty background in Mist Ball.
void AnimTask_LoadMistTiles(u8 taskId)
{
- struct UnknownAnimStruct2 subStruct;
+ struct BattleAnimBgData animBg;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
@@ -1298,10 +1298,10 @@ void AnimTask_LoadMistTiles(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80A6B30(&subStruct);
- LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
- sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
- LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
+ sub_80A6B30(&animBg);
+ LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset);
+ sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
+ LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
gTasks[taskId].data[15] = -1;
gTasks[taskId].func = AnimTask_OverlayFogTiles;
@@ -1309,7 +1309,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
void AnimTask_OverlayFogTiles(u8 taskId)
{
- struct UnknownAnimStruct2 subStruct;
+ struct BattleAnimBgData animBg;
gBattle_BG1_X += gTasks[taskId].data[15];
gBattle_BG1_Y += 0;
@@ -1347,7 +1347,7 @@ void AnimTask_OverlayFogTiles(u8 taskId)
}
break;
case 3:
- sub_80A6B30(&subStruct);
+ sub_80A6B30(&animBg);
sub_80A6C68(1);
sub_80A6C68(2);
@@ -1887,7 +1887,7 @@ void InitIceBallAnim(struct Sprite *sprite)
// Throws the ball of ice in Ice Ball.
void AnimThrowIceBall(struct Sprite *sprite)
{
- if (!TranslateAnimArc(sprite))
+ if (!TranslateAnimHorizontalArc(sprite))
return;
StartSpriteAnim(sprite, 1);
diff --git a/src/item_menu.c b/src/item_menu.c
index 24a50aa9a..43f2afce3 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -2,6 +2,7 @@
#include "item_menu.h"
#include "battle.h"
#include "battle_controllers.h"
+#include "battle_pyramid.h"
#include "frontier_util.h"
#include "berry_tag_screen.h"
#include "bg.h"
@@ -33,7 +34,6 @@
#include "player_pc.h"
#include "pokemon.h"
#include "pokemon_summary_screen.h"
-#include "rom_818CFC8.h"
#include "scanline_effect.h"
#include "script.h"
#include "shop.h"
diff --git a/src/item_use.c b/src/item_use.c
index 0ea5f6acf..97d6292c4 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "item_use.h"
#include "battle.h"
+#include "battle_pyramid.h"
#include "battle_pyramid_bag.h"
#include "berry.h"
#include "bike.h"
@@ -24,7 +25,6 @@
#include "party_menu.h"
#include "pokeblock.h"
#include "pokemon.h"
-#include "rom_818CFC8.h"
#include "script.h"
#include "sound.h"
#include "strings.h"
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index 0d88815c0..cdb4c3330 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_pyramid.h"
#include "bg.h"
#include "event_data.h"
#include "gpu_regs.h"
@@ -7,7 +8,6 @@
#include "map_name_popup.h"
#include "palette.h"
#include "region_map.h"
-#include "rom_818CFC8.h"
#include "start_menu.h"
#include "string_util.h"
#include "task.h"
diff --git a/src/new_game.c b/src/new_game.c
index 158120245..f68ed3d4f 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -8,6 +8,7 @@
#include "lottery_corner.h"
#include "play_time.h"
#include "mauville_old_man.h"
+#include "match_call.h"
#include "lilycove_lady.h"
#include "load_save.h"
#include "pokeblock.h"
@@ -47,7 +48,6 @@ extern void NewGameInitPCItems(void);
extern void ClearDecorationInventories(void);
extern void ResetFanClub(void);
extern void copy_strings_to_sav1(void);
-extern void InitMatchCallCounters(void);
extern void sub_801AFD8(void);
extern void sub_800E5AC(void);
extern void ResetContestLinkResults(void);
diff --git a/src/normal.c b/src/normal.c
index 95c99d29e..87c8792f1 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -323,14 +323,14 @@ void AnimSimplePaletteBlend(struct Sprite *sprite)
// 6: BG palette 5
u32 UnpackSelectedBattleAnimPalettes(s16 selector)
{
- u8 arg0 = selector & 1;
- u8 arg1 = (selector >> 1) & 1;
- u8 arg2 = (selector >> 2) & 1;
- u8 arg3 = (selector >> 3) & 1;
- u8 arg4 = (selector >> 4) & 1;
+ u8 battleBackground = selector & 1;
+ u8 attacker = (selector >> 1) & 1;
+ u8 target = (selector >> 2) & 1;
+ u8 attackerPartner = (selector >> 3) & 1;
+ u8 targetPartner = (selector >> 4) & 1;
u8 arg5 = (selector >> 5) & 1;
u8 arg6 = (selector >> 6) & 1;
- return sub_80A75AC(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+ return sub_80A75AC(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6);
}
static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
diff --git a/src/overworld.c b/src/overworld.c
index 8d4c24ff6..08fd94c1b 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -19,6 +19,7 @@
#include "field_tasks.h"
#include "field_weather.h"
#include "fieldmap.h"
+#include "fldeff.h"
#include "gpu_regs.h"
#include "heal_location.h"
#include "link.h"
@@ -28,6 +29,7 @@
#include "alloc.h"
#include "m4a.h"
#include "map_name_popup.h"
+#include "match_call.h"
#include "menu.h"
#include "metatile_behavior.h"
#include "mirage_tower.h"
@@ -42,14 +44,15 @@
#include "save.h"
#include "save_location.h"
#include "script.h"
-// #include "script_pokemon_80C4.h"
+#include "script_pokemon_util_80F87D8.h"
#include "secret_base.h"
#include "sound.h"
#include "start_menu.h"
#include "task.h"
-// #include "tileset_anim.h"
+#include "tileset_anims.h"
#include "time_events.h"
#include "trainer_hill.h"
+#include "trainer_pokemon_sprites.h"
#include "tv.h"
#include "scanline_effect.h"
#include "wild_encounter.h"
@@ -85,74 +88,11 @@ extern const u8 gUnknown_082773F5[];
extern const u8 gUnknown_082774EF[];
extern const u8 gUnknown_08277509[];
-// vars
extern const struct MapLayout *const gMapLayouts[];
extern const struct MapHeader *const *const gMapGroups[];
-extern const s32 gMaxFlashLevel;
+extern const int gMaxFlashLevel;
extern const u16 gUnknown_82EC7C4[];
-// functions
-extern void HealPlayerParty(void);
-extern void move_tilemap_camera_to_upper_left_corner(void);
-extern void cur_mapheader_run_tileset_funcs_after_some_cpuset(void);
-extern void DrawWholeMapView(void);
-extern void copy_map_tileset1_tileset2_to_vram(const struct MapLayout *);
-extern void apply_map_tileset1_tileset2_palette(const struct MapLayout *);
-extern void ResetCyclingRoadChallengeData(void);
-extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
-extern void mapheader_run_script_with_tag_x5(void);
-extern void ResetFieldTasksArgs(void);
-extern void sub_80A0A2C(void);
-extern void apply_map_tileset2_palette(const struct MapLayout *);
-extern void copy_map_tileset2_to_vram_2(const struct MapLayout *);
-extern void RestartWildEncounterImmunitySteps(void);
-extern void ShowMapNamePopup(void);
-extern bool32 sub_808651C(void);
-extern bool8 sub_80AF6A4(void);
-extern bool8 sub_80E909C(void);
-extern void sub_81AA1D8(void);
-extern void c2_change_map(void);
-extern void sub_81D5DF8(void);
-extern void sub_80EB218(void);
-extern void sub_80AF3C8(void);
-extern void sub_808B578(void);
-extern void sub_80AF314(void);
-extern void sub_80AF214(void);
-extern void sub_80AF188(void);
-extern void door_upload_tiles(void);
-extern void RotatingGate_InitPuzzleAndGraphics(void);
-extern void sub_80AF168(void);
-extern void sub_80AF3C8(void);
-extern void ExecuteTruckSequence(void);
-extern void sub_80A0A38(void);
-extern void WriteFlashScanlineEffectBuffer(u8);
-extern void sub_81AA2F8(void);
-extern void InitMatchCallCounters(void);
-extern void sub_80EDB44(void);
-extern void InitFieldMessageBox(void);
-extern void copy_map_tileset1_to_vram(const struct MapLayout *);
-extern void copy_map_tileset2_to_vram(const struct MapLayout *);
-extern void FieldUpdateBgTilemapScroll(void);
-extern void TransferTilesetAnimsBuffer(void);
-extern bool8 warp0_in_pokecenter(void);
-extern void ResetAllPicSprites(void);
-extern void FieldEffectActiveListClear(void);
-extern void SetUpFieldTasks(void);
-extern void ShowStartMenu(void);
-extern void sub_80AEE84(void);
-extern void mapldr_default(void);
-extern bool32 sub_800F0B8(void);
-extern bool32 sub_8009F3C(void);
-extern void sub_8010198(void);
-extern u32 sub_800B4DC(void);
-extern bool32 sub_80B39D4(u8);
-extern const u8* GetInteractedLinkPlayerScript(struct MapPosition *a1, u8, u8);
-extern u8 *GetCoordEventScriptAtMapPosition(void*);
-extern u8 GetFRLGAvatarGraphicsIdByGender(u8);
-extern u8 GetRSAvatarGraphicsIdByGender(u8);
-extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
-
-// this file's functions
static void Overworld_ResetStateAfterWhiteOut(void);
static void c2_80567AC(void);
static void CB2_LoadMap2(void);
@@ -588,7 +528,7 @@ static void mapdata_load_assets_to_gpu_and_full_redraw(void)
copy_map_tileset1_tileset2_to_vram(gMapHeader.mapLayout);
apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout);
DrawWholeMapView();
- cur_mapheader_run_tileset_funcs_after_some_cpuset();
+ InitTilesetAnimations();
}
const struct MapLayout *GetMapLayout(void)
@@ -868,7 +808,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum)
for (paletteIndex = 6; paletteIndex < 13; paletteIndex++)
ApplyWeatherGammaShiftToPal(paletteIndex);
- sub_80A0A2C();
+ InitSecondaryTilesetAnimation();
UpdateLocationHistoryForRoamer();
RoamerMove();
DoCurrentWeather();
@@ -888,7 +828,7 @@ static void mli0_load_map(u32 a1)
if (!(sUnknown_020322D8 & 1))
{
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
- sub_81AA1D8();
+ LoadBattlePyramidEventObjectTemplates();
else if (InTrainerHill())
sub_81D5DF8();
else
@@ -916,7 +856,7 @@ static void mli0_load_map(u32 a1)
UpdateLocationHistoryForRoamer();
RoamerMoveToOtherLocationSet();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
- InitBattlePyramidMap(0);
+ InitBattlePyramidMap(FALSE);
else if (InTrainerHill())
InitTrainerHillMap();
else
@@ -1511,7 +1451,7 @@ static void OverworldBasic(void)
UpdateCameraPanning();
BuildOamBuffer();
UpdatePaletteFade();
- sub_80A0A38();
+ UpdateTilesetAnimations();
do_scheduled_bg_tilemap_copies_to_vram();
}
@@ -1755,7 +1695,7 @@ void CB2_ContinueSavedGame(void)
ClearDiveAndHoleWarps();
trainerHillMapId = GetCurrentTrainerHillMapId();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
- sub_81AA2F8();
+ LoadBattlePyramidFloorEventObjectScripts();
else if (trainerHillMapId != 0 && trainerHillMapId != 6)
sub_81D5F48();
else
@@ -1765,7 +1705,7 @@ void CB2_ContinueSavedGame(void)
DoTimeBasedEvents();
sub_8084788();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
- InitBattlePyramidMap(1);
+ InitBattlePyramidMap(TRUE);
else if (trainerHillMapId != 0)
InitTrainerHillMap();
else
@@ -1836,7 +1776,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
if (InBattlePyramid_())
{
- door_upload_tiles();
+ WriteBattlePyramidViewScanlineEffectBuffer();
ScanlineEffect_SetParams(sFlashEffectParams);
}
else if ((flashLevel = Overworld_GetFlashLevel()))
@@ -1903,7 +1843,7 @@ static bool32 map_loading_iteration_3(u8 *state)
(*state)++;
break;
case 10:
- cur_mapheader_run_tileset_funcs_after_some_cpuset();
+ InitTilesetAnimations();
(*state)++;
break;
case 11:
@@ -1978,7 +1918,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2)
(*state)++;
break;
case 10:
- cur_mapheader_run_tileset_funcs_after_some_cpuset();
+ InitTilesetAnimations();
(*state)++;
break;
case 11:
@@ -2075,7 +2015,7 @@ static bool32 map_loading_iteration_2_link(u8 *state)
(*state)++;
break;
case 9:
- cur_mapheader_run_tileset_funcs_after_some_cpuset();
+ InitTilesetAnimations();
(*state)++;
break;
case 11:
diff --git a/src/poison.c b/src/poison.c
index a72aab111..c86ec2cd8 100644
--- a/src/poison.c
+++ b/src/poison.c
@@ -208,7 +208,7 @@ void sub_810DBAC(struct Sprite *sprite)
static void sub_810DC10(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
@@ -236,7 +236,7 @@ void sub_810DC2C(struct Sprite *sprite)
static void sub_810DCB4(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
@@ -258,7 +258,7 @@ void sub_810DCD0(struct Sprite *sprite)
static void sub_810DD24(struct Sprite *sprite)
{
- AnimTranslateLinearSimple(sprite);
+ TranslateSpriteLinearFixedPoint(sprite);
sprite->data[1] -= sprite->data[5];
sprite->data[2] -= sprite->data[6];
diff --git a/src/pokeball.c b/src/pokeball.c
index 1938d888d..d4605ccd8 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -411,7 +411,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
static void SpriteCB_TestBallThrow(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
u16 ballId;
u8 taskId = sprite->oam.affineParam;
@@ -940,7 +940,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
}
else
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
diff --git a/src/pokemon.c b/src/pokemon.c
index 5f1664450..9553fdf17 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -6081,7 +6081,7 @@ s32 GetBattlerMultiplayerId(u16 a1)
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
{
if (InBattlePyramid())
- return GetTrainerEncounterMusicIdInBattlePyramind(trainerOpponentId);
+ return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId);
else if (sub_81D5C18())
return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId);
else
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index d878d2c9e..46bdc9ef3 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -2801,7 +2801,7 @@ static void CreatePageWindowTilemaps(u8 page)
case PSS_PAGE_INFO:
PutWindowTilemap(0);
PutWindowTilemap(4);
- if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE)
+ if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE)
PutWindowTilemap(8);
PutWindowTilemap(9);
break;
@@ -2852,7 +2852,7 @@ static void ClearPageWindowTilemaps(u8 page)
{
case PSS_PAGE_INFO:
ClearWindowTilemap(4);
- if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE)
+ if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE)
ClearWindowTilemap(8);
ClearWindowTilemap(9);
break;
@@ -2985,7 +2985,7 @@ static void PrintMonOTName(void)
{
u8 windowId;
int x;
- if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE)
+ if (InBattleFactory() != TRUE && sub_81B9E94() != TRUE)
{
windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0);
SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1);
@@ -3000,7 +3000,7 @@ static void PrintMonOTName(void)
static void PrintMonOTID(void)
{
int xPos;
- if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE)
+ if (InBattleFactory() != TRUE && sub_81B9E94() != TRUE)
{
ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5);
xPos = GetStringRightAlignXOffset(1, gStringVar1, 56);
@@ -3030,7 +3030,7 @@ static void BufferMonTrainerMemo(void)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B);
BufferNatureString();
- if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE)
+ if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE)
{
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature);
}
diff --git a/src/psychic.c b/src/psychic.c
index 5756fe97f..6f808b547 100644
--- a/src/psychic.c
+++ b/src/psychic.c
@@ -939,7 +939,7 @@ static void sub_810FD3C(u8 taskId)
void sub_810FDF0(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
FreeOamMatrix(sprite->oam.matrixNum);
DestroySprite(sprite);
diff --git a/src/rock.c b/src/rock.c
index ebf477ec1..14ffc63e0 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -326,7 +326,7 @@ void sub_81109F0(struct Sprite *sprite)
sprite->data[5] = gBattleAnimArgs[2];
StoreSpriteCallbackInData6(sprite, sub_8110A70);
- sprite->callback = sub_80A6450;
+ sprite->callback = TranslateSpriteInEllipseOverDuration;
sprite->callback(sprite);
}
@@ -341,7 +341,7 @@ static void sub_8110A70(struct Sprite *sprite)
sprite->data[4] = -24;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = sub_80A6450;
+ sprite->callback = TranslateSpriteInEllipseOverDuration;
sprite->callback(sprite);
}
@@ -367,7 +367,7 @@ void sub_8110AB4(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
- sprite->callback = AnimTranslateLinearSimple;
+ sprite->callback = TranslateSpriteLinearFixedPoint;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
@@ -402,7 +402,7 @@ static void sub_8110B80(struct Sprite *sprite)
void AnimTask_LoadSandstormBackground(u8 taskId)
{
int var0;
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
var0 = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
@@ -418,10 +418,10 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- sub_80A6B30(&unknownStruct);
- sub_80A6CC0(unknownStruct.bgId, gUnknown_08D8D58C, unknownStruct.tilesOffset);
- sub_80A6D60(&unknownStruct, gUnknown_08D8D410, 0);
- LoadCompressedPalette(gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32);
+ sub_80A6B30(&animBg);
+ AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset);
+ sub_80A6D60(&animBg, gUnknown_08D8D410, 0);
+ LoadCompressedPalette(gBattleAnimSpritePalette_261, animBg.paletteId * 16, 32);
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
var0 = 1;
@@ -432,7 +432,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
static void sub_8110CB0(u8 taskId)
{
- struct UnknownAnimStruct2 unknownStruct;
+ struct BattleAnimBgData animBg;
if (gTasks[taskId].data[0] == 0)
gBattle_BG1_X += -6;
@@ -477,8 +477,8 @@ static void sub_8110CB0(u8 taskId)
}
break;
case 3:
- sub_80A6B30(&unknownStruct);
- sub_80A6C68(unknownStruct.bgId);
+ sub_80A6B30(&animBg);
+ sub_80A6C68(animBg.bgId);
gTasks[taskId].data[12]++;
break;
case 4:
@@ -735,7 +735,7 @@ static void sub_8111214(struct Task *task)
void sub_811131C(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
u8 taskId = FindTaskIdByFunc(sub_81110A4);
if (taskId != 0xFF)
diff --git a/src/start_menu.c b/src/start_menu.c
index 5c7e5365d..d5eec76d2 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -15,7 +15,6 @@
#include "overworld.h"
#include "link.h"
#include "frontier_util.h"
-#include "rom_818CFC8.h"
#include "field_specials.h"
#include "event_object_movement.h"
#include "script.h"
@@ -36,6 +35,7 @@
#include "international_string_util.h"
#include "constants/songs.h"
#include "field_player_avatar.h"
+#include "battle_pyramid.h"
#include "battle_pyramid_bag.h"
#include "battle_pike.h"
#include "new_game.h"
@@ -94,9 +94,7 @@ extern void CB2_Pokedex(void);
extern void PlayRainSoundEffect(void);
extern void CB2_PokeNav(void);
extern void ScriptUnfreezeEventObjects(void);
-extern void sub_81A9EC8(void);
extern void save_serialize_map(void);
-extern void sub_81A9E90(void);
// Menu action callbacks
static bool8 StartMenuPokedexCallback(void);
@@ -751,7 +749,7 @@ static bool8 StartMenuBattlePyramidRetireCallback(void)
return FALSE;
}
-void sub_809FDD4(void) // Called from battle_frontier_2.s
+void sub_809FDD4(void)
{
sub_8197DF8(0, FALSE);
ScriptUnfreezeEventObjects();
@@ -798,7 +796,7 @@ static bool8 SaveCallback(void)
sub_8197DF8(0, TRUE);
ScriptUnfreezeEventObjects();
ScriptContext2_Disable();
- sub_81A9EC8();
+ SoftResetInBattlePyramid();
return TRUE;
}
diff --git a/src/tileset_anims.c b/src/tileset_anims.c
index f7c3cd482..087b75b7c 100644
--- a/src/tileset_anims.c
+++ b/src/tileset_anims.c
@@ -1,5 +1,5 @@
-// Includes
#include "global.h"
+#include "graphics.h"
#include "palette.h"
#include "util.h"
#include "battle_transition.h"
@@ -7,10 +7,6 @@
#include "battle_transition.h"
#include "fieldmap.h"
-// Static type declarations
-
-// Static RAM declarations
-
static EWRAM_DATA struct {
const u16 *src;
u16 *dest;
@@ -18,211 +14,209 @@ static EWRAM_DATA struct {
} sTilesetDMA3TransferBuffer[20] = {0};
static u8 sTilesetDMA3TransferBufferSize;
-static u16 sPrimaryTilesetCBCounter;
-static u16 sPrimaryTilesetCBBufferSize;
-static u16 sSecondaryTilesetCBCounter;
-static u16 sSecondaryTilesetCBBufferSize;
-static void (*sPrimaryTilesetCB)(u16);
-static void (*sSecondaryTilesetCB)(u16);
-
-// Static ROM declarations
-
-static void cur_mapheader_run_tileset1_func(void);
-static void cur_mapheader_run_tileset2_func(void);
-
-// .rodata
-
-
-const u16 gTilesetAnims_General0_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_General0_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_General0_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/0/2.4bpp");
-
+static u16 sPrimaryTilesetAnimCounter;
+static u16 sPrimaryTilesetAnimCounterMax;
+static u16 sSecondaryTilesetAnimCounter;
+static u16 sSecondaryTilesetAnimCounterMax;
+static void (*sPrimaryTilesetAnimCallback)(u16);
+static void (*sSecondaryTilesetAnimCallback)(u16);
+
+static void _InitPrimaryTilesetAnimation(void);
+static void _InitSecondaryTilesetAnimation(void);
+static void TilesetAnim_General(u16);
+static void TilesetAnim_Building(u16);
+static void TilesetAnim_Rustboro(u16);
+static void TilesetAnim_Dewford(u16);
+static void TilesetAnim_Slateport(u16);
+static void TilesetAnim_Mauville(u16);
+static void TilesetAnim_Lavaridge(u16);
+static void TilesetAnim_EverGrande(u16);
+static void TilesetAnim_Pacifidlog(u16);
+static void TilesetAnim_Sootopolis(u16);
+static void TilesetAnim_BattleFrontierOutsideWest(u16);
+static void TilesetAnim_BattleFrontierOutsideEast(u16);
+static void TilesetAnim_Underwater(u16);
+static void TilesetAnim_SootopolisGym(u16);
+static void TilesetAnim_Cave(u16);
+static void TilesetAnim_EliteFour(u16);
+static void TilesetAnim_MauvilleGym(u16);
+static void TilesetAnim_BikeShop(u16);
+static void TilesetAnim_BattlePyramid(u16);
+static void TilesetAnim_BattleDome(u16);
+static void QueueAnimTiles_General_Flower(u16);
+static void QueueAnimTiles_General_Water(u16);
+static void QueueAnimTiles_General_SandWaterEdge(u16);
+static void QueueAnimTiles_General_Waterfall(u16);
+static void QueueAnimTiles_General_LandWaterEdge(u16);
+static void QueueAnimTiles_Building_TVTurnedOn(u16);
+static void QueueAnimTiles_Rustboro_WindyWater(u16, u8);
+static void QueueAnimTiles_Rustboro_Fountain(u16);
+static void QueueAnimTiles_Dewford_Flag(u16);
+static void QueueAnimTiles_Slateport_Balloons(u16);
+static void QueueAnimTiles_Mauville_Flowers(u16, u8);
+static void QueueAnimTiles_BikeShop_BlinkingLights(u16);
+static void QueueAnimTiles_BattlePyramid_Torch(u16);
+static void QueueAnimTiles_BattlePyramid_StatueShadow(u16);
+static void BlendAnimPalette_BattleDome_FloorLights(u16);
+static void BlendAnimPalette_BattleDome_FloorLightsNoBlend(u16);
+static void QueueAnimTiles_Lavaridge_Steam(u8);
+static void QueueAnimTiles_Lavaridge_Lava(u16);
+static void QueueAnimTiles_EverGrande_Flowers(u16, u8);
+static void QueueAnimTiles_Pacifidlog_LogBridges(u8);
+static void QueueAnimTiles_Pacifidlog_WaterCurrents(u8);
+static void QueueAnimTiles_Sootopolis_StormyWater(u16);
+static void QueueAnimTiles_Underwater_Seaweed(u8);
+static void QueueAnimTiles_Cave_Lava(u16);
+static void QueueAnimTiles_BattleFrontierOutsideWest_Flag(u16);
+static void QueueAnimTiles_BattleFrontierOutsideEast_Flag(u16);
+static void QueueAnimTiles_MauvilleGym_ElectricGates(u16);
+static void QueueAnimTiles_SootopolisGym_Waterfalls(u16);
+static void QueueAnimTiles_EliteFour_GroundLights(u16);
+static void QueueAnimTiles_EliteFour_WallLights(u16);
+
+const u16 gTilesetAnims_General_Flower_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/flower/1.4bpp");
+const u16 gTilesetAnims_General_Flower_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/flower/0.4bpp");
+const u16 gTilesetAnims_General_Flower_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/flower/2.4bpp");
const u16 tileset_anims_space_0[16] = {};
-const u16 *const gTilesetAnims_General0[] = {
- gTilesetAnims_General0_Frame0,
- gTilesetAnims_General0_Frame1,
- gTilesetAnims_General0_Frame0,
- gTilesetAnims_General0_Frame2
+const u16 *const gTilesetAnims_General_Flower[] = {
+ gTilesetAnims_General_Flower_Frame0,
+ gTilesetAnims_General_Flower_Frame1,
+ gTilesetAnims_General_Flower_Frame0,
+ gTilesetAnims_General_Flower_Frame2
};
-const u16 gTilesetAnims_General1_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_General1_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/1/1.4bpp");
-
-const u16 gTilesetAnims_General1_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/1/2.4bpp");
-
-const u16 gTilesetAnims_General1_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/1/3.4bpp");
-
-const u16 gTilesetAnims_General1_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/4.4bpp");
-
-const u16 gTilesetAnims_General1_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/1/5.4bpp");
-
-const u16 gTilesetAnims_General1_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/1/6.4bpp");
-
-const u16 gTilesetAnims_General1_Frame7[] = INCBIN_U16("data/tilesets/primary/general/anim/1/7.4bpp");
-
-const u16 *const gTilesetAnims_General1[] = {
- gTilesetAnims_General1_Frame0,
- gTilesetAnims_General1_Frame1,
- gTilesetAnims_General1_Frame2,
- gTilesetAnims_General1_Frame3,
- gTilesetAnims_General1_Frame4,
- gTilesetAnims_General1_Frame5,
- gTilesetAnims_General1_Frame6,
- gTilesetAnims_General1_Frame7
+const u16 gTilesetAnims_General_Water_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/water/0.4bpp");
+const u16 gTilesetAnims_General_Water_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/water/1.4bpp");
+const u16 gTilesetAnims_General_Water_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/water/2.4bpp");
+const u16 gTilesetAnims_General_Water_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/water/3.4bpp");
+const u16 gTilesetAnims_General_Water_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/water/4.4bpp");
+const u16 gTilesetAnims_General_Water_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/water/5.4bpp");
+const u16 gTilesetAnims_General_Water_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/water/6.4bpp");
+const u16 gTilesetAnims_General_Water_Frame7[] = INCBIN_U16("data/tilesets/primary/general/anim/water/7.4bpp");
+
+const u16 *const gTilesetAnims_General_Water[] = {
+ gTilesetAnims_General_Water_Frame0,
+ gTilesetAnims_General_Water_Frame1,
+ gTilesetAnims_General_Water_Frame2,
+ gTilesetAnims_General_Water_Frame3,
+ gTilesetAnims_General_Water_Frame4,
+ gTilesetAnims_General_Water_Frame5,
+ gTilesetAnims_General_Water_Frame6,
+ gTilesetAnims_General_Water_Frame7
};
-const u16 gTilesetAnims_General2_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/2/0.4bpp");
-
-const u16 gTilesetAnims_General2_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/2/1.4bpp");
-
-const u16 gTilesetAnims_General2_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/2/2.4bpp");
-
-const u16 gTilesetAnims_General2_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/2/3.4bpp");
-
-const u16 gTilesetAnims_General2_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/4.4bpp");
-
-const u16 gTilesetAnims_General2_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/2/5.4bpp");
-
-const u16 gTilesetAnims_General2_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/2/6.4bpp");
-
-const u16 *const gTilesetAnims_General2[] = {
- gTilesetAnims_General2_Frame0,
- gTilesetAnims_General2_Frame1,
- gTilesetAnims_General2_Frame2,
- gTilesetAnims_General2_Frame3,
- gTilesetAnims_General2_Frame4,
- gTilesetAnims_General2_Frame5,
- gTilesetAnims_General2_Frame6,
- gTilesetAnims_General2_Frame0
+const u16 gTilesetAnims_General_SandWaterEdge_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/0.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/1.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/2.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/3.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/4.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/5.4bpp");
+const u16 gTilesetAnims_General_SandWaterEdge_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/sand_water_edge/6.4bpp");
+
+const u16 *const gTilesetAnims_General_SandWaterEdge[] = {
+ gTilesetAnims_General_SandWaterEdge_Frame0,
+ gTilesetAnims_General_SandWaterEdge_Frame1,
+ gTilesetAnims_General_SandWaterEdge_Frame2,
+ gTilesetAnims_General_SandWaterEdge_Frame3,
+ gTilesetAnims_General_SandWaterEdge_Frame4,
+ gTilesetAnims_General_SandWaterEdge_Frame5,
+ gTilesetAnims_General_SandWaterEdge_Frame6,
+ gTilesetAnims_General_SandWaterEdge_Frame0
};
-const u16 gTilesetAnims_General3_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/3/0.4bpp");
-
-const u16 gTilesetAnims_General3_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/3/1.4bpp");
+const u16 gTilesetAnims_General_Waterfall_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/waterfall/0.4bpp");
+const u16 gTilesetAnims_General_Waterfall_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/waterfall/1.4bpp");
+const u16 gTilesetAnims_General_Waterfall_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/waterfall/2.4bpp");
+const u16 gTilesetAnims_General_Waterfall_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/waterfall/3.4bpp");
-const u16 gTilesetAnims_General3_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/3/2.4bpp");
-
-const u16 gTilesetAnims_General3_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/3/3.4bpp");
-
-const u16 *const gTilesetAnims_General3[] = {
- gTilesetAnims_General3_Frame0,
- gTilesetAnims_General3_Frame1,
- gTilesetAnims_General3_Frame2,
- gTilesetAnims_General3_Frame3
+const u16 *const gTilesetAnims_General_Waterfall[] = {
+ gTilesetAnims_General_Waterfall_Frame0,
+ gTilesetAnims_General_Waterfall_Frame1,
+ gTilesetAnims_General_Waterfall_Frame2,
+ gTilesetAnims_General_Waterfall_Frame3
};
-const u16 gTilesetAnims_General4_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/4/0.4bpp");
-
-const u16 gTilesetAnims_General4_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/4/1.4bpp");
-
-const u16 gTilesetAnims_General4_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/4/2.4bpp");
+const u16 gTilesetAnims_General_LandWaterEdge_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/land_water_edge/0.4bpp");
+const u16 gTilesetAnims_General_LandWaterEdge_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/land_water_edge/1.4bpp");
+const u16 gTilesetAnims_General_LandWaterEdge_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/land_water_edge/2.4bpp");
+const u16 gTilesetAnims_General_LandWaterEdge_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/land_water_edge/3.4bpp");
-const u16 gTilesetAnims_General4_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp");
-
-const u16 *const gTilesetAnims_General4[] = {
- gTilesetAnims_General4_Frame0,
- gTilesetAnims_General4_Frame1,
- gTilesetAnims_General4_Frame2,
- gTilesetAnims_General4_Frame3
+const u16 *const gTilesetAnims_General_LandWaterEdge[] = {
+ gTilesetAnims_General_LandWaterEdge_Frame0,
+ gTilesetAnims_General_LandWaterEdge_Frame1,
+ gTilesetAnims_General_LandWaterEdge_Frame2,
+ gTilesetAnims_General_LandWaterEdge_Frame3
};
-const u16 gTilesetAnims_Lavaridge0_Frame0[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/0.4bpp");
-
-const u16 gTilesetAnims_Lavaridge0_Frame1[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/1.4bpp");
-
-const u16 gTilesetAnims_Lavaridge0_Frame2[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/2.4bpp");
+const u16 gTilesetAnims_Lavaridge_Steam_Frame0[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/steam/0.4bpp");
+const u16 gTilesetAnims_Lavaridge_Steam_Frame1[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/steam/1.4bpp");
+const u16 gTilesetAnims_Lavaridge_Steam_Frame2[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/steam/2.4bpp");
+const u16 gTilesetAnims_Lavaridge_Steam_Frame3[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/steam/3.4bpp");
-const u16 gTilesetAnims_Lavaridge0_Frame3[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/3.4bpp");
-
-const u16 *const gTilesetAnims_Lavaridge0[] = {
- gTilesetAnims_Lavaridge0_Frame0,
- gTilesetAnims_Lavaridge0_Frame1,
- gTilesetAnims_Lavaridge0_Frame2,
- gTilesetAnims_Lavaridge0_Frame3
+const u16 *const gTilesetAnims_Lavaridge_Steam[] = {
+ gTilesetAnims_Lavaridge_Steam_Frame0,
+ gTilesetAnims_Lavaridge_Steam_Frame1,
+ gTilesetAnims_Lavaridge_Steam_Frame2,
+ gTilesetAnims_Lavaridge_Steam_Frame3
};
-const u16 gTilesetAnims_Pacifidlog0_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog0_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog0_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp");
+const u16 gTilesetAnims_Pacifidlog_LogBridges_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/log_bridges/0.4bpp");
+const u16 gTilesetAnims_Pacifidlog_LogBridges_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/log_bridges/1.4bpp");
+const u16 gTilesetAnims_Pacifidlog_LogBridges_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/log_bridges/2.4bpp");
-const u16 *const gTilesetAnims_Pacifidlog0[] = {
- gTilesetAnims_Pacifidlog0_Frame0,
- gTilesetAnims_Pacifidlog0_Frame1,
- gTilesetAnims_Pacifidlog0_Frame2,
- gTilesetAnims_Pacifidlog0_Frame1
+const u16 *const gTilesetAnims_Pacifidlog_LogBridges[] = {
+ gTilesetAnims_Pacifidlog_LogBridges_Frame0,
+ gTilesetAnims_Pacifidlog_LogBridges_Frame1,
+ gTilesetAnims_Pacifidlog_LogBridges_Frame2,
+ gTilesetAnims_Pacifidlog_LogBridges_Frame1
};
-const u16 gTilesetAnims_Underwater0_Frame0[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/0.4bpp");
-
-const u16 gTilesetAnims_Underwater0_Frame1[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/1.4bpp");
-
-const u16 gTilesetAnims_Underwater0_Frame2[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/2.4bpp");
-
-const u16 gTilesetAnims_Underwater0_Frame3[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/3.4bpp");
+const u16 gTilesetAnims_Underwater_Seaweed_Frame0[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/seaweed/0.4bpp");
+const u16 gTilesetAnims_Underwater_Seaweed_Frame1[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/seaweed/1.4bpp");
+const u16 gTilesetAnims_Underwater_Seaweed_Frame2[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/seaweed/2.4bpp");
+const u16 gTilesetAnims_Underwater_Seaweed_Frame3[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/seaweed/3.4bpp");
-const u16 *const gTilesetAnims_Underwater0[] = {
- gTilesetAnims_Underwater0_Frame0,
- gTilesetAnims_Underwater0_Frame1,
- gTilesetAnims_Underwater0_Frame2,
- gTilesetAnims_Underwater0_Frame3
+const u16 *const gTilesetAnims_Underwater_Seaweed[] = {
+ gTilesetAnims_Underwater_Seaweed_Frame0,
+ gTilesetAnims_Underwater_Seaweed_Frame1,
+ gTilesetAnims_Underwater_Seaweed_Frame2,
+ gTilesetAnims_Underwater_Seaweed_Frame3
};
-const u16 gTilesetAnims_Pacifidlog1_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame3[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame5[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame6[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp");
-
-const u16 gTilesetAnims_Pacifidlog1_Frame7[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp");
-
-const u16 *const gTilesetAnims_Pacifidlog1[] = {
- gTilesetAnims_Pacifidlog1_Frame0,
- gTilesetAnims_Pacifidlog1_Frame1,
- gTilesetAnims_Pacifidlog1_Frame2,
- gTilesetAnims_Pacifidlog1_Frame3,
- gTilesetAnims_Pacifidlog1_Frame4,
- gTilesetAnims_Pacifidlog1_Frame5,
- gTilesetAnims_Pacifidlog1_Frame6,
- gTilesetAnims_Pacifidlog1_Frame7
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/0.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/1.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/2.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame3[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/3.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/4.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame5[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/5.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame6[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/6.4bpp");
+const u16 gTilesetAnims_Pacifidlog_WaterCurrents_Frame7[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/water_currents/7.4bpp");
+
+const u16 *const gTilesetAnims_Pacifidlog_WaterCurrents[] = {
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame0,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame1,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame2,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame3,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame4,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame5,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame6,
+ gTilesetAnims_Pacifidlog_WaterCurrents_Frame7
};
-const u16 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/0.4bpp");
-
-const u16 gTilesetAnims_Mauville0a_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/1.4bpp");
-
-const u16 gTilesetAnims_Mauville0a_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/2.4bpp");
-
-const u16 gTilesetAnims_Mauville0a_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/3.4bpp");
-
-const u16 gTilesetAnims_Mauville1a_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/a/1.4bpp");
-
-const u16 gTilesetAnims_Mauville0b_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/0.4bpp");
-
-const u16 gTilesetAnims_Mauville0b_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/1.4bpp");
-
-const u16 gTilesetAnims_Mauville0b_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/2.4bpp");
-
-const u16 gTilesetAnims_Mauville0b_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/3.4bpp");
-
-const u16 gTilesetAnims_Mauville1b_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/b/1.4bpp");
-
+const u16 gTilesetAnims_Mauville_Flower1_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_1/0.4bpp");
+const u16 gTilesetAnims_Mauville_Flower1_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_1/1.4bpp");
+const u16 gTilesetAnims_Mauville_Flower1_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_1/2.4bpp");
+const u16 gTilesetAnims_Mauville_Flower1_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_1/3.4bpp");
+const u16 gTilesetAnims_Mauville_Flower1_Frame4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_1/4.4bpp");
+const u16 gTilesetAnims_Mauville_Flower2_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_2/0.4bpp");
+const u16 gTilesetAnims_Mauville_Flower2_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_2/1.4bpp");
+const u16 gTilesetAnims_Mauville_Flower2_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_2/2.4bpp");
+const u16 gTilesetAnims_Mauville_Flower2_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_2/3.4bpp");
+const u16 gTilesetAnims_Mauville_Flower2_Frame4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/flower_2/4.4bpp");
const u16 tileset_anims_space_1[16] = {};
-u16 *const gTilesetAnims_MauvilleVDests0[] = {
+u16 *const gTilesetAnims_Mauville_Flower1_VDests[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 96)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 100)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 104)),
@@ -233,7 +227,7 @@ u16 *const gTilesetAnims_MauvilleVDests0[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 124))
};
-u16 *const gTilesetAnims_MauvilleVDests1[] = {
+u16 *const gTilesetAnims_Mauville_Flower2_VDests[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 128)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 132)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 136)),
@@ -244,67 +238,60 @@ u16 *const gTilesetAnims_MauvilleVDests1[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 156))
};
-const u16 *const gTilesetAnims_Mauville0a[] = {
- gTilesetAnims_Mauville0a_Frame0,
- gTilesetAnims_Mauville0a_Frame0,
- gTilesetAnims_Mauville0a_Frame1,
- gTilesetAnims_Mauville0a_Frame2,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame3,
- gTilesetAnims_Mauville0a_Frame2,
- gTilesetAnims_Mauville0a_Frame1
+const u16 *const gTilesetAnims_Mauville_Flower1[] = {
+ gTilesetAnims_Mauville_Flower1_Frame0,
+ gTilesetAnims_Mauville_Flower1_Frame0,
+ gTilesetAnims_Mauville_Flower1_Frame1,
+ gTilesetAnims_Mauville_Flower1_Frame2,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame3,
+ gTilesetAnims_Mauville_Flower1_Frame2,
+ gTilesetAnims_Mauville_Flower1_Frame1
};
-const u16 *const gTilesetAnims_Mauville0b[] = {
- gTilesetAnims_Mauville0b_Frame0,
- gTilesetAnims_Mauville0b_Frame0,
- gTilesetAnims_Mauville0b_Frame1,
- gTilesetAnims_Mauville0b_Frame2,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame3,
- gTilesetAnims_Mauville0b_Frame2,
- gTilesetAnims_Mauville0b_Frame1
+const u16 *const gTilesetAnims_Mauville_Flower2[] = {
+ gTilesetAnims_Mauville_Flower2_Frame0,
+ gTilesetAnims_Mauville_Flower2_Frame0,
+ gTilesetAnims_Mauville_Flower2_Frame1,
+ gTilesetAnims_Mauville_Flower2_Frame2,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame3,
+ gTilesetAnims_Mauville_Flower2_Frame2,
+ gTilesetAnims_Mauville_Flower2_Frame1
};
-const u16 *const gTilesetAnims_Mauville1a[] = {
- gTilesetAnims_Mauville0a_Frame0,
- gTilesetAnims_Mauville0a_Frame0,
- gTilesetAnims_Mauville1a_Frame1,
- gTilesetAnims_Mauville1a_Frame1
+const u16 *const gTilesetAnims_Mauville_Flower1_B[] = {
+ gTilesetAnims_Mauville_Flower1_Frame0,
+ gTilesetAnims_Mauville_Flower1_Frame0,
+ gTilesetAnims_Mauville_Flower1_Frame4,
+ gTilesetAnims_Mauville_Flower1_Frame4
};
-const u16 *const gTilesetAnims_Mauville1b[] = {
- gTilesetAnims_Mauville0b_Frame0,
- gTilesetAnims_Mauville0b_Frame0,
- gTilesetAnims_Mauville1b_Frame1,
- gTilesetAnims_Mauville1b_Frame1
+const u16 *const gTilesetAnims_Mauville_Flower2_B[] = {
+ gTilesetAnims_Mauville_Flower2_Frame0,
+ gTilesetAnims_Mauville_Flower2_Frame0,
+ gTilesetAnims_Mauville_Flower2_Frame4,
+ gTilesetAnims_Mauville_Flower2_Frame4
};
-const u16 gTilesetAnims_Rustboro0_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame2[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/2.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame3[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/3.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame4[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/4.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame5[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/5.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/6.4bpp");
-
-const u16 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/0.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/1.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/2.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/3.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/4.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/5.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/6.4bpp");
+const u16 gTilesetAnims_Rustboro_WindyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/windy_water/7.4bpp");
-u16 *const gTilesetAnims_RustboroVDests0[] = {
+u16 *const gTilesetAnims_Rustboro_WindyWater_VDests[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 128)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 132)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 136)),
@@ -315,72 +302,54 @@ u16 *const gTilesetAnims_RustboroVDests0[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 156))
};
-const u16 *const gTilesetAnims_Rustboro0[] = {
- gTilesetAnims_Rustboro0_Frame0,
- gTilesetAnims_Rustboro0_Frame1,
- gTilesetAnims_Rustboro0_Frame2,
- gTilesetAnims_Rustboro0_Frame3,
- gTilesetAnims_Rustboro0_Frame4,
- gTilesetAnims_Rustboro0_Frame5,
- gTilesetAnims_Rustboro0_Frame6,
- gTilesetAnims_Rustboro0_Frame7
+const u16 *const gTilesetAnims_Rustboro_WindyWater[] = {
+ gTilesetAnims_Rustboro_WindyWater_Frame0,
+ gTilesetAnims_Rustboro_WindyWater_Frame1,
+ gTilesetAnims_Rustboro_WindyWater_Frame2,
+ gTilesetAnims_Rustboro_WindyWater_Frame3,
+ gTilesetAnims_Rustboro_WindyWater_Frame4,
+ gTilesetAnims_Rustboro_WindyWater_Frame5,
+ gTilesetAnims_Rustboro_WindyWater_Frame6,
+ gTilesetAnims_Rustboro_WindyWater_Frame7
};
-const u16 gTilesetAnims_Rustboro1_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_Rustboro1_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/1.4bpp");
-
+const u16 gTilesetAnims_Rustboro_Fountain_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/fountain/0.4bpp");
+const u16 gTilesetAnims_Rustboro_Fountain_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/fountain/1.4bpp");
const u16 tileset_anims_space_2[16] = {};
-const u16 *const gTilesetAnims_Rustboro1[] = {
- gTilesetAnims_Rustboro1_Frame0,
- gTilesetAnims_Rustboro1_Frame1
+const u16 *const gTilesetAnims_Rustboro_Fountain[] = {
+ gTilesetAnims_Rustboro_Fountain_Frame0,
+ gTilesetAnims_Rustboro_Fountain_Frame1
};
-const u16 gTilesetAnims_Lavaridge1_Cave0_Frame0[] = INCBIN_U16("data/tilesets/secondary/cave/anim/0.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_Cave0_Frame1[] = INCBIN_U16("data/tilesets/secondary/cave/anim/1.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_Cave0_Frame2[] = INCBIN_U16("data/tilesets/secondary/cave/anim/2.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_Cave0_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/3.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame0[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/0.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame1[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/1.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame2[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/2.4bpp");
-
-const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/3.4bpp");
-
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame0[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/0.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame1[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/1.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame2[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/2.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/3.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame4[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/4.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame5[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/5.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame6[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/6.4bpp");
+const u16 gTilesetAnims_Lavaridge_Cave_Lava_Frame7[] = INCBIN_U16("data/tilesets/secondary/cave/anim/lava/7.4bpp");
const u16 tileset_anims_space_3[16] = {};
-const u16 *const gTilesetAnims_Lavaridge1_Cave0[] = {
- gTilesetAnims_Lavaridge1_Cave0_Frame0,
- gTilesetAnims_Lavaridge1_Cave0_Frame1,
- gTilesetAnims_Lavaridge1_Cave0_Frame2,
- gTilesetAnims_Lavaridge1_Cave0_Frame3
+const u16 *const gTilesetAnims_Lavaridge_Cave_Lava[] = {
+ gTilesetAnims_Lavaridge_Cave_Lava_Frame0,
+ gTilesetAnims_Lavaridge_Cave_Lava_Frame1,
+ gTilesetAnims_Lavaridge_Cave_Lava_Frame2,
+ gTilesetAnims_Lavaridge_Cave_Lava_Frame3
};
-const u16 gTilesetAnims_EverGrande0_Frame0[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/0.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame1[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/1.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame2[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/2.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame3[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/3.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame4[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/4.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame5[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/5.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame6[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/6.4bpp");
-
-const u16 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/7.4bpp");
-
+const u16 gTilesetAnims_EverGrande_Flowers_Frame0[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/0.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame1[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/1.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame2[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/2.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame3[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/3.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame4[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/4.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame5[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/5.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame6[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/6.4bpp");
+const u16 gTilesetAnims_EverGrande_Flowers_Frame7[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/flowers/7.4bpp");
const u16 tileset_anims_space_4[16] = {};
-u16 *const gTilesetAnims_EverGrandeVDests0[] = {
+u16 *const gTilesetAnims_EverGrande_VDests[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 228)),
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 232)),
@@ -391,243 +360,190 @@ u16 *const gTilesetAnims_EverGrandeVDests0[] = {
(u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 252))
};
-const u16 *const gTilesetAnims_EverGrande0[] = {
- gTilesetAnims_EverGrande0_Frame0,
- gTilesetAnims_EverGrande0_Frame1,
- gTilesetAnims_EverGrande0_Frame2,
- gTilesetAnims_EverGrande0_Frame3,
- gTilesetAnims_EverGrande0_Frame4,
- gTilesetAnims_EverGrande0_Frame5,
- gTilesetAnims_EverGrande0_Frame6,
- gTilesetAnims_EverGrande0_Frame7
+const u16 *const gTilesetAnims_EverGrande_Flowers[] = {
+ gTilesetAnims_EverGrande_Flowers_Frame0,
+ gTilesetAnims_EverGrande_Flowers_Frame1,
+ gTilesetAnims_EverGrande_Flowers_Frame2,
+ gTilesetAnims_EverGrande_Flowers_Frame3,
+ gTilesetAnims_EverGrande_Flowers_Frame4,
+ gTilesetAnims_EverGrande_Flowers_Frame5,
+ gTilesetAnims_EverGrande_Flowers_Frame6,
+ gTilesetAnims_EverGrande_Flowers_Frame7
};
-const u16 gTilesetAnims_Dewford0_Frame0[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/0.4bpp");
-
-const u16 gTilesetAnims_Dewford0_Frame1[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/1.4bpp");
+const u16 gTilesetAnims_Dewford_Flag_Frame0[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/flag/0.4bpp");
+const u16 gTilesetAnims_Dewford_Flag_Frame1[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/flag/1.4bpp");
+const u16 gTilesetAnims_Dewford_Flag_Frame2[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/flag/2.4bpp");
+const u16 gTilesetAnims_Dewford_Flag_Frame3[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/flag/3.4bpp");
-const u16 gTilesetAnims_Dewford0_Frame2[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/2.4bpp");
-
-const u16 gTilesetAnims_Dewford0_Frame3[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/3.4bpp");
-
-const u16 *const gTilesetAnims_Dewford0[] = {
- gTilesetAnims_Dewford0_Frame0,
- gTilesetAnims_Dewford0_Frame1,
- gTilesetAnims_Dewford0_Frame2,
- gTilesetAnims_Dewford0_Frame3
+const u16 *const gTilesetAnims_Dewford_Flag[] = {
+ gTilesetAnims_Dewford_Flag_Frame0,
+ gTilesetAnims_Dewford_Flag_Frame1,
+ gTilesetAnims_Dewford_Flag_Frame2,
+ gTilesetAnims_Dewford_Flag_Frame3
};
-const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/0.4bpp");
-
-const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/1.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/flag/1.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.4bpp");
-const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/2.4bpp");
-
-const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/3.4bpp");
-
-const u16 *const gTilesetAnims_BattleFrontierOutsideWest0[] = {
- gTilesetAnims_BattleFrontierOutsideWest0_Frame0,
- gTilesetAnims_BattleFrontierOutsideWest0_Frame1,
- gTilesetAnims_BattleFrontierOutsideWest0_Frame2,
- gTilesetAnims_BattleFrontierOutsideWest0_Frame3
+const u16 *const gTilesetAnims_BattleFrontierOutsideWest_Flag[] = {
+ gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame0,
+ gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame1,
+ gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame2,
+ gTilesetAnims_BattleFrontierOutsideWest_Flag_Frame3
};
-const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/0.4bpp");
-
-const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/1.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/flag/1.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.4bpp");
+const u16 gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.4bpp");
-const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/2.4bpp");
-
-const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/3.4bpp");
-
-const u16 *const gTilesetAnims_BattleFrontierOutsideEast0[] = {
- gTilesetAnims_BattleFrontierOutsideEast0_Frame0,
- gTilesetAnims_BattleFrontierOutsideEast0_Frame1,
- gTilesetAnims_BattleFrontierOutsideEast0_Frame2,
- gTilesetAnims_BattleFrontierOutsideEast0_Frame3
+const u16 *const gTilesetAnims_BattleFrontierOutsideEast_Flag[] = {
+ gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame0,
+ gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame1,
+ gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame2,
+ gTilesetAnims_BattleFrontierOutsideEast_Flag_Frame3
};
-const u16 gTilesetAnims_Slateport0_Frame0[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/0.4bpp");
-
-const u16 gTilesetAnims_Slateport0_Frame1[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/1.4bpp");
+const u16 gTilesetAnims_Slateport_Balloons_Frame0[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/balloons/0.4bpp");
+const u16 gTilesetAnims_Slateport_Balloons_Frame1[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/balloons/1.4bpp");
+const u16 gTilesetAnims_Slateport_Balloons_Frame2[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/balloons/2.4bpp");
+const u16 gTilesetAnims_Slateport_Balloons_Frame3[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/balloons/3.4bpp");
-const u16 gTilesetAnims_Slateport0_Frame2[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/2.4bpp");
-
-const u16 gTilesetAnims_Slateport0_Frame3[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/3.4bpp");
-
-const u16 *const gTilesetAnims_Slateport0[] = {
- gTilesetAnims_Slateport0_Frame0,
- gTilesetAnims_Slateport0_Frame1,
- gTilesetAnims_Slateport0_Frame2,
- gTilesetAnims_Slateport0_Frame3
+const u16 *const gTilesetAnims_Slateport_Balloons[] = {
+ gTilesetAnims_Slateport_Balloons_Frame0,
+ gTilesetAnims_Slateport_Balloons_Frame1,
+ gTilesetAnims_Slateport_Balloons_Frame2,
+ gTilesetAnims_Slateport_Balloons_Frame3
};
-const u16 gTilesetAnims_InsideBuilding0_Frame0[] = INCBIN_U16("data/tilesets/primary/building/anim/0.4bpp");
-
-const u16 gTilesetAnims_InsideBuilding0_Frame1[] = INCBIN_U16("data/tilesets/primary/building/anim/1.4bpp");
+const u16 gTilesetAnims_Building_TvTurnedOn_Frame0[] = INCBIN_U16("data/tilesets/primary/building/anim/tv_turned_on/0.4bpp");
+const u16 gTilesetAnims_Building_TvTurnedOn_Frame1[] = INCBIN_U16("data/tilesets/primary/building/anim/tv_turned_on/1.4bpp");
-const u16 *const gTilesetAnims_InsideBuilding0[] = {
- gTilesetAnims_InsideBuilding0_Frame0,
- gTilesetAnims_InsideBuilding0_Frame1
+const u16 *const gTilesetAnims_Building_TvTurnedOn[] = {
+ gTilesetAnims_Building_TvTurnedOn_Frame0,
+ gTilesetAnims_Building_TvTurnedOn_Frame1
};
-const u16 gTilesetAnims_SootopolisGym0_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_SootopolisGym0_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_SootopolisGym0_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp");
-
-const u16 gTilesetAnims_SootopolisGym1_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_SootopolisGym1_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp");
-
-const u16 gTilesetAnims_SootopolisGym1_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp");
-
-const u16 *const gTilesetAnims_SootopolisGym0[] = {
- gTilesetAnims_SootopolisGym0_Frame0,
- gTilesetAnims_SootopolisGym0_Frame1,
- gTilesetAnims_SootopolisGym0_Frame2
+const u16 gTilesetAnims_SootopolisGym_SideWaterfall_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/0.4bpp");
+const u16 gTilesetAnims_SootopolisGym_SideWaterfall_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/1.4bpp");
+const u16 gTilesetAnims_SootopolisGym_SideWaterfall_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/2.4bpp");
+const u16 gTilesetAnims_SootopolisGym_FrontWaterfall_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/0.4bpp");
+const u16 gTilesetAnims_SootopolisGym_FrontWaterfall_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/1.4bpp");
+const u16 gTilesetAnims_SootopolisGym_FrontWaterfall_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/2.4bpp");
+
+const u16 *const gTilesetAnims_SootopolisGym_SideWaterfall[] = {
+ gTilesetAnims_SootopolisGym_SideWaterfall_Frame0,
+ gTilesetAnims_SootopolisGym_SideWaterfall_Frame1,
+ gTilesetAnims_SootopolisGym_SideWaterfall_Frame2
};
-const u16 *const gTilesetAnims_SootopolisGym1[] = {
- gTilesetAnims_SootopolisGym1_Frame0,
- gTilesetAnims_SootopolisGym1_Frame1,
- gTilesetAnims_SootopolisGym1_Frame2
+const u16 *const gTilesetAnims_SootopolisGym_FrontWaterfall[] = {
+ gTilesetAnims_SootopolisGym_FrontWaterfall_Frame0,
+ gTilesetAnims_SootopolisGym_FrontWaterfall_Frame1,
+ gTilesetAnims_SootopolisGym_FrontWaterfall_Frame2
};
-const u16 gTilesetAnims_EliteFour0_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_EliteFour0_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/1.4bpp");
-
-const u16 gTilesetAnims_EliteFour1_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_EliteFour1_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_EliteFour1_Frame2[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/2.4bpp");
-
-const u16 gTilesetAnims_EliteFour1_Frame3[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/3.4bpp");
-
+const u16 gTilesetAnims_EliteFour_FloorLight_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/floor_light/0.4bpp");
+const u16 gTilesetAnims_EliteFour_FloorLight_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/floor_light/1.4bpp");
+const u16 gTilesetAnims_EliteFour_WallLights_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/wall_lights/0.4bpp");
+const u16 gTilesetAnims_EliteFour_WallLights_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/wall_lights/1.4bpp");
+const u16 gTilesetAnims_EliteFour_WallLights_Frame2[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/wall_lights/2.4bpp");
+const u16 gTilesetAnims_EliteFour_WallLights_Frame3[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/wall_lights/3.4bpp");
const u16 tileset_anims_space_5[16] = {};
-const u16 *const gTilesetAnims_EliteFour1[] = {
- gTilesetAnims_EliteFour1_Frame0,
- gTilesetAnims_EliteFour1_Frame1,
- gTilesetAnims_EliteFour1_Frame2,
- gTilesetAnims_EliteFour1_Frame3
+const u16 *const gTilesetAnims_EliteFour_WallLights[] = {
+ gTilesetAnims_EliteFour_WallLights_Frame0,
+ gTilesetAnims_EliteFour_WallLights_Frame1,
+ gTilesetAnims_EliteFour_WallLights_Frame2,
+ gTilesetAnims_EliteFour_WallLights_Frame3
};
-const u16 *const gTilesetAnims_EliteFour0[] = {
- gTilesetAnims_EliteFour0_Frame0,
- gTilesetAnims_EliteFour0_Frame1
+const u16 *const gTilesetAnims_EliteFour_FloorLight[] = {
+ gTilesetAnims_EliteFour_FloorLight_Frame0,
+ gTilesetAnims_EliteFour_FloorLight_Frame1
};
-const u16 gTilesetAnims_MauvilleGym0_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/0.4bpp");
-
-const u16 gTilesetAnims_MauvilleGym0_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/1.4bpp");
-
+const u16 gTilesetAnims_MauvilleGym_ElectricGates_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/electric_gates/0.4bpp");
+const u16 gTilesetAnims_MauvilleGym_ElectricGates_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/electric_gates/1.4bpp");
const u16 tileset_anims_space_6[16] = {};
-const u16 *const gTilesetAnims_MauvilleGym0[] = {
- gTilesetAnims_MauvilleGym0_Frame0,
- gTilesetAnims_MauvilleGym0_Frame1
+const u16 *const gTilesetAnims_MauvilleGym_ElectricGates[] = {
+ gTilesetAnims_MauvilleGym_ElectricGates_Frame0,
+ gTilesetAnims_MauvilleGym_ElectricGates_Frame1
};
-const u16 gTilesetAnims_BikeShop0_Frame0[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/0.4bpp");
-
-const u16 gTilesetAnims_BikeShop0_Frame1[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/1.4bpp");
-
+const u16 gTilesetAnims_BikeShop_BlinkingLights_Frame0[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/blinking_lights/0.4bpp");
+const u16 gTilesetAnims_BikeShop_BlinkingLights_Frame1[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/blinking_lights/1.4bpp");
const u16 tileset_anims_space_7[16] = {};
-const u16 *const gTilesetAnims_BikeShop0[] = {
- gTilesetAnims_BikeShop0_Frame0,
- gTilesetAnims_BikeShop0_Frame1
+const u16 *const gTilesetAnims_BikeShop_BlinkingLights[] = {
+ gTilesetAnims_BikeShop_BlinkingLights_Frame0,
+ gTilesetAnims_BikeShop_BlinkingLights_Frame1
};
-const u16 gTilesetAnims_Sootopolis0_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/0.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/1.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/2.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/3.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/4.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/5.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/6.4bpp");
-
-const u16 gTilesetAnims_Sootopolis0_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/7.4bpp");
-
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/0.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/1.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/2.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/3.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/4.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/5.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/6.4bpp");
+const u16 gTilesetAnims_Sootopolis_StormyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/7.4bpp");
const u16 tileset_anims_space_8[16] = {};
const u16 gTilesetAnims_Unused1_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp");
-
const u16 gTilesetAnims_Unused1_Frame1[] = INCBIN_U16("data/tilesets/secondary/unused_1/1.4bpp");
-
const u16 gTilesetAnims_Unused1_Frame2[] = INCBIN_U16("data/tilesets/secondary/unused_1/2.4bpp");
-
const u16 gTilesetAnims_Unused1_Frame3[] = INCBIN_U16("data/tilesets/secondary/unused_1/3.4bpp");
-const u16 *const gTilesetAnims_Sootopolis0[] = {
- gTilesetAnims_Sootopolis0_Frame0,
- gTilesetAnims_Sootopolis0_Frame1,
- gTilesetAnims_Sootopolis0_Frame2,
- gTilesetAnims_Sootopolis0_Frame3,
- gTilesetAnims_Sootopolis0_Frame4,
- gTilesetAnims_Sootopolis0_Frame5,
- gTilesetAnims_Sootopolis0_Frame6,
- gTilesetAnims_Sootopolis0_Frame7
+const u16 *const gTilesetAnims_Sootopolis_StormyWater[] = {
+ gTilesetAnims_Sootopolis_StormyWater_Frame0,
+ gTilesetAnims_Sootopolis_StormyWater_Frame1,
+ gTilesetAnims_Sootopolis_StormyWater_Frame2,
+ gTilesetAnims_Sootopolis_StormyWater_Frame3,
+ gTilesetAnims_Sootopolis_StormyWater_Frame4,
+ gTilesetAnims_Sootopolis_StormyWater_Frame5,
+ gTilesetAnims_Sootopolis_StormyWater_Frame6,
+ gTilesetAnims_Sootopolis_StormyWater_Frame7
};
-const u16 gTilesetAnims_BattlePyramid0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/0.4bpp");
-
-const u16 gTilesetAnims_BattlePyramid0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/1.4bpp");
-
-const u16 gTilesetAnims_BattlePyramid0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/2.4bpp");
-
+const u16 gTilesetAnims_BattlePyramid_Torch_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/torch/0.4bpp");
+const u16 gTilesetAnims_BattlePyramid_Torch_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/torch/1.4bpp");
+const u16 gTilesetAnims_BattlePyramid_Torch_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/torch/2.4bpp");
const u16 tileset_anims_space_9[16] = {};
-const u16 gTilesetAnims_BattlePyramid1_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/0.4bpp");
-
-const u16 gTilesetAnims_BattlePyramid1_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/1.4bpp");
-
-const u16 gTilesetAnims_BattlePyramid1_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/2.4bpp");
-
+const u16 gTilesetAnims_BattlePyramid_StatueShadow_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/statue_shadow/0.4bpp");
+const u16 gTilesetAnims_BattlePyramid_StatueShadow_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/statue_shadow/1.4bpp");
+const u16 gTilesetAnims_BattlePyramid_StatueShadow_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/statue_shadow/2.4bpp");
const u16 tileset_anims_space_10[7808] = {};
const u16 gTilesetAnims_Unused2_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_2/0.4bpp");
-
const u16 tileset_anims_space_11[224] = {};
const u16 gTilesetAnims_Unused2_Frame1[] = INCBIN_U16("data/tilesets/secondary/unused_2/1.4bpp");
-const u16 *const gTilesetAnims_BattlePyramid0[] = {
- gTilesetAnims_BattlePyramid0_Frame0,
- gTilesetAnims_BattlePyramid0_Frame1,
- gTilesetAnims_BattlePyramid0_Frame2
+const u16 *const gTilesetAnims_BattlePyramid_Torch[] = {
+ gTilesetAnims_BattlePyramid_Torch_Frame0,
+ gTilesetAnims_BattlePyramid_Torch_Frame1,
+ gTilesetAnims_BattlePyramid_Torch_Frame2
};
-const u16 *const gTilesetAnims_BattlePyramid1[] = {
- gTilesetAnims_BattlePyramid1_Frame0,
- gTilesetAnims_BattlePyramid1_Frame1,
- gTilesetAnims_BattlePyramid1_Frame2
+const u16 *const gTilesetAnims_BattlePyramid_StatueShadow[] = {
+ gTilesetAnims_BattlePyramid_StatueShadow_Frame0,
+ gTilesetAnims_BattlePyramid_StatueShadow_Frame1,
+ gTilesetAnims_BattlePyramid_StatueShadow_Frame2
};
-extern const u16 gTilesetAnims_BattleDomePals0_0[];
-extern const u16 gTilesetAnims_BattleDomePals0_1[];
-extern const u16 gTilesetAnims_BattleDomePals0_2[];
-extern const u16 gTilesetAnims_BattleDomePals0_3[];
-
-static const u16 *const gTilesetAnims_BattleDomePals0[] = {
+static const u16 *const gTilesetAnims_BattleDomeFloorLightPals[] = {
gTilesetAnims_BattleDomePals0_0,
gTilesetAnims_BattleDomePals0_1,
gTilesetAnims_BattleDomePals0_2,
gTilesetAnims_BattleDomePals0_3,
};
-// .text
-
static void ResetTilesetAnimBuffer(void)
{
sTilesetDMA3TransferBufferSize = 0;
@@ -650,763 +566,623 @@ void TransferTilesetAnimsBuffer(void)
int i;
for (i = 0; i < sTilesetDMA3TransferBufferSize; i ++)
- {
DmaCopy16(3, sTilesetDMA3TransferBuffer[i].src, sTilesetDMA3TransferBuffer[i].dest, sTilesetDMA3TransferBuffer[i].size);
- }
+
sTilesetDMA3TransferBufferSize = 0;
}
-void cur_mapheader_run_tileset_funcs_after_some_cpuset(void)
+void InitTilesetAnimations(void)
{
ResetTilesetAnimBuffer();
- cur_mapheader_run_tileset1_func();
- cur_mapheader_run_tileset2_func();
+ _InitPrimaryTilesetAnimation();
+ _InitSecondaryTilesetAnimation();
}
-void sub_80A0A2C(void)
+void InitSecondaryTilesetAnimation(void)
{
- cur_mapheader_run_tileset2_func();
+ _InitSecondaryTilesetAnimation();
}
-void sub_80A0A38(void)
+void UpdateTilesetAnimations(void)
{
ResetTilesetAnimBuffer();
- if (++sPrimaryTilesetCBCounter >= sPrimaryTilesetCBBufferSize)
- sPrimaryTilesetCBCounter = 0;
- if (++sSecondaryTilesetCBCounter >= sSecondaryTilesetCBBufferSize)
- sSecondaryTilesetCBCounter = 0;
- if (sPrimaryTilesetCB)
- sPrimaryTilesetCB(sPrimaryTilesetCBCounter);
- if (sSecondaryTilesetCB)
- sSecondaryTilesetCB(sSecondaryTilesetCBCounter);
+ if (++sPrimaryTilesetAnimCounter >= sPrimaryTilesetAnimCounterMax)
+ sPrimaryTilesetAnimCounter = 0;
+ if (++sSecondaryTilesetAnimCounter >= sSecondaryTilesetAnimCounterMax)
+ sSecondaryTilesetAnimCounter = 0;
+
+ if (sPrimaryTilesetAnimCallback)
+ sPrimaryTilesetAnimCallback(sPrimaryTilesetAnimCounter);
+ if (sSecondaryTilesetAnimCallback)
+ sSecondaryTilesetAnimCallback(sSecondaryTilesetAnimCounter);
}
-static void cur_mapheader_run_tileset1_func(void)
+static void _InitPrimaryTilesetAnimation(void)
{
- sPrimaryTilesetCBCounter = 0;
- sPrimaryTilesetCBBufferSize = 0;
- sPrimaryTilesetCB = NULL;
+ sPrimaryTilesetAnimCounter = 0;
+ sPrimaryTilesetAnimCounterMax = 0;
+ sPrimaryTilesetAnimCallback = NULL;
if (gMapHeader.mapLayout->primaryTileset && gMapHeader.mapLayout->primaryTileset->callback)
gMapHeader.mapLayout->primaryTileset->callback();
}
-static void cur_mapheader_run_tileset2_func(void)
+static void _InitSecondaryTilesetAnimation(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = 0;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = 0;
+ sSecondaryTilesetAnimCallback = NULL;
if (gMapHeader.mapLayout->secondaryTileset && gMapHeader.mapLayout->secondaryTileset->callback)
gMapHeader.mapLayout->secondaryTileset->callback();
}
-void TilesetCb_General(void)
+void InitTilesetAnim_General(void)
{
- static void sub_80A0B70(u16);
-
- sPrimaryTilesetCBCounter = 0;
- sPrimaryTilesetCBBufferSize = 0x100;
- sPrimaryTilesetCB = sub_80A0B70;
+ sPrimaryTilesetAnimCounter = 0;
+ sPrimaryTilesetAnimCounterMax = 256;
+ sPrimaryTilesetAnimCallback = TilesetAnim_General;
}
-void TilesetCb_InsideBuilding(void)
+void InitTilesetAnim_Building(void)
{
- static void sub_80A0BB4(u16);
-
- sPrimaryTilesetCBCounter = 0;
- sPrimaryTilesetCBBufferSize = 0x100;
- sPrimaryTilesetCB = sub_80A0BB4;
+ sPrimaryTilesetAnimCounter = 0;
+ sPrimaryTilesetAnimCounterMax = 256;
+ sPrimaryTilesetAnimCallback = TilesetAnim_Building;
}
-static void sub_80A0B70(u16 timer)
+static void TilesetAnim_General(u16 timer)
{
- static void gTilesetAnims_Flower(u16);
- static void gTilesetAnims_Water(u16);
- static void gTilesetAnims_SandWaterEdge(u16);
- static void gTilesetAnims_Waterfall(u16);
- static void gTilesetAnims_LandWaterEdge (u16);
-
- if ((timer & 0x0F) == 0)
- gTilesetAnims_Flower(timer >> 4);
- if ((timer & 0x0F) == 1)
- gTilesetAnims_Water(timer >> 4);
- if ((timer & 0x0F) == 2)
- gTilesetAnims_SandWaterEdge(timer >> 4);
- if ((timer & 0x0F) == 3)
- gTilesetAnims_Waterfall(timer >> 4);
- if ((timer & 0x0F) == 4)
- gTilesetAnims_LandWaterEdge (timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_General_Flower(timer >> 4);
+ if (timer % 16 == 1)
+ QueueAnimTiles_General_Water(timer >> 4);
+ if (timer % 16 == 2)
+ QueueAnimTiles_General_SandWaterEdge(timer >> 4);
+ if (timer % 16 == 3)
+ QueueAnimTiles_General_Waterfall(timer >> 4);
+ if (timer % 16 == 4)
+ QueueAnimTiles_General_LandWaterEdge(timer >> 4);
}
-static void sub_80A0BB4(u16 timer)
+static void TilesetAnim_Building(u16 timer)
{
- static void sub_80A1688(u16);
-
- if ((timer & 0x7) == 0)
- sub_80A1688(timer >> 3);
+ if (timer % 8 == 0)
+ QueueAnimTiles_Building_TVTurnedOn(timer >> 3);
}
-static void gTilesetAnims_Flower(u16 timer)
+static void QueueAnimTiles_General_Flower(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(508)), 0x80);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Flower[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(508)), 0x80);
}
-static void gTilesetAnims_Water(u16 timer)
+static void QueueAnimTiles_General_Water(u16 timer)
{
- u8 idx;
-
- idx = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(432)), 0x3C0);
+ u8 i = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Water[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(432)), 0x3C0);
}
-static void gTilesetAnims_SandWaterEdge(u16 timer)
+static void QueueAnimTiles_General_SandWaterEdge(u16 timer)
{
- u16 idx;
-
- idx = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(464)), 0x140);
+ u16 i = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_SandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(464)), 0x140);
}
-static void gTilesetAnims_Waterfall(u16 timer)
+static void QueueAnimTiles_General_Waterfall(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0xc0);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Waterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0xc0);
}
-void TilesetCb_Petalburg(void)
+void InitTilesetAnim_Petalburg(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = NULL;
}
-void TilesetCb_Rustboro(void)
+void InitTilesetAnim_Rustboro(void)
{
- static void sub_80A103C(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A103C;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Rustboro;
}
-void TilesetCb_Dewford(void)
+void InitTilesetAnim_Dewford(void)
{
- static void sub_80A10B8(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A10B8;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Dewford;
}
-void TilesetCb_Slateport(void)
+void InitTilesetAnim_Slateport(void)
{
- static void sub_80A10D0(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A10D0;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Slateport;
}
-void TilesetCb_Mauville(void)
+void InitTilesetAnim_Mauville(void)
{
- static void sub_80A10E8(u16);
-
- sSecondaryTilesetCBCounter = sPrimaryTilesetCBCounter;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A10E8;
+ sSecondaryTilesetAnimCounter = sPrimaryTilesetAnimCounter;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Mauville;
}
-void TilesetCb_Lavaridge(void)
+void InitTilesetAnim_Lavaridge(void)
{
- static void sub_80A115C(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A115C;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Lavaridge;
}
-void TilesetCb_Fallarbor(void)
+void InitTilesetAnim_Fallarbor(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = NULL;
}
-void TilesetCb_Fortree(void)
+void InitTilesetAnim_Fortree(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = NULL;
}
-void TilesetCb_Lilycove(void)
+void InitTilesetAnim_Lilycove(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = NULL;
}
-void TilesetCb_Mossdeep(void)
+void InitTilesetAnim_Mossdeep(void)
{
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = NULL;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = NULL;
}
-void TilesetCb_EverGrande(void)
+void InitTilesetAnim_EverGrande(void)
{
- static void sub_80A1188(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A1188;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_EverGrande;
}
-void TilesetCb_Pacifidlog(void)
+void InitTilesetAnim_Pacifidlog(void)
{
- static void sub_80A11FC(u16);
-
- sSecondaryTilesetCBCounter = sPrimaryTilesetCBCounter;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A11FC;
+ sSecondaryTilesetAnimCounter = sPrimaryTilesetAnimCounter;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Pacifidlog;
}
-void TilesetCb_Sootopolis(void)
+void InitTilesetAnim_Sootopolis(void)
{
- static void sub_80A122C(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A122C;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Sootopolis;
}
-void TilesetCb_BattleFrontierOutsideWest(void)
+void InitTilesetAnim_BattleFrontierOutsideWest(void)
{
- static void sub_80A127C(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A127C;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BattleFrontierOutsideWest;
}
-void TilesetCb_BattleFrontierOutsideEast(void)
+void InitTilesetAnim_BattleFrontierOutsideEast(void)
{
- static void sub_80A1294(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A1294;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BattleFrontierOutsideEast;
}
-void TilesetCb_Underwater(void)
+void InitTilesetAnim_Underwater(void)
{
- static void sub_80A1244(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = 128;
- sSecondaryTilesetCB = sub_80A1244;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = 128;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Underwater;
}
-void TilesetCb_SootopolisGym(void)
+void InitTilesetAnim_SootopolisGym(void)
{
- static void sub_80A15D8(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = 240;
- sSecondaryTilesetCB = sub_80A15D8;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = 240;
+ sSecondaryTilesetAnimCallback = TilesetAnim_SootopolisGym;
}
-void TilesetCb_Cave(void)
+void InitTilesetAnim_Cave(void)
{
- static void sub_80A1260(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A1260;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_Cave;
}
-void TilesetCb_EliteFour(void)
+void InitTilesetAnim_EliteFour(void)
{
- static void sub_80A15F0(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = 128;
- sSecondaryTilesetCB = sub_80A15F0;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = 128;
+ sSecondaryTilesetAnimCallback = TilesetAnim_EliteFour;
}
-void TilesetCb_MauvilleGym(void)
+void InitTilesetAnim_MauvilleGym(void)
{
- static void sub_80A15C0(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A15C0;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_MauvilleGym;
}
-void TilesetCb_BikeShop(void)
+void InitTilesetAnim_BikeShop(void)
{
- static void sub_80A161C(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A161C;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BikeShop;
}
-void TilesetCb_BattlePyramid(void)
+void InitTilesetAnim_BattlePyramid(void)
{
- static void sub_80A1634(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A1634;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BattlePyramid;
}
-void TilesetCb_BattleDome(void)
+void InitTilesetAnim_BattleDome(void)
{
- static void sub_80A1658(u16);
-
- sSecondaryTilesetCBCounter = 0;
- sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
- sSecondaryTilesetCB = sub_80A1658;
+ sSecondaryTilesetAnimCounter = 0;
+ sSecondaryTilesetAnimCounterMax = sPrimaryTilesetAnimCounterMax;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BattleDome;
}
-static void sub_80A103C(u16 timer)
+static void TilesetAnim_Rustboro(u16 timer)
{
- static void sub_80A1434(u16, u8);
- static void sub_80A1470(u16);
-
- if ((timer & 0x07) == 0)
+ if (timer % 8 == 0)
{
- sub_80A1434(timer >> 3, 0);
- sub_80A1470(timer >> 3);
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 0);
+ QueueAnimTiles_Rustboro_Fountain(timer >> 3);
}
- if ((timer & 0x07) == 1)
- sub_80A1434(timer >> 3, 1);
- if ((timer & 0x07) == 2)
- sub_80A1434(timer >> 3, 2);
- if ((timer & 0x07) == 3)
- sub_80A1434(timer >> 3, 3);
- if ((timer & 0x07) == 4)
- sub_80A1434(timer >> 3, 4);
- if ((timer & 0x07) == 5)
- sub_80A1434(timer >> 3, 5);
- if ((timer & 0x07) == 6)
- sub_80A1434(timer >> 3, 6);
- if ((timer & 0x07) == 7)
- sub_80A1434(timer >> 3, 7);
+ if (timer % 8 == 1)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 1);
+ if (timer % 8 == 2)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 2);
+ if (timer % 8 == 3)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 3);
+ if (timer % 8 == 4)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 4);
+ if (timer % 8 == 5)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 5);
+ if (timer % 8 == 6)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 6);
+ if (timer % 8 == 7)
+ QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 7);
}
-static void sub_80A10B8(u16 timer)
+static void TilesetAnim_Dewford(u16 timer)
{
- static void sub_80A1520(u16);
-
- if ((timer & 7) == 0)
- sub_80A1520(timer >> 3);
+ if (timer % 8 == 0)
+ QueueAnimTiles_Dewford_Flag(timer >> 3);
}
-static void sub_80A10D0(u16 timer)
+static void TilesetAnim_Slateport(u16 timer)
{
- static void sub_80A1598(u16);
-
- if ((timer & 15) == 0)
- sub_80A1598(timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_Slateport_Balloons(timer >> 4);
}
-static void sub_80A10E8(u16 timer)
+static void TilesetAnim_Mauville(u16 timer)
{
- static void sub_80A1394(u16, u8);
-
- if ((timer & 0x07) == 0)
- sub_80A1394(timer >> 3, 0);
- if ((timer & 0x07) == 1)
- sub_80A1394(timer >> 3, 1);
- if ((timer & 0x07) == 2)
- sub_80A1394(timer >> 3, 2);
- if ((timer & 0x07) == 3)
- sub_80A1394(timer >> 3, 3);
- if ((timer & 0x07) == 4)
- sub_80A1394(timer >> 3, 4);
- if ((timer & 0x07) == 5)
- sub_80A1394(timer >> 3, 5);
- if ((timer & 0x07) == 6)
- sub_80A1394(timer >> 3, 6);
- if ((timer & 0x07) == 7)
- sub_80A1394(timer >> 3, 7);
+ if (timer % 8 == 0)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 0);
+ if (timer % 8 == 1)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 1);
+ if (timer % 8 == 2)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 2);
+ if (timer % 8 == 3)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 3);
+ if (timer % 8 == 4)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 4);
+ if (timer % 8 == 5)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 5);
+ if (timer % 8 == 6)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 6);
+ if (timer % 8 == 7)
+ QueueAnimTiles_Mauville_Flowers(timer >> 3, 7);
}
-static void sub_80A115C(u16 timer)
+static void TilesetAnim_Lavaridge(u16 timer)
{
- static void sub_80A12D4(u8);
- static void sub_80A1498(u16);
-
- if ((timer & 0x0F) == 0)
- sub_80A12D4(timer >> 4);
- if ((timer & 0x0F) == 1)
- sub_80A1498(timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_Lavaridge_Steam(timer >> 4);
+ if (timer % 16 == 1)
+ QueueAnimTiles_Lavaridge_Lava(timer >> 4);
}
-static void sub_80A1188(u16 timer)
+static void TilesetAnim_EverGrande(u16 timer)
{
- static void sub_80A14C0(u16, u8);
-
- if ((timer & 0x07) == 0)
- sub_80A14C0(timer >> 3, 0);
- if ((timer & 0x07) == 1)
- sub_80A14C0(timer >> 3, 1);
- if ((timer & 0x07) == 2)
- sub_80A14C0(timer >> 3, 2);
- if ((timer & 0x07) == 3)
- sub_80A14C0(timer >> 3, 3);
- if ((timer & 0x07) == 4)
- sub_80A14C0(timer >> 3, 4);
- if ((timer & 0x07) == 5)
- sub_80A14C0(timer >> 3, 5);
- if ((timer & 0x07) == 6)
- sub_80A14C0(timer >> 3, 6);
- if ((timer & 0x07) == 7)
- sub_80A14C0(timer >> 3, 7);
+ if (timer % 8 == 0)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 0);
+ if (timer % 8 == 1)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 1);
+ if (timer % 8 == 2)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 2);
+ if (timer % 8 == 3)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 3);
+ if (timer % 8 == 4)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 4);
+ if (timer % 8 == 5)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 5);
+ if (timer % 8 == 6)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 6);
+ if (timer % 8 == 7)
+ QueueAnimTiles_EverGrande_Flowers(timer >> 3, 7);
}
-static void sub_80A11FC(u16 timer)
+static void TilesetAnim_Pacifidlog(u16 timer)
{
- static void sub_80A131C(u8);
- static void sub_80A136C(u8);
-
- if ((timer & 0x0F) == 0)
- sub_80A131C(timer >> 4);
- if ((timer & 0x0F) == 1)
- sub_80A136C(timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_Pacifidlog_LogBridges(timer >> 4);
+ if (timer % 16 == 1)
+ QueueAnimTiles_Pacifidlog_WaterCurrents(timer >> 4);
}
-static void sub_80A122C(u16 timer)
+static void TilesetAnim_Sootopolis(u16 timer)
{
- static void sub_80A1798(u16);
-
- if ((timer & 0x0F) == 0)
- sub_80A1798(timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_Sootopolis_StormyWater(timer >> 4);
}
-static void sub_80A1244(u16 timer)
+static void TilesetAnim_Underwater(u16 timer)
{
- static void sub_80A1344(u8);
-
- if ((timer & 0x0F) == 0)
- sub_80A1344(timer >> 4);
+ if (timer % 16 == 0)
+ QueueAnimTiles_Underwater_Seaweed(timer >> 4);
}
-static void sub_80A1260(u16 timer)
+static void TilesetAnim_Cave(u16 timer)
{
- static void sub_80A14F8(u16);
-
- if ((timer & 0x0F) == 1)
- sub_80A14F8(timer >> 4);
+ if (timer % 16 == 1)
+ QueueAnimTiles_Cave_Lava(timer >> 4);
}
-static void sub_80A127C(u16 timer)
+static void TilesetAnim_BattleFrontierOutsideWest(u16 timer)
{
- static void sub_80A1548(u16);
-
- if ((timer & 0x07) == 0)
- sub_80A1548(timer >> 3);
+ if (timer % 8 == 0)
+ QueueAnimTiles_BattleFrontierOutsideWest_Flag(timer >> 3);
}
-static void sub_80A1294(u16 timer)
+static void TilesetAnim_BattleFrontierOutsideEast(u16 timer)
{
- static void sub_80A1570(u16);
-
- if ((timer & 0x07) == 0)
- sub_80A1570(timer >> 3);
+ if (timer % 8 == 0)
+ QueueAnimTiles_BattleFrontierOutsideEast_Flag(timer >> 3);
}
-static void gTilesetAnims_LandWaterEdge (u16 timer)
+static void QueueAnimTiles_General_LandWaterEdge(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(480)), 0x140);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_LandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(480)), 0x140);
}
-static void sub_80A12D4(u8 timer)
+static void QueueAnimTiles_Lavaridge_Steam(u8 timer)
{
- u8 idx;
+ u8 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 288)), 0x80);
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 288)), 0x80);
-
- idx = (timer + 2) % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 292)), 0x80);
+ i = (timer + 2) % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 292)), 0x80);
}
-static void sub_80A131C(u8 timer)
+static void QueueAnimTiles_Pacifidlog_LogBridges(u8 timer)
{
- u8 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x3C0);
+ u8 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_LogBridges[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x3C0);
}
-static void sub_80A1344(u8 timer)
+static void QueueAnimTiles_Underwater_Seaweed(u8 timer)
{
- u8 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x80);
+ u8 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Underwater_Seaweed[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x80);
}
-static void sub_80A136C(u8 timer)
+static void QueueAnimTiles_Pacifidlog_WaterCurrents(u8 timer)
{
- u8 idx;
-
- idx = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x100);
+ u8 i = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_WaterCurrents[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x100);
}
-static void sub_80A1394(u16 timer_div, u8 timer_mod)
+static void QueueAnimTiles_Mauville_Flowers(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
if (timer_div < 12) // almost certainly a typo
{
timer_div %= 12;
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville0a[timer_div], gTilesetAnims_MauvilleVDests0[timer_mod], 0x80);
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville0b[timer_div], gTilesetAnims_MauvilleVDests1[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 0x80);
}
else
{
timer_div %= 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville1a[timer_div], gTilesetAnims_MauvilleVDests0[timer_mod], 0x80);
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville1b[timer_div], gTilesetAnims_MauvilleVDests1[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1_B[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2_B[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 0x80);
}
}
-static void sub_80A1434(u16 timer_div, u8 timer_mod)
+static void QueueAnimTiles_Rustboro_WindyWater(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
timer_div %= 8;
- if (gTilesetAnims_Rustboro0[timer_div])
- AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro0[timer_div], gTilesetAnims_RustboroVDests0[timer_mod], 0x80);
+ if (gTilesetAnims_Rustboro_WindyWater[timer_div])
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_WindyWater[timer_div], gTilesetAnims_Rustboro_WindyWater_VDests[timer_mod], 0x80);
}
-static void sub_80A1470(u16 timer)
+static void QueueAnimTiles_Rustboro_Fountain(u16 timer)
{
- u16 idx;
-
- idx = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 448)), 0x80);
+ u16 i = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_Fountain[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 448)), 0x80);
}
-static void sub_80A1498(u16 timer)
+static void QueueAnimTiles_Lavaridge_Lava(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 160)), 0x80);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 160)), 0x80);
}
-static void sub_80A14C0(u16 timer_div, u8 timer_mod)
+static void QueueAnimTiles_EverGrande_Flowers(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
timer_div %= 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_EverGrande0[timer_div], gTilesetAnims_EverGrandeVDests0[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_EverGrande_Flowers[timer_div], gTilesetAnims_EverGrande_VDests[timer_mod], 0x80);
}
-static void sub_80A14F8(u16 timer)
+static void QueueAnimTiles_Cave_Lava(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 416)), 0x80);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 416)), 0x80);
}
-static void sub_80A1520(u16 timer)
+static void QueueAnimTiles_Dewford_Flag(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 170)), 0xC0);
+ u16 id = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Dewford_Flag[id], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 170)), 0xC0);
}
-static void sub_80A1548(u16 timer)
+static void QueueAnimTiles_BattleFrontierOutsideWest_Flag(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
}
-static void sub_80A1570(u16 timer)
+static void QueueAnimTiles_BattleFrontierOutsideEast_Flag(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
}
-static void sub_80A1598(u16 timer)
+static void QueueAnimTiles_Slateport_Balloons(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), 0x80);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Slateport_Balloons[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), 0x80);
}
-static void sub_80A15C0(u16 timer)
+static void TilesetAnim_MauvilleGym(u16 timer)
{
- static void sub_80A1748(u16);
-
- if ((timer & 1) == 0)
- sub_80A1748(timer >> 1);
+ if (timer % 2 == 0)
+ QueueAnimTiles_MauvilleGym_ElectricGates(timer >> 1);
}
-static void sub_80A15D8(u16 timer)
+static void TilesetAnim_SootopolisGym(u16 timer)
{
- static void sub_80A16B0(u16);
-
- if ((timer & 7) == 0)
- sub_80A16B0(timer >> 3);
+ if (timer % 8 == 0)
+ QueueAnimTiles_SootopolisGym_Waterfalls(timer >> 3);
}
-static void sub_80A15F0(u16 timer)
+static void TilesetAnim_EliteFour(u16 timer)
{
- static void sub_80A1720(u16);
- static void sub_80A16F8(u16);
-
- if ((timer & 0x3f) == 1)
- sub_80A1720(timer >> 6);
- if ((timer & 0x07) == 1)
- sub_80A16F8(timer >> 3);
+ if (timer % 64 == 1)
+ QueueAnimTiles_EliteFour_GroundLights(timer >> 6);
+ if (timer % 8 == 1)
+ QueueAnimTiles_EliteFour_WallLights(timer >> 3);
}
-static void sub_80A161C(u16 timer)
-{
- static void sub_80A1770(u16);
- if ((timer & 3) == 0)
- sub_80A1770(timer >> 2);
+static void TilesetAnim_BikeShop(u16 timer)
+{
+ if (timer % 4 == 0)
+ QueueAnimTiles_BikeShop_BlinkingLights(timer >> 2);
}
-static void sub_80A1634(u16 timer)
+static void TilesetAnim_BattlePyramid(u16 timer)
{
- static void sub_80A17C0(u16);
- static void sub_80A17EC(u16);
-
- if ((timer & 7) == 0)
+ if (timer % 8 == 0)
{
- sub_80A17C0(timer >> 3);
- sub_80A17EC(timer >> 3);
+ QueueAnimTiles_BattlePyramid_Torch(timer >> 3);
+ QueueAnimTiles_BattlePyramid_StatueShadow(timer >> 3);
}
}
-static void sub_80A1658(u16 timer)
+static void TilesetAnim_BattleDome(u16 timer)
{
- static void sub_80A1818(u16);
-
- if ((timer & 3) == 0)
- sub_80A1818(timer >> 2);
+ if (timer % 4 == 0)
+ BlendAnimPalette_BattleDome_FloorLights(timer >> 2);
}
-static void sub_80A1670(u16 timer)
+static void TilesetAnim_BattleDome2(u16 timer)
{
- static void sub_80A1884(u16);
-
- if ((timer & 3) == 0)
- sub_80A1884(timer >> 2);
+ if (timer % 4 == 0)
+ BlendAnimPalette_BattleDome_FloorLightsNoBlend(timer >> 2);
}
-static void sub_80A1688(u16 timer)
+static void QueueAnimTiles_Building_TVTurnedOn(u16 timer)
{
- u16 idx;
-
- idx = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0x80);
+ u16 i = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Building_TvTurnedOn[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0x80);
}
-static void sub_80A16B0(u16 timer)
+static void QueueAnimTiles_SootopolisGym_Waterfalls(u16 timer)
{
- u16 idx;
-
- idx = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x180);
- AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x280);
+ u16 i = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_SideWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x180);
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_FrontWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x280);
}
-static void sub_80A16F8(u16 timer)
+static void QueueAnimTiles_EliteFour_WallLights(u16 timer)
{
- u16 idx;
-
- idx = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 504)), 0x20);
+ u16 i = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_WallLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 504)), 0x20);
}
-static void sub_80A1720(u16 timer)
+static void QueueAnimTiles_EliteFour_GroundLights(u16 timer)
{
- u16 idx;
-
- idx = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 480)), 0x80);
+ u16 i = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_FloorLight[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 480)), 0x80);
}
-static void sub_80A1748(u16 timer)
+static void QueueAnimTiles_MauvilleGym_ElectricGates(u16 timer)
{
- u16 idx;
-
- idx = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), 0x200);
+ u16 i = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym_ElectricGates[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), 0x200);
}
-static void sub_80A1770(u16 timer)
+static void QueueAnimTiles_BikeShop_BlinkingLights(u16 timer)
{
- u16 idx;
-
- idx = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x120);
+ u16 i = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop_BlinkingLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x120);
}
-static void sub_80A1798(u16 timer)
+static void QueueAnimTiles_Sootopolis_StormyWater(u16 timer)
{
- u16 idx;
-
- idx = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), 0xc00);
+ u16 i = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis_StormyWater[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), 0xc00);
}
-static void sub_80A17C0(u16 timer)
+static void QueueAnimTiles_BattlePyramid_Torch(u16 timer)
{
- u16 idx;
-
- idx = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 151)), 0x100);
+ u16 i = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_Torch[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 151)), 0x100);
}
-static void sub_80A17EC(u16 timer)
+static void QueueAnimTiles_BattlePyramid_StatueShadow(u16 timer)
{
- u16 idx;
-
- idx = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 135)), 0x100);
+ u16 i = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_StatueShadow[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 135)), 0x100);
}
-static void sub_80A1818(u16 a1)
+static void BlendAnimPalette_BattleDome_FloorLights(u16 timer)
{
- CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
- BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
+ CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % 4], gPlttBufferUnfaded + 0x80, 32);
+ BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) != 0xFF )
{
- sSecondaryTilesetCB = sub_80A1670;
- sSecondaryTilesetCBBufferSize = 0x20;
+ sSecondaryTilesetAnimCallback = TilesetAnim_BattleDome2;
+ sSecondaryTilesetAnimCounterMax = 32;
}
}
-static void sub_80A1884(u16 a1)
+static void BlendAnimPalette_BattleDome_FloorLightsNoBlend(u16 timer)
{
- CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % 4], gPlttBufferUnfaded + 0x80, 32);
if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) == 0xFF )
{
- BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
- if (!--sSecondaryTilesetCBBufferSize)
- sSecondaryTilesetCB = NULL;
+ BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
+ if (!--sSecondaryTilesetAnimCounterMax)
+ sSecondaryTilesetAnimCallback = NULL;
}
}
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 309ffdb1d..efe11b0c7 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -660,7 +660,7 @@ void sub_81D5DF8(void)
SetUpDataStruct();
for (i = 0; i < 2; i++)
- gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates));
floorId = GetFloorId();
@@ -677,7 +677,7 @@ void sub_81D5DF8(void)
eventTemplates[i].movementType = ((sHillData->tag.floors[floorId].direction >> bits) & 0xF) + MOVEMENT_TYPE_FACE_UP;
eventTemplates[i].trainerRange_berryTreeId = (sHillData->tag.floors[floorId].range >> bits) & 0xF;
eventTemplates[i].script = EventScript_2C83F0;
- gSaveBlock2Ptr->frontier.field_CB4[i] = i + 1;
+ gSaveBlock2Ptr->frontier.trainerIds[i] = i + 1;
}
FreeDataStruct();
@@ -874,7 +874,7 @@ const struct WarpEvent* sub_81D6134(u8 warpEventId)
u16 LocalIdToHillTrainerId(u8 localId)
{
- return gSaveBlock2Ptr->frontier.field_CB4[localId - 1];
+ return gSaveBlock2Ptr->frontier.trainerIds[localId - 1];
}
bool8 GetHillTrainerFlag(u8 eventObjectId)
@@ -892,7 +892,7 @@ void SetHillTrainerFlag(void)
for (i = 0; i < 2; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == gTrainerBattleOpponent_A)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_A)
{
gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i];
break;
@@ -903,7 +903,7 @@ void SetHillTrainerFlag(void)
{
for (i = 0; i < 2; i++)
{
- if (gSaveBlock2Ptr->frontier.field_CB4[i] == gTrainerBattleOpponent_B)
+ if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_B)
{
gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i];
break;
diff --git a/src/water.c b/src/water.c
index 42ab1d67f..d13b1378e 100644
--- a/src/water.c
+++ b/src/water.c
@@ -876,31 +876,31 @@ void sub_810790C(struct Sprite *sprite)
#ifdef NONMATCHING
void AnimTask_CreateSurfWave(u8 taskId)
{
- struct UnknownAnimStruct2 unk;
+ struct BattleAnimBgData animBg;
u8 taskId2;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
- sub_80A6B30(&unk);
+ sub_80A6B30(&animBg);
if (!IsContest())
{
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
- sub_80A6D48(unk.bgId, gUnknown_08D95E00);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D95E00);
else
- sub_80A6D48(unk.bgId, gUnknown_08D960D0);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D960D0);
}
else
{
- sub_80A6D60(&unk, gUnknown_08D963A4, 1);
+ sub_80A6D60(&animBg, gUnknown_08D963A4, 1);
}
- sub_80A6CC0(unk.bgId, gBattleAnimBackgroundImage_Surf, unk.tilesOffset);
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBackgroundImage_Surf, animBg.tilesOffset);
if (gBattleAnimArgs[0] == 0)
- LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, unk.unk8 * 16, 32);
+ LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, animBg.paletteId * 16, 32);
else
- LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, unk.unk8 * 16, 32);
+ LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32);
taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1);
gTasks[taskId].data[15] = taskId2;
gTasks[taskId2].data[0] = 0;
@@ -993,14 +993,14 @@ void AnimTask_CreateSurfWave(u8 taskId)
mov r0, sp\n\
ldrb r0, [r0, 0x9]\n\
ldr r1, =gUnknown_08D95E00\n\
- bl sub_80A6D48\n\
+ bl AnimLoadCompressedBgTilemap\n\
b _081079EA\n\
.pool\n\
_081079D0:\n\
mov r0, sp\n\
ldrb r0, [r0, 0x9]\n\
ldr r1, =gUnknown_08D960D0\n\
- bl sub_80A6D48\n\
+ bl AnimLoadCompressedBgTilemap\n\
b _081079EA\n\
.pool\n\
_081079E0:\n\
@@ -1014,7 +1014,7 @@ _081079EA:\n\
ldr r1, =gBattleAnimBackgroundImage_Surf\n\
mov r2, sp\n\
ldrh r2, [r2, 0xA]\n\
- bl sub_80A6CC0\n\
+ bl AnimLoadCompressedBgGfx\n\
ldr r0, =gBattleAnimArgs\n\
movs r1, 0\n\
ldrsh r0, [r0, r1]\n\
@@ -1176,7 +1176,7 @@ _08107B58:\n\
#ifdef NONMATCHING
void sub_8107B84(u8 taskId)
{
- struct UnknownAnimStruct2 unk;
+ struct BattleAnimBgData animBg;
u8 i;
u16 rgbBuffer;
u16 *BGptrX = &gBattle_BG1_X;
@@ -1187,18 +1187,18 @@ void sub_8107B84(u8 taskId)
*BGptrX += gTasks[taskId].data[0];
*BGptrY += gTasks[taskId].data[1];
- sub_80A6B30(&unk);
+ sub_80A6B30(&animBg);
gTasks[taskId].data[2] += gTasks[taskId].data[1];
if (++gTasks[taskId].data[5] == 4)
{
- rgbBuffer = gPlttBufferFaded[unk.unk8 * 16 + 7];
+ rgbBuffer = gPlttBufferFaded[animBg.paletteId * 16 + 7];
for (i = 6; i != 0; i--)
{
- palNum = unk.unk8 * 16;
+ palNum = animBg.paletteId * 16;
palOffset = 1 + i;
gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1];
}
- gPlttBufferFaded[unk.unk8 * 16 + 1] = rgbBuffer;
+ gPlttBufferFaded[animBg.paletteId * 16 + 1] = rgbBuffer;
gTasks[taskId].data[5] = 0;
}
if (++gTasks[taskId].data[6] > 1)
@@ -2320,7 +2320,7 @@ void sub_8108AC0(struct Task *task)
void sub_8108B2C(struct Sprite *sprite)
{
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
@@ -2337,7 +2337,7 @@ void sub_8108B94(struct Sprite *sprite)
{
u16 i;
- if (TranslateAnimArc(sprite))
+ if (TranslateAnimHorizontalArc(sprite))
{
for (i = 0; i < NUM_TASKS; i++)
{