pokeemerald/asm/recorded_battle.s

2750 lines
42 KiB
ArmAsm
Raw Normal View History

2016-11-01 18:08:48 +01:00
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8184DA4
sub_8184DA4: @ 8184DA4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
lsls r0, 24
lsrs r0, 24
mov r12, r0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AC
2016-11-01 18:08:48 +01:00
mov r1, r12
strb r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CCD0
2016-11-01 18:08:48 +01:00
movs r0, 0
strb r0, [r1]
movs r2, 0
movs r7, 0
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203C7BC
2016-11-01 18:08:48 +01:00
mov r10, r3
2016-11-01 19:35:16 +01:00
ldr r6, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
mov r9, r6
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
mov r8, r0
_08184DD0:
lsls r0, r2, 1
mov r3, r9
adds r1, r0, r3
strh r7, [r1]
2016-11-01 19:35:16 +01:00
ldr r6, =gUnknown_0203C79C
2016-11-01 18:08:48 +01:00
adds r1, r0, r6
strh r7, [r1]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7A4
2016-11-01 18:08:48 +01:00
adds r0, r1
strh r7, [r0]
adds r4, r2, 0x1
mov r3, r12
cmp r3, 0x1
bne _08184E1C
2017-02-02 05:15:38 +01:00
ldr r5, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
movs r3, 0xFF
movs r1, 0xA6
lsls r1, 2
adds r0, r2, 0
muls r0, r1
mov r6, r8
adds r2, r0, r6
_08184DFC:
ldrb r0, [r2]
orrs r0, r3
strb r0, [r2]
adds r2, 0x1
subs r1, 0x1
cmp r1, 0
bne _08184DFC
ldr r0, [r5]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7B8
2016-11-01 18:08:48 +01:00
str r0, [r1]
2017-08-31 16:48:24 +02:00
ldr r3, =gBattleResources
2016-11-01 18:08:48 +01:00
ldr r0, [r3]
ldr r0, [r0, 0x14]
ldr r0, [r0, 0xC]
mov r6, r10
str r0, [r6]
_08184E1C:
adds r2, r4, 0
cmp r2, 0x3
ble _08184DD0
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8184DA4
thumb_func_start sub_8184E58
sub_8184E58: @ 8184E58
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x20
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AC
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
cmp r0, 0x1
bne _08184EA0
2017-10-01 01:12:42 +02:00
ldr r1, =gRecordedBattleRngSeed
2017-02-03 01:30:08 +01:00
ldr r0, =gRngValue
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
str r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203C7AE
2016-11-01 18:08:48 +01:00
ldr r0, =0x000040cf
bl VarGet
strb r0, [r4]
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203C7AF
2016-11-01 18:08:48 +01:00
bl sub_81A513C
strb r0, [r4]
b _08184EAC
.pool
_08184EA0:
cmp r0, 0x2
bne _08184EAC
2017-02-03 01:30:08 +01:00
ldr r0, =gRngValue
2017-10-01 01:12:42 +02:00
ldr r1, =gRecordedBattleRngSeed
2016-11-01 18:08:48 +01:00
ldr r1, [r1]
str r1, [r0]
_08184EAC:
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r5, [r0]
movs r0, 0x2
ands r5, r0
cmp r5, 0
beq _08184F64
2017-09-06 21:18:50 +02:00
bl GetMultiplayerId
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7B4
2016-11-01 18:08:48 +01:00
strb r0, [r1]
Decompile TV (#80) * ClearTVShowData * special_0x44 * DoTVShow (nonmatching because align) * DoTVShowBravoTrainerPokemonProfile * Update field names * DoTVShowBravoTrainerBattleTower * Renaming of struct fields * sub_80EBFF4 and UpdateTVScreensOnMap * SetTVMetatilesOnMap * Power buttons for the TV screens on the map * special_0x45 * sub_80EC18C * special_0x4a * ResetGabbyAndTy * GabbyAndTyBeforeInterview * GabbyAndTyAfterInterview * Through IsTVShowInSearchOfTrainersAiring * GabbyAndTyGetLastQuote * GabbyAndTyGetLastBattleTrivia * GabbyAndTySetScriptVarsToFieldObjectLocalIds * InterviewAfter; use TVShow as a precursor for making the individual show structs anonymous * Make TV structs anonymous within the union * Move the TV union to its own subheader * Move TV show enums to the global.tv.h subheader * Funcion renaming * Apply static attributes where able * PutPokemonTodayCaughtOnAir * sub_80EC8A4 * PutPokemonTodayFailedOnTheAir * sub_80EC9E8, sub_80ECA10 * sub_80ECA38 * sub_80ECB00 * Put3CheersForPokeblocksOnTheAir * PutFanClubSpecialOnTheAir * ContestLiveUpdates_BeforeInterview * Other before-interview Contest Live Updates functions * ContestLiveUpdates_BeforeInterview_5 * InterviewAfter_BravoTrainerPokemonProfile * BravoTrainerPokemonProfile_BeforeInterview1 * BravoTrainerPokemonProfile_BeforeInterview2 * Disassemble TV data * Decompile TV data * InterviewAfter_BravoTrainerBattleTowerProfile * SaveRecordedItemPurchasesForTVShow * PutNameRaterShowOnTheAir * StartMassOutbreak * PutLilycoveContestLadyShowOnTheAir * InterviewAfter_FanClubLetter * Rip TV strings * InterviewAfter_RecentHappenings * InterviewAfter_PkmnFanClubOpinions * sub_80ED718 * EndMassOutbreak * sub_80ED888 * sub_80ED8B4 * UpdateMassOutbreakTimeLeft * sub_80ED950 * PutFishingAdviceShowOnTheAir * through sub_80EDA80 * ewram and common syms are now fetched from the object files * BSS symbols are taken from the tv.o file * through sub_80EDC60 * sub_80EDCE8 * sub_80EDD78 * through sub_80EDE84 * nomatching sub_80EDE98 * sub_80EDFB4 * sub_80EE104 * sub_80EE104 * sub_80EE184 * sub_80EE2CC * sub_80EE35C * sub_80EE44C * sub_80EE4DC * sub_80EE5A4 * sub_80EE69C * sub_80EE72C * sub_80EE7C0 * sub_80EE818 * sub_80EE8C8 * sub_80EEA70 * sub_80EEB98 * sub_80EEBF4 * through sub_80EED60 * Functions relating to Pokemon News * sub_80EEF6C * GetPriceReduction * IsPriceDiscounted * sub_80EF120 * through sub_80EF370 * sub_80EF40C * HasMixableShowAlreadyBeenSpawnedWithPlayerID * TV_SortPurchasesByQuantity * FindActiveBroadcastByShowType_SetScriptResult * InterviewBefore * through sub_80EF88C * through sub_80EF93C * through sub_80EFA24 * through TV_BernoulliTrial * sub_80EFB58 * sub_80EFBA4 * sub_80EFBDC * through sub_80EFD98 * ChangePokemonNickname * ChangeBoxPokemonNickname * sub_80EFF9C * through player_id_to_dword * CheckForBigMovieOrEmergencyNewsOnTV * GetMomOrDadStringForTVMessage * sub_80F01E8 * sub_80F0358 * sub_80F049C * TV record mixing functions * sub_80F06D0 * sub_80F0708 nonmatching * through sub_80F0B24 * sub_80F0B64 * through sub_80F0C04 * sub_80F0C7C * sub_80F0D60 * sub_80F0E58 * sub_80F0E84 * through sub_80F0F24 * sub_80F0F64 * sub_80F1208 * sub_80F1254 * sub_80F1290 * sub_80F12A4 * sub_80F14F8 * DoTVShowTodaysSmartShopper * DoTVShowTheNameRaterShow * DoTVShowPokemonTodaySuccessfulCapture * DoTVShowPokemonTodayFailedCapture * DoTVShowPokemonFanClubLetter * DoTVShowRecentHappenings * DoTVShowPokemonFanClubOpinions * DoTVShowPokemonNewsMassOutbreak * DoTVShowPokemonContestLiveUpdates * DoTVShowPokemonBattleUpdate * DoTVShow3CheersForPokeblocks * DoTVShowInSearchOfTrainers * Label GabbyAndTyData fields; remove ddump comments from data/text/tv.inc * DoTVShowPokemonAngler * DoTVShowTheWorldOfMasters; update RAM symbols and field names * Decorate static functions * DoTVShowTodaysRivalTrainer; region map enums * TVDewfordTrendWatcherNetworkTextGroup * DoTVShowHoennTreasureInvestigators * DoTVShowFindThatGamer * DoTVShowBreakingNewsTV * DoTVShowSecretBaseVisit * DoTVShowPokemonLotterWinnerFlashReport * DoTVShowThePokemonBattleSeminar * DoTVShowTrainerFanClubSpecial, DoTVShowTrainerFanClub * DoTVShowSpotTheCuties * DoTVShowPokemonNewsBattleFrontier * DoTVShowWhatsNo1InHoennToday * Helpers for DoTVShowSecretBaseSecrets * DoTVShowSecretBaseSecrets * DoTVShowSafariFanClub * Finish decompilation of tv.s * Some renaming * Rename text group pointers * revoke statis; pokenews enums * Labels are number one * Label all TV struct fields * Make data/text/tv.inc more readable * Split data/text/tv.inc * Rename pokenews text pointers * Frontier Symbol constants; indicate static rodata objects with 's' prefix * Fix leading spaces/tabs F*** CLion sometimes * Fix inconsequential warning
2017-10-13 17:09:36 +02:00
bl GetLinkPlayerCount
2016-11-01 18:08:48 +01:00
lsls r0, 24
lsrs r0, 24
mov r10, r0
movs r5, 0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
mov r9, r0
2017-09-06 21:18:50 +02:00
ldr r6, =gLinkPlayers
2016-11-01 18:08:48 +01:00
movs r0, 0x8
adds r0, r6
mov r8, r0
mov r7, r9
adds r7, 0x4
_08184EDC:
lsls r0, r5, 2
adds r0, r5
lsls r4, r0, 2
mov r0, r9
adds r2, r4, r0
lsls r0, r5, 3
subs r0, r5
lsls r3, r0, 2
adds r0, r6, 0x4
adds r0, r3, r0
ldr r0, [r0]
str r0, [r2]
adds r1, r3, r6
ldrb r0, [r1, 0x13]
strb r0, [r2, 0xC]
ldrh r0, [r1, 0x18]
strh r0, [r2, 0xE]
ldrh r0, [r1, 0x1A]
strh r0, [r2, 0x10]
cmp r5, r10
bge _08184F3C
mov r0, r8
adds r1, r3, r0
mov r0, sp
2017-01-14 20:53:20 +01:00
bl StringCopy
2016-11-01 18:08:48 +01:00
mov r0, sp
2017-01-14 20:53:20 +01:00
bl StripExtCtrlCodes
2016-11-01 18:08:48 +01:00
adds r0, r4, r7
mov r1, sp
2017-01-14 20:53:20 +01:00
bl StringCopy
2016-11-01 18:08:48 +01:00
adds r5, 0x1
b _08184F56
.pool
_08184F3C:
adds r5, 0x1
2017-09-06 21:18:50 +02:00
ldr r0, =gLinkPlayers + 8
2016-11-01 18:08:48 +01:00
adds r1, r3, r0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CC84
2016-11-01 18:08:48 +01:00
adds r2, r4, r0
movs r3, 0x7
_08184F48:
ldrb r0, [r1]
strb r0, [r2]
adds r1, 0x1
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bge _08184F48
_08184F56:
cmp r5, 0x3
ble _08184EDC
b _08184FA0
.pool
_08184F64:
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203CC80
2017-01-14 20:53:20 +01:00
ldr r4, =gSaveBlock2Ptr
2016-11-01 18:08:48 +01:00
ldr r2, [r4]
ldrb r1, [r2, 0xA]
ldrb r0, [r2, 0xB]
lsls r0, 8
orrs r1, r0
ldrb r0, [r2, 0xC]
lsls r0, 16
orrs r1, r0
ldrb r0, [r2, 0xD]
lsls r0, 24
orrs r1, r0
str r1, [r3]
ldrb r0, [r2, 0x8]
strb r0, [r3, 0xC]
strh r5, [r3, 0xE]
2017-02-04 01:44:06 +01:00
ldr r0, =gGameLanguage
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
strh r0, [r3, 0x10]
movs r5, 0
adds r3, 0x4
_08184F90:
adds r0, r5, r3
ldr r1, [r4]
adds r1, r5
ldrb r1, [r1]
strb r1, [r0]
adds r5, 0x1
cmp r5, 0x7
ble _08184F90
_08184FA0:
add sp, 0x20
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8184E58
2017-09-25 00:09:13 +02:00
thumb_func_start RecordedBattle_SetBankAction
RecordedBattle_SetBankAction: @ 8184FBC
2016-11-01 18:08:48 +01:00
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r1, 24
lsrs r6, r1, 24
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
lsls r0, r5, 1
adds r4, r0, r1
ldrh r2, [r4]
adds r3, r2, 0
ldr r0, =0x00000297
cmp r3, r0
bhi _08184FF0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AC
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
cmp r0, 0x2
beq _08184FF0
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
adds r0, r2, 0x1
strh r0, [r4]
movs r0, 0xA6
lsls r0, 2
muls r0, r5
adds r0, r3, r0
adds r0, r1
strb r6, [r0]
_08184FF0:
pop {r4-r6}
pop {r0}
bx r0
.pool
2017-09-25 00:09:13 +02:00
thumb_func_end RecordedBattle_SetBankAction
2016-11-01 18:08:48 +01:00
thumb_func_start RecordedBattle_ClearBankAction
RecordedBattle_ClearBankAction: @ 8185008
2016-11-01 18:08:48 +01:00
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r1, 24
lsrs r4, r1, 24
movs r3, 0
cmp r3, r4
bge _08185046
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
lsls r1, r5, 1
adds r2, r1, r0
2016-11-01 19:35:16 +01:00
ldr r7, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
movs r0, 0xA6
lsls r0, 2
muls r5, r0
movs r6, 0xFF
_08185028:
ldrh r0, [r2]
subs r0, 0x1
strh r0, [r2]
ldrh r1, [r2]
adds r1, r5
adds r1, r7
ldrb r0, [r1]
orrs r0, r6
strb r0, [r1]
ldrh r0, [r2]
cmp r0, 0
beq _08185046
adds r3, 0x1
cmp r3, r4
blt _08185028
_08185046:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end RecordedBattle_ClearBankAction
2016-11-01 18:08:48 +01:00
2017-10-23 13:32:11 +02:00
thumb_func_start RecordedBattle_ReadBankAction
RecordedBattle_ReadBankAction: @ 8185054
2016-11-01 18:08:48 +01:00
push {r4,lr}
sub sp, 0x4
lsls r0, 24
lsrs r3, r0, 24
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
lsls r0, r3, 1
adds r2, r0, r1
ldrh r1, [r2]
ldr r0, =0x00000297
cmp r1, r0
bhi _0818507A
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
adds r0, 0x1
muls r3, r0
adds r0, r1, r3
adds r0, r4
ldrb r0, [r0]
cmp r0, 0xFF
bne _081850BC
_0818507A:
2017-09-02 22:31:37 +02:00
ldr r2, =gScriptResult
2017-08-31 16:48:24 +02:00
ldr r1, =gBattleOutcome
2016-11-01 18:08:48 +01:00
movs r0, 0x5
strb r0, [r1]
movs r0, 0x5
strh r0, [r2]
bl ResetPaletteFadeControl
2016-11-01 18:08:48 +01:00
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
2017-10-01 18:54:01 +02:00
ldr r0, =CB2_QuitRecordedBattle
2016-11-01 18:08:48 +01:00
bl SetMainCallback2
movs r0, 0xFF
b _081850C6
.pool
_081850BC:
adds r0, r1, 0x1
strh r0, [r2]
adds r0, r1, r3
adds r0, r4
ldrb r0, [r0]
_081850C6:
add sp, 0x4
pop {r4}
pop {r1}
bx r1
2017-10-23 13:32:11 +02:00
thumb_func_end RecordedBattle_ReadBankAction
2016-11-01 18:08:48 +01:00
thumb_func_start sub_81850D0
sub_81850D0: @ 81850D0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AC
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_81850D0
thumb_func_start sub_81850DC
sub_81850DC: @ 81850DC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r8, r0
movs r7, 0
movs r0, 0
mov r12, r0
_081850F0:
mov r1, r12
lsls r3, r1, 1
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
adds r5, r3, r0
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C79C
2016-11-01 18:08:48 +01:00
adds r6, r3, r1
ldrh r0, [r5]
mov r9, r3
mov r1, r12
adds r1, 0x1
str r1, [sp]
ldrh r1, [r6]
cmp r0, r1
beq _0818517E
adds r1, r7, 0
adds r0, r1, 0x1
lsls r0, 24
lsrs r7, r0, 24
adds r2, r7, 0
add r1, r8
mov r0, r12
strb r0, [r1]
adds r0, r2, 0x1
lsls r0, 24
lsrs r7, r0, 24
add r2, r8
ldrb r0, [r5]
ldrb r1, [r6]
subs r0, r1
strb r0, [r2]
movs r4, 0
ldrh r0, [r5]
ldrh r1, [r6]
subs r0, r1
cmp r4, r0
bge _08185172
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
mov r10, r1
2016-11-01 19:35:16 +01:00
ldr r6, =gUnknown_0203C79C
2016-11-01 18:08:48 +01:00
movs r0, 0xA6
lsls r0, 2
mov r5, r12
muls r5, r0
_08185146:
adds r1, r7, 0
adds r0, r1, 0x1
lsls r0, 24
lsrs r7, r0, 24
add r1, r8
adds r2, r3, r6
ldrh r0, [r2]
adds r0, r4
adds r0, r5
add r0, r10
ldrb r0, [r0]
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
adds r0, r3, r1
ldrh r1, [r0]
ldrh r0, [r2]
subs r1, r0
cmp r4, r1
blt _08185146
_08185172:
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C79C
2016-11-01 18:08:48 +01:00
add r0, r9
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
add r1, r9
ldrh r1, [r1]
strh r1, [r0]
_0818517E:
ldr r1, [sp]
lsls r0, r1, 24
lsrs r0, 24
mov r12, r0
cmp r0, 0x3
bls _081850F0
adds r0, r7, 0
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_81850DC
thumb_func_start sub_81851A8
sub_81851A8: @ 81851A8
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x8
adds r7, r0, 0
movs r1, 0x2
mov r0, sp
strb r1, [r0]
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
ands r0, r1
cmp r0, 0
beq _0818525E
movs r5, 0
2017-09-06 21:18:50 +02:00
ldr r4, =gLinkPlayers
2016-11-01 18:08:48 +01:00
b _081851DA
.pool
_081851D0:
ldrb r0, [r4]
cmp r0, 0x3
bne _0818525E
adds r4, 0x1C
adds r5, 0x1
_081851DA:
Decompile TV (#80) * ClearTVShowData * special_0x44 * DoTVShow (nonmatching because align) * DoTVShowBravoTrainerPokemonProfile * Update field names * DoTVShowBravoTrainerBattleTower * Renaming of struct fields * sub_80EBFF4 and UpdateTVScreensOnMap * SetTVMetatilesOnMap * Power buttons for the TV screens on the map * special_0x45 * sub_80EC18C * special_0x4a * ResetGabbyAndTy * GabbyAndTyBeforeInterview * GabbyAndTyAfterInterview * Through IsTVShowInSearchOfTrainersAiring * GabbyAndTyGetLastQuote * GabbyAndTyGetLastBattleTrivia * GabbyAndTySetScriptVarsToFieldObjectLocalIds * InterviewAfter; use TVShow as a precursor for making the individual show structs anonymous * Make TV structs anonymous within the union * Move the TV union to its own subheader * Move TV show enums to the global.tv.h subheader * Funcion renaming * Apply static attributes where able * PutPokemonTodayCaughtOnAir * sub_80EC8A4 * PutPokemonTodayFailedOnTheAir * sub_80EC9E8, sub_80ECA10 * sub_80ECA38 * sub_80ECB00 * Put3CheersForPokeblocksOnTheAir * PutFanClubSpecialOnTheAir * ContestLiveUpdates_BeforeInterview * Other before-interview Contest Live Updates functions * ContestLiveUpdates_BeforeInterview_5 * InterviewAfter_BravoTrainerPokemonProfile * BravoTrainerPokemonProfile_BeforeInterview1 * BravoTrainerPokemonProfile_BeforeInterview2 * Disassemble TV data * Decompile TV data * InterviewAfter_BravoTrainerBattleTowerProfile * SaveRecordedItemPurchasesForTVShow * PutNameRaterShowOnTheAir * StartMassOutbreak * PutLilycoveContestLadyShowOnTheAir * InterviewAfter_FanClubLetter * Rip TV strings * InterviewAfter_RecentHappenings * InterviewAfter_PkmnFanClubOpinions * sub_80ED718 * EndMassOutbreak * sub_80ED888 * sub_80ED8B4 * UpdateMassOutbreakTimeLeft * sub_80ED950 * PutFishingAdviceShowOnTheAir * through sub_80EDA80 * ewram and common syms are now fetched from the object files * BSS symbols are taken from the tv.o file * through sub_80EDC60 * sub_80EDCE8 * sub_80EDD78 * through sub_80EDE84 * nomatching sub_80EDE98 * sub_80EDFB4 * sub_80EE104 * sub_80EE104 * sub_80EE184 * sub_80EE2CC * sub_80EE35C * sub_80EE44C * sub_80EE4DC * sub_80EE5A4 * sub_80EE69C * sub_80EE72C * sub_80EE7C0 * sub_80EE818 * sub_80EE8C8 * sub_80EEA70 * sub_80EEB98 * sub_80EEBF4 * through sub_80EED60 * Functions relating to Pokemon News * sub_80EEF6C * GetPriceReduction * IsPriceDiscounted * sub_80EF120 * through sub_80EF370 * sub_80EF40C * HasMixableShowAlreadyBeenSpawnedWithPlayerID * TV_SortPurchasesByQuantity * FindActiveBroadcastByShowType_SetScriptResult * InterviewBefore * through sub_80EF88C * through sub_80EF93C * through sub_80EFA24 * through TV_BernoulliTrial * sub_80EFB58 * sub_80EFBA4 * sub_80EFBDC * through sub_80EFD98 * ChangePokemonNickname * ChangeBoxPokemonNickname * sub_80EFF9C * through player_id_to_dword * CheckForBigMovieOrEmergencyNewsOnTV * GetMomOrDadStringForTVMessage * sub_80F01E8 * sub_80F0358 * sub_80F049C * TV record mixing functions * sub_80F06D0 * sub_80F0708 nonmatching * through sub_80F0B24 * sub_80F0B64 * through sub_80F0C04 * sub_80F0C7C * sub_80F0D60 * sub_80F0E58 * sub_80F0E84 * through sub_80F0F24 * sub_80F0F64 * sub_80F1208 * sub_80F1254 * sub_80F1290 * sub_80F12A4 * sub_80F14F8 * DoTVShowTodaysSmartShopper * DoTVShowTheNameRaterShow * DoTVShowPokemonTodaySuccessfulCapture * DoTVShowPokemonTodayFailedCapture * DoTVShowPokemonFanClubLetter * DoTVShowRecentHappenings * DoTVShowPokemonFanClubOpinions * DoTVShowPokemonNewsMassOutbreak * DoTVShowPokemonContestLiveUpdates * DoTVShowPokemonBattleUpdate * DoTVShow3CheersForPokeblocks * DoTVShowInSearchOfTrainers * Label GabbyAndTyData fields; remove ddump comments from data/text/tv.inc * DoTVShowPokemonAngler * DoTVShowTheWorldOfMasters; update RAM symbols and field names * Decorate static functions * DoTVShowTodaysRivalTrainer; region map enums * TVDewfordTrendWatcherNetworkTextGroup * DoTVShowHoennTreasureInvestigators * DoTVShowFindThatGamer * DoTVShowBreakingNewsTV * DoTVShowSecretBaseVisit * DoTVShowPokemonLotterWinnerFlashReport * DoTVShowThePokemonBattleSeminar * DoTVShowTrainerFanClubSpecial, DoTVShowTrainerFanClub * DoTVShowSpotTheCuties * DoTVShowPokemonNewsBattleFrontier * DoTVShowWhatsNo1InHoennToday * Helpers for DoTVShowSecretBaseSecrets * DoTVShowSecretBaseSecrets * DoTVShowSafariFanClub * Finish decompilation of tv.s * Some renaming * Rename text group pointers * revoke statis; pokenews enums * Labels are number one * Label all TV struct fields * Make data/text/tv.inc more readable * Split data/text/tv.inc * Rename pokenews text pointers * Frontier Symbol constants; indicate static rodata objects with 's' prefix * Fix leading spaces/tabs F*** CLion sometimes * Fix inconsequential warning
2017-10-13 17:09:36 +02:00
bl GetLinkPlayerCount
2016-11-01 18:08:48 +01:00
lsls r0, 24
lsrs r0, 24
cmp r5, r0
blt _081851D0
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
movs r1, 0x4
ands r0, r1
cmp r0, 0
bne _0818525E
ldrb r0, [r7]
mov r4, sp
adds r4, 0x1
strb r0, [r4]
ldrb r0, [r4]
mov r8, r4
cmp r0, 0
beq _0818525E
_08185202:
adds r0, r7, 0
mov r1, sp
adds r2, r4, 0
bl sub_8185278
lsls r0, 24
lsrs r6, r0, 24
adds r0, r7, 0
mov r1, sp
adds r2, r4, 0
bl sub_8185278
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0
beq _08185256
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203BD34
ldr r0, =gUnknown_0203C7A4
2016-11-01 18:08:48 +01:00
lsls r1, r6, 1
adds r4, r1, r0
adds r5, r2, 0
movs r0, 0xA6
lsls r0, 2
muls r6, r0
_08185232:
adds r0, r7, 0
mov r1, sp
mov r2, r8
str r3, [sp, 0x4]
bl sub_8185278
ldrh r1, [r4]
adds r2, r1, 0x1
strh r2, [r4]
lsls r1, 16
lsrs r1, 16
adds r1, r6
ldr r3, [sp, 0x4]
adds r1, r3
strb r0, [r1]
subs r5, 0x1
cmp r5, 0
bne _08185232
_08185256:
mov r4, r8
ldrb r0, [r4]
cmp r0, 0
bne _08185202
_0818525E:
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81851A8
thumb_func_start sub_8185278
sub_8185278: @ 8185278
ldrb r3, [r2]
subs r3, 0x1
strb r3, [r2]
ldrb r2, [r1]
adds r3, r2, 0x1
strb r3, [r1]
lsls r2, 24
lsrs r2, 24
adds r0, r2
ldrb r0, [r0]
bx lr
thumb_func_end sub_8185278
thumb_func_start sub_8185290
sub_8185290: @ 8185290
push {r4,r5,lr}
movs r0, 0xF8
lsls r0, 4
bl AllocZeroed
adds r4, r0, 0
bl start_ov_to_battle_anim
adds r5, r0, 0
adds r0, r4, 0
bl Free
adds r0, r5, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8185290
thumb_func_start sub_81852B0
sub_81852B0: @ 81852B0
push {r4,r5,lr}
adds r5, r0, 0
ldr r1, =0x000004ec
adds r0, r5, r1
ldr r1, [r0]
cmp r1, 0
beq _081852E8
ldr r0, =0x7d007e92
ands r1, r0
cmp r1, 0
bne _081852E8
ldr r4, =0x00000f7c
adds r0, r5, 0
adds r1, r4, 0
bl CalcByteArraySum
2016-11-01 18:08:48 +01:00
adds r4, r5, r4
ldr r1, [r4]
cmp r0, r1
bne _081852E8
movs r0, 0x1
b _081852EA
.pool
_081852E8:
movs r0, 0
_081852EA:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81852B0
thumb_func_start sub_81852F0
sub_81852F0: @ 81852F0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x80
lsls r2, 5
adds r0, r5, 0
movs r1, 0
bl memset
movs r2, 0xF8
lsls r2, 4
adds r0, r5, 0
adds r1, r4, 0
bl memcpy
ldr r4, =0x00000f7c
adds r0, r5, 0
adds r1, r4, 0
bl CalcByteArraySum
2016-11-01 18:08:48 +01:00
adds r4, r5, r4
str r0, [r4]
movs r0, 0x1F
adds r1, r5, 0
bl sub_8153634
cmp r0, 0x1
bne _08185330
movs r0, 0x1
b _08185332
.pool
_08185330:
movs r0, 0
_08185332:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81852F0
2017-10-01 18:54:01 +02:00
thumb_func_start MoveRecordedBattleToSaveData
MoveRecordedBattleToSaveData: @ 8185338
2016-11-01 18:08:48 +01:00
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
movs r0, 0
str r0, [sp, 0x4]
movs r0, 0xF8
lsls r0, 4
bl AllocZeroed
adds r7, r0, 0
movs r0, 0x80
lsls r0, 5
bl AllocZeroed
str r0, [sp]
movs r6, 0
_0818535E:
movs r0, 0x64
adds r4, r6, 0
muls r4, r0
adds r5, r7, r4
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7C0
2016-11-01 18:08:48 +01:00
adds r1, r4, r1
adds r0, r5, 0
movs r2, 0x64
bl memcpy
movs r1, 0x96
lsls r1, 2
adds r5, r1
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CA18
2016-11-01 18:08:48 +01:00
adds r4, r0
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x64
bl memcpy
adds r6, 0x1
cmp r6, 0x5
ble _0818535E
movs r6, 0
2017-01-14 20:53:20 +01:00
ldr r2, =gSaveBlock2Ptr
2016-11-01 18:08:48 +01:00
mov r9, r2
movs r3, 0x9A
lsls r3, 3
adds r3, r7, r3
str r3, [sp, 0x8]
2016-11-01 19:35:16 +01:00
ldr r5, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
mov r8, r6
mov r12, r6
movs r4, 0x96
lsls r4, 3
adds r4, r7
mov r10, r4
ldr r0, =0x000004e4
adds r4, r7, r0
_081853AC:
lsls r1, r6, 3
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
adds r0, 0x4
mov r3, r8
adds r2, r3, r0
add r1, r10
movs r3, 0x7
_081853BA:
ldrb r0, [r2]
strb r0, [r1]
adds r2, 0x1
adds r1, 0x1
subs r3, 0x1
cmp r3, 0
bge _081853BA
ldr r0, [sp, 0x8]
adds r1, r0, r6
ldrb r0, [r5, 0xC]
strb r0, [r1]
ldrh r0, [r5, 0x10]
strb r0, [r4]
ldrh r0, [r5, 0xE]
strb r0, [r4, 0xC]
ldr r1, =0x000004d4
adds r0, r7, r1
add r0, r12
ldr r1, [r5]
str r1, [r0]
adds r5, 0x14
movs r2, 0x14
add r8, r2
movs r3, 0x4
add r12, r3
adds r4, 0x1
adds r6, 0x1
cmp r6, 0x3
ble _081853AC
movs r4, 0x9D
lsls r4, 3
adds r1, r7, r4
2017-10-01 01:12:42 +02:00
ldr r5, =gRecordedBattleRngSeed
2016-11-01 18:08:48 +01:00
ldr r0, [r5]
str r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B8
2016-11-01 18:08:48 +01:00
ldr r2, [r0]
movs r0, 0x2
ands r0, r2
cmp r0, 0
beq _081854DC
ldr r1, =0x000004ec
adds r3, r7, r1
movs r1, 0x23
negs r1, r1
ands r1, r2
movs r0, 0x80
lsls r0, 18
orrs r1, r0
str r1, [r3]
movs r0, 0x4
ands r0, r2
cmp r0, 0
beq _08185454
movs r0, 0x80
lsls r0, 24
orrs r1, r0
str r1, [r3]
b _081854E2
.pool
_08185454:
movs r0, 0x40
ands r2, r0
cmp r2, 0
beq _081854E2
2016-11-01 19:35:16 +01:00
ldr r2, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
ldrh r0, [r2, 0xE]
cmp r0, 0x1
beq _081854A8
cmp r0, 0x1
bgt _08185474
cmp r0, 0
beq _0818547E
b _081854E2
.pool
_08185474:
cmp r0, 0x2
beq _0818547E
cmp r0, 0x3
beq _081854A8
b _081854E2
_0818547E:
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203C7B4
2016-11-01 18:08:48 +01:00
ldrb r1, [r3]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
adds r0, r4
ldrh r1, [r0, 0xE]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _081854E2
ldr r5, =0x000004ec
adds r0, r7, r5
b _081854C4
.pool
_081854A8:
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B4
2016-11-01 18:08:48 +01:00
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CC80
2016-11-01 18:08:48 +01:00
adds r0, r1
ldrh r1, [r0, 0xE]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _081854E2
ldr r2, =0x000004ec
adds r0, r7, r2
_081854C4:
ldr r1, [r0]
movs r2, 0x80
lsls r2, 24
orrs r1, r2
str r1, [r0]
b _081854E2
.pool
_081854DC:
ldr r3, =0x000004ec
adds r0, r7, r3
str r2, [r0]
_081854E2:
2017-09-05 09:41:48 +02:00
ldr r4, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r1, [r4]
ldr r5, =0x000004f4
adds r0, r7, r5
strh r1, [r0]
2017-09-05 09:41:48 +02:00
ldr r0, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r1, [r0]
ldr r2, =0x000004f6
adds r0, r7, r2
strh r1, [r0]
2017-09-11 14:42:13 +02:00
ldr r3, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r1, [r3]
movs r4, 0x9F
lsls r4, 3
adds r0, r7, r4
strh r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r5, =gUnknown_0203C7B4
2016-11-01 18:08:48 +01:00
ldrb r1, [r5]
adds r2, 0x4
adds r0, r7, r2
strh r1, [r0]
mov r3, r9
ldr r0, [r3]
ldr r4, =0x00000ca9
adds r0, r4
ldrb r0, [r0]
lsls r0, 30
lsrs r0, 30
ldr r5, =0x000004fc
adds r1, r7, r5
strb r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AE
2016-11-01 18:08:48 +01:00
ldrb r1, [r0]
adds r2, 0x3
adds r0, r7, r2
strb r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203C7AF
2016-11-01 18:08:48 +01:00
ldrb r1, [r3]
ldr r4, =0x000004fe
adds r0, r7, r4
strb r1, [r0]
mov r5, r9
ldr r0, [r5]
ldrb r1, [r0, 0x15]
lsls r1, 29
ldr r0, =0x000004ff
adds r3, r7, r0
lsrs r1, 31
ldrb r2, [r3]
movs r0, 0x2
negs r0, r0
ands r0, r2
orrs r0, r1
strb r0, [r3]
ldr r1, [r5]
ldrb r1, [r1, 0x14]
lsls r1, 29
lsrs r1, 28
movs r2, 0xF
negs r2, r2
ands r0, r2
orrs r0, r1
strb r0, [r3]
movs r2, 0xA0
lsls r2, 3
adds r1, r7, r2
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203C7BC
2016-11-01 18:08:48 +01:00
ldr r0, [r3]
str r0, [r1]
ldr r4, =0xfffffed4
adds r1, r4, 0
2017-09-05 09:41:48 +02:00
ldr r5, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r5, [r5]
adds r0, r1, r5
lsls r0, 16
lsrs r0, 16
cmp r0, 0x63
bls _08185580
b _081856C4
_08185580:
movs r6, 0
ldr r0, =0x00000504
adds r3, r7, r0
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
mov r12, r1
adds r2, r4, 0
mov r8, r2
ldr r4, =0x0000073c
_08185592:
adds r2, r3, r6
mov r5, r10
ldr r1, [r5]
mov r5, r12
ldrh r0, [r5]
add r0, r8
movs r5, 0xEC
muls r0, r5
adds r0, r6, r0
adds r1, r4
adds r1, r0
ldrb r0, [r1]
strb r0, [r2]
adds r6, 0x1
cmp r6, 0x7
ble _08185592
mov r0, r9
ldr r2, [r0]
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r0, [r1]
ldr r3, =0xfffffed4
adds r0, r3
movs r1, 0xEC
muls r0, r1
adds r2, r0
ldr r4, =0x00000739
adds r2, r4
ldrb r1, [r2]
ldr r5, =0x0000050c
adds r0, r7, r5
strb r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CCE8
2016-11-01 18:08:48 +01:00
ldrb r0, [r1]
cmp r0, 0x1
bne _08185664
movs r6, 0
ldr r2, =0x0000050e
adds r4, r7, r2
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r5, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
mov r8, r5
adds r5, r3, 0
_081855E6:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r1, r8
ldrh r0, [r1]
adds r0, r5
movs r1, 0xEC
muls r0, r1
adds r3, r0
movs r0, 0xEC
lsls r0, 3
adds r2, r0
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _081855E6
b _08185696
.pool
_08185664:
movs r6, 0
ldr r1, =0x0000050e
adds r4, r7, r1
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r2, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
mov r8, r2
adds r5, r3, 0
_08185672:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r1, r8
ldrh r0, [r1]
adds r0, r5
movs r1, 0xEC
muls r0, r1
adds r3, r0
ldr r0, =0x00000754
adds r2, r0
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _08185672
_08185696:
mov r1, r9
ldr r2, [r1]
2017-09-05 09:41:48 +02:00
ldr r3, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r0, [r3]
ldr r4, =0xfffffed4
adds r0, r4
movs r1, 0xEC
muls r0, r1
adds r2, r0
ldr r5, =0x0000081c
adds r2, r5
ldrb r1, [r2]
b _08185856
.pool
_081856C4:
2017-09-05 09:41:48 +02:00
ldr r3, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r3, [r3]
adds r0, r1, r3
lsls r0, 16
lsrs r0, 16
cmp r0, 0x63
bls _081856D4
b _081857E4
_081856D4:
movs r6, 0
ldr r4, =0x00000504
adds r3, r7, r4
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r5, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
mov r12, r5
ldr r0, =0xfffffed4
mov r8, r0
ldr r4, =0x0000073c
_081856E6:
adds r2, r3, r6
mov r5, r10
ldr r1, [r5]
mov r5, r12
ldrh r0, [r5]
add r0, r8
movs r5, 0xEC
muls r0, r5
adds r0, r6, r0
adds r1, r4
adds r1, r0
ldrb r0, [r1]
strb r0, [r2]
adds r6, 0x1
cmp r6, 0x7
ble _081856E6
mov r0, r9
ldr r2, [r0]
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r0, [r1]
ldr r3, =0xfffffed4
adds r0, r3
movs r1, 0xEC
muls r0, r1
adds r2, r0
ldr r4, =0x00000739
adds r2, r4
ldrb r1, [r2]
ldr r5, =0x0000050c
adds r0, r7, r5
strb r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CCE8
2016-11-01 18:08:48 +01:00
ldrb r0, [r1]
cmp r0, 0x1
bne _08185784
movs r6, 0
ldr r2, =0x0000050e
adds r4, r7, r2
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r5, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
mov r8, r5
adds r5, r3, 0
_0818573A:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r1, r8
ldrh r0, [r1]
adds r0, r5
movs r1, 0xEC
muls r0, r1
adds r3, r0
movs r0, 0xEC
lsls r0, 3
adds r2, r0
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _0818573A
b _081857B6
.pool
_08185784:
movs r6, 0
ldr r1, =0x0000050e
adds r4, r7, r1
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r2, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
mov r8, r2
adds r5, r3, 0
_08185792:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r1, r8
ldrh r0, [r1]
adds r0, r5
movs r1, 0xEC
muls r0, r1
adds r3, r0
ldr r0, =0x00000754
adds r2, r0
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _08185792
_081857B6:
mov r1, r9
ldr r2, [r1]
2017-09-05 09:41:48 +02:00
ldr r3, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r0, [r3]
ldr r4, =0xfffffed4
adds r0, r4
movs r1, 0xEC
muls r0, r1
adds r2, r0
ldr r5, =0x0000081c
adds r2, r5
ldrb r1, [r2]
b _08185856
.pool
_081857E4:
2017-09-11 14:42:13 +02:00
ldr r3, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r3, [r3]
adds r0, r1, r3
lsls r0, 16
lsrs r0, 16
cmp r0, 0x63
bhi _0818585C
movs r6, 0
ldr r4, =0x00000504
adds r3, r7, r4
mov r10, r9
2017-09-11 14:42:13 +02:00
ldr r5, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
mov r12, r5
ldr r0, =0xfffffed4
mov r8, r0
ldr r4, =0x0000073c
_08185804:
adds r2, r3, r6
mov r5, r10
ldr r1, [r5]
mov r5, r12
ldrh r0, [r5]
add r0, r8
movs r5, 0xEC
muls r0, r5
adds r0, r6, r0
adds r1, r4
adds r1, r0
ldrb r0, [r1]
strb r0, [r2]
adds r6, 0x1
cmp r6, 0x7
ble _08185804
mov r0, r9
ldr r1, [r0]
2017-09-11 14:42:13 +02:00
ldr r2, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r0, [r2]
ldr r3, =0xfffffed4
adds r0, r3
movs r2, 0xEC
muls r0, r2
adds r1, r0
ldr r4, =0x00000739
adds r1, r4
ldrb r1, [r1]
ldr r5, =0x0000050c
adds r0, r7, r5
strb r1, [r0]
mov r0, r9
ldr r1, [r0]
2017-09-11 14:42:13 +02:00
ldr r4, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r0, [r4]
adds r0, r3
muls r0, r2
adds r1, r0
ldr r5, =0x0000081c
adds r1, r5
ldrb r1, [r1]
_08185856:
ldr r2, =0x0000051a
adds r0, r7, r2
strb r1, [r0]
_0818585C:
2017-09-05 09:41:48 +02:00
ldr r3, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r0, [r3]
ldr r1, =0x0000018f
cmp r0, r1
bls _08185900
mov r4, r9
ldr r2, [r4]
adds r1, r0, 0
ldr r3, =0xfffffe70
adds r1, r3
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, r0
adds r2, 0xDC
ldrb r0, [r2]
lsls r0, 27
lsrs r0, 27
ldr r5, =0x0000050d
adds r1, r7, r5
strb r0, [r1]
movs r6, 0
ldr r0, =0x0000050e
adds r4, r7, r0
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
mov r8, r1
adds r5, r3, 0
_08185894:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r0, r8
ldrh r1, [r0]
adds r1, r5
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r3, r0
movs r1, 0x82
lsls r1, 1
adds r2, r1
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _08185894
mov r3, r9
ldr r2, [r3]
2017-09-05 09:41:48 +02:00
ldr r4, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldrh r1, [r4]
ldr r5, =0xfffffe70
adds r1, r5
b _081859AC
.pool
_08185900:
2017-09-05 09:41:48 +02:00
ldr r3, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r0, [r3]
cmp r0, r1
bls _0818597C
mov r4, r9
ldr r2, [r4]
adds r1, r0, 0
ldr r3, =0xfffffe70
adds r1, r3
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, r0
adds r2, 0xDC
ldrb r0, [r2]
lsls r0, 27
lsrs r0, 27
ldr r5, =0x0000050d
adds r1, r7, r5
strb r0, [r1]
movs r6, 0
ldr r0, =0x0000050e
adds r4, r7, r0
mov r10, r9
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
mov r8, r1
adds r5, r3, 0
_08185936:
lsls r3, r6, 1
mov r0, r10
ldr r2, [r0]
mov r0, r8
ldrh r1, [r0]
adds r1, r5
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r3, r0
movs r1, 0x82
lsls r1, 1
adds r2, r1
adds r2, r3
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x5
ble _08185936
mov r3, r9
ldr r2, [r3]
2017-09-05 09:41:48 +02:00
ldr r4, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
ldrh r1, [r4]
ldr r5, =0xfffffe70
adds r1, r5
b _081859AC
.pool
_0818597C:
2017-09-11 14:42:13 +02:00
ldr r3, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r0, [r3]
cmp r0, r1
bls _081859C0
mov r4, r9
ldr r2, [r4]
adds r1, r0, 0
ldr r3, =0xfffffe70
adds r1, r3
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, r0
adds r2, 0xDC
ldrb r0, [r2]
lsls r0, 27
lsrs r0, 27
ldr r5, =0x0000050d
adds r1, r7, r5
strb r0, [r1]
ldr r2, [r4]
2017-09-11 14:42:13 +02:00
ldr r0, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
ldrh r1, [r0]
adds r1, r3
_081859AC:
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, r0
ldr r1, =0x0000011b
adds r0, r2, r1
ldrb r1, [r0]
ldr r2, =0x0000051b
adds r0, r7, r2
strb r1, [r0]
_081859C0:
movs r6, 0
ldr r3, =0x00000297
mov r10, r3
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
mov r9, r4
movs r5, 0xA6
lsls r5, 2
mov r8, r5
ldr r0, =0x0000051c
adds r5, r7, r0
_081859D4:
adds r4, r6, 0x1
mov r0, r8
muls r0, r6
mov r1, r9
adds r2, r0, r1
adds r1, r0, r5
mov r3, r10
adds r3, 0x1
_081859E4:
ldrb r0, [r2]
strb r0, [r1]
adds r2, 0x1
adds r1, 0x1
subs r3, 0x1
cmp r3, 0
bne _081859E4
adds r6, r4, 0
cmp r6, 0x3
ble _081859D4
_081859F8:
adds r0, r7, 0
ldr r1, [sp]
bl sub_81852F0
adds r4, r0, 0
cmp r4, 0x1
beq _08185A14
ldr r0, [sp, 0x4]
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
cmp r0, 0x2
bls _081859F8
_08185A14:
adds r0, r7, 0
bl Free
ldr r0, [sp]
bl Free
adds r0, r4, 0
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.pool
2017-10-01 18:54:01 +02:00
thumb_func_end MoveRecordedBattleToSaveData
2016-11-01 18:08:48 +01:00
thumb_func_start sub_8185A54
sub_8185A54: @ 8185A54
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r0, 0x1F
bl sub_81535DC
cmp r0, 0x1
bne _08185A7E
movs r2, 0xF8
lsls r2, 4
adds r0, r5, 0
adds r1, r4, 0
bl memcpy
adds r0, r5, 0
bl sub_81852B0
cmp r0, 0
beq _08185A7E
movs r0, 0x1
b _08185A80
_08185A7E:
movs r0, 0
_08185A80:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8185A54
thumb_func_start start_ov_to_battle_anim
start_ov_to_battle_anim: @ 8185A88
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x80
lsls r0, 5
bl AllocZeroed
adds r5, r0, 0
adds r0, r4, 0
adds r1, r5, 0
bl sub_8185A54
adds r4, r0, 0
adds r0, r5, 0
bl Free
adds r0, r4, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end start_ov_to_battle_anim
thumb_func_start sub_8185AB0
sub_8185AB0: @ 8185AB0
push {lr}
2017-01-14 20:53:20 +01:00
ldr r0, =gSaveBlock2Ptr
2016-11-01 18:08:48 +01:00
ldr r2, [r0]
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AD
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
ldr r1, =0x00000ca9
adds r2, r1
movs r1, 0x3
ands r1, r0
ldrb r3, [r2]
movs r0, 0x4
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
2017-08-31 16:48:24 +02:00
ldr r1, =gBattleOutcome
2016-11-01 18:08:48 +01:00
movs r0, 0
strb r0, [r1]
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
movs r1, 0
str r1, [r0]
2017-09-05 09:41:48 +02:00
ldr r0, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
strh r1, [r0]
2017-09-05 09:41:48 +02:00
ldr r0, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
strh r1, [r0]
2017-09-11 14:42:13 +02:00
ldr r0, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
strh r1, [r0]
bl sub_8185EFC
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B0
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
bl SetMainCallback2
pop {r0}
bx r0
.pool
thumb_func_end sub_8185AB0
thumb_func_start sub_8185B1C
sub_8185B1C: @ 8185B1C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
2016-11-01 19:35:16 +01:00
ldr r1, =gTasks
2016-11-01 18:08:48 +01:00
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrh r1, [r0, 0x8]
subs r1, 0x1
strh r1, [r0, 0x8]
lsls r1, 16
cmp r1, 0
bne _08185B4A
2017-02-04 01:44:06 +01:00
ldr r0, =gMain
2016-11-01 18:08:48 +01:00
ldr r1, =sub_8185AB0
str r1, [r0, 0x8]
2017-10-01 01:12:42 +02:00
ldr r0, =CB2_InitBattle
2016-11-01 18:08:48 +01:00
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
_08185B4A:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185B1C
thumb_func_start sub_8185B60
sub_8185B60: @ 8185B60
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
adds r7, r0, 0
2017-09-03 22:50:17 +02:00
bl ZeroPlayerPartyMons
bl ZeroEnemyPartyMons
2016-11-01 18:08:48 +01:00
movs r6, 0
ldr r0, =gPlayerParty
2016-11-01 18:08:48 +01:00
mov r8, r0
_08185B7C:
movs r0, 0x64
adds r4, r6, 0
muls r4, r0
mov r1, r8
adds r0, r4, r1
adds r5, r7, r4
adds r1, r5, 0
movs r2, 0x64
bl memcpy
ldr r0, =gEnemyParty
2016-11-01 18:08:48 +01:00
adds r4, r0
movs r2, 0x96
lsls r2, 2
adds r5, r2
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0x64
bl memcpy
adds r6, 0x1
cmp r6, 0x5
ble _08185B7C
movs r6, 0
2017-09-06 21:18:50 +02:00
ldr r3, =gLinkPlayers
2016-11-01 18:08:48 +01:00
mov r8, r3
mov r0, r8
adds r0, 0x8
str r0, [sp]
mov r4, r8
adds r4, 0x4
mov r10, r6
mov r9, r6
_08185BBE:
movs r1, 0
mov r12, r1
lsls r5, r6, 2
movs r2, 0x96
lsls r2, 3
adds r0, r7, r2
mov r3, r9
adds r2, r3, r0
mov r0, r10
lsls r1, r0, 2
mov r0, r8
adds r0, 0x8
adds r1, r0
movs r3, 0x7
_08185BDA:
ldrb r0, [r2]
strb r0, [r1]
ldrb r0, [r2]
cmp r0, 0xFF
bne _08185BE8
movs r0, 0x1
mov r12, r0
_08185BE8:
adds r2, 0x1
adds r1, 0x1
subs r3, 0x1
cmp r3, 0
bge _08185BDA
movs r1, 0x9A
lsls r1, 3
adds r0, r7, r1
adds r0, r6
ldrb r0, [r0]
strb r0, [r4, 0xF]
ldr r2, =0x000004e4
adds r0, r7, r2
adds r0, r6
ldrb r1, [r0]
strh r1, [r4, 0x16]
movs r3, 0x9E
lsls r3, 3
adds r0, r7, r3
adds r0, r6
ldrb r0, [r0]
strh r0, [r4, 0x14]
subs r2, 0x10
adds r0, r7, r2
adds r0, r5
ldr r0, [r0]
str r0, [r4]
mov r3, r12
cmp r3, 0
beq _08185C2A
ldr r0, [sp]
2017-01-14 20:53:20 +01:00
bl ConvertInternationalString
2016-11-01 18:08:48 +01:00
_08185C2A:
ldr r0, [sp]
adds r0, 0x1C
str r0, [sp]
adds r4, 0x1C
movs r1, 0x7
add r10, r1
movs r2, 0x8
add r9, r2
adds r6, 0x1
cmp r6, 0x3
ble _08185BBE
2017-10-01 01:12:42 +02:00
ldr r1, =gRecordedBattleRngSeed
2016-11-01 18:08:48 +01:00
movs r3, 0x9D
lsls r3, 3
adds r0, r7, r3
ldr r0, [r0]
str r0, [r1]
2017-02-02 05:15:38 +01:00
ldr r2, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r1, =0x000004ec
adds r0, r7, r1
ldr r0, [r0]
movs r1, 0x80
lsls r1, 17
orrs r0, r1
str r0, [r2]
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_A
2016-11-01 18:08:48 +01:00
ldr r2, =0x000004f4
adds r0, r7, r2
ldrh r0, [r0]
strh r0, [r1]
2017-09-05 09:41:48 +02:00
ldr r1, =gTrainerBattleOpponent_B
2016-11-01 18:08:48 +01:00
adds r3, 0xE
adds r0, r7, r3
ldrh r0, [r0]
strh r0, [r1]
2017-09-11 14:42:13 +02:00
ldr r1, =gPartnerTrainerId
2016-11-01 18:08:48 +01:00
adds r2, 0x4
adds r0, r7, r2
ldrh r0, [r0]
strh r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7B4
2016-11-01 18:08:48 +01:00
adds r3, 0x4
adds r0, r7, r3
ldrh r0, [r0]
strb r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7AD
2017-01-14 20:53:20 +01:00
ldr r3, =gSaveBlock2Ptr
2016-11-01 18:08:48 +01:00
ldr r0, [r3]
ldr r2, =0x00000ca9
adds r0, r2
ldrb r0, [r0]
lsls r0, 30
lsrs r0, 30
strb r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7AE
2016-11-01 18:08:48 +01:00
ldr r2, =0x000004fd
adds r0, r7, r2
ldrb r0, [r0]
strb r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7AF
2016-11-01 18:08:48 +01:00
adds r2, 0x1
adds r0, r7, r2
ldrb r0, [r0]
strb r0, [r1]
2016-11-01 19:35:16 +01:00
ldr r2, =gUnknown_0203C7B6
2016-11-01 18:08:48 +01:00
ldr r1, =0x000004ff
adds r0, r7, r1
ldrb r1, [r0]
lsls r0, r1, 31
lsrs r0, 31
strb r0, [r2]
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B7
2016-11-01 18:08:48 +01:00
lsls r1, 28
lsrs r1, 29
strb r1, [r0]
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7BC
2016-11-01 18:08:48 +01:00
movs r2, 0xA0
lsls r2, 3
adds r0, r7, r2
ldr r0, [r0]
str r0, [r1]
movs r6, 0
mov r10, r3
2016-11-01 19:35:16 +01:00
ldr r2, =gUnknown_0203CCD9
ldr r3, =gUnknown_0203CCDA
ldr r0, =gUnknown_03001278
2016-11-01 18:08:48 +01:00
mov r8, r0
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_03001279
2016-11-01 18:08:48 +01:00
mov r9, r1
2016-11-01 19:35:16 +01:00
ldr r5, =gUnknown_0203CCD1
2016-11-01 18:08:48 +01:00
ldr r0, =0x00000504
adds r4, r7, r0
_08185CE2:
adds r0, r6, r5
adds r1, r4, r6
ldrb r1, [r1]
strb r1, [r0]
adds r6, 0x1
cmp r6, 0x7
ble _08185CE2
ldr r1, =0x0000050c
adds r0, r7, r1
ldrb r0, [r0]
strb r0, [r2]
ldr r2, =0x0000050d
adds r0, r7, r2
ldrb r0, [r0]
strb r0, [r3]
ldr r3, =0x0000051a
adds r0, r7, r3
ldrb r0, [r0]
mov r1, r8
strb r0, [r1]
adds r2, 0xE
adds r0, r7, r2
ldrb r0, [r0]
mov r3, r9
strb r0, [r3]
ldr r0, =0x0000050e
adds r1, r7, r0
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203CCDC
2016-11-01 18:08:48 +01:00
movs r6, 0x5
_08185D1C:
ldrh r0, [r1]
strh r0, [r4]
adds r1, 0x2
adds r4, 0x2
subs r6, 0x1
cmp r6, 0
bge _08185D1C
mov r1, r10
ldr r2, [r1]
ldr r3, =0x000004fc
adds r0, r7, r3
ldrb r0, [r0]
ldr r1, =0x00000ca9
adds r2, r1
movs r1, 0x3
ands r1, r0
ldrb r3, [r2]
movs r0, 0x4
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
movs r6, 0
ldr r2, =0x00000297
mov r10, r2
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203BD34
2016-11-01 18:08:48 +01:00
mov r9, r3
movs r0, 0xA6
lsls r0, 2
mov r8, r0
ldr r1, =0x0000051c
adds r5, r7, r1
_08185D5C:
adds r2, r6, 0x1
mov r0, r8
muls r0, r6
adds r1, r0, r5
mov r3, r9
adds r4, r0, r3
mov r3, r10
adds r3, 0x1
_08185D6C:
ldrb r0, [r1]
strb r0, [r4]
adds r1, 0x1
adds r4, 0x1
subs r3, 0x1
cmp r3, 0
bne _08185D6C
adds r6, r2, 0
cmp r6, 0x3
ble _08185D5C
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185B60
thumb_func_start sub_8185E24
sub_8185E24: @ 8185E24
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0xF8
lsls r0, 4
bl AllocZeroed
adds r4, r0, 0
bl start_ov_to_battle_anim
cmp r0, 0x1
bne _08185E6E
bl sub_8185EB8
adds r0, r4, 0
bl sub_8185B60
ldr r0, =sub_8185B1C
movs r1, 0x1
bl CreateTask
lsls r0, 24
lsrs r0, 24
2016-11-01 19:35:16 +01:00
ldr r2, =gTasks
2016-11-01 18:08:48 +01:00
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r0, 0x80
strh r0, [r1, 0x8]
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B0
2016-11-01 18:08:48 +01:00
str r5, [r0]
movs r0, 0
2017-09-11 14:42:13 +02:00
bl PlayMapChosenOrBattleBGM
2016-11-01 18:08:48 +01:00
ldr r0, =sub_8185E8C
bl SetMainCallback2
_08185E6E:
adds r0, r4, 0
bl Free
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185E24
thumb_func_start sub_8185E8C
sub_8185E8C: @ 8185E8C
push {lr}
2017-09-01 19:43:26 +02:00
bl AnimateSprites
bl BuildOamBuffer
2016-11-01 18:08:48 +01:00
bl RunTasks
pop {r0}
bx r0
thumb_func_end sub_8185E8C
thumb_func_start sub_8185EA0
sub_8185EA0: @ 8185EA0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AE
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8185EA0
thumb_func_start sub_8185EAC
sub_8185EAC: @ 8185EAC
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AF
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8185EAC
thumb_func_start sub_8185EB8
sub_8185EB8: @ 8185EB8
push {r4-r6,lr}
movs r5, 0
2016-11-01 19:35:16 +01:00
ldr r6, =gUnknown_0203C7C0
2016-11-01 18:08:48 +01:00
_08185EBE:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
adds r0, r4, r6
ldr r1, =gPlayerParty
2016-11-01 18:08:48 +01:00
adds r1, r4, r1
movs r2, 0x64
bl memcpy
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CA18
2016-11-01 18:08:48 +01:00
adds r0, r4, r0
ldr r1, =gEnemyParty
2016-11-01 18:08:48 +01:00
adds r4, r1
adds r1, r4, 0
movs r2, 0x64
bl memcpy
adds r5, 0x1
cmp r5, 0x5
ble _08185EBE
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185EB8
thumb_func_start sub_8185EFC
sub_8185EFC: @ 8185EFC
push {r4-r6,lr}
movs r5, 0
ldr r6, =gPlayerParty
2016-11-01 18:08:48 +01:00
_08185F02:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
adds r0, r4, r6
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7C0
2016-11-01 18:08:48 +01:00
adds r1, r4, r1
movs r2, 0x64
bl memcpy
ldr r0, =gEnemyParty
2016-11-01 18:08:48 +01:00
adds r0, r4, r0
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CA18
2016-11-01 18:08:48 +01:00
adds r4, r1
adds r1, r4, 0
movs r2, 0x64
bl memcpy
adds r5, 0x1
cmp r5, 0x5
ble _08185F02
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185EFC
thumb_func_start sub_8185F40
sub_8185F40: @ 8185F40
push {r4,r5,lr}
movs r2, 0
2017-09-06 21:18:50 +02:00
ldr r0, =gLinkPlayers
2017-08-31 16:48:24 +02:00
ldr r3, =gActiveBank
2016-11-01 18:08:48 +01:00
ldrh r1, [r0, 0x18]
adds r4, r0, 0
ldrb r0, [r3]
cmp r1, r0
beq _08185F64
adds r1, r4, 0
_08185F54:
adds r1, 0x1C
adds r2, 0x1
cmp r2, 0x3
bgt _08185F64
ldrh r0, [r1, 0x18]
ldrb r5, [r3]
cmp r0, r5
bne _08185F54
_08185F64:
cmp r2, 0x4
bne _08185F74
movs r0, 0
b _08185F7E
.pool
_08185F74:
lsls r0, r2, 3
subs r0, r2
lsls r0, 2
adds r0, r4
ldrb r0, [r0, 0x13]
_08185F7E:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8185F40
thumb_func_start sub_8185F84
sub_8185F84: @ 8185F84
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203C7B5
2016-11-01 18:08:48 +01:00
movs r0, 0
strb r0, [r1]
bx lr
.pool
thumb_func_end sub_8185F84
thumb_func_start sub_8185F90
sub_8185F90: @ 8185F90
lsls r0, 16
lsrs r0, 16
2016-11-01 19:35:16 +01:00
ldr r2, =gUnknown_0203C7B5
2016-11-01 18:08:48 +01:00
movs r1, 0x80
lsls r1, 8
ands r0, r1
lsls r0, 16
lsrs r0, 31
ldrb r1, [r2]
orrs r0, r1
strb r0, [r2]
bx lr
.pool
thumb_func_end sub_8185F90
thumb_func_start sub_8185FAC
sub_8185FAC: @ 8185FAC
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B5
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8185FAC
thumb_func_start sub_8185FB8
sub_8185FB8: @ 8185FB8
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B6
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8185FB8
thumb_func_start sub_8185FC4
sub_8185FC4: @ 8185FC4
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7B7
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8185FC4
thumb_func_start sub_8185FD0
sub_8185FD0: @ 8185FD0
push {r4-r7,lr}
2017-08-31 16:48:24 +02:00
ldr r4, =gActiveBank
2016-11-01 18:08:48 +01:00
ldrb r0, [r4]
2017-08-31 16:48:24 +02:00
bl GetBankSide
2016-11-01 18:08:48 +01:00
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0818601C
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
ldr r1, =0x02000002
ands r0, r1
cmp r0, 0
bne _0818601C
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7AC
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
cmp r0, 0x2
beq _0818601C
movs r3, 0
2016-11-01 19:35:16 +01:00
ldr r7, =gUnknown_0203CC70
2016-11-01 18:08:48 +01:00
adds r6, r4, 0
ldr r5, =gBattleMons + 0xC
2016-11-01 18:08:48 +01:00
movs r4, 0x58
_08186000:
lsls r2, r3, 1
ldrb r1, [r6]
lsrs r0, r1, 1
lsls r0, 3
adds r0, r2, r0
adds r0, r7
muls r1, r4
adds r2, r1
adds r2, r5
ldrh r1, [r2]
strh r1, [r0]
adds r3, 0x1
cmp r3, 0x3
ble _08186000
_0818601C:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8185FD0
thumb_func_start sub_818603C
sub_818603C: @ 818603C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x50
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x24]
2017-02-02 05:15:38 +01:00
ldr r0, =gBattleTypeFlags
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
ldr r1, =0x02000002
ands r0, r1
cmp r0, 0
beq _0818605C
b _081863FC
_0818605C:
movs r0, 0
mov r10, r0
b _081863F2
.pool
_0818606C:
mov r1, r10
lsls r4, r1, 24
lsrs r5, r4, 24
adds r0, r5, 0
2017-08-31 16:48:24 +02:00
bl GetBankSide
2016-11-01 18:08:48 +01:00
lsls r0, 24
lsrs r0, 24
str r4, [sp, 0x4C]
mov r2, r10
adds r2, 0x1
str r2, [sp, 0x38]
cmp r0, 0x1
bne _0818608A
b _081863EE
_0818608A:
ldr r3, [sp, 0x24]
cmp r3, 0x1
bne _0818611E
movs r5, 0
2016-11-01 19:35:16 +01:00
ldr r4, =gUnknown_0203CC70
2016-11-01 18:08:48 +01:00
mov r0, r10
asrs r6, r0, 31
subs r0, r6
asrs r0, 1
lsls r0, 3
adds r2, r0, r4
movs r1, 0x58
mov r0, r10
muls r0, r1
ldr r3, =gBattleMons + 0xC
2016-11-01 18:08:48 +01:00
adds r1, r0, r3
_081860AA:
ldrh r0, [r1]
ldrh r4, [r2]
cmp r0, r4
bne _081860BC
adds r2, 0x2
adds r1, 0x2
adds r5, 0x1
cmp r5, 0x3
ble _081860AA
_081860BC:
cmp r5, 0x4
bne _081860C2
b _081863EE
_081860C2:
ldr r1, [sp, 0x4C]
lsrs r0, r1, 24
movs r1, 0x6
2017-09-25 00:09:13 +02:00
bl RecordedBattle_SetBankAction
2016-11-01 18:08:48 +01:00
movs r5, 0
2016-11-01 19:35:16 +01:00
ldr r2, =gUnknown_0203CC70
2016-11-01 18:08:48 +01:00
mov r8, r2
movs r3, 0x58
mov r7, r10
muls r7, r3
mov r4, r10
subs r0, r4, r6
asrs r4, r0, 1
_081860DE:
movs r2, 0
lsls r0, r5, 1
adds r5, 0x1
adds r0, r7
ldr r1, =gBattleMons + 0xC
2016-11-01 18:08:48 +01:00
adds r3, r0, r1
lsls r0, r4, 3
mov r6, r8
adds r1, r0, r6
_081860F0:
ldrh r0, [r3]
ldrh r6, [r1]
cmp r0, r6
bne _08186110
lsls r1, r2, 24
lsrs r1, 24
ldr r2, [sp, 0x4C]
lsrs r0, r2, 24
2017-09-25 00:09:13 +02:00
bl RecordedBattle_SetBankAction
2016-11-01 18:08:48 +01:00
b _08186118
.pool
_08186110:
adds r1, 0x2
adds r2, 0x1
cmp r2, 0x3
ble _081860F0
_08186118:
cmp r5, 0x3
ble _081860DE
b _081863EE
_0818611E:
2016-11-01 19:35:16 +01:00
ldr r3, =gUnknown_0203BD34
ldr r1, =gUnknown_0203C794
2016-11-01 18:08:48 +01:00
mov r4, r10
lsls r2, r4, 1
adds r1, r2, r1
movs r0, 0xA6
lsls r0, 2
mov r6, r10
muls r6, r0
adds r0, r6, 0
ldrh r1, [r1]
adds r0, r1
adds r0, r3
ldrb r0, [r0]
str r2, [sp, 0x44]
cmp r0, 0x6
beq _08186142
b _081863EE
_08186142:
adds r0, r5, 0
2017-10-23 13:32:11 +02:00
bl RecordedBattle_ReadBankAction
2016-11-01 18:08:48 +01:00
movs r5, 0
mov r0, sp
adds r0, 0x4
str r0, [sp, 0x28]
mov r1, sp
adds r1, 0xC
str r1, [sp, 0x30]
mov r2, sp
adds r2, 0x14
str r2, [sp, 0x34]
mov r3, sp
adds r3, 0x18
str r3, [sp, 0x3C]
mov r4, sp
adds r4, 0x8
str r4, [sp, 0x2C]
mov r6, r10
lsls r6, 3
str r6, [sp, 0x48]
movs r1, 0x58
mov r0, r10
muls r0, r1
2017-02-02 05:15:38 +01:00
ldr r2, =gBattleMons
2016-11-01 18:08:48 +01:00
adds r0, r2
adds r6, r0, 0
adds r6, 0x3B
movs r4, 0x3
_0818617E:
mov r0, sp
adds r3, r0, r5
ldrb r1, [r6]
lsls r2, r5, 1
adds r0, r4, 0
lsls r0, r2
ands r1, r0
asrs r1, r2
strb r1, [r3]
adds r5, 0x1
cmp r5, 0x3
ble _0818617E
movs r5, 0
2017-02-02 05:15:38 +01:00
ldr r1, =gBattleMons
2016-11-01 18:08:48 +01:00
mov r9, r1
movs r2, 0x58
mov r7, r10
muls r7, r2
ldr r4, [sp, 0x28]
ldr r6, [sp, 0x30]
_081861A6:
ldr r3, [sp, 0x4C]
lsrs r0, r3, 24
2017-10-23 13:32:11 +02:00
bl RecordedBattle_ReadBankAction
2016-11-01 18:08:48 +01:00
strb r0, [r4]
ldrb r0, [r4]
lsls r0, 1
adds r0, r7
movs r1, 0xC
add r1, r9
mov r8, r1
add r0, r8
ldrh r0, [r0]
strh r0, [r6]
ldr r2, [sp, 0x34]
adds r1, r2, r5
ldrb r0, [r4]
adds r0, r7
ldr r3, =gBattleMons + 0x24
2016-11-01 18:08:48 +01:00
adds r0, r3
ldrb r0, [r0]
strb r0, [r1]
ldr r0, [sp, 0x3C]
adds r1, r0, r5
ldrb r0, [r4]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
ldr r1, [sp, 0x2C]
adds r3, r1, r5
ldr r2, [sp, 0x48]
mov r1, r10
subs r0, r2, r1
lsls r0, 2
2017-08-31 16:48:24 +02:00
ldr r2, =gDisableStructs
2016-11-01 18:08:48 +01:00
adds r0, r2
ldrb r1, [r0, 0x18]
lsrs r1, 4
2017-02-02 05:15:38 +01:00
ldr r2, =gBitTable
2016-11-01 18:08:48 +01:00
lsls r0, r5, 2
adds r0, r2
ldr r0, [r0]
ands r1, r0
lsrs r1, r5
strb r1, [r3]
adds r4, 0x1
adds r6, 0x2
adds r5, 0x1
cmp r5, 0x3
ble _081861A6
movs r5, 0
movs r3, 0xC
negs r3, r3
add r3, r8
mov r12, r3
2017-08-31 16:48:24 +02:00
ldr r4, =gDisableStructs
2016-11-01 18:08:48 +01:00
mov r9, r4
movs r6, 0x58
mov r1, r10
muls r1, r6
mov r0, r8
adds r0, 0x18
adds r4, r1, r0
adds r3, r1, 0
mov r7, r8
ldr r6, [sp, 0x34]
ldr r2, [sp, 0x30]
_0818622C:
adds r1, r3, r7
ldrh r0, [r2]
strh r0, [r1]
adds r0, r6, r5
ldrb r0, [r0]
strb r0, [r4]
adds r4, 0x1
adds r3, 0x2
adds r2, 0x2
adds r5, 0x1
cmp r5, 0x3
ble _0818622C
movs r0, 0x58
mov r4, r10
muls r4, r0
mov r1, r12
adds r0, r4, r1
adds r0, 0x3B
movs r1, 0
strb r1, [r0]
ldr r2, [sp, 0x48]
mov r6, r10
subs r3, r2, r6
lsls r3, 2
mov r0, r9
adds r2, r3, r0
ldrb r1, [r2, 0x18]
movs r0, 0xF
ands r0, r1
strb r0, [r2, 0x18]
movs r5, 0
2017-02-02 05:15:38 +01:00
ldr r1, =gBattleMons
2016-11-01 18:08:48 +01:00
adds r4, r1
adds r4, 0x3B
2017-08-31 16:48:24 +02:00
ldr r0, =gDisableStructs
2016-11-01 18:08:48 +01:00
adds r6, r3, r0
_08186274:
ldr r2, [sp, 0x3C]
adds r0, r2, r5
ldrb r0, [r0]
lsls r1, r5, 1
lsls r0, r1
ldrb r1, [r4]
orrs r0, r1
strb r0, [r4]
ldrb r2, [r6, 0x18]
lsrs r3, r2, 4
ldr r1, [sp, 0x2C]
adds r0, r1, r5
ldrb r1, [r0]
lsls r1, r5
orrs r1, r3
lsls r1, 4
movs r0, 0xF
ands r0, r2
orrs r0, r1
strb r0, [r6, 0x18]
adds r5, 0x1
cmp r5, 0x3
ble _08186274
movs r2, 0x58
mov r0, r10
muls r0, r2
mov r1, r12
adds r1, 0x50
adds r0, r1
ldr r0, [r0]
movs r1, 0x80
lsls r1, 14
ands r0, r1
cmp r0, 0
beq _081862BC
b _081863CA
_081862BC:
movs r5, 0
mov r3, sp
adds r3, 0x20
str r3, [sp, 0x40]
2017-08-31 16:48:24 +02:00
ldr r0, =gBattlePartyID
2016-11-01 18:08:48 +01:00
ldr r4, [sp, 0x44]
adds r6, r4, r0
_081862CA:
ldrh r1, [r6]
movs r0, 0x64
muls r0, r1
ldr r4, =gPlayerParty
2016-11-01 18:08:48 +01:00
adds r0, r4
movs r1, 0x15
movs r2, 0
bl GetMonData
2016-11-01 18:08:48 +01:00
mov r1, sp
adds r3, r1, r5
lsls r2, r5, 1
movs r1, 0x3
lsls r1, r2
ands r0, r1
lsrs r0, r2
strb r0, [r3]
adds r5, 0x1
cmp r5, 0x3
ble _081862CA
movs r5, 0
2017-08-31 16:48:24 +02:00
ldr r0, =gBattlePartyID
2016-11-01 18:08:48 +01:00
ldr r2, [sp, 0x44]
adds r7, r2, r0
movs r3, 0x64
mov r9, r3
mov r8, r4
ldr r4, [sp, 0x28]
ldr r6, [sp, 0x30]
_08186304:
ldrh r0, [r7]
mov r1, r9
muls r1, r0
adds r0, r1, 0
add r0, r8
ldrb r1, [r4]
adds r1, 0xD
movs r2, 0
bl GetMonData
2016-11-01 18:08:48 +01:00
strh r0, [r6]
ldrh r0, [r7]
mov r2, r9
muls r2, r0
adds r0, r2, 0
add r0, r8
ldrb r1, [r4]
adds r1, 0x11
movs r2, 0
bl GetMonData
2016-11-01 18:08:48 +01:00
ldr r3, [sp, 0x34]
adds r1, r3, r5
strb r0, [r1]
ldr r0, [sp, 0x3C]
adds r1, r0, r5
ldrb r0, [r4]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
adds r4, 0x1
adds r6, 0x2
adds r5, 0x1
cmp r5, 0x3
ble _08186304
movs r5, 0
2017-08-31 16:48:24 +02:00
ldr r0, =gBattlePartyID
2016-11-01 18:08:48 +01:00
ldr r1, [sp, 0x44]
adds r7, r1, r0
movs r2, 0x64
mov r9, r2
ldr r3, =gPlayerParty
2016-11-01 18:08:48 +01:00
mov r8, r3
ldr r6, [sp, 0x30]
adds r6, 0x8
ldr r4, [sp, 0x30]
_08186360:
ldrh r0, [r7]
mov r1, r9
muls r1, r0
adds r0, r1, 0
add r0, r8
adds r1, r5, 0
adds r1, 0xD
adds r2, r4, 0
2017-08-31 16:48:24 +02:00
bl SetMonData
2016-11-01 18:08:48 +01:00
ldrh r0, [r7]
mov r2, r9
muls r2, r0
adds r0, r2, 0
add r0, r8
adds r1, r5, 0
adds r1, 0x11
adds r2, r6, 0
2017-08-31 16:48:24 +02:00
bl SetMonData
2016-11-01 18:08:48 +01:00
adds r6, 0x1
adds r4, 0x2
adds r5, 0x1
cmp r5, 0x3
ble _08186360
movs r0, 0
ldr r3, [sp, 0x40]
strb r0, [r3]
movs r5, 0
2017-08-31 16:48:24 +02:00
ldr r4, =gBattlePartyID
ldr r6, =gPlayerParty
2016-11-01 18:08:48 +01:00
ldr r3, [sp, 0x3C]
ldr r2, [sp, 0x40]
_081863A2:
adds r0, r3, r5
ldrb r1, [r0]
lsls r0, r5, 1
lsls r1, r0
ldrb r0, [r2]
orrs r0, r1
strb r0, [r2]
adds r5, 0x1
cmp r5, 0x3
ble _081863A2
ldr r1, [sp, 0x44]
adds r0, r1, r4
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
adds r0, r6
movs r1, 0x15
ldr r2, [sp, 0x40]
2017-08-31 16:48:24 +02:00
bl SetMonData
2016-11-01 18:08:48 +01:00
_081863CA:
2017-09-17 14:10:32 +02:00
ldr r2, =gChosenMovesByBanks
2016-11-01 18:08:48 +01:00
ldr r3, [sp, 0x44]
adds r2, r3, r2
2017-08-31 16:48:24 +02:00
ldr r0, =gBattleStruct
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
add r0, r10
adds r0, 0x80
ldrb r0, [r0]
lsls r0, 1
movs r4, 0x58
mov r1, r10
muls r1, r4
adds r0, r1
2017-02-02 05:15:38 +01:00
ldr r1, =gBattleMons
2016-11-01 18:08:48 +01:00
adds r1, 0xC
adds r0, r1
ldrh r0, [r0]
strh r0, [r2]
_081863EE:
ldr r6, [sp, 0x38]
mov r10, r6
_081863F2:
2017-08-31 16:48:24 +02:00
ldr r0, =gNoOfAllBanks
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
cmp r10, r0
bge _081863FC
b _0818606C
_081863FC:
add sp, 0x50
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_818603C
2017-09-05 09:41:48 +02:00
thumb_func_start GetAiScriptsInRecordedBattle
GetAiScriptsInRecordedBattle: @ 8186438
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203C7BC
2016-11-01 18:08:48 +01:00
ldr r0, [r0]
bx lr
.pool
2017-09-05 09:41:48 +02:00
thumb_func_end GetAiScriptsInRecordedBattle
2016-11-01 18:08:48 +01:00
thumb_func_start sub_8186444
sub_8186444: @ 8186444
2016-11-01 19:35:16 +01:00
ldr r1, =gUnknown_0203CCD0
2016-11-01 18:08:48 +01:00
movs r0, 0x1
strb r0, [r1]
bx lr
.pool
thumb_func_end sub_8186444
2017-10-01 18:54:01 +02:00
thumb_func_start sub_8186450
sub_8186450: @ 8186450
2016-11-01 18:08:48 +01:00
push {lr}
movs r1, 0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CCD0
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
cmp r0, 0
bne _0818645E
movs r1, 0x1
_0818645E:
adds r0, r1, 0
pop {r1}
bx r1
.pool
2017-10-01 18:54:01 +02:00
thumb_func_end sub_8186450
2016-11-01 18:08:48 +01:00
thumb_func_start sub_8186468
sub_8186468: @ 8186468
push {r4,r5,lr}
adds r3, r0, 0
movs r2, 0
2016-11-01 19:35:16 +01:00
ldr r5, =gUnknown_03001278
ldr r4, =gUnknown_0203CCD1
2016-11-01 18:08:48 +01:00
_08186472:
adds r0, r3, r2
adds r1, r2, r4
ldrb r1, [r1]
strb r1, [r0]
adds r2, 0x1
cmp r2, 0x7
ble _08186472
movs r0, 0xFF
strb r0, [r3, 0x7]
ldrb r1, [r5]
adds r0, r3, 0
2017-01-14 20:53:20 +01:00
bl ConvertInternationalString
2016-11-01 18:08:48 +01:00
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8186468
thumb_func_start sub_818649C
sub_818649C: @ 818649C
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CCD9
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_818649C
thumb_func_start sub_81864A8
sub_81864A8: @ 81864A8
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CCDA
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_81864A8
thumb_func_start sub_81864B4
sub_81864B4: @ 81864B4
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_03001278
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_81864B4
thumb_func_start sub_81864C0
sub_81864C0: @ 81864C0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_03001279
2016-11-01 18:08:48 +01:00
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_81864C0
thumb_func_start sub_81864CC
sub_81864CC: @ 81864CC
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CCE8
2017-08-31 16:48:24 +02:00
ldr r1, =gBattleOutcome
2016-11-01 18:08:48 +01:00
ldrb r1, [r1]
strb r1, [r0]
bx lr
.pool
thumb_func_end sub_81864CC
thumb_func_start sub_81864E0
sub_81864E0: @ 81864E0
2016-11-01 19:35:16 +01:00
ldr r0, =gUnknown_0203CCDC
2016-11-01 18:08:48 +01:00
bx lr
.pool
thumb_func_end sub_81864E0
.align 2, 0 @ Don't pad with nop.