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.c1061
1 files changed, 140 insertions, 921 deletions
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 355ed5e07..50dd2efa8 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -14,17 +14,16 @@
#include "task.h"
#include "text.h"
#include "battle_setup.h"
+#include "frontier_util.h"
+#include "constants/trainers.h"
#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_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \
+ | 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_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \
| BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA))
-extern u8 gUnknown_03001278;
-extern u8 gUnknown_03001279;
-
struct PlayerInfo
{
u32 trainerId;
@@ -55,18 +54,18 @@ struct RecordedBattleSave
u16 opponentB;
u16 partnerId;
u16 field_4FA;
- u8 field_4FC;
- u8 field_4FD;
- u8 field_4FE;
- u8 battleStyle:1;
+ u8 lvlMode;
+ u8 frontierFacility;
+ u8 frontierBrainSymbol;
+ u8 battleScene:1;
u8 textSpeed:3;
u32 AI_scripts;
- u8 field_504[8];
- u8 field_50C;
- u8 field_50D;
- u16 field_50E[6];
- u8 field_51A;
- u8 field_51B;
+ u8 recordMixFriendName[PLAYER_NAME_LENGTH + 1];
+ u8 recordMixFriendClass;
+ u8 apprenticeId;
+ u16 easyChatSpeech[6];
+ u8 recordMixFriendLanguage;
+ u8 apprenticeLanguage;
u8 battleRecord[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE];
u32 checksum;
};
@@ -78,13 +77,13 @@ 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 sLvlMode = 0;
EWRAM_DATA static u8 sFrontierFacility = 0;
-EWRAM_DATA static u8 sUnknown_0203C7AF = 0;
+EWRAM_DATA static u8 sFrontierBrainSymbol = 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 sBattleStyle = 0;
+EWRAM_DATA static u8 sBattleScene = 0;
EWRAM_DATA static u8 sTextSpeed = 0;
EWRAM_DATA static u32 sBattleFlags = 0;
EWRAM_DATA static u32 sAI_Scripts = 0;
@@ -93,17 +92,18 @@ EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {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;
-EWRAM_DATA static u8 sUnknown_0203CCDA = 0;
-EWRAM_DATA static u16 sUnknown_0203CCDC[6] = {0};
-EWRAM_DATA static u8 sUnknown_0203CCE8 = 0;
+EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0};
+EWRAM_DATA static u8 sRecordMixFriendClass = 0;
+EWRAM_DATA static u8 sApprenticeId = 0;
+EWRAM_DATA static u16 sEasyChatSpeech[6] = {0};
+EWRAM_DATA static u8 sBattleOutcome = 0;
-extern u32 sub_81A513C(void);
+IWRAM_DATA static u8 sRecordMixFriendLanguage;
+IWRAM_DATA static u8 sApprenticeLanguage;
// this file's functions
static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2);
-static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst);
+static bool32 CopyRecordedBattleFromSave(struct RecordedBattleSave *dst);
static void RecordedBattle_RestoreSavedParties(void);
static void CB2_RecordedBattle(void);
@@ -140,7 +140,7 @@ void sub_8184E58(void)
{
gRecordedBattleRngSeed = gRngValue;
sFrontierFacility = VarGet(VAR_FRONTIER_FACILITY);
- sUnknown_0203C7AF = sub_81A513C();
+ sFrontierBrainSymbol = GetFronterBrainSymbol();
}
else if (sUnknown_0203C7AC == 2)
{
@@ -297,7 +297,7 @@ static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2)
bool32 CanCopyRecordedBattleSaveData(void)
{
struct RecordedBattleSave *dst = AllocZeroed(sizeof(struct RecordedBattleSave));
- bool32 ret = AllocTryCopyRecordedBattleSaveData(dst);
+ bool32 ret = CopyRecordedBattleFromSave(dst);
Free(dst);
return ret;
}
@@ -314,26 +314,29 @@ static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save)
return TRUE;
}
-static bool32 sub_81852F0(struct RecordedBattleSave *battleSave, struct RecordedBattleSave *saveSection)
+static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct RecordedBattleSave *saveSection)
{
- memset(saveSection, 0, sizeof(struct SaveSection));
+ memset(saveSection, 0, 0x1000);
memcpy(saveSection, battleSave, sizeof(*battleSave));
saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4);
if (sub_8153634(31, (void*)(saveSection)) != 1)
return FALSE;
-
- return TRUE;
+ else
+ return TRUE;
}
-#ifdef NONMATCHING
-u32 MoveRecordedBattleToSaveData(void)
+bool32 MoveRecordedBattleToSaveData(void)
{
s32 i, j;
- u8 var = 0;
- struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
- struct SaveSection *savSection = AllocZeroed(sizeof(struct SaveSection));
+ bool32 ret;
+ struct RecordedBattleSave *battleSave, *savSection;
+ u8 var;
+
+ var = 0;
+ battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
+ savSection = AllocZeroed(0x1000);
for (i = 0; i < PARTY_SIZE; i++)
{
@@ -357,8 +360,7 @@ u32 MoveRecordedBattleToSaveData(void)
if (sBattleFlags & BATTLE_TYPE_LINK)
{
- battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20));
- battleSave->battleFlags |= BATTLE_TYPE_x2000000;
+ battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)) | BATTLE_TYPE_x2000000;
if (sBattleFlags & BATTLE_TYPE_IS_MASTER)
{
@@ -390,884 +392,101 @@ u32 MoveRecordedBattleToSaveData(void)
battleSave->opponentB = gTrainerBattleOpponent_B;
battleSave->partnerId = gPartnerTrainerId;
battleSave->field_4FA = gUnknown_0203C7B4;
- battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b;
- battleSave->field_4FD = sFrontierFacility;
- battleSave->field_4FE = sUnknown_0203C7AF;
- battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
+ battleSave->lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ battleSave->frontierFacility = sFrontierFacility;
+ battleSave->frontierBrainSymbol = sFrontierBrainSymbol;
+ battleSave->battleScene = gSaveBlock2Ptr->optionsBattleSceneOff;
battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed;
battleSave->AI_scripts = sAI_Scripts;
- /* Can't match it without proper knowledge of the Saveblock 2.
- if (gTrainerBattleOpponent_A >= 300 && gTrainerBattleOpponent_A <= 399)
+ if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_FRIEND && gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
+ if (sBattleOutcome == B_OUTCOME_WON)
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_28[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1C[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_E4;
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].language;
}
- else if (gTrainerBattleOpponent_B >= 300 && gTrainerBattleOpponent_B <= 399)
+ else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_FRIEND && gTrainerBattleOpponent_B < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
+ if (sBattleOutcome == B_OUTCOME_WON)
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_28[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1C[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_E4;
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].language;
}
- else if (gPartnerTrainerId >= 300 && gPartnerTrainerId <= 399)
+ else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_FRIEND && gPartnerTrainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
- {
- for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_28[i];
- }
- }
- else
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].language;
+ }
+
+ if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ for (i = 0; i < 6; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+ else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ for (i = 0; i < 6; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+ else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gPartnerTrainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
+
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gPartnerTrainerId - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ for (j = 0; j < BATTLER_RECORD_SIZE; j++)
{
- for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1C[i];
- }
+ battleSave->battleRecord[i][j] = sBattleRecords[i][j];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_E4;
}
- */
-}
+ while (1)
+ {
+ ret = RecordedBattleToSave(battleSave, savSection);
+ if (ret == TRUE)
+ break;
+ var++;
+ if (var >= 3)
+ break;
+ }
-#else
-NAKED
-u32 MoveRecordedBattleToSaveData(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- movs r0, 0\n\
- str r0, [sp, 0x4]\n\
- movs r0, 0xF8\n\
- lsls r0, 4\n\
- bl AllocZeroed\n\
- adds r7, r0, 0\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- bl AllocZeroed\n\
- str r0, [sp]\n\
- movs r6, 0\n\
-_0818535E:\n\
- movs r0, 0x64\n\
- adds r4, r6, 0\n\
- muls r4, r0\n\
- adds r5, r7, r4\n\
- ldr r1, =sSavedPlayerParty\n\
- adds r1, r4, r1\n\
- adds r0, r5, 0\n\
- movs r2, 0x64\n\
- bl memcpy\n\
- movs r1, 0x96\n\
- lsls r1, 2\n\
- adds r5, r1\n\
- ldr r0, =sSavedOpponentParty\n\
- adds r4, r0\n\
- adds r0, r5, 0\n\
- adds r1, r4, 0\n\
- movs r2, 0x64\n\
- bl memcpy\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _0818535E\n\
- movs r6, 0\n\
- ldr r2, =gSaveBlock2Ptr\n\
- mov r9, r2\n\
- movs r3, 0x9A\n\
- lsls r3, 3\n\
- adds r3, r7, r3\n\
- str r3, [sp, 0x8]\n\
- ldr r5, =sPlayers\n\
- mov r8, r6\n\
- mov r12, r6\n\
- movs r4, 0x96\n\
- lsls r4, 3\n\
- adds r4, r7\n\
- mov r10, r4\n\
- ldr r0, =0x000004e4\n\
- adds r4, r7, r0\n\
-_081853AC:\n\
- lsls r1, r6, 3\n\
- ldr r0, =sPlayers\n\
- adds r0, 0x4\n\
- mov r3, r8\n\
- adds r2, r3, r0\n\
- add r1, r10\n\
- movs r3, 0x7\n\
-_081853BA:\n\
- ldrb r0, [r2]\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r1, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _081853BA\n\
- ldr r0, [sp, 0x8]\n\
- adds r1, r0, r6\n\
- ldrb r0, [r5, 0xC]\n\
- strb r0, [r1]\n\
- ldrh r0, [r5, 0x10]\n\
- strb r0, [r4]\n\
- ldrh r0, [r5, 0xE]\n\
- strb r0, [r4, 0xC]\n\
- ldr r1, =0x000004d4\n\
- adds r0, r7, r1\n\
- add r0, r12\n\
- ldr r1, [r5]\n\
- str r1, [r0]\n\
- adds r5, 0x14\n\
- movs r2, 0x14\n\
- add r8, r2\n\
- movs r3, 0x4\n\
- add r12, r3\n\
- adds r4, 0x1\n\
- adds r6, 0x1\n\
- cmp r6, 0x3\n\
- ble _081853AC\n\
- movs r4, 0x9D\n\
- lsls r4, 3\n\
- adds r1, r7, r4\n\
- ldr r5, =gRecordedBattleRngSeed\n\
- ldr r0, [r5]\n\
- str r0, [r1]\n\
- ldr r0, =sBattleFlags\n\
- ldr r2, [r0]\n\
- movs r0, 0x2\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _081854DC\n\
- ldr r1, =0x000004ec\n\
- adds r3, r7, r1\n\
- movs r1, 0x23\n\
- negs r1, r1\n\
- ands r1, r2\n\
- movs r0, 0x80\n\
- lsls r0, 18\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- movs r0, 0x4\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _08185454\n\
- movs r0, 0x80\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- b _081854E2\n\
- .pool\n\
-_08185454:\n\
- movs r0, 0x40\n\
- ands r2, r0\n\
- cmp r2, 0\n\
- beq _081854E2\n\
- ldr r2, =sPlayers\n\
- ldrh r0, [r2, 0xE]\n\
- cmp r0, 0x1\n\
- beq _081854A8\n\
- cmp r0, 0x1\n\
- bgt _08185474\n\
- cmp r0, 0\n\
- beq _0818547E\n\
- b _081854E2\n\
- .pool\n\
-_08185474:\n\
- cmp r0, 0x2\n\
- beq _0818547E\n\
- cmp r0, 0x3\n\
- beq _081854A8\n\
- b _081854E2\n\
-_0818547E:\n\
- ldr r3, =gUnknown_0203C7B4\n\
- ldrb r1, [r3]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r4, =sPlayers\n\
- adds r0, r4\n\
- ldrh r1, [r0, 0xE]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _081854E2\n\
- ldr r5, =0x000004ec\n\
- adds r0, r7, r5\n\
- b _081854C4\n\
- .pool\n\
-_081854A8:\n\
- ldr r0, =gUnknown_0203C7B4\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, =sPlayers\n\
- adds r0, r1\n\
- ldrh r1, [r0, 0xE]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _081854E2\n\
- ldr r2, =0x000004ec\n\
- adds r0, r7, r2\n\
-_081854C4:\n\
- ldr r1, [r0]\n\
- movs r2, 0x80\n\
- lsls r2, 24\n\
- orrs r1, r2\n\
- str r1, [r0]\n\
- b _081854E2\n\
- .pool\n\
-_081854DC:\n\
- ldr r3, =0x000004ec\n\
- adds r0, r7, r3\n\
- str r2, [r0]\n\
-_081854E2:\n\
- ldr r4, =gTrainerBattleOpponent_A\n\
- ldrh r1, [r4]\n\
- ldr r5, =0x000004f4\n\
- adds r0, r7, r5\n\
- strh r1, [r0]\n\
- ldr r0, =gTrainerBattleOpponent_B\n\
- ldrh r1, [r0]\n\
- ldr r2, =0x000004f6\n\
- adds r0, r7, r2\n\
- strh r1, [r0]\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r1, [r3]\n\
- movs r4, 0x9F\n\
- lsls r4, 3\n\
- adds r0, r7, r4\n\
- strh r1, [r0]\n\
- ldr r5, =gUnknown_0203C7B4\n\
- ldrb r1, [r5]\n\
- adds r2, 0x4\n\
- adds r0, r7, r2\n\
- strh r1, [r0]\n\
- mov r3, r9\n\
- ldr r0, [r3]\n\
- ldr r4, =0x00000ca9\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- lsls r0, 30\n\
- lsrs r0, 30\n\
- ldr r5, =0x000004fc\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- ldr r0, =sFrontierFacility\n\
- ldrb r1, [r0]\n\
- adds r2, 0x3\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
- ldr r3, =sUnknown_0203C7AF\n\
- ldrb r1, [r3]\n\
- ldr r4, =0x000004fe\n\
- adds r0, r7, r4\n\
- strb r1, [r0]\n\
- mov r5, r9\n\
- ldr r0, [r5]\n\
- ldrb r1, [r0, 0x15]\n\
- lsls r1, 29\n\
- ldr r0, =0x000004ff\n\
- adds r3, r7, r0\n\
- lsrs r1, 31\n\
- ldrb r2, [r3]\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- ldr r1, [r5]\n\
- ldrb r1, [r1, 0x14]\n\
- lsls r1, 29\n\
- lsrs r1, 28\n\
- movs r2, 0xF\n\
- negs r2, r2\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- movs r2, 0xA0\n\
- lsls r2, 3\n\
- adds r1, r7, r2\n\
- ldr r3, =sAI_Scripts\n\
- ldr r0, [r3]\n\
- str r0, [r1]\n\
- ldr r4, =0xfffffed4\n\
- adds r1, r4, 0\n\
- ldr r5, =gTrainerBattleOpponent_A\n\
- ldrh r5, [r5]\n\
- adds r0, r1, r5\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bls _08185580\n\
- b _081856C4\n\
-_08185580:\n\
- movs r6, 0\n\
- ldr r0, =0x00000504\n\
- adds r3, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- mov r12, r1\n\
- adds r2, r4, 0\n\
- mov r8, r2\n\
- ldr r4, =0x0000073c\n\
-_08185592:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _08185592\n\
- mov r0, r9\n\
- ldr r2, [r0]\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r1]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r4, =0x00000739\n\
- adds r2, r4\n\
- ldrb r1, [r2]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- ldr r1, =sUnknown_0203CCE8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1\n\
- bne _08185664\n\
- movs r6, 0\n\
- ldr r2, =0x0000050e\n\
- adds r4, r7, r2\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_A\n\
- mov r8, r5\n\
- adds r5, r3, 0\n\
-_081855E6:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- movs r0, 0xEC\n\
- lsls r0, 3\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _081855E6\n\
- b _08185696\n\
- .pool\n\
-_08185664:\n\
- movs r6, 0\n\
- ldr r1, =0x0000050e\n\
- adds r4, r7, r1\n\
- mov r10, r9\n\
- ldr r2, =gTrainerBattleOpponent_A\n\
- mov r8, r2\n\
- adds r5, r3, 0\n\
-_08185672:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- ldr r0, =0x00000754\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185672\n\
-_08185696:\n\
- mov r1, r9\n\
- ldr r2, [r1]\n\
- ldr r3, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r3]\n\
- ldr r4, =0xfffffed4\n\
- adds r0, r4\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r5, =0x0000081c\n\
- adds r2, r5\n\
- ldrb r1, [r2]\n\
- b _08185856\n\
- .pool\n\
-_081856C4:\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r3, [r3]\n\
- adds r0, r1, r3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bls _081856D4\n\
- b _081857E4\n\
-_081856D4:\n\
- movs r6, 0\n\
- ldr r4, =0x00000504\n\
- adds r3, r7, r4\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_B\n\
- mov r12, r5\n\
- ldr r0, =0xfffffed4\n\
- mov r8, r0\n\
- ldr r4, =0x0000073c\n\
-_081856E6:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _081856E6\n\
- mov r0, r9\n\
- ldr r2, [r0]\n\
- ldr r1, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r1]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r4, =0x00000739\n\
- adds r2, r4\n\
- ldrb r1, [r2]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- ldr r1, =sUnknown_0203CCE8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1\n\
- bne _08185784\n\
- movs r6, 0\n\
- ldr r2, =0x0000050e\n\
- adds r4, r7, r2\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_B\n\
- mov r8, r5\n\
- adds r5, r3, 0\n\
-_0818573A:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- movs r0, 0xEC\n\
- lsls r0, 3\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _0818573A\n\
- b _081857B6\n\
- .pool\n\
-_08185784:\n\
- movs r6, 0\n\
- ldr r1, =0x0000050e\n\
- adds r4, r7, r1\n\
- mov r10, r9\n\
- ldr r2, =gTrainerBattleOpponent_B\n\
- mov r8, r2\n\
- adds r5, r3, 0\n\
-_08185792:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- ldr r0, =0x00000754\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185792\n\
-_081857B6:\n\
- mov r1, r9\n\
- ldr r2, [r1]\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r3]\n\
- ldr r4, =0xfffffed4\n\
- adds r0, r4\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r5, =0x0000081c\n\
- adds r2, r5\n\
- ldrb r1, [r2]\n\
- b _08185856\n\
- .pool\n\
-_081857E4:\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r3, [r3]\n\
- adds r0, r1, r3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bhi _0818585C\n\
- movs r6, 0\n\
- ldr r4, =0x00000504\n\
- adds r3, r7, r4\n\
- mov r10, r9\n\
- ldr r5, =gPartnerTrainerId\n\
- mov r12, r5\n\
- ldr r0, =0xfffffed4\n\
- mov r8, r0\n\
- ldr r4, =0x0000073c\n\
-_08185804:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _08185804\n\
- mov r0, r9\n\
- ldr r1, [r0]\n\
- ldr r2, =gPartnerTrainerId\n\
- ldrh r0, [r2]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r2, 0xEC\n\
- muls r0, r2\n\
- adds r1, r0\n\
- ldr r4, =0x00000739\n\
- adds r1, r4\n\
- ldrb r1, [r1]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- mov r0, r9\n\
- ldr r1, [r0]\n\
- ldr r4, =gPartnerTrainerId\n\
- ldrh r0, [r4]\n\
- adds r0, r3\n\
- muls r0, r2\n\
- adds r1, r0\n\
- ldr r5, =0x0000081c\n\
- adds r1, r5\n\
- ldrb r1, [r1]\n\
-_08185856:\n\
- ldr r2, =0x0000051a\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
-_0818585C:\n\
- ldr r3, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r3]\n\
- ldr r1, =0x0000018f\n\
- cmp r0, r1\n\
- bls _08185900\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- movs r6, 0\n\
- ldr r0, =0x0000050e\n\
- adds r4, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- mov r8, r1\n\
- adds r5, r3, 0\n\
-_08185894:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r0, r8\n\
- ldrh r1, [r0]\n\
- adds r1, r5\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r3, r0\n\
- movs r1, 0x82\n\
- lsls r1, 1\n\
- adds r2, r1\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185894\n\
- mov r3, r9\n\
- ldr r2, [r3]\n\
- ldr r4, =gTrainerBattleOpponent_A\n\
- ldrh r1, [r4]\n\
- ldr r5, =0xfffffe70\n\
- adds r1, r5\n\
- b _081859AC\n\
- .pool\n\
-_08185900:\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r3]\n\
- cmp r0, r1\n\
- bls _0818597C\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- movs r6, 0\n\
- ldr r0, =0x0000050e\n\
- adds r4, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_B\n\
- mov r8, r1\n\
- adds r5, r3, 0\n\
-_08185936:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r0, r8\n\
- ldrh r1, [r0]\n\
- adds r1, r5\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r3, r0\n\
- movs r1, 0x82\n\
- lsls r1, 1\n\
- adds r2, r1\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185936\n\
- mov r3, r9\n\
- ldr r2, [r3]\n\
- ldr r4, =gTrainerBattleOpponent_B\n\
- ldrh r1, [r4]\n\
- ldr r5, =0xfffffe70\n\
- adds r1, r5\n\
- b _081859AC\n\
- .pool\n\
-_0818597C:\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r0, [r3]\n\
- cmp r0, r1\n\
- bls _081859C0\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- ldr r2, [r4]\n\
- ldr r0, =gPartnerTrainerId\n\
- ldrh r1, [r0]\n\
- adds r1, r3\n\
-_081859AC:\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- ldr r1, =0x0000011b\n\
- adds r0, r2, r1\n\
- ldrb r1, [r0]\n\
- ldr r2, =0x0000051b\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
-_081859C0:\n\
- movs r6, 0\n\
- ldr r3, =0x00000297\n\
- mov r10, r3\n\
- ldr r4, =sBattleRecords\n\
- mov r9, r4\n\
- movs r5, 0xA6\n\
- lsls r5, 2\n\
- mov r8, r5\n\
- ldr r0, =0x0000051c\n\
- adds r5, r7, r0\n\
-_081859D4:\n\
- adds r4, r6, 0x1\n\
- mov r0, r8\n\
- muls r0, r6\n\
- mov r1, r9\n\
- adds r2, r0, r1\n\
- adds r1, r0, r5\n\
- mov r3, r10\n\
- adds r3, 0x1\n\
-_081859E4:\n\
- ldrb r0, [r2]\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r1, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bne _081859E4\n\
- adds r6, r4, 0\n\
- cmp r6, 0x3\n\
- ble _081859D4\n\
-_081859F8:\n\
- adds r0, r7, 0\n\
- ldr r1, [sp]\n\
- bl sub_81852F0\n\
- adds r4, r0, 0\n\
- cmp r4, 0x1\n\
- beq _08185A14\n\
- ldr r0, [sp, 0x4]\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x4]\n\
- cmp r0, 0x2\n\
- bls _081859F8\n\
-_08185A14:\n\
- adds r0, r7, 0\n\
- bl Free\n\
- ldr r0, [sp]\n\
- bl Free\n\
- adds r0, r4, 0\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool\n\
- .syntax divided");
+ free(battleSave);
+ free(savSection);
+ return ret;
}
-#endif // NONMATCHING
static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer)
{
@@ -1282,7 +501,7 @@ static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, stru
return TRUE;
}
-static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
+static bool32 CopyRecordedBattleFromSave(struct RecordedBattleSave *dst)
{
struct SaveSection *savBuffer = AllocZeroed(sizeof(struct SaveSection));
bool32 ret = TryCopyRecordedBattleSaveData(dst, savBuffer);
@@ -1293,7 +512,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
static void CB2_RecordedBattleEnd(void)
{
- gSaveBlock2Ptr->frontier.lvlMode = sUnknown_0203C7AD;
+ gSaveBlock2Ptr->frontier.lvlMode = sLvlMode;
gBattleOutcome = 0;
gBattleTypeFlags = 0;
gTrainerBattleOpponent_A = 0;
@@ -1316,7 +535,7 @@ static void Task_StartAfterCountdown(u8 taskId)
}
}
-static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
+static void SetVariablesForRecordedBattle(struct RecordedBattleSave *src)
{
bool8 var;
s32 i, j;
@@ -1353,29 +572,29 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
gTrainerBattleOpponent_B = src->opponentB;
gPartnerTrainerId = src->partnerId;
gUnknown_0203C7B4 = src->field_4FA;
- sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.lvlMode;
- sFrontierFacility = src->field_4FD;
- sUnknown_0203C7AF = src->field_4FE;
- sBattleStyle = src->battleStyle;
+ sLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ sFrontierFacility = src->frontierFacility;
+ sFrontierBrainSymbol = src->frontierBrainSymbol;
+ sBattleScene = src->battleScene;
sTextSpeed = src->textSpeed;
sAI_Scripts = src->AI_scripts;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
{
- sUnknown_0203CCD1[i] = src->field_504[i];
+ sRecordMixFriendName[i] = src->recordMixFriendName[i];
}
- sUnknown_0203CCD9 = src->field_50C;
- sUnknown_0203CCDA = src->field_50D;
- gUnknown_03001278 = src->field_51A;
- gUnknown_03001279 = src->field_51B;
+ sRecordMixFriendClass = src->recordMixFriendClass;
+ sApprenticeId = src->apprenticeId;
+ sRecordMixFriendLanguage = src->recordMixFriendLanguage;
+ sApprenticeLanguage = src->apprenticeLanguage;
for (i = 0; i < 6; i++)
{
- sUnknown_0203CCDC[i] = src->field_50E[i];
+ sEasyChatSpeech[i] = src->easyChatSpeech[i];
}
- gSaveBlock2Ptr->frontier.lvlMode = src->field_4FC;
+ gSaveBlock2Ptr->frontier.lvlMode = src->lvlMode;
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
@@ -1389,12 +608,12 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
void PlayRecordedBattle(void (*CB2_After)(void))
{
struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
- if (AllocTryCopyRecordedBattleSaveData(battleSave) == TRUE)
+ if (CopyRecordedBattleFromSave(battleSave) == TRUE)
{
u8 taskId;
RecordedBattle_SaveParties();
- SetRecordedBattleVarsFromSave(battleSave);
+ SetVariablesForRecordedBattle(battleSave);
taskId = CreateTask(Task_StartAfterCountdown, 1);
gTasks[taskId].tFramesToWait = 128;
@@ -1420,9 +639,9 @@ u8 GetRecordedBattleFrontierFacility(void)
return sFrontierFacility;
}
-u8 sub_8185EAC(void)
+u8 GetRecordedBattleFronterBrainSymbol(void)
{
- return sUnknown_0203C7AF;
+ return sFrontierBrainSymbol;
}
void RecordedBattle_SaveParties(void)
@@ -1478,9 +697,9 @@ u8 sub_8185FAC(void)
return sUnknown_0203C7B5;
}
-u8 GetBattleStyleInRecordedBattle(void)
+u8 GetBattleSceneInRecordedBattle(void)
{
- return sBattleStyle;
+ return sBattleScene;
}
u8 GetTextSpeedInRecordedBattle(void)
@@ -1630,38 +849,38 @@ void sub_8186468(u8 *dst)
s32 i;
for (i = 0; i < 8; i++)
- dst[i] = sUnknown_0203CCD1[i];
+ dst[i] = sRecordMixFriendName[i];
dst[7] = EOS;
- ConvertInternationalString(dst, gUnknown_03001278);
+ ConvertInternationalString(dst, sRecordMixFriendLanguage);
}
-u8 sub_818649C(void)
+u8 GetRecordedBattleRecordMixFriendClass(void)
{
- return sUnknown_0203CCD9;
+ return sRecordMixFriendClass;
}
-u8 sub_81864A8(void)
+u8 GetRecordedBattleApprenticeId(void)
{
- return sUnknown_0203CCDA;
+ return sApprenticeId;
}
-u8 sub_81864B4(void)
+u8 GetRecordedBattleRecordMixFriendLanguage(void)
{
- return gUnknown_03001278;
+ return sRecordMixFriendLanguage;
}
-u8 sub_81864C0(void)
+u8 GetRecordedBattleApprenticeLanguage(void)
{
- return gUnknown_03001279;
+ return sApprenticeLanguage;
}
-void sub_81864CC(void)
+void RecordedBattle_SaveBattleOutcome(void)
{
- sUnknown_0203CCE8 = gBattleOutcome;
+ sBattleOutcome = gBattleOutcome;
}
-u16 *sub_81864E0(void)
+u16 *GetRecordedBattleEasyChatSpeech(void)
{
- return sUnknown_0203CCDC;
+ return sEasyChatSpeech;
}