diff options
Diffstat (limited to 'src/battle_7.c')
-rw-r--r-- | src/battle_7.c | 446 |
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]; } |