diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_2.c | 828 | ||||
-rw-r--r-- | src/battle_6.c | 16 | ||||
-rw-r--r-- | src/battle_7.c | 396 | ||||
-rw-r--r-- | src/battle_811DA74.c | 864 | ||||
-rw-r--r-- | src/battle_ai.c | 312 | ||||
-rw-r--r-- | src/battle_anim.c | 120 | ||||
-rw-r--r-- | src/battle_anim_80A7E7C.c | 60 | ||||
-rw-r--r-- | src/battle_anim_81258BC.c | 16 | ||||
-rw-r--r-- | src/battle_interface.c | 148 | ||||
-rw-r--r-- | src/battle_party_menu.c | 40 | ||||
-rw-r--r-- | src/battle_setup.c | 10 | ||||
-rw-r--r-- | src/calculate_base_damage.c | 70 | ||||
-rw-r--r-- | src/item_use.c | 6 | ||||
-rw-r--r-- | src/pokemon_2.c | 52 | ||||
-rw-r--r-- | src/pokemon_3.c | 72 | ||||
-rw-r--r-- | src/rom3.c | 950 | ||||
-rw-r--r-- | src/rom_800D42C.c | 8 | ||||
-rw-r--r-- | src/rom_8077ABC.c | 112 | ||||
-rw-r--r-- | src/safari_zone.c | 6 | ||||
-rw-r--r-- | src/script_pokemon_util_80C4BF0.c | 10 | ||||
-rw-r--r-- | src/tv.c | 64 | ||||
-rw-r--r-- | src/unknown_debug_menu.c | 8 |
22 files changed, 2084 insertions, 2084 deletions
diff --git a/src/battle_2.c b/src/battle_2.c index 451c4f108..2b13fc45d 100644 --- a/src/battle_2.c +++ b/src/battle_2.c @@ -140,46 +140,46 @@ extern u8 ewram[]; #define ewram1D000 ((struct Pokemon *)(ewram + 0x1D000)) extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; -extern u8 gUnknown_02024260[][0x200]; -extern u8 gUnknown_02024A60; -extern u32 gUnknown_02024A64; -extern u8 gUnknown_02024A68; -extern u16 gUnknown_02024A6A[]; -extern u8 gUnknown_02024A7F; -extern u8 gUnknown_02024A7A[]; +extern u8 gBattleBufferB[][0x200]; +extern u8 gActiveBank; +extern u32 gBattleExecBuffer; +extern u8 gNoOfAllBanks; +extern u16 gBattlePartyID[]; +extern u8 gFightStateTracker; +extern u8 gTurnOrder[]; extern struct UnknownStruct12 gUnknown_02024AD0[]; -extern u8 gUnknown_02024BE0[]; -extern u16 gUnknown_02024BE6; -extern u8 byte_2024C06; -extern u8 gUnknown_02024C0B; -extern u8 gUnknown_02024C0C; -extern u8 gUnknown_02024C0E; -extern u8 gUnknown_02024C18[]; +extern u8 gObjectBankIDs[]; +extern u16 gCurrentMove; +extern u8 gLastUsedAbility; +extern u8 gStringBank; +extern u8 gAbsentBankFlags; +extern u8 gMultiHitCounter; +extern u8 gActionForBanks[]; extern u16 gUnknown_02024C2C[]; -extern u16 gUnknown_02024C34[]; -extern u16 gUnknown_02024C3C[]; +extern u16 gLastUsedMove[]; +extern u16 gMoveHitWith[]; extern u16 gUnknown_02024C44[]; extern u16 gUnknown_02024C4C[]; -extern u16 gUnknown_02024C54[]; +extern u16 gLockedMove[]; extern u8 gUnknown_02024C5C[]; -extern u16 gUnknown_02024C60[]; -extern u32 gUnknown_02024C6C; +extern u16 gChosenMovesByBanks[]; +extern u32 gHitMarker; extern u8 gUnknown_02024C70[]; -extern u16 gUnknown_02024C7A[]; -extern u8 gUnknown_02024C80[][12]; -extern u32 gUnknown_02024C98[]; -//extern u8 gUnknown_02024CA8[][0x1C]; -extern u16 gUnknown_02024D18; -extern u16 gUnknown_02024D1A; -extern u16 gUnknown_02024D1C; -extern u8 gUnknown_02024D1E[]; +extern u16 gSideAffecting[]; +extern u8 gSideTimer[][12]; +extern u32 gStatuses3[]; +//extern u8 gDisableStructs[][0x1C]; +extern u16 gPauseCounterBattle; +extern u16 gPaydayMoney; +extern u16 gRandomTurnNumber; +extern u8 gBattleCommunication[]; extern u8 gUnknown_02024D1F[]; // I don't actually know what type this is. -extern u8 gUnknown_02024D26; -extern struct UnknownStruct13 gUnknown_02024D28[]; -extern u8 gUnknown_02024DBC[]; +extern u8 gBattleOutcome; +extern struct UnknownStruct13 gProtectStructs[]; +extern u8 gWishFutureKnock[]; extern u16 gUnknown_02024DE8; -extern u8 gUnknown_02024E60[]; -extern u8 gUnknown_02024E64[]; +extern u8 gActionSelectionCursor[]; +extern u8 gMoveSelectionCursor[]; extern u8 gUnknown_02038470[]; extern u16 gUnknown_030041B0; extern u16 gUnknown_030041B4; @@ -197,12 +197,12 @@ extern u16 gUnknown_030042A0; extern u16 gUnknown_030042A4; extern u16 gUnknown_030042C0; extern u16 gUnknown_030042C4; -extern MainCallback gUnknown_030042D0; -extern void (*gUnknown_030042D4)(void); -extern struct Struct30042E0 gUnknown_030042E0; -extern u8 gUnknown_03004324; -extern void (*gUnknown_03004330[])(void); -extern u8 gUnknown_03004340[]; +extern MainCallback gPreBattleCallback1; +extern void (*gBattleMainFunc)(void); +extern struct Struct30042E0 gBattleResults; +extern u8 gLeveledUpInBattle; +extern void (*gBattleBankFunc[])(void); +extern u8 gHealthboxIDs[]; extern struct UnknownStruct6 gUnknown_03004DE0; //extern u16 gUnknown_03004DE0[][0xA0]; // possibly? extern u16 gBattleTypeFlags; @@ -212,8 +212,8 @@ extern u16 gTrainerBattleOpponent; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u8 gBattleMonForms[]; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; +extern u8 gBankAttacker; +extern u8 gBankTarget; extern u16 gBattleWeather; extern u32 gBattleMoveDamage; extern struct BattlePokemon gBattleMons[]; @@ -226,7 +226,7 @@ void sub_800E7C4(void) { sub_800B858(); SetMainCallback2(sub_800F104); - gUnknown_02024D1E[0] = 0; + gBattleCommunication[0] = 0; } else { @@ -299,7 +299,7 @@ void InitBattle(void) gMain.inBattle = TRUE; for (i = 0; i < 6; i++) AdjustFriendship(&gPlayerParty[i], 3); - gUnknown_02024D1E[0] = 0; + gBattleCommunication[0] = 0; } void sub_800E9EC(void) @@ -421,7 +421,7 @@ void sub_800EC9C(void) ewram160CB = playerId; enemyId = playerId ^ 1; - switch (gUnknown_02024D1E[0]) + switch (gBattleCommunication[0]) { case 0: if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -433,13 +433,13 @@ void sub_800EC9C(void) sub_800E9EC(); sub_800EAAC(); SendBlock(bitmask_all_link_players_but_self(), &ewram0, 32); - gUnknown_02024D1E[0] = 1; + gBattleCommunication[0] = 1; } } else { gBattleTypeFlags |= BATTLE_TYPE_WILD; - gUnknown_02024D1E[0] = 8; + gBattleCommunication[0] = 8; sub_800EB08(); } break; @@ -490,14 +490,14 @@ void sub_800EC9C(void) gTasks[taskId].data[5] = 0; gTasks[taskId].data[3] = ewram0.unk2 | (ewram0.unk3 << 8); gTasks[taskId].data[4] = gBlockRecvBuffer[enemyId][1]; - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 2: if (sub_8007ECC()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(*gPlayerParty) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 3: @@ -505,14 +505,14 @@ void sub_800EC9C(void) { ResetBlockReceivedFlags(); memcpy(gEnemyParty, gBlockRecvBuffer[enemyId], sizeof(*gEnemyParty) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 4: if (sub_8007ECC()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(*gPlayerParty) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 5: @@ -520,14 +520,14 @@ void sub_800EC9C(void) { ResetBlockReceivedFlags(); memcpy(gEnemyParty + 2, gBlockRecvBuffer[enemyId], sizeof(*gEnemyParty) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 6: if (sub_8007ECC()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 4, sizeof(*gPlayerParty) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 7: @@ -541,19 +541,19 @@ void sub_800EC9C(void) shedinja_something(&gEnemyParty[3]); shedinja_something(&gEnemyParty[4]); shedinja_something(&gEnemyParty[5]); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 8: sub_800B950(); - gUnknown_02024D1E[0]++; - gUnknown_02024D1E[1] = 0; - gUnknown_02024D1E[2] = 0; + gBattleCommunication[0]++; + gBattleCommunication[1] = 0; + gBattleCommunication[2] = 0; break; case 9: if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { - gUnknown_030042D0 = gMain.callback1; + gPreBattleCallback1 = gMain.callback1; gMain.callback1 = sub_8010824; SetMainCallback2(sub_800F808); if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -606,14 +606,14 @@ void sub_800F104(void) AnimateSprites(); BuildOamBuffer(); - switch (gUnknown_02024D1E[0]) + switch (gBattleCommunication[0]) { case 0: if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) { sub_800F02C(); SendBlock(bitmask_all_link_players_but_self(), ewram, 0x60); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 1: @@ -631,7 +631,7 @@ void sub_800F104(void) memcpy(gUnknown_02023A00, gBlockRecvBuffer[i], 0x60); } } - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; *pSavedCallback = gMain.savedCallback; *pSavedBattleTypeFlags = gBattleTypeFlags; gMain.savedCallback = sub_800F104; @@ -641,7 +641,7 @@ void sub_800F104(void) case 2: if (!gPaletteFade.active) { - gUnknown_02024D1E[0] = 3; + gBattleCommunication[0] = 3; sub_800832C(); } break; @@ -666,7 +666,7 @@ void sub_800F298(void) RunTasks(); AnimateSprites(); BuildOamBuffer(); - switch (gUnknown_02024D1E[0]) + switch (gBattleCommunication[0]) { case 0: if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) @@ -676,7 +676,7 @@ void sub_800F298(void) sub_800E9EC(); sub_800EAAC(); SendBlock(bitmask_all_link_players_but_self(), ewram, 0x20); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 1: @@ -756,7 +756,7 @@ void sub_800F298(void) } ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; goto step_2; } break; @@ -765,7 +765,7 @@ void sub_800F298(void) if (sub_8007ECC()) { SendBlock(bitmask_all_link_players_but_self(), ewram1D000, sizeof(struct Pokemon) * 2); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 3: @@ -821,14 +821,14 @@ void sub_800F298(void) } } } - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 4: if (sub_8007ECC()) { SendBlock(bitmask_all_link_players_but_self(), ewram1D000 + 2, sizeof(struct Pokemon)); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 5: @@ -899,19 +899,19 @@ void sub_800F298(void) shedinja_something(&gEnemyParty[4]); shedinja_something(&gEnemyParty[5]); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 6: sub_800B950(); - gUnknown_02024D1E[0]++; - gUnknown_02024D1E[1] = 0; - gUnknown_02024D1E[2] = 0; + gBattleCommunication[0]++; + gBattleCommunication[1] = 0; + gBattleCommunication[2] = 0; break; case 7: if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { - gUnknown_030042D0 = gMain.callback1; + gPreBattleCallback1 = gMain.callback1; gMain.callback1 = sub_8010824; SetMainCallback2(sub_800F808); if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1270,7 +1270,7 @@ void c2_8011A1C(void) gTasks[taskId].data[5] = 1; sub_800FE40(taskId); SetMainCallback2(sub_80101B8); - gUnknown_02024D1E[0] = 0; + gBattleCommunication[0] = 0; } void sub_80101B8(void) @@ -1284,18 +1284,18 @@ void sub_80101B8(void) void c2_081284E0(void) { - switch (gUnknown_02024D1E[0]) + switch (gBattleCommunication[0]) { case 0: - gUnknown_02024D1E[1] = 0xFF; - gUnknown_02024D1E[0]++; + gBattleCommunication[1] = 0xFF; + gBattleCommunication[0]++; break; case 1: - gUnknown_02024D1E[1]--; - if (gUnknown_02024D1E[1] == 0) + gBattleCommunication[1]--; + if (gBattleCommunication[1] == 0) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gUnknown_02024D1E[0]++; + gBattleCommunication[0]++; } break; case 2: @@ -1330,7 +1330,7 @@ void sub_80102AC(struct Sprite *sprite) if (sprite->animEnded) { sub_804777C(sprite->data0); - sub_8043DFC(gUnknown_03004340[sprite->data0]); + sub_8043DFC(gHealthboxIDs[sprite->data0]); sprite->callback = nullsub_37; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x00020000, 0, 10, 0, 0x3DEF); @@ -1376,11 +1376,11 @@ void sub_8010384(struct Sprite *sprite) else species = sprite->data2; - GetMonData(&gEnemyParty[gUnknown_02024A6A[r6]], MON_DATA_PERSONALITY); // Unused return value + GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); // Unused return value if (species == SPECIES_UNOWN) { - u32 personalityValue = GetMonData(&gEnemyParty[gUnknown_02024A6A[r6]], MON_DATA_PERSONALITY); + u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); u16 unownSpecies; @@ -1426,7 +1426,7 @@ void sub_8010494(struct Sprite *sprite) } else { - u8 *dst = (u8 *)gUnknown_081FAF4C[battle_get_per_side_status(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); + u8 *dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; @@ -1514,14 +1514,14 @@ void dp11b_obj_instanciate(u8 a, u8 b, s8 c, s8 d) spriteId = CreateInvisibleSpriteWithCallback(objc_dp11b_pingpong); if (b == TRUE) { - r7 = gUnknown_03004340[a]; + r7 = gHealthboxIDs[a]; ewram17810[a].unk2 = spriteId; ewram17810[a].unk0_1 = 1; gSprites[spriteId].data0 = 0x80; } else { - r7 = gUnknown_02024BE0[a]; + r7 = gObjectBankIDs[a]; ewram17810[a].unk3 = spriteId; ewram17810[a].unk0_2 = 1; gSprites[spriteId].data0 = 0xC0; @@ -1579,17 +1579,17 @@ void nullsub_41(void) void sub_8010800(void) { sub_8010874(); - gUnknown_02024D1E[1] = 0; - gUnknown_030042D4 = bc_8012FAC; + gBattleCommunication[1] = 0; + gBattleMainFunc = bc_8012FAC; } void sub_8010824(void) { - gUnknown_030042D4(); - gUnknown_02024A60 = 0; + gBattleMainFunc(); + gActiveBank = 0; - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) - gUnknown_03004330[gUnknown_02024A60](); + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + gBattleBankFunc[gActiveBank](); } void sub_8010874(void) @@ -1598,65 +1598,65 @@ void sub_8010874(void) s32 j; u8 *r4; - sub_801365C(0); - sub_801377C(); + TurnValuesCleanUp(0); + SpecialStatusesClear(); for (i = 0; i < 4; i++) { - gUnknown_02024C98[i] = 0; + gStatuses3[i] = 0; - r4 = (u8 *)&gUnknown_02024CA8[i]; + r4 = (u8 *)&gDisableStructs[i]; for (j = 0; j < (u32)0x1C; j++) r4[j] = 0; - gUnknown_02024CA8[i].unk16 = 2; + gDisableStructs[i].unk16 = 2; gUnknown_02024C70[i] = 0; - gUnknown_02024C34[i] = 0; - gUnknown_02024C3C[i] = 0; + gLastUsedMove[i] = 0; + gMoveHitWith[i] = 0; gUnknown_02024C44[i] = 0; gUnknown_02024C4C[i] = 0; gUnknown_02024C5C[i] = 0xFF; - gUnknown_02024C54[i] = 0; + gLockedMove[i] = 0; gUnknown_02024C2C[i] = 0; ewram17100[i] = 0; } for (i = 0; i < 2; i++) { - gUnknown_02024C7A[i] = 0; + gSideAffecting[i] = 0; - r4 = (u8 *)&gUnknown_02024C80[i]; + r4 = (u8 *)&gSideTimer[i]; for (j = 0; j < (u32)12; j++) r4[j] = 0; } - gPlayerMonIndex = 0; - gEnemyMonIndex = 0; + gBankAttacker = 0; + gBankTarget = 0; gBattleWeather = 0; - r4 = (u8 *)&gUnknown_02024DBC; + r4 = (u8 *)&gWishFutureKnock; for (i = 0; i < (u32)0x2C; i++) r4[i] = 0; - gUnknown_02024C6C = 0; + gHitMarker = 0; if ((gBattleTypeFlags & 2) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) - gUnknown_02024C6C = 0x80; + gHitMarker = 0x80; ewram16084 = gSaveBlock2.optionsBattleStyle; - gUnknown_02024C0E = 0; - gUnknown_02024D26 = 0; - gUnknown_02024A64 = 0; - gUnknown_02024D1A = 0; + gMultiHitCounter = 0; + gBattleOutcome = 0; + gBattleExecBuffer = 0; + gPaydayMoney = 0; ewram17130 = 0; ewram17160 = 0; for (i = 0; i < 8; i++) - gUnknown_02024D1E[i] = 0; - gUnknown_02024D18 = 0; + gBattleCommunication[i] = 0; + gPauseCounterBattle = 0; gBattleMoveDamage = 0; gUnknown_02024DE8 = 0; ewram16002 = 0; ewram160A1 = 0; - gUnknown_03004324 = 0; - gUnknown_02024C0C = 0; + gLeveledUpInBattle = 0; + gAbsentBankFlags = 0; ewram16078 = 0; ewram16086 = 0; ewram16087 = 0; @@ -1679,208 +1679,208 @@ void sub_8010874(void) ewram160C9 = 6; ewram16113 = 0; for (i = 0; i < 11; i++) - gUnknown_030042E0.unk36[i] = 0; - gUnknown_030042E0.unk13 = 0; - gUnknown_030042E0.unk0 = 0; - gUnknown_030042E0.unk1 = 0; - gUnknown_030042E0.unk2 = 0; - gUnknown_030042E0.unk3 = 0; - gUnknown_030042E0.unk4 = 0; - gUnknown_030042E0.unk5_0 = 0; - gUnknown_030042E0.unk5_1 = 0; - gUnknown_030042E0.unk20 = 0; - gUnknown_030042E0.unk22 = 0; - gUnknown_030042E0.unk24 = 0; - gUnknown_030042E0.unk6 = 0; - gUnknown_030042E0.unk26 = 0; - gUnknown_030042E0.unk28 = 0; + gBattleResults.unk36[i] = 0; + gBattleResults.unk13 = 0; + gBattleResults.unk0 = 0; + gBattleResults.unk1 = 0; + gBattleResults.unk2 = 0; + gBattleResults.unk3 = 0; + gBattleResults.unk4 = 0; + gBattleResults.unk5_0 = 0; + gBattleResults.unk5_1 = 0; + gBattleResults.unk20 = 0; + gBattleResults.unk22 = 0; + gBattleResults.unk24 = 0; + gBattleResults.unk6 = 0; + gBattleResults.unk26 = 0; + gBattleResults.unk28 = 0; for (i = 0; i < 10; i++) { - gUnknown_030042E0.unk8[i] = 0; - gUnknown_030042E0.unk14[i] = 0; - gUnknown_030042E0.unk2A[i] = 0; + gBattleResults.unk8[i] = 0; + gBattleResults.unk14[i] = 0; + gBattleResults.unk2A[i] = 0; } } void sub_8010B88(void) { - struct UnkBattleStruct4 sp0 = gUnknown_02024CA8[gUnknown_02024A60]; + struct UnkBattleStruct4 sp0 = gDisableStructs[gActiveBank]; s32 i; u8 *ptr; u32 *ptr2; - if (gBattleMoves[gUnknown_02024BE6].effect != 0x7F) + if (gBattleMoves[gCurrentMove].effect != 0x7F) { for (i = 0; i < 8; i++) - gBattleMons[gUnknown_02024A60].statStages[i] = 6; - for (i = 0; i < gUnknown_02024A68; i++) + gBattleMons[gActiveBank].statStages[i] = 6; + for (i = 0; i < gNoOfAllBanks; i++) { struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i]; - if ((sp20->unk0 & 0x04000000) && gUnknown_02024CA8[i].unk14 == gUnknown_02024A60) + if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].unk14 == gActiveBank) sp20->unk0 &= ~0x04000000; - if ((gUnknown_02024C98[i] & 0x18) && gUnknown_02024CA8[i].unk15 == gUnknown_02024A60) + if ((gStatuses3[i] & 0x18) && gDisableStructs[i].unk15 == gActiveBank) { - gUnknown_02024C98[i] &= ~0x18; - gUnknown_02024CA8[i].unk15 = 0; + gStatuses3[i] &= ~0x18; + gDisableStructs[i].unk15 = 0; } } } - if (gBattleMoves[gUnknown_02024BE6].effect == 0x7F) + if (gBattleMoves[gCurrentMove].effect == 0x7F) { - gBattleMons[gUnknown_02024A60].status2 &= 0x15100007; - gUnknown_02024C98[gUnknown_02024A60] &= 0x3043F; + gBattleMons[gActiveBank].status2 &= 0x15100007; + gStatuses3[gActiveBank] &= 0x3043F; - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { - if (battle_side_get_owner(gUnknown_02024A60) != battle_side_get_owner(i) - && (gUnknown_02024C98[i] & 0x18) != 0 - && (gUnknown_02024CA8[i].unk15 == gUnknown_02024A60)) + if (GetBankSide(gActiveBank) != GetBankSide(i) + && (gStatuses3[i] & 0x18) != 0 + && (gDisableStructs[i].unk15 == gActiveBank)) { - gUnknown_02024C98[i] &= ~0x18; - gUnknown_02024C98[i] |= 0x10; + gStatuses3[i] &= ~0x18; + gStatuses3[i] |= 0x10; } } } else { - gBattleMons[gUnknown_02024A60].status2 = 0; - gUnknown_02024C98[gUnknown_02024A60] = 0; + gBattleMons[gActiveBank].status2 = 0; + gStatuses3[gActiveBank] = 0; } - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { - if (gUnknown_02024AD0[i].unk0 & (gBitTable[gUnknown_02024A60] << 16)) - gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gUnknown_02024A60] << 16); - if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram[0x16020 + i] == gUnknown_02024A60) + if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBank] << 16)) + gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBank] << 16); + if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram[0x16020 + i] == gActiveBank) gUnknown_02024AD0[i].unk0 &= ~0xE000; } - gUnknown_02024E60[gUnknown_02024A60] = 0; - gUnknown_02024E64[gUnknown_02024A60] = 0; + gActionSelectionCursor[gActiveBank] = 0; + gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gUnknown_02024CA8[gUnknown_02024A60]; + ptr = (u8 *)&gDisableStructs[gActiveBank]; for (i = 0; i < (u32)0x1C; i++) ptr[i] = 0; - if (gBattleMoves[gUnknown_02024BE6].effect == 0x7F) + if (gBattleMoves[gCurrentMove].effect == 0x7F) { - gUnknown_02024CA8[gUnknown_02024A60].unkA = sp0.unkA; - gUnknown_02024CA8[gUnknown_02024A60].unk15 = sp0.unk15; - gUnknown_02024CA8[gUnknown_02024A60].unkF_0 = sp0.unkF_0; - gUnknown_02024CA8[gUnknown_02024A60].unkF_4 = sp0.unkF_4; + gDisableStructs[gActiveBank].unkA = sp0.unkA; + gDisableStructs[gActiveBank].unk15 = sp0.unk15; + gDisableStructs[gActiveBank].unkF_0 = sp0.unkF_0; + gDisableStructs[gActiveBank].unkF_4 = sp0.unkF_4; } - gUnknown_02024CA8[gUnknown_02024A60].unk16 = 2; - gUnknown_02024C34[gUnknown_02024A60] = 0; - gUnknown_02024C3C[gUnknown_02024A60] = 0; - gUnknown_02024C44[gUnknown_02024A60] = 0; - gUnknown_02024C4C[gUnknown_02024A60] = 0; - gUnknown_02024C2C[gUnknown_02024A60] = 0; - gUnknown_02024C5C[gUnknown_02024A60] = 0xFF; + gDisableStructs[gActiveBank].unk16 = 2; + gLastUsedMove[gActiveBank] = 0; + gMoveHitWith[gActiveBank] = 0; + gUnknown_02024C44[gActiveBank] = 0; + gUnknown_02024C4C[gActiveBank] = 0; + gUnknown_02024C2C[gActiveBank] = 0; + gUnknown_02024C5C[gActiveBank] = 0xFF; - ewram[0x160AC + gUnknown_02024A60 * 2 + 0] = 0; - ewram[0x160AC + gUnknown_02024A60 * 2 + 1] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 0] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 1] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 2] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 3] = 0; - ewram[0x160E8 + gUnknown_02024A60 * 2 + 0] = 0; - ewram[0x160E8 + gUnknown_02024A60 * 2 + 1] = 0; + ewram[0x160AC + gActiveBank * 2 + 0] = 0; + ewram[0x160AC + gActiveBank * 2 + 1] = 0; + ewram[0x16100 + gActiveBank * 4 + 0] = 0; + ewram[0x16100 + gActiveBank * 4 + 1] = 0; + ewram[0x16100 + gActiveBank * 4 + 2] = 0; + ewram[0x16100 + gActiveBank * 4 + 3] = 0; + ewram[0x160E8 + gActiveBank * 2 + 0] = 0; + ewram[0x160E8 + gActiveBank * 2 + 1] = 0; ptr2 = (u32 *)(ewram + 0x17100); - ptr2[gUnknown_02024A60] = 0; + ptr2[gActiveBank] = 0; - gUnknown_02024BE6 = 0; + gCurrentMove = 0; } -void sub_8010F48(void) +void UndoEffectsAfterFainting(void) { s32 i; u8 *ptr; u32 *ptr2; for (i = 0; i < 8; i++) - gBattleMons[gUnknown_02024A60].statStages[i] = 6; - gBattleMons[gUnknown_02024A60].status2 = 0; - gUnknown_02024C98[gUnknown_02024A60] = 0; - for (i = 0; i < gUnknown_02024A68; i++) + gBattleMons[gActiveBank].statStages[i] = 6; + gBattleMons[gActiveBank].status2 = 0; + gStatuses3[gActiveBank] = 0; + for (i = 0; i < gNoOfAllBanks; i++) { - if ((gBattleMons[i].status2 & 0x4000000) && gUnknown_02024CA8[i].unk14 == gUnknown_02024A60) + if ((gBattleMons[i].status2 & 0x4000000) && gDisableStructs[i].unk14 == gActiveBank) gBattleMons[i].status2 &= ~0x4000000; - if (gBattleMons[i].status2 & (gBitTable[gUnknown_02024A60] << 16)) - gBattleMons[i].status2 &= ~(gBitTable[gUnknown_02024A60] << 16); - if ((gBattleMons[i].status2 & 0xE000) && ewram[0x16020 + i] == gUnknown_02024A60) + if (gBattleMons[i].status2 & (gBitTable[gActiveBank] << 16)) + gBattleMons[i].status2 &= ~(gBitTable[gActiveBank] << 16); + if ((gBattleMons[i].status2 & 0xE000) && ewram[0x16020 + i] == gActiveBank) gBattleMons[i].status2 &= ~0xE000; } - gUnknown_02024E60[gUnknown_02024A60] = 0; - gUnknown_02024E64[gUnknown_02024A60] = 0; + gActionSelectionCursor[gActiveBank] = 0; + gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gUnknown_02024CA8[gUnknown_02024A60]; + ptr = (u8 *)&gDisableStructs[gActiveBank]; for (i = 0; i < (u32)0x1C; i++) ptr[i] = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_0 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_1 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_2 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_3 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_4 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_5 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_6 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk0_7 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_0 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_1 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_2 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_3 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_5 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_6 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk1_7 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk2_0 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk2_1 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk2_2 = 0; - gUnknown_02024D28[gUnknown_02024A60].unk2_3 = 0; - - gUnknown_02024CA8[gUnknown_02024A60].unk16 = 2; - gUnknown_02024C34[gUnknown_02024A60] = 0; - gUnknown_02024C3C[gUnknown_02024A60] = 0; - gUnknown_02024C44[gUnknown_02024A60] = 0; - gUnknown_02024C4C[gUnknown_02024A60] = 0; - gUnknown_02024C2C[gUnknown_02024A60] = 0; - gUnknown_02024C5C[gUnknown_02024A60] = 0xFF; - - ewram[0x160E8 + gUnknown_02024A60 * 2 + 0] = 0; - ewram[0x160E8 + gUnknown_02024A60 * 2 + 1] = 0; - ewram[0x160AC + gUnknown_02024A60 * 2 + 0] = 0; - ewram[0x160AC + gUnknown_02024A60 * 2 + 1] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 0] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 1] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 2] = 0; - ewram[0x16100 + gUnknown_02024A60 * 4 + 3] = 0; + gProtectStructs[gActiveBank].unk0_0 = 0; + gProtectStructs[gActiveBank].unk0_1 = 0; + gProtectStructs[gActiveBank].unk0_2 = 0; + gProtectStructs[gActiveBank].unk0_3 = 0; + gProtectStructs[gActiveBank].unk0_4 = 0; + gProtectStructs[gActiveBank].unk0_5 = 0; + gProtectStructs[gActiveBank].unk0_6 = 0; + gProtectStructs[gActiveBank].unk0_7 = 0; + gProtectStructs[gActiveBank].unk1_0 = 0; + gProtectStructs[gActiveBank].unk1_1 = 0; + gProtectStructs[gActiveBank].unk1_2 = 0; + gProtectStructs[gActiveBank].unk1_3 = 0; + gProtectStructs[gActiveBank].unk1_5 = 0; + gProtectStructs[gActiveBank].unk1_6 = 0; + gProtectStructs[gActiveBank].unk1_7 = 0; + gProtectStructs[gActiveBank].unk2_0 = 0; + gProtectStructs[gActiveBank].unk2_1 = 0; + gProtectStructs[gActiveBank].unk2_2 = 0; + gProtectStructs[gActiveBank].unk2_3 = 0; + + gDisableStructs[gActiveBank].unk16 = 2; + gLastUsedMove[gActiveBank] = 0; + gMoveHitWith[gActiveBank] = 0; + gUnknown_02024C44[gActiveBank] = 0; + gUnknown_02024C4C[gActiveBank] = 0; + gUnknown_02024C2C[gActiveBank] = 0; + gUnknown_02024C5C[gActiveBank] = 0xFF; + + ewram[0x160E8 + gActiveBank * 2 + 0] = 0; + ewram[0x160E8 + gActiveBank * 2 + 1] = 0; + ewram[0x160AC + gActiveBank * 2 + 0] = 0; + ewram[0x160AC + gActiveBank * 2 + 1] = 0; + ewram[0x16100 + gActiveBank * 4 + 0] = 0; + ewram[0x16100 + gActiveBank * 4 + 1] = 0; + ewram[0x16100 + gActiveBank * 4 + 2] = 0; + ewram[0x16100 + gActiveBank * 4 + 3] = 0; ptr2 = (u32 *)(ewram + 0x17100); - ptr2[gUnknown_02024A60] = 0; + ptr2[gActiveBank] = 0; - gBattleMons[gUnknown_02024A60].type1 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type1; - gBattleMons[gUnknown_02024A60].type2 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type2; + gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; + gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; } void bc_8012FAC(void) { - switch (gUnknown_02024D1E[0]) + switch (gBattleCommunication[0]) { case 0: - gUnknown_02024A60 = gUnknown_02024D1E[1]; - dp01_build_cmdbuf_x00_a_b_0(0, 0, 0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); - gUnknown_02024D1E[0]++; + gActiveBank = gBattleCommunication[1]; + EmitGetAttributes(0, 0, 0); + MarkBufferBankForExecution(gActiveBank); + gBattleCommunication[0]++; break; case 1: - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - gUnknown_02024D1E[1]++; - if (gUnknown_02024D1E[1] == gUnknown_02024A68) - gUnknown_030042D4 = bc_load_battlefield; + gBattleCommunication[1]++; + if (gBattleCommunication[1] == gNoOfAllBanks) + gBattleMainFunc = bc_load_battlefield; else - gUnknown_02024D1E[0] = 0; + gBattleCommunication[0] = 0; } break; } @@ -1888,14 +1888,14 @@ void bc_8012FAC(void) void bc_load_battlefield(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - gUnknown_02024A60 = battle_get_side_with_given_state(0); - dp01_build_cmdbuf_x2E_a(0, gBattleTerrain); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); - gUnknown_030042D4 = sub_8011384; - gUnknown_02024D1E[0] = 0; - gUnknown_02024D1E[1] = 0; + gActiveBank = GetBankByPlayerAI(0); + EmitBattleIntroSlide(0, gBattleTerrain); + MarkBufferBankForExecution(gActiveBank); + gBattleMainFunc = sub_8011384; + gBattleCommunication[0] = 0; + gBattleCommunication[1] = 0; } } @@ -1904,14 +1904,14 @@ void sub_8011384(void) u8 *ptr; s32 i; - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && battle_side_get_owner(gUnknown_02024A60) == 0) + && GetBankSide(gActiveBank) == 0) { - ptr = (u8 *)&gBattleMons[gUnknown_02024A60]; + ptr = (u8 *)&gBattleMons[gActiveBank]; for (i = 0; i < (u32)0x58; i++) ptr[i] = 0; } @@ -1919,59 +1919,59 @@ void sub_8011384(void) { u8 r0; - ptr = (u8 *)&gBattleMons[gUnknown_02024A60]; + ptr = (u8 *)&gBattleMons[gActiveBank]; for (i = 0; i < (u32)0x58; i++) - ptr[i] = gUnknown_02024260[gUnknown_02024A60][4 + i]; + ptr[i] = gBattleBufferB[gActiveBank][4 + i]; - gBattleMons[gUnknown_02024A60].type1 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type1; - gBattleMons[gUnknown_02024A60].type2 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type2; - gBattleMons[gUnknown_02024A60].ability = GetAbilityBySpecies(gBattleMons[gUnknown_02024A60].species, gBattleMons[gUnknown_02024A60].altAbility); - r0 = battle_side_get_owner(gUnknown_02024A60); - ewram160BC[r0] = gBattleMons[gUnknown_02024A60].hp; + gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; + gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; + gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); + r0 = GetBankSide(gActiveBank); + ewram160BC[r0] = gBattleMons[gActiveBank].hp; for (i = 0; i < 8; i++) - gBattleMons[gUnknown_02024A60].statStages[i] = 6; - gBattleMons[gUnknown_02024A60].status2 = 0; + gBattleMons[gActiveBank].statStages[i] = 6; + gBattleMons[gActiveBank].status2 = 0; } - if (battle_get_per_side_status(gUnknown_02024A60) == 0) + if (GetBankIdentity(gActiveBank) == 0) { dp01_build_cmdbuf_x07_7_7_7(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (battle_get_per_side_status(gUnknown_02024A60) == 1) + if (GetBankIdentity(gActiveBank) == 1) { dp01_build_cmdbuf_x07_7_7_7(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } - if (battle_side_get_owner(gUnknown_02024A60) == 1 + if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2); + GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } else { - if (battle_side_get_owner(gUnknown_02024A60) == 1 + if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2); + GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); dp01_build_cmdbuf_x04_4_4_4(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (battle_get_per_side_status(gUnknown_02024A60) == 2 - || battle_get_per_side_status(gUnknown_02024A60) == 3) + if (GetBankIdentity(gActiveBank) == 2 + || GetBankIdentity(gActiveBank) == 3) { dp01_build_cmdbuf_x07_7_7_7(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } } } - gUnknown_030042D4 = bc_801333C; + gBattleMainFunc = bc_801333C; } } @@ -1979,7 +1979,7 @@ void bc_801333C(void) { s32 i; - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { struct { @@ -2003,9 +2003,9 @@ void bc_801333C(void) sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } - gUnknown_02024A60 = battle_get_side_with_given_state(1); + gActiveBank = GetBankByPlayerAI(1); dp01_build_cmdbuf_x30_TODO(0, (u8 *)sp0, 0x80); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); for (i = 0; i < 6; i++) { @@ -2021,11 +2021,11 @@ void bc_801333C(void) sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } - gUnknown_02024A60 = battle_get_side_with_given_state(0); + gActiveBank = GetBankByPlayerAI(0); dp01_build_cmdbuf_x30_TODO(0, (u8 *)sp0, 0x80); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); - gUnknown_030042D4 = bc_battle_begin_message; + gBattleMainFunc = bc_battle_begin_message; } else { @@ -2047,198 +2047,198 @@ void bc_801333C(void) } } - gUnknown_030042D4 = bc_8013568; + gBattleMainFunc = bc_8013568; } } } void bc_battle_begin_message(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - gUnknown_02024A60 = battle_get_side_with_given_state(1); - b_std_message(0, gUnknown_02024A60); - gUnknown_030042D4 = sub_8011800; + gActiveBank = GetBankByPlayerAI(1); + PrepareStringBattle(0, gActiveBank); + gBattleMainFunc = sub_8011800; } } void bc_8013568(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - gUnknown_030042D4 = sub_8011970; - b_std_message(0, 0); + gBattleMainFunc = sub_8011970; + PrepareStringBattle(0, 0); } } void sub_8011800(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - b_std_message(1, battle_get_side_with_given_state(1)); - gUnknown_030042D4 = sub_8011834; + PrepareStringBattle(1, GetBankByPlayerAI(1)); + gBattleMainFunc = sub_8011834; } } void sub_8011834(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { - if (battle_get_per_side_status(gUnknown_02024A60) == 1) + if (GetBankIdentity(gActiveBank) == 1) { dp01_build_cmdbuf_x2F_2F_2F_2F(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && battle_get_per_side_status(gUnknown_02024A60) == 3) + && GetBankIdentity(gActiveBank) == 3) { dp01_build_cmdbuf_x2F_2F_2F_2F(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } } - gUnknown_030042D4 = bc_801362C; + gBattleMainFunc = bc_801362C; } } void bc_801362C(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { - if (battle_side_get_owner(gUnknown_02024A60) == 1 + if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2); + GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } - gUnknown_030042D4 = sub_8011970; + gBattleMainFunc = sub_8011970; } } void unref_sub_8011950(void) { - if (gUnknown_02024A64 == 0) - gUnknown_030042D4 = sub_8011970; + if (gBattleExecBuffer == 0) + gBattleMainFunc = sub_8011970; } void sub_8011970(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - b_std_message(1, battle_get_side_with_given_state(0)); - gUnknown_030042D4 = sub_80119B4; + PrepareStringBattle(1, GetBankByPlayerAI(0)); + gBattleMainFunc = sub_80119B4; } } void sub_80119B4(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { - if (battle_get_per_side_status(gUnknown_02024A60) == 0) + if (GetBankIdentity(gActiveBank) == 0) { dp01_build_cmdbuf_x2F_2F_2F_2F(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && battle_get_per_side_status(gUnknown_02024A60) == 2) + && GetBankIdentity(gActiveBank) == 2) { dp01_build_cmdbuf_x2F_2F_2F_2F(0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + MarkBufferBankForExecution(gActiveBank); } } ewram16058 = 0; ewram160F9 = 0; ewram160E6 = 0; - gUnknown_030042D4 = sub_8011B00; + gBattleMainFunc = BattleBeginFirstTurn; } } void unref_sub_8011A68(void) { - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { - if (battle_side_get_owner(gUnknown_02024A60) == 0) + if (GetBankSide(gActiveBank) == 0) { - sub_800C704(0, gUnknown_02024A6A[gUnknown_02024A60], 0); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); + sub_800C704(0, gBattlePartyID[gActiveBank], 0); + MarkBufferBankForExecution(gActiveBank); } } ewram16058 = 0; ewram160F9 = 0; ewram160E6 = 0; - gUnknown_030042D4 = sub_8011B00; + gBattleMainFunc = BattleBeginFirstTurn; } } -void sub_8011B00(void) +void BattleBeginFirstTurn(void) { s32 i; s32 j; u8 r9 = 0; - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { if (ewram16058 == 0) { - for (i = 0; i < gUnknown_02024A68; i++) - gUnknown_02024A7A[i] = i; - for (i = 0; i < gUnknown_02024A68 - 1; i++) + for (i = 0; i < gNoOfAllBanks; i++) + gTurnOrder[i] = i; + for (i = 0; i < gNoOfAllBanks - 1; i++) { - for (j = i + 1; j < gUnknown_02024A68; j++) + for (j = i + 1; j < gNoOfAllBanks; j++) { - if (b_first_side(gUnknown_02024A7A[i], gUnknown_02024A7A[j], 1) != 0) + if (b_first_side(gTurnOrder[i], gTurnOrder[j], 1) != 0) sub_8012FBC(i, j); } } } - if (ewram160E6 == 0 && sub_8018324(0, 0, 0, 0xFF, 0) != 0) + if (ewram160E6 == 0 && AbilityBattleEffects(0, 0, 0, 0xFF, 0) != 0) { ewram160E6 = 1; return; } - while (ewram16058 < gUnknown_02024A68) + while (ewram16058 < gNoOfAllBanks) { - if (sub_8018324(0, gUnknown_02024A7A[ewram16058], 0, 0, 0) != 0) + if (AbilityBattleEffects(0, gTurnOrder[ewram16058], 0, 0, 0) != 0) r9++; ewram16058++; if (r9 != 0) return; } - if (sub_8018324(9, 0, 0, 0, 0) != 0) + if (AbilityBattleEffects(9, 0, 0, 0, 0) != 0) return; - if (sub_8018324(11, 0, 0, 0, 0) != 0) + if (AbilityBattleEffects(11, 0, 0, 0, 0) != 0) return; - while (ewram160F9 < gUnknown_02024A68) + while (ewram160F9 < gNoOfAllBanks) { - if (sub_801A02C(0, gUnknown_02024A7A[ewram160F9], 0) != 0) + if (sub_801A02C(0, gTurnOrder[ewram160F9], 0) != 0) r9++; ewram160F9++; if (r9 != 0) return; } // Absolutely pointless for-loop that somehow doesn't get optimized out - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) ; for (i = 0; i < 4; i++) { ewram[0x16068 + i] = 6; - gUnknown_02024C18[i] = 0xFF; - gUnknown_02024C60[i] = 0; + gActionForBanks[i] = 0xFF; + gChosenMovesByBanks[i] = 0; } - sub_801365C(0); - sub_801377C(); - ewram160A6 = gUnknown_02024C0C; - gUnknown_030042D4 = sub_8012324; + TurnValuesCleanUp(0); + SpecialStatusesClear(); + ewram160A6 = gAbsentBankFlags; + gBattleMainFunc = sub_8012324; sub_80156DC(); for (i = 0; i < 8; i++) - gUnknown_02024D1E[i] = 0; - for (i = 0; i < gUnknown_02024A68; i++) + gBattleCommunication[i] = 0; + for (i = 0; i < gNoOfAllBanks; i++) gBattleMons[i].status2 &= ~8; ewram16000 = 0; ewram16001 = 0; @@ -2248,7 +2248,7 @@ void sub_8011B00(void) ewram16059 = 0; ewram1600E = 0; gBattleMoveFlags = 0; - gUnknown_02024D1C = Random(); + gRandomTurnNumber = Random(); } } @@ -2256,16 +2256,16 @@ void bc_8013B1C(void) { s32 i; - if (gUnknown_02024A64 == 0) + if (gBattleExecBuffer == 0) { - gUnknown_030042D4 = sub_8011E8C; + gBattleMainFunc = BattleTurnPassed; for (i = 0; i < 8; i++) - gUnknown_02024D1E[i] = 0; - for (i = 0; i < gUnknown_02024A68; i++) + gBattleCommunication[i] = 0; + for (i = 0; i < gNoOfAllBanks; i++) { gBattleMons[i].status2 &= ~8; if ((gBattleMons[i].status1 & 7) && (gBattleMons[i].status2 & 0x1000)) - b_cancel_multi_turn_move_maybe(i); + CancelMultiTurnMoves(i); } ewram16000 = 0; ewram16001 = 0; @@ -2276,16 +2276,16 @@ void bc_8013B1C(void) } } -void sub_8011E8C(void) +void BattleTurnPassed(void) { s32 i; - sub_801365C(1); - if (gUnknown_02024D26 == 0) + TurnValuesCleanUp(1); + if (gBattleOutcome == 0) { - if (sub_8015DFC() != 0) + if (UpdateTurnCounters() != 0) return; - if (sub_8016558() != 0) + if (TurnBasedEffects() != 0) return; } if (sub_80173A4() != 0) @@ -2293,94 +2293,94 @@ void sub_8011E8C(void) ewram16059 = 0; if (sub_80170DC() != 0) return; - sub_801365C(0); - gUnknown_02024C6C &= ~0x200; - gUnknown_02024C6C &= ~0x80000; - gUnknown_02024C6C &= ~0x400000; - gUnknown_02024C6C &= ~0x100000; + TurnValuesCleanUp(0); + gHitMarker &= ~0x200; + gHitMarker &= ~0x80000; + gHitMarker &= ~0x400000; + gHitMarker &= ~0x100000; ewram16002 = 0; ewram160A1 = 0; ewram1600C = 0; gBattleMoveDamage = 0; gBattleMoveFlags = 0; for (i = 0; i < 5; i++) - gUnknown_02024D1E[i] = 0; - if (gUnknown_02024D26 != 0) + gBattleCommunication[i] = 0; + if (gBattleOutcome != 0) { - gUnknown_02024A7F = 12; - gUnknown_030042D4 = sub_80138F0; + gFightStateTracker = 12; + gBattleMainFunc = sub_80138F0; return; } - if (gUnknown_030042E0.unk13 < 0xFF) - gUnknown_030042E0.unk13++; - for (i = 0; i < gUnknown_02024A68; i++) + if (gBattleResults.unk13 < 0xFF) + gBattleResults.unk13++; + for (i = 0; i < gNoOfAllBanks; i++) { - gUnknown_02024C18[i] = 0xFF; - gUnknown_02024C60[i] = 0; + gActionForBanks[i] = 0xFF; + gChosenMovesByBanks[i] = 0; } for (i = 0; i < 4; i++) ewram[0x16068 + i] = 6; - ewram160A6 = gUnknown_02024C0C; - gUnknown_030042D4 = sub_8012324; - gUnknown_02024D1C = Random(); + ewram160A6 = gAbsentBankFlags; + gBattleMainFunc = sub_8012324; + gRandomTurnNumber = Random(); } -u8 sub_8012028(void) +u8 CanRunFromBattle(void) { u8 r2; u8 r6; s32 i; - if (gBattleMons[gUnknown_02024A60].item == 0xAF) - r2 = gEnigmaBerries[gUnknown_02024A60].holdEffect; + if (gBattleMons[gActiveBank].item == 0xAF) + r2 = gEnigmaBerries[gActiveBank].holdEffect; else - r2 = ItemId_GetHoldEffect(gBattleMons[gUnknown_02024A60].item); - gUnknown_02024C0B = gUnknown_02024A60; + r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); + gStringBank = gActiveBank; if (r2 == 0x25) return 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) return 0; - if (gBattleMons[gUnknown_02024A60].ability == ABILITY_RUN_AWAY) + if (gBattleMons[gActiveBank].ability == ABILITY_RUN_AWAY) return 0; - r6 = battle_side_get_owner(gUnknown_02024A60); - for (i = 0; i < gUnknown_02024A68; i++) + r6 = GetBankSide(gActiveBank); + for (i = 0; i < gNoOfAllBanks; i++) { - if (r6 != battle_side_get_owner(i) + if (r6 != GetBankSide(i) && gBattleMons[i].ability == 0x17) { ewram16003 = i; - byte_2024C06 = gBattleMons[i].ability; - gUnknown_02024D1E[5] = 2; + gLastUsedAbility = gBattleMons[i].ability; + gBattleCommunication[5] = 2; return 2; } - if (r6 != battle_side_get_owner(i) - && gBattleMons[gUnknown_02024A60].ability != ABILITY_LEVITATE - && gBattleMons[gUnknown_02024A60].type1 != 2 - && gBattleMons[gUnknown_02024A60].type2 != 2 + if (r6 != GetBankSide(i) + && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE + && gBattleMons[gActiveBank].type1 != 2 + && gBattleMons[gActiveBank].type2 != 2 && gBattleMons[i].ability == 0x47) { ewram16003 = i; - byte_2024C06 = gBattleMons[i].ability; - gUnknown_02024D1E[5] = 2; + gLastUsedAbility = gBattleMons[i].ability; + gBattleCommunication[5] = 2; return 2; } } - i = sub_8018324(15, gUnknown_02024A60, 0x2A, 0, 0); - if (i != 0 && (gBattleMons[gUnknown_02024A60].type1 == 8 || gBattleMons[gUnknown_02024A60].type2 == 8)) + i = AbilityBattleEffects(15, gActiveBank, 0x2A, 0, 0); + if (i != 0 && (gBattleMons[gActiveBank].type1 == 8 || gBattleMons[gActiveBank].type2 == 8)) { ewram16003 = i - 1; - byte_2024C06 = gBattleMons[i - 1].ability; - gUnknown_02024D1E[5] = 2; + gLastUsedAbility = gBattleMons[i - 1].ability; + gBattleCommunication[5] = 2; return 2; } - if ((gBattleMons[gUnknown_02024A60].status2 & 0x0400E000) || (gUnknown_02024C98[gUnknown_02024A60] & 0x400)) + if ((gBattleMons[gActiveBank].status2 & 0x0400E000) || (gStatuses3[gActiveBank] & 0x400)) { - gUnknown_02024D1E[5] = 0; + gBattleCommunication[5] = 0; return 1; } if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) { - gUnknown_02024D1E[5] = 1; + gBattleCommunication[5] = 1; return 1; } return 0; @@ -2394,7 +2394,7 @@ void sub_8012258(u8 a) for (i = 0; i < 3; i++) gUnknown_02038470[i] = ewram[0x1606C + i + a * 3]; - r4 = pokemon_order_func(gUnknown_02024A6A[a]); + r4 = pokemon_order_func(gBattlePartyID[a]); r1 = pokemon_order_func(ewram[0x16068 + a]); sub_8094C98(r4, r1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -2419,44 +2419,44 @@ void sub_8012324(void) { u8 r5; - gUnknown_02024D1E[4] = 0; + gBattleCommunication[4] = 0; // inverted loop //_0801234C - for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++) + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) { - r5 = battle_get_per_side_status(gUnknown_02024A60); - switch (gUnknown_02024D1E[gUnknown_02024A60]) + r5 = GetBankIdentity(gActiveBank); + switch (gBattleCommunication[gActiveBank]) { case 0: - ewram[0x016068 + gUnknown_02024A60] = 6; + ewram[0x016068 + gActiveBank] = 6; if (!(gBattleTypeFlags & 0x40) && (r5 & 2) - && !(ewram160A6 & gBitTable[battle_get_side_with_given_state(r5 ^ 2)]) - && gUnknown_02024D1E[battle_get_side_with_given_state(r5)] != 4) + && !(ewram160A6 & gBitTable[GetBankByPlayerAI(r5 ^ 2)]) + && gBattleCommunication[GetBankByPlayerAI(r5)] != 4) break; //_080123F8 - if (ewram160A6 & gBitTable[gUnknown_02024A60]) + if (ewram160A6 & gBitTable[gActiveBank]) { - gUnknown_02024C18[gUnknown_02024A60] = 13; + gActionForBanks[gActiveBank] = 13; if (!(gBattleTypeFlags & 0x40)) - gUnknown_02024D1E[gUnknown_02024A60] = 4; + gBattleCommunication[gActiveBank] = 4; //_08012454 else - gUnknown_02024D1E[gUnknown_02024A60] = 3; + gBattleCommunication[gActiveBank] = 3; break; } //_08012468 - if ((gBattleMons[gUnknown_02024A60].status2 & 0x1000) - || (gBattleMons[gUnknown_02024A60].status2 & 0x10000000)) + if ((gBattleMons[gActiveBank].status2 & 0x1000) + || (gBattleMons[gActiveBank].status2 & 0x10000000)) { - gUnknown_02024C18[gUnknown_02024A60] = 0; - gUnknown_02024D1E[gUnknown_02024A60] = 3; + gActionForBanks[gActiveBank] = 0; + gBattleCommunication[gActiveBank] = 3; } else { - dp01_build_cmdbuf_x12_a_bb(0, gUnknown_02024C18[0], gUnknown_02024260[0][1] | (gUnknown_02024260[0][2] << 8)); - dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60); - gUnknown_02024D1E[gUnknown_02024A60]++; + dp01_build_cmdbuf_x12_a_bb(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + MarkBufferBankForExecution(gActiveBank); + gBattleCommunication[gActiveBank]++; } break; case 1: diff --git a/src/battle_6.c b/src/battle_6.c index 866a66ae3..df2419f70 100644 --- a/src/battle_6.c +++ b/src/battle_6.c @@ -9,11 +9,11 @@ extern u16 gUnknown_030042A0; extern struct Window gUnknown_03004210; -extern void (*gUnknown_03004330[])(void); +extern void (*gBattleBankFunc[])(void); -extern u8 gUnknown_02024A60; -extern u8 gUnknown_02024E60[]; -extern u8 gUnknown_020238CC[]; +extern u8 gActiveBank; +extern u8 gActionSelectionCursor[]; +extern u8 gDisplayedStringBattle[]; extern u16 gUnknown_030042C0; extern u16 gUnknown_030041B4; @@ -39,7 +39,7 @@ void sub_803037C(void) { FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18); FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38); - gUnknown_03004330[gUnknown_02024A60] = sub_802C098; + gBattleBankFunc[gActiveBank] = sub_802C098; InitWindow(&gUnknown_03004210, gUnknown_08400CF3, 400, 18, 35); sub_8002F44(&gUnknown_03004210); @@ -50,9 +50,9 @@ void sub_803037C(void) { nullsub_8(r4); } - sub_802E3E4(gUnknown_02024E60[gUnknown_02024A60], 0); + sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); - get_battle_strings_((u8 *) gUnknown_08400CA8); - InitWindow(&gUnknown_03004210, gUnknown_020238CC, SUB_803037C_TILE_DATA_OFFSET, 2, 35); + StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CA8); + InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); } diff --git a/src/battle_7.c b/src/battle_7.c index 9c8b86fb4..a2990018e 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; @@ -63,7 +63,7 @@ extern const u8 gSubstituteDollGfx[]; extern const u8 gSubstituteDollPal[]; extern const struct SpriteSheet gUnknown_081FAF24; extern const struct SpriteTemplate gSpriteTemplate_81FAF34; -extern void (*const gUnknown_081FAF5C[])(void); +extern void (*const gOpponentBufferCommands[])(void); extern const struct SpriteSheet gUnknown_0820A47C; extern const struct SpriteSheet gUnknown_0820A484; extern const struct SpriteSheet gUnknown_0820A48C[]; @@ -98,9 +98,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 +142,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 +186,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 +262,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); @@ -294,10 +294,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, @@ -346,10 +346,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, @@ -392,7 +392,7 @@ void sub_8031A6C(u16 a, u8 b) u8 status; struct SpriteSheet spriteSheet; - status = battle_get_per_side_status(b); + status = GetBankIdentity(b); DecompressPicFromTable_2( &gTrainerFrontPicTable[a], gTrainerFrontPicCoords[a].coords, @@ -411,7 +411,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 +454,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 +480,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 +497,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 +542,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 +554,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 +608,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) @@ -628,7 +628,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) 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 +637,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 +661,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 +677,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,11 +690,11 @@ 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); @@ -714,8 +714,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 +732,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 +751,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 +812,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 +832,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 +851,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 +874,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 +889,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 +914,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 +965,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 +1021,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 +1111,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 +1168,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]; } 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) diff --git a/src/battle_ai.c b/src/battle_ai.c index cb8023251..fabe0b61d 100644 --- a/src/battle_ai.c +++ b/src/battle_ai.c @@ -14,22 +14,22 @@ extern u16 gBattleTypeFlags; extern u16 gBattleWeather; -extern u8 gUnknown_02024A60; -extern u8 gUnknown_02024A6A[][2]; -extern u16 gUnknown_02024BE6; +extern u8 gActiveBank; +extern u8 gBattlePartyID[][2]; +extern u16 gCurrentMove; extern int gBattleMoveDamage; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; -extern u8 gUnknown_02024C0C; +extern u8 gBankAttacker; +extern u8 gBankTarget; +extern u8 gAbsentBankFlags; extern u8 gBattleMoveFlags; -extern u16 gUnknown_02024DEC; -extern u16 gUnknown_02024C34[]; +extern u16 gDynamicBasePower; +extern u16 gLastUsedMove[]; extern u32 gUnknown_02024ACC[]; -extern u32 gUnknown_02024C98[]; -extern u16 gUnknown_02024C7A[]; +extern u32 gStatuses3[]; +extern u16 gSideAffecting[]; extern struct BattlePokemon gBattleMons[]; extern struct BattlePokemon gUnknown_02024A8C[]; -extern u8 gUnknown_030042E0[]; +extern u8 gBattleResults[]; extern u8 gCritMultiplier; extern u16 gTrainerBattleOpponent; extern u8 *BattleAIs[]; @@ -296,7 +296,7 @@ void BattleAI_SetupAIData(void) for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; - r7 = sub_8015A98(gUnknown_02024A60, 0, 0xFF); + r7 = sub_8015A98(gActiveBank, 0, 0xFF); // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves. for (i = 0; i < MAX_MON_MOVES; i++) @@ -309,17 +309,17 @@ void BattleAI_SetupAIData(void) // clear AI stack. AI_STACK->size = 0; - gPlayerMonIndex = gUnknown_02024A60; + gBankAttacker = gActiveBank; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gEnemyMonIndex = Random() & 2; // just pick somebody to target. + gBankTarget = Random() & 2; // just pick somebody to target. - if (gUnknown_02024C0C & gBitTable[gEnemyMonIndex]) - gEnemyMonIndex ^= 2; + if (gAbsentBankFlags & gBitTable[gBankTarget]) + gBankTarget ^= 2; } else - gEnemyMonIndex = gUnknown_02024A60 ^ 1; + gBankTarget = gActiveBank ^ 1; // special AI flag cases. if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -394,13 +394,13 @@ void BattleAI_DoAIProcessing(void) break; case AIState_SettingUp: gAIScriptPtr = BattleAIs[AI_THINKING_STRUCT->aiLogicId]; // set the AI ptr. - if (gBattleMons[gPlayerMonIndex].pp[AI_THINKING_STRUCT->movesetIndex] == 0) + if (gBattleMons[gBankAttacker].pp[AI_THINKING_STRUCT->movesetIndex] == 0) { AI_THINKING_STRUCT->moveConsidered = MOVE_NONE; // don't consider a move you have 0 PP for, idiot. } else { - AI_THINKING_STRUCT->moveConsidered = gBattleMons[gPlayerMonIndex].moves[AI_THINKING_STRUCT->movesetIndex]; + AI_THINKING_STRUCT->moveConsidered = gBattleMons[gBankAttacker].moves[AI_THINKING_STRUCT->movesetIndex]; } AI_THINKING_STRUCT->aiState++; break; @@ -433,9 +433,9 @@ void sub_810745C(void) for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i] == 0) + if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == 0) { - UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i] = gUnknown_02024C34[gEnemyMonIndex]; + UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; return; } } @@ -451,14 +451,14 @@ void unref_sub_81074A0(u8 a) void sub_81074C4(u8 a, u8 b) { - if (battle_side_get_owner(a) == 0) - UNK_2016A00_STRUCT->unk20[battle_get_per_side_status(a) & 1] = b; + if (GetBankSide(a) == 0) + UNK_2016A00_STRUCT->unk20[GetBankIdentity(a) & 1] = b; } void sub_81074F8(u8 a, u8 b) { - if (battle_side_get_owner(a) == 0) - UNK_2016A00_STRUCT->unk22[battle_get_per_side_status(a) & 1] = b; + if (GetBankSide(a) == 0) + UNK_2016A00_STRUCT->unk22[GetBankIdentity(a) & 1] = b; } static void BattleAICmd_if_random_less_than(void) @@ -508,9 +508,9 @@ static void BattleAICmd_if_hp_less_than(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -523,9 +523,9 @@ static void BattleAICmd_if_hp_more_than(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -538,9 +538,9 @@ static void BattleAICmd_if_hp_equal(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -553,9 +553,9 @@ static void BattleAICmd_if_hp_not_equal(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -569,9 +569,9 @@ static void BattleAICmd_if_status(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); @@ -587,9 +587,9 @@ static void BattleAICmd_if_not_status(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); @@ -605,9 +605,9 @@ static void BattleAICmd_if_status2(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); @@ -623,9 +623,9 @@ static void BattleAICmd_if_not_status2(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); @@ -641,13 +641,13 @@ static void BattleAICmd_if_status3(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_02024C98[index] & arg) != 0) + if ((gStatuses3[index] & arg) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -659,13 +659,13 @@ static void BattleAICmd_if_not_status3(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; arg = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_02024C98[index] & arg) == 0) + if ((gStatuses3[index] & arg) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -677,14 +677,14 @@ static void BattleAICmd_if_status4(void) u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - arg1 = battle_get_per_side_status(index) & 1; + arg1 = GetBankIdentity(index) & 1; arg2 = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_02024C7A[arg1] & arg2) != 0) + if ((gSideAffecting[arg1] & arg2) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -696,14 +696,14 @@ static void BattleAICmd_if_not_status4(void) u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - arg1 = battle_get_per_side_status(index) & 1; + arg1 = GetBankIdentity(index) & 1; arg2 = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_02024C7A[arg1] & arg2) == 0) + if ((gSideAffecting[arg1] & arg2) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -871,8 +871,8 @@ static void BattleAICmd_if_user_can_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 - && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) + if (gBattleMons[gBankAttacker].moves[i] != 0 + && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power != 0) break; } if (i == MAX_MON_MOVES) @@ -887,8 +887,8 @@ static void BattleAICmd_if_user_cant_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 - && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) + if (gBattleMons[gBankAttacker].moves[i] != 0 + && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power != 0) break; } if (i != MAX_MON_MOVES) @@ -899,7 +899,7 @@ static void BattleAICmd_if_user_cant_damage(void) static void BattleAICmd_get_turn_count(void) { - AI_THINKING_STRUCT->funcResult = gUnknown_030042E0[19]; + AI_THINKING_STRUCT->funcResult = gBattleResults[19]; gAIScriptPtr += 1; } @@ -908,16 +908,16 @@ static void BattleAICmd_get_type(void) switch (gAIScriptPtr[1]) { case 1: // player primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBankAttacker].type1; break; case 0: // enemy primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gEnemyMonIndex].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type1; break; case 3: // player secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBankAttacker].type2; break; case 2: // enemy secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gEnemyMonIndex].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type2; break; case 4: // type of move being pointed to AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type; @@ -945,7 +945,7 @@ static void BattleAICmd_is_most_powerful_move(void) if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power > 1 && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF) { - gUnknown_02024DEC = 0; + gDynamicBasePower = 0; unk_2000000[0x1601C] = 0; // why is this a manual array? unk_2000000[0x1601F] = 1; gBattleMoveFlags = 0; @@ -955,18 +955,18 @@ static void BattleAICmd_is_most_powerful_move(void) { for (j = 0; sDiscouragedPowerfulMoveEffects[j] != 0xFFFF; j++) { // _08108276 - if (gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) + if (gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) break; } // _081082BA - if (gBattleMons[gPlayerMonIndex].moves[i] + if (gBattleMons[gBankAttacker].moves[i] && sDiscouragedPowerfulMoveEffects[j] == 0xFFFF - && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power > 1) + && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power > 1) { - gUnknown_02024BE6 = gBattleMons[gPlayerMonIndex].moves[i]; - sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); - move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + gCurrentMove = gBattleMons[gBankAttacker].moves[i]; + sub_801CAF8(gBankAttacker, gBankTarget); + move_effectiveness_something(gCurrentMove, gBankAttacker, gBankTarget); damages[i] = (gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[i]) / 100; if (damages[i] == 0) // moves always do at least 1 damage. @@ -1049,7 +1049,7 @@ _08108240:\n\ beq _08108250\n\ b _081083B2\n\ _08108250:\n\ - ldr r0, _08108338 @ =gUnknown_02024DEC\n\ + ldr r0, _08108338 @ =gDynamicBasePower\n\ movs r1, 0\n\ strh r1, [r0]\n\ ldr r2, _0810833C @ =0xfffff81c\n\ @@ -1072,7 +1072,7 @@ _08108276:\n\ movs r3, 0\n\ ldr r5, _08108348 @ =gBattleMons\n\ lsls r4, r6, 1\n\ - ldr r7, _0810834C @ =gPlayerMonIndex\n\ + ldr r7, _0810834C @ =gBankAttacker\n\ lsls r1, r6, 2\n\ mov r8, r1\n\ adds r2, r6, 0x1\n\ @@ -1130,10 +1130,10 @@ _081082BA:\n\ ldrb r0, [r1, 0x1]\n\ cmp r0, 0x1\n\ bls _0810835C\n\ - ldr r5, _08108350 @ =gUnknown_02024BE6\n\ + ldr r5, _08108350 @ =gCurrentMove\n\ strh r2, [r5]\n\ ldrb r0, [r7]\n\ - ldr r4, _08108354 @ =gEnemyMonIndex\n\ + ldr r4, _08108354 @ =gBankTarget\n\ ldrb r1, [r4]\n\ bl sub_801CAF8\n\ ldrh r0, [r5]\n\ @@ -1162,14 +1162,14 @@ _08108328: .4byte sDiscouragedPowerfulMoveEffects\n\ _0810832C: .4byte 0x0000ffff\n\ _08108330: .4byte gBattleMoves\n\ _08108334: .4byte 0x02016800\n\ -_08108338: .4byte gUnknown_02024DEC\n\ +_08108338: .4byte gDynamicBasePower\n\ _0810833C: .4byte 0xfffff81c\n\ _08108340: .4byte gBattleMoveFlags\n\ _08108344: .4byte gCritMultiplier\n\ _08108348: .4byte gBattleMons\n\ -_0810834C: .4byte gPlayerMonIndex\n\ -_08108350: .4byte gUnknown_02024BE6\n\ -_08108354: .4byte gEnemyMonIndex\n\ +_0810834C: .4byte gBankAttacker\n\ +_08108350: .4byte gCurrentMove\n\ +_08108354: .4byte gBankTarget\n\ _08108358: .4byte gBattleMoveDamage\n\ _0810835C:\n\ mov r1, sp\n\ @@ -1243,9 +1243,9 @@ _081083D0: .4byte gAIScriptPtr\n\ static void BattleAICmd_get_move(void) { if (gAIScriptPtr[1] == USER) - AI_THINKING_STRUCT->funcResult = gUnknown_02024C34[gPlayerMonIndex]; + AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBankAttacker]; else - AI_THINKING_STRUCT->funcResult = gUnknown_02024C34[gEnemyMonIndex]; + AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBankTarget]; gAIScriptPtr += 2; } @@ -1268,7 +1268,7 @@ static void BattleAICmd_if_arg_not_equal(void) static void BattleAICmd_if_would_go_first(void) { - if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) == gAIScriptPtr[1]) + if (b_first_side(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1276,7 +1276,7 @@ static void BattleAICmd_if_would_go_first(void) static void BattleAICmd_if_would_not_go_first(void) { - if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) != gAIScriptPtr[1]) + if (b_first_side(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1300,11 +1300,11 @@ static void BattleAICmd_count_alive_pokemon(void) AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - if (battle_side_get_owner(index) == 0) + if (GetBankSide(index) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1312,14 +1312,14 @@ static void BattleAICmd_count_alive_pokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 status; - var = gUnknown_02024A6A[index][0]; - status = battle_get_per_side_status(index) ^ 2; - var2 = gUnknown_02024A6A[battle_get_side_with_given_state(status)][0]; + var = gBattlePartyID[index][0]; + status = GetBankIdentity(index) ^ 2; + var2 = gBattlePartyID[GetBankByPlayerAI(status)][0]; } else { - var = gUnknown_02024A6A[index][0]; - var2 = gUnknown_02024A6A[index][0]; + var = gBattlePartyID[index][0]; + var2 = gBattlePartyID[index][0]; } for (i = 0; i < 6; i++) @@ -1353,13 +1353,13 @@ static void BattleAICmd_get_ability(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - if (battle_side_get_owner(index) == TARGET) + if (GetBankSide(index) == TARGET) { - u16 unk = battle_get_per_side_status(index) & 1; + u16 unk = GetBankIdentity(index) & 1; if (UNK_2016A00_STRUCT->unk20[unk] != 0) { @@ -1414,7 +1414,7 @@ static void BattleAICmd_get_highest_possible_damage(void) { s32 i; - gUnknown_02024DEC = 0; + gDynamicBasePower = 0; BATTLE_STRUCT->unk.unk1 = 0; BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; @@ -1424,11 +1424,11 @@ static void BattleAICmd_get_highest_possible_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { gBattleMoveDamage = 40; - gUnknown_02024BE6 = gBattleMons[gPlayerMonIndex].moves[i]; + gCurrentMove = gBattleMons[gBankAttacker].moves[i]; - if (gUnknown_02024BE6) + if (gCurrentMove) { - move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + move_effectiveness_something(gCurrentMove, gBankAttacker, gBankTarget); // reduce by 1/3. if (gBattleMoveDamage == 120) @@ -1454,16 +1454,16 @@ static void BattleAICmd_if_damage_bonus(void) { u8 damageVar; - gUnknown_02024DEC = 0; + gDynamicBasePower = 0; BATTLE_STRUCT->unk.unk1 = 0; BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; gBattleMoveDamage = 40; - gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; + gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + move_effectiveness_something(gCurrentMove, gBankAttacker, gBankTarget); if (gBattleMoveDamage == 120) gBattleMoveDamage = 80; @@ -1598,9 +1598,9 @@ static void BattleAICmd_if_stat_level_less_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + party = gBankAttacker; else - party = gEnemyMonIndex; + party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1613,9 +1613,9 @@ static void BattleAICmd_if_stat_level_more_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + party = gBankAttacker; else - party = gEnemyMonIndex; + party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1628,9 +1628,9 @@ static void BattleAICmd_if_stat_level_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + party = gBankAttacker; else - party = gEnemyMonIndex; + party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1643,9 +1643,9 @@ static void BattleAICmd_if_stat_level_not_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + party = gBankAttacker; else - party = gEnemyMonIndex; + party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1661,14 +1661,14 @@ static void BattleAICmd_if_can_faint(void) return; } - gUnknown_02024DEC = 0; + gDynamicBasePower = 0; BATTLE_STRUCT->unk.unk1 = 0; BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; - gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; - sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); - move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + gCurrentMove = AI_THINKING_STRUCT->moveConsidered; + sub_801CAF8(gBankAttacker, gBankTarget); + move_effectiveness_something(gCurrentMove, gBankAttacker, gBankTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; @@ -1676,7 +1676,7 @@ static void BattleAICmd_if_can_faint(void) if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[gEnemyMonIndex].hp <= gBattleMoveDamage) + if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1690,20 +1690,20 @@ static void BattleAICmd_if_cant_faint(void) return; } - gUnknown_02024DEC = 0; + gDynamicBasePower = 0; BATTLE_STRUCT->unk.unk1 = 0; BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; - gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; - sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); - move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + gCurrentMove = AI_THINKING_STRUCT->moveConsidered; + sub_801CAF8(gBankAttacker, gBankTarget); + move_effectiveness_something(gCurrentMove, gBankAttacker, gBankTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; // this macro is missing the damage 0 = 1 assumption. - if (gBattleMons[gEnemyMonIndex].hp > gBattleMoveDamage) + if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1720,7 +1720,7 @@ static void BattleAICmd_if_has_move(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) + if (gBattleMons[gBankAttacker].moves[i] == *temp_ptr) break; } if (i == MAX_MON_MOVES) @@ -1732,7 +1732,7 @@ static void BattleAICmd_if_has_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i] == *temp_ptr) + if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) break; } if (i == 8) @@ -1754,7 +1754,7 @@ static void BattleAICmd_if_dont_have_move(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) + if (gBattleMons[gBankAttacker].moves[i] == *temp_ptr) break; } if (i != MAX_MON_MOVES) @@ -1766,7 +1766,7 @@ static void BattleAICmd_if_dont_have_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i] == *temp_ptr) + if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) break; } if (i != 8) @@ -1787,7 +1787,7 @@ static void BattleAICmd_if_move_effect(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != MAX_MON_MOVES) @@ -1799,7 +1799,7 @@ static void BattleAICmd_if_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -1816,7 +1816,7 @@ static void BattleAICmd_if_not_move_effect(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != MAX_MON_MOVES) @@ -1828,7 +1828,7 @@ static void BattleAICmd_if_not_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gEnemyMonIndex >> 1][i]].effect == gAIScriptPtr[2]) + if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr += 7; @@ -1840,13 +1840,13 @@ static void BattleAICmd_if_last_move_did_damage(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; if (gAIScriptPtr[2] == 0) { - if (gUnknown_02024CA8[index].unk4 == 0) + if (gDisableStructs[index].unk4 == 0) { gAIScriptPtr += 7; return; @@ -1859,7 +1859,7 @@ static void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr += 7; return; } - else if (gUnknown_02024CA8[index].unk6 != 0) + else if (gDisableStructs[index].unk6 != 0) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); return; @@ -1872,7 +1872,7 @@ static void BattleAICmd_if_encored(void) switch (gAIScriptPtr[1]) { case 0: // _08109348 - if (gUnknown_02024CA8[gUnknown_02024A60].unk4 == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBank].unk4 == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -1880,7 +1880,7 @@ static void BattleAICmd_if_encored(void) gAIScriptPtr += 6; return; case 1: // _08109370 - if (gUnknown_02024CA8[gUnknown_02024A60].unk6 == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBank].unk6 == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -1919,13 +1919,13 @@ static void BattleAICmd_get_hold_effect(void) u16 status; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - if (battle_side_get_owner(index) == 0) + if (GetBankSide(index) == 0) { - status = (battle_get_per_side_status(index) & 1); + status = (GetBankIdentity(index) & 1); AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status]; } else @@ -1939,9 +1939,9 @@ static void BattleAICmd_get_gender(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[index].species, gBattleMons[index].personality); @@ -1953,11 +1953,11 @@ static void BattleAICmd_is_first_turn(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk16; + AI_THINKING_STRUCT->funcResult = gDisableStructs[index].unk16; gAIScriptPtr += 2; } @@ -1967,11 +1967,11 @@ static void BattleAICmd_get_stockpile_count(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk9; + AI_THINKING_STRUCT->funcResult = gDisableStructs[index].unk9; gAIScriptPtr += 2; } @@ -1988,9 +1988,9 @@ static void BattleAICmd_get_item(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; // this hack and a half matches. whatever. i dont care. someone else fix this mess later. PS: still cant fix this. AI_THINKING_STRUCT->funcResult = ewram[0x160CC + (index * 2)]; @@ -2024,11 +2024,11 @@ static void BattleAICmd_get_protect_count(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = gBankAttacker; else - index = gEnemyMonIndex; + index = gBankTarget; - AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk8; + AI_THINKING_STRUCT->funcResult = gDisableStructs[index].unk8; gAIScriptPtr += 2; } @@ -2079,7 +2079,7 @@ static void BattleAICmd_if_level_compare(void) switch (gAIScriptPtr[1]) { case 0: // greater than - if (gBattleMons[gPlayerMonIndex].level > gBattleMons[gEnemyMonIndex].level) + if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2087,7 +2087,7 @@ static void BattleAICmd_if_level_compare(void) gAIScriptPtr += 6; return; case 1: // less than - if (gBattleMons[gPlayerMonIndex].level < gBattleMons[gEnemyMonIndex].level) + if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2095,7 +2095,7 @@ static void BattleAICmd_if_level_compare(void) gAIScriptPtr += 6; return; case 2: // equal - if (gBattleMons[gPlayerMonIndex].level == gBattleMons[gEnemyMonIndex].level) + if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2107,7 +2107,7 @@ static void BattleAICmd_if_level_compare(void) static void BattleAICmd_if_taunted(void) { - if (gUnknown_02024CA8[gEnemyMonIndex].taunt != 0) + if (gDisableStructs[gBankTarget].taunt != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2115,7 +2115,7 @@ static void BattleAICmd_if_taunted(void) static void BattleAICmd_if_not_taunted(void) { - if (gUnknown_02024CA8[gEnemyMonIndex].taunt == 0) + if (gDisableStructs[gBankTarget].taunt == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; diff --git a/src/battle_anim.c b/src/battle_anim.c index 90e5c97c3..cc856d5cd 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -17,10 +17,10 @@ #define GET_TRUE_SPRITE_INDEX(i) (i - 10000) extern u8 unk_2000000[]; -extern u16 gUnknown_02024A6A[4]; -extern u8 gUnknown_02024BE0[]; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; +extern u16 gBattlePartyID[4]; +extern u8 gObjectBankIDs[]; +extern u8 gBankAttacker; +extern u8 gBankTarget; EWRAM_DATA const u8 *gBattleAnimScriptPtr = NULL; EWRAM_DATA const u8 *gBattleAnimScriptRetAddr = NULL; EWRAM_DATA void (*gAnimScriptCallback)(void) = NULL; @@ -28,11 +28,11 @@ EWRAM_DATA s8 gAnimFramesToWait = 0; EWRAM_DATA u8 gAnimScriptActive = FALSE; EWRAM_DATA u8 gAnimVisualTaskCount = 0; EWRAM_DATA u8 gAnimSoundTaskCount = 0; -EWRAM_DATA u32 gUnknown_0202F7B4 = 0; -EWRAM_DATA u32 gUnknown_0202F7B8 = 0; -EWRAM_DATA u16 gUnknown_0202F7BC = 0; -EWRAM_DATA u8 gUnknown_0202F7BE = 0; -EWRAM_DATA u16 gUnknown_0202F7C0 = 0; +EWRAM_DATA u32 gDisableStructMoveAnim = 0; +EWRAM_DATA u32 gMoveDmgMoveAnim = 0; +EWRAM_DATA u16 gMovePowerMoveAnim = 0; +EWRAM_DATA u8 gHappinessMoveAnim = 0; +EWRAM_DATA u16 gWeatherMoveAnim = 0; EWRAM_DATA u8 gMonAnimTaskIdArray[2] = {0}; EWRAM_DATA u8 gUnknown_0202F7C4 = 0; EWRAM_DATA u8 gUnknown_0202F7C5 = 0; @@ -181,10 +181,10 @@ void battle_anim_clear_some_data(void) gAnimScriptActive = FALSE; gAnimVisualTaskCount = 0; gAnimSoundTaskCount = 0; - gUnknown_0202F7B4 = 0; - gUnknown_0202F7B8 = 0; - gUnknown_0202F7BC = 0; - gUnknown_0202F7BE = 0; + gDisableStructMoveAnim = 0; + gMoveDmgMoveAnim = 0; + gMovePowerMoveAnim = 0; + gHappinessMoveAnim = 0; // clear index array. for (i = 0; i < 8; i++) @@ -206,8 +206,8 @@ void battle_anim_clear_some_data(void) void ExecuteMoveAnim(u16 move) { - gBattleAnimPlayerMonIndex = gPlayerMonIndex; - gBattleAnimEnemyMonIndex = gEnemyMonIndex; + gBattleAnimPlayerMonIndex = gBankAttacker; + gBattleAnimEnemyMonIndex = gBankTarget; DoMoveAnim(gBattleAnims_Moves, move, 1); } @@ -221,10 +221,10 @@ void DoMoveAnim(const u8 *const moveAnims[], u16 move, u8 c) sub_8043EB4(0); for (i = 0; i < 4; i++) { - if (battle_side_get_owner(i) != 0) - gUnknown_0202F7CA[i] = GetMonData(&gEnemyParty[gUnknown_02024A6A[i]], MON_DATA_SPECIES); + if (GetBankSide(i) != 0) + gUnknown_0202F7CA[i] = GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_SPECIES); else - gUnknown_0202F7CA[i] = GetMonData(&gPlayerParty[gUnknown_02024A6A[i]], MON_DATA_SPECIES); + gUnknown_0202F7CA[i] = GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_SPECIES); } } else @@ -689,14 +689,14 @@ static void ScriptCmd_monbg(void) r5 = gBattleAnimEnemyMonIndex; if (b_side_obj__get_some_boolean(r5)) { - r0 = battle_get_per_side_status(r5); + r0 = GetBankIdentity(r5); r0 += 0xFF; if (r0 <= 1 || IsContest() != 0) r7 = 0; else r7 = 1; sub_8076034(r5, r7); - r4 = gUnknown_02024BE0[r5]; + r4 = gObjectBankIDs[r5]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); gTasks[taskId].data[0] = r4; gTasks[taskId].data[1] = gSprites[r4].pos1.x + gSprites[r4].pos2.x; @@ -719,14 +719,14 @@ static void ScriptCmd_monbg(void) r5 ^= 2; if (r6 > 1 && b_side_obj__get_some_boolean(r5)) { - r0 = battle_get_per_side_status(r5); + r0 = GetBankIdentity(r5); r0 += 0xFF; if (r0 <= 1 || IsContest() != 0) r7 = 0; else r7 = 1; sub_8076034(r5, r7); - r4 = gUnknown_02024BE0[r5]; + r4 = gObjectBankIDs[r5]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); gTasks[taskId].data[0] = r4; gTasks[taskId].data[1] = gSprites[r4].pos1.x + gSprites[r4].pos2.x; @@ -764,7 +764,7 @@ bool8 b_side_obj__get_some_boolean(u8 a) return TRUE; // this line wont ever be reached. if ((EWRAM_17800[a].unk0 & 1) == 0) return TRUE; - if (gSprites[gUnknown_02024BE0[a]].invisible) + if (gSprites[gObjectBankIDs[a]].invisible) return FALSE; return TRUE; } @@ -807,7 +807,7 @@ _08075FDC:\n\ cmp r0, 0\n\ beq _0807601C\n\ ldr r2, _08076024 @ =gSprites\n\ - ldr r0, _08076028 @ =gUnknown_02024BE0\n\ + ldr r0, _08076028 @ =gObjectBankIDs\n\ adds r0, r5, r0\n\ ldrb r1, [r0]\n\ lsls r0, r1, 4\n\ @@ -825,7 +825,7 @@ _0807601C:\n\ .align 2, 0\n\ _08076020: .4byte 0x02017800\n\ _08076024: .4byte gSprites\n\ -_08076028: .4byte gUnknown_02024BE0\n\ +_08076028: .4byte gObjectBankIDs\n\ _0807602C:\n\ movs r0, 0\n\ _0807602E:\n\ @@ -873,12 +873,12 @@ void sub_8076034(u8 a, u8 b) REG_BG1CNT_BITFIELD.screenSize = 1; REG_BG1CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gUnknown_02024BE0[a]; + spriteId = gObjectBankIDs[a]; gUnknown_030042C0 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; if (IsContest() != 0 && sub_80AEB1C(EWRAM_19348) != 0) gUnknown_030042C0--; gUnknown_030041B4 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gUnknown_02024BE0[a]].invisible = TRUE; + gSprites[gObjectBankIDs[a]].invisible = TRUE; REG_BG1HOFS = gUnknown_030042C0; REG_BG1VOFS = gUnknown_030041B4; @@ -890,7 +890,7 @@ void sub_8076034(u8 a, u8 b) if (IsContest() != 0) r2 = 0; else - r2 = battle_get_per_side_status(a); + r2 = GetBankIdentity(a); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); if (IsContest() != 0) sub_8076380(); @@ -923,10 +923,10 @@ void sub_8076034(u8 a, u8 b) REG_BG2CNT_BITFIELD.screenSize = 1; REG_BG2CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gUnknown_02024BE0[a]; + spriteId = gObjectBankIDs[a]; gUnknown_03004288 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; gUnknown_03004280 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gUnknown_02024BE0[a]].invisible = TRUE; + gSprites[gObjectBankIDs[a]].invisible = TRUE; REG_BG2HOFS = gUnknown_03004288; REG_BG2VOFS = gUnknown_03004280; @@ -935,7 +935,7 @@ void sub_8076034(u8 a, u8 b) addr3 = (void *)(PLTT + 0x120); DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32); - sub_80E4EF8(0, 0, battle_get_per_side_status(a), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); + sub_80E4EF8(0, 0, GetBankIdentity(a), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); } } @@ -1098,9 +1098,9 @@ static void ScriptCmd_clearmonbg(void) else r5 = gBattleAnimEnemyMonIndex; if (gMonAnimTaskIdArray[0] != 0xFF) - gSprites[gUnknown_02024BE0[r5]].invisible = FALSE; + gSprites[gObjectBankIDs[r5]].invisible = FALSE; if (r4 > 1 && gMonAnimTaskIdArray[1] != 0xFF) - gSprites[gUnknown_02024BE0[r5 ^ 2]].invisible = FALSE; + gSprites[gObjectBankIDs[r5 ^ 2]].invisible = FALSE; else r4 = 0; taskId = CreateTask(sub_807672C, 5); @@ -1117,7 +1117,7 @@ static void sub_807672C(u8 taskId) gTasks[taskId].data[1]++; if (gTasks[taskId].data[1] != 1) { - var = battle_get_per_side_status(gTasks[taskId].data[2]); + var = GetBankIdentity(gTasks[taskId].data[2]); var += 0xFF; if (var <= 1 || IsContest() != 0) r4 = 0; @@ -1158,26 +1158,26 @@ static void ScriptCmd_monbg_22(void) r4 = gBattleAnimEnemyMonIndex; if (b_side_obj__get_some_boolean(r4)) { - r0 = battle_get_per_side_status(r4); + r0 = GetBankIdentity(r4); r0 += 0xFF; if (r0 <= 1 || IsContest() != 0) r1 = 0; else r1 = 1; sub_8076034(r4, r1); - gSprites[gUnknown_02024BE0[r4]].invisible = FALSE; + gSprites[gObjectBankIDs[r4]].invisible = FALSE; } r4 ^= 2; if (r5 > 1 && b_side_obj__get_some_boolean(r4)) { - r0 = battle_get_per_side_status(r4); + r0 = GetBankIdentity(r4); r0 += 0xFF; if (r0 <= 1 || IsContest() != 0) r1 = 0; else r1 = 1; sub_8076034(r4, r1); - gSprites[gUnknown_02024BE0[r4]].invisible = FALSE; + gSprites[gObjectBankIDs[r4]].invisible = FALSE; } gBattleAnimScriptPtr++; } @@ -1199,9 +1199,9 @@ static void ScriptCmd_clearmonbg_23(void) else r6 = gBattleAnimEnemyMonIndex; if (b_side_obj__get_some_boolean(r6)) - gSprites[gUnknown_02024BE0[r6]].invisible = FALSE; + gSprites[gObjectBankIDs[r6]].invisible = FALSE; if (r5 > 1 && b_side_obj__get_some_boolean(r6 ^ 2)) - gSprites[gUnknown_02024BE0[r6 ^ 2]].invisible = FALSE; + gSprites[gObjectBankIDs[r6 ^ 2]].invisible = FALSE; else r5 = 0; taskId = CreateTask(sub_80769A4, 5); @@ -1220,7 +1220,7 @@ static void sub_80769A4(u8 taskId) if (gTasks[taskId].data[1] != 1) { r4 = gTasks[taskId].data[2]; - r0 = battle_get_per_side_status(r4); + r0 = GetBankIdentity(r4); r0 += 0xFF; if (r0 <= 1 || IsContest() != 0) r5 = 0; @@ -1369,7 +1369,7 @@ static void ScriptCmd_fadetobg_25(void) taskId = CreateTask(task_p5_load_battle_screen_elements, 5); if (IsContest() != 0) gTasks[taskId].data[0] = r6; - else if (battle_side_get_owner(gBattleAnimEnemyMonIndex) == 0) + else if (GetBankSide(gBattleAnimEnemyMonIndex) == 0) gTasks[taskId].data[0] = r7; else gTasks[taskId].data[0] = r8; @@ -1493,7 +1493,7 @@ s8 sub_8076F98(s8 a) { if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10)) { - a = battle_side_get_owner(gBattleAnimPlayerMonIndex) ? 0xC0 : 0x3F; + a = GetBankSide(gBattleAnimPlayerMonIndex) ? 0xC0 : 0x3F; } //_08076FDC else @@ -1512,9 +1512,9 @@ s8 sub_8076F98(s8 a) //_08077004 else { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex) == 0) + if (GetBankSide(gBattleAnimPlayerMonIndex) == 0) { - if (battle_side_get_owner(gBattleAnimEnemyMonIndex) == 0) + if (GetBankSide(gBattleAnimEnemyMonIndex) == 0) } //_08077042 else @@ -1551,7 +1551,7 @@ s8 sub_8076F98(s8 a) cmp r0, 0\n\ beq _08076FDC\n\ adds r0, r2, 0\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ movs r4, 0xC0\n\ cmp r0, 0\n\ @@ -1583,13 +1583,13 @@ _08077000: .4byte gBattleAnimEnemyMonIndex\n\ _08077004:\n\ ldr r0, _0807702C @ =gBattleAnimPlayerMonIndex\n\ ldrb r0, [r0]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08077042\n\ ldr r0, _08077030 @ =gBattleAnimEnemyMonIndex\n\ ldrb r0, [r0]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0807706E\n\ @@ -1613,7 +1613,7 @@ _08077034:\n\ _08077042:\n\ ldr r0, _08077064 @ =gBattleAnimEnemyMonIndex\n\ ldrb r0, [r0]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -1661,14 +1661,14 @@ s8 sub_8077094(s8 a) { if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10)) { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex) != 0) + if (GetBankSide(gBattleAnimPlayerMonIndex) != 0) a = 0x3F; else a = 0xC0; } else { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex) != 0 || IsContest() != 0) + if (GetBankSide(gBattleAnimPlayerMonIndex) != 0 || IsContest() != 0) a = -a; } return a; @@ -2129,7 +2129,7 @@ static void ScriptCmd_monbgprio_28(void) r0 = gBattleAnimEnemyMonIndex; else r0 = gBattleAnimPlayerMonIndex; - r4 = battle_get_per_side_status(r0); + r4 = GetBankIdentity(r0); if (!IsContest() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -2155,13 +2155,13 @@ static void ScriptCmd_monbgprio_2A(void) r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (battle_side_get_owner(gBattleAnimPlayerMonIndex) != battle_side_get_owner(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex) != GetBankSide(gBattleAnimEnemyMonIndex)) { if (r6 != 0) r0 = gBattleAnimEnemyMonIndex; else r0 = gBattleAnimPlayerMonIndex; - r4 = battle_get_per_side_status(r0); + r4 = GetBankIdentity(r0); if (!IsContest() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -2207,16 +2207,16 @@ static void ScriptCmd_doublebattle_2D(void) r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && battle_side_get_owner(gBattleAnimPlayerMonIndex) == battle_side_get_owner(gBattleAnimEnemyMonIndex)) + && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex)) { if (r7 == 0) { - r4 = battle_get_per_side_status_permutated(gBattleAnimPlayerMonIndex); + r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex); spriteId = obj_id_for_side_relative_to_move(0); } else { - r4 = battle_get_per_side_status_permutated(gBattleAnimEnemyMonIndex); + r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex); spriteId = obj_id_for_side_relative_to_move(1); } if (spriteId != 0xFF) @@ -2241,16 +2241,16 @@ static void ScriptCmd_doublebattle_2E(void) r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && battle_side_get_owner(gBattleAnimPlayerMonIndex) == battle_side_get_owner(gBattleAnimEnemyMonIndex)) + && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex)) { if (r7 == 0) { - r4 = battle_get_per_side_status_permutated(gBattleAnimPlayerMonIndex); + r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex); spriteId = obj_id_for_side_relative_to_move(0); } else { - r4 = battle_get_per_side_status_permutated(gBattleAnimEnemyMonIndex); + r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex); spriteId = obj_id_for_side_relative_to_move(1); } if (spriteId != 0xFF && r4 == 2) diff --git a/src/battle_anim_80A7E7C.c b/src/battle_anim_80A7E7C.c index 12b53d7d9..34c11a352 100644 --- a/src/battle_anim_80A7E7C.c +++ b/src/battle_anim_80A7E7C.c @@ -10,9 +10,9 @@ extern s16 gBattleAnimArgs[8]; -extern u8 gUnknown_02024BE0[]; -extern s32 gUnknown_0202F7B8; -extern u16 gUnknown_0202F7BC; +extern u8 gObjectBankIDs[]; +extern s32 gMoveDmgMoveAnim; +extern u16 gMovePowerMoveAnim; extern u8 gBattleAnimPlayerMonIndex; extern u8 gBattleAnimEnemyMonIndex; @@ -109,28 +109,28 @@ void sub_80A7FA0(u8 task) switch (gBattleAnimArgs[0]) { case 4: - side = battle_get_side_with_given_state(0); + side = GetBankByPlayerAI(0); break; case 5: - side = battle_get_side_with_given_state(2); + side = GetBankByPlayerAI(2); break; case 6: - side = battle_get_side_with_given_state(1); + side = GetBankByPlayerAI(1); break; case 7: default: - side = battle_get_side_with_given_state(3); + side = GetBankByPlayerAI(3); break; } if (b_side_obj__get_some_boolean(side) == FALSE) { r6 = 1; } - sprite = gUnknown_02024BE0[side]; + sprite = gObjectBankIDs[side]; } else { - sprite = gUnknown_02024BE0[gBattleAnimPlayerMonIndex]; + sprite = gObjectBankIDs[gBattleAnimPlayerMonIndex]; } if (r6) { @@ -329,7 +329,7 @@ static void sub_80A8488(u8 task) void sub_80A8500(u8 task) { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -339,7 +339,7 @@ void sub_80A8500(u8 task) void sub_80A8530(struct Sprite *sprite) { sprite->invisible = TRUE; - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->data1 = -gBattleAnimArgs[1]; } @@ -349,7 +349,7 @@ void sub_80A8530(struct Sprite *sprite) } sprite->data0 = gBattleAnimArgs[0]; sprite->data2 = 0; - sprite->data3 = gUnknown_02024BE0[gBattleAnimPlayerMonIndex]; + sprite->data3 = gObjectBankIDs[gBattleAnimPlayerMonIndex]; sprite->data4 = gBattleAnimArgs[0]; oamt_set_x3A_32(sprite, sub_80A85A4); sprite->callback = sub_8078458; @@ -391,11 +391,11 @@ void sub_80A8638(struct Sprite *sprite) int spriteId; if (!gBattleAnimArgs[0]) { - spriteId = gUnknown_02024BE0[gBattleAnimPlayerMonIndex]; + spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex]; } else { - spriteId = gUnknown_02024BE0[gBattleAnimEnemyMonIndex]; + spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex]; } sprite->data0 = gBattleAnimArgs[2]; sprite->data1 = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; @@ -464,8 +464,8 @@ void sub_80A8764(struct Sprite *sprite) { v1 = gBattleAnimEnemyMonIndex; } - spriteId = gUnknown_02024BE0[v1]; - if (battle_side_get_owner(v1)) + spriteId = gObjectBankIDs[v1]; + if (GetBankSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -500,8 +500,8 @@ void sub_80A8818(struct Sprite *sprite) { v1 = gBattleAnimEnemyMonIndex; } - spriteId = gUnknown_02024BE0[v1]; - if (battle_side_get_owner(v1)) + spriteId = gObjectBankIDs[v1]; + if (GetBankSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -542,7 +542,7 @@ void sub_80A8920(u8 task) { s16 r7; r7 = 0x8000 / gBattleAnimArgs[3]; - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; @@ -609,7 +609,7 @@ void sub_80A8A80(u8 task) DestroyAnimVisualTask(task); return; } - spriteId = gUnknown_02024BE0[gBattleAnimPlayerMonIndex ^ 2]; + spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex ^ 2]; break; case 3: if (!b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) @@ -617,14 +617,14 @@ void sub_80A8A80(u8 task) DestroyAnimVisualTask(task); return; } - spriteId = gUnknown_02024BE0[gBattleAnimEnemyMonIndex ^ 2]; + spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex ^ 2]; break; default: DestroyAnimVisualTask(task); return; } TASK.data[0] = spriteId; - if (battle_side_get_owner(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimEnemyMonIndex)) { TASK.data[1] = gBattleAnimArgs[1]; } @@ -649,7 +649,7 @@ static void sub_80A8B3C(u8 task) void sub_80A8B88(u8 task) { u8 spriteId; - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -688,7 +688,7 @@ static void sub_80A8C0C(u8 task) } else { - if (battle_side_get_owner(TASK.data[5]) == 0) + if (GetBankSide(TASK.data[5]) == 0) { gSprites[spriteId].pos2.y = (y >= 0) ? y : -y; } @@ -778,11 +778,11 @@ void sub_80A8E04(u8 task) { if (gBattleAnimArgs[2] == 0) { - TASK.data[7] = !battle_side_get_owner(gBattleAnimPlayerMonIndex); + TASK.data[7] = !GetBankSide(gBattleAnimPlayerMonIndex); } else { - TASK.data[7] = !battle_side_get_owner(gBattleAnimEnemyMonIndex); + TASK.data[7] = !GetBankSide(gBattleAnimEnemyMonIndex); } } if (TASK.data[7]) @@ -805,14 +805,14 @@ void sub_80A8EFC(u8 task) TASK.data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[2] == 0) { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } } else { - if (battle_side_get_owner(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimEnemyMonIndex)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -865,7 +865,7 @@ void sub_80A9058(u8 task) { if (!gBattleAnimArgs[0]) { - TASK.data[15] = gUnknown_0202F7BC / 12; + TASK.data[15] = gMovePowerMoveAnim / 12; if (TASK.data[15] < 1) { TASK.data[15] = 1; @@ -877,7 +877,7 @@ void sub_80A9058(u8 task) } else { - TASK.data[15] = gUnknown_0202F7B8 / 12; + TASK.data[15] = gMoveDmgMoveAnim / 12; if (TASK.data[15] < 1) { TASK.data[15] = 1; diff --git a/src/battle_anim_81258BC.c b/src/battle_anim_81258BC.c index fe4e9bd38..5bdbb4946 100644 --- a/src/battle_anim_81258BC.c +++ b/src/battle_anim_81258BC.c @@ -6,14 +6,14 @@ #include "text.h" extern struct Window gUnknown_03004210; -extern u8 gUnknown_020238CC[]; -extern u8 gUnknown_02024E60[]; +extern u8 gDisplayedStringBattle[]; +extern u8 gActionSelectionCursor[]; extern const u8 gUnknown_08400CBB[]; -extern u8 gUnknown_02024A60; +extern u8 gActiveBank; extern const u8 gUnknown_08400D15[]; -extern void *gUnknown_03004330[]; +extern void *gBattleBankFunc[]; extern u16 gUnknown_030042A0; extern u16 gUnknown_030042A4; @@ -31,7 +31,7 @@ void sub_812BB10(void) { gUnknown_03004210.paletteNum = 0; FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); - gUnknown_03004330[gUnknown_02024A60] = bx_battle_menu_t6_2; + gBattleBankFunc[gActiveBank] = bx_battle_menu_t6_2; InitWindow(&gUnknown_03004210, gUnknown_08400D15, 400, 18, 35); sub_8002F44(&gUnknown_03004210); @@ -42,9 +42,9 @@ void sub_812BB10(void) { nullsub_8(i); } - sub_802E3E4(gUnknown_02024E60[gUnknown_02024A60], 0); - get_battle_strings_((u8 *) gUnknown_08400CBB); + sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CBB); - InitWindow(&gUnknown_03004210, gUnknown_020238CC, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); + InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); }
\ No newline at end of file diff --git a/src/battle_interface.c b/src/battle_interface.c index 042861c22..246bda62b 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -34,11 +34,11 @@ extern u8 ewram[]; #define ewram16089 (*(u8 *) (ewram + 0x16089)) #define ewram17850 ((struct UnknownStruct5 *)(ewram + 0x17850)) -extern u8 gUnknown_020238CC[]; -extern u8 gUnknown_02024A68; -extern u16 gUnknown_02024A6A[]; -extern u8 gUnknown_02024A72[]; -extern u8 gUnknown_03004340[]; +extern u8 gDisplayedStringBattle[]; +extern u8 gNoOfAllBanks; +extern u16 gBattlePartyID[]; +extern u8 gBanksBySide[]; +extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; @@ -424,7 +424,7 @@ u8 battle_make_oam_normal_battle(u8 a) if (!IsDoubleBattle()) { - if (battle_side_get_owner(a) == 0) + if (GetBankSide(a) == 0) { spriteId1 = CreateSprite(&gSpriteTemplate_820A4EC[0], 240, 160, 1); spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[0], 240, 160, 1); @@ -450,10 +450,10 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043A28 else { - if (battle_side_get_owner(a) == 0) + if (GetBankSide(a) == 0) { - spriteId1 = CreateSprite(&gSpriteTemplate_820A4EC[battle_get_per_side_status(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[battle_get_per_side_status(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplate_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data5 = spriteId1; @@ -464,8 +464,8 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043ACC else { - spriteId1 = CreateSprite(&gSpriteTemplate_820A51C[battle_get_per_side_status(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A51C[battle_get_per_side_status(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplate_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data5 = spriteId1; @@ -477,9 +477,9 @@ u8 battle_make_oam_normal_battle(u8 a) } //_08043B50 - spriteId3 = CreateSpriteAtEnd(&gSpriteTemplate_820A56C[gUnknown_02024A72[a]], 140, 60, 0); + spriteId3 = CreateSpriteAtEnd(&gSpriteTemplate_820A56C[gBanksBySide[a]], 140, 60, 0); sprite = &gSprites[spriteId3]; - SetSubspriteTables(sprite, &gSubspriteTables_820A684[battle_side_get_owner(a)]); + SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64); @@ -592,13 +592,13 @@ void sub_8043EB4(u8 priority) { s32 i; - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { u8 spriteId1; u8 spriteId2; u8 spriteId3; - spriteId1 = gUnknown_03004340[i]; + spriteId1 = gHealthboxIDs[i]; spriteId2 = gSprites[spriteId1].oam.affineParam; spriteId3 = gSprites[spriteId1].data5; gSprites[spriteId1].oam.priority = priority; @@ -614,7 +614,7 @@ void sub_8043F44(u8 a) if (!IsDoubleBattle()) { - if (battle_side_get_owner(a) != 0) + if (GetBankSide(a) != 0) { x = 44; y = 30; @@ -627,7 +627,7 @@ void sub_8043F44(u8 a) } else { - switch (battle_get_per_side_status(a)) + switch (GetBankIdentity(a)) { case 0: x = 159; @@ -647,7 +647,7 @@ void sub_8043F44(u8 a) break; } } - sub_8043E50(gUnknown_03004340[a], x, y); + sub_8043E50(gHealthboxIDs[a], x, y); } #if ENGLISH @@ -668,14 +668,14 @@ static void sub_8043FC0(u8 a, u8 b) memcpy(str, gUnknown_0820A81C, sizeof(str)); if (!IsDoubleBattle()) { - if (battle_side_get_owner(gSprites[a].data6) == 0) + if (GetBankSide(gSprites[a].data6) == 0) r7 = gUnknown_0820A804; else r7 = gUnknown_0820A80C; } else { - if (battle_side_get_owner(gSprites[a].data6) == 0) + if (GetBankSide(gSprites[a].data6) == 0) r7 = gUnknown_0820A814; else r7 = gUnknown_0820A80C; @@ -725,7 +725,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) memcpy(str, gUnknown_0820A864, sizeof(str)); foo = gSprites[a].data6; - if (IsDoubleBattle() == TRUE || battle_side_get_owner(foo) == 1) + if (IsDoubleBattle() == TRUE || GetBankSide(foo) == 1) { //_08044136 sub_8044210(a, b, c); @@ -735,7 +735,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) ptr = str + 6; if (c == 0) { - if (battle_side_get_owner(gSprites[a].data6) == 0) + if (GetBankSide(gSprites[a].data6) == 0) r4 = gUnknown_0820A83C; else r4 = gUnknown_0820A848; @@ -747,7 +747,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) } else { - if (battle_side_get_owner(gSprites[a].data6) == 0) + if (GetBankSide(gSprites[a].data6) == 0) r4 = gUnknown_0820A854; else r4 = gUnknown_0820A85C; @@ -797,7 +797,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) beq _08044136\n\ lsls r0, r5, 24\n\ lsrs r0, 24\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -821,7 +821,7 @@ _0804414C:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ ldr r4, _08044188 @ =gUnknown_0820A848\n\ cmp r0, 0\n\ @@ -849,7 +849,7 @@ _08044190:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ ldr r4, _080441FC @ =gUnknown_0820A85C\n\ cmp r0, 0\n\ @@ -938,7 +938,7 @@ static void sub_8044210(u8 a, s16 b, u8 c) r7 = gUnknown_0820A894; r10 = 2; sub_8003504(ptr, b, 0xF, 1); - if (battle_side_get_owner(r4) == 0) + if (GetBankSide(r4) == 0) { CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32); } @@ -964,7 +964,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) // TODO: make this a local variable memcpy(str, gUnknown_0820A864, sizeof(str)); - r6 = ewram520[battle_get_per_side_status(gSprites[a].data6)].filler0; + r6 = ewram520[GetBankIdentity(gSprites[a].data6)].filler0; r8 = 5; nature = GetNature(pkmn); StringCopy(str + 6, gNatureNames[nature]); @@ -1048,7 +1048,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) ldrh r0, [r0, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl battle_get_per_side_status\n\ + bl GetBankIdentity\n\ lsls r0, 24\n\ lsrs r0, 24\n\ lsls r1, r0, 1\n\ @@ -1287,17 +1287,17 @@ void sub_804454C(void) s32 i; u8 spriteId; - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { - if (gSprites[gUnknown_03004340[i]].callback == SpriteCallbackDummy - && battle_side_get_owner(i) != 1 - && (IsDoubleBattle() || battle_side_get_owner(i) != 0)) + if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy + && GetBankSide(i) != 1 + && (IsDoubleBattle() || GetBankSide(i) != 0)) { u8 r6; ewram17800[i].unk0_4 ^= 1; r6 = ewram17800[i].unk0_4; - if (battle_side_get_owner(i) == 0) + if (GetBankSide(i) == 0) { if (!IsDoubleBattle()) @@ -1307,17 +1307,17 @@ void sub_804454C(void) if (r6 == 1) { - spriteId = gSprites[gUnknown_03004340[i]].data5; + spriteId = gSprites[gHealthboxIDs[i]].data5; CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); - sub_8044210(gUnknown_03004340[i], GetMonData(&gPlayerParty[gUnknown_02024A6A[i]], MON_DATA_HP), 0); - sub_8044210(gUnknown_03004340[i], GetMonData(&gPlayerParty[gUnknown_02024A6A[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } else { - draw_status_ailment_maybe(gUnknown_03004340[i]); - sub_8045A5C(gUnknown_03004340[i], &gPlayerParty[gUnknown_02024A6A[i]], 5); - CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gUnknown_03004340[i]].oam.tileNum * 32), 32); + draw_status_ailment_maybe(gHealthboxIDs[i]); + sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); + CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32); } } else @@ -1326,26 +1326,26 @@ void sub_804454C(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_8044338(gUnknown_03004340[i], &gEnemyParty[gUnknown_02024A6A[i]]); + sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]]); } else { - spriteId = gSprites[gUnknown_03004340[i]].data5; + spriteId = gSprites[gHealthboxIDs[i]].data5; CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); - sub_8044210(gUnknown_03004340[i], GetMonData(&gEnemyParty[gUnknown_02024A6A[i]], MON_DATA_HP), 0); - sub_8044210(gUnknown_03004340[i], GetMonData(&gEnemyParty[gUnknown_02024A6A[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } } else { - draw_status_ailment_maybe(gUnknown_03004340[i]); - sub_8045A5C(gUnknown_03004340[i], &gEnemyParty[gUnknown_02024A6A[i]], 5); + draw_status_ailment_maybe(gHealthboxIDs[i]); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 5); if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gUnknown_03004340[i], &gEnemyParty[gUnknown_02024A6A[i]], 4); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 4); } } - gSprites[gUnknown_03004340[i]].data7 ^= 1; + gSprites[gHealthboxIDs[i]].data7 ^= 1; } } } @@ -1366,9 +1366,9 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) u8 sp18; u8 taskId; - if (c == 0 || battle_get_per_side_status(a) != 3) + if (c == 0 || GetBankIdentity(a) != 3) { - if (battle_side_get_owner(a) == 0) + if (GetBankSide(a) == 0) { r7 = 0; x = 136; @@ -1461,7 +1461,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) gSprites[sp[i]].data2 = r7; } //_08044A76 - if (battle_side_get_owner(a) == 0) + if (GetBankSide(a) == 0) { for (i = 0; i < 6; i++) //_08044A9A { @@ -1582,14 +1582,14 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) str r3, [sp, 0x10]\n\ cmp r4, 0\n\ beq _08044834\n\ - bl battle_get_per_side_status\n\ + bl GetBankIdentity\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x3\n\ beq _08044878\n\ _08044834:\n\ ldr r0, [sp, 0x8]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044854\n\ @@ -1871,7 +1871,7 @@ _08044A56:\n\ b _08044970\n\ _08044A76:\n\ ldr r0, [sp, 0x8]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044B5E\n\ @@ -2177,7 +2177,7 @@ void sub_8044CA0(u8 taskId) { for (i = 0; i < 6; i++) { - if (battle_side_get_owner(sp8) != 0) + if (GetBankSide(sp8) != 0) { gSprites[sp[5 - i]].data1 = 7 * i; gSprites[sp[5 - i]].data3 = 0; @@ -2375,10 +2375,10 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) s32 _7; u8 *const *r1; - StringCopy(gUnknown_020238CC, gUnknown_0820A8B0); + StringCopy(gDisplayedStringBattle, gUnknown_0820A8B0); GetMonData(pkmn, MON_DATA_NICKNAME, nickname); StringGetEnd10(nickname); - ptr = StringCopy(gUnknown_020238CC + 3, nickname); + ptr = StringCopy(gDisplayedStringBattle + 3, nickname); ptr[0] = EXT_CTRL_CODE_BEGIN; ptr[1] = 3; ptr[2] = 2; @@ -2414,15 +2414,15 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) ptr[1] = 0x13; ptr[2] = 0x37; ptr[3] = EOS; - ptr = (u8 *)0x02000520 + battle_get_per_side_status(gSprites[a].data6) * 0x180; - sub_80034D4(ptr, gUnknown_020238CC); + ptr = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180; + sub_80034D4(ptr, gDisplayedStringBattle); i = 0; _7 = 7; if (GetMonData(pkmn, MON_DATA_LANGUAGE) == 1 && GetMonData(pkmn, MON_DATA_IS_EGG) == 0) { - u8 *p = gUnknown_020238CC; + u8 *p = gDisplayedStringBattle; while (*p != EOS) { @@ -2451,7 +2451,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) for (; i < _7; i++) CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32); - if (battle_side_get_owner(gSprites[a].data6) == 0 && !IsDoubleBattle()) + if (GetBankSide(gSprites[a].data6) == 0 && !IsDoubleBattle()) { r1 = (u8 *const *)gUnknown_0820A8B4; for (i = 0; i < _7; i++) @@ -2469,7 +2469,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) } else { - if (battle_side_get_owner(gSprites[a].data6) == 0) + if (GetBankSide(gSprites[a].data6) == 0) r1 = (u8 *const *)gUnknown_0820A904; else r1 = (u8 *const *)gUnknown_0820A8DC; @@ -2498,9 +2498,9 @@ static void sub_8045458(u8 a, u8 b) return; r4 = gSprites[a].data6; - if (battle_side_get_owner(r4) != 0) + if (GetBankSide(r4) != 0) { - u16 species = GetMonData(&gEnemyParty[gUnknown_02024A6A[r4]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { r4 = gSprites[a].data5; @@ -2525,9 +2525,9 @@ static void draw_status_ailment_maybe(u8 a) r7 = gSprites[a].data6; r10 = gSprites[a].data5; - if (battle_side_get_owner(r7) == 0) + if (GetBankSide(r7) == 0) { - r4 = GetMonData(&gPlayerParty[gUnknown_02024A6A[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gPlayerParty[gBattlePartyID[r7]], MON_DATA_STATUS); if (!IsDoubleBattle()) r8 = 0x1A; else @@ -2535,7 +2535,7 @@ static void draw_status_ailment_maybe(u8 a) } else { - r4 = GetMonData(&gEnemyParty[gUnknown_02024A6A[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gEnemyParty[gBattlePartyID[r7]], MON_DATA_STATUS); r8 = 0x11; } if (r4 & 7) @@ -2583,7 +2583,7 @@ static void draw_status_ailment_maybe(u8 a) FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96); - if (IsDoubleBattle() == TRUE || battle_side_get_owner(r7) == TRUE) + if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { @@ -2662,7 +2662,7 @@ static void sub_80458B0(u8 a) s32 r7; u8 *addr; - r6 = (u8 *)0x02000520 + battle_get_per_side_status(gSprites[a].data6) * 0x180; + r6 = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180; r8 = 7; sub_80034D4(r6, BattleText_SafariBalls); for (i = 0; i < r8; i++) @@ -2687,13 +2687,13 @@ static void sub_8045998(u8 a) s32 r6; s32 i; - r7 = StringCopy(gUnknown_020238CC, BattleText_SafariBallsLeft); + r7 = StringCopy(gDisplayedStringBattle, BattleText_SafariBallsLeft); r7 = sub_8003504(r7, gNumSafariBalls, 10, 1); StringAppend(r7, BattleText_HighlightRed); - status = battle_get_per_side_status(gSprites[a].data6); + status = GetBankIdentity(gSprites[a].data6); r7 = (u8 *)0x02000520 + status * 0x180; r6 = 5; - sub_80034D4(r7, gUnknown_020238CC); + sub_80034D4(r7, gDisplayedStringBattle); r7 = (u8 *)0x02000520 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { @@ -2709,7 +2709,7 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) u32 currhp; r10 = gSprites[a].data6; - if (battle_side_get_owner(r10) == 0) + if (GetBankSide(r10) == 0) { if (c == 3 || c == 0) sub_8043FC0(a, GetMonData(pkmn, MON_DATA_LEVEL)); @@ -2828,7 +2828,7 @@ static void sub_8045D58(u8 a, u8 b) break; case 1: sub_804602C(ewram17850[a].unk4, ewram17850[a].unk8, ewram17850[a].unkC, &ewram17850[a].unk10, sp8, 8); - r0 = GetMonData(&gPlayerParty[gUnknown_02024A6A[a]], MON_DATA_LEVEL); + r0 = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_LEVEL); if (r0 == 100) { for (i = 0; i < 8; i++) diff --git a/src/battle_party_menu.c b/src/battle_party_menu.c index c02290e80..96b68adba 100644 --- a/src/battle_party_menu.c +++ b/src/battle_party_menu.c @@ -44,9 +44,9 @@ struct Unk201B000 extern u16 gScriptItemId; extern u8 gPlayerPartyCount; -extern u8 gUnknown_02024A68; -extern u16 gUnknown_02024A6A[]; -extern u8 gUnknown_02024E6C; +extern u8 gNoOfAllBanks; +extern u16 gBattlePartyID[]; +extern u8 gBankInMenu; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; extern u8 gUnknown_0202E8F6; @@ -135,7 +135,7 @@ static void sub_8094998(u8 arg[3], u8 player_number) if (!IsDoubleBattle()) { pos = 1; - *temp = gUnknown_02024A6A[battle_get_side_with_given_state(0)]; + *temp = gBattlePartyID[GetBankByPlayerAI(0)]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -143,8 +143,8 @@ static void sub_8094998(u8 arg[3], u8 player_number) else { pos = 2; - *temp = gUnknown_02024A6A[battle_get_side_with_given_state(0)]; - temp[1] = gUnknown_02024A6A[battle_get_side_with_given_state(2)]; + *temp = gBattlePartyID[GetBankByPlayerAI(0)]; + temp[1] = gBattlePartyID[GetBankByPlayerAI(2)]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -158,15 +158,15 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) { int i, j; u8 temp[6]; - if (!battle_side_get_owner(arg3)) + if (!GetBankSide(arg3)) { - i = battle_get_side_with_given_state(0); - j = battle_get_side_with_given_state(2); + i = GetBankByPlayerAI(0); + j = GetBankByPlayerAI(2); } else { - i = battle_get_side_with_given_state(1); - j = battle_get_side_with_given_state(3); + i = GetBankByPlayerAI(1); + j = GetBankByPlayerAI(3); } if (IsLinkDoubleBattle() == TRUE) { @@ -188,7 +188,7 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) if (!IsDoubleBattle()) { int pos = 1; - *temp = gUnknown_02024A6A[i]; + *temp = gBattlePartyID[i]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -196,8 +196,8 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) else { int pos = 2; - *temp = gUnknown_02024A6A[i]; - temp[1] = gUnknown_02024A6A[j]; + *temp = gBattlePartyID[i]; + temp[1] = gBattlePartyID[j]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -674,10 +674,10 @@ static void Task_BattlePartyMenuShift(u8 taskId) gTasks[taskId].func = Task_80954C0; return; } - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { - if (battle_side_get_owner(i) == 0 - && sub_8094C20(partySelection) == gUnknown_02024A6A[i]) + if (GetBankSide(i) == 0 + && sub_8094C20(partySelection) == gBattlePartyID[i]) { sub_806D5A4(); GetMonNickname(&gPlayerParty[partySelection], gStringVar1); @@ -715,10 +715,10 @@ static void Task_BattlePartyMenuShift(u8 taskId) if (gUnknown_02038473 == 2) { u8 r0; - u8 r4 = gUnknown_02024E6C; + u8 r4 = gBankInMenu; sub_806D5A4(); - r0 = pokemon_order_func(gUnknown_02024A6A[r4]); + r0 = pokemon_order_func(gBattlePartyID[r4]); GetMonNickname(&gPlayerParty[r0], gStringVar1); StringExpandPlaceholders(gStringVar4, gOtherText_CantBeSwitched); sub_806E834(gStringVar4, 0); @@ -727,7 +727,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) } gUnknown_0202E8F5 = sub_8094C20(partySelection); gUnknown_0202E8F4 = 1; - r4 = pokemon_order_func(gUnknown_02024A6A[gUnknown_02024E6C]); + r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]); sub_8094C98(r4, partySelection); sub_806E6F0(&gPlayerParty[r4], &gPlayerParty[partySelection]); gTasks[taskId].func = Task_809527C; diff --git a/src/battle_setup.c b/src/battle_setup.c index e4e83dfa1..adcbe8eaa 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -49,7 +49,7 @@ EWRAM_DATA u8 *gTrainerBattleEndScript = NULL; extern u16 gBattleTypeFlags; extern u16 gScriptLastTalked; -extern u8 gUnknown_02024D26; +extern u8 gBattleOutcome; extern struct MapObject gMapObjects[]; @@ -574,7 +574,7 @@ void HandleWildBattleEnd(void) CpuFill16(0, (void *)BG_PLTT, BG_PLTT_SIZE); ResetOamRange(0, 128); - if (battle_exit_is_player_defeat(gUnknown_02024D26) == TRUE) + if (battle_exit_is_player_defeat(gBattleOutcome) == TRUE) { SetMainCallback2(CB2_WhiteOut); } @@ -590,7 +590,7 @@ void HandleScriptedWildBattleEnd(void) CpuFill16(0, (void *)BG_PLTT, BG_PLTT_SIZE); ResetOamRange(0, 128); - if (battle_exit_is_player_defeat(gUnknown_02024D26) == TRUE) + if (battle_exit_is_player_defeat(gBattleOutcome) == TRUE) SetMainCallback2(CB2_WhiteOut); else SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); @@ -1051,7 +1051,7 @@ void sub_808260C(void) { SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); // link battle? } - else if (battle_exit_is_player_defeat(gUnknown_02024D26) == TRUE) + else if (battle_exit_is_player_defeat(gBattleOutcome) == TRUE) { SetMainCallback2(CB2_WhiteOut); } @@ -1068,7 +1068,7 @@ void do_choose_name_or_words_screen(void) { SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); // link battle? } - else if (battle_exit_is_player_defeat(gUnknown_02024D26) == TRUE) + else if (battle_exit_is_player_defeat(gBattleOutcome) == TRUE) { SetMainCallback2(CB2_WhiteOut); } diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c index f3799ab66..ae60e30fe 100644 --- a/src/calculate_base_damage.c +++ b/src/calculate_base_damage.c @@ -23,8 +23,8 @@ extern struct SecretBaseRecord gSecretBaseRecord; extern u32 dword_2017100[]; extern u16 gBattleTypeFlags; extern struct BattlePokemon gBattleMons[4]; -extern u16 gUnknown_02024BE6; -extern u8 byte_2024C06; +extern u16 gCurrentMove; +extern u8 gLastUsedAbility; extern u8 gCritMultiplier; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -103,7 +103,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(BADGE01_GET) - && !battle_side_get_owner(a7)) + && !GetBankSide(a7)) attack = (110 * attack) / 100; if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -111,7 +111,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(BADGE05_GET) - && !battle_side_get_owner(a8)) + && !GetBankSide(a8)) defense = (110 * defense) / 100; if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -119,7 +119,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(BADGE07_GET) - && !battle_side_get_owner(a7)) + && !GetBankSide(a7)) spAttack = (110 * spAttack) / 100; if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -127,7 +127,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(BADGE07_GET) - && !battle_side_get_owner(a8)) + && !GetBankSide(a8)) spDefense = (110 * spDefense) / 100; } } @@ -167,17 +167,17 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de spAttack /= 2; if (attacker->ability == ABILITY_HUSTLE) attack = (150 * attack) / 100; - if (attacker->ability == ABILITY_PLUS && sub_8018324(0xE, 0, ABILITY_MINUS, 0, 0)) + if (attacker->ability == ABILITY_PLUS && AbilityBattleEffects(0xE, 0, ABILITY_MINUS, 0, 0)) spAttack = (150 * spAttack) / 100; - if (attacker->ability == ABILITY_MINUS && sub_8018324(0xE, 0, ABILITY_PLUS, 0, 0)) + if (attacker->ability == ABILITY_MINUS && AbilityBattleEffects(0xE, 0, ABILITY_PLUS, 0, 0)) spAttack = (150 * spAttack) / 100; if (attacker->ability == ABILITY_GUTS && attacker->status1) attack = (150 * attack) / 100; if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1) defense = (150 * defense) / 100; - if (type == TYPE_ELECTRIC && sub_8018324(0xE, 0, 0, 0xFD, 0)) + if (type == TYPE_ELECTRIC && AbilityBattleEffects(0xE, 0, 0, 0xFD, 0)) gBattleMovePower /= 2; - if (type == TYPE_FIRE && sub_8018324(0xE, 0, 0, 0xFE, 0)) + if (type == TYPE_FIRE && AbilityBattleEffects(0xE, 0, 0, 0xFE, 0)) gBattleMovePower /= 2; if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3)) gBattleMovePower = (150 * gBattleMovePower) / 100; @@ -187,7 +187,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de gBattleMovePower = (150 * gBattleMovePower) / 100; if (type == TYPE_BUG && attacker->ability == ABILITY_SWARM && attacker->hp <= (attacker->maxHP / 3)) gBattleMovePower = (150 * gBattleMovePower) / 100; - if (gBattleMoves[gUnknown_02024BE6].effect == 7) + if (gBattleMoves[gCurrentMove].effect == 7) defense /= 2; if (type < TYPE_MYSTERY) // is physical? @@ -221,13 +221,13 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((a4 & 1) && gCritMultiplier == 1) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && sub_803C348(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMons(2) == 2) damage = 2 * (damage / 3); else damage /= 2; } - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMons(2) == 2) damage /= 2; // moves always do at least 1 damage. @@ -266,17 +266,17 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((a4 & 2) && gCritMultiplier == 1) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && sub_803C348(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMons(2) == 2) damage = 2 * (damage / 3); else damage /= 2; } - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMons(2) == 2) damage /= 2; // are effects of weather negated with cloud nine or air lock? - if (!sub_8018324(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !sub_8018324(0xE, 0, ABILITY_AIR_LOCK, 0, 0)) + if (!AbilityBattleEffects(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(0xE, 0, ABILITY_AIR_LOCK, 0, 0)) { // rain? if (gBattleWeather & 1) @@ -288,7 +288,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // does lack of sun half solar beam damage? - if ((gBattleWeather & 0x9F) && gUnknown_02024BE6 == 76) + if ((gBattleWeather & 0x9F) && gCurrentMove == 76) damage /= 2; // sunny? @@ -485,7 +485,7 @@ _0803BB5E:\n\ cmp r0, 0\n\ beq _0803BB98\n\ ldr r0, [sp, 0x10]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0803BB98\n\ @@ -518,7 +518,7 @@ _0803BB98:\n\ cmp r0, 0\n\ beq _0803BBE2\n\ adds r0, r4, 0\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0803BBE2\n\ @@ -553,7 +553,7 @@ _0803BBE2:\n\ cmp r0, 0\n\ beq _0803BC2E\n\ ldr r0, [sp, 0x10]\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0803BC2E\n\ @@ -589,7 +589,7 @@ _0803BC2E:\n\ cmp r0, 0\n\ beq _0803BC78\n\ adds r0, r4, 0\n\ - bl battle_side_get_owner\n\ + bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0803BC78\n\ @@ -807,7 +807,7 @@ _0803BDFC:\n\ movs r1, 0\n\ movs r2, 0x3A\n\ movs r3, 0\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0803BE2A\n\ @@ -831,7 +831,7 @@ _0803BE2A:\n\ movs r1, 0\n\ movs r2, 0x39\n\ movs r3, 0\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0803BE5C\n\ @@ -885,7 +885,7 @@ _0803BE9A:\n\ movs r1, 0\n\ movs r2, 0\n\ movs r3, 0xFD\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0803BEBE\n\ @@ -903,7 +903,7 @@ _0803BEBE:\n\ movs r1, 0\n\ movs r2, 0\n\ movs r3, 0xFE\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0803BEE2\n\ @@ -1005,7 +1005,7 @@ _0803BF72:\n\ strh r0, [r4]\n\ _0803BFA2:\n\ ldr r2, _0803BFEC @ =gBattleMoves\n\ - ldr r0, _0803BFF0 @ =gUnknown_02024BE6\n\ + ldr r0, _0803BFF0 @ =gCurrentMove\n\ ldrh r1, [r0]\n\ lsls r0, r1, 1\n\ adds r0, r1\n\ @@ -1040,7 +1040,7 @@ _0803BFE0: .4byte 0xfffffe69\n\ _0803BFE4: .4byte 0x00000175\n\ _0803BFE8: .4byte gBattleMovePower\n\ _0803BFEC: .4byte gBattleMoves\n\ -_0803BFF0: .4byte gUnknown_02024BE6\n\ +_0803BFF0: .4byte gCurrentMove\n\ _0803BFF4: .4byte gCritMultiplier\n\ _0803BFF8: .4byte gStatStageRatios\n\ _0803BFFC:\n\ @@ -1146,7 +1146,7 @@ _0803C0A8:\n\ cmp r1, 0\n\ beq _0803C0E4\n\ movs r0, 0x2\n\ - bl sub_803C348\n\ + bl CountAliveMons\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x2\n\ @@ -1180,7 +1180,7 @@ _0803C0EA:\n\ cmp r0, 0x8\n\ bne _0803C11C\n\ movs r0, 0x2\n\ - bl sub_803C348\n\ + bl CountAliveMons\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x2\n\ @@ -1306,7 +1306,7 @@ _0803C1D6:\n\ cmp r1, 0\n\ beq _0803C224\n\ movs r0, 0x2\n\ - bl sub_803C348\n\ + bl CountAliveMons\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x2\n\ @@ -1340,7 +1340,7 @@ _0803C22A:\n\ cmp r0, 0x8\n\ bne _0803C25C\n\ movs r0, 0x2\n\ - bl sub_803C348\n\ + bl CountAliveMons\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x2\n\ @@ -1355,7 +1355,7 @@ _0803C25C:\n\ movs r1, 0\n\ movs r2, 0xD\n\ movs r3, 0\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0\n\ @@ -1365,7 +1365,7 @@ _0803C25C:\n\ movs r1, 0\n\ movs r2, 0x4D\n\ movs r3, 0\n\ - bl sub_8018324\n\ + bl AbilityBattleEffects\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0803C30C\n\ @@ -1403,7 +1403,7 @@ _0803C2C4:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0803C2DC\n\ - ldr r0, _0803C2F4 @ =gUnknown_02024BE6\n\ + ldr r0, _0803C2F4 @ =gCurrentMove\n\ ldrh r0, [r0]\n\ cmp r0, 0x4C\n\ bne _0803C2DC\n\ @@ -1423,7 +1423,7 @@ _0803C2DC:\n\ beq _0803C306\n\ b _0803C30C\n\ .align 2, 0\n\ -_0803C2F4: .4byte gUnknown_02024BE6\n\ +_0803C2F4: .4byte gCurrentMove\n\ _0803C2F8:\n\ lsls r0, r5, 4\n\ subs r0, r5\n\ diff --git a/src/item_use.c b/src/item_use.c index 269c847a5..a92161e9a 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -43,12 +43,12 @@ extern void (* gUnknown_03004AE4)(u8, u16, TaskFunc); extern u8 gUnknown_02038561; extern u8 gLastFieldPokeMenuOpened; -extern u8 gUnknown_02024E6C; +extern u8 gBankInMenu; extern u8 gUnknown_081A1654[]; extern u8 gUnknown_081A168F[]; -extern u16 gUnknown_02024A6A[]; +extern u16 gBattlePartyID[]; extern u16 gScriptItemId; extern u16 gBattleTypeFlags; @@ -1043,7 +1043,7 @@ void sub_80CA2BC(u8 taskId) void ItemUseInBattle_StatIncrease(u8 taskId) { - u16 partyId = gUnknown_02024A6A[gUnknown_02024E6C]; + u16 partyId = gBattlePartyID[gBankInMenu]; MenuZeroFillWindowRect(0, 0xD, 0xD, 0x14); diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 91cd77f86..5acdae4d3 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -20,13 +20,13 @@ extern u16 unk_20160BC[]; extern struct SecretBaseRecord gSecretBaseRecord; extern u32 dword_2017100[]; extern u16 gBattleTypeFlags; -extern u8 gUnknown_02024A60; +extern u8 gActiveBank; extern struct BattlePokemon gBattleMons[4]; -extern u16 gUnknown_02024BE6; -extern u8 byte_2024C06; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; -extern u8 gUnknown_02024C0C; +extern u16 gCurrentMove; +extern u8 gLastUsedAbility; +extern u8 gBankAttacker; +extern u8 gBankTarget; +extern u8 gAbsentBankFlags; extern u8 gXXX_CritRelated; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -41,7 +41,7 @@ extern const struct SpriteTemplate gSpriteTemplate_8208288[]; extern u8 gSecretBaseTrainerClasses[]; extern u8 gHoldEffectToType[][2]; -u8 sub_803C348(u8 a1) +u8 CountAliveMons(u8 a1) { s32 i; u8 retVal = 0; @@ -51,21 +51,21 @@ u8 sub_803C348(u8 a1) case 0: for (i = 0; i < 4; i++) { - if (i != gUnknown_02024A60 && !(gUnknown_02024C0C & gBitTable[i])) + if (i != gActiveBank && !(gAbsentBankFlags & gBitTable[i])) retVal++; } break; case 1: for (i = 0; i < 4; i++) { - if (battle_side_get_owner(i) == battle_side_get_owner(gPlayerMonIndex) && !(gUnknown_02024C0C & gBitTable[i])) + if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBankFlags & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (battle_side_get_owner(i) == battle_side_get_owner(gEnemyMonIndex) && !(gUnknown_02024C0C & gBitTable[i])) + if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i])) retVal++; } break; @@ -77,7 +77,7 @@ u8 sub_803C348(u8 a1) #ifdef NONMATCHING u8 sub_803C434(u8 a1) { - u32 status0 = battle_get_per_side_status(a1); + u32 status0 = GetBankIdentity(a1); register u8 status_ asm("r4"); u8 status; register u32 mask1 asm("r1") = 1; @@ -93,11 +93,11 @@ u8 sub_803C434(u8 a1) val &= val_; if (!val) { - return battle_get_side_with_given_state(status); + return GetBankByPlayerAI(status); } } - if (sub_803C348(0) > 1) + if (CountAliveMons(0) > 1) { u16 r = Random(); register u32 val asm("r1") = mask2; @@ -106,19 +106,19 @@ u8 sub_803C434(u8 a1) { u32 status2 = 2; status2 ^= status; - return battle_get_side_with_given_state(status2); + return GetBankByPlayerAI(status2); } else { - return battle_get_side_with_given_state(status); + return GetBankByPlayerAI(status); } } else { - if (gUnknown_02024C0C & gBitTable[status]) - return battle_get_side_with_given_state(status ^ 2); + if (gAbsentBankFlags & gBitTable[status]) + return GetBankByPlayerAI(status ^ 2); else - return battle_get_side_with_given_state(status); + return GetBankByPlayerAI(status); } } #else @@ -129,7 +129,7 @@ u8 sub_803C434(u8 a1) push {r4-r6,lr}\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl battle_get_per_side_status\n\ + bl GetBankIdentity\n\ movs r1, 0x1\n\ movs r6, 0x1\n\ adds r4, r6, 0\n\ @@ -148,7 +148,7 @@ u8 sub_803C434(u8 a1) _0803C45C: .4byte gBattleTypeFlags\n\ _0803C460:\n\ movs r0, 0\n\ - bl sub_803C348\n\ + bl CountAliveMons\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -177,14 +177,14 @@ _0803C484:\n\ adds r0, r4, 0\n\ b _0803C4AA\n\ .align 2, 0\n\ -_0803C49C: .4byte gUnknown_02024C0C\n\ +_0803C49C: .4byte gAbsentBankFlags\n\ _0803C4A0: .4byte gBitTable\n\ _0803C4A4:\n\ movs r0, 0x2\n\ eors r5, r0\n\ adds r0, r5, 0\n\ _0803C4AA:\n\ - bl battle_get_side_with_given_state\n\ + bl GetBankByPlayerAI\n\ lsls r0, 24\n\ lsrs r0, 24\n\ pop {r4-r6}\n\ @@ -1131,11 +1131,11 @@ u8 sub_803DAA0(void) u8 GetAbilityBySpecies(u16 species, bool8 altAbility) { if (altAbility) - byte_2024C06 = gBaseStats[species].ability2; + gLastUsedAbility = gBaseStats[species].ability2; else - byte_2024C06 = gBaseStats[species].ability1; + gLastUsedAbility = gBaseStats[species].ability1; - return byte_2024C06; + return gLastUsedAbility; } u8 GetMonAbility(struct Pokemon *mon) @@ -1295,7 +1295,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); StringCopy10(gBattleMons[battleIndex].nickname, nickname); GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battleIndex].otName); - *(unk_20160BC + battle_side_get_owner(battleIndex)) = gBattleMons[battleIndex].hp; + *(unk_20160BC + GetBankSide(battleIndex)) = gBattleMons[battleIndex].hp; for (i = 0; i < 8; i++) gBattleMons[battleIndex].statStages[i] = 6; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 9e69a3850..ef9a1698d 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -48,19 +48,19 @@ struct SpindaSpot extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; extern struct BattlePokemon gBattleMons[4]; -extern u8 gUnknown_02024A60; +extern u8 gActiveBank; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gSpeciesToHoennPokedexNum[]; extern u16 gSpeciesToNationalPokedexNum[]; extern u16 gHoennToNationalOrder[]; extern u16 gSpeciesIdToCryId[]; -extern u8 gUnknown_030041C0[]; -extern u8 gUnknown_03004290[]; -extern u8 gUnknown_020238CC[]; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; -extern u8 gUnknown_02024C0B; -extern u8 gUnknown_02024E6C; +extern u8 gBattleTextBuff1[]; +extern u8 gBattleTextBuff2[]; +extern u8 gDisplayedStringBattle[]; +extern u8 gBankAttacker; +extern u8 gBankTarget; +extern u8 gStringBank; +extern u8 gBankInMenu; extern struct SpindaSpot gSpindaSpotGraphics[]; extern s8 gNatureStatTable[][5]; extern s8 gUnknown_082082FE[][3]; @@ -71,9 +71,9 @@ extern u8 gBattleMonForms[]; extern const u8 BattleText_Wally[]; extern const u16 gHMMoves[]; extern s8 gUnknown_083F7E28[]; -extern u8 byte_2024C06; +extern u8 gLastUsedAbility; extern const u8 BattleText_PreventedSwitch[]; -extern u16 gUnknown_02024A6A[]; +extern u16 gBattlePartyID[]; extern u8 gJapaneseNidoranNames[][11]; extern u8 gUnknown_082082F8[]; @@ -119,7 +119,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) if (itemId == ITEM_ENIGMA_BERRY) { - temp = gEnigmaBerries[gUnknown_02024A60].itemEffect; + temp = gEnigmaBerries[gActiveBank].itemEffect; } itemEffect = temp; @@ -216,10 +216,10 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) void sub_803F324(int stat) { - gEnemyMonIndex = gUnknown_02024E6C; - StringCopy(gUnknown_030041C0, gUnknown_08400F58[gUnknown_082082F8[stat]]); - StringCopy(gUnknown_03004290, gUnknown_083FFDB3); - get_battle_strings_(gUnknown_083FFDD3); + gBankTarget = gBankInMenu; + StringCopy(gBattleTextBuff1, gUnknown_08400F58[gUnknown_082082F8[stat]]); + StringCopy(gBattleTextBuff2, gUnknown_083FFDB3); + StrCpyDecodeToDisplayedStringBattle(gUnknown_083FFDD3); } u8 *sub_803F378(u16 itemId) @@ -231,7 +231,7 @@ u8 *sub_803F378(u16 itemId) { if (gMain.inBattle) { - itemEffect = gEnigmaBerries[gUnknown_02024E6C].itemEffect; + itemEffect = gEnigmaBerries[gBankInMenu].itemEffect; } else { @@ -243,7 +243,7 @@ u8 *sub_803F378(u16 itemId) itemEffect = (u8 *) gItemEffectTable[itemId - 13]; } - gUnknown_02024C0B = gUnknown_02024E6C; + gStringBank = gBankInMenu; for (i = 0; i < 3; i++) { @@ -257,19 +257,19 @@ u8 *sub_803F378(u16 itemId) } else { - gPlayerMonIndex = gUnknown_02024E6C; - get_battle_strings_(gUnknown_083FEE92); + gBankAttacker = gBankInMenu; + StrCpyDecodeToDisplayedStringBattle(gUnknown_083FEE92); } } } if (itemEffect[3] & 0x80) { - gPlayerMonIndex = gUnknown_02024E6C; - get_battle_strings_(gUnknown_083FEE5D); + gBankAttacker = gBankInMenu; + StrCpyDecodeToDisplayedStringBattle(gUnknown_083FEE5D); } - return gUnknown_020238CC; + return gDisplayedStringBattle; } u8 GetNature(struct Pokemon *mon) @@ -1296,21 +1296,21 @@ void BoxMonRestorePP(struct BoxPokemon *boxMon) void sub_8040B8C(void) { - byte_2024C06 = BATTLE_STRUCT->filler1_2[0x37]; - gUnknown_030041C0[0] = 0xFD; - gUnknown_030041C0[1] = 4; - gUnknown_030041C0[2] = BATTLE_STRUCT->filler1[0x34]; - gUnknown_030041C0[4] = EOS; - if (!battle_side_get_owner(BATTLE_STRUCT->filler1[0x34])) - gUnknown_030041C0[3] = pokemon_order_func(gUnknown_02024A6A[BATTLE_STRUCT->filler1[0x34]]); + gLastUsedAbility = BATTLE_STRUCT->filler1_2[0x37]; + gBattleTextBuff1[0] = 0xFD; + gBattleTextBuff1[1] = 4; + gBattleTextBuff1[2] = BATTLE_STRUCT->filler1[0x34]; + gBattleTextBuff1[4] = EOS; + if (!GetBankSide(BATTLE_STRUCT->filler1[0x34])) + gBattleTextBuff1[3] = pokemon_order_func(gBattlePartyID[BATTLE_STRUCT->filler1[0x34]]); else - gUnknown_030041C0[3] = gUnknown_02024A6A[BATTLE_STRUCT->filler1[0x34]]; - gUnknown_03004290[0] = 0xFD; - gUnknown_03004290[1] = 4; - gUnknown_03004290[2] = gUnknown_02024E6C; - gUnknown_03004290[3] = pokemon_order_func(gUnknown_02024A6A[gUnknown_02024E6C]); - gUnknown_03004290[4] = EOS; - sub_8120FFC(BattleText_PreventedSwitch, gStringVar4); + gBattleTextBuff1[3] = gBattlePartyID[BATTLE_STRUCT->filler1[0x34]]; + gBattleTextBuff2[0] = 0xFD; + gBattleTextBuff2[1] = 4; + gBattleTextBuff2[2] = gBankInMenu; + gBattleTextBuff2[3] = pokemon_order_func(gBattlePartyID[gBankInMenu]); + gBattleTextBuff2[4] = EOS; + StrCpyDecodeBattle(BattleText_PreventedSwitch, gStringVar4); } void SetWildMonHeldItem(void) diff --git a/src/rom3.c b/src/rom3.c index 93f0f0356..9d8d39f91 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -28,33 +28,33 @@ extern u8 gUnknown_020238C4; extern u8 gUnknown_020238C5; extern u8 gUnknown_020238C6; extern u32 gUnknown_020239FC; -extern u8 gUnknown_02023A60[][0x200]; -extern u8 gUnknown_02024260[][0x200]; -extern u8 gUnknown_02024A60; -extern u32 gUnknown_02024A64; -extern u8 gUnknown_02024A68; -extern u16 gUnknown_02024A6A[]; -extern u8 gUnknown_02024A72[]; -extern u16 gUnknown_02024BE6; +extern u8 gBattleBufferA[][0x200]; +extern u8 gBattleBufferB[][0x200]; +extern u8 gActiveBank; +extern u32 gBattleExecBuffer; +extern u8 gNoOfAllBanks; +extern u16 gBattlePartyID[]; +extern u8 gBanksBySide[]; +extern u16 gCurrentMove; extern u16 gUnknown_02024BE8; -extern u16 gUnknown_02024C04; -extern u8 byte_2024C06; -extern u8 gPlayerMonIndex; -extern u8 gEnemyMonIndex; -extern u8 gUnknown_02024C0A; -extern u8 gUnknown_02024C0B; -extern u8 gUnknown_02024C0C; -extern u8 gUnknown_02024C0E; +extern u16 gLastUsedItem; +extern u8 gLastUsedAbility; +extern u8 gBankAttacker; +extern u8 gBankTarget; +extern u8 gEffectBank; +extern u8 gStringBank; +extern u8 gAbsentBankFlags; +extern u8 gMultiHitCounter; extern u8 gUnknown_02024C78; -extern u8 gUnknown_02024D26; -extern u8 gUnknown_02024E60[]; -extern u8 gUnknown_02024E64[]; -extern u8 gUnknown_03004040[]; -extern u8 gUnknown_030041C0[]; -extern u8 gUnknown_03004290[]; -extern u8 gUnknown_030042B0[]; -extern void (*gUnknown_030042D4)(void); -extern void (*gUnknown_03004330[])(void); +extern u8 gBattleOutcome; +extern u8 gActionSelectionCursor[]; +extern u8 gMoveSelectionCursor[]; +extern u8 gBattleBuffersTransferData[]; +extern u8 gBattleTextBuff1[]; +extern u8 gBattleTextBuff2[]; +extern u8 gBattleTextBuff3[]; +extern void (*gBattleMainFunc)(void); +extern void (*gBattleBankFunc[])(void); void sub_800B858(void) { @@ -70,16 +70,16 @@ void setup_poochyena_battle(void) { s32 i; - gUnknown_030042D4 = nullsub_41; + gBattleMainFunc = nullsub_41; for (i = 0; i < 4; i++) { - gUnknown_03004330[i] = nullsub_91; - gUnknown_02024A72[i] = 0xFF; - gUnknown_02024E60[i] = 0; - gUnknown_02024E64[i] = 0; + gBattleBankFunc[i] = nullsub_91; + gBanksBySide[i] = 0xFF; + gActionSelectionCursor[i] = 0; + gMoveSelectionCursor[i] = 0; } sub_800B858(); - gUnknown_02024A64 = 0; + gBattleExecBuffer = 0; battle_anim_clear_some_data(); ClearBattleMonForms(); BattleAI_HandleItemUseBeforeAISetup(); @@ -105,7 +105,7 @@ void sub_800B950(void) sub_800BD54(); if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) sub_8094978(i, 0); } } @@ -114,30 +114,30 @@ void sub_800B9A8(void) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gUnknown_030042D4 = sub_8010800; + gBattleMainFunc = sub_8010800; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gUnknown_03004330[0] = sub_812B468; + gBattleBankFunc[0] = SetBankFuncToSafariBufferRunCommand; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gUnknown_03004330[0] = sub_8137224; + gBattleBankFunc[0] = SetBankFuncToWallyBufferRunCommand; else - gUnknown_03004330[0] = sub_802BF74; - gUnknown_02024A72[0] = 0; - gUnknown_03004330[1] = sub_8032AE0; - gUnknown_02024A72[1] = 1; - gUnknown_02024A68 = 2; + gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[0] = 0; + gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; + gBanksBySide[1] = 1; + gNoOfAllBanks = 2; } else { - gUnknown_030042D4 = sub_8010800; - gUnknown_03004330[0] = sub_802BF74; - gUnknown_02024A72[0] = 0; - gUnknown_03004330[1] = sub_8032AE0; - gUnknown_02024A72[1] = 1; - gUnknown_03004330[2] = sub_802BF74; - gUnknown_02024A72[2] = 2; - gUnknown_03004330[3] = sub_8032AE0; - gUnknown_02024A72[3] = 3; - gUnknown_02024A68 = 4; + gBattleMainFunc = sub_8010800; + gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[0] = 0; + gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; + gBanksBySide[1] = 1; + gBattleBankFunc[2] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[2] = 2; + gBattleBankFunc[3] = SetBankFuncToOpponentBufferRunCommand; + gBanksBySide[3] = 3; + gNoOfAllBanks = 4; } } @@ -150,20 +150,20 @@ void sub_800BA78(void) { if (gBattleTypeFlags & BATTLE_TYPE_WILD) { - gUnknown_030042D4 = sub_8010800; - gUnknown_03004330[0] = sub_802BF74; - gUnknown_02024A72[0] = 0; - gUnknown_03004330[1] = sub_8037510; - gUnknown_02024A72[1] = 1; - gUnknown_02024A68 = 2; + gBattleMainFunc = sub_8010800; + gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[0] = 0; + gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[1] = 1; + gNoOfAllBanks = 2; } else { - gUnknown_03004330[1] = sub_802BF74; - gUnknown_02024A72[1] = 0; - gUnknown_03004330[0] = sub_8037510; - gUnknown_02024A72[0] = 1; - gUnknown_02024A68 = 2; + gBattleBankFunc[1] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[1] = 0; + gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[0] = 1; + gNoOfAllBanks = 2; } return; } @@ -171,35 +171,35 @@ void sub_800BA78(void) { if (gBattleTypeFlags & BATTLE_TYPE_WILD) { - gUnknown_030042D4 = sub_8010800; - gUnknown_03004330[0] = sub_802BF74; - gUnknown_02024A72[0] = 0; - gUnknown_03004330[1] = sub_8037510; - gUnknown_02024A72[1] = 1; - gUnknown_03004330[2] = sub_802BF74; - gUnknown_02024A72[2] = 2; - gUnknown_03004330[3] = sub_8037510; - gUnknown_02024A72[3] = 3; - gUnknown_02024A68 = 4; + gBattleMainFunc = sub_8010800; + gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[0] = 0; + gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[1] = 1; + gBattleBankFunc[2] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[2] = 2; + gBattleBankFunc[3] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[3] = 3; + gNoOfAllBanks = 4; } else { - gUnknown_03004330[1] = sub_802BF74; - gUnknown_02024A72[1] = 0; - gUnknown_03004330[0] = sub_8037510; - gUnknown_02024A72[0] = 1; - gUnknown_03004330[3] = sub_802BF74; - gUnknown_02024A72[3] = 2; - gUnknown_03004330[2] = sub_8037510; - gUnknown_02024A72[2] = 3; - gUnknown_02024A68 = 4; + gBattleBankFunc[1] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[1] = 0; + gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[0] = 1; + gBattleBankFunc[3] = SetBankFuncToPlayerBufferRunCommand; + gBanksBySide[3] = 2; + gBattleBankFunc[2] = SetBankFuncToLinkOpponentBufferRunCommand; + gBanksBySide[2] = 3; + gNoOfAllBanks = 4; } return; } multiplayerId = GetMultiplayerId(); if (gBattleTypeFlags & BATTLE_TYPE_WILD) - gUnknown_030042D4 = sub_8010800; + gBattleMainFunc = sub_8010800; for (i = 0; i < 4; i++) { switch (gLinkPlayers[i].lp_field_18) @@ -216,18 +216,18 @@ void sub_800BA78(void) if (i == multiplayerId) { - gUnknown_03004330[gLinkPlayers[i].lp_field_18] = sub_802BF74; + gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToPlayerBufferRunCommand; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 0; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 2; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -236,41 +236,41 @@ void sub_800BA78(void) if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[multiplayerId].lp_field_18 & 1)) || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[multiplayerId].lp_field_18 & 1))) { - gUnknown_03004330[gLinkPlayers[i].lp_field_18] = sub_811DA78; + gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToLinkPartnerBufferRunCommand; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 0; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 2; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; break; } } else { - gUnknown_03004330[gLinkPlayers[i].lp_field_18] = sub_8037510; + gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToLinkOpponentBufferRunCommand; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 1; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 1; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gUnknown_02024A72[gLinkPlayers[i].lp_field_18] = 3; - gUnknown_02024A6A[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].lp_field_18] = 3; + gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; break; } } } } - gUnknown_02024A68 = 4; + gNoOfAllBanks = 4; } void sub_800BD54(void) @@ -280,20 +280,20 @@ void sub_800BD54(void) if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gUnknown_02024A68; i++) + for (i = 0; i < gNoOfAllBanks; i++) { for (j = 0; j < 6; j++) { if (i < 2) { - if (!(gUnknown_02024A72[i] & 1)) + if (!(gBanksBySide[i] & 1)) { if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0) { - gUnknown_02024A6A[i] = j; + gBattlePartyID[i] = j; break; } } @@ -304,22 +304,22 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0) { - gUnknown_02024A6A[i] = j; + gBattlePartyID[i] = j; break; } } } else { - if (!(gUnknown_02024A72[i] & 1)) + if (!(gBanksBySide[i] & 1)) { if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != 0 //Probably a typo by Game Freak. The rest use SPECIES2 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0 - && gUnknown_02024A6A[i - 2] != j) + && gBattlePartyID[i - 2] != j) { - gUnknown_02024A6A[i] = j; + gBattlePartyID[i] = j; break; } } @@ -329,9 +329,9 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != 0 && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0 - && gUnknown_02024A6A[i - 2] != j) + && gBattlePartyID[i - 2] != j) { - gUnknown_02024A6A[i] = j; + gBattlePartyID[i] = j; break; } } @@ -356,14 +356,14 @@ void dp01_prepare_buffer(u8 a, u8 *b, u16 c) case 0: for (i = 0; i < c; i++) { - gUnknown_02023A60[gUnknown_02024A60][i] = *b; + gBattleBufferA[gActiveBank][i] = *b; b++; } break; case 1: for (i = 0; i < c; i++) { - gUnknown_02024260[gUnknown_02024A60][i] = *b; + gBattleBufferB[gActiveBank][i] = *b; b++; } break; @@ -400,13 +400,13 @@ void dp01_prepare_buffer_wireless_probably(u8 a, u16 b, u8 *c) gTasks[gUnknown_020238C4].data[14] = 0; } unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gUnknown_02024A60; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gPlayerMonIndex; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gEnemyMonIndex; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gActiveBank; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gBankAttacker; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gBankTarget; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gUnknown_02024C0C; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gUnknown_02024C0A; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gAbsentBankFlags; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gEffectBank; for (i = 0; i < b; i++) unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14008 + i] = c[i]; gTasks[gUnknown_020238C4].data[14] = gTasks[gUnknown_020238C4].data[14] + r9 + 8; @@ -538,235 +538,235 @@ void sub_800C47C(u8 taskId) switch (unk_2000000[0x15000 + gTasks[taskId].data[15] + 0]) { case 0: - if (gUnknown_02024A64 & gBitTable[r4]) + if (gBattleExecBuffer & gBitTable[r4]) return; - memcpy(gUnknown_02023A60[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferA[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gPlayerMonIndex = unk_2000000[0x15000 + gTasks[taskId].data[15] + 2]; - gEnemyMonIndex = unk_2000000[0x15000 + gTasks[taskId].data[15] + 3]; - gUnknown_02024C0C = unk_2000000[0x15000 + gTasks[taskId].data[15] + 6]; - gUnknown_02024C0A = unk_2000000[0x15000 + gTasks[taskId].data[15] + 7]; + gBankAttacker = unk_2000000[0x15000 + gTasks[taskId].data[15] + 2]; + gBankTarget = unk_2000000[0x15000 + gTasks[taskId].data[15] + 3]; + gAbsentBankFlags = unk_2000000[0x15000 + gTasks[taskId].data[15] + 6]; + gEffectBank = unk_2000000[0x15000 + gTasks[taskId].data[15] + 7]; } break; case 1: - memcpy(gUnknown_02024260[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferB[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); break; case 2: r2 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 8]; - gUnknown_02024A64 &= ~(gBitTable[r4] << (r2 * 4)); + gBattleExecBuffer &= ~(gBitTable[r4] << (r2 * 4)); break; } gTasks[taskId].data[15] = gTasks[taskId].data[15] + r7 + 8; } } -void dp01_build_cmdbuf_x00_a_b_0(u8 a, u8 b, u8 c) +void EmitGetAttributes(u8 a, u8 b, u8 c) { - gUnknown_03004040[0] = 0; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 0; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x01_a_b_0(u8 a, u8 b, u8 c) { - gUnknown_03004040[0] = 1; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 1; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x02_a_b_varargs(u8 a, u8 b, u8 c, u8 d, u8 *e) +void EmitSetAttributes(u8 a, u8 b, u8 c, u8 d, u8 *e) { int i; - gUnknown_03004040[0] = 2; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; + gBattleBuffersTransferData[0] = 2; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; for (i = 0; i < d; i++) - gUnknown_03004040[3 + i] = *(e++); - dp01_prepare_buffer(a, gUnknown_03004040, d + 3); + gBattleBuffersTransferData[3 + i] = *(e++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, d + 3); } void unref_sub_800C6A4(u8 a, u8 b, u8 c, u8 *d) { int i; - gUnknown_03004040[0] = 3; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; + gBattleBuffersTransferData[0] = 3; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; for (i = 0; i < c; i++) - gUnknown_03004040[3 + i] = *(d++); - dp01_prepare_buffer(a, gUnknown_03004040, c + 3); + gBattleBuffersTransferData[3 + i] = *(d++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, c + 3); } void dp01_build_cmdbuf_x04_4_4_4(u8 a) { - gUnknown_03004040[0] = 4; - gUnknown_03004040[1] = 4; - gUnknown_03004040[2] = 4; - gUnknown_03004040[3] = 4; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 4; + gBattleBuffersTransferData[1] = 4; + gBattleBuffersTransferData[2] = 4; + gBattleBuffersTransferData[3] = 4; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void sub_800C704(u8 a, u8 b, u8 c) { - gUnknown_03004040[0] = 5; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = 5; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 5; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = 5; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x06_a(u8 a, u8 b) { - gUnknown_03004040[0] = 6; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 6; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void dp01_build_cmdbuf_x07_7_7_7(u8 a) { - gUnknown_03004040[0] = 7; - gUnknown_03004040[1] = 7; - gUnknown_03004040[2] = 7; - gUnknown_03004040[3] = 7; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 7; + gBattleBuffersTransferData[1] = 7; + gBattleBuffersTransferData[2] = 7; + gBattleBuffersTransferData[3] = 7; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x08_8_8_8(u8 a) { - gUnknown_03004040[0] = 8; - gUnknown_03004040[1] = 8; - gUnknown_03004040[2] = 8; - gUnknown_03004040[3] = 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 8; + gBattleBuffersTransferData[1] = 8; + gBattleBuffersTransferData[2] = 8; + gBattleBuffersTransferData[3] = 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x09_9_9_9(u8 a) { - gUnknown_03004040[0] = 9; - gUnknown_03004040[1] = 9; - gUnknown_03004040[2] = 9; - gUnknown_03004040[3] = 9; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 9; + gBattleBuffersTransferData[1] = 9; + gBattleBuffersTransferData[2] = 9; + gBattleBuffersTransferData[3] = 9; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x0A_A_A_A(u8 a) +void EmitFaintAnimation(u8 a) { - gUnknown_03004040[0] = 10; - gUnknown_03004040[1] = 10; - gUnknown_03004040[2] = 10; - gUnknown_03004040[3] = 10; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 10; + gBattleBuffersTransferData[1] = 10; + gBattleBuffersTransferData[2] = 10; + gBattleBuffersTransferData[3] = 10; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x0B_B_B_B(u8 a) { - gUnknown_03004040[0] = 11; - gUnknown_03004040[1] = 11; - gUnknown_03004040[2] = 11; - gUnknown_03004040[3] = 11; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 11; + gBattleBuffersTransferData[1] = 11; + gBattleBuffersTransferData[2] = 11; + gBattleBuffersTransferData[3] = 11; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x0C_C_C_C(u8 a) { - gUnknown_03004040[0] = 12; - gUnknown_03004040[1] = 12; - gUnknown_03004040[2] = 12; - gUnknown_03004040[3] = 12; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 12; + gBattleBuffersTransferData[1] = 12; + gBattleBuffersTransferData[2] = 12; + gBattleBuffersTransferData[3] = 12; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x0D_a(u8 a, u8 b) { - gUnknown_03004040[0] = 13; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 13; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void unref_sub_800C828(u8 a, u8 b, u8 *c) { int i; - gUnknown_03004040[0] = 14; - gUnknown_03004040[1] = b; + gBattleBuffersTransferData[0] = 14; + gBattleBuffersTransferData[1] = b; for (i = 0; i < b * 3; i++) - gUnknown_03004040[2 + i] = *(c++); - dp01_prepare_buffer(a, gUnknown_03004040, b * 3 + 2); -} - -void dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, u8 *g) -{ - gUnknown_03004040[0] = 15; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; - gUnknown_03004040[3] = c; - gUnknown_03004040[4] = d; - gUnknown_03004040[5] = (d & 0xFF00) >> 8; - gUnknown_03004040[6] = e; - gUnknown_03004040[7] = (e & 0x0000FF00) >> 8; - gUnknown_03004040[8] = (e & 0x00FF0000) >> 16; - gUnknown_03004040[9] = (e & 0xFF000000) >> 24; - gUnknown_03004040[10] = f; - gUnknown_03004040[11] = gUnknown_02024C0E; - if (sub_8018324(14, 0, 13, 0, 0) == 0 && sub_8018324(14, 0, 0x4D, 0, 0) == 0) + gBattleBuffersTransferData[2 + i] = *(c++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, b * 3 + 2); +} + +void EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, u8 *g) +{ + gBattleBuffersTransferData[0] = 15; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[3] = c; + gBattleBuffersTransferData[4] = d; + gBattleBuffersTransferData[5] = (d & 0xFF00) >> 8; + gBattleBuffersTransferData[6] = e; + gBattleBuffersTransferData[7] = (e & 0x0000FF00) >> 8; + gBattleBuffersTransferData[8] = (e & 0x00FF0000) >> 16; + gBattleBuffersTransferData[9] = (e & 0xFF000000) >> 24; + gBattleBuffersTransferData[10] = f; + gBattleBuffersTransferData[11] = gMultiHitCounter; + if (AbilityBattleEffects(14, 0, 13, 0, 0) == 0 && AbilityBattleEffects(14, 0, 0x4D, 0, 0) == 0) { - gUnknown_03004040[12] = gBattleWeather; - gUnknown_03004040[13] = (gBattleWeather & 0xFF00) >> 8; + gBattleBuffersTransferData[12] = gBattleWeather; + gBattleBuffersTransferData[13] = (gBattleWeather & 0xFF00) >> 8; } else { - gUnknown_03004040[12] = 0; - gUnknown_03004040[13] = 0; + gBattleBuffersTransferData[12] = 0; + gBattleBuffersTransferData[13] = 0; } - gUnknown_03004040[14] = 0; - gUnknown_03004040[15] = 0; - memcpy(&gUnknown_03004040[16], g, 0x1C); - dp01_prepare_buffer(a, gUnknown_03004040, 0x2C); + gBattleBuffersTransferData[14] = 0; + gBattleBuffersTransferData[15] = 0; + memcpy(&gBattleBuffersTransferData[16], g, 0x1C); + dp01_prepare_buffer(a, gBattleBuffersTransferData, 0x2C); } #ifdef NONMATCHING -void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) +void EmitPrintString(u8 a, u16 b) { int i; //u16 *r12; - gUnknown_03004040[0] = 16; - gUnknown_03004040[1] = gUnknown_02024D26; - gUnknown_03004040[2] = b; - gUnknown_03004040[3] = (b & 0xFF00) >> 8; - - *((u16 *)&gUnknown_03004040[4]) = gUnknown_02024BE6; - *((u16 *)&gUnknown_03004040[6]) = gUnknown_02024BE8; - *((u16 *)&gUnknown_03004040[8]) = gUnknown_02024C04; - - gUnknown_03004040[10] = byte_2024C06; - gUnknown_03004040[11] = unk_2000000[0x16000 + 3]; - gUnknown_03004040[12] = unk_2000000[0x16000 + 0x5E]; - gUnknown_03004040[13] = unk_2000000[0x16000 + 0xC1]; - gUnknown_03004040[14] = gUnknown_02024C0B; - gUnknown_03004040[15] = gBattleMoves[gUnknown_02024BE6].type; + gBattleBuffersTransferData[0] = 16; + gBattleBuffersTransferData[1] = gBattleOutcome; + gBattleBuffersTransferData[2] = b; + gBattleBuffersTransferData[3] = (b & 0xFF00) >> 8; + + *((u16 *)&gBattleBuffersTransferData[4]) = gCurrentMove; + *((u16 *)&gBattleBuffersTransferData[6]) = gUnknown_02024BE8; + *((u16 *)&gBattleBuffersTransferData[8]) = gLastUsedItem; + + gBattleBuffersTransferData[10] = gLastUsedAbility; + gBattleBuffersTransferData[11] = unk_2000000[0x16000 + 3]; + gBattleBuffersTransferData[12] = unk_2000000[0x16000 + 0x5E]; + gBattleBuffersTransferData[13] = unk_2000000[0x16000 + 0xC1]; + gBattleBuffersTransferData[14] = gStringBank; + gBattleBuffersTransferData[15] = gBattleMoves[gCurrentMove].type; for (i = 0; i < 4; i++) { - gUnknown_03004040[16 + i] = gBattleMons[i].ability; + gBattleBuffersTransferData[16 + i] = gBattleMons[i].ability; } for (i = 0; i < 16; i++) { - gUnknown_03004040[20 + i] = gUnknown_030041C0[i]; - gUnknown_03004040[36 + i] = gUnknown_03004290[i]; - gUnknown_03004040[52 + i] = gUnknown_030042B0[i]; + gBattleBuffersTransferData[20 + i] = gBattleTextBuff1[i]; + gBattleBuffersTransferData[36 + i] = gBattleTextBuff2[i]; + gBattleBuffersTransferData[52 + i] = gBattleTextBuff3[i]; } - dp01_prepare_buffer(a, gUnknown_03004040, 0x44); + dp01_prepare_buffer(a, gBattleBuffersTransferData, 0x44); } #else __attribute__((naked)) -void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) +void EmitPrintString(u8 a, u16 b) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -779,10 +779,10 @@ void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) mov r10, r0\n\ lsls r1, 16\n\ lsrs r1, 16\n\ - ldr r2, _0800CA2C @ =gUnknown_03004040\n\ + ldr r2, _0800CA2C @ =gBattleBuffersTransferData\n\ movs r0, 0x10\n\ strb r0, [r2]\n\ - ldr r0, _0800CA30 @ =gUnknown_02024D26\n\ + ldr r0, _0800CA30 @ =gBattleOutcome\n\ ldrb r0, [r0]\n\ strb r0, [r2, 0x1]\n\ strb r1, [r2, 0x2]\n\ @@ -790,17 +790,17 @@ void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) strb r1, [r2, 0x3]\n\ adds r0, r2, 0x4\n\ mov r12, r0\n\ - ldr r4, _0800CA34 @ =gUnknown_02024BE6\n\ + ldr r4, _0800CA34 @ =gCurrentMove\n\ ldrh r0, [r4]\n\ strh r0, [r2, 0x4]\n\ ldr r0, _0800CA38 @ =gUnknown_02024BE8\n\ ldrh r0, [r0]\n\ mov r1, r12\n\ strh r0, [r1, 0x2]\n\ - ldr r0, _0800CA3C @ =gUnknown_02024C04\n\ + ldr r0, _0800CA3C @ =gLastUsedItem\n\ ldrh r0, [r0]\n\ strh r0, [r1, 0x4]\n\ - ldr r0, _0800CA40 @ =byte_2024C06\n\ + ldr r0, _0800CA40 @ =gLastUsedAbility\n\ ldrb r0, [r0]\n\ strb r0, [r1, 0x6]\n\ ldr r1, _0800CA44 @ =0x02000000\n\ @@ -818,7 +818,7 @@ void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) ldrb r0, [r1]\n\ mov r1, r12\n\ strb r0, [r1, 0x9]\n\ - ldr r0, _0800CA50 @ =gUnknown_02024C0B\n\ + ldr r0, _0800CA50 @ =gStringBank\n\ ldrb r0, [r0]\n\ strb r0, [r1, 0xA]\n\ ldr r3, _0800CA54 @ =gBattleMoves\n\ @@ -832,7 +832,7 @@ void dp01_build_cmdbuf_x10_TODO(u8 a, u16 b) strb r0, [r3, 0xB]\n\ movs r3, 0\n\ mov r9, r2\n\ - ldr r7, _0800CA58 @ =gUnknown_030042B0\n\ + ldr r7, _0800CA58 @ =gBattleTextBuff3\n\ mov r8, r7\n\ adds r2, 0x10\n\ ldr r0, _0800CA5C @ =gBattleMons\n\ @@ -851,12 +851,12 @@ _0800C9D2:\n\ adds r5, 0x10\n\ mov r4, r12\n\ adds r4, 0x20\n\ - ldr r6, _0800CA60 @ =gUnknown_03004290\n\ + ldr r6, _0800CA60 @ =gBattleTextBuff2\n\ mov r2, r12\n\ adds r2, 0x30\n\ _0800C9F0:\n\ adds r1, r5, r3\n\ - ldr r7, _0800CA64 @ =gUnknown_030041C0\n\ + ldr r7, _0800CA64 @ =gBattleTextBuff1\n\ adds r0, r3, r7\n\ ldrb r0, [r0]\n\ strb r0, [r1]\n\ @@ -884,27 +884,27 @@ _0800C9F0:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0800CA2C: .4byte gUnknown_03004040\n\ -_0800CA30: .4byte gUnknown_02024D26\n\ -_0800CA34: .4byte gUnknown_02024BE6\n\ +_0800CA2C: .4byte gBattleBuffersTransferData\n\ +_0800CA30: .4byte gBattleOutcome\n\ +_0800CA34: .4byte gCurrentMove\n\ _0800CA38: .4byte gUnknown_02024BE8\n\ -_0800CA3C: .4byte gUnknown_02024C04\n\ -_0800CA40: .4byte byte_2024C06\n\ +_0800CA3C: .4byte gLastUsedItem\n\ +_0800CA40: .4byte gLastUsedAbility\n\ _0800CA44: .4byte 0x02000000\n\ _0800CA48: .4byte 0x00016003\n\ _0800CA4C: .4byte 0x000160c1\n\ -_0800CA50: .4byte gUnknown_02024C0B\n\ +_0800CA50: .4byte gStringBank\n\ _0800CA54: .4byte gBattleMoves\n\ -_0800CA58: .4byte gUnknown_030042B0\n\ +_0800CA58: .4byte gBattleTextBuff3\n\ _0800CA5C: .4byte gBattleMons\n\ -_0800CA60: .4byte gUnknown_03004290\n\ -_0800CA64: .4byte gUnknown_030041C0\n\ +_0800CA60: .4byte gBattleTextBuff2\n\ +_0800CA64: .4byte gBattleTextBuff1\n\ .syntax divided\n"); } #endif __attribute__((naked)) -void dp01_build_cmdbuf_x11_TODO() +void EmitPrintStringPlayerOnly() { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -917,7 +917,7 @@ void dp01_build_cmdbuf_x11_TODO() mov r10, r0\n\ lsls r1, 16\n\ lsrs r1, 16\n\ - ldr r2, _0800CB28 @ =gUnknown_03004040\n\ + ldr r2, _0800CB28 @ =gBattleBuffersTransferData\n\ movs r0, 0x11\n\ strb r0, [r2]\n\ strb r0, [r2, 0x1]\n\ @@ -926,17 +926,17 @@ void dp01_build_cmdbuf_x11_TODO() strb r1, [r2, 0x3]\n\ adds r0, r2, 0x4\n\ mov r12, r0\n\ - ldr r0, _0800CB2C @ =gUnknown_02024BE6\n\ + ldr r0, _0800CB2C @ =gCurrentMove\n\ ldrh r0, [r0]\n\ strh r0, [r2, 0x4]\n\ ldr r0, _0800CB30 @ =gUnknown_02024BE8\n\ ldrh r0, [r0]\n\ mov r1, r12\n\ strh r0, [r1, 0x2]\n\ - ldr r0, _0800CB34 @ =gUnknown_02024C04\n\ + ldr r0, _0800CB34 @ =gLastUsedItem\n\ ldrh r0, [r0]\n\ strh r0, [r1, 0x4]\n\ - ldr r0, _0800CB38 @ =byte_2024C06\n\ + ldr r0, _0800CB38 @ =gLastUsedAbility\n\ ldrb r0, [r0]\n\ strb r0, [r1, 0x6]\n\ ldr r0, _0800CB3C @ =0x02000000\n\ @@ -951,7 +951,7 @@ void dp01_build_cmdbuf_x11_TODO() strb r0, [r7, 0x8]\n\ movs r3, 0\n\ mov r9, r2\n\ - ldr r7, _0800CB48 @ =gUnknown_030042B0\n\ + ldr r7, _0800CB48 @ =gBattleTextBuff3\n\ mov r8, r7\n\ mov r4, r9\n\ adds r4, 0x10\n\ @@ -971,12 +971,12 @@ _0800CACE:\n\ adds r5, 0x10\n\ mov r4, r12\n\ adds r4, 0x20\n\ - ldr r6, _0800CB50 @ =gUnknown_03004290\n\ + ldr r6, _0800CB50 @ =gBattleTextBuff2\n\ mov r2, r12\n\ adds r2, 0x30\n\ _0800CAEC:\n\ adds r1, r5, r3\n\ - ldr r7, _0800CB54 @ =gUnknown_030041C0\n\ + ldr r7, _0800CB54 @ =gBattleTextBuff1\n\ adds r0, r3, r7\n\ ldrb r0, [r0]\n\ strb r0, [r1]\n\ @@ -1004,384 +1004,384 @@ _0800CAEC:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0800CB28: .4byte gUnknown_03004040\n\ -_0800CB2C: .4byte gUnknown_02024BE6\n\ +_0800CB28: .4byte gBattleBuffersTransferData\n\ +_0800CB2C: .4byte gCurrentMove\n\ _0800CB30: .4byte gUnknown_02024BE8\n\ -_0800CB34: .4byte gUnknown_02024C04\n\ -_0800CB38: .4byte byte_2024C06\n\ +_0800CB34: .4byte gLastUsedItem\n\ +_0800CB38: .4byte gLastUsedAbility\n\ _0800CB3C: .4byte 0x02000000\n\ _0800CB40: .4byte 0x00016003\n\ _0800CB44: .4byte 0x0001605e\n\ -_0800CB48: .4byte gUnknown_030042B0\n\ +_0800CB48: .4byte gBattleTextBuff3\n\ _0800CB4C: .4byte gBattleMons\n\ -_0800CB50: .4byte gUnknown_03004290\n\ -_0800CB54: .4byte gUnknown_030041C0\n\ +_0800CB50: .4byte gBattleTextBuff2\n\ +_0800CB54: .4byte gBattleTextBuff1\n\ .syntax divided\n"); } void dp01_build_cmdbuf_x12_a_bb(u8 a, u8 b, u16 c) { - gUnknown_03004040[0] = 18; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = (c & 0xFF00) >> 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 18; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = (c & 0xFF00) >> 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void unref_sub_800CB84(u8 a, u8 b) { - gUnknown_03004040[0] = 19; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 19; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void sub_800CBA4(u8 a, u8 b, u8 c, u8 *d) { u32 i; - gUnknown_03004040[0] = 20; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = 0; + gBattleBuffersTransferData[0] = 20; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = 0; for (i = 0; i < 20; i++) - gUnknown_03004040[4 + i] = d[i]; - dp01_prepare_buffer(a, gUnknown_03004040, 24); + gBattleBuffersTransferData[4 + i] = d[i]; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 24); } void sub_800CBE0(u8 a, u8 *b) { int i; - gUnknown_03004040[0] = 21; + gBattleBuffersTransferData[0] = 21; for (i = 0; i < 3; i++) - gUnknown_03004040[1 + i] = b[i]; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[1 + i] = b[i]; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f(u8 a, u8 b, u8 c, u8 d, u8 *e) { int i; - gUnknown_03004040[0] = 22; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = d; + gBattleBuffersTransferData[0] = 22; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = d; for (i = 0; i < 3; i++) - gUnknown_03004040[4 + i] = e[i]; - dp01_prepare_buffer(a, gUnknown_03004040, 8); //but only 7 bytes were written + gBattleBuffersTransferData[4 + i] = e[i]; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 8); //but only 7 bytes were written } void dp01_build_cmdbuf_x17_17_17_17(u8 a) { - gUnknown_03004040[0] = 23; - gUnknown_03004040[1] = 23; - gUnknown_03004040[2] = 23; - gUnknown_03004040[3] = 23; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 23; + gBattleBuffersTransferData[1] = 23; + gBattleBuffersTransferData[2] = 23; + gBattleBuffersTransferData[3] = 23; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x18_0_aa_health_bar_update(u8 a, s16 b) +void EmitHealthBarUpdate(u8 a, s16 b) { - gUnknown_03004040[0] = 24; - gUnknown_03004040[1] = 0; - gUnknown_03004040[2] = b; - gUnknown_03004040[3] = (b & 0xFF00) >> 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 24; + gBattleBuffersTransferData[1] = 0; + gBattleBuffersTransferData[2] = b; + gBattleBuffersTransferData[3] = (b & 0xFF00) >> 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x19_a_bb(u8 a, u8 b, s16 c) +void EmitExpBarUpdate(u8 a, u8 b, s16 c) { - gUnknown_03004040[0] = 25; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = (c & 0xFF00) >> 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 25; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = (c & 0xFF00) >> 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x1A_aaaa_bbbb(u8 a, u32 b, u32 c) +void EmitStatusIconUpdate(u8 a, u32 b, u32 c) { - gUnknown_03004040[0] = 26; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0x0000FF00) >> 8; - gUnknown_03004040[3] = (b & 0x00FF0000) >> 16; - gUnknown_03004040[4] = (b & 0xFF000000) >> 24; - gUnknown_03004040[5] = c; - gUnknown_03004040[6] = (c & 0x0000FF00) >> 8; - gUnknown_03004040[7] = (c & 0x00FF0000) >> 16; - gUnknown_03004040[8] = (c & 0xFF000000) >> 24; - dp01_prepare_buffer(a, gUnknown_03004040, 9); + gBattleBuffersTransferData[0] = 26; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0x0000FF00) >> 8; + gBattleBuffersTransferData[3] = (b & 0x00FF0000) >> 16; + gBattleBuffersTransferData[4] = (b & 0xFF000000) >> 24; + gBattleBuffersTransferData[5] = c; + gBattleBuffersTransferData[6] = (c & 0x0000FF00) >> 8; + gBattleBuffersTransferData[7] = (c & 0x00FF0000) >> 16; + gBattleBuffersTransferData[8] = (c & 0xFF000000) >> 24; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 9); } -void dp01_build_cmdbuf_x1B_aaaa_b(u8 a, u8 b, u32 c) +void EmitStatusAnimation(u8 a, u8 b, u32 c) { - gUnknown_03004040[0] = 27; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = (c & 0x0000FF00) >> 8; - gUnknown_03004040[4] = (c & 0x00FF0000) >> 16; - gUnknown_03004040[5] = (c & 0xFF000000) >> 24; - dp01_prepare_buffer(a, gUnknown_03004040, 6); + gBattleBuffersTransferData[0] = 27; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = (c & 0x0000FF00) >> 8; + gBattleBuffersTransferData[4] = (c & 0x00FF0000) >> 16; + gBattleBuffersTransferData[5] = (c & 0xFF000000) >> 24; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 6); } -void dp01_build_cmdbuf_x1C_a(u8 a, u8 b) +void EmitStatusXor(u8 a, u8 b) { - gUnknown_03004040[0] = 28; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 28; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void dp01_build_cmdbuf_x1D_1D_numargs_varargs(u8 a, u16 b, u8 *c) { int i; - gUnknown_03004040[0] = 29; - gUnknown_03004040[1] = 29; - gUnknown_03004040[2] = b; - gUnknown_03004040[3] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[0] = 29; + gBattleBuffersTransferData[1] = 29; + gBattleBuffersTransferData[2] = b; + gBattleBuffersTransferData[3] = (b & 0xFF00) >> 8; for (i = 0; i < b; i++) - gUnknown_03004040[4 + i] = *(c++); - dp01_prepare_buffer(a, gUnknown_03004040, b + 4); + gBattleBuffersTransferData[4 + i] = *(c++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, b + 4); } void unref_sub_800CDD4(u8 a, u32 b, u16 c, u8 *d) { int i; - gUnknown_03004040[0] = 30; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0x0000FF00) >> 8; - gUnknown_03004040[3] = (b & 0x00FF0000) >> 16; - gUnknown_03004040[4] = (b & 0xFF000000) >> 24; - gUnknown_03004040[5] = c; - gUnknown_03004040[6] = (c & 0xFF00) >> 8; + gBattleBuffersTransferData[0] = 30; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0x0000FF00) >> 8; + gBattleBuffersTransferData[3] = (b & 0x00FF0000) >> 16; + gBattleBuffersTransferData[4] = (b & 0xFF000000) >> 24; + gBattleBuffersTransferData[5] = c; + gBattleBuffersTransferData[6] = (c & 0xFF00) >> 8; for (i = 0; i < c; i++) - gUnknown_03004040[7 + i] = *(d++); - dp01_prepare_buffer(a, gUnknown_03004040, c + 7); + gBattleBuffersTransferData[7 + i] = *(d++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, c + 7); } void unref_sub_800CE3C(u8 a, u16 b, u8 *c) { int i; - gUnknown_03004040[0] = 31; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[0] = 31; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; for (i = 0; i < b; i++) - gUnknown_03004040[3 + i] = *(c++); - dp01_prepare_buffer(a, gUnknown_03004040, b + 3); + gBattleBuffersTransferData[3 + i] = *(c++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, b + 3); } void unref_sub_800CE84(u8 a, u16 b, u8 *c) { int i; - gUnknown_03004040[0] = 32; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[0] = 32; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; for (i = 0; i < b; i++) - gUnknown_03004040[3 + i] = *(c++); - dp01_prepare_buffer(a, gUnknown_03004040, b + 3); + gBattleBuffersTransferData[3 + i] = *(c++); + dp01_prepare_buffer(a, gBattleBuffersTransferData, b + 3); } void dp01_build_cmdbuf_x21_a_bb(u8 a, u8 b, u16 c) { - gUnknown_03004040[0] = 33; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = (c & 0xFF00) >> 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 33; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = (c & 0xFF00) >> 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x22_a_three_bytes(u8 a, u8 b, u8 *c) { int i; - gUnknown_03004040[0] = 34; - gUnknown_03004040[1] = b; + gBattleBuffersTransferData[0] = 34; + gBattleBuffersTransferData[1] = b; for (i = 0; i < 3; i++) - gUnknown_03004040[2 + i] = c[i]; - dp01_prepare_buffer(a, gUnknown_03004040, 5); + gBattleBuffersTransferData[2 + i] = c[i]; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 5); } void dp01_build_cmdbuf_x23_aa_0(u8 a, u16 b) { - gUnknown_03004040[0] = 35; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 35; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x24_aa_0(u8 a, u16 b) { - gUnknown_03004040[0] = 36; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 36; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x25_25_25_25(u8 a) { - gUnknown_03004040[0] = 37; - gUnknown_03004040[1] = 37; - gUnknown_03004040[2] = 37; - gUnknown_03004040[3] = 37; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 37; + gBattleBuffersTransferData[1] = 37; + gBattleBuffersTransferData[2] = 37; + gBattleBuffersTransferData[3] = 37; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x26_a(u8 a, u8 b) { - gUnknown_03004040[0] = 38; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 38; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void dp01_build_cmdbuf_x27_27_27_27(u8 a) { - gUnknown_03004040[0] = 39; - gUnknown_03004040[1] = 39; - gUnknown_03004040[2] = 39; - gUnknown_03004040[3] = 39; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 39; + gBattleBuffersTransferData[1] = 39; + gBattleBuffersTransferData[2] = 39; + gBattleBuffersTransferData[3] = 39; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x28_28_28_28(u8 a) { - gUnknown_03004040[0] = 40; - gUnknown_03004040[1] = 40; - gUnknown_03004040[2] = 40; - gUnknown_03004040[3] = 40; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 40; + gBattleBuffersTransferData[1] = 40; + gBattleBuffersTransferData[2] = 40; + gBattleBuffersTransferData[3] = 40; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x29_29_29_29(u8 a) +void EmitHitAnimation(u8 a) { - gUnknown_03004040[0] = 41; - gUnknown_03004040[1] = 41; - gUnknown_03004040[2] = 41; - gUnknown_03004040[3] = 41; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 41; + gBattleBuffersTransferData[1] = 41; + gBattleBuffersTransferData[2] = 41; + gBattleBuffersTransferData[3] = 41; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x2A_2A_2A_2A(u8 a) { - gUnknown_03004040[0] = 42; - gUnknown_03004040[1] = 42; - gUnknown_03004040[2] = 42; - gUnknown_03004040[3] = 42; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 42; + gBattleBuffersTransferData[1] = 42; + gBattleBuffersTransferData[2] = 42; + gBattleBuffersTransferData[3] = 42; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x2B_aa_0(u8 a, u16 b) +void EmitEffectivenessSound(u8 a, u16 b) { - gUnknown_03004040[0] = 43; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 43; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void sub_800D074(u8 a, u16 b) { - gUnknown_03004040[0] = 44; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = (b & 0xFF00) >> 8; - gUnknown_03004040[3] = 0; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 44; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = (b & 0xFF00) >> 8; + gBattleBuffersTransferData[3] = 0; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x2D_2D_2D_2D(u8 a) +void EmitFaintingCry(u8 a) { - gUnknown_03004040[0] = 45; - gUnknown_03004040[1] = 45; - gUnknown_03004040[2] = 45; - gUnknown_03004040[3] = 45; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 45; + gBattleBuffersTransferData[1] = 45; + gBattleBuffersTransferData[2] = 45; + gBattleBuffersTransferData[3] = 45; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x2E_a(u8 a, u8 b) +void EmitBattleIntroSlide(u8 a, u8 b) { - gUnknown_03004040[0] = 46; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 46; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void dp01_build_cmdbuf_x2F_2F_2F_2F(u8 a) { - gUnknown_03004040[0] = 47; - gUnknown_03004040[1] = 47; - gUnknown_03004040[2] = 47; - gUnknown_03004040[3] = 47; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 47; + gBattleBuffersTransferData[1] = 47; + gBattleBuffersTransferData[2] = 47; + gBattleBuffersTransferData[3] = 47; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x30_TODO(u8 a, u8 *b, u8 c) { int i; - gUnknown_03004040[0] = 48; - gUnknown_03004040[1] = c & 0x7F; - gUnknown_03004040[2] = (c & 0x80) >> 7; - gUnknown_03004040[3] = 48; + gBattleBuffersTransferData[0] = 48; + gBattleBuffersTransferData[1] = c & 0x7F; + gBattleBuffersTransferData[2] = (c & 0x80) >> 7; + gBattleBuffersTransferData[3] = 48; for (i = 0; i < 48; i++) - gUnknown_03004040[4 + i] = b[i]; - dp01_prepare_buffer(a, gUnknown_03004040, 52); + gBattleBuffersTransferData[4 + i] = b[i]; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 52); } void dp01_build_cmdbuf_x31_31_31_31(u8 a) { - gUnknown_03004040[0] = 49; - gUnknown_03004040[1] = 49; - gUnknown_03004040[2] = 49; - gUnknown_03004040[3] = 49; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 49; + gBattleBuffersTransferData[1] = 49; + gBattleBuffersTransferData[2] = 49; + gBattleBuffersTransferData[3] = 49; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } void dp01_build_cmdbuf_x32_32_32_32(u8 a) { - gUnknown_03004040[0] = 50; - gUnknown_03004040[1] = 50; - gUnknown_03004040[2] = 50; - gUnknown_03004040[3] = 50; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 50; + gBattleBuffersTransferData[1] = 50; + gBattleBuffersTransferData[2] = 50; + gBattleBuffersTransferData[3] = 50; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x33_a_33_33(u8 a, u8 b) +void EmitSpriteInvisibility(u8 a, u8 b) { - gUnknown_03004040[0] = 51; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = 51; - gUnknown_03004040[3] = 51; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 51; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = 51; + gBattleBuffersTransferData[3] = 51; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void dp01_build_cmdbuf_x34_a_bb_aka_battle_anim(u8 a, u8 b, u16 c) +void EmitBattleAnimation(u8 a, u8 b, u16 c) { - gUnknown_03004040[0] = 52; - gUnknown_03004040[1] = b; - gUnknown_03004040[2] = c; - gUnknown_03004040[3] = (c & 0xFF00) >> 8; - dp01_prepare_buffer(a, gUnknown_03004040, 4); + gBattleBuffersTransferData[0] = 52; + gBattleBuffersTransferData[1] = b; + gBattleBuffersTransferData[2] = c; + gBattleBuffersTransferData[3] = (c & 0xFF00) >> 8; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 4); } -void sub_800D1D8(u8 a, u8 b) +void EmitLinkStandbyMsg(u8 a, u8 b) { - gUnknown_03004040[0] = 53; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 53; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } -void dp01_build_cmdbuf_x38_a(u8 a, u8 b) +void EmitResetActionMoveSelection(u8 a, u8 b) { - gUnknown_03004040[0] = 54; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 54; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } void dp01_build_cmdbuf_x37_a(u8 a, u8 b) { - gUnknown_03004040[0] = 55; - gUnknown_03004040[1] = b; - dp01_prepare_buffer(a, gUnknown_03004040, 2); + gBattleBuffersTransferData[0] = 55; + gBattleBuffersTransferData[1] = b; + dp01_prepare_buffer(a, gBattleBuffersTransferData, 2); } diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index 6f153c340..f51779e65 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -4,7 +4,7 @@ #include "text.h" extern u16 gBattleTypeFlags; -extern u8 gUnknown_02024D26; +extern u8 gBattleOutcome; extern struct Window gUnknown_03004210; @@ -37,7 +37,7 @@ extern u8 BattleText_Tie[]; void PrintLinkBattleWinLossTie(void) { - if (gUnknown_02024D26 == 3) + if (gBattleOutcome == 3) { PRINT_MESSAGE(BattleText_Tie, TILE_OFFSET_WIN, CENTER_MESSAGE_X); return; @@ -47,7 +47,7 @@ void PrintLinkBattleWinLossTie(void) { // Double battle? - if (gUnknown_02024D26 == 1) + if (gBattleOutcome == 1) { // lp_field_18 = player position? @@ -89,7 +89,7 @@ void PrintLinkBattleWinLossTie(void) } - if (gUnknown_02024D26 == 1) + if (gBattleOutcome == 1) { if (gLinkPlayers[BATTLE_STRUCT->linkPlayerIndex].lp_field_18 != 0) { diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index a31a764fb..249146b37 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -24,11 +24,11 @@ #define NUM_BATTLE_SLOTS 4 -#define gBattleMonPartyPositions gUnknown_02024A6A +#define gBattleMonPartyPositions gBattlePartyID #define gCastformElevations gUnknownCastformData_0837F5A8 #define gCastformBackSpriteYCoords gUnknown_0837F5AC -#define gTransformPersonalities gUnknown_02024E70 -#define gBattleMonSprites gUnknown_02024BE0 +#define gTransformPersonalities gPID_perBank +#define gBattleMonSprites gObjectBankIDs struct Struct_unk_2019348 { @@ -105,11 +105,11 @@ extern u8 gBattleMonSprites[NUM_BATTLE_SLOTS]; extern u8 gBattleAnimPlayerMonIndex; extern u8 gBattleAnimEnemyMonIndex; extern s16 gBattleAnimArgs[8]; -extern u8 gUnknown_02024A72[NUM_BATTLE_SLOTS]; -extern u8 gUnknown_02024A68; // gNumBattleMons? +extern u8 gBanksBySide[NUM_BATTLE_SLOTS]; +extern u8 gNoOfAllBanks; // gNumBattleMons? extern struct OamMatrix gOamMatrices[]; extern struct Struct_2017810 unk_2017810[]; -extern u8 gUnknown_0202F7BE; +extern u8 gHappinessMoveAnim; EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL; EWRAM_DATA u32 filler_0202F7D8[3] = {0}; @@ -193,10 +193,10 @@ u8 sub_8077ABC(u8 slot, u8 a2) { switch (a2) { case 0: case 2: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][battle_get_per_side_status(slot)].field_0; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0; break; case 1: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][battle_get_per_side_status(slot)].field_1; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; break; case 3: case 4: @@ -208,7 +208,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) { species = unk_2019348.field_0; } } else { - if (battle_side_get_owner(slot)) { + if (GetBankSide(slot)) { transform = &gTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); @@ -241,7 +241,7 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 ret; u16 var; - if (!battle_side_get_owner(slot) || IsContest()) { + if (!GetBankSide(slot) || IsContest()) { if (species == SPECIES_UNOWN) { if (IsContest()) { if (unk_2019348.field_4 & 1) { @@ -299,7 +299,7 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 sub_8077DD8(u8 slot, u16 species) { u8 ret = 0; - if (battle_side_get_owner(slot) == 1) { + if (GetBankSide(slot) == 1) { if (!IsContest()) { if (species == SPECIES_CASTFORM) { ret = gCastformElevations[gBattleMonForms[slot]]; @@ -316,15 +316,15 @@ u8 sub_8077DD8(u8 slot, u16 species) { u8 sub_8077E44(u8 slot, u16 species, u8 a3) { u16 offset; u8 y; - if (battle_side_get_owner(slot) == 0 || IsContest()) { + if (GetBankSide(slot) == 0 || IsContest()) { offset = sub_8077BFC(slot, species); } else { offset = sub_8077BFC(slot, species); offset -= sub_8077DD8(slot, species); } - y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][battle_get_per_side_status(slot)].field_1; + y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; if (a3) { - if (battle_side_get_owner(slot) == 0) { + if (GetBankSide(slot) == 0) { y += 8; } if (y > 104) y = 104; @@ -366,7 +366,7 @@ u8 sub_8077F68(u8 slot) { u8 sub_8077F7C(u8 slot) { u16 var; - if (battle_side_get_owner(slot)) { + if (GetBankSide(slot)) { var = sub_8077ABC(slot, 1) + 16; } else { var = sub_8077ABC(slot, 1) + 17; @@ -380,7 +380,7 @@ u8 sub_8077FC0(u8 slot) { struct TransformStatus *transform; r6 = sub_8077ABC(slot, 1); if (!IsContest()) { - if (battle_side_get_owner(slot)) { + if (GetBankSide(slot)) { transform = &gTransformStatuses[slot]; if (!transform->species) { var = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); @@ -395,7 +395,7 @@ u8 sub_8077FC0(u8 slot) { var = transform->species; } } - if (battle_side_get_owner(slot)) { + if (GetBankSide(slot)) { r6 -= sub_8077DD8(slot, var); } } @@ -678,7 +678,7 @@ void sub_807867C(struct Sprite *sprite, s16 a2) { } else if (v1 < v2) { sprite->pos1.x += a2; } else { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->pos1.x -= a2; } else { sprite->pos1.x += a2; @@ -731,18 +731,18 @@ void sub_80787B0(struct Sprite *sprite, u8 a2) { sprite->pos1.y += gBattleAnimArgs[1]; } -u8 battle_side_get_owner(u8 slot) { - return gUnknown_02024A72[slot] & 1; +u8 GetBankSide(u8 slot) { + return gBanksBySide[slot] & 1; } -u8 battle_get_per_side_status(u8 slot) { - return gUnknown_02024A72[slot]; +u8 GetBankIdentity(u8 slot) { + return gBanksBySide[slot]; } -u8 battle_get_side_with_given_state(u8 slot) { +u8 GetBankByPlayerAI(u8 slot) { u8 i; - for (i = 0; i < gUnknown_02024A68; i++) { - if (gUnknown_02024A72[i] == slot) { + for (i = 0; i < gNoOfAllBanks; i++) { + if (gBanksBySide[i] == slot) { break; } } @@ -759,10 +759,10 @@ bool8 sub_8078874(u8 slot) { } return FALSE; } else { - if (gUnknown_02024A72[slot] == 0xff) { + if (gBanksBySide[slot] == 0xff) { return FALSE; } - if (battle_side_get_owner(slot)) { + if (GetBankSide(slot)) { if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) { return TRUE; } @@ -796,7 +796,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) { unk->field_0 = (u8 *)0x6008000; unk->field_4 = (u8 *)0x600f000; unk->field_8 = 0xe; - } else if (battle_get_per_side_status_permutated(gBattleAnimPlayerMonIndex) == 1) { + } else if (GetBankIdentity_permutated(gBattleAnimPlayerMonIndex) == 1) { unk->field_0 = (u8 *)0x6004000; unk->field_4 = (u8 *)0x600e000; unk->field_8 = 0x8; @@ -1184,25 +1184,25 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) { } } else { if (a1) { - if (b_side_obj__get_some_boolean(battle_get_side_with_given_state(0))) { - var |= 1 << (battle_get_side_with_given_state(0) + 16); + if (b_side_obj__get_some_boolean(GetBankByPlayerAI(0))) { + var |= 1 << (GetBankByPlayerAI(0) + 16); } } if (a2) { - if (b_side_obj__get_some_boolean(battle_get_side_with_given_state(2))) { - shift = battle_get_side_with_given_state(2) + 16; + if (b_side_obj__get_some_boolean(GetBankByPlayerAI(2))) { + shift = GetBankByPlayerAI(2) + 16; var |= 1 << shift; } } if (a3) { - if (b_side_obj__get_some_boolean(battle_get_side_with_given_state(1))) { - shift = battle_get_side_with_given_state(1) + 16; + if (b_side_obj__get_some_boolean(GetBankByPlayerAI(1))) { + shift = GetBankByPlayerAI(1) + 16; var |= 1 << shift; } } if (a4) { - if (b_side_obj__get_some_boolean(battle_get_side_with_given_state(3))) { - shift = battle_get_side_with_given_state(3) + 16; + if (b_side_obj__get_some_boolean(GetBankByPlayerAI(3))) { + shift = GetBankByPlayerAI(3) + 16; var |= 1 << shift; } } @@ -1215,7 +1215,7 @@ u8 sub_80793A8(u8 a1) { } u8 unref_sub_80793B0(u8 a1) { - return battle_get_side_with_given_state(a1); + return GetBankByPlayerAI(a1); } void sub_80793C4(struct Sprite *sprite) { @@ -1252,7 +1252,7 @@ void sub_807941C(struct Sprite *sprite) { v2 = 1; } sub_80787B0(sprite, v1); - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data0 = gBattleAnimArgs[4]; @@ -1264,7 +1264,7 @@ void sub_807941C(struct Sprite *sprite) { void sub_80794A8(struct Sprite *sprite) { sub_80787B0(sprite, 1); - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data0 = gBattleAnimArgs[4]; @@ -1297,7 +1297,7 @@ void sub_8079534(struct Sprite *sprite) { sub_8078764(sprite, r4); slot = gBattleAnimEnemyMonIndex; } - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sub_8078764(sprite, r4); @@ -1542,7 +1542,7 @@ u16 sub_8079B10(u8 sprite) { species = unk_2019348.field_0; return gMonBackPicCoords[species].y_offset; } else { - if (!battle_side_get_owner(i)) { + if (!GetBankSide(i)) { transform = &gTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES); @@ -1610,11 +1610,11 @@ u8 sub_8079C74(struct Task *task) { void sub_8079CEC(u8 task) { u16 v1; - if (gUnknown_0202F7BE <= 30) { + if (gHappinessMoveAnim <= 30) { v1 = 0; - } else if (gUnknown_0202F7BE <= 100) { + } else if (gHappinessMoveAnim <= 100) { v1 = 1; - } else if (gUnknown_0202F7BE <= 200) { + } else if (gHappinessMoveAnim <= 200) { v1 = 2; } else { v1 = 3; @@ -1640,7 +1640,7 @@ void unref_sub_8079D20(u8 priority) { void sub_8079E24() { int i; - for (i = 0; i < gUnknown_02024A68; i++) { + for (i = 0; i < gNoOfAllBanks; i++) { if (b_side_obj__get_some_boolean(i)) { gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i); gSprites[gBattleMonSprites[i]].oam.priority = 2; @@ -1658,7 +1658,7 @@ u8 sub_8079E90(u8 slot) { return 40; } } else { - status = battle_get_per_side_status(slot); + status = GetBankIdentity(slot); if (status == 0) { ret = 30; } else if (status == 2) { @@ -1673,7 +1673,7 @@ u8 sub_8079E90(u8 slot) { } u8 sub_8079ED4(u8 slot) { - u8 status = battle_get_per_side_status(slot); + u8 status = GetBankIdentity(slot); if (IsContest()) { return 2; } @@ -1684,10 +1684,10 @@ u8 sub_8079ED4(u8 slot) { } } -u8 battle_get_per_side_status_permutated(u8 slot) { +u8 GetBankIdentity_permutated(u8 slot) { u8 status; if (!IsContest()) { - status = battle_get_per_side_status(slot); + status = GetBankIdentity(slot); if (status == 0 || status == 3) { return 2; } else { @@ -1785,7 +1785,7 @@ int sub_807A100(u8 slot, u8 a2) { coords = &gMonBackPicCoords[0]; } } else { - if (!battle_side_get_owner(slot)) { + if (!GetBankSide(slot)) { transform = &gTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); @@ -1892,7 +1892,7 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) { void sub_807A544(struct Sprite *sprite) { sub_8078650(sprite); - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; sprite->hFlip = TRUE; @@ -1909,7 +1909,7 @@ void sub_807A544(struct Sprite *sprite) { } void sub_807A5C4(struct Sprite *sprite) { - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] *= -1; } else { @@ -1927,7 +1927,7 @@ void sub_807A5C4(struct Sprite *sprite) { void sub_807A63C(struct Sprite *sprite) { sub_8078650(sprite); - if (battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->pos1.x -= gBattleAnimArgs[0]; } else { sprite->pos1.x += gBattleAnimArgs[0]; @@ -1942,7 +1942,7 @@ void sub_807A69C(u8 taskId) { u16 dest; struct Task *task = &gTasks[taskId]; task->data[0] = obj_id_for_side_relative_to_move(0); - task->data[1] = (battle_side_get_owner(gBattleAnimPlayerMonIndex)) ? -8 : 8; + task->data[1] = (GetBankSide(gBattleAnimPlayerMonIndex)) ? -8 : 8; task->data[2] = 0; task->data[3] = 0; gSprites[task->data[0]].pos2.x -= task->data[0]; @@ -2014,7 +2014,7 @@ void sub_807A8D4(struct Sprite *sprite) { void sub_807A908(struct Sprite *sprite) { sprite->pos1.x = sub_8077ABC(gBattleAnimPlayerMonIndex, 2); sprite->pos1.y = sub_8077ABC(gBattleAnimPlayerMonIndex, 3); - if (!battle_side_get_owner(gBattleAnimPlayerMonIndex)) { + if (!GetBankSide(gBattleAnimPlayerMonIndex)) { sprite->data0 = 5; } else { sprite->data0 = -10; @@ -2041,7 +2041,7 @@ void sub_807A9BC(struct Sprite *sprite) { sprite->data0 = gBattleAnimArgs[2]; sprite->data2 = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data4 = sprite->pos1.y + gBattleAnimArgs[5]; - if (!battle_side_get_owner(gBattleAnimEnemyMonIndex)) { + if (!GetBankSide(gBattleAnimEnemyMonIndex)) { x = (u16)gBattleAnimArgs[4] + 30; sprite->pos1.x += x; sprite->pos1.y = gBattleAnimArgs[5] - 20; diff --git a/src/safari_zone.c b/src/safari_zone.c index fa6c11f52..a47c8e951 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -23,7 +23,7 @@ struct PokeblockFeeder static void ClearAllPokeblockFeeders(void); static void DecrementFeederStepCounters(void); -extern u8 gUnknown_02024D26; +extern u8 gBattleOutcome; EWRAM_DATA u8 gNumSafariBalls = 0; EWRAM_DATA static u16 gSafariZoneStepCounter = 0; @@ -99,14 +99,14 @@ void sub_80C824C(void) { SetMainCallback2(c2_exit_to_overworld_2_switch); } - else if (gUnknown_02024D26 == 8) + else if (gBattleOutcome == 8) { ScriptContext2_RunNewScript(&gUnknown_081C340A); warp_in(); gFieldCallback = sub_8080E44; SetMainCallback2(CB2_LoadMap); } - else if (gUnknown_02024D26 == 7) + else if (gBattleOutcome == 7) { ScriptContext1_SetupScript(&gUnknown_081C3459); ScriptContext1_Stop(); diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index c8171db52..fb72be527 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -31,7 +31,7 @@ extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gContestPlayerMonIndex; extern u8 gIsLinkContest; extern u8 gPlayerPartyCount; -extern u8 gSelectedOrderFromParty[]; +extern u8 gBufferedMoves[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; @@ -648,7 +648,7 @@ void sub_80C5568(void) void sub_80C5580(void) { - u8 var = gSelectedOrderFromParty[0]; + u8 var = gBufferedMoves[0]; switch(var) { @@ -671,7 +671,7 @@ void ChooseBattleTowerPlayerParty(void) void SetBattleTowerPlayerParty(void) { - u8 var = gSelectedOrderFromParty[0]; + u8 var = gBufferedMoves[0]; switch(var) { @@ -697,8 +697,8 @@ void ReducePlayerPartyToThree(void) // copy the selected pokemon according to the order. for(i = 0; i < 3; i++) - if(gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop - party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal + if(gBufferedMoves[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop + party[i] = gPlayerParty[gBufferedMoves[i] - 1]; // index is 0 based, not literal // delete the last 3 pokemon CpuFill32(0, gPlayerParty, sizeof gPlayerParty); @@ -44,7 +44,7 @@ struct UnkTvStruct s8 var0; }; -extern struct Struct30042E0 gUnknown_030042E0; +extern struct Struct30042E0 gBattleResults; extern u8 gUnknown_0300430A[11]; struct OutbreakPokemon @@ -101,9 +101,9 @@ extern u16 gScriptLastTalked; extern u8 gScriptContestCategory; extern u8 gScriptContestRank; extern u8 gUnknown_03004316[11]; -extern u8 gUnknown_02024D26; +extern u8 gBattleOutcome; -extern u16 gUnknown_02024C04; +extern u16 gLastUsedItem; extern u8 ewram[]; #define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000)) @@ -132,7 +132,7 @@ extern u16 sub_8135D3C(u8); extern u8 gScriptContestCategory; extern u8 gScriptContestRank; extern u8 gUnknown_03004316[11]; -extern u8 gUnknown_02024D26; +extern u8 gBattleOutcome; void sub_80BF334(void); void sub_80BF3A4(void); @@ -156,7 +156,7 @@ void sub_80BEA88(void); void sub_80BE138(TVShow *show); void sub_80BE160(TVShow *show); -extern u16 gUnknown_02024C04; +extern u16 gLastUsedItem; void sub_80BE5FC(void); void sub_80BE65C(void); @@ -430,33 +430,33 @@ void TakeTVShowInSearchOfTrainersOffTheAir(void); void GabbyAndTyBeforeInterview(void) { u8 i; - gSaveBlock1.gabbyAndTyData.mon1 = gUnknown_030042E0.unk6; - gSaveBlock1.gabbyAndTyData.mon2 = gUnknown_030042E0.unk26; - gSaveBlock1.gabbyAndTyData.lastMove = gUnknown_030042E0.unk22; + gSaveBlock1.gabbyAndTyData.mon1 = gBattleResults.unk6; + gSaveBlock1.gabbyAndTyData.mon2 = gBattleResults.unk26; + gSaveBlock1.gabbyAndTyData.lastMove = gBattleResults.unk22; if (gSaveBlock1.gabbyAndTyData.battleNum != 0xff) { gSaveBlock1.gabbyAndTyData.battleNum ++; } - gSaveBlock1.gabbyAndTyData.valA_0 = gUnknown_030042E0.unk5_0; - if (gUnknown_030042E0.unk0) + gSaveBlock1.gabbyAndTyData.valA_0 = gBattleResults.unk5_0; + if (gBattleResults.unk0) { gSaveBlock1.gabbyAndTyData.valA_1 = 1; } else { gSaveBlock1.gabbyAndTyData.valA_1 = 0; } - if (gUnknown_030042E0.unk3) + if (gBattleResults.unk3) { gSaveBlock1.gabbyAndTyData.valA_2 = 1; } else { gSaveBlock1.gabbyAndTyData.valA_2 = 0; } - if (!gUnknown_030042E0.unk5_1) + if (!gBattleResults.unk5_1) { for (i=0; i<11; i++) { - if (gUnknown_030042E0.unk36[i] != 0) + if (gBattleResults.unk36[i] != 0) { gSaveBlock1.gabbyAndTyData.valA_3 = 1; break; @@ -612,38 +612,38 @@ void sub_80BDEC8(void) { total = 0; sub_80BEB20(); sub_80BE778(); - if (gUnknown_030042E0.unk28 == 0) { + if (gBattleResults.unk28 == 0) { sub_80BE074(); } else { sub_80BE028(); - if (sub_80BF77C(0xffff) == 0 && StringCompareWithoutExtCtrlCodes(gSpeciesNames[gUnknown_030042E0.unk28], gUnknown_030042E0.unk2A) != 0) { + if (sub_80BF77C(0xffff) == 0 && StringCompareWithoutExtCtrlCodes(gSpeciesNames[gBattleResults.unk28], gBattleResults.unk2A) != 0) { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_CAUGHT) != 1) { for (i=0; i<11; i++) { - total += gUnknown_030042E0.unk36[i]; + total += gBattleResults.unk36[i]; } - if (total != 0 || gUnknown_030042E0.unk5_1 != 0) { + if (total != 0 || gBattleResults.unk5_1 != 0) { total = FALSE; show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; show->pokemonToday.var00 = TVSHOW_POKEMON_TODAY_CAUGHT; show->pokemonToday.var01 = total; - if (gUnknown_030042E0.unk5_1 != 0) { + if (gBattleResults.unk5_1 != 0) { total = 1; item = ITEM_MASTER_BALL; } else { for (i=0; i<11; i++) { - total += gUnknown_030042E0.unk36[i]; + total += gBattleResults.unk36[i]; } if (total > 0xff) { total = 0xff; } - item = gUnknown_02024C04; + item = gLastUsedItem; } show->pokemonToday.var12 = total; show->pokemonToday.ball = item; StringCopy(show->pokemonToday.playerName, gSaveBlock2.playerName); - StringCopy(show->pokemonToday.nickname, gUnknown_030042E0.unk2A); - show->pokemonToday.species = gUnknown_030042E0.unk28; + StringCopy(show->pokemonToday.nickname, gBattleResults.unk2A); + show->pokemonToday.species = gBattleResults.unk28; sub_80BE138(show); show->pokemonToday.language = GAME_LANGUAGE; show->pokemonToday.language2 = sub_80BDEAC(show->pokemonToday.nickname); @@ -663,8 +663,8 @@ void sub_80BE028(void) { buffer->worldOfMasters.var00 = TVSHOW_WORLD_OF_MASTERS; } buffer->worldOfMasters.var02++; - buffer->worldOfMasters.var04 = gUnknown_030042E0.unk28; - buffer->worldOfMasters.var08 = gUnknown_030042E0.unk6; + buffer->worldOfMasters.var04 = gBattleResults.unk28; + buffer->worldOfMasters.var08 = gBattleResults.unk6; buffer->worldOfMasters.var0a = gMapHeader.name; } @@ -681,7 +681,7 @@ void sub_80BE074(void) { if (total > 0xff) { total = 0xff; } - if (total > 2 && gUnknown_02024D26 == 1) { + if (total > 2 && gBattleOutcome == 1) { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_FAILED) != 1) { flag = FALSE; @@ -689,10 +689,10 @@ void sub_80BE074(void) { asm_comment("Here the wrong registers are used to hold the show ID and flag."); show->pokemonTodayFailed.var00 = TVSHOW_POKEMON_TODAY_FAILED; show->pokemonTodayFailed.var01 = flag; - show->pokemonTodayFailed.species = gUnknown_030042E0.unk6; - show->pokemonTodayFailed.species2 = gUnknown_030042E0.unk20; + show->pokemonTodayFailed.species = gBattleResults.unk6; + show->pokemonTodayFailed.species2 = gBattleResults.unk20; show->pokemonTodayFailed.var10 = total; - show->pokemonTodayFailed.var11 = gUnknown_02024D26; + show->pokemonTodayFailed.var11 = gBattleOutcome; show->pokemonTodayFailed.var12 = gMapHeader.name; StringCopy(show->pokemonTodayFailed.playerName, gSaveBlock2.playerName); sub_80BE138(show); @@ -731,7 +731,7 @@ _080BE088:\n\ _080BE0A2:\n\ cmp r5, 0x2\n\ bls _080BE112\n\ - ldr r7, _080BE120 @ =gUnknown_02024D26\n\ + ldr r7, _080BE120 @ =gBattleOutcome\n\ ldrb r0, [r7]\n\ cmp r0, 0x1\n\ bne _080BE112\n\ @@ -763,7 +763,7 @@ _080BE0A2:\n\ movs r0, 0x17\n\ strb r0, [r4]\n\ strb r1, [r4, 0x1]\n\ - ldr r1, _080BE12C @ =gUnknown_030042E0\n\ + ldr r1, _080BE12C @ =gBattleResults\n\ ldrh r0, [r1, 0x6]\n\ strh r0, [r4, 0xC]\n\ ldrh r0, [r1, 0x20]\n\ @@ -789,10 +789,10 @@ _080BE112:\n\ .align 2, 0\n\ _080BE118: .4byte 0x0000ffff\n\ _080BE11C: .4byte gUnknown_03004316\n\ -_080BE120: .4byte gUnknown_02024D26\n\ +_080BE120: .4byte gBattleOutcome\n\ _080BE124: .4byte gSaveBlock1 + 0x2738\n\ _080BE128: .4byte gUnknown_03005D38\n\ -_080BE12C: .4byte gUnknown_030042E0\n\ +_080BE12C: .4byte gBattleResults\n\ _080BE130: .4byte gMapHeader\n\ _080BE134: .4byte gSaveBlock2\n\ .syntax divided\n"); diff --git a/src/unknown_debug_menu.c b/src/unknown_debug_menu.c index 2cdcbaabd..6a8bad0d4 100644 --- a/src/unknown_debug_menu.c +++ b/src/unknown_debug_menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "menu.h" -extern u8 gUnknown_02024D1E[]; +extern u8 gBattleCommunication[]; extern u8 (*gCallback_03004AE8)(void); @@ -33,7 +33,7 @@ static u8 sub_814A464(void) } else { - gUnknown_02024D1E[0] = result; + gBattleCommunication[0] = result; gCallback_03004AE8 = gUnknown_0842C29C[result].func; return 0; } @@ -43,8 +43,8 @@ u8 sub_814A4B8(void) { gSaveBlock2.filler_A8.var_4AE = 3; gSaveBlock2.filler_A8.var_4AF = 3; - gSaveBlock2.filler_A8.var_4B4 = gUnknown_02024D1E[0] + 1; - gSaveBlock2.filler_A8.var_4B6 = gUnknown_02024D1E[0] + 1; + gSaveBlock2.filler_A8.var_4B4 = gBattleCommunication[0] + 1; + gSaveBlock2.filler_A8.var_4B6 = gBattleCommunication[0] + 1; gSaveBlock2.filler_A8.var_4B0 = 1; gSaveBlock2.filler_A8.var_4B2 = 1; CloseMenu(); |