summaryrefslogtreecommitdiff
path: root/src/recorded_battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/recorded_battle.c')
-rw-r--r--src/recorded_battle.c265
1 files changed, 128 insertions, 137 deletions
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index e843ff7cb..45b07ca7a 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -3,7 +3,7 @@
#include "recorded_battle.h"
#include "main.h"
#include "pokemon.h"
-#include "rng.h"
+#include "random.h"
#include "event_data.h"
#include "link.h"
#include "string_util.h"
@@ -13,23 +13,15 @@
#include "util.h"
#include "task.h"
#include "text.h"
+#include "battle_setup.h"
-#define BANK_RECORD_SIZE 664
+#define BATTLER_RECORD_SIZE 664
#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \
| BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \
| BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \
| BATTLE_TYPE_RECORDED | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE \
- | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYORGE | BATTLE_TYPE_RAYQUAZA))
-
-extern u32 gBattleTypeFlags;
-extern u16 gTrainerBattleOpponent_A;
-extern u16 gTrainerBattleOpponent_B;
-extern u16 gPartnerTrainerId;
-extern u8 gActiveBank;
-extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
-extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
-extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT];
+ | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA))
+
extern u8 gUnknown_03001278;
extern u8 gUnknown_03001279;
@@ -38,7 +30,7 @@ struct PlayerInfo
u32 trainerId;
u8 name[PLAYER_NAME_LENGTH];
u8 gender;
- u16 bank;
+ u16 battlerId;
u16 language;
};
@@ -52,13 +44,13 @@ struct RecordedBattleSave
{
struct Pokemon playerParty[PARTY_SIZE];
struct Pokemon opponentParty[PARTY_SIZE];
- u8 playersName[BATTLE_BANKS_COUNT][PLAYER_NAME_LENGTH];
- u8 playersGender[BATTLE_BANKS_COUNT];
- u32 playersTrainerId[BATTLE_BANKS_COUNT];
- u8 playersLanguage[BATTLE_BANKS_COUNT];
+ u8 playersName[MAX_BATTLERS_COUNT][PLAYER_NAME_LENGTH];
+ u8 playersGender[MAX_BATTLERS_COUNT];
+ u32 playersTrainerId[MAX_BATTLERS_COUNT];
+ u8 playersLanguage[MAX_BATTLERS_COUNT];
u32 rngSeed;
u32 battleFlags;
- u8 playersBank[BATTLE_BANKS_COUNT];
+ u8 playersBattlers[MAX_BATTLERS_COUNT];
u16 opponentA;
u16 opponentB;
u16 partnerId;
@@ -66,8 +58,8 @@ struct RecordedBattleSave
u8 field_4FC;
u8 field_4FD;
u8 field_4FE;
- u8 battleStyle : 1;
- u8 textSpeed : 3;
+ u8 battleStyle:1;
+ u8 textSpeed:3;
u32 AI_scripts;
u8 field_504[8];
u8 field_50C;
@@ -75,31 +67,31 @@ struct RecordedBattleSave
u16 field_50E[6];
u8 field_51A;
u8 field_51B;
- u8 battleRecord[BATTLE_BANKS_COUNT][BANK_RECORD_SIZE];
+ u8 battleRecord[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE];
u32 checksum;
};
EWRAM_DATA u32 gRecordedBattleRngSeed = 0;
EWRAM_DATA u32 gBattlePalaceMoveSelectionRngValue = 0;
-EWRAM_DATA static u8 sBattleRecords[BATTLE_BANKS_COUNT][BANK_RECORD_SIZE] = {0};
-EWRAM_DATA static u16 sRecordedBytesNo[BATTLE_BANKS_COUNT] = {0};
+EWRAM_DATA static u8 sBattleRecords[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE] = {0};
+EWRAM_DATA static u16 sRecordedBytesNo[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u16 sUnknown_0203C79C[4] = {0};
EWRAM_DATA static u16 sUnknown_0203C7A4[4] = {0};
EWRAM_DATA static u8 sUnknown_0203C7AC = 0;
EWRAM_DATA static u8 sUnknown_0203C7AD = 0;
-EWRAM_DATA static u8 sUnknown_0203C7AE = 0;
+EWRAM_DATA static u8 sFrontierFacility = 0;
EWRAM_DATA static u8 sUnknown_0203C7AF = 0;
EWRAM_DATA static MainCallback sCallback2_AfterRecordedBattle = NULL;
EWRAM_DATA u8 gUnknown_0203C7B4 = 0;
EWRAM_DATA static u8 sUnknown_0203C7B5 = 0;
-EWRAM_DATA static u8 sRecordedBattle_BattleStyle = 0;
-EWRAM_DATA static u8 sRecordedBattle_TextSpeed = 0;
-EWRAM_DATA static u32 sRecordedBattle_BattleFlags = 0;
-EWRAM_DATA static u32 sRecordedBattle_AI_Scripts = 0;
+EWRAM_DATA static u8 sBattleStyle = 0;
+EWRAM_DATA static u8 sTextSpeed = 0;
+EWRAM_DATA static u32 sBattleFlags = 0;
+EWRAM_DATA static u32 sAI_Scripts = 0;
EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0};
EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0};
-EWRAM_DATA static u16 sRecordedBattle_PlayerMonMoves[2][4] = {0};
-EWRAM_DATA static struct PlayerInfo sRecordedBattle_Players[BATTLE_BANKS_COUNT] = {0};
+EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0};
+EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u8 sUnknown_0203CCD0 = 0;
EWRAM_DATA static u8 sUnknown_0203CCD1[8] = {0};
EWRAM_DATA static u8 sUnknown_0203CCD9 = 0;
@@ -108,7 +100,6 @@ EWRAM_DATA static u16 sUnknown_0203CCDC[6] = {0};
EWRAM_DATA static u8 sUnknown_0203CCE8 = 0;
extern u32 sub_81A513C(void);
-extern void PlayMapChosenOrBattleBGM(bool8);
// this file's functions
static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2);
@@ -123,7 +114,7 @@ void sub_8184DA4(u8 arg0)
sUnknown_0203C7AC = arg0;
sUnknown_0203CCD0 = 0;
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
sRecordedBytesNo[i] = 0;
sUnknown_0203C79C[i] = 0;
@@ -131,12 +122,12 @@ void sub_8184DA4(u8 arg0)
if (arg0 == 1)
{
- for (j = 0; j < BANK_RECORD_SIZE; j++)
+ for (j = 0; j < BATTLER_RECORD_SIZE; j++)
{
sBattleRecords[i][j] |= 0xFF;
}
- sRecordedBattle_BattleFlags = gBattleTypeFlags;
- sRecordedBattle_AI_Scripts = gBattleResources->ai->aiFlags;
+ sBattleFlags = gBattleTypeFlags;
+ sAI_Scripts = gBattleResources->ai->aiFlags;
}
}
}
@@ -148,7 +139,7 @@ void sub_8184E58(void)
if (sUnknown_0203C7AC == 1)
{
gRecordedBattleRngSeed = gRngValue;
- sUnknown_0203C7AE = VarGet(VAR_FRONTIER_FACILITY);
+ sFrontierFacility = VarGet(VAR_FRONTIER_FACILITY);
sUnknown_0203C7AF = sub_81A513C();
}
else if (sUnknown_0203C7AC == 2)
@@ -164,77 +155,77 @@ void sub_8184E58(void)
gUnknown_0203C7B4 = GetMultiplayerId();
linkPlayersCount = GetLinkPlayerCount();
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
- sRecordedBattle_Players[i].trainerId = gLinkPlayers[i].trainerId;
- sRecordedBattle_Players[i].gender = gLinkPlayers[i].gender;
- sRecordedBattle_Players[i].bank = gLinkPlayers[i].lp_field_18;
- sRecordedBattle_Players[i].language = gLinkPlayers[i].language;
+ sPlayers[i].trainerId = gLinkPlayers[i].trainerId;
+ sPlayers[i].gender = gLinkPlayers[i].gender;
+ sPlayers[i].battlerId = gLinkPlayers[i].id;
+ sPlayers[i].language = gLinkPlayers[i].language;
if (i < linkPlayersCount)
{
StringCopy(text, gLinkPlayers[i].name);
StripExtCtrlCodes(text);
- StringCopy(sRecordedBattle_Players[i].name, text);
+ StringCopy(sPlayers[i].name, text);
}
else
{
for (j = 0; j < PLAYER_NAME_LENGTH; j++)
- sRecordedBattle_Players[i].name[j] = gLinkPlayers[i].name[j];
+ sPlayers[i].name[j] = gLinkPlayers[i].name[j];
}
}
}
else
{
- sRecordedBattle_Players[0].trainerId = (gSaveBlock2Ptr->playerTrainerId[0])
+ sPlayers[0].trainerId = (gSaveBlock2Ptr->playerTrainerId[0])
| (gSaveBlock2Ptr->playerTrainerId[1] << 8)
| (gSaveBlock2Ptr->playerTrainerId[2] << 16)
| (gSaveBlock2Ptr->playerTrainerId[3] << 24);
- sRecordedBattle_Players[0].gender = gSaveBlock2Ptr->playerGender;
- sRecordedBattle_Players[0].bank = 0;
- sRecordedBattle_Players[0].language = gGameLanguage;
+ sPlayers[0].gender = gSaveBlock2Ptr->playerGender;
+ sPlayers[0].battlerId = 0;
+ sPlayers[0].language = gGameLanguage;
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
- sRecordedBattle_Players[0].name[i] = gSaveBlock2Ptr->playerName[i];
+ sPlayers[0].name[i] = gSaveBlock2Ptr->playerName[i];
}
}
-void RecordedBattle_SetBankAction(u8 bank, u8 action)
+void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action)
{
- if (sRecordedBytesNo[bank] < BANK_RECORD_SIZE && sUnknown_0203C7AC != 2)
+ if (sRecordedBytesNo[battlerId] < BATTLER_RECORD_SIZE && sUnknown_0203C7AC != 2)
{
- sBattleRecords[bank][sRecordedBytesNo[bank]++] = action;
+ sBattleRecords[battlerId][sRecordedBytesNo[battlerId]++] = action;
}
}
-void RecordedBattle_ClearBankAction(u8 bank, u8 bytesToClear)
+void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear)
{
s32 i;
for (i = 0; i < bytesToClear; i++)
{
- sRecordedBytesNo[bank]--;
- sBattleRecords[bank][sRecordedBytesNo[bank]] |= 0xFF;
- if (sRecordedBytesNo[bank] == 0)
+ sRecordedBytesNo[battlerId]--;
+ sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] |= 0xFF;
+ if (sRecordedBytesNo[battlerId] == 0)
break;
}
}
-u8 RecordedBattle_ReadBankAction(u8 bank)
+u8 RecordedBattle_GetBattlerAction(u8 battlerId)
{
- // trying to read past array or invalid action byte, battle is over
- if (sRecordedBytesNo[bank] >= BANK_RECORD_SIZE || sBattleRecords[bank][sRecordedBytesNo[bank]] == 0xFF)
+ // Trying to read past array or invalid action byte, battle is over.
+ if (sRecordedBytesNo[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == 0xFF)
{
- gSpecialVar_Result = gBattleOutcome = BATTLE_PLAYER_TELEPORTED; // hah
+ gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah
ResetPaletteFadeControl();
- BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
SetMainCallback2(CB2_QuitRecordedBattle);
return -1;
}
else
{
- return sBattleRecords[bank][sRecordedBytesNo[bank]++];
+ return sBattleRecords[battlerId][sRecordedBytesNo[battlerId]++];
}
}
@@ -248,7 +239,7 @@ u8 sub_81850DC(u8 *arg0)
u8 i, j;
u8 ret = 0;
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
if (sRecordedBytesNo[i] != sUnknown_0203C79C[i])
{
@@ -350,41 +341,41 @@ u32 MoveRecordedBattleToSaveData(void)
battleSave->opponentParty[i] = sSavedOpponentParty[i];
}
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
for (j = 0; j < PLAYER_NAME_LENGTH; j++)
{
- battleSave->playersName[i][j] = sRecordedBattle_Players[i].name[j];
+ battleSave->playersName[i][j] = sPlayers[i].name[j];
}
- battleSave->playersGender[i] = sRecordedBattle_Players[i].gender;
- battleSave->playersLanguage[i] = sRecordedBattle_Players[i].language;
- battleSave->playersBank[i] = sRecordedBattle_Players[i].bank;
- battleSave->playersTrainerId[i] = sRecordedBattle_Players[i].trainerId;
+ battleSave->playersGender[i] = sPlayers[i].gender;
+ battleSave->playersLanguage[i] = sPlayers[i].language;
+ battleSave->playersBattlers[i] = sPlayers[i].battlerId;
+ battleSave->playersTrainerId[i] = sPlayers[i].trainerId;
}
battleSave->rngSeed = gRecordedBattleRngSeed;
- if (sRecordedBattle_BattleFlags & BATTLE_TYPE_LINK)
+ if (sBattleFlags & BATTLE_TYPE_LINK)
{
- battleSave->battleFlags = (sRecordedBattle_BattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20));
+ battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20));
battleSave->battleFlags |= BATTLE_TYPE_x2000000;
- if (sRecordedBattle_BattleFlags & BATTLE_TYPE_WILD)
+ if (sBattleFlags & BATTLE_TYPE_WILD)
{
battleSave->battleFlags |= BATTLE_TYPE_x80000000;
}
- else if (sRecordedBattle_BattleFlags & BATTLE_TYPE_MULTI)
+ else if (sBattleFlags & BATTLE_TYPE_MULTI)
{
- switch (sRecordedBattle_Players[0].bank)
+ switch (sPlayers[0].battlerId)
{
case 0:
case 2:
- if (!(sRecordedBattle_Players[gUnknown_0203C7B4].bank & 1))
+ if (!(sPlayers[gUnknown_0203C7B4].battlerId & 1))
battleSave->battleFlags |= BATTLE_TYPE_x80000000;
break;
case 1:
case 3:
- if ((sRecordedBattle_Players[gUnknown_0203C7B4].bank & 1))
+ if ((sPlayers[gUnknown_0203C7B4].battlerId & 1))
battleSave->battleFlags |= BATTLE_TYPE_x80000000;
break;
}
@@ -392,7 +383,7 @@ u32 MoveRecordedBattleToSaveData(void)
}
else
{
- battleSave->battleFlags = sRecordedBattle_BattleFlags;
+ battleSave->battleFlags = sBattleFlags;
}
battleSave->opponentA = gTrainerBattleOpponent_A;
@@ -400,11 +391,11 @@ u32 MoveRecordedBattleToSaveData(void)
battleSave->partnerId = gPartnerTrainerId;
battleSave->field_4FA = gUnknown_0203C7B4;
battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b;
- battleSave->field_4FD = sUnknown_0203C7AE;
+ battleSave->field_4FD = sFrontierFacility;
battleSave->field_4FE = sUnknown_0203C7AF;
battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed;
- battleSave->AI_scripts = sRecordedBattle_AI_Scripts;
+ battleSave->AI_scripts = sAI_Scripts;
/* Can't match it without proper knowledge of the Saveblock 2.
if (gTrainerBattleOpponent_A >= 300 && gTrainerBattleOpponent_A <= 399)
@@ -484,7 +475,7 @@ u32 MoveRecordedBattleToSaveData(void)
}
#else
-__attribute__((naked))
+NAKED
u32 MoveRecordedBattleToSaveData(void)
{
asm(".syntax unified\n\
@@ -534,7 +525,7 @@ _0818535E:\n\
lsls r3, 3\n\
adds r3, r7, r3\n\
str r3, [sp, 0x8]\n\
- ldr r5, =sRecordedBattle_Players\n\
+ ldr r5, =sPlayers\n\
mov r8, r6\n\
mov r12, r6\n\
movs r4, 0x96\n\
@@ -545,7 +536,7 @@ _0818535E:\n\
adds r4, r7, r0\n\
_081853AC:\n\
lsls r1, r6, 3\n\
- ldr r0, =sRecordedBattle_Players\n\
+ ldr r0, =sPlayers\n\
adds r0, 0x4\n\
mov r3, r8\n\
adds r2, r3, r0\n\
@@ -587,7 +578,7 @@ _081853BA:\n\
ldr r5, =gRecordedBattleRngSeed\n\
ldr r0, [r5]\n\
str r0, [r1]\n\
- ldr r0, =sRecordedBattle_BattleFlags\n\
+ ldr r0, =sBattleFlags\n\
ldr r2, [r0]\n\
movs r0, 0x2\n\
ands r0, r2\n\
@@ -617,7 +608,7 @@ _08185454:\n\
ands r2, r0\n\
cmp r2, 0\n\
beq _081854E2\n\
- ldr r2, =sRecordedBattle_Players\n\
+ ldr r2, =sPlayers\n\
ldrh r0, [r2, 0xE]\n\
cmp r0, 0x1\n\
beq _081854A8\n\
@@ -639,7 +630,7 @@ _0818547E:\n\
lsls r0, r1, 2\n\
adds r0, r1\n\
lsls r0, 2\n\
- ldr r4, =sRecordedBattle_Players\n\
+ ldr r4, =sPlayers\n\
adds r0, r4\n\
ldrh r1, [r0, 0xE]\n\
movs r0, 0x1\n\
@@ -656,7 +647,7 @@ _081854A8:\n\
lsls r0, r1, 2\n\
adds r0, r1\n\
lsls r0, 2\n\
- ldr r1, =sRecordedBattle_Players\n\
+ ldr r1, =sPlayers\n\
adds r0, r1\n\
ldrh r1, [r0, 0xE]\n\
movs r0, 0x1\n\
@@ -709,7 +700,7 @@ _081854E2:\n\
ldr r5, =0x000004fc\n\
adds r1, r7, r5\n\
strb r0, [r1]\n\
- ldr r0, =sUnknown_0203C7AE\n\
+ ldr r0, =sFrontierFacility\n\
ldrb r1, [r0]\n\
adds r2, 0x3\n\
adds r0, r7, r2\n\
@@ -744,7 +735,7 @@ _081854E2:\n\
movs r2, 0xA0\n\
lsls r2, 3\n\
adds r1, r7, r2\n\
- ldr r3, =sRecordedBattle_AI_Scripts\n\
+ ldr r3, =sAI_Scripts\n\
ldr r0, [r3]\n\
str r0, [r1]\n\
ldr r4, =0xfffffed4\n\
@@ -1302,7 +1293,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
static void CB2_RecordedBattleEnd(void)
{
- gSaveBlock2Ptr->frontierChosenLvl = sUnknown_0203C7AD;
+ gSaveBlock2Ptr->frontier.chosenLvl = sUnknown_0203C7AD;
gBattleOutcome = 0;
gBattleTypeFlags = 0;
gTrainerBattleOpponent_A = 0;
@@ -1339,7 +1330,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
gEnemyParty[i] = src->opponentParty[i];
}
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
for (var = FALSE, j = 0; j < PLAYER_NAME_LENGTH; j++)
{
@@ -1349,7 +1340,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
}
gLinkPlayers[i].gender = src->playersGender[i];
gLinkPlayers[i].language = src->playersLanguage[i];
- gLinkPlayers[i].lp_field_18 = src->playersBank[i];
+ gLinkPlayers[i].id = src->playersBattlers[i];
gLinkPlayers[i].trainerId = src->playersTrainerId[i];
if (var)
@@ -1362,12 +1353,12 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
gTrainerBattleOpponent_B = src->opponentB;
gPartnerTrainerId = src->partnerId;
gUnknown_0203C7B4 = src->field_4FA;
- sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl;
- sUnknown_0203C7AE = src->field_4FD;
+ sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.chosenLvl;
+ sFrontierFacility = src->field_4FD;
sUnknown_0203C7AF = src->field_4FE;
- sRecordedBattle_BattleStyle = src->battleStyle;
- sRecordedBattle_TextSpeed = src->textSpeed;
- sRecordedBattle_AI_Scripts = src->AI_scripts;
+ sBattleStyle = src->battleStyle;
+ sTextSpeed = src->textSpeed;
+ sAI_Scripts = src->AI_scripts;
for (i = 0; i < 8; i++)
{
@@ -1384,11 +1375,11 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
sUnknown_0203CCDC[i] = src->field_50E[i];
}
- gSaveBlock2Ptr->frontierChosenLvl = src->field_4FC;
+ gSaveBlock2Ptr->frontier.chosenLvl = src->field_4FC;
- for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
- for (j = 0; j < BANK_RECORD_SIZE; j++)
+ for (j = 0; j < BATTLER_RECORD_SIZE; j++)
{
sBattleRecords[i][j] = src->battleRecord[i][j];
}
@@ -1424,9 +1415,9 @@ static void CB2_RecordedBattle(void)
RunTasks();
}
-u8 sub_8185EA0(void)
+u8 GetRecordedBattleFrontierFacility(void)
{
- return sUnknown_0203C7AE;
+ return sFrontierFacility;
}
u8 sub_8185EAC(void)
@@ -1456,13 +1447,13 @@ static void RecordedBattle_RestoreSavedParties(void)
}
}
-u8 GetActiveBankLinkPlayerGender(void)
+u8 GetActiveBattlerLinkPlayerGender(void)
{
s32 i;
for (i = 0; i < MAX_LINK_PLAYERS; i++)
{
- if (gLinkPlayers[i].lp_field_18 == gActiveBank)
+ if (gLinkPlayers[i].id == gActiveBattler)
break;
}
@@ -1489,19 +1480,19 @@ u8 sub_8185FAC(void)
u8 GetBattleStyleInRecordedBattle(void)
{
- return sRecordedBattle_BattleStyle;
+ return sBattleStyle;
}
u8 GetTextSpeedInRecordedBattle(void)
{
- return sRecordedBattle_TextSpeed;
+ return sTextSpeed;
}
-void RecordedBattle_CopyBankMoves(void)
+void RecordedBattle_CopyBattlerMoves(void)
{
s32 i;
- if (GetBankSide(gActiveBank) == SIDE_OPPONENT)
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT)
return;
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
return;
@@ -1510,7 +1501,7 @@ void RecordedBattle_CopyBankMoves(void)
for (i = 0; i < 4; i++)
{
- sRecordedBattle_PlayerMonMoves[gActiveBank / 2][i] = gBattleMons[gActiveBank].moves[i];
+ sPlayerMonMoves[gActiveBattler / 2][i] = gBattleMons[gActiveBattler].moves[i];
}
}
@@ -1518,32 +1509,32 @@ void RecordedBattle_CopyBankMoves(void)
void sub_818603C(u8 arg0)
{
- s32 bank, j, k;
+ s32 battlerId, j, k;
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
return;
- for (bank = 0; bank < gNoOfAllBanks; bank++)
+ for (battlerId = 0; battlerId < gBattlersCount; battlerId++)
{
- if (GetBankSide(bank) != SIDE_OPPONENT) // player's side only
+ if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) // player's side only
{
if (arg0 == 1)
{
for (j = 0; j < 4; j++)
{
- if (gBattleMons[bank].moves[j] != sRecordedBattle_PlayerMonMoves[bank / 2][j])
+ if (gBattleMons[battlerId].moves[j] != sPlayerMonMoves[battlerId / 2][j])
break;
}
if (j != 4) // player's mon's move has been changed
{
- RecordedBattle_SetBankAction(bank, ACTION_MOVE_CHANGE);
+ RecordedBattle_SetBattlerAction(battlerId, ACTION_MOVE_CHANGE);
for (j = 0; j < 4; j++)
{
for (k = 0; k < 4; k++)
{
- if (gBattleMons[bank].moves[j] == sRecordedBattle_PlayerMonMoves[bank / 2][k])
+ if (gBattleMons[battlerId].moves[j] == sPlayerMonMoves[battlerId / 2][k])
{
- RecordedBattle_SetBankAction(bank, k);
+ RecordedBattle_SetBattlerAction(battlerId, k);
break;
}
}
@@ -1552,7 +1543,7 @@ void sub_818603C(u8 arg0)
}
else
{
- if (sBattleRecords[bank][sRecordedBytesNo[bank]] == ACTION_MOVE_CHANGE)
+ if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE)
{
u8 ppBonuses[4];
u8 array1[4];
@@ -1561,58 +1552,58 @@ void sub_818603C(u8 arg0)
u8 array3[8];
u8 var;
- RecordedBattle_ReadBankAction(bank);
+ RecordedBattle_GetBattlerAction(battlerId);
for (j = 0; j < 4; j++)
{
- ppBonuses[j] = ((gBattleMons[bank].ppBonuses & ((3 << (j << 1)))) >> (j << 1));
+ ppBonuses[j] = ((gBattleMons[battlerId].ppBonuses & ((3 << (j << 1)))) >> (j << 1));
}
for (j = 0; j < 4; j++)
{
- array1[j] = RecordedBattle_ReadBankAction(bank);
- movePp.moves[j] = gBattleMons[bank].moves[array1[j]];
- movePp.pp[j] = gBattleMons[bank].pp[array1[j]];
+ array1[j] = RecordedBattle_GetBattlerAction(battlerId);
+ movePp.moves[j] = gBattleMons[battlerId].moves[array1[j]];
+ movePp.pp[j] = gBattleMons[battlerId].pp[array1[j]];
array3[j] = ppBonuses[array1[j]];
- array2[j] = (gDisableStructs[bank].unk18_b & gBitTable[j]) >> j;
+ array2[j] = (gDisableStructs[battlerId].unk18_b & gBitTable[j]) >> j;
}
for (j = 0; j < 4; j++)
{
- gBattleMons[bank].moves[j] = movePp.moves[j];
- gBattleMons[bank].pp[j] = movePp.pp[j];
+ gBattleMons[battlerId].moves[j] = movePp.moves[j];
+ gBattleMons[battlerId].pp[j] = movePp.pp[j];
}
- gBattleMons[bank].ppBonuses = 0;
- gDisableStructs[bank].unk18_b = 0;
+ gBattleMons[battlerId].ppBonuses = 0;
+ gDisableStructs[battlerId].unk18_b = 0;
for (j = 0; j < 4; j++)
{
- gBattleMons[bank].ppBonuses |= (array3[j]) << (j << 1);
- gDisableStructs[bank].unk18_b |= (array2[j]) << (j);
+ gBattleMons[battlerId].ppBonuses |= (array3[j]) << (j << 1);
+ gDisableStructs[battlerId].unk18_b |= (array2[j]) << (j);
}
- if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED))
+ if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED))
{
for (j = 0; j < 4; j++)
{
- ppBonuses[j] = ((GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1));
+ ppBonuses[j] = ((GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1));
}
for (j = 0; j < 4; j++)
{
- movePp.moves[j] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_MOVE1 + array1[j], NULL);
- movePp.pp[j] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_PP1 + array1[j], NULL);
+ movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + array1[j], NULL);
+ movePp.pp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + array1[j], NULL);
array3[j] = ppBonuses[array1[j]];
}
for (j = 0; j < 4; j++)
{
- SetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_MOVE1 + j, &movePp.moves[j]);
- SetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_PP1 + j, &movePp.pp[j]);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + j, &movePp.moves[j]);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + j, &movePp.pp[j]);
}
var = 0;
for (j = 0; j < 4; j++)
{
var |= (array3[j]) << (j << 1);
}
- SetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_PP_BONUSES, &var);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, &var);
}
- gChosenMovesByBanks[bank] = gBattleMons[bank].moves[*(gBattleStruct->chosenMovePositions + bank)];
+ gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)];
}
}
}
@@ -1621,7 +1612,7 @@ void sub_818603C(u8 arg0)
u32 GetAiScriptsInRecordedBattle(void)
{
- return sRecordedBattle_AI_Scripts;
+ return sAI_Scripts;
}
void sub_8186444(void)