diff options
Diffstat (limited to 'src/battle_811DA74.c')
-rw-r--r-- | src/battle_811DA74.c | 864 |
1 files changed, 432 insertions, 432 deletions
diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index b855f1535..743dd2554 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -44,35 +44,35 @@ struct UnknownStruct5 extern u16 gBattleTypeFlags; extern struct UnknownStruct5 gUnknown_020238C8; -extern u8 gUnknown_020238CC[]; -extern u8 gUnknown_02023A60[][0x200]; -extern u8 gUnknown_02024A60; -extern u32 gUnknown_02024A64; -extern u16 gUnknown_02024A6A[]; -extern u8 gUnknown_02024BE0[]; -extern u8 gUnknown_02024D26; +extern u8 gDisplayedStringBattle[]; +extern u8 gBattleBufferA[][0x200]; +extern u8 gActiveBank; +extern u32 gBattleExecBuffer; +extern u16 gBattlePartyID[]; +extern u8 gObjectBankIDs[]; +extern u8 gBattleOutcome; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; -extern u8 gUnknown_02024E6D; -extern u32 gUnknown_02024E70[]; +extern u8 gDoingBattleAnim; +extern u32 gPID_perBank[]; extern struct SpriteTemplate gUnknown_02024E8C; -extern u32 *gUnknown_0202F7B4; -extern u32 gUnknown_0202F7B8; -extern u16 gUnknown_0202F7BC; -extern u8 gUnknown_0202F7BE; -extern u16 gUnknown_0202F7C0; +extern u32 *gDisableStructMoveAnim; +extern u32 gMoveDmgMoveAnim; +extern u16 gMovePowerMoveAnim; +extern u8 gHappinessMoveAnim; +extern u16 gWeatherMoveAnim; extern u8 gUnknown_0202F7C4; extern struct Window gUnknown_03004210; extern u16 gUnknown_030042A0; extern u16 gUnknown_030042A4; -extern MainCallback gUnknown_030042D0; -extern void (*gUnknown_03004330[])(void); -extern u8 gUnknown_03004340[]; +extern MainCallback gPreBattleCallback1; +extern void (*gBattleBankFunc[])(void); +extern u8 gHealthboxIDs[]; extern u8 gUnknown_0300434C[]; extern u8 gBattleMonForms[]; extern u8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); -extern void (*const gUnknown_083FE4F4[])(void); +extern void (*const gLinkPartnerBufferCommands[])(void); extern u8 move_anim_start_t3(); extern u8 sub_8078874(); @@ -83,7 +83,7 @@ extern void sub_8047858(); extern void move_anim_start_t2_for_situation(); extern void load_gfxc_health_bar(); extern void sub_8043D84(); -extern void sub_8120AA8(); +extern void BufferStringBattle(); extern void sub_8031F24(void); extern void sub_80326EC(); extern void ExecuteMoveAnim(); @@ -119,9 +119,9 @@ extern void sub_8031F88(); extern void sub_8141828(); extern void c2_8011A1C(void); -void sub_811DA94(void); +void LinkPartnerBufferRunCommand(void); void sub_811E0A0(void); -void dp01_tbl3_exec_completed(void); +void LinkPartnerBufferExecCompleted(void); u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *b); void sub_811EC68(u8); void sub_811F864(u8, u8); @@ -135,45 +135,45 @@ void nullsub_74(void) { } -void sub_811DA78(void) +void SetBankFuncToLinkPartnerBufferRunCommand(void) { - gUnknown_03004330[gUnknown_02024A60] = sub_811DA94; + gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; } -void sub_811DA94(void) +void LinkPartnerBufferRunCommand(void) { - if (gUnknown_02024A64 & gBitTable[gUnknown_02024A60]) + if (gBattleExecBuffer & gBitTable[gActiveBank]) { - if (gUnknown_02023A60[gUnknown_02024A60][0] <= 0x38) - gUnknown_083FE4F4[gUnknown_02023A60[gUnknown_02024A60][0]](); + if (gBattleBufferA[gActiveBank][0] <= 0x38) + gLinkPartnerBufferCommands[gBattleBufferA[gActiveBank][0]](); else - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } } void sub_811DAE4(void) { - if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback == SpriteCallbackDummy) - dp01_tbl3_exec_completed(); + if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + LinkPartnerBufferExecCompleted(); } void sub_811DB1C(void) { - if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback == SpriteCallbackDummy) + if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) { nullsub_10(0); - FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - dp01_tbl3_exec_completed(); + FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); + DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + LinkPartnerBufferExecCompleted(); } } void sub_811DB84(void) { - if ((--ewram17810[gUnknown_02024A60].unk9) == 0xFF) + if ((--ewram17810[gActiveBank].unk9) == 0xFF) { - ewram17810[gUnknown_02024A60].unk9 = 0; - dp01_tbl3_exec_completed(); + ewram17810[gActiveBank].unk9 = 0; + LinkPartnerBufferExecCompleted(); } } @@ -183,21 +183,21 @@ void sub_811DBC0(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & 0x40))) { - 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].unk9 = 3; - gUnknown_03004330[gUnknown_02024A60] = sub_811DB84; + ewram17810[gActiveBank].unk9 = 3; + gBattleBankFunc[gActiveBank] = sub_811DB84; } } @@ -205,92 +205,92 @@ void sub_811DCA0(void) { u8 r2; - if (!ewram17810[gUnknown_02024A60].unk0_3) + if (!ewram17810[gActiveBank].unk0_3) { // I couldn't get it to work as a bitfield here - r2 = *((u8 *)&ewram17810[gUnknown_02024A60 ^ 2]) & 8; - if (!r2 && (++ewram17810[gUnknown_02024A60].unk9) != 1) + r2 = *((u8 *)&ewram17810[gActiveBank ^ 2]) & 8; + if (!r2 && (++ewram17810[gActiveBank].unk9) != 1) { - ewram17810[gUnknown_02024A60].unk9 = r2; + ewram17810[gActiveBank].unk9 = r2; if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40)) { - DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60 ^ 2]]); - sub_8045A5C(gUnknown_03004340[gUnknown_02024A60 ^ 2], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60 ^ 2]], 0); - sub_804777C(gUnknown_02024A60 ^ 2); - sub_8043DFC(gUnknown_03004340[gUnknown_02024A60 ^ 2]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + sub_8045A5C(gHealthboxIDs[gActiveBank ^ 2], &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], 0); + sub_804777C(gActiveBank ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60]]); - sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 0); - sub_804777C(gUnknown_02024A60); - sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); + sub_804777C(gActiveBank); + sub_8043DFC(gHealthboxIDs[gActiveBank]); (s8)ewram17810[4].unk9 &= ~1; - gUnknown_03004330[gUnknown_02024A60] = sub_811DBC0; + gBattleBankFunc[gActiveBank] = sub_811DBC0; } } } void sub_811DDE8(void) { - if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].animEnded - && gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x == 0) - dp01_tbl3_exec_completed(); + if (gSprites[gObjectBankIDs[gActiveBank]].animEnded + && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + LinkPartnerBufferExecCompleted(); } void bx_t3_healthbar_update(void) { s16 r4; - r4 = sub_8045C78(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], 0, 0); - sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]); + r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + sub_8043DFC(gHealthboxIDs[gActiveBank]); if (r4 != -1) { - sub_80440EC(gUnknown_03004340[gUnknown_02024A60], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); } else { - sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); - dp01_tbl3_exec_completed(); + sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + LinkPartnerBufferExecCompleted(); } } void sub_811DE98(void) { - if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y + gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.y > 160) + if (gSprites[gObjectBankIDs[gActiveBank]].pos1.y + gSprites[gObjectBankIDs[gActiveBank]].pos2.y > 160) { - nullsub_9(GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES)); - FreeOamMatrix(gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.matrixNum); - DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]); - dp01_tbl3_exec_completed(); + nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + FreeOamMatrix(gSprites[gObjectBankIDs[gActiveBank]].oam.matrixNum); + DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8043DB0(gHealthboxIDs[gActiveBank]); + LinkPartnerBufferExecCompleted(); } } void sub_811DF34(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_8043DB0(gUnknown_03004340[gUnknown_02024A60]); - dp01_tbl3_exec_completed(); + FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); + DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8043DB0(gHealthboxIDs[gActiveBank]); + LinkPartnerBufferExecCompleted(); } } void sub_811DFA0(void) { if (gUnknown_03004210.state == 0) - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void bx_blink_t3(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; - dp01_tbl3_exec_completed(); + gDoingBattleAnim = 0; + LinkPartnerBufferExecCompleted(); } else { @@ -304,48 +304,48 @@ void bx_blink_t3(void) void sub_811E034(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_811E0A0; + if (ewram17800[gActiveBank].unk0_2) + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); + gBattleBankFunc[gActiveBank] = sub_811E0A0; } } void sub_811E0A0(void) { - if (!ewram17810[gUnknown_02024A60].unk0_6) - dp01_tbl3_exec_completed(); + if (!ewram17810[gActiveBank].unk0_6) + LinkPartnerBufferExecCompleted(); } void sub_811E0CC(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); CreateTask(c3_0802FDF4, 10); - sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); - StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], 0); - sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 0); - sub_804777C(gUnknown_02024A60); - sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]); - sub_8031F88(gUnknown_02024A60); - gUnknown_03004330[gUnknown_02024A60] = sub_811E034; + sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); + sub_804777C(gActiveBank); + sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8031F88(gActiveBank); + gBattleBankFunc[gActiveBank] = sub_811E034; } } void sub_811E1BC(void) { - if (!ewram17810[gUnknown_02024A60].unk0_3 && !ewram17810[gUnknown_02024A60].unk0_7) - sub_8141828(gUnknown_02024A60, &gPlayerParty[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, &gPlayerParty[gBattlePartyID[gActiveBank]]); + if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBank].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60]]); - gUnknown_03004330[gUnknown_02024A60] = sub_811E0CC; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + gBattleBankFunc[gActiveBank] = sub_811E0CC; } } @@ -355,7 +355,7 @@ void sub_811E258(void) { m4aSongNumStop(0x5A); gMain.inBattle = FALSE; - gMain.callback1 = gUnknown_030042D0; + gMain.callback1 = gPreBattleCallback1; SetMainCallback2(c2_8011A1C); } } @@ -367,60 +367,60 @@ void sub_811E29C(void) if (gBattleTypeFlags & 2) { sub_800832C(); - gUnknown_03004330[gUnknown_02024A60] = sub_811E258; + gBattleBankFunc[gActiveBank] = sub_811E258; } else { m4aSongNumStop(0x5A); gMain.inBattle = FALSE; - gMain.callback1 = gUnknown_030042D0; + gMain.callback1 = gPreBattleCallback1; SetMainCallback2(gMain.savedCallback); } } } -void dp01_tbl3_exec_completed(void) +void LinkPartnerBufferExecCompleted(void) { u8 multiplayerId; - gUnknown_03004330[gUnknown_02024A60] = sub_811DA94; + gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & 2) { multiplayerId = GetMultiplayerId(); dp01_prepare_buffer_wireless_probably(2, 4, &multiplayerId); - gUnknown_02023A60[gUnknown_02024A60][0] = 0x38; + gBattleBufferA[gActiveBank][0] = 0x38; } else { - gUnknown_02024A64 &= ~gBitTable[gUnknown_02024A60]; + gBattleExecBuffer &= ~gBitTable[gActiveBank]; } } void sub_811E38C(void) { - if (!ewram17810[gUnknown_02024A60].unk0_4) - dp01_tbl3_exec_completed(); + if (!ewram17810[gActiveBank].unk0_4) + LinkPartnerBufferExecCompleted(); } void sub_811E3B8(void) { - if (!ewram17810[gUnknown_02024A60].unk0_5) - dp01_tbl3_exec_completed(); + if (!ewram17810[gActiveBank].unk0_5) + LinkPartnerBufferExecCompleted(); } -void dp01t_00_3_getattr(void) +void LinkPartnerHandleGetAttributes(void) { u8 unk[256]; int r6 = 0; s32 i; - if (gUnknown_02023A60[gUnknown_02024A60][2] == 0) + if (gBattleBufferA[gActiveBank][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon(gUnknown_02024A6A[gUnknown_02024A60], unk); + r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBank], unk); } else { - u8 r4 = gUnknown_02023A60[gUnknown_02024A60][2]; + u8 r4 = gBattleBufferA[gActiveBank][2]; for (i = 0; i < 6; i++) { @@ -430,7 +430,7 @@ void dp01t_00_3_getattr(void) } } dp01_build_cmdbuf_x1D_1D_numargs_varargs(1, r6, unk); - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) @@ -443,7 +443,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gUnknown_02023A60[gUnknown_02024A60][1]) + switch (gBattleBufferA[gActiveBank][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -509,7 +509,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -524,7 +524,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); size = 1; break; case 17: @@ -740,21 +740,21 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) void sub_811EC04(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } -void sub_811EC10(void) +void LinkPartnerHandleSetAttributes(void) { u8 i; u8 r4; - if (gUnknown_02023A60[gUnknown_02024A60][2] == 0) + if (gBattleBufferA[gActiveBank][2] == 0) { - sub_811EC68(gUnknown_02024A6A[gUnknown_02024A60]); + sub_811EC68(gBattlePartyID[gActiveBank]); } else { - r4 = gUnknown_02023A60[gUnknown_02024A60][2]; + r4 = gBattleBufferA[gActiveBank][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -762,16 +762,16 @@ void sub_811EC10(void) r4 >>= 1; } } - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811EC68(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gUnknown_02023A60[gUnknown_02024A60][3]; - struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gUnknown_02023A60[gUnknown_02024A60][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; + struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gBattleBufferA[gActiveBank][3]; s32 i; - switch (gUnknown_02023A60[gUnknown_02024A60][1]) + switch (gBattleBufferA[gActiveBank][1]) { case 0: { @@ -812,10 +812,10 @@ void sub_811EC68(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); break; case 3: for (i = 0; i < 4; i++) @@ -829,157 +829,157 @@ void sub_811EC68(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gUnknown_02023A60[gUnknown_02024A60][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gUnknown_02023A60[gUnknown_02024A60][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gUnknown_02023A60[gUnknown_02024A60][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gUnknown_02023A60[gUnknown_02024A60][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gUnknown_02023A60[gUnknown_02024A60][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); break; } - sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); + sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); } void sub_811F664(void) @@ -987,37 +987,37 @@ void sub_811F664(void) u8 *dst; u8 i; - dst = (u8 *)&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]] + gUnknown_02023A60[gUnknown_02024A60][1]; - for (i = 0; i < gUnknown_02023A60[gUnknown_02024A60][2]; i++) - dst[i] = gUnknown_02023A60[gUnknown_02024A60][3 + i]; - dp01_tbl3_exec_completed(); + dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) + dst[i] = gBattleBufferA[gActiveBank][3 + i]; + LinkPartnerBufferExecCompleted(); } void sub_811F6D8(void) { - sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); + sub_80318FC(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); GetMonSpriteTemplate_803C56C( - GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES), - battle_get_per_side_status(gUnknown_02024A60)); - gUnknown_02024BE0[gUnknown_02024A60] = CreateSprite( + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetBankIdentity(gActiveBank)); + gObjectBankIDs[gActiveBank] = CreateSprite( &gUnknown_02024E8C, - sub_8077ABC(gUnknown_02024A60, 2), - sub_8077F68(gUnknown_02024A60), - sub_8079E90(gUnknown_02024A60)); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x = -240; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = gUnknown_02024A60; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = gUnknown_02024A60; - StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], gBattleMonForms[gUnknown_02024A60]); - gUnknown_03004330[gUnknown_02024A60] = sub_811DDE8; + sub_8077ABC(gActiveBank, 2), + sub_8077F68(gActiveBank), + sub_8079E90(gActiveBank)); + gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; + gSprites[gObjectBankIDs[gActiveBank]].data0 = gActiveBank; + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + gBattleBankFunc[gActiveBank] = sub_811DDE8; } void sub_811F7F4(void) { - sub_8032AA8(gUnknown_02024A60, gUnknown_02023A60[gUnknown_02024A60][2]); - gUnknown_02024A6A[gUnknown_02024A60] = gUnknown_02023A60[gUnknown_02024A60][1]; - sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); - sub_811F864(gUnknown_02024A60, gUnknown_02023A60[gUnknown_02024A60][2]); - gUnknown_03004330[gUnknown_02024A60] = sub_811E1BC; + sub_8032AA8(gActiveBank, gBattleBufferA[gActiveBank][2]); + gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; + sub_80318FC(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + sub_811F864(gActiveBank, gBattleBufferA[gActiveBank][2]); + gBattleBankFunc[gActiveBank] = sub_811E1BC; } void sub_811F864(u8 a, u8 b) @@ -1025,56 +1025,56 @@ void sub_811F864(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gUnknown_02024A6A[a] = gUnknown_02023A60[a][1]; - species = GetMonData(&gPlayerParty[gUnknown_02024A6A[a]], MON_DATA_SPECIES); + gBattlePartyID[a] = gBattleBufferA[a][1]; + species = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, battle_get_per_side_status(a)); - gUnknown_02024BE0[a] = CreateSprite( + GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + gObjectBankIDs[a] = CreateSprite( &gUnknown_02024E8C, sub_8077ABC(a, 2), sub_8077F68(a), sub_8079E90(a)); - gSprites[gUnknown_0300434C[a]].data1 = gUnknown_02024BE0[a]; - gSprites[gUnknown_02024BE0[a]].data0 = a; - gSprites[gUnknown_02024BE0[a]].data2 = species; - gSprites[gUnknown_02024BE0[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gUnknown_02024BE0[a]], gBattleMonForms[a]); - gSprites[gUnknown_02024BE0[a]].invisible = TRUE; - gSprites[gUnknown_02024BE0[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data1 = gObjectBankIDs[a]; + gSprites[gObjectBankIDs[a]].data0 = a; + gSprites[gObjectBankIDs[a]].data2 = species; + gSprites[gObjectBankIDs[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); + gSprites[gObjectBankIDs[a]].invisible = TRUE; + gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data0 = sub_8046400(0, 0xFF); } void sub_811F9D0(void) { - if (gUnknown_02023A60[gUnknown_02024A60][1] == 0) + if (gBattleBufferA[gActiveBank][1] == 0) { - ewram17810[gUnknown_02024A60].unk4 = 0; - gUnknown_03004330[gUnknown_02024A60] = sub_811FA5C; + ewram17810[gActiveBank].unk4 = 0; + gBattleBankFunc[gActiveBank] = sub_811FA5C; } else { - FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]); - dp01_tbl3_exec_completed(); + FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); + DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8043DB0(gHealthboxIDs[gActiveBank]); + LinkPartnerBufferExecCompleted(); } } void sub_811FA5C(void) { - switch (ewram17810[gUnknown_02024A60].unk4) + switch (ewram17810[gActiveBank].unk4) { case 0: - if (ewram17800[gUnknown_02024A60].unk0_2) - move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5); - ewram17810[gUnknown_02024A60].unk4 = 1; + if (ewram17800[gActiveBank].unk0_2) + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17810[gActiveBank].unk4 = 1; break; case 1: - if (!ewram17810[gUnknown_02024A60].unk0_6) + if (!ewram17810[gActiveBank].unk0_6) { - ewram17810[gUnknown_02024A60].unk4 = 0; - move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 1); - gUnknown_03004330[gUnknown_02024A60] = sub_811DF34; + ewram17810[gActiveBank].unk4 = 0; + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); + gBattleBankFunc[gActiveBank] = sub_811DF34; } break; } @@ -1087,138 +1087,138 @@ void sub_811FAE4(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (battle_get_per_side_status(gUnknown_02024A60) & 2) + if (GetBankIdentity(gActiveBank) & 2) xOffset = 16; else xOffset = -16; - gender = gLinkPlayers[sub_803FC34(gUnknown_02024A60)].gender; + gender = gLinkPlayers[sub_803FC34(gActiveBank)].gender; } else { xOffset = 0; gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } - sub_8031AF4(gender, gUnknown_02024A60); - GetMonSpriteTemplate_803C5A0(gender, battle_get_per_side_status(gUnknown_02024A60)); - gUnknown_02024BE0[gUnknown_02024A60] = CreateSprite( + sub_8031AF4(gender, gActiveBank); + GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); + gObjectBankIDs[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), - sub_8079E90(gUnknown_02024A60)); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = gUnknown_02024A60; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x = 240; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = -2; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_80313A0; - gUnknown_03004330[gUnknown_02024A60] = sub_811DAE4; + sub_8079E90(gActiveBank)); + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 240; + gSprites[gObjectBankIDs[gActiveBank]].data0 = -2; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gBattleBankFunc[gActiveBank] = sub_811DAE4; } void sub_811FC30(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811FC3C(void) { - oamt_add_pos2_onto_pos1(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = 35; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = -40; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data4 = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], SpriteCallbackDummy); - gUnknown_03004330[gUnknown_02024A60] = sub_811DB1C; + oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); + gSprites[gObjectBankIDs[gActiveBank]].data0 = 35; + gSprites[gObjectBankIDs[gActiveBank]].data2 = -40; + gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; + oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBank] = sub_811DB1C; } void sub_811FCE8(void) { - if (ewram17810[gUnknown_02024A60].unk4 == 0) + if (ewram17810[gActiveBank].unk4 == 0) { - if (ewram17800[gUnknown_02024A60].unk0_2) - move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5); - ewram17810[gUnknown_02024A60].unk4++; + if (ewram17800[gActiveBank].unk0_2) + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17810[gActiveBank].unk4++; } - else if (!ewram17810[gUnknown_02024A60].unk0_6) + else if (!ewram17810[gActiveBank].unk0_6) { - ewram17810[gUnknown_02024A60].unk4 = 0; - sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); + ewram17810[gActiveBank].unk4 = 0; + sub_80324F8(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data1 = 0; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = 5; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_80105EC; - gUnknown_03004330[gUnknown_02024A60] = sub_811DE98; + gSprites[gObjectBankIDs[gActiveBank]].data1 = 0; + gSprites[gObjectBankIDs[gActiveBank]].data2 = 5; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80105EC; + gBattleBankFunc[gActiveBank] = sub_811DE98; } } void sub_811FDCC(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811FDD8(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811FDE4(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811FDF0(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_811FDFC(void) { - if (mplay_80342A4(gUnknown_02024A60) == 0) + if (mplay_80342A4(gActiveBank) == 0) { - u32 r0 = gUnknown_02023A60[gUnknown_02024A60][1] - | (gUnknown_02023A60[gUnknown_02024A60][2] << 8); - - gUnknown_0202F7C4 = gUnknown_02023A60[gUnknown_02024A60][3]; - gUnknown_0202F7BC = gUnknown_02023A60[gUnknown_02024A60][4] - | (gUnknown_02023A60[gUnknown_02024A60][5] << 8); - gUnknown_0202F7B8 = gUnknown_02023A60[gUnknown_02024A60][6] - | (gUnknown_02023A60[gUnknown_02024A60][7] << 8) - | (gUnknown_02023A60[gUnknown_02024A60][8] << 16) - | (gUnknown_02023A60[gUnknown_02024A60][9] << 24); - gUnknown_0202F7BE = gUnknown_02023A60[gUnknown_02024A60][10]; - gUnknown_0202F7C0 = gUnknown_02023A60[gUnknown_02024A60][12] - | (gUnknown_02023A60[gUnknown_02024A60][13] << 8); - gUnknown_0202F7B4 = (u32 *)&gUnknown_02023A60[gUnknown_02024A60][16]; - gUnknown_02024E70[gUnknown_02024A60] = *gUnknown_0202F7B4; + u32 r0 = gBattleBufferA[gActiveBank][1] + | (gBattleBufferA[gActiveBank][2] << 8); + + gUnknown_0202F7C4 = gBattleBufferA[gActiveBank][3]; + gMovePowerMoveAnim = gBattleBufferA[gActiveBank][4] + | (gBattleBufferA[gActiveBank][5] << 8); + gMoveDmgMoveAnim = gBattleBufferA[gActiveBank][6] + | (gBattleBufferA[gActiveBank][7] << 8) + | (gBattleBufferA[gActiveBank][8] << 16) + | (gBattleBufferA[gActiveBank][9] << 24); + gHappinessMoveAnim = gBattleBufferA[gActiveBank][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] + | (gBattleBufferA[gActiveBank][13] << 8); + gDisableStructMoveAnim = (u32 *)&gBattleBufferA[gActiveBank][16]; + gPID_perBank[gActiveBank] = *gDisableStructMoveAnim; if (sub_8031720(r0, gUnknown_0202F7C4) != 0) - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); else { - ewram17810[gUnknown_02024A60].unk4 = 0; - gUnknown_03004330[gUnknown_02024A60] = sub_811FF30; + ewram17810[gActiveBank].unk4 = 0; + gBattleBankFunc[gActiveBank] = sub_811FF30; } } } void sub_811FF30(void) { - u16 r4 = gUnknown_02023A60[gUnknown_02024A60][1] - | (gUnknown_02023A60[gUnknown_02024A60][2] << 8); - u8 r7 = gUnknown_02023A60[gUnknown_02024A60][11]; + u16 r4 = gBattleBufferA[gActiveBank][1] + | (gBattleBufferA[gActiveBank][2] << 8); + u8 r7 = gBattleBufferA[gActiveBank][11]; - switch (ewram17810[gUnknown_02024A60].unk4) + switch (ewram17810[gActiveBank].unk4) { case 0: - if (ewram17800[gUnknown_02024A60].unk0_2 && !ewram17800[gUnknown_02024A60].unk0_3) + if (ewram17800[gActiveBank].unk0_2 && !ewram17800[gActiveBank].unk0_3) { - ewram17800[gUnknown_02024A60].unk0_3 = 1; - move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5); + ewram17800[gActiveBank].unk0_3 = 1; + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); } - ewram17810[gUnknown_02024A60].unk4 = 1; + ewram17810[gActiveBank].unk4 = 1; break; case 1: - if (!ewram17810[gUnknown_02024A60].unk0_6) + if (!ewram17810[gActiveBank].unk0_6) { sub_80326EC(0); ExecuteMoveAnim(r4); - ewram17810[gUnknown_02024A60].unk4 = 2; + ewram17810[gActiveBank].unk4 = 2; } break; case 2: @@ -1226,23 +1226,23 @@ void sub_811FF30(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gUnknown_02024A60].unk0_2) && r7 <= 1) + if ((ewram17800[gActiveBank].unk0_2) && r7 <= 1) { - move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 6); - ewram17800[gUnknown_02024A60].unk0_3 = 0; + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); + ewram17800[gActiveBank].unk0_3 = 0; } - ewram17810[gUnknown_02024A60].unk4 = 3; + ewram17810[gActiveBank].unk4 = 3; } break; case 3: - if (!ewram17810[gUnknown_02024A60].unk0_6) + if (!ewram17810[gActiveBank].unk0_6) { sub_8031F24(); sub_80324BC( - gUnknown_02024A60, - gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8)); - ewram17810[gUnknown_02024A60].unk4 = 0; - dp01_tbl3_exec_completed(); + gActiveBank, + gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + ewram17810[gActiveBank].unk4 = 0; + LinkPartnerBufferExecCompleted(); } break; } @@ -1252,215 +1252,215 @@ void sub_8120094(void) { gUnknown_030042A4 = 0; gUnknown_030042A0 = 0; - sub_8120AA8(*(u16 *)&gUnknown_02023A60[gUnknown_02024A60][2]); - sub_8002EB0(&gUnknown_03004210, gUnknown_020238CC, 144, 2, 15); - gUnknown_03004330[gUnknown_02024A60] = sub_811DFA0; + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + sub_8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); + gBattleBankFunc[gActiveBank] = sub_811DFA0; } void sub_81200F8(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120104(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120110(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_812011C(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120128(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120134(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120140(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } -void sub_812014C(void) +void LinkPartnerHandleHealthBarUpdate(void) { s16 r7; load_gfxc_health_bar(0); - r7 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8); + r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); - sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, hp, r7); + sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, 0, r7); + sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); } - gUnknown_03004330[gUnknown_02024A60] = bx_t3_healthbar_update; + gBattleBankFunc[gActiveBank] = bx_t3_healthbar_update; } -void sub_812023C(void) +void LinkPartnerHandleExpBarUpdate(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } -void sub_8120248(void) +void LinkPartnerHandleStatusIconUpdate(void) { - if (mplay_80342A4(gUnknown_02024A60) == 0) + if (mplay_80342A4(gActiveBank) == 0) { - sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 9); - ewram17810[gUnknown_02024A60].unk0_4 = 0; - gUnknown_03004330[gUnknown_02024A60] = sub_811E38C; + sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 9); + ewram17810[gActiveBank].unk0_4 = 0; + gBattleBankFunc[gActiveBank] = sub_811E38C; } } -void sub_81202BC(void) +void LinkPartnerHandleStatusAnimation(void) { - if (mplay_80342A4(gUnknown_02024A60) == 0) + if (mplay_80342A4(gActiveBank) == 0) { move_anim_start_t2_for_situation( - gUnknown_02023A60[gUnknown_02024A60][1], - gUnknown_02023A60[gUnknown_02024A60][2] - | (gUnknown_02023A60[gUnknown_02024A60][3] << 8) - | (gUnknown_02023A60[gUnknown_02024A60][4] << 16) - | (gUnknown_02023A60[gUnknown_02024A60][5] << 24)); - gUnknown_03004330[gUnknown_02024A60] = sub_811E38C; + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][2] + | (gBattleBufferA[gActiveBank][3] << 8) + | (gBattleBufferA[gActiveBank][4] << 16) + | (gBattleBufferA[gActiveBank][5] << 24)); + gBattleBankFunc[gActiveBank] = sub_811E38C; } } void sub_8120324(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120330(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_812033C(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120348(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120354(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120360(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_812036C(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120378(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120384(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120390(void) { gUnknown_020238C8.unk0_0 = 0; - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_81203AC(void) { - gUnknown_020238C8.unk0_0 = gUnknown_02023A60[gUnknown_02024A60][1]; - dp01_tbl3_exec_completed(); + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + LinkPartnerBufferExecCompleted(); } void sub_81203E4(void) { gUnknown_020238C8.unk0_7 = 0; - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_81203FC(void) { gUnknown_020238C8.unk0_7 ^= 1; - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } -void dp01t_29_3_blink(void) +void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible == TRUE) - dp01_tbl3_exec_completed(); + if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + LinkPartnerBufferExecCompleted(); else { - gUnknown_02024E6D = 1; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data1 = 0; - sub_8047858(gUnknown_02024A60); - gUnknown_03004330[gUnknown_02024A60] = bx_blink_t3; + gDoingBattleAnim = 1; + gSprites[gObjectBankIDs[gActiveBank]].data1 = 0; + sub_8047858(gActiveBank); + gBattleBankFunc[gActiveBank] = bx_blink_t3; } } void sub_8120494(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } -void sub_81204A0(void) +void LinkPartnerHandleEffectivenessSound(void) { s8 pan; - if (battle_side_get_owner(gUnknown_02024A60) == 0) + if (GetBankSide(gActiveBank) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8), pan); - dp01_tbl3_exec_completed(); + PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + LinkPartnerBufferExecCompleted(); } void sub_81204E4(void) { - PlayFanfare(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8)); - dp01_tbl3_exec_completed(); + PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + LinkPartnerBufferExecCompleted(); } -void sub_8120514(void) +void LinkPartnerHandleFaintingCry(void) { PlayCry3( - GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES), + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), -25, 5); - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void dp01t_2E_3_battle_intro(void) { - sub_80E43C0(gUnknown_02023A60[gUnknown_02024A60][1]); + sub_80E43C0(gBattleBufferA[gActiveBank][1]); gUnknown_02024DE8 |= 1; - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120588(void) @@ -1468,25 +1468,25 @@ void sub_8120588(void) u8 r4; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = 50; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = -40; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data4 = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_8078B34; - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data5 = gUnknown_02024A60; - oamt_set_x3A_32(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], sub_8030E38); - StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); + gSprites[gObjectBankIDs[gActiveBank]].data0 = 50; + gSprites[gObjectBankIDs[gActiveBank]].data2 = -40; + gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; + gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank; + oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); + StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( - gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gUnknown_02024A60)].gender].data, + gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBank)].gender].data, 0x100 + r4 * 16, 0x20); - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = r4; + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = r4; taskId = CreateTask(sub_812071C, 5); - gTasks[taskId].data[0] = gUnknown_02024A60; - if (ewram17810[gUnknown_02024A60].unk0_0) - gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBank; + if (ewram17810[gActiveBank].unk0_0) + gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gUnknown_03004330[gUnknown_02024A60] = nullsub_74; + gBattleBankFunc[gActiveBank] = nullsub_74; } void sub_812071C(u8 taskId) @@ -1499,111 +1499,111 @@ void sub_812071C(u8 taskId) return; } - r9 = gUnknown_02024A60; - gUnknown_02024A60 = gTasks[taskId].data[0]; + r9 = gActiveBank; + gActiveBank = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60]; - sub_811F864(gUnknown_02024A60, 0); + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_811F864(gActiveBank, 0); } else { - gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60]; - sub_811F864(gUnknown_02024A60, 0); - gUnknown_02024A60 ^= 2; - gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60]; - sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60); - sub_811F864(gUnknown_02024A60, 0); - gUnknown_02024A60 ^= 2; + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_811F864(gActiveBank, 0); + gActiveBank ^= 2; + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_80318FC(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + sub_811F864(gActiveBank, 0); + gActiveBank ^= 2; } - gUnknown_03004330[gUnknown_02024A60] = sub_811DCA0; - gUnknown_02024A60 = r9; + gBattleBankFunc[gActiveBank] = sub_811DCA0; + gActiveBank = r9; DestroyTask(taskId); } void dp01t_30_3_80EB11C(void) { - if (gUnknown_02023A60[gUnknown_02024A60][1] != 0 && battle_side_get_owner(gUnknown_02024A60) == 0) + if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); return; } - ewram17810[gUnknown_02024A60].unk0_0 = 1; - gUnknown_02024E68[gUnknown_02024A60] = sub_8044804( - gUnknown_02024A60, - (struct BattleInterfaceStruct2 *)&gUnknown_02023A60[gUnknown_02024A60][4], - gUnknown_02023A60[gUnknown_02024A60][1], - gUnknown_02023A60[gUnknown_02024A60][2]); - ewram17810[gUnknown_02024A60].unk5 = 0; - if (gUnknown_02023A60[gUnknown_02024A60][2] != 0) - ewram17810[gUnknown_02024A60].unk5 = 0x5D; - gUnknown_03004330[gUnknown_02024A60] = sub_81208E0; + ewram17810[gActiveBank].unk0_0 = 1; + gUnknown_02024E68[gActiveBank] = sub_8044804( + gActiveBank, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][2]); + ewram17810[gActiveBank].unk5 = 0; + if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBank].unk5 = 0x5D; + gBattleBankFunc[gActiveBank] = sub_81208E0; } void sub_81208E0(void) { - if (ewram17810[gUnknown_02024A60].unk5++ >= 93) + if (ewram17810[gActiveBank].unk5++ >= 93) { - ewram17810[gUnknown_02024A60].unk5 = 0; - dp01_tbl3_exec_completed(); + ewram17810[gActiveBank].unk5 = 0; + LinkPartnerBufferExecCompleted(); } } void sub_8120920(void) { - if (ewram17810[gUnknown_02024A60].unk0_0) - gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0; - dp01_tbl3_exec_completed(); + if (ewram17810[gActiveBank].unk0_0) + gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + LinkPartnerBufferExecCompleted(); } void sub_812096C(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120978(void) { - if (sub_8078874(gUnknown_02024A60) != 0) + if (sub_8078874(gActiveBank) != 0) { - gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible = gUnknown_02023A60[gUnknown_02024A60][1]; - sub_8031F88(gUnknown_02024A60); + gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + sub_8031F88(gActiveBank); } - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_81209D8(void) { - if (mplay_80342A4(gUnknown_02024A60) == 0) + if (mplay_80342A4(gActiveBank) == 0) { - u8 r3 = gUnknown_02023A60[gUnknown_02024A60][1]; - u16 r4 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8); - u8 var = gUnknown_02024A60; + u8 r3 = gBattleBufferA[gActiveBank][1]; + u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 var = gActiveBank; if (move_anim_start_t3(var, var, var, r3, r4) != 0) - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); else - gUnknown_03004330[gUnknown_02024A60] = sub_811E3B8; + gBattleBankFunc[gActiveBank] = sub_811E3B8; } } void sub_8120A40(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120A4C(void) { - dp01_tbl3_exec_completed(); + LinkPartnerBufferExecCompleted(); } void sub_8120A58(void) { - gUnknown_02024D26 = gUnknown_02023A60[gUnknown_02024A60][1]; + gBattleOutcome = gBattleBufferA[gActiveBank][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - dp01_tbl3_exec_completed(); - gUnknown_03004330[gUnknown_02024A60] = sub_811E29C; + LinkPartnerBufferExecCompleted(); + gBattleBankFunc[gActiveBank] = sub_811E29C; } void nullsub_75(void) |