summaryrefslogtreecommitdiff
path: root/src/battle_7.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_7.c')
-rw-r--r--src/battle_7.c446
1 files changed, 222 insertions, 224 deletions
diff --git a/src/battle_7.c b/src/battle_7.c
index 9c8b86fb4..a93237608 100644
--- a/src/battle_7.c
+++ b/src/battle_7.c
@@ -29,19 +29,19 @@ struct Struct2019348
u32 unk10;
};
-extern u8 gUnknown_02023A60[][0x200];
-extern u8 gUnknown_02024A60;
-extern u32 gUnknown_02024A64;
-extern u8 gUnknown_02024A68;
-extern u16 gUnknown_02024A6A[];
-extern u8 gUnknown_02024A72[];
-extern u8 gUnknown_02024BE0[];
+extern u8 gBattleBufferA[][0x200];
+extern u8 gActiveBank;
+extern u32 gBattleExecBuffer;
+extern u8 gNoOfAllBanks;
+extern u16 gBattlePartyID[];
+extern u8 gBanksBySide[];
+extern u8 gObjectBankIDs[];
extern u16 gUnknown_02024DE8;
-extern u8 gUnknown_02024E6D;
-extern u32 gUnknown_02024E70[];
+extern u8 gDoingBattleAnim;
+extern u32 gPID_perBank[];
extern struct Window gUnknown_03004210;
-extern void (*gUnknown_03004330[])(void);
-extern u8 gUnknown_03004340[];
+extern void (*gBattleBankFunc[])(void);
+extern u8 gHealthboxIDs[];
extern u8 gUnknown_0300434C[];
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;
@@ -55,21 +55,21 @@ extern void (*gAnimScriptCallback)(void);
extern u8 gAnimScriptActive;
extern const u8 *const gBattleAnims_Unknown1[];
extern const u8 *const gBattleAnims_Unknown2[];
-extern const struct SpriteSheet gTrainerFrontPicTable[];
+extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern const struct MonCoords gTrainerFrontPicCoords[];
-extern const struct SpritePalette gTrainerFrontPicPaletteTable[];
+extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const u8 gSubstituteDollTilemap[];
extern const u8 gSubstituteDollGfx[];
extern const u8 gSubstituteDollPal[];
-extern const struct SpriteSheet gUnknown_081FAF24;
+extern const struct CompressedSpriteSheet gUnknown_081FAF24;
extern const struct SpriteTemplate gSpriteTemplate_81FAF34;
-extern void (*const gUnknown_081FAF5C[])(void);
-extern const struct SpriteSheet gUnknown_0820A47C;
-extern const struct SpriteSheet gUnknown_0820A484;
-extern const struct SpriteSheet gUnknown_0820A48C[];
-extern const struct SpriteSheet gUnknown_0820A49C[];
-extern const struct SpriteSheet gUnknown_0820A4AC;
-extern const struct SpriteSheet gUnknown_0820A4B4[];
+extern void (*const gOpponentBufferCommands[])(void);
+extern const struct CompressedSpriteSheet gUnknown_0820A47C;
+extern const struct CompressedSpriteSheet gUnknown_0820A484;
+extern const struct CompressedSpriteSheet gUnknown_0820A48C[];
+extern const struct CompressedSpriteSheet gUnknown_0820A49C[];
+extern const struct CompressedSpriteSheet gUnknown_0820A4AC;
+extern const struct CompressedSpriteSheet gUnknown_0820A4B4[];
extern const struct SpritePalette gUnknown_0820A4D4[];
extern const u8 gUnknown_08D09C48[];
@@ -84,10 +84,8 @@ extern u8 sub_8078874(u8);
extern u8 sub_8077F68(u8);
extern u8 sub_8077F7C(u8);
extern void sub_8094958(void);
-extern const u16 *pokemon_get_pal(struct Pokemon *);
extern void sub_80105DC(struct Sprite *);
extern void move_anim_start_t2();
-extern const u16 *species_and_otid_get_pal();
void sub_80315E8(u8);
u8 sub_803163C(u8);
@@ -98,9 +96,9 @@ void sub_80324E0(u8 a);
void sub_80327CC(void);
void sub_8032978(struct Sprite *);
void sub_80328A4(struct Sprite *);
-void sub_8032AFC(void);
+void OpponentBufferRunCommand(void);
void sub_80332D0(void);
-void sub_80334EC(void);
+void OpponentBufferExecCompleted(void);
void sub_80312F0(struct Sprite *sprite)
{
@@ -142,36 +140,36 @@ void sub_80313A0(struct Sprite *sprite)
void move_anim_start_t2_for_situation(u8 a, u32 b)
{
- ewram17810[gUnknown_02024A60].unk0_4 = 1;
+ ewram17810[gActiveBank].unk0_4 = 1;
if (a == 0)
{
if (b == 0x20)
- move_anim_start_t2(gUnknown_02024A60, 6);
+ move_anim_start_t2(gActiveBank, 6);
else if (b == 8 || (b & 0x80))
- move_anim_start_t2(gUnknown_02024A60, 0);
+ move_anim_start_t2(gActiveBank, 0);
else if (b == 0x10)
- move_anim_start_t2(gUnknown_02024A60, 2);
+ move_anim_start_t2(gActiveBank, 2);
else if (b & 7)
- move_anim_start_t2(gUnknown_02024A60, 4);
+ move_anim_start_t2(gActiveBank, 4);
else if (b == 0x40)
- move_anim_start_t2(gUnknown_02024A60, 5);
+ move_anim_start_t2(gActiveBank, 5);
else
- ewram17810[gUnknown_02024A60].unk0_4 = 0;
+ ewram17810[gActiveBank].unk0_4 = 0;
}
else
{
if (b & 0x000F0000)
- move_anim_start_t2(gUnknown_02024A60, 3);
+ move_anim_start_t2(gActiveBank, 3);
else if (b & 7)
- move_anim_start_t2(gUnknown_02024A60, 1);
+ move_anim_start_t2(gActiveBank, 1);
else if (b & 0x10000000)
- move_anim_start_t2(gUnknown_02024A60, 7);
+ move_anim_start_t2(gActiveBank, 7);
else if (b & 0x08000000)
- move_anim_start_t2(gUnknown_02024A60, 8);
+ move_anim_start_t2(gActiveBank, 8);
else if (b & 0x0000E000)
- move_anim_start_t2(gUnknown_02024A60, 9);
+ move_anim_start_t2(gActiveBank, 9);
else
- ewram17810[gUnknown_02024A60].unk0_4 = 0;
+ ewram17810[gActiveBank].unk0_4 = 0;
}
}
@@ -186,9 +184,9 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e)
}
if (ewram17800[a].unk0_2 && sub_803163C(d) == 0)
return TRUE;
- if (ewram17800[a].unk0_2 && d == 2 && gSprites[gUnknown_02024BE0[a]].invisible)
+ if (ewram17800[a].unk0_2 && d == 2 && gSprites[gObjectBankIDs[a]].invisible)
{
- refresh_graphics_maybe(a, 1, gUnknown_02024BE0[a]);
+ refresh_graphics_maybe(a, 1, gObjectBankIDs[a]);
sub_80324E0(a);
return TRUE;
}
@@ -262,7 +260,7 @@ bool8 mplay_80342A4(u8 a)
if (IsSEPlaying())
{
ewram17810[a].unk8++;
- if (ewram17810[gUnknown_02024A60].unk8 < 30)
+ if (ewram17810[gActiveBank].unk8 < 30)
return TRUE;
m4aMPlayStop(&gMPlay_SE1);
m4aMPlayStop(&gMPlay_SE2);
@@ -283,7 +281,7 @@ void sub_8031794(struct Pokemon *pkmn, u8 b)
u32 otId;
u8 var;
u16 paletteOffset;
- const u16 *palette;
+ const u8 *lzPaletteData;
personalityValue = GetMonData(pkmn, MON_DATA_PERSONALITY);
if (ewram17800[b].unk2 == 0)
@@ -294,10 +292,10 @@ void sub_8031794(struct Pokemon *pkmn, u8 b)
else
{
species = ewram17800[b].unk2;
- r7 = gUnknown_02024E70[b];
+ r7 = gPID_perBank[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
- var = battle_get_per_side_status(b);
+ var = GetBankIdentity(b);
HandleLoadSpecialPokePic(
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
@@ -308,16 +306,16 @@ void sub_8031794(struct Pokemon *pkmn, u8 b)
r7);
paletteOffset = 0x100 + b * 16;
if (ewram17800[b].unk2 == 0)
- palette = pokemon_get_pal(pkmn);
+ lzPaletteData = pokemon_get_pal(pkmn);
else
- palette = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(palette, ewram);
+ lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
+ sub_800D238(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 0x20);
LoadPalette(ewram, 0x80 + b * 16, 0x20);
if (species == SPECIES_CASTFORM)
{
paletteOffset = 0x100 + b * 16;
- sub_800D238(palette, ewram + 0x16400);
+ sub_800D238(lzPaletteData, ewram + 0x16400);
LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
if (ewram17800[b].unk2 != 0)
@@ -335,7 +333,7 @@ void sub_80318FC(struct Pokemon *pkmn, u8 b)
u32 otId;
u8 var;
u16 paletteOffset;
- const u16 *palette;
+ const u8 *lzPaletteData;
personalityValue = GetMonData(pkmn, MON_DATA_PERSONALITY);
if (ewram17800[b].unk2 == 0)
@@ -346,10 +344,10 @@ void sub_80318FC(struct Pokemon *pkmn, u8 b)
else
{
species = ewram17800[b].unk2;
- r7 = gUnknown_02024E70[b];
+ r7 = gPID_perBank[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
- var = battle_get_per_side_status(b);
+ var = GetBankIdentity(b);
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -360,16 +358,16 @@ void sub_80318FC(struct Pokemon *pkmn, u8 b)
r7);
paletteOffset = 0x100 + b * 16;
if (ewram17800[b].unk2 == 0)
- palette = pokemon_get_pal(pkmn);
+ lzPaletteData = pokemon_get_pal(pkmn);
else
- palette = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(palette, ewram);
+ lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
+ sub_800D238(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 0x20);
LoadPalette(ewram, 0x80 + b * 16, 0x20);
if (species == SPECIES_CASTFORM)
{
paletteOffset = 0x100 + b * 16;
- sub_800D238(palette, ewram + 0x16400);
+ sub_800D238(lzPaletteData, ewram + 0x16400);
LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
if (ewram17800[b].unk2 != 0)
@@ -390,9 +388,9 @@ void nullsub_9(u16 unused)
void sub_8031A6C(u16 a, u8 b)
{
u8 status;
- struct SpriteSheet spriteSheet;
+ struct CompressedSpriteSheet spriteSheet;
- status = battle_get_per_side_status(b);
+ status = GetBankIdentity(b);
DecompressPicFromTable_2(
&gTrainerFrontPicTable[a],
gTrainerFrontPicCoords[a].coords,
@@ -411,7 +409,7 @@ void sub_8031AF4(u16 a, u8 b)
{
u8 status;
- status = battle_get_per_side_status(b);
+ status = GetBankIdentity(b);
DecompressPicFromTable_2(
&gTrainerBackPicTable[a],
gTrainerBackPicCoords[a].coords,
@@ -454,7 +452,7 @@ void unref_sub_8031BA0(void)
count = 4;
}
for (i = 0; i < count; i++)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[i]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[i]]);
}
bool8 sub_8031C30(u8 a)
@@ -480,9 +478,9 @@ bool8 sub_8031C30(u8 a)
else if (a == 3)
LoadCompressedObjectPic(&gUnknown_0820A484);
else if (a == 4)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[0]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[0]]);
else if (a == 5)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[1]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[1]]);
else
retVal = TRUE;
}
@@ -497,13 +495,13 @@ bool8 sub_8031C30(u8 a)
else if (a == 5)
LoadCompressedObjectPic(&gUnknown_0820A49C[1]);
else if (a == 6)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[0]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[0]]);
else if (a == 7)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[1]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[1]]);
else if (a == 8)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[2]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[2]]);
else if (a == 9)
- LoadCompressedObjectPic(&gUnknown_0820A4B4[gUnknown_02024A72[3]]);
+ LoadCompressedObjectPic(&gUnknown_0820A4B4[gBanksBySide[3]]);
else
retVal = TRUE;
}
@@ -542,11 +540,11 @@ u8 battle_load_something(u8 *pState, u8 *b)
break;
case 3:
if ((gBattleTypeFlags & 0x80) && *b == 0)
- gUnknown_03004340[*b] = battle_make_oam_safari_battle();
+ gHealthboxIDs[*b] = battle_make_oam_safari_battle();
else
- gUnknown_03004340[*b] = battle_make_oam_normal_battle(*b);
+ gHealthboxIDs[*b] = battle_make_oam_normal_battle(*b);
(*b)++;
- if (*b == gUnknown_02024A68)
+ if (*b == gNoOfAllBanks)
{
*b = 0;
(*pState)++;
@@ -554,30 +552,30 @@ u8 battle_load_something(u8 *pState, u8 *b)
break;
case 4:
sub_8043F44(*b);
- if (gUnknown_02024A72[*b] <= 1)
- nullsub_11(gUnknown_03004340[*b], 0);
+ if (gBanksBySide[*b] <= 1)
+ nullsub_11(gHealthboxIDs[*b], 0);
else
- nullsub_11(gUnknown_03004340[*b], 1);
+ nullsub_11(gHealthboxIDs[*b], 1);
(*b)++;
- if (*b == gUnknown_02024A68)
+ if (*b == gNoOfAllBanks)
{
*b = 0;
(*pState)++;
}
break;
case 5:
- if (battle_side_get_owner(*b) == 0)
+ if (GetBankSide(*b) == 0)
{
if (!(gBattleTypeFlags & 0x80))
- sub_8045A5C(gUnknown_03004340[*b], &gPlayerParty[gUnknown_02024A6A[*b]], 0);
+ sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlePartyID[*b]], 0);
}
else
{
- sub_8045A5C(gUnknown_03004340[*b], &gEnemyParty[gUnknown_02024A6A[*b]], 0);
+ sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlePartyID[*b]], 0);
}
- sub_8043DB0(gUnknown_03004340[*b]);
+ sub_8043DB0(gHealthboxIDs[*b]);
(*b)++;
- if (*b == gUnknown_02024A68)
+ if (*b == gNoOfAllBanks)
{
*b = 0;
(*pState)++;
@@ -608,13 +606,13 @@ void sub_8031F24(void)
{
s32 i;
- for (i = 0; i < gUnknown_02024A68; i++)
- ewram17800[i].unk0_0 = gSprites[gUnknown_02024BE0[i]].invisible;
+ for (i = 0; i < gNoOfAllBanks; i++)
+ ewram17800[i].unk0_0 = gSprites[gObjectBankIDs[i]].invisible;
}
void sub_8031F88(u8 a)
{
- ewram17800[a].unk0_0 = gSprites[gUnknown_02024BE0[a]].invisible;
+ ewram17800[a].unk0_0 = gSprites[gObjectBankIDs[a]].invisible;
}
void sub_8031FC4(u8 a, u8 b, bool8 c)
@@ -624,11 +622,11 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
u32 personalityValue;
u32 otId;
u8 r10;
- const u16 *palette;
+ const u8 *lzPaletteData;
if (c)
{
- StartSpriteAnim(&gSprites[gUnknown_02024BE0[a]], ewram17840.unk0);
+ StartSpriteAnim(&gSprites[gObjectBankIDs[a]], ewram17840.unk0);
paletteOffset = 0x100 + a * 16;
LoadPalette(ewram + 0x16400 + ewram17840.unk0 * 32, paletteOffset, 32);
gBattleMonForms[a] = ewram17840.unk0;
@@ -637,7 +635,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
BlendPalette(paletteOffset, 16, 6, 0x7FFF);
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
}
- gSprites[gUnknown_02024BE0[a]].pos1.y = sub_8077F68(a);
+ gSprites[gObjectBankIDs[a]].pos1.y = sub_8077F68(a);
}
else
{
@@ -661,15 +659,15 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
}
else
{
- r10 = battle_get_per_side_status(a);
- if (battle_side_get_owner(b) == 1)
- species = GetMonData(&gEnemyParty[gUnknown_02024A6A[b]], MON_DATA_SPECIES);
+ r10 = GetBankIdentity(a);
+ if (GetBankSide(b) == 1)
+ species = GetMonData(&gEnemyParty[gBattlePartyID[b]], MON_DATA_SPECIES);
else
- species = GetMonData(&gPlayerParty[gUnknown_02024A6A[b]], MON_DATA_SPECIES);
- if (battle_side_get_owner(a) == 0)
+ species = GetMonData(&gPlayerParty[gBattlePartyID[b]], MON_DATA_SPECIES);
+ if (GetBankSide(a) == 0)
{
- personalityValue = GetMonData(&gPlayerParty[gUnknown_02024A6A[a]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gPlayerParty[gUnknown_02024A6A[a]], MON_DATA_OT_ID);
+ personalityValue = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_OT_ID);
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -677,12 +675,12 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
0x02000000,
gUnknown_081FAF4C[r10],
species,
- gUnknown_02024E70[a]);
+ gPID_perBank[a]);
}
else
{
- personalityValue = GetMonData(&gEnemyParty[gUnknown_02024A6A[a]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gEnemyParty[gUnknown_02024A6A[a]], MON_DATA_OT_ID);
+ personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_OT_ID);
HandleLoadSpecialPokePic(
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
@@ -690,21 +688,21 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
0x02000000,
gUnknown_081FAF4C[r10],
species,
- gUnknown_02024E70[a]);
+ gPID_perBank[a]);
}
}
src = gUnknown_081FAF4C[r10];
- dst = (void *)(VRAM + 0x10000 + gSprites[gUnknown_02024BE0[a]].oam.tileNum * 32);
+ dst = (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32);
DmaCopy32(3, src, dst, 0x800);
paletteOffset = 0x100 + a * 16;
- palette = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(palette, ewram);
+ lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
+ sub_800D238(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 32);
if (species == SPECIES_CASTFORM)
{
u16 *paletteSrc = (u16 *)(ewram + 0x16400);
- sub_800D238(palette, paletteSrc);
+ sub_800D238(lzPaletteData, paletteSrc);
LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32);
}
BlendPalette(paletteOffset, 16, 6, 0x7FFF);
@@ -714,8 +712,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
ewram17800[a].unk2 = species;
gBattleMonForms[a] = gBattleMonForms[b];
}
- gSprites[gUnknown_02024BE0[a]].pos1.y = sub_8077F68(a);
- StartSpriteAnim(&gSprites[gUnknown_02024BE0[a]], gBattleMonForms[a]);
+ gSprites[gObjectBankIDs[a]].pos1.y = sub_8077F68(a);
+ StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]);
}
}
@@ -732,10 +730,10 @@ void sub_8032350(u8 a, u8 b)
if (IsContest())
r4 = 0;
else
- r4 = battle_get_per_side_status(a);
+ r4 = GetBankIdentity(a);
if (IsContest())
LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]);
- else if (battle_side_get_owner(a) != 0)
+ else if (GetBankSide(a) != 0)
LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]);
else
LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]);
@@ -751,10 +749,10 @@ void sub_8032350(u8 a, u8 b)
{
if (!IsContest())
{
- if (battle_side_get_owner(a) != 0)
- sub_8031794(&gEnemyParty[gUnknown_02024A6A[a]], a);
+ if (GetBankSide(a) != 0)
+ sub_8031794(&gEnemyParty[gBattlePartyID[a]], a);
else
- sub_80318FC(&gPlayerParty[gUnknown_02024A6A[a]], a);
+ sub_80318FC(&gPlayerParty[gBattlePartyID[a]], a);
}
}
}
@@ -812,7 +810,7 @@ void sub_80324F8(struct Pokemon *pkmn, u8 b)
void sub_80325B8(void)
{
- u8 r4 = battle_get_side_with_given_state(0);
+ u8 r4 = GetBankByPlayerAI(0);
ewram17800[r4].unk0_1 = 0;
if (IsDoubleBattle())
@@ -832,10 +830,10 @@ void sub_8032638(void)
{
if (gMain.inBattle)
{
- u8 r8 = battle_get_side_with_given_state(0);
- u8 r9 = battle_get_side_with_given_state(2);
- u8 r4 = pokemon_order_func(gUnknown_02024A6A[r8]);
- u8 r5 = pokemon_order_func(gUnknown_02024A6A[r9]);
+ u8 r8 = GetBankByPlayerAI(0);
+ u8 r9 = GetBankByPlayerAI(2);
+ u8 r4 = pokemon_order_func(gBattlePartyID[r8]);
+ u8 r5 = pokemon_order_func(gBattlePartyID[r9]);
if (GetMonData(&gPlayerParty[r4], MON_DATA_HP) != 0)
sub_80324F8(&gPlayerParty[r4], r8);
@@ -851,19 +849,19 @@ void sub_80326EC(u8 a)
{
s32 i;
- for (i = 0; i < gUnknown_02024A68; i++)
+ for (i = 0; i < gNoOfAllBanks; i++)
{
if (sub_8078874(i) != 0)
{
- gSprites[gUnknown_02024BE0[i]].oam.affineMode = a;
+ gSprites[gObjectBankIDs[i]].oam.affineMode = a;
if (a == 0)
{
- ewram17810[i].unk6 = gSprites[gUnknown_02024BE0[i]].oam.matrixNum;
- gSprites[gUnknown_02024BE0[i]].oam.matrixNum = 0;
+ ewram17810[i].unk6 = gSprites[gObjectBankIDs[i]].oam.matrixNum;
+ gSprites[gObjectBankIDs[i]].oam.matrixNum = 0;
}
else
{
- gSprites[gUnknown_02024BE0[i]].oam.matrixNum = ewram17810[i].unk6;
+ gSprites[gObjectBankIDs[i]].oam.matrixNum = ewram17810[i].unk6;
}
}
}
@@ -874,12 +872,12 @@ void sub_80327CC(void)
u8 r5;
LoadCompressedObjectPic(&gUnknown_081FAF24);
- r5 = battle_get_side_with_given_state(1);
+ r5 = GetBankByPlayerAI(1);
ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, sub_8077ABC(r5, 0), sub_8077ABC(r5, 1) + 32, 0xC8);
gSprites[ewram17810[r5].unk7].data0 = r5;
if (IsDoubleBattle())
{
- r5 = battle_get_side_with_given_state(3);
+ r5 = GetBankByPlayerAI(3);
ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, sub_8077ABC(r5, 0), sub_8077ABC(r5, 1) + 32, 0xC8);
gSprites[ewram17810[r5].unk7].data0 = r5;
}
@@ -889,7 +887,7 @@ void sub_80328A4(struct Sprite *sprite)
{
bool8 invisible = FALSE;
u8 r4 = sprite->data0;
- struct Sprite *r7 = &gSprites[gUnknown_02024BE0[r4]];
+ struct Sprite *r7 = &gSprites[gObjectBankIDs[r4]];
if (!r7->inUse || sub_8078874(r4) == 0)
{
@@ -914,7 +912,7 @@ void sub_8032978(struct Sprite *sprite)
void sub_8032984(u8 a, u16 b)
{
- if (battle_side_get_owner(a) != 0)
+ if (GetBankSide(a) != 0)
{
if (ewram17800[a].unk2 != 0)
b = ewram17800[a].unk2;
@@ -965,53 +963,53 @@ void nullsub_45(void)
{
}
-void sub_8032AE0(void)
+void SetBankFuncToOpponentBufferRunCommand(void)
{
- gUnknown_03004330[gUnknown_02024A60] = sub_8032AFC;
+ gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand;
}
-void sub_8032AFC(void)
+void OpponentBufferRunCommand(void)
{
- if (gUnknown_02024A64 & gBitTable[gUnknown_02024A60])
+ if (gBattleExecBuffer & gBitTable[gActiveBank])
{
- if (gUnknown_02023A60[gUnknown_02024A60][0] <= 0x38)
- gUnknown_081FAF5C[gUnknown_02023A60[gUnknown_02024A60][0]]();
+ if (gBattleBufferA[gActiveBank][0] <= 0x38)
+ gOpponentBufferCommands[gBattleBufferA[gActiveBank][0]]();
else
- sub_80334EC();
+ OpponentBufferExecCompleted();
}
}
void sub_8032B4C(void)
{
- if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback == SpriteCallbackDummy)
- sub_80334EC();
+ if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy)
+ OpponentBufferExecCompleted();
}
// Duplicate of sub_8032B4C
void sub_8032B84(void)
{
- if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback == SpriteCallbackDummy)
- sub_80334EC();
+ if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy)
+ OpponentBufferExecCompleted();
}
void sub_8032BBC(void)
{
- if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback == SpriteCallbackDummy)
+ if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy)
{
- sub_8031B74(gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.affineParam);
- gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.tileNum = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data5;
- FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
- DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
- sub_80334EC();
+ sub_8031B74(gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam);
+ gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = gSprites[gObjectBankIDs[gActiveBank]].data5;
+ FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]);
+ DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]);
+ OpponentBufferExecCompleted();
}
}
void sub_8032C4C(void)
{
- if ((--ewram17810[gUnknown_02024A60].unk9) == 0xFF)
+ if ((--ewram17810[gActiveBank].unk9) == 0xFF)
{
- ewram17810[gUnknown_02024A60].unk9 = 0;
- sub_80334EC();
+ ewram17810[gActiveBank].unk9 = 0;
+ OpponentBufferExecCompleted();
}
}
@@ -1021,89 +1019,89 @@ void sub_8032C88(void)
if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI)))
{
- if (gSprites[gUnknown_03004340[gUnknown_02024A60]].callback == SpriteCallbackDummy)
+ if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy)
r6 = TRUE;
}
else
{
- if (gSprites[gUnknown_03004340[gUnknown_02024A60]].callback == SpriteCallbackDummy
- && gSprites[gUnknown_03004340[gUnknown_02024A60 ^ 2]].callback == SpriteCallbackDummy)
+ if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy
+ && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy)
r6 = TRUE;
}
if (IsCryPlayingOrClearCrySongs())
r6 = FALSE;
- if (r6 && ewram17810[gUnknown_02024A60].unk1_0 && ewram17810[gUnknown_02024A60 ^ 2].unk1_0)
+ if (r6 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0)
{
- ewram17810[gUnknown_02024A60].unk0_7 = 0;
- ewram17810[gUnknown_02024A60].unk1_0 = 0;
- ewram17810[gUnknown_02024A60 ^ 2].unk0_7 = 0;
- ewram17810[gUnknown_02024A60 ^ 2].unk1_0 = 0;
+ ewram17810[gActiveBank].unk0_7 = 0;
+ ewram17810[gActiveBank].unk1_0 = 0;
+ ewram17810[gActiveBank ^ 2].unk0_7 = 0;
+ ewram17810[gActiveBank ^ 2].unk1_0 = 0;
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
m4aMPlayContinue(&gMPlay_BGM);
else
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
- ewram17810[gUnknown_02024A60].unk9 = 3;
- gUnknown_03004330[gUnknown_02024A60] = sub_8032C4C;
+ ewram17810[gActiveBank].unk9 = 3;
+ gBattleBankFunc[gActiveBank] = sub_8032C4C;
}
}
void sub_8032E2C(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_3 && !ewram17810[gUnknown_02024A60].unk0_7)
- sub_8141828(gUnknown_02024A60, &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]]);
- if (!ewram17810[gUnknown_02024A60 ^ 2].unk0_3 && !ewram17810[gUnknown_02024A60 ^ 2].unk0_7)
- sub_8141828(gUnknown_02024A60 ^ 2, &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60 ^ 2]]);
- if (!ewram17810[gUnknown_02024A60].unk0_3 && !ewram17810[gUnknown_02024A60 ^ 2].unk0_3)
+ if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7)
+ sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
+ if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7)
+ sub_8141828(gActiveBank ^ 2, &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]]);
+ if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60 ^ 2]]);
+ DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]);
sub_8045A5C(
- gUnknown_03004340[gUnknown_02024A60 ^ 2],
- &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60 ^ 2]],
+ gHealthboxIDs[gActiveBank ^ 2],
+ &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]],
0);
- sub_804777C(gUnknown_02024A60 ^ 2);
- sub_8043DFC(gUnknown_03004340[gUnknown_02024A60 ^ 2]);
+ sub_804777C(gActiveBank ^ 2);
+ sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]);
sub_8032984(
- gUnknown_02024A60 ^ 2,
- GetMonData(&gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60 ^ 2]], MON_DATA_SPECIES));
+ gActiveBank ^ 2,
+ GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], MON_DATA_SPECIES));
}
- DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60]]);
+ DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]);
sub_8045A5C(
- gUnknown_03004340[gUnknown_02024A60],
- &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]],
+ gHealthboxIDs[gActiveBank],
+ &gEnemyParty[gBattlePartyID[gActiveBank]],
0);
- sub_804777C(gUnknown_02024A60);
- sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]);
+ sub_804777C(gActiveBank);
+ sub_8043DFC(gHealthboxIDs[gActiveBank]);
sub_8032984(
- gUnknown_02024A60,
- GetMonData(&gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES));
+ gActiveBank,
+ GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
ewram17840.unk9_0 = 0;
- gUnknown_03004330[gUnknown_02024A60] = sub_8032C88;
+ gBattleBankFunc[gActiveBank] = sub_8032C88;
}
}
void sub_8033018(void)
{
- if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].animEnded == TRUE
- && gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x == 0)
+ if (gSprites[gObjectBankIDs[gActiveBank]].animEnded == TRUE
+ && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0)
{
- if (!ewram17810[gUnknown_02024A60].unk0_7)
+ if (!ewram17810[gActiveBank].unk0_7)
{
- sub_8141828(gUnknown_02024A60, &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]]);
+ sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
return;
}
- if (ewram17810[gUnknown_02024A60].unk1_0)
+ if (ewram17810[gActiveBank].unk1_0)
{
- ewram17810[gUnknown_02024A60].unk0_7 = 0;
- ewram17810[gUnknown_02024A60].unk1_0 = 0;
+ ewram17810[gActiveBank].unk0_7 = 0;
+ ewram17810[gActiveBank].unk1_0 = 0;
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
- sub_80334EC();
+ OpponentBufferExecCompleted();
return;
}
}
@@ -1111,52 +1109,52 @@ void sub_8033018(void)
void sub_80330C8(void)
{
- s16 r4 = sub_8045C78(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], 0, 0);
+ s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0);
- sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]);
+ sub_8043DFC(gHealthboxIDs[gActiveBank]);
if (r4 != -1)
- sub_80440EC(gUnknown_03004340[gUnknown_02024A60], r4, 0);
+ sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0);
else
- sub_80334EC();
+ OpponentBufferExecCompleted();
}
void sub_803311C(void)
{
- if (!gSprites[gUnknown_02024BE0[gUnknown_02024A60]].inUse)
+ if (!gSprites[gObjectBankIDs[gActiveBank]].inUse)
{
- sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]);
- sub_80334EC();
+ sub_8043DB0(gHealthboxIDs[gActiveBank]);
+ OpponentBufferExecCompleted();
}
}
void sub_8033160(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_6)
+ if (!ewram17810[gActiveBank].unk0_6)
{
- FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
- DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
- sub_8032A08(gUnknown_02024A60);
- sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]);
- sub_80334EC();
+ FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]);
+ DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]);
+ sub_8032A08(gActiveBank);
+ sub_8043DB0(gHealthboxIDs[gActiveBank]);
+ OpponentBufferExecCompleted();
}
}
void sub_80331D0(void)
{
if (gUnknown_03004210.state == 0)
- sub_80334EC();
+ OpponentBufferExecCompleted();
}
void bx_blink_t7(void)
{
- u8 spriteId = gUnknown_02024BE0[gUnknown_02024A60];
+ u8 spriteId = gObjectBankIDs[gActiveBank];
if (gSprites[spriteId].data1 == 32)
{
gSprites[spriteId].data1 = 0;
gSprites[spriteId].invisible = FALSE;
- gUnknown_02024E6D = 0;
- sub_80334EC();
+ gDoingBattleAnim = 0;
+ OpponentBufferExecCompleted();
}
else
{
@@ -1168,70 +1166,70 @@ void bx_blink_t7(void)
void sub_8033264(void)
{
- if (gSprites[gUnknown_03004340[gUnknown_02024A60]].callback == SpriteCallbackDummy)
+ if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy)
{
- if (ewram17800[gUnknown_02024A60].unk0_2)
- move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 6);
- gUnknown_03004330[gUnknown_02024A60] = sub_80332D0;
+ if (ewram17800[gActiveBank].unk0_2)
+ move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6);
+ gBattleBankFunc[gActiveBank] = sub_80332D0;
}
}
void sub_80332D0(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_6)
+ if (!ewram17810[gActiveBank].unk0_6)
{
CreateTask(c3_0802FDF4, 10);
- sub_80334EC();
+ OpponentBufferExecCompleted();
}
}
void sub_8033308(void)
{
- if (ewram17810[gUnknown_02024A60].unk1_0)
+ if (ewram17810[gActiveBank].unk1_0)
{
- ewram17810[gUnknown_02024A60].unk0_7 = 0;
- ewram17810[gUnknown_02024A60].unk1_0 = 0;
+ ewram17810[gActiveBank].unk0_7 = 0;
+ ewram17810[gActiveBank].unk1_0 = 0;
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
- StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], 0);
+ StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0);
sub_8045A5C(
- gUnknown_03004340[gUnknown_02024A60],
- &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]],
+ gHealthboxIDs[gActiveBank],
+ &gEnemyParty[gBattlePartyID[gActiveBank]],
0);
- sub_804777C(gUnknown_02024A60);
- sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]);
- sub_8031F88(gUnknown_02024A60);
- gUnknown_03004330[gUnknown_02024A60] = sub_8033264;
+ sub_804777C(gActiveBank);
+ sub_8043DFC(gHealthboxIDs[gActiveBank]);
+ sub_8031F88(gActiveBank);
+ gBattleBankFunc[gActiveBank] = sub_8033264;
}
}
void sub_80333D4(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_3 && !ewram17810[gUnknown_02024A60].unk0_7)
- sub_8141828(gUnknown_02024A60, &gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]]);
- if (gSprites[gUnknown_0300434C[gUnknown_02024A60]].callback == SpriteCallbackDummy
- && !ewram17810[gUnknown_02024A60].unk0_3)
+ if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7)
+ sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
+ if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy
+ && !ewram17810[gActiveBank].unk0_3)
{
- DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60]]);
- sub_8032984(gUnknown_02024A60, GetMonData(&gEnemyParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES));
- gUnknown_03004330[gUnknown_02024A60] = sub_8033308;
+ DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]);
+ sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
+ gBattleBankFunc[gActiveBank] = sub_8033308;
}
}
void sub_8033494(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_4)
- sub_80334EC();
+ if (!ewram17810[gActiveBank].unk0_4)
+ OpponentBufferExecCompleted();
}
void sub_80334C0(void)
{
- if (!ewram17810[gUnknown_02024A60].unk0_5)
- sub_80334EC();
+ if (!ewram17810[gActiveBank].unk0_5)
+ OpponentBufferExecCompleted();
}
-void sub_80334EC(void)
+void OpponentBufferExecCompleted(void)
{
- gUnknown_03004330[gUnknown_02024A60] = sub_8032AFC;
- gUnknown_02024A64 &= ~gBitTable[gUnknown_02024A60];
+ gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand;
+ gBattleExecBuffer &= ~gBitTable[gActiveBank];
}