summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_2.s2
-rw-r--r--asm/battle_message.s2
-rw-r--r--asm/battle_setup.s62
-rw-r--r--asm/battle_tower.s98
-rw-r--r--asm/cable_club.s4
-rw-r--r--asm/easy_chat.s6
-rw-r--r--asm/field_control_avatar.s6
-rw-r--r--asm/field_specials.s5732
-rw-r--r--asm/fldeff_cut.s4
-rw-r--r--asm/learn_move.s10
-rw-r--r--asm/pokemon_size_record.s24
-rw-r--r--asm/pokemon_storage_system.s6
-rw-r--r--asm/pokemon_summary_screen.s6
-rw-r--r--asm/post_battle_event_funcs.s6
-rw-r--r--asm/script_pokemon_util_80A0058.s14
-rw-r--r--asm/script_pokemon_util_80BF8FC.s24
-rw-r--r--asm/trade.s24
17 files changed, 149 insertions, 5881 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index bb696b4ab..5e342a50f 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -11209,7 +11209,7 @@ _080157E0:
ands r1, r0
cmp r1, 0
beq _08015824
- bl sub_80803CC
+ bl ScrSpecial_GetTrainerBattleMode
lsls r0, 24
lsrs r0, 24
cmp r0, 0x9
diff --git a/asm/battle_message.s b/asm/battle_message.s
index bd1011f9a..a7a52f5f7 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -1802,7 +1802,7 @@ _080D8120:
cmp r1, 0
beq _080D8134
mov r0, sp
- bl sub_80E7460
+ bl CopyEReaderTrainerName5
mov r4, sp
b _080D8382
_080D8134:
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index e8e0071db..5b2dd8144 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -291,8 +291,8 @@ sub_807F868: @ 807F868
bx r0
thumb_func_end sub_807F868
- thumb_func_start sub_807F888
-sub_807F888: @ 807F888
+ thumb_func_start ScrSpecial_StartOldManTutorialBattle
+ScrSpecial_StartOldManTutorialBattle: @ 807F888
push {lr}
ldr r0, _0807F8B4 @ =gEnemyParty
movs r1, 0xD
@@ -316,7 +316,7 @@ _0807F8B4: .4byte gEnemyParty
_0807F8B8: .4byte gMain
_0807F8BC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
_0807F8C0: .4byte gBattleTypeFlags
- thumb_func_end sub_807F888
+ thumb_func_end ScrSpecial_StartOldManTutorialBattle
thumb_func_start BattleSetup_StartScriptedWildBattle
BattleSetup_StartScriptedWildBattle: @ 807F8C4
@@ -346,8 +346,8 @@ _0807F8FC: .4byte sub_807FBA0
_0807F900: .4byte gBattleTypeFlags
thumb_func_end BattleSetup_StartScriptedWildBattle
- thumb_func_start sub_807F904
-sub_807F904: @ 807F904
+ thumb_func_start ScrSpecial_StartMarowakBattle
+ScrSpecial_StartMarowakBattle: @ 807F904
push {lr}
sub sp, 0xC
bl ScriptContext2_Enable
@@ -408,10 +408,10 @@ _0807F960:
_0807F98C: .4byte gBattleTypeFlags
_0807F990: .4byte gEnemyParty
_0807F994: .4byte gUnknown_841D148
- thumb_func_end sub_807F904
+ thumb_func_end ScrSpecial_StartMarowakBattle
- thumb_func_start sub_807F998
-sub_807F998: @ 807F998
+ thumb_func_start ScrSpecial_StartSouthernIslandBattle
+ScrSpecial_StartSouthernIslandBattle: @ 807F998
push {lr}
bl ScriptContext2_Enable
ldr r1, _0807F9CC @ =gMain
@@ -436,10 +436,10 @@ sub_807F998: @ 807F998
_0807F9CC: .4byte gMain
_0807F9D0: .4byte sub_807FBA0
_0807F9D4: .4byte gBattleTypeFlags
- thumb_func_end sub_807F998
+ thumb_func_end ScrSpecial_StartSouthernIslandBattle
- thumb_func_start sub_807F9D8
-sub_807F9D8: @ 807F9D8
+ thumb_func_start Special_StartLegendaryBattle
+Special_StartLegendaryBattle: @ 807F9D8
push {lr}
bl ScriptContext2_Enable
ldr r1, _0807FA0C @ =gMain
@@ -508,10 +508,10 @@ _0807FA56:
bl IncrementGameStat
pop {r0}
bx r0
- thumb_func_end sub_807F9D8
+ thumb_func_end Special_StartLegendaryBattle
- thumb_func_start sub_807FA68
-sub_807FA68: @ 807FA68
+ thumb_func_start Special_StartGroudonKyogreBattle
+Special_StartGroudonKyogreBattle: @ 807FA68
push {lr}
bl ScriptContext2_Enable
ldr r1, _0807FA90 @ =gMain
@@ -547,10 +547,10 @@ _0807FAAA:
bl IncrementGameStat
pop {r0}
bx r0
- thumb_func_end sub_807FA68
+ thumb_func_end Special_StartGroudonKyogreBattle
- thumb_func_start sub_807FABC
-sub_807FABC: @ 807FABC
+ thumb_func_start Special_StartRegiBattle
+Special_StartRegiBattle: @ 807FABC
push {lr}
bl ScriptContext2_Enable
ldr r1, _0807FAEC @ =gMain
@@ -574,7 +574,7 @@ sub_807FABC: @ 807FABC
_0807FAEC: .4byte gMain
_0807FAF0: .4byte sub_807FBA0
_0807FAF4: .4byte gBattleTypeFlags
- thumb_func_end sub_807FABC
+ thumb_func_end Special_StartRegiBattle
thumb_func_start sub_807FAF8
sub_807FAF8: @ 807FAF8
@@ -1717,14 +1717,14 @@ _080803C4: .4byte gSelectedEventObject
_080803C8: .4byte gMapObjects
thumb_func_end sub_8080398
- thumb_func_start sub_80803CC
-sub_80803CC: @ 80803CC
+ thumb_func_start ScrSpecial_GetTrainerBattleMode
+ScrSpecial_GetTrainerBattleMode: @ 80803CC
ldr r0, _080803D4 @ =gUnknown_20386AC
ldrb r0, [r0]
bx lr
.align 2, 0
_080803D4: .4byte gUnknown_20386AC
- thumb_func_end sub_80803CC
+ thumb_func_end ScrSpecial_GetTrainerBattleMode
thumb_func_start sub_80803D8
sub_80803D8: @ 80803D8
@@ -1817,7 +1817,7 @@ BattleSetup_StartTrainerBattle: @ 8080464
ldr r4, _080804A0 @ =gBattleTypeFlags
movs r0, 0x8
str r0, [r4]
- bl sub_80803CC
+ bl ScrSpecial_GetTrainerBattleMode
lsls r0, 24
lsrs r0, 24
cmp r0, 0x9
@@ -1964,8 +1964,8 @@ _080805A6:
_080805AC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_8080558
- thumb_func_start sub_80805B0
-sub_80805B0: @ 80805B0
+ thumb_func_start ScrSpecial_StartTrainerEyeRematch
+ScrSpecial_StartTrainerEyeRematch: @ 80805B0
push {lr}
ldr r1, _080805CC @ =gBattleTypeFlags
movs r0, 0x8
@@ -1981,16 +1981,16 @@ sub_80805B0: @ 80805B0
_080805CC: .4byte gBattleTypeFlags
_080805D0: .4byte gMain
_080805D4: .4byte sub_8080558
- thumb_func_end sub_80805B0
+ thumb_func_end ScrSpecial_StartTrainerEyeRematch
- thumb_func_start sub_80805D8
-sub_80805D8: @ 80805D8
+ thumb_func_start ScrSpecial_ShowTrainerIntroSpeech
+ScrSpecial_ShowTrainerIntroSpeech: @ 80805D8
push {lr}
bl sub_80806D8
bl ShowFieldMessage
pop {r0}
bx r0
- thumb_func_end sub_80805D8
+ thumb_func_end ScrSpecial_ShowTrainerIntroSpeech
thumb_func_start BattleSetup_GetScriptAddrAfterBattle
BattleSetup_GetScriptAddrAfterBattle: @ 80805E8
@@ -2024,14 +2024,14 @@ _08080610: .4byte gUnknown_20386C8
_08080614: .4byte EventScript_1C555B
thumb_func_end BattleSetup_GetTrainerPostBattleScript
- thumb_func_start sub_8080618
-sub_8080618: @ 8080618
+ thumb_func_start ScrSpecial_ShowTrainerNonBattlingSpeech
+ScrSpecial_ShowTrainerNonBattlingSpeech: @ 8080618
push {lr}
bl sub_8080734
bl ShowFieldMessage
pop {r0}
bx r0
- thumb_func_end sub_8080618
+ thumb_func_end ScrSpecial_ShowTrainerNonBattlingSpeech
thumb_func_start PlayTrainerEncounterMusic
PlayTrainerEncounterMusic: @ 8080628
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 08fefffbc..72cba63a3 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -358,8 +358,8 @@ _080E5C20: .4byte gSaveBlock2Ptr
_080E5C24: .4byte 0x0000056c
thumb_func_end sub_80E5B14
- thumb_func_start sub_80E5C28
-sub_80E5C28: @ 80E5C28
+ thumb_func_start ChooseNextBattleTowerTrainer
+ChooseNextBattleTowerTrainer: @ 80E5C28
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -637,7 +637,7 @@ _080E5E4C: .4byte 0x00000572
_080E5E50: .4byte gSaveBlock2Ptr
_080E5E54: .4byte 0x0000056c
_080E5E58: .4byte 0x00000571
- thumb_func_end sub_80E5C28
+ thumb_func_end ChooseNextBattleTowerTrainer
thumb_func_start sub_80E5E5C
sub_80E5E5C: @ 80E5E5C
@@ -651,14 +651,14 @@ sub_80E5E5C: @ 80E5E5C
_080E5E6C: .4byte 0x00004010
thumb_func_end sub_80E5E5C
- thumb_func_start sub_80E5E70
-sub_80E5E70: @ 80E5E70
+ thumb_func_start SetEReaderTrainerGfxId
+SetEReaderTrainerGfxId: @ 80E5E70
push {lr}
movs r0, 0xC8
bl sub_80E5E5C
pop {r0}
bx r0
- thumb_func_end sub_80E5E70
+ thumb_func_end SetEReaderTrainerGfxId
thumb_func_start sub_80E5E7C
sub_80E5E7C: @ 80E5E7C
@@ -1700,8 +1700,8 @@ _080E6640: .4byte gUnknown_84020C4
_080E6644: .4byte 0x0000ffff
thumb_func_end sub_80E6564
- thumb_func_start sub_80E6648
-sub_80E6648: @ 80E6648
+ thumb_func_start CheckPartyBattleTowerBanlist
+CheckPartyBattleTowerBanlist: @ 80E6648
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1854,7 +1854,7 @@ _080E6770:
_080E6780: .4byte gSpecialVar_0x8004
_080E6784: .4byte gSaveBlock2Ptr
_080E6788: .4byte 0x0000055c
- thumb_func_end sub_80E6648
+ thumb_func_end CheckPartyBattleTowerBanlist
thumb_func_start sub_80E678C
sub_80E678C: @ 80E678C
@@ -1918,8 +1918,8 @@ _080E67F0:
_080E67F8: .4byte gStringVar4
thumb_func_end sub_80E678C
- thumb_func_start sub_80E67FC
-sub_80E67FC: @ 80E67FC
+ thumb_func_start PrintBattleTowerTrainerGreeting
+PrintBattleTowerTrainerGreeting: @ 80E67FC
push {lr}
ldr r0, _080E6818 @ =gSaveBlock2Ptr
ldr r2, [r0]
@@ -1962,7 +1962,7 @@ _080E684C:
bx r0
.align 2, 0
_080E6850: .4byte 0xffffc154
- thumb_func_end sub_80E67FC
+ thumb_func_end PrintBattleTowerTrainerGreeting
thumb_func_start sub_80E6854
sub_80E6854: @ 80E6854
@@ -2048,8 +2048,8 @@ _080E68F8: .4byte sub_80E6854
_080E68FC: .4byte sub_800FD9C
thumb_func_end sub_80E68C4
- thumb_func_start sub_80E6900
-sub_80E6900: @ 80E6900
+ thumb_func_start StartSpecialBattle
+StartSpecialBattle: @ 80E6900
push {r4-r6,lr}
sub sp, 0x4
ldr r0, _080E691C @ =gUnknown_203AAB8
@@ -2168,10 +2168,10 @@ _080E69FC: .4byte gBattleTypeFlags
_080E6A00: .4byte 0x00000808
_080E6A04: .4byte gTrainerBattleOpponent_A
_080E6A08: .4byte sub_80E68C4
- thumb_func_end sub_80E6900
+ thumb_func_end StartSpecialBattle
- thumb_func_start sub_80E6A0C
-sub_80E6A0C: @ 80E6A0C
+ thumb_func_start SetBattleTowerProperty
+SetBattleTowerProperty: @ 80E6A0C
push {r4-r6,lr}
ldr r1, _080E6A34 @ =gSaveBlock2Ptr
ldr r0, [r1]
@@ -2469,10 +2469,10 @@ _080E6C80:
bx r0
.align 2, 0
_080E6C88: .4byte 0x0000055c
- thumb_func_end sub_80E6A0C
+ thumb_func_end SetBattleTowerProperty
- thumb_func_start sub_80E6C8C
-sub_80E6C8C: @ 80E6C8C
+ thumb_func_start BattleTowerUtil
+BattleTowerUtil: @ 80E6C8C
push {r4,lr}
ldr r1, _080E6CB4 @ =gSaveBlock2Ptr
ldr r0, [r1]
@@ -2652,10 +2652,10 @@ _080E6E08:
bx r0
.align 2, 0
_080E6E10: .4byte 0x0000055c
- thumb_func_end sub_80E6C8C
+ thumb_func_end BattleTowerUtil
- thumb_func_start sub_80E6E14
-sub_80E6E14: @ 80E6E14
+ thumb_func_start SetBattleTowerParty
+SetBattleTowerParty: @ 80E6E14
push {r4,r5,lr}
movs r2, 0
ldr r5, _080E6E3C @ =gUnknown_203B0D4
@@ -2671,7 +2671,7 @@ _080E6E1E:
adds r2, 0x1
cmp r2, 0x2
ble _080E6E1E
- bl sub_80A03D8
+ bl ReducePlayerPartyToThree
pop {r4,r5}
pop {r0}
bx r0
@@ -2679,7 +2679,7 @@ _080E6E1E:
_080E6E3C: .4byte gUnknown_203B0D4
_080E6E40: .4byte gSaveBlock2Ptr
_080E6E44: .4byte 0x0000056d
- thumb_func_end sub_80E6E14
+ thumb_func_end SetBattleTowerParty
thumb_func_start sub_80E6E48
sub_80E6E48: @ 80E6E48
@@ -2858,8 +2858,8 @@ _080E6FB0: .4byte 0x0000056d
_080E6FB4: .4byte gUnknown_2024220
thumb_func_end sub_80E6EE0
- thumb_func_start sub_80E6FB8
-sub_80E6FB8: @ 80E6FB8
+ thumb_func_start SaveBattleTowerProgress
+SaveBattleTowerProgress: @ 80E6FB8
push {r4,r5,lr}
ldr r0, _080E703C @ =gSaveBlock2Ptr
ldr r1, [r0]
@@ -2933,15 +2933,15 @@ _080E7048: .4byte 0x00000564
_080E704C: .4byte gBattleOutcome
_080E7050: .4byte 0x0000055d
_080E7054: .4byte 0x0000055e
- thumb_func_end sub_80E6FB8
+ thumb_func_end SaveBattleTowerProgress
- thumb_func_start sub_80E7058
-sub_80E7058: @ 80E7058
+ thumb_func_start BattleTower_SoftReset
+BattleTower_SoftReset: @ 80E7058
push {lr}
bl DoSoftReset
pop {r0}
bx r0
- thumb_func_end sub_80E7058
+ thumb_func_end BattleTower_SoftReset
thumb_func_start sub_80E7064
sub_80E7064: @ 80E7064
@@ -3142,8 +3142,8 @@ _080E71C8: .4byte 0x0000ffff
_080E71CC: .4byte 0x0000270f
thumb_func_end sub_80E7188
- thumb_func_start sub_80E71D0
-sub_80E71D0: @ 80E71D0
+ thumb_func_start DetermineBattleTowerPrize
+DetermineBattleTowerPrize: @ 80E71D0
push {r4,r5,lr}
ldr r4, _080E7214 @ =gSaveBlock2Ptr
ldr r1, [r4]
@@ -3201,10 +3201,10 @@ _080E7240:
bx r0
.align 2, 0
_080E7248: .4byte gUnknown_84020DA
- thumb_func_end sub_80E71D0
+ thumb_func_end DetermineBattleTowerPrize
- thumb_func_start sub_80E724C
-sub_80E724C: @ 80E724C
+ thumb_func_start GiveBattleTowerPrize
+GiveBattleTowerPrize: @ 80E724C
push {r4-r6,lr}
ldr r5, _080E7288 @ =gSaveBlock2Ptr
ldr r1, [r5]
@@ -3255,10 +3255,10 @@ _080E72AA:
.align 2, 0
_080E72B0: .4byte gSpecialVar_Result
_080E72B4: .4byte 0x0000055e
- thumb_func_end sub_80E724C
+ thumb_func_end GiveBattleTowerPrize
- thumb_func_start sub_80E72B8
-sub_80E72B8: @ 80E72B8
+ thumb_func_start AwardBattleTowerRibbons
+AwardBattleTowerRibbons: @ 80E72B8
push {r4-r7,lr}
ldr r0, _080E7334 @ =gSaveBlock2Ptr
ldr r0, [r0]
@@ -3328,7 +3328,7 @@ _080E7338: .4byte 0x0000055c
_080E733C: .4byte gSpecialVar_Result
_080E7340: .4byte 0x0000056d
_080E7344: .4byte gPlayerParty
- thumb_func_end sub_80E72B8
+ thumb_func_end AwardBattleTowerRibbons
thumb_func_start sub_80E7348
sub_80E7348: @ 80E7348
@@ -3469,8 +3469,8 @@ _080E7458: .4byte gSaveBlock2Ptr
_080E745C: .4byte 0x000004a1
thumb_func_end GetEreaderTrainerClassId
- thumb_func_start sub_80E7460
-sub_80E7460: @ 80E7460
+ thumb_func_start CopyEReaderTrainerName5
+CopyEReaderTrainerName5: @ 80E7460
push {r4,lr}
adds r3, r0, 0
movs r2, 0
@@ -3495,7 +3495,7 @@ _080E746E:
.align 2, 0
_080E7488: .4byte gSaveBlock2Ptr
_080E748C: .4byte 0x000004a4
- thumb_func_end sub_80E7460
+ thumb_func_end CopyEReaderTrainerName5
thumb_func_start ValidateEReaderTrainer
ValidateEReaderTrainer: @ 80E7490
@@ -3594,8 +3594,8 @@ _080E752A:
bx r0
thumb_func_end sub_80E7524
- thumb_func_start sub_80E7538
-sub_80E7538: @ 80E7538
+ thumb_func_start PrintEReaderTrainerGreeting
+PrintEReaderTrainerGreeting: @ 80E7538
push {lr}
ldr r0, _080E754C @ =gSaveBlock2Ptr
ldr r0, [r0]
@@ -3607,7 +3607,7 @@ sub_80E7538: @ 80E7538
bx r0
.align 2, 0
_080E754C: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80E7538
+ thumb_func_end PrintEReaderTrainerGreeting
thumb_func_start sub_80E7550
sub_80E7550: @ 80E7550
@@ -3649,8 +3649,8 @@ _080E7594: .4byte gSaveBlock2Ptr
_080E7598: .4byte 0x000004bc
thumb_func_end sub_80E7550
- thumb_func_start sub_80E759C
-sub_80E759C: @ 80E759C
+ thumb_func_start Dummy_TryEnableBravoTrainerBattleTower
+Dummy_TryEnableBravoTrainerBattleTower: @ 80E759C
push {lr}
movs r0, 0x1
_080E75A0:
@@ -3659,6 +3659,6 @@ _080E75A0:
bge _080E75A0
pop {r0}
bx r0
- thumb_func_end sub_80E759C
+ thumb_func_end Dummy_TryEnableBravoTrainerBattleTower
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 76346a28c..4c265b65f 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -1625,7 +1625,7 @@ _08081404:
.align 2, 0
_0808140C: .4byte gBattleTypeFlags
_08081410:
- bl sub_80A03D8
+ bl ReducePlayerPartyToThree
ldr r1, _08081440 @ =gBattleTypeFlags
movs r0, 0x4B
_08081418:
@@ -1848,7 +1848,7 @@ _080815D4:
.align 2, 0
_080815DC: .4byte gBattleTypeFlags
_080815E0:
- bl sub_80A03D8
+ bl ReducePlayerPartyToThree
ldr r1, _08081610 @ =gBattleTypeFlags
movs r0, 0x4B
_080815E8:
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 26d7ac8bc..0daa8b2bc 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -576,8 +576,8 @@ _080BDB14: .4byte 0x00002cc4
_080BDB18: .4byte gStringVar4
thumb_func_end sub_80BDA7C
- thumb_func_start sub_80BDB1C
-sub_80BDB1C: @ 80BDB1C
+ thumb_func_start BufferRandomHobbyOrLifestyleString
+BufferRandomHobbyOrLifestyleString: @ 80BDB1C
push {lr}
bl Random
movs r1, 0x1
@@ -597,7 +597,7 @@ _080BDB2E:
bx r0
.align 2, 0
_080BDB44: .4byte gStringVar2
- thumb_func_end sub_80BDB1C
+ thumb_func_end BufferRandomHobbyOrLifestyleString
thumb_func_start sub_80BDB48
sub_80BDB48: @ 80BDB48
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 842c9c33e..c265d7d01 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -366,9 +366,9 @@ sub_806CAC8: @ 806CAC8
bl IncrementGameStat
bl MENewsJisanStepCounter
bl IncrementRenewableHiddenItemStepCounter
- bl sub_80CC918
- bl sub_80CB054
- bl sub_80CCFBC
+ bl RunMassageCooldownStepCounter
+ bl IncrementResortGorgeousStepCounter
+ bl BirthIslandDeoxysStepCounter
mov r0, sp
adds r1, r4, 0
adds r2, r6, 0
diff --git a/asm/field_specials.s b/asm/field_specials.s
deleted file mode 100644
index 653923fda..000000000
--- a/asm/field_specials.s
+++ /dev/null
@@ -1,5732 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80CA618
-sub_80CA618: @ 80CA618
- push {lr}
- bl sub_8112364
- ldr r0, _080CA62C @ =CB2_ShowDiploma
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_080CA62C: .4byte CB2_ShowDiploma
- thumb_func_end sub_80CA618
-
- thumb_func_start sub_80CA630
-sub_80CA630: @ 80CA630
- push {r4,lr}
- ldr r0, _080CA65C @ =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CA644
- movs r0, 0x2
- bl SetPlayerAvatarTransitionFlags
-_080CA644:
- movs r4, 0x8D
- lsls r4, 1
- adds r0, r4, 0
- bl Overworld_SetSavedMusic
- adds r0, r4, 0
- bl Overworld_ChangeMusicTo
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA65C: .4byte gPlayerAvatar
- thumb_func_end sub_80CA630
-
- thumb_func_start nullsub_74
-nullsub_74: @ 80CA660
- bx lr
- thumb_func_end nullsub_74
-
- thumb_func_start sub_80CA664
-sub_80CA664: @ 80CA664
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080CA676
- movs r0, 0x1
- b _080CA688
-_080CA676:
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080CA686
- movs r0, 0
- b _080CA688
-_080CA686:
- movs r0, 0x2
-_080CA688:
- pop {r1}
- bx r1
- thumb_func_end sub_80CA664
-
- thumb_func_start sub_80CA68C
-sub_80CA68C: @ 80CA68C
- push {lr}
- ldr r0, _080CA698 @ =gStringVar4
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .align 2, 0
-_080CA698: .4byte gStringVar4
- thumb_func_end sub_80CA68C
-
- thumb_func_start sub_80CA69C
-sub_80CA69C: @ 80CA69C
- ldr r1, _080CA6B0 @ =gSpecialVar_0x8004
- ldr r0, _080CA6B4 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r1, _080CA6B8 @ =gSpecialVar_0x8005
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080CA6B0: .4byte gSpecialVar_0x8004
-_080CA6B4: .4byte gSaveBlock1Ptr
-_080CA6B8: .4byte gSpecialVar_0x8005
- thumb_func_end sub_80CA69C
-
- thumb_func_start sub_80CA6BC
-sub_80CA6BC: @ 80CA6BC
- push {lr}
- ldr r0, _080CA6D8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080CA6D8: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80CA6BC
-
- thumb_func_start sub_80CA6DC
-sub_80CA6DC: @ 80CA6DC
- push {lr}
- ldr r0, _080CA6F4 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080CA700
- ldr r0, _080CA6F8 @ =gStringVar1
- ldr r1, _080CA6FC @ =gUnknown_8417FBB
- bl StringCopy
- b _080CA708
- .align 2, 0
-_080CA6F4: .4byte gSaveBlock2Ptr
-_080CA6F8: .4byte gStringVar1
-_080CA6FC: .4byte gUnknown_8417FBB
-_080CA700:
- ldr r0, _080CA70C @ =gStringVar1
- ldr r1, _080CA710 @ =gUnknown_8417FC3
- bl StringCopy
-_080CA708:
- pop {r0}
- bx r0
- .align 2, 0
-_080CA70C: .4byte gStringVar1
-_080CA710: .4byte gUnknown_8417FC3
- thumb_func_end sub_80CA6DC
-
- thumb_func_start sub_80CA714
-sub_80CA714: @ 80CA714
- push {lr}
- ldr r0, _080CA72C @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080CA738
- ldr r0, _080CA730 @ =gStringVar1
- ldr r1, _080CA734 @ =gUnknown_8417FD0
- bl StringCopy
- b _080CA740
- .align 2, 0
-_080CA72C: .4byte gSaveBlock2Ptr
-_080CA730: .4byte gStringVar1
-_080CA734: .4byte gUnknown_8417FD0
-_080CA738:
- ldr r0, _080CA744 @ =gStringVar1
- ldr r1, _080CA748 @ =gUnknown_8417FCC
- bl StringCopy
-_080CA740:
- pop {r0}
- bx r0
- .align 2, 0
-_080CA744: .4byte gStringVar1
-_080CA748: .4byte gUnknown_8417FCC
- thumb_func_end sub_80CA714
-
- thumb_func_start Special_GetBattleOutcome
-Special_GetBattleOutcome: @ 80CA74C
- ldr r0, _080CA754 @ =gBattleOutcome
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080CA754: .4byte gBattleOutcome
- thumb_func_end Special_GetBattleOutcome
-
- thumb_func_start Special_SetHiddenItemFlag
-Special_SetHiddenItemFlag: @ 80CA758
- push {lr}
- ldr r0, _080CA768 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_080CA768: .4byte gSpecialVar_0x8004
- thumb_func_end Special_SetHiddenItemFlag
-
- thumb_func_start sub_80CA76C
-sub_80CA76C: @ 80CA76C
- push {r4,lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _080CA790 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xFF
- bne _080CA794
- movs r0, 0x6
- b _080CA7E6
- .align 2, 0
-_080CA790: .4byte gPlayerParty
-_080CA794:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xC7
- bls _080CA7A4
- movs r0, 0x5
- b _080CA7E6
-_080CA7A4:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x95
- bls _080CA7B4
- movs r0, 0x4
- b _080CA7E6
-_080CA7B4:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x63
- bls _080CA7C4
- movs r0, 0x3
- b _080CA7E6
-_080CA7C4:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x31
- bls _080CA7D4
- movs r0, 0x2
- b _080CA7E6
-_080CA7D4:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0
- bne _080CA7E4
- movs r0, 0
- b _080CA7E6
-_080CA7E4:
- movs r0, 0x1
-_080CA7E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CA76C
-
- thumb_func_start sub_80CA7EC
-sub_80CA7EC: @ 80CA7EC
- push {lr}
- bl sub_8112364
- ldr r1, _080CA800 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- movs r0, 0x1
- bl sub_80BFF50
- pop {r0}
- bx r0
- .align 2, 0
-_080CA800: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_80CA7EC
-
- thumb_func_start sub_80CA804
-sub_80CA804: @ 80CA804
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080CA850 @ =gBaseStats
-_080CA80A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080CA854 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080CA858
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080CA858
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x6]
- cmp r0, 0xC
- beq _080CA84C
- ldrb r0, [r1, 0x7]
- cmp r0, 0xC
- bne _080CA858
-_080CA84C:
- movs r0, 0x1
- b _080CA864
- .align 2, 0
-_080CA850: .4byte gBaseStats
-_080CA854: .4byte gPlayerParty
-_080CA858:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080CA80A
- movs r0, 0
-_080CA864:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CA804
-
- thumb_func_start sub_80CA86C
-sub_80CA86C: @ 80CA86C
- push {r4,lr}
- ldr r4, _080CA8A0 @ =sub_80CA8A8
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080CA89A
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA8A4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
-_080CA89A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA8A0: .4byte sub_80CA8A8
-_080CA8A4: .4byte gTasks
- thumb_func_end sub_80CA86C
-
- thumb_func_start sub_80CA8A8
-sub_80CA8A8: @ 80CA8A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CA8F4 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _080CA8E6
- ldrh r1, [r4]
- movs r0, 0x1
- ands r0, r1
- bl sub_80CA8F8
- bl DrawWholeMapView
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080CA8E6
- adds r0, r5, 0
- bl DestroyTask
-_080CA8E6:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA8F4: .4byte gTasks+0x8
- thumb_func_end sub_80CA8A8
-
- thumb_func_start sub_80CA8F8
-sub_80CA8F8: @ 80CA8F8
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- movs r7, 0
- movs r5, 0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _080CA926
- cmp r0, 0x3
- bgt _080CA91C
- cmp r0, 0x2
- beq _080CA922
- b _080CA92E
-_080CA91C:
- cmp r1, 0x4
- beq _080CA92A
- b _080CA92E
-_080CA922:
- movs r7, 0
- b _080CA92C
-_080CA926:
- movs r7, 0xFF
- b _080CA92C
-_080CA92A:
- movs r7, 0x1
-_080CA92C:
- movs r5, 0xFF
-_080CA92E:
- cmp r6, 0
- beq _080CA954
- ldr r0, _080CA940 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CA944
- movs r4, 0x62
- b _080CA96E
- .align 2, 0
-_080CA940: .4byte gSpecialVar_0x8004
-_080CA944:
- cmp r0, 0x1
- beq _080CA94C
- cmp r0, 0x2
- bne _080CA96E
-_080CA94C:
- ldr r4, _080CA950 @ =0x0000028f
- b _080CA96E
- .align 2, 0
-_080CA950: .4byte 0x0000028f
-_080CA954:
- ldr r0, _080CA960 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CA964
- movs r4, 0x63
- b _080CA96E
- .align 2, 0
-_080CA960: .4byte gSpecialVar_0x8004
-_080CA964:
- cmp r0, 0x1
- beq _080CA96C
- cmp r0, 0x2
- bne _080CA96E
-_080CA96C:
- ldr r4, _080CA9A0 @ =0x0000028a
-_080CA96E:
- ldr r0, _080CA9A4 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r7, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- lsls r2, r5, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r4, r2
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA9A0: .4byte 0x0000028a
-_080CA9A4: .4byte gSaveBlock1Ptr
- thumb_func_end sub_80CA8F8
-
- thumb_func_start sub_80CA9A8
-sub_80CA9A8: @ 80CA9A8
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0
- movs r5, 0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _080CA9D2
- cmp r0, 0x3
- bgt _080CA9C8
- cmp r0, 0x2
- beq _080CA9CE
- b _080CA9DA
-_080CA9C8:
- cmp r1, 0x4
- beq _080CA9D6
- b _080CA9DA
-_080CA9CE:
- movs r6, 0
- b _080CA9D8
-_080CA9D2:
- movs r6, 0xFF
- b _080CA9D8
-_080CA9D6:
- movs r6, 0x1
-_080CA9D8:
- movs r5, 0xFF
-_080CA9DA:
- ldr r0, _080CA9E8 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CA9EC
- movs r4, 0x62
- b _080CA9F6
- .align 2, 0
-_080CA9E8: .4byte gSpecialVar_0x8004
-_080CA9EC:
- cmp r0, 0x1
- beq _080CA9F4
- cmp r0, 0x2
- bne _080CA9F6
-_080CA9F4:
- ldr r4, _080CAA2C @ =0x0000028f
-_080CA9F6:
- ldr r0, _080CAA30 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- lsls r2, r5, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r4, r2
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAA2C: .4byte 0x0000028f
-_080CAA30: .4byte gSaveBlock1Ptr
- thumb_func_end sub_80CA9A8
-
- thumb_func_start SpawnCameraObject
-SpawnCameraObject: @ 80CAA34
- push {lr}
- sub sp, 0x8
- ldr r0, _080CAA80 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0x8
- movs r2, 0x7F
- bl SpawnSpecialFieldObjectParameterized
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CAA84 @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r1, 0x4]
- bl CameraObjectSetFollowedObjectId
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080CAA80: .4byte gSaveBlock1Ptr
-_080CAA84: .4byte gMapObjects
- thumb_func_end SpawnCameraObject
-
- thumb_func_start RemoveCameraObject
-RemoveCameraObject: @ 80CAA88
- push {lr}
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, _080CAAA8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveFieldObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .align 2, 0
-_080CAAA8: .4byte gSaveBlock1Ptr
- thumb_func_end RemoveCameraObject
-
- thumb_func_start sub_80CAAAC
-sub_80CAAAC: @ 80CAAAC
- push {lr}
- ldr r0, _080CAAB8 @ =gStringVar1
- bl sub_80E7460
- pop {r0}
- bx r0
- .align 2, 0
-_080CAAB8: .4byte gStringVar1
- thumb_func_end sub_80CAAAC
-
- thumb_func_start sub_80CAABC
-sub_80CAABC: @ 80CAABC
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x16
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080CAADC @ =gUnknown_83F5B1A
- adds r0, r1
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080CAADC: .4byte gUnknown_83F5B1A
- thumb_func_end sub_80CAABC
-
- thumb_func_start LeadMonHasEffortRibbon
-LeadMonHasEffortRibbon: @ 80CAAE0
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080CAB04 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080CAB04: .4byte gPlayerParty
- thumb_func_end LeadMonHasEffortRibbon
-
- thumb_func_start GivLeadMonEffortRibbon
-GivLeadMonEffortRibbon: @ 80CAB08
- push {lr}
- sub sp, 0x4
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, _080CAB3C @ =0x0000083b
- bl FlagSet
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080CAB40 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- mov r2, sp
- bl SetMonData
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080CAB3C: .4byte 0x0000083b
-_080CAB40: .4byte gPlayerParty
- thumb_func_end GivLeadMonEffortRibbon
-
- thumb_func_start ScrSpecial_AreLeadMonEVsMaxedOut
-ScrSpecial_AreLeadMonEVsMaxedOut: @ 80CAB44
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080CAB68 @ =gPlayerParty
- adds r0, r1
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, _080CAB6C @ =0x01fd0000
- cmp r0, r1
- bhi _080CAB70
- movs r0, 0
- b _080CAB72
- .align 2, 0
-_080CAB68: .4byte gPlayerParty
-_080CAB6C: .4byte 0x01fd0000
-_080CAB70:
- movs r0, 0x1
-_080CAB72:
- pop {r1}
- bx r1
- thumb_func_end ScrSpecial_AreLeadMonEVsMaxedOut
-
- thumb_func_start sub_80CAB78
-sub_80CAB78: @ 80CAB78
- push {r4-r6,lr}
- ldr r0, _080CABB4 @ =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r6, r0, 16
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _080CABC6
-_080CAB9A:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080CABB8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, r6
- bne _080CABBC
- movs r0, 0x1
- b _080CABC8
- .align 2, 0
-_080CABB4: .4byte 0x00004031
-_080CABB8: .4byte gPlayerParty
-_080CABBC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080CAB9A
-_080CABC6:
- movs r0, 0
-_080CABC8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CAB78
-
- thumb_func_start sub_80CABD0
-sub_80CABD0: @ 80CABD0
- push {r4-r6,lr}
- movs r6, 0
-_080CABD4:
- movs r4, 0
- lsls r5, r6, 24
-_080CABD8:
- lsls r1, r4, 24
- lsrs r1, 24
- lsrs r0, r5, 24
- movs r2, 0xB
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080CABEC
- movs r0, 0x1
- b _080CAC02
-_080CABEC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080CABD8
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xD
- bls _080CABD4
- movs r0, 0
-_080CAC02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CABD0
-
- thumb_func_start sub_80CAC08
-sub_80CAC08: @ 80CAC08
- push {lr}
- ldr r0, _080CAC1C @ =gPlayerParty
- movs r1, 0x3F
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- beq _080CAC20
- movs r0, 0x1
- b _080CAC22
- .align 2, 0
-_080CAC1C: .4byte gPlayerParty
-_080CAC20:
- movs r0, 0
-_080CAC22:
- pop {r1}
- bx r1
- thumb_func_end sub_80CAC08
-
- thumb_func_start sub_80CAC28
-sub_80CAC28: @ 80CAC28
- push {lr}
- ldr r0, _080CAC6C @ =sub_80CAC84
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CAC70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080CAC74 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, _080CAC78 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, _080CAC7C @ =gSpecialVar_0x8007
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r0, _080CAC80 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0xCF
- bl PlaySE
- pop {r0}
- bx r0
- .align 2, 0
-_080CAC6C: .4byte sub_80CAC84
-_080CAC70: .4byte gTasks
-_080CAC74: .4byte gSpecialVar_0x8005
-_080CAC78: .4byte gSpecialVar_0x8006
-_080CAC7C: .4byte gSpecialVar_0x8007
-_080CAC80: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80CAC28
-
- thumb_func_start sub_80CAC84
-sub_80CAC84: @ 80CAC84
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CACE4 @ =gTasks+0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _080CACDC
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- bl SetCameraPanning
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CACDC
- adds r0, r5, 0
- bl sub_80CACE8
- bl InstallCameraPanAheadCallback
-_080CACDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CACE4: .4byte gTasks+0x8
- thumb_func_end sub_80CAC84
-
- thumb_func_start sub_80CACE8
-sub_80CACE8: @ 80CACE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80CACE8
-
- thumb_func_start GetLeadMonIndex
-GetLeadMonIndex: @ 80CACFC
- push {r4-r6,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _080CAD4A
-_080CAD0C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080CAD3C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _080CAD40
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _080CAD40
- adds r0, r5, 0
- b _080CAD4C
- .align 2, 0
-_080CAD3C: .4byte gPlayerParty
-_080CAD40:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _080CAD0C
-_080CAD4A:
- movs r0, 0
-_080CAD4C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonIndex
-
- thumb_func_start sub_80CAD54
-sub_80CAD54: @ 80CAD54
- push {lr}
- ldr r0, _080CAD74 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CAD78 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080CAD74: .4byte gSpecialVar_0x8004
-_080CAD78: .4byte gPlayerParty
- thumb_func_end sub_80CAD54
-
- thumb_func_start sub_80CAD7C
-sub_80CAD7C: @ 80CAD7C
- push {r4,lr}
- ldr r0, _080CADA8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CADAC @ =gPlayerParty
- adds r0, r1
- ldr r4, _080CADB0 @ =gStringVar1
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- ldr r0, _080CADB4 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r4, 0
- bl StringCompare
- cmp r0, 0
- beq _080CADB8
- movs r0, 0x1
- b _080CADBA
- .align 2, 0
-_080CADA8: .4byte gSpecialVar_0x8004
-_080CADAC: .4byte gPlayerParty
-_080CADB0: .4byte gStringVar1
-_080CADB4: .4byte gSaveBlock2Ptr
-_080CADB8:
- movs r0, 0
-_080CADBA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CAD7C
-
- thumb_func_start nullsub_75
-nullsub_75: @ 80CADC0
- bx lr
- thumb_func_end nullsub_75
-
- thumb_func_start sub_80CADC4
-sub_80CADC4: @ 80CADC4
- push {lr}
- sub sp, 0x10
- movs r1, 0xFF
- add r0, sp, 0xC
- strb r1, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x2
- add r2, sp, 0xC
- movs r3, 0
- bl AddTextPrinterParameterized
- bl sub_809D424
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end sub_80CADC4
-
- thumb_func_start Special_SetVermilionTrashCans
-Special_SetVermilionTrashCans: @ 80CADEC
- push {r4,r5,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _080CAE20 @ =gSpecialVar_0x8004
- strh r2, [r1]
- ldr r0, _080CAE24 @ =gSpecialVar_0x8005
- strh r2, [r0]
- ldrh r0, [r1]
- subs r0, 0x1
- cmp r0, 0xE
- bls _080CAE14
- b _080CB01C
-_080CAE14:
- lsls r0, 2
- ldr r1, _080CAE28 @ =_080CAE2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CAE20: .4byte gSpecialVar_0x8004
-_080CAE24: .4byte gSpecialVar_0x8005
-_080CAE28: .4byte _080CAE2C
- .align 2, 0
-_080CAE2C:
- .4byte _080CAE68
- .4byte _080CAE90
- .4byte _080CAE90
- .4byte _080CAE90
- .4byte _080CAEC8
- .4byte _080CAEE8
- .4byte _080CAF28
- .4byte _080CAF28
- .4byte _080CAF28
- .4byte _080CAF68
- .4byte _080CAF9C
- .4byte _080CAFC4
- .4byte _080CAFC4
- .4byte _080CAFC4
- .4byte _080CAFF8
-_080CAE68:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CAE84
- ldr r1, _080CAE80 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAE80: .4byte gSpecialVar_0x8005
-_080CAE84:
- ldr r1, _080CAE8C @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAE8C: .4byte gSpecialVar_0x8005
-_080CAE90:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080CAEB4
- ldr r1, _080CAEB0 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAEB0: .4byte gSpecialVar_0x8005
-_080CAEB4:
- cmp r2, 0x1
- beq _080CAEBA
- b _080CB014
-_080CAEBA:
- ldr r1, _080CAEC4 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAEC4: .4byte gSpecialVar_0x8005
-_080CAEC8:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CAEDA
- b _080CB014
-_080CAEDA:
- ldr r1, _080CAEE4 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAEE4: .4byte gSpecialVar_0x8005
-_080CAEE8:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080CAF0C
- ldr r1, _080CAF08 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF08: .4byte gSpecialVar_0x8005
-_080CAF0C:
- cmp r2, 0x1
- bne _080CAF1C
- ldr r1, _080CAF18 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAF18: .4byte gSpecialVar_0x8005
-_080CAF1C:
- ldr r1, _080CAF24 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF24: .4byte gSpecialVar_0x8005
-_080CAF28:
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r2, r1, 16
- cmp r2, 0
- bne _080CAF48
- ldr r1, _080CAF44 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF44: .4byte gSpecialVar_0x8005
-_080CAF48:
- cmp r2, 0x1
- bne _080CAF58
- ldr r1, _080CAF54 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAF54: .4byte gSpecialVar_0x8005
-_080CAF58:
- cmp r2, 0x2
- bne _080CB014
- ldr r1, _080CAF64 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF64: .4byte gSpecialVar_0x8005
-_080CAF68:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080CAF8C
- ldr r1, _080CAF88 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF88: .4byte gSpecialVar_0x8005
-_080CAF8C:
- cmp r2, 0x1
- bne _080CB014
- ldr r1, _080CAF98 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAF98: .4byte gSpecialVar_0x8005
-_080CAF9C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CAFB8
- ldr r1, _080CAFB4 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAFB4: .4byte gSpecialVar_0x8005
-_080CAFB8:
- ldr r1, _080CAFC0 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAFC0: .4byte gSpecialVar_0x8005
-_080CAFC4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080CAFE8
- ldr r1, _080CAFE4 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CAFE4: .4byte gSpecialVar_0x8005
-_080CAFE8:
- cmp r2, 0x1
- bne _080CB014
- ldr r1, _080CAFF4 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- adds r0, 0x1
- b _080CB01A
- .align 2, 0
-_080CAFF4: .4byte gSpecialVar_0x8005
-_080CAFF8:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CB014
- ldr r1, _080CB010 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x5
- b _080CB01A
- .align 2, 0
-_080CB010: .4byte gSpecialVar_0x8005
-_080CB014:
- ldr r1, _080CB040 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- subs r0, 0x1
-_080CB01A:
- strh r0, [r1]
-_080CB01C:
- ldr r5, _080CB040 @ =gSpecialVar_0x8005
- ldrh r0, [r5]
- cmp r0, 0xF
- bls _080CB04C
- ldr r0, _080CB044 @ =gSpecialVar_0x8004
- ldrh r4, [r0]
- adds r0, r4, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080CB048
- cmp r0, 0
- bne _080CB048
- subs r0, r4, 0x1
- b _080CB04A
- .align 2, 0
-_080CB040: .4byte gSpecialVar_0x8005
-_080CB044: .4byte gSpecialVar_0x8004
-_080CB048:
- adds r0, r4, 0x1
-_080CB04A:
- strh r0, [r5]
-_080CB04C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Special_SetVermilionTrashCans
-
- thumb_func_start sub_80CB054
-sub_80CB054: @ 80CB054
- push {r4-r6,lr}
- ldr r5, _080CB08C @ =0x00004035
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, _080CB090 @ =0x00004036
- adds r0, r6, 0
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080CB0A0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF9
- bls _080CB098
- ldr r1, _080CB094 @ =0x0000ffff
- adds r0, r6, 0
- bl VarSet
- adds r0, r5, 0
- movs r1, 0
- bl VarSet
- b _080CB0A0
- .align 2, 0
-_080CB08C: .4byte 0x00004035
-_080CB090: .4byte 0x00004036
-_080CB094: .4byte 0x0000ffff
-_080CB098:
- adds r0, r5, 0
- adds r1, r4, 0
- bl VarSet
-_080CB0A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB054
-
- thumb_func_start sub_80CB0A8
-sub_80CB0A8: @ 80CB0A8
- push {r4,lr}
- ldr r4, _080CB10C @ =0x00004036
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080CB0C0
- ldr r0, _080CB110 @ =0x0000ffff
- cmp r1, r0
- bne _080CB0EA
-_080CB0C0:
- bl sub_80CB124
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r4, _080CB114 @ =0x0000403b
- bl sub_80CB198
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r0, _080CB118 @ =0x00004035
- movs r1, 0
- bl VarSet
-_080CB0EA:
- ldr r4, _080CB11C @ =gStringVar1
- ldr r0, _080CB10C @ =0x00004036
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r1, r0
- ldr r0, _080CB120 @ =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB10C: .4byte 0x00004036
-_080CB110: .4byte 0x0000ffff
-_080CB114: .4byte 0x0000403b
-_080CB118: .4byte 0x00004035
-_080CB11C: .4byte gStringVar1
-_080CB120: .4byte gSpeciesNames
- thumb_func_end sub_80CB0A8
-
- thumb_func_start sub_80CB124
-sub_80CB124: @ 80CB124
- push {r4,r5,lr}
- movs r5, 0
-_080CB128:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080CB160 @ =0x0000019b
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CB18E
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x63
- bls _080CB128
- b _080CB176
- .align 2, 0
-_080CB160: .4byte 0x0000019b
-_080CB164:
- cmp r4, 0x1
- bne _080CB170
- ldr r4, _080CB16C @ =0x0000019b
- b _080CB176
- .align 2, 0
-_080CB16C: .4byte 0x0000019b
-_080CB170:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080CB176:
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CB164
-_080CB18E:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB124
-
- thumb_func_start sub_80CB198
-sub_80CB198: @ 80CB198
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _080CB1D0
- ldr r4, _080CB1CC @ =gUnknown_83F5B30
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r4
- ldrh r0, [r0]
- b _080CB1D2
- .align 2, 0
-_080CB1CC: .4byte gUnknown_83F5B30
-_080CB1D0:
- movs r0, 0xB
-_080CB1D2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB198
-
- thumb_func_start Special_CheckAddCoins
-Special_CheckAddCoins: @ 80CB1D8
-@ addcoins but it's a dry run
- push {lr}
- ldr r0, _080CB1F0 @ =gSpecialVar_Result
- ldrh r1, [r0]
- ldr r0, _080CB1F4 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- adds r1, r0
- ldr r0, _080CB1F8 @ =0x0000270f
- cmp r1, r0
- bgt _080CB1FC
- movs r0, 0x1
- b _080CB1FE
- .align 2, 0
-_080CB1F0: .4byte gSpecialVar_Result
-_080CB1F4: .4byte gSpecialVar_0x8006
-_080CB1F8: .4byte 0x0000270f
-_080CB1FC:
- movs r0, 0
-_080CB1FE:
- pop {r1}
- bx r1
- thumb_func_end Special_CheckAddCoins
-
- thumb_func_start Special_GetElevatorFloor
-Special_GetElevatorFloor: @ 80CB204
- push {r4,lr}
- movs r3, 0x4
- ldr r0, _080CB22C @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x14
- ldrsb r1, [r2, r1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _080CB2AA
- ldrb r0, [r2, 0x15]
- subs r0, 0x2A
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xF
- bhi _080CB2AA
- lsls r0, 2
- ldr r1, _080CB230 @ =_080CB234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CB22C: .4byte gSaveBlock1Ptr
-_080CB230: .4byte _080CB234
- .align 2, 0
-_080CB234:
- .4byte _080CB2A0
- .4byte _080CB2A4
- .4byte _080CB2AA
- .4byte _080CB2A8
- .4byte _080CB2AA
- .4byte _080CB274
- .4byte _080CB278
- .4byte _080CB27C
- .4byte _080CB280
- .4byte _080CB284
- .4byte _080CB288
- .4byte _080CB28C
- .4byte _080CB290
- .4byte _080CB294
- .4byte _080CB298
- .4byte _080CB29C
-_080CB274:
- movs r3, 0x4
- b _080CB2AA
-_080CB278:
- movs r3, 0x5
- b _080CB2AA
-_080CB27C:
- movs r3, 0x6
- b _080CB2AA
-_080CB280:
- movs r3, 0x7
- b _080CB2AA
-_080CB284:
- movs r3, 0x8
- b _080CB2AA
-_080CB288:
- movs r3, 0x9
- b _080CB2AA
-_080CB28C:
- movs r3, 0xA
- b _080CB2AA
-_080CB290:
- movs r3, 0xB
- b _080CB2AA
-_080CB294:
- movs r3, 0xC
- b _080CB2AA
-_080CB298:
- movs r3, 0xD
- b _080CB2AA
-_080CB29C:
- movs r3, 0xE
- b _080CB2AA
-_080CB2A0:
- movs r3, 0x3
- b _080CB2AA
-_080CB2A4:
- movs r3, 0x2
- b _080CB2AA
-_080CB2A8:
- movs r3, 0
-_080CB2AA:
- ldr r1, [r4]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- cmp r0, 0xA
- bne _080CB2F2
- movs r0, 0x15
- ldrsb r0, [r1, r0]
- cmp r0, 0x4
- bhi _080CB2F2
- lsls r0, 2
- ldr r1, _080CB2C8 @ =_080CB2CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CB2C8: .4byte _080CB2CC
- .align 2, 0
-_080CB2CC:
- .4byte _080CB2E0
- .4byte _080CB2E4
- .4byte _080CB2E8
- .4byte _080CB2EC
- .4byte _080CB2F0
-_080CB2E0:
- movs r3, 0x4
- b _080CB2F2
-_080CB2E4:
- movs r3, 0x5
- b _080CB2F2
-_080CB2E8:
- movs r3, 0x6
- b _080CB2F2
-_080CB2EC:
- movs r3, 0x7
- b _080CB2F2
-_080CB2F0:
- movs r3, 0x8
-_080CB2F2:
- ldr r1, [r4]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bne _080CB314
- movs r0, 0x15
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- blt _080CB314
- cmp r0, 0x9
- ble _080CB30E
- cmp r0, 0xA
- beq _080CB312
- b _080CB314
-_080CB30E:
- movs r3, 0xF
- b _080CB314
-_080CB312:
- movs r3, 0x3
-_080CB314:
- ldr r0, _080CB324 @ =0x0000403a
- adds r1, r3, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB324: .4byte 0x0000403a
- thumb_func_end Special_GetElevatorFloor
-
- thumb_func_start sub_80CB328
-sub_80CB328: @ 80CB328
- push {r4-r6,lr}
- ldr r3, _080CB35C @ =gUnknown_2039A0E
- movs r0, 0
- strh r0, [r3]
- ldr r1, _080CB360 @ =gUnknown_2039A10
- strh r0, [r1]
- ldr r0, _080CB364 @ =gSaveBlock1Ptr
- ldr r5, [r0]
- movs r2, 0x14
- ldrsb r2, [r5, r2]
- adds r4, r3, 0
- adds r3, r1, 0
- adds r6, r0, 0
- cmp r2, 0x1
- bne _080CB40C
- ldrb r0, [r5, 0x15]
- subs r0, 0x2A
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xF
- bhi _080CB40C
- lsls r0, 2
- ldr r1, _080CB368 @ =_080CB36C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CB35C: .4byte gUnknown_2039A0E
-_080CB360: .4byte gUnknown_2039A10
-_080CB364: .4byte gSaveBlock1Ptr
-_080CB368: .4byte _080CB36C
- .align 2, 0
-_080CB36C:
- .4byte _080CB3F6
- .4byte _080CB3FC
- .4byte _080CB40C
- .4byte _080CB404
- .4byte _080CB40C
- .4byte _080CB3F0
- .4byte _080CB3E8
- .4byte _080CB3E2
- .4byte _080CB3DA
- .4byte _080CB3D2
- .4byte _080CB3CA
- .4byte _080CB3C2
- .4byte _080CB3BA
- .4byte _080CB404
- .4byte _080CB3B2
- .4byte _080CB3AC
-_080CB3AC:
- movs r0, 0
- strh r0, [r4]
- b _080CB40A
-_080CB3B2:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x1
- b _080CB40A
-_080CB3BA:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x3
- b _080CB40A
-_080CB3C2:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x4
- b _080CB40A
-_080CB3CA:
- movs r0, 0x1
- strh r0, [r4]
- movs r0, 0x4
- b _080CB40A
-_080CB3D2:
- movs r0, 0x2
- strh r0, [r4]
- movs r0, 0x4
- b _080CB40A
-_080CB3DA:
- movs r0, 0x3
- strh r0, [r4]
- movs r0, 0x4
- b _080CB40A
-_080CB3E2:
- movs r0, 0x4
- strh r0, [r4]
- b _080CB40A
-_080CB3E8:
- movs r0, 0x5
- strh r0, [r4]
- movs r0, 0x4
- b _080CB40A
-_080CB3F0:
- movs r0, 0x5
- strh r0, [r4]
- b _080CB40A
-_080CB3F6:
- movs r0, 0
- strh r0, [r4]
- b _080CB40A
-_080CB3FC:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x1
- b _080CB40A
-_080CB404:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x2
-_080CB40A:
- strh r0, [r3]
-_080CB40C:
- ldr r1, [r6]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- cmp r0, 0xA
- bne _080CB466
- movs r0, 0x15
- ldrsb r0, [r1, r0]
- cmp r0, 0x4
- bhi _080CB466
- lsls r0, 2
- ldr r1, _080CB428 @ =_080CB42C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CB428: .4byte _080CB42C
- .align 2, 0
-_080CB42C:
- .4byte _080CB45E
- .4byte _080CB456
- .4byte _080CB44E
- .4byte _080CB446
- .4byte _080CB440
-_080CB440:
- movs r0, 0
- strh r0, [r4]
- b _080CB464
-_080CB446:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x1
- b _080CB464
-_080CB44E:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x2
- b _080CB464
-_080CB456:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x3
- b _080CB464
-_080CB45E:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x4
-_080CB464:
- strh r0, [r3]
-_080CB466:
- ldr r1, [r6]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bne _080CB490
- movs r0, 0x15
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- blt _080CB490
- cmp r0, 0x9
- ble _080CB482
- cmp r0, 0xA
- beq _080CB488
- b _080CB490
-_080CB482:
- movs r0, 0
- strh r0, [r4]
- b _080CB48E
-_080CB488:
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x1
-_080CB48E:
- strh r0, [r3]
-_080CB490:
- ldrh r0, [r3]
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB328
-
- thumb_func_start sub_80CB498
-sub_80CB498: @ 80CB498
- push {r4-r6,lr}
- ldr r0, _080CB4D0 @ =sub_80CB514
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080CB4D4 @ =gTasks+0x8
- adds r4, r1, r0
- movs r3, 0
- strh r3, [r4, 0x2]
- strh r3, [r4, 0x4]
- movs r6, 0x1
- strh r6, [r4, 0x8]
- ldr r0, _080CB4D8 @ =gSpecialVar_0x8005
- ldr r1, _080CB4DC @ =gSpecialVar_0x8006
- ldrh r2, [r0]
- ldrh r0, [r1]
- cmp r2, r0
- bls _080CB4E0
- subs r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- strh r6, [r4, 0xC]
- b _080CB4E8
- .align 2, 0
-_080CB4D0: .4byte sub_80CB514
-_080CB4D4: .4byte gTasks+0x8
-_080CB4D8: .4byte gSpecialVar_0x8005
-_080CB4DC: .4byte gSpecialVar_0x8006
-_080CB4E0:
- subs r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- strh r3, [r4, 0xC]
-_080CB4E8:
- cmp r5, 0x8
- bls _080CB4EE
- movs r5, 0x8
-_080CB4EE:
- ldr r0, _080CB510 @ =gUnknown_83F5BB8
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r4, 0xA]
- movs r0, 0
- bl SetCameraPanningCallback
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl sub_80CB658
- movs r0, 0x52
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB510: .4byte gUnknown_83F5BB8
- thumb_func_end sub_80CB498
-
- thumb_func_start sub_80CB514
-sub_80CB514: @ 80CB514
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CB57C @ =gTasks+0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080CB574
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r0, 0
- bl SetCameraPanning
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080CB574
- movs r0, 0x42
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl InstallCameraPanAheadCallback
-_080CB574:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB57C: .4byte gTasks+0x8
- thumb_func_end sub_80CB514
-
- thumb_func_start sub_80CB580
-sub_80CB580: @ 80CB580
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- ldr r0, _080CB620 @ =sub_809D6D4
- bl sub_81119D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080CB614
- ldr r4, _080CB624 @ =gUnknown_2039A0C
- ldr r0, _080CB628 @ =gUnknown_83F5B3C
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- ldr r5, _080CB62C @ =0x0000021d
- adds r1, r5, 0
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- ldrb r0, [r4]
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- ldrb r0, [r4]
- ldr r2, _080CB630 @ =gUnknown_8418075
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, _080CB634 @ =gUnknown_83F5B44
- ldr r0, _080CB638 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- ldrb r1, [r4]
- movs r3, 0x38
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r1, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
-_080CB614:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB620: .4byte sub_809D6D4
-_080CB624: .4byte gUnknown_2039A0C
-_080CB628: .4byte gUnknown_83F5B3C
-_080CB62C: .4byte 0x0000021d
-_080CB630: .4byte gUnknown_8418075
-_080CB634: .4byte gUnknown_83F5B44
-_080CB638: .4byte gSpecialVar_0x8005
- thumb_func_end sub_80CB580
-
- thumb_func_start sub_80CB63C
-sub_80CB63C: @ 80CB63C
- push {r4,lr}
- ldr r4, _080CB654 @ =gUnknown_2039A0C
- ldrb r0, [r4]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB654: .4byte gUnknown_2039A0C
- thumb_func_end sub_80CB63C
-
- thumb_func_start sub_80CB658
-sub_80CB658: @ 80CB658
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _080CB6A0 @ =sub_80CB6AC
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080CB698
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CB6A4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldr r0, _080CB6A8 @ =gUnknown_83F5BC1
- adds r0, r6, r0
- ldrb r0, [r0]
- strh r0, [r1, 0xE]
-_080CB698:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB6A0: .4byte sub_80CB6AC
-_080CB6A4: .4byte gTasks
-_080CB6A8: .4byte gUnknown_83F5BC1
- thumb_func_end sub_80CB658
-
- thumb_func_start sub_80CB6AC
-sub_80CB6AC: @ 80CB6AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, _080CB734 @ =gTasks+0x8
- adds r6, r0, r1
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _080CB7A8
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CB73C
- movs r1, 0
- ldr r2, _080CB738 @ =gUnknown_83F5B94
- mov r10, r2
-_080CB6E6:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_080CB6F6:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080CB6F6
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080CB6E6
- b _080CB78E
- .align 2, 0
-_080CB734: .4byte gTasks+0x8
-_080CB738: .4byte gUnknown_83F5B94
-_080CB73C:
- movs r1, 0
- ldr r0, _080CB7C0 @ =gUnknown_83F5BA6
- mov r10, r0
-_080CB742:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_080CB752:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080CB752
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080CB742
-_080CB78E:
- bl DrawWholeMapView
- movs r0, 0
- strh r0, [r6, 0x2]
- movs r0, 0
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bne _080CB7A8
- ldr r0, [sp]
- bl DestroyTask
-_080CB7A8:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB7C0: .4byte gUnknown_83F5BA6
- thumb_func_end sub_80CB6AC
-
- thumb_func_start sub_80CB7C4
-sub_80CB7C4: @ 80CB7C4
- push {r4,r5,lr}
- ldr r0, _080CB808 @ =sub_809D6D4
- bl sub_81119D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CB7D6
- b _080CB8F8
-_080CB7D6:
- ldr r0, _080CB80C @ =sub_80CB904
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CB810 @ =gTasks
- adds r3, r0, r1
- ldr r0, _080CB814 @ =gSpecialVar_0x8004
- ldrh r4, [r0]
- cmp r4, 0x3
- beq _080CB886
- cmp r4, 0x3
- bgt _080CB818
- cmp r4, 0x1
- beq _080CB842
- cmp r4, 0x1
- bgt _080CB870
- cmp r4, 0
- beq _080CB82A
- b _080CB8EC
- .align 2, 0
-_080CB808: .4byte sub_809D6D4
-_080CB80C: .4byte sub_80CB904
-_080CB810: .4byte gTasks
-_080CB814: .4byte gSpecialVar_0x8004
-_080CB818:
- cmp r4, 0x5
- beq _080CB8B4
- cmp r4, 0x5
- blt _080CB89E
- cmp r4, 0x6
- beq _080CB8D2
- cmp r4, 0x63
- beq _080CB8F8
- b _080CB8EC
-_080CB82A:
- movs r0, 0x4
- strh r0, [r3, 0x8]
- movs r0, 0x9
- strh r0, [r3, 0xA]
- movs r1, 0x1
- strh r1, [r3, 0xC]
- strh r1, [r3, 0xE]
- movs r0, 0xC
- strh r0, [r3, 0x10]
- movs r0, 0x7
- strh r0, [r3, 0x12]
- b _080CB8E6
-_080CB842:
- movs r2, 0
- movs r0, 0x7
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- strh r4, [r3, 0xC]
- strh r4, [r3, 0xE]
- movs r0, 0x8
- strh r0, [r3, 0x10]
- strh r1, [r3, 0x12]
- strh r2, [r3, 0x14]
- strh r5, [r3, 0x26]
- ldr r0, _080CB868 @ =gUnknown_2039A0E
- ldrh r0, [r0]
- strh r0, [r3, 0x16]
- ldr r0, _080CB86C @ =gUnknown_2039A10
- ldrh r0, [r0]
- strh r0, [r3, 0x18]
- b _080CB8F8
- .align 2, 0
-_080CB868: .4byte gUnknown_2039A0E
-_080CB86C: .4byte gUnknown_2039A10
-_080CB870:
- movs r1, 0
- movs r0, 0x4
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x8
- strh r0, [r3, 0x10]
- strh r0, [r3, 0x12]
- b _080CB8E6
-_080CB886:
- movs r1, 0
- movs r0, 0x4
- strh r0, [r3, 0x8]
- movs r0, 0x6
- strh r0, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x8
- strh r0, [r3, 0x10]
- strh r0, [r3, 0x12]
- b _080CB8E6
-_080CB89E:
- movs r0, 0x4
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- movs r1, 0x1
- strh r1, [r3, 0xC]
- strh r1, [r3, 0xE]
- movs r0, 0x11
- strh r0, [r3, 0x10]
- movs r0, 0x8
- strh r0, [r3, 0x12]
- b _080CB8E6
-_080CB8B4:
- movs r2, 0
- movs r0, 0x7
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- movs r0, 0x10
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0x11
- strh r0, [r3, 0x10]
- strh r1, [r3, 0x12]
- strh r2, [r3, 0x14]
- strh r5, [r3, 0x26]
- b _080CB8F8
-_080CB8D2:
- movs r1, 0
- movs r0, 0x3
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x8
- strh r0, [r3, 0x10]
- strh r4, [r3, 0x12]
-_080CB8E6:
- strh r1, [r3, 0x14]
- strh r5, [r3, 0x26]
- b _080CB8F8
-_080CB8EC:
- ldr r1, _080CB900 @ =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_080CB8F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB900: .4byte gSpecialVar_Result
- thumb_func_end sub_80CB7C4
-
- thumb_func_start sub_80CB904
-sub_80CB904: @ 80CB904
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _080CB934 @ =gTasks
- adds r5, r0, r1
- bl ScriptContext2_Enable
- ldr r0, _080CB938 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _080CB944
- ldr r0, _080CB93C @ =gUnknown_2039A18
- ldr r1, _080CB940 @ =gUnknown_2039A0E
- ldrh r1, [r1]
- strh r1, [r0]
- b _080CB94A
- .align 2, 0
-_080CB934: .4byte gTasks
-_080CB938: .4byte gSpecialVar_0x8004
-_080CB93C: .4byte gUnknown_2039A18
-_080CB940: .4byte gUnknown_2039A0E
-_080CB944:
- ldr r1, _080CBA60 @ =gUnknown_2039A18
- movs r0, 0
- strh r0, [r1]
-_080CB94A:
- ldr r4, _080CBA64 @ =gUnknown_2039A14
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4]
- bl sub_80CBA7C
- movs r6, 0
- movs r4, 0
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r3, r7, 2
- mov r10, r3
- add r1, sp, 0x18
- mov r9, r1
- cmp r6, r0
- bge _080CB9AE
- ldr r2, _080CBA68 @ =gUnknown_83F5BCC
- mov r8, r2
-_080CB974:
- ldr r0, _080CBA64 @ =gUnknown_2039A14
- ldr r0, [r0]
- lsls r3, r4, 3
- adds r3, r0
- lsls r2, r4, 2
- ldr r0, _080CBA6C @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r2, r0
- add r2, r8
- ldr r1, [r2]
- str r1, [r3]
- str r4, [r3, 0x4]
- movs r0, 0x2
- movs r2, 0
- bl GetStringWidth
- cmp r0, r6
- ble _080CB9A0
- adds r6, r0, 0
-_080CB9A0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- cmp r4, r0
- blt _080CB974
-_080CB9AE:
- adds r0, r6, 0
- adds r0, 0x9
- cmp r0, 0
- bge _080CB9B8
- adds r0, 0x7
-_080CB9B8:
- asrs r0, 3
- adds r2, r0, 0x1
- strh r2, [r5, 0x10]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- adds r0, r1
- cmp r0, 0x1D
- ble _080CB9D2
- movs r0, 0x1D
- subs r0, r2
- strh r0, [r5, 0xC]
-_080CB9D2:
- ldrb r2, [r5, 0xC]
- ldrb r3, [r5, 0xE]
- ldrb r0, [r5, 0x10]
- str r0, [sp]
- ldrb r0, [r5, 0x12]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x38
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- bl SetWindowTemplateFields
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- mov r0, r9
- bl AddWindow
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r1, 0
- bl SetStdWindowBorderStyle
- ldr r4, _080CBA70 @ =gUnknown_3005360
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x22]
- strb r0, [r4, 0x10]
- adds r0, r7, 0
- bl sub_80CBCC0
- ldrh r1, [r5, 0x16]
- ldrh r2, [r5, 0x18]
- adds r0, r4, 0
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrh r0, [r5, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, _080CBA74 @ =gTasks
- mov r2, r10
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CBA78 @ =sub_80CBB28
- str r1, [r0]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBA60: .4byte gUnknown_2039A18
-_080CBA64: .4byte gUnknown_2039A14
-_080CBA68: .4byte gUnknown_83F5BCC
-_080CBA6C: .4byte gSpecialVar_0x8004
-_080CBA70: .4byte gUnknown_3005360
-_080CBA74: .4byte gTasks
-_080CBA78: .4byte sub_80CBB28
- thumb_func_end sub_80CB904
-
- thumb_func_start sub_80CBA7C
-sub_80CBA7C: @ 80CBA7C
- ldr r2, _080CBAD0 @ =gUnknown_3005360
- ldr r0, _080CBAD4 @ =gUnknown_2039A14
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _080CBAD8 @ =sub_80CBADC
- str r0, [r2, 0x4]
- movs r0, 0
- str r0, [r2, 0x8]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- strb r1, [r2, 0x10]
- strb r1, [r2, 0x11]
- movs r0, 0x8
- strb r0, [r2, 0x12]
- strb r1, [r2, 0x13]
- movs r0, 0x20
- strb r0, [r2, 0x14]
- movs r3, 0x1
- movs r0, 0x31
- strb r0, [r2, 0x15]
- ldrb r1, [r2, 0x16]
- subs r0, 0x39
- ands r0, r1
- orrs r0, r3
- movs r1, 0x39
- negs r1, r1
- ands r0, r1
- movs r3, 0x3F
- ands r0, r3
- strb r0, [r2, 0x16]
- ldrb r1, [r2, 0x17]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- ands r0, r3
- strb r0, [r2, 0x17]
- bx lr
- .align 2, 0
-_080CBAD0: .4byte gUnknown_3005360
-_080CBAD4: .4byte gUnknown_2039A14
-_080CBAD8: .4byte sub_80CBADC
- thumb_func_end sub_80CBA7C
-
- thumb_func_start sub_80CBADC
-sub_80CBADC: @ 80CBADC
- push {r4,lr}
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080CBB18 @ =sub_80CBB28
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _080CBB12
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _080CBB1C @ =gTasks
- adds r0, r1
- ldrh r0, [r0, 0x24]
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080CBB20 @ =gUnknown_3005378
- adds r1, r4, 0
- movs r2, 0
- bl ListMenuGetScrollAndRow
- ldr r1, _080CBB24 @ =gUnknown_2039A18
- ldrh r0, [r4]
- strh r0, [r1]
-_080CBB12:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBB18: .4byte sub_80CBB28
-_080CBB1C: .4byte gTasks
-_080CBB20: .4byte gUnknown_3005378
-_080CBB24: .4byte gUnknown_2039A18
- thumb_func_end sub_80CBADC
-
- thumb_func_start sub_80CBB28
-sub_80CBB28: @ 80CBB28
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CBB54 @ =gTasks
- adds r6, r0, r1
- ldrh r0, [r6, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl ListMenu_ProcessInput
- adds r4, r0, 0
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080CBB58
- adds r0, 0x1
- cmp r4, r0
- bne _080CBB6C
- b _080CBBA2
- .align 2, 0
-_080CBB54: .4byte gTasks
-_080CBB58:
- ldr r1, _080CBB68 @ =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
- b _080CBB88
- .align 2, 0
-_080CBB68: .4byte gSpecialVar_Result
-_080CBB6C:
- ldr r0, _080CBB90 @ =gSpecialVar_Result
- strh r4, [r0]
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080CBB88
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- cmp r4, r0
- bne _080CBB94
-_080CBB88:
- adds r0, r5, 0
- bl sub_80CBBAC
- b _080CBBA2
- .align 2, 0
-_080CBB90: .4byte gSpecialVar_Result
-_080CBB94:
- adds r0, r5, 0
- bl sub_80CBD50
- ldr r0, _080CBBA8 @ =sub_80CBC2C
- str r0, [r6]
- bl EnableBothScriptContexts
-_080CBBA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBBA8: .4byte sub_80CBC2C
- thumb_func_end sub_80CBB28
-
- thumb_func_start sub_80CBBAC
-sub_80CBBAC: @ 80CBBAC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080CBC24 @ =gTasks
- adds r4, r0
- adds r0, r5, 0
- bl sub_80CBD50
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldr r0, _080CBC28 @ =gUnknown_2039A14
- ldr r0, [r0]
- bl Free
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBC24: .4byte gTasks
-_080CBC28: .4byte gUnknown_2039A14
- thumb_func_end sub_80CBBAC
-
- thumb_func_start sub_80CBC2C
-sub_80CBC2C: @ 80CBC2C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CBC54 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x14
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080CBC50
- cmp r0, 0x2
- bne _080CBC50
- movs r0, 0x1
- strh r0, [r1, 0x14]
- ldr r0, _080CBC58 @ =sub_80CBC90
- str r0, [r1]
-_080CBC50:
- pop {r0}
- bx r0
- .align 2, 0
-_080CBC54: .4byte gTasks
-_080CBC58: .4byte sub_80CBC90
- thumb_func_end sub_80CBC2C
-
- thumb_func_start sub_80CBC5C
-sub_80CBC5C: @ 80CBC5C
- push {lr}
- ldr r0, _080CBC74 @ =sub_80CBC2C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080CBC78
- bl EnableBothScriptContexts
- b _080CBC88
- .align 2, 0
-_080CBC74: .4byte sub_80CBC2C
-_080CBC78:
- ldr r0, _080CBC8C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x14]
- adds r0, 0x1
- strh r0, [r1, 0x14]
-_080CBC88:
- pop {r0}
- bx r0
- .align 2, 0
-_080CBC8C: .4byte gTasks
- thumb_func_end sub_80CBC5C
-
- thumb_func_start sub_80CBC90
-sub_80CBC90: @ 80CBC90
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- adds r0, r4, 0
- bl sub_80CBCC0
- ldr r1, _080CBCB8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CBCBC @ =sub_80CBB28
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBCB8: .4byte gTasks
-_080CBCBC: .4byte sub_80CBB28
- thumb_func_end sub_80CBC90
-
- thumb_func_start sub_80CBCC0
-sub_80CBCC0: @ 80CBCC0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080CBD44 @ =gTasks
- adds r4, r1, r0
- mov r1, sp
- ldr r0, _080CBD48 @ =gUnknown_83F5D1C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080CBD3C
- mov r2, sp
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- lsls r1, 2
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- lsls r0, 3
- adds r1, r0
- movs r3, 0
- strb r1, [r2, 0x1]
- mov r1, sp
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- lsls r1, 2
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- lsls r0, 3
- adds r1, r0
- strb r1, [r2, 0x4]
- mov r1, sp
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, 0xA
- strb r0, [r1, 0x5]
- mov r0, sp
- strh r3, [r0, 0x6]
- mov r2, sp
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldr r1, _080CBD4C @ =gUnknown_2039A18
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
-_080CBD3C:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBD44: .4byte gTasks
-_080CBD48: .4byte gUnknown_83F5D1C
-_080CBD4C: .4byte gUnknown_2039A18
- thumb_func_end sub_80CBCC0
-
- thumb_func_start sub_80CBD50
-sub_80CBD50: @ 80CBD50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080CBD7C @ =gTasks
- adds r2, r1, r0
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _080CBD76
- ldrh r0, [r2, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveScrollIndicatorArrowPair
-_080CBD76:
- pop {r0}
- bx r0
- .align 2, 0
-_080CBD7C: .4byte gTasks
- thumb_func_end sub_80CBD50
-
- thumb_func_start sub_80CBD80
-sub_80CBD80: @ 80CBD80
- push {lr}
- movs r0, 0x16
- bl HelpSystem_SetSomeVariable2
- movs r0, 0x8
- bl SetPlayerAvatarTransitionFlags
- pop {r0}
- bx r0
- thumb_func_end sub_80CBD80
-
- thumb_func_start GetStarterPokemon
-GetStarterPokemon: @ 80CBD94
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bls _080CBDA0
- movs r1, 0
-_080CBDA0:
- ldr r0, _080CBDAC @ =sStarterMon
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_080CBDAC: .4byte sStarterMon
- thumb_func_end GetStarterPokemon
-
- thumb_func_start ScrSpecial_GetStarter
-ScrSpecial_GetStarter: @ 80CBDB0
- push {lr}
- ldr r0, _080CBDC8 @ =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080CBDC8: .4byte 0x00004031
- thumb_func_end ScrSpecial_GetStarter
-
- thumb_func_start sub_80CBDCC
-sub_80CBDCC: @ 80CBDCC
- push {lr}
- ldr r0, _080CBDE4 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl GetSetPokedexFlag
- pop {r0}
- bx r0
- .align 2, 0
-_080CBDE4: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80CBDCC
-
- thumb_func_start sub_80CBDE8
-sub_80CBDE8: @ 80CBDE8
- ldr r1, _080CBDF8 @ =gSelectedEventObject
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080CBDFC @ =gSpecialVar_TextColor
- movs r0, 0xFF
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080CBDF8: .4byte gSelectedEventObject
-_080CBDFC: .4byte gSpecialVar_TextColor
- thumb_func_end sub_80CBDE8
-
- thumb_func_start ContextNpcGetTextColor
-ContextNpcGetTextColor: @ 80CBE00
- push {lr}
- ldr r0, _080CBE18 @ =gSpecialVar_TextColor
- ldrh r0, [r0]
- cmp r0, 0xFF
- bne _080CBE44
- ldr r1, _080CBE1C @ =gSelectedEventObject
- ldrb r0, [r1]
- cmp r0, 0
- bne _080CBE20
- movs r0, 0x3
- b _080CBE48
- .align 2, 0
-_080CBE18: .4byte gSpecialVar_TextColor
-_080CBE1C: .4byte gSelectedEventObject
-_080CBE20:
- ldr r2, _080CBE4C @ =gMapObjects
- ldrb r1, [r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x5]
- cmp r0, 0xEF
- bls _080CBE40
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl VarGetFieldObjectGraphicsId
- lsls r0, 24
- lsrs r0, 24
-_080CBE40:
- bl GetColorFromTextColorTable
-_080CBE44:
- lsls r0, 24
- lsrs r0, 24
-_080CBE48:
- pop {r1}
- bx r1
- .align 2, 0
-_080CBE4C: .4byte gMapObjects
- thumb_func_end ContextNpcGetTextColor
-
- thumb_func_start sub_80CBE50
-sub_80CBE50: @ 80CBE50
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _080CBEA4 @ =gPlayerParty
- adds r5, r1, r0
- ldr r6, _080CBEA8 @ =gStringVar1
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
- mov r4, sp
- adds r0, r5, 0
- movs r1, 0x3
- mov r2, sp
- bl GetMonData
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080CBEB0
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xB
- muls r0, r1
- ldr r1, _080CBEAC @ =gSpeciesNames
- adds r0, r1
- adds r1, r6, 0
- bl StringCompare
- cmp r0, 0
- bne _080CBEB0
- movs r0, 0
- b _080CBEB2
- .align 2, 0
-_080CBEA4: .4byte gPlayerParty
-_080CBEA8: .4byte gStringVar1
-_080CBEAC: .4byte gSpeciesNames
-_080CBEB0:
- movs r0, 0x1
-_080CBEB2:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CBE50
-
- thumb_func_start sub_80CBEBC
-sub_80CBEBC: @ 80CBEBC
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CBE50
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CBEBC
-
- thumb_func_start TV_PrintIntToStringVar
-TV_PrintIntToStringVar: @ 80CBED4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl CountDigits
- adds r3, r0, 0
- ldr r0, _080CBF00 @ =gUnknown_83F5AF8
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBF00: .4byte gUnknown_83F5AF8
- thumb_func_end TV_PrintIntToStringVar
-
- thumb_func_start CountDigits
-CountDigits: @ 80CBF04
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xA
- bl __divsi3
- cmp r0, 0
- beq _080CBF90
- adds r0, r4, 0
- movs r1, 0x64
- bl __divsi3
- cmp r0, 0
- bne _080CBF22
- movs r0, 0x2
- b _080CBF9A
-_080CBF22:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080CBF34
- movs r0, 0x3
- b _080CBF9A
-_080CBF34:
- ldr r1, _080CBF44 @ =0x00002710
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080CBF48
- movs r0, 0x4
- b _080CBF9A
- .align 2, 0
-_080CBF44: .4byte 0x00002710
-_080CBF48:
- ldr r1, _080CBF58 @ =0x000186a0
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080CBF5C
- movs r0, 0x5
- b _080CBF9A
- .align 2, 0
-_080CBF58: .4byte 0x000186a0
-_080CBF5C:
- ldr r1, _080CBF6C @ =0x000f4240
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080CBF70
- movs r0, 0x6
- b _080CBF9A
- .align 2, 0
-_080CBF6C: .4byte 0x000f4240
-_080CBF70:
- ldr r1, _080CBF80 @ =0x00989680
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080CBF84
- movs r0, 0x7
- b _080CBF9A
- .align 2, 0
-_080CBF80: .4byte 0x00989680
-_080CBF84:
- ldr r1, _080CBF94 @ =0x05f5e100
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- beq _080CBF98
-_080CBF90:
- movs r0, 0x1
- b _080CBF9A
- .align 2, 0
-_080CBF94: .4byte 0x05f5e100
-_080CBF98:
- movs r0, 0x8
-_080CBF9A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CountDigits
-
- thumb_func_start sub_80CBFA0
-sub_80CBFA0: @ 80CBFA0
- push {r4,lr}
- ldr r0, _080CBFC8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CBFCC @ =gPlayerParty
- adds r0, r1
- ldr r4, _080CBFD0 @ =gStringVar1
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- ldr r0, _080CBFD4 @ =gStringVar3
- adds r1, r4, 0
- bl StringCompare
- cmp r0, 0
- beq _080CBFD8
- movs r0, 0x1
- b _080CBFDA
- .align 2, 0
-_080CBFC8: .4byte gSpecialVar_0x8004
-_080CBFCC: .4byte gPlayerParty
-_080CBFD0: .4byte gStringVar1
-_080CBFD4: .4byte gStringVar3
-_080CBFD8:
- movs r0, 0
-_080CBFDA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CBFA0
-
- thumb_func_start ChangeBoxPokemonNickname
-ChangeBoxPokemonNickname: @ 80CBFE0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- ldr r0, _080CC050 @ =gSpecialVar_MonBoxId
- ldrb r0, [r0]
- ldr r1, _080CC054 @ =gSpecialVar_MonBoxPos
- ldrb r1, [r1]
- bl GetBoxedMonPtr
- adds r6, r0, 0
- ldr r2, _080CC058 @ =gStringVar3
- movs r1, 0x2
- bl GetBoxMonData
- ldr r0, _080CC05C @ =gStringVar2
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, r8
- bl GetBoxMonData
- adds r0, r6, 0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl GetBoxMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- bl GetBoxMonData
- str r0, [sp]
- ldr r0, _080CC060 @ =ChangeBoxPokemonNickname_CB
- str r0, [sp, 0x4]
- movs r0, 0x3
- mov r1, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC050: .4byte gSpecialVar_MonBoxId
-_080CC054: .4byte gSpecialVar_MonBoxPos
-_080CC058: .4byte gStringVar3
-_080CC05C: .4byte gStringVar2
-_080CC060: .4byte ChangeBoxPokemonNickname_CB
- thumb_func_end ChangeBoxPokemonNickname
-
- thumb_func_start ChangeBoxPokemonNickname_CB
-ChangeBoxPokemonNickname_CB: @ 80CC064
- push {lr}
- ldr r0, _080CC07C @ =gSpecialVar_MonBoxId
- ldrb r0, [r0]
- ldr r1, _080CC080 @ =gSpecialVar_MonBoxPos
- ldrb r1, [r1]
- ldr r2, _080CC084 @ =gStringVar2
- bl SetBoxMonNickFromAnyBox
- bl CB2_ReturnToFieldContinueScriptPlayMapMusic
- pop {r0}
- bx r0
- .align 2, 0
-_080CC07C: .4byte gSpecialVar_MonBoxId
-_080CC080: .4byte gSpecialVar_MonBoxPos
-_080CC084: .4byte gStringVar2
- thumb_func_end ChangeBoxPokemonNickname_CB
-
- thumb_func_start ChangePokemonNickname
-ChangePokemonNickname: @ 80CC088
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _080CC130 @ =gSpecialVar_0x8004
- mov r9, r0
- ldrh r0, [r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, _080CC134 @ =gPlayerParty
- adds r0, r6
- ldr r2, _080CC138 @ =gStringVar3
- movs r1, 0x2
- bl GetMonData
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- ldr r1, _080CC13C @ =gStringVar2
- mov r10, r1
- movs r1, 0x2
- mov r2, r10
- bl GetMonData
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, _080CC140 @ =ChangePokemonNickname_CB
- str r0, [sp, 0x4]
- movs r0, 0x3
- mov r1, r10
- adds r2, r5, 0
- adds r3, r4, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC130: .4byte gSpecialVar_0x8004
-_080CC134: .4byte gPlayerParty
-_080CC138: .4byte gStringVar3
-_080CC13C: .4byte gStringVar2
-_080CC140: .4byte ChangePokemonNickname_CB
- thumb_func_end ChangePokemonNickname
-
- thumb_func_start ChangePokemonNickname_CB
-ChangePokemonNickname_CB: @ 80CC144
- push {lr}
- ldr r0, _080CC164 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CC168 @ =gPlayerParty
- adds r0, r1
- ldr r2, _080CC16C @ =gStringVar2
- movs r1, 0x2
- bl SetMonData
- bl CB2_ReturnToFieldContinueScriptPlayMapMusic
- pop {r0}
- bx r0
- .align 2, 0
-_080CC164: .4byte gSpecialVar_0x8004
-_080CC168: .4byte gPlayerParty
-_080CC16C: .4byte gStringVar2
- thumb_func_end ChangePokemonNickname_CB
-
- thumb_func_start TV_CopyNicknameToStringVar1AndEnsureTerminated
-TV_CopyNicknameToStringVar1AndEnsureTerminated: @ 80CC170
- push {r4,lr}
- ldr r0, _080CC194 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CC198 @ =gPlayerParty
- adds r0, r1
- ldr r4, _080CC19C @ =gStringVar1
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC194: .4byte gSpecialVar_0x8004
-_080CC198: .4byte gPlayerParty
-_080CC19C: .4byte gStringVar1
- thumb_func_end TV_CopyNicknameToStringVar1AndEnsureTerminated
-
- thumb_func_start TV_CheckMonOTIDEqualsPlayerID
-TV_CheckMonOTIDEqualsPlayerID: @ 80CC1A0
- push {r4,lr}
- bl sub_80CC1E4
- adds r4, r0, 0
- ldr r0, _080CC1C8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CC1CC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bne _080CC1D4
- ldr r1, _080CC1D0 @ =gSpecialVar_Result
- movs r0, 0
- b _080CC1D8
- .align 2, 0
-_080CC1C8: .4byte gSpecialVar_0x8004
-_080CC1CC: .4byte gPlayerParty
-_080CC1D0: .4byte gSpecialVar_Result
-_080CC1D4:
- ldr r1, _080CC1E0 @ =gSpecialVar_Result
- movs r0, 0x1
-_080CC1D8:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC1E0: .4byte gSpecialVar_Result
- thumb_func_end TV_CheckMonOTIDEqualsPlayerID
-
- thumb_func_start sub_80CC1E4
-sub_80CC1E4: @ 80CC1E4
- ldr r0, _080CC200 @ =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r0, [r2, 0xD]
- lsls r0, 24
- ldrb r1, [r2, 0xC]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0xB]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0xA]
- orrs r0, r1
- bx lr
- .align 2, 0
-_080CC200: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80CC1E4
-
- thumb_func_start GetUnlockedSeviiAreas
-GetUnlockedSeviiAreas: @ 80CC204
- push {r4,lr}
- movs r4, 0
- ldr r0, _080CC2A4 @ =0x0000089b
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC218
- movs r4, 0x1
-_080CC218:
- ldr r0, _080CC2A8 @ =0x0000089c
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC22A
- movs r0, 0x2
- orrs r4, r0
-_080CC22A:
- ldr r0, _080CC2AC @ =0x0000089d
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC240
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080CC240:
- ldr r0, _080CC2B0 @ =0x0000089e
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC256
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080CC256:
- ldr r0, _080CC2B4 @ =0x0000089f
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC26C
- movs r0, 0x10
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080CC26C:
- ldr r0, _080CC2B8 @ =0x000008a1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC282
- movs r0, 0x20
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080CC282:
- movs r0, 0x8A
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC29A
- movs r0, 0x40
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080CC29A:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080CC2A4: .4byte 0x0000089b
-_080CC2A8: .4byte 0x0000089c
-_080CC2AC: .4byte 0x0000089d
-_080CC2B0: .4byte 0x0000089e
-_080CC2B4: .4byte 0x0000089f
-_080CC2B8: .4byte 0x000008a1
- thumb_func_end GetUnlockedSeviiAreas
-
- thumb_func_start sub_80CC2BC
-sub_80CC2BC: @ 80CC2BC
- push {r4-r7,lr}
- sub sp, 0x24
- movs r5, 0
- add r7, sp, 0xC
- movs r1, 0
-_080CC2C6:
- lsls r0, r5, 1
- add r0, sp
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080CC2C6
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _080CC318
-_080CC2E4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080CC3BC @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r1, r5, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- lsls r1, r5, 2
- adds r1, r7, r1
- str r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _080CC2E4
-_080CC318:
- ldr r4, _080CC3C0 @ =0x00004043
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, [sp, 0xC]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- adds r4, 0x1
- mov r0, sp
- ldrh r0, [r0, 0x2]
- ldr r1, [r7, 0x4]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- adds r4, 0x1
- mov r0, sp
- ldrh r0, [r0, 0x4]
- ldr r1, [r7, 0x8]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- adds r4, 0x1
- mov r0, sp
- ldrh r0, [r0, 0x6]
- ldr r1, [r7, 0xC]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- adds r4, 0x1
- mov r0, sp
- ldrh r0, [r0, 0x8]
- ldr r1, [r7, 0x10]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- adds r4, 0x1
- mov r0, sp
- ldrh r0, [r0, 0xA]
- ldr r1, [r7, 0x14]
- bl SpeciesToMailSpecies
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r0, _080CC3C4 @ =0x00004042
- ldr r1, _080CC3C8 @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- bl VarSet
- add sp, 0x24
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC3BC: .4byte gPlayerParty
-_080CC3C0: .4byte 0x00004043
-_080CC3C4: .4byte 0x00004042
-_080CC3C8: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80CC2BC
-
- thumb_func_start sub_80CC3CC
-sub_80CC3CC: @ 80CC3CC
- push {r4-r6,lr}
- movs r5, 0
- ldr r4, _080CC3F8 @ =gSpecialVar_0x8004
- movs r0, 0xA
- bl GetGameStat
- strh r0, [r4]
- movs r0, 0xD
- bl GetGameStat
- adds r6, r0, 0
- ldr r4, _080CC3FC @ =gSpecialVar_0x8006
- movs r0, 0x17
- bl GetGameStat
- strh r0, [r4]
- ldr r1, _080CC400 @ =0x0000ffff
- cmp r6, r1
- bls _080CC408
- ldr r0, _080CC404 @ =gSpecialVar_0x8005
- strh r1, [r0]
- b _080CC40C
- .align 2, 0
-_080CC3F8: .4byte gSpecialVar_0x8004
-_080CC3FC: .4byte gSpecialVar_0x8006
-_080CC400: .4byte 0x0000ffff
-_080CC404: .4byte gSpecialVar_0x8005
-_080CC408:
- ldr r0, _080CC440 @ =gSpecialVar_0x8005
- strh r6, [r0]
-_080CC40C:
- adds r1, r0, 0
- ldr r0, _080CC444 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CC41A
- movs r0, 0x1
- orrs r5, r0
-_080CC41A:
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CC428
- movs r0, 0x2
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r5, r0, 16
-_080CC428:
- ldr r0, _080CC448 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CC438
- movs r0, 0x4
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r5, r0, 16
-_080CC438:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080CC440: .4byte gSpecialVar_0x8005
-_080CC444: .4byte gSpecialVar_0x8004
-_080CC448: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80CC3CC
-
- thumb_func_start GetHiddenItemAttr
-GetHiddenItemAttr: @ 80CC44C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0
- bne _080CC45E
- lsls r0, 16
- lsrs r0, 16
- b _080CC486
-_080CC45E:
- cmp r1, 0x1
- bne _080CC470
- lsrs r0, 16
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r1
- b _080CC486
-_080CC470:
- cmp r1, 0x2
- bne _080CC47C
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- b _080CC486
-_080CC47C:
- cmp r2, 0x3
- beq _080CC484
- movs r0, 0x1
- b _080CC486
-_080CC484:
- lsrs r0, 31
-_080CC486:
- pop {r1}
- bx r1
- thumb_func_end GetHiddenItemAttr
-
- thumb_func_start sub_80CC48C
-sub_80CC48C: @ 80CC48C
- push {r4,r5,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _080CC4CA
-_080CC49C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080CC4B8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- ldr r1, _080CC4BC @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- cmp r0, r1
- bne _080CC4C0
- movs r0, 0x1
- b _080CC4CC
- .align 2, 0
-_080CC4B8: .4byte gPlayerParty
-_080CC4BC: .4byte gSpecialVar_0x8004
-_080CC4C0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080CC49C
-_080CC4CA:
- movs r0, 0
-_080CC4CC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC48C
-
- thumb_func_start sub_80CC4D4
-sub_80CC4D4: @ 80CC4D4
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, _080CC508 @ =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r6, 0x4
- ldrsb r6, [r4, r6]
- ldr r5, _080CC50C @ =gUnknown_83F5D32
- adds r0, r5, 0x2
- mov r12, r0
- adds r7, r5, 0x1
-_080CC4E8:
- lsls r0, r3, 1
- adds r2, r0, r3
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r6, r0
- bne _080CC510
- movs r1, 0x5
- ldrsb r1, [r4, r1]
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r1, r0
- bne _080CC510
- mov r1, r12
- adds r0, r2, r1
- ldrb r0, [r0]
- b _080CC51C
- .align 2, 0
-_080CC508: .4byte gSaveBlock1Ptr
-_080CC50C: .4byte gUnknown_83F5D32
-_080CC510:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xB
- bls _080CC4E8
- movs r0, 0x1
-_080CC51C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC4D4
-
- thumb_func_start sub_80CC524
-sub_80CC524: @ 80CC524
- push {lr}
- movs r0, 0xB
- movs r1, 0
- bl sub_8113550
- pop {r0}
- bx r0
- thumb_func_end sub_80CC524
-
- thumb_func_start sub_80CC534
-sub_80CC534: @ 80CC534
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080CC57C @ =gSaveBlock1Ptr
- ldr r5, _080CC580 @ =gUnknown_83F5D58
-_080CC53C:
- ldr r3, [r6]
- movs r1, 0x4
- ldrsb r1, [r3, r1]
- lsls r0, r4, 3
- adds r2, r0, r5
- ldrh r0, [r2]
- cmp r1, r0
- bne _080CC58C
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- ldrh r2, [r2, 0x2]
- cmp r0, r2
- bne _080CC58C
- ldr r5, _080CC584 @ =0x0000404d
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x23
- bne _080CC56A
- cmp r4, 0x20
- beq _080CC596
-_080CC56A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl VarSet
- ldr r0, _080CC588 @ =0x00000808
- bl FlagSet
- b _080CC596
- .align 2, 0
-_080CC57C: .4byte gSaveBlock1Ptr
-_080CC580: .4byte gUnknown_83F5D58
-_080CC584: .4byte 0x0000404d
-_080CC588: .4byte 0x00000808
-_080CC58C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x32
- bls _080CC53C
-_080CC596:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC534
-
- thumb_func_start sub_80CC59C
-sub_80CC59C: @ 80CC59C
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r0, _080CC5F8 @ =0x0000404d
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r6, _080CC5FC @ =0xffffff00
- ldr r0, [sp, 0x4]
- ands r0, r6
- ldr r4, _080CC600 @ =0xffff00ff
- ands r0, r4
- str r0, [sp, 0x4]
- ldr r0, _080CC604 @ =0x00000808
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080CC5C4
- b _080CC71E
-_080CC5C4:
- cmp r5, 0x5
- bne _080CC61C
- ldr r0, _080CC608 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- adds r7, r0, 0
- cmp r1, 0xF
- bne _080CC67C
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080CC5E2
- cmp r0, 0x3
- bne _080CC67C
-_080CC5E2:
- ldr r1, [sp, 0x4]
- ands r1, r6
- movs r0, 0x66
- orrs r1, r0
- str r1, [sp, 0x4]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, 0
- bne _080CC60C
- lsls r0, r5, 8
- b _080CC610
- .align 2, 0
-_080CC5F8: .4byte 0x0000404d
-_080CC5FC: .4byte 0xffffff00
-_080CC600: .4byte 0xffff00ff
-_080CC604: .4byte 0x00000808
-_080CC608: .4byte gSaveBlock1Ptr
-_080CC60C:
- movs r0, 0xC0
- lsls r0, 3
-_080CC610:
- ands r1, r4
- orrs r1, r0
- str r1, [sp, 0x4]
- add r1, sp, 0x4
- movs r0, 0x23
- b _080CC66C
-_080CC61C:
- ldr r7, _080CC65C @ =gSaveBlock1Ptr
- cmp r5, 0x3
- bne _080CC67C
- ldr r1, [r7]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x3
- bne _080CC67C
- ldrb r0, [r1, 0x5]
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080CC67C
- ldr r1, _080CC660 @ =gUnknown_83F5D58
- ldrh r0, [r1, 0x18]
- ldrh r1, [r1, 0x1A]
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- add r1, sp, 0x4
- strb r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- adds r6, r1, 0
- cmp r0, 0x29
- bne _080CC664
- strb r5, [r6, 0x1]
- b _080CC668
- .align 2, 0
-_080CC65C: .4byte gSaveBlock1Ptr
-_080CC660: .4byte gUnknown_83F5D58
-_080CC664:
- movs r0, 0x4
- strb r0, [r6, 0x1]
-_080CC668:
- movs r0, 0x23
- adds r1, r6, 0
-_080CC66C:
- bl sub_8113550
- ldr r0, _080CC678 @ =0x00000808
- bl FlagClear
- b _080CC71E
- .align 2, 0
-_080CC678: .4byte 0x00000808
-_080CC67C:
- ldr r3, [r7]
- movs r2, 0x4
- ldrsb r2, [r3, r2]
- ldr r1, _080CC6D0 @ =gUnknown_83F5D58
- lsls r0, r5, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0x4]
- cmp r2, r0
- bne _080CC71E
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- ldrh r2, [r1, 0x6]
- cmp r0, r2
- bne _080CC71E
- ldrh r0, [r1]
- ldrh r1, [r1, 0x2]
- bl get_mapheader_by_bank_and_number
- ldrb r1, [r0, 0x14]
- add r0, sp, 0x4
- strb r1, [r0]
- strb r5, [r0, 0x1]
- adds r6, r0, 0
- cmp r5, 0x16
- bne _080CC6D4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xF
- bne _080CC6F6
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x1A
- beq _080CC6FC
- b _080CC6F6
- .align 2, 0
-_080CC6D0: .4byte gUnknown_83F5D58
-_080CC6D4:
- cmp r5, 0x2A
- bne _080CC6FC
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x43
- bne _080CC6F6
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- beq _080CC6FC
-_080CC6F6:
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
-_080CC6FC:
- movs r0, 0x23
- adds r1, r6, 0
- bl sub_8113550
- ldr r4, _080CC728 @ =0x00000808
- adds r0, r4, 0
- bl FlagClear
- cmp r5, 0x23
- bne _080CC71E
- ldr r0, _080CC72C @ =0x0000404d
- movs r1, 0x20
- bl VarSet
- adds r0, r4, 0
- bl FlagSet
-_080CC71E:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC728: .4byte 0x00000808
-_080CC72C: .4byte 0x0000404d
- thumb_func_end sub_80CC59C
-
- thumb_func_start Special_BattleCardAction
-Special_BattleCardAction: @ 80CC730
- push {lr}
- ldr r0, _080CC744 @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080CC77C
- lsls r0, 2
- ldr r1, _080CC748 @ =_080CC74C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CC744: .4byte gSpecialVar_Result
-_080CC748: .4byte _080CC74C
- .align 2, 0
-_080CC74C:
- .4byte _080CC760
- .4byte _080CC764
- .4byte _080CC768
- .4byte _080CC76C
- .4byte _080CC770
-_080CC760:
- movs r0, 0x3
- b _080CC772
-_080CC764:
- movs r0, 0x4
- b _080CC772
-_080CC768:
- movs r0, 0
- b _080CC772
-_080CC76C:
- movs r0, 0x1
- b _080CC772
-_080CC770:
- movs r0, 0x2
-_080CC772:
- bl sub_81445C0
- lsls r0, 16
- lsrs r0, 16
- b _080CC78A
-_080CC77C:
- @ AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873)
- ldr r0, _080CC790 @ =gUnknown_83F5EF0 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c"
- ldr r1, _080CC794 @ =0x00000f21
- ldr r2, _080CC798 @ =gUnknown_83F5F24 "0"
- movs r3, 0x1
- bl AGBAssert
- movs r0, 0
-_080CC78A:
- pop {r1}
- bx r1
- .align 2, 0
-_080CC790: .4byte gUnknown_83F5EF0
-_080CC794: .4byte 0x00000f21
-_080CC798: .4byte gUnknown_83F5F24
- thumb_func_end Special_BattleCardAction
-
- thumb_func_start set_unknown_box_id
-set_unknown_box_id: @ 80CC79C
- ldr r1, _080CC7A4 @ =gUnknown_2039A1A
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080CC7A4: .4byte gUnknown_2039A1A
- thumb_func_end set_unknown_box_id
-
- thumb_func_start get_unknown_box_id
-get_unknown_box_id: @ 80CC7A8
- ldr r0, _080CC7B0 @ =gUnknown_2039A1A
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080CC7B0: .4byte gUnknown_2039A1A
- thumb_func_end get_unknown_box_id
-
- thumb_func_start sub_80CC7B4
-sub_80CC7B4: @ 80CC7B4
- push {r4,r5,lr}
- ldr r5, _080CC7E8 @ =0x00000843
- adds r0, r5, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080CC7F0
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080CC7EC @ =0x00004037
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _080CC7F0
- adds r0, r5, 0
- bl FlagSet
- movs r0, 0x1
- b _080CC7F2
- .align 2, 0
-_080CC7E8: .4byte 0x00000843
-_080CC7EC: .4byte 0x00004037
-_080CC7F0:
- movs r0, 0
-_080CC7F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC7B4
-
- thumb_func_start sub_80CC7F8
-sub_80CC7F8: @ 80CC7F8
- push {r4-r7,lr}
- ldr r0, _080CC850 @ =0x00004037
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl set_unknown_box_id
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r4, r0, 24
-_080CC810:
- movs r5, 0
- lsls r6, r4, 24
- lsls r7, r4, 16
-_080CC816:
- lsls r1, r5, 24
- lsrs r1, 24
- lsrs r0, r6, 24
- bl GetBoxedMonPtr
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- cmp r0, 0
- bne _080CC858
- bl get_unknown_box_id
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _080CC83E
- ldr r0, _080CC854 @ =0x00000843
- bl FlagClear
-_080CC83E:
- ldr r0, _080CC850 @ =0x00004037
- lsrs r1, r7, 16
- bl VarSet
- bl sub_80CC7B4
- lsls r0, 24
- lsrs r0, 24
- b _080CC874
- .align 2, 0
-_080CC850: .4byte 0x00004037
-_080CC854: .4byte 0x00000843
-_080CC858:
- adds r5, 0x1
- cmp r5, 0x1D
- ble _080CC816
- adds r4, 0x1
- cmp r4, 0xE
- bne _080CC866
- movs r4, 0
-_080CC866:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080CC810
- movs r0, 0
-_080CC874:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC7F8
-
- thumb_func_start sub_80CC87C
-sub_80CC87C: @ 80CC87C
- push {r4,lr}
- ldr r0, _080CC8AC @ =gUnknown_2031DB4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, _080CC8B0 @ =gUnknown_83F5F26
- ldrh r0, [r2]
- ldr r1, _080CC8B4 @ =0x0000ffff
- cmp r0, r1
- beq _080CC8C2
- adds r4, r1, 0
- adds r1, r2, 0
-_080CC8A0:
- ldrh r0, [r2]
- cmp r0, r3
- bne _080CC8B8
- movs r0, 0x1
- b _080CC8C4
- .align 2, 0
-_080CC8AC: .4byte gUnknown_2031DB4
-_080CC8B0: .4byte gUnknown_83F5F26
-_080CC8B4: .4byte 0x0000ffff
-_080CC8B8:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r4
- bne _080CC8A0
-_080CC8C2:
- movs r0, 0
-_080CC8C4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC87C
-
- thumb_func_start sub_80CC8CC
-sub_80CC8CC: @ 80CC8CC
- push {r4,lr}
- ldr r1, _080CC8E4 @ =gSpecialVar_0x8004
- ldr r2, _080CC8E8 @ =0xfffffedf
- adds r0, r2, 0
- ldrh r2, [r1]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x39
- bls _080CC8EC
- movs r0, 0
- b _080CC908
- .align 2, 0
-_080CC8E4: .4byte gSpecialVar_0x8004
-_080CC8E8: .4byte 0xfffffedf
-_080CC8EC:
- ldr r4, _080CC910 @ =gStringVar1
- ldrh r0, [r1]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, _080CC914 @ =gMoveNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
-_080CC908:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080CC910: .4byte gStringVar1
-_080CC914: .4byte gMoveNames
- thumb_func_end sub_80CC8CC
-
- thumb_func_start sub_80CC918
-sub_80CC918: @ 80CC918
- push {r4,lr}
- ldr r4, _080CC940 @ =0x00004025
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080CC944 @ =0x000001f3
- cmp r1, r0
- bhi _080CC938
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
-_080CC938:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC940: .4byte 0x00004025
-_080CC944: .4byte 0x000001f3
- thumb_func_end sub_80CC918
-
- thumb_func_start Special_DaisyMassageServices
-Special_DaisyMassageServices: @ 80CC948
- push {lr}
- ldr r0, _080CC968 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080CC96C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x6
- bl AdjustFriendship
- ldr r0, _080CC970 @ =0x00004025
- movs r1, 0
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_080CC968: .4byte gSpecialVar_0x8004
-_080CC96C: .4byte gPlayerParty
-_080CC970: .4byte 0x00004025
- thumb_func_end Special_DaisyMassageServices
-
- thumb_func_start sub_80CC974
-sub_80CC974: @ 80CC974
- push {r4-r6,lr}
- ldr r0, _080CC9A8 @ =sub_80CCA18
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r5, r1, 3
- ldr r6, _080CC9AC @ =gTasks+0x8
- adds r4, r5, r6
- movs r0, 0x3
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CC9B4
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080CC9B0 @ =sub_80CCAF4
- str r1, [r0]
- b _080CCA08
- .align 2, 0
-_080CC9A8: .4byte sub_80CCA18
-_080CC9AC: .4byte gTasks+0x8
-_080CC9B0: .4byte sub_80CCAF4
-_080CC9B4:
- ldr r0, _080CC9D8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, _080CC9DC @ =0x00004f01
- cmp r1, r0
- bne _080CC9E8
- ldr r0, _080CC9E0 @ =gUnknown_83F61FB
- ldrb r0, [r0]
- strh r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0x4]
- ldr r0, _080CC9E4 @ =gUnknown_83F60D0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- b _080CC9FC
- .align 2, 0
-_080CC9D8: .4byte gSaveBlock1Ptr
-_080CC9DC: .4byte 0x00004f01
-_080CC9E0: .4byte gUnknown_83F61FB
-_080CC9E4: .4byte gUnknown_83F60D0
-_080CC9E8:
- ldr r0, _080CCA10 @ =gUnknown_83F61F0
- ldrb r0, [r0]
- strh r0, [r4]
- movs r0, 0xB
- strh r0, [r4, 0x4]
- ldr r0, _080CCA14 @ =gUnknown_83F5F50
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
-_080CC9FC:
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x7
- movs r1, 0x1
- bl sub_8059948
-_080CCA08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCA10: .4byte gUnknown_83F61F0
-_080CCA14: .4byte gUnknown_83F5F50
- thumb_func_end sub_80CC974
-
- thumb_func_start sub_80CCA18
-sub_80CCA18: @ 80CCA18
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080CCAA4 @ =gTasks+0x8
- adds r4, r1, r0
- ldr r0, _080CCAA8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080CCAE6
- movs r0, 0x2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080CCAE6
- movs r0, 0x5
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080CCAE6
- ldr r0, _080CCAAC @ =gUnknown_2036E28
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080CCAE6
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080CCAE6
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _080CCA78
- strh r2, [r4, 0x2]
-_080CCA78:
- ldr r0, _080CCAB0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, _080CCAB4 @ =0x00004f01
- cmp r1, r0
- bne _080CCAC0
- ldr r1, _080CCAB8 @ =gUnknown_83F61FB
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4]
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- lsls r0, 5
- ldr r1, _080CCABC @ =gUnknown_83F60D0
- adds r0, r1
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- b _080CCADE
- .align 2, 0
-_080CCAA4: .4byte gTasks+0x8
-_080CCAA8: .4byte gPaletteFade
-_080CCAAC: .4byte gUnknown_2036E28
-_080CCAB0: .4byte gSaveBlock1Ptr
-_080CCAB4: .4byte 0x00004f01
-_080CCAB8: .4byte gUnknown_83F61FB
-_080CCABC: .4byte gUnknown_83F60D0
-_080CCAC0:
- ldr r1, _080CCAEC @ =gUnknown_83F61F0
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4]
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- lsls r0, 5
- ldr r1, _080CCAF0 @ =gUnknown_83F5F50
- adds r0, r1
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
-_080CCADE:
- movs r0, 0x7
- movs r1, 0x1
- bl sub_8059948
-_080CCAE6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCAEC: .4byte gUnknown_83F61F0
-_080CCAF0: .4byte gUnknown_83F5F50
- thumb_func_end sub_80CCA18
-
- thumb_func_start sub_80CCAF4
-sub_80CCAF4: @ 80CCAF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x4
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080CCB5A
- ldr r0, _080CCB20 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, _080CCB24 @ =0x00004f01
- cmp r1, r0
- bne _080CCB2C
- ldr r0, _080CCB28 @ =gUnknown_83F61D0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- b _080CCB36
- .align 2, 0
-_080CCB20: .4byte gSaveBlock1Ptr
-_080CCB24: .4byte 0x00004f01
-_080CCB28: .4byte gUnknown_83F61D0
-_080CCB2C:
- ldr r0, _080CCB60 @ =gUnknown_83F60B0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
-_080CCB36:
- movs r0, 0x7
- movs r1, 0x1
- bl sub_8059948
- ldr r0, _080CCB64 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CCB54
- movs r0, 0x80
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
-_080CCB54:
- adds r0, r4, 0
- bl DestroyTask
-_080CCB5A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCB60: .4byte gUnknown_83F60B0
-_080CCB64: .4byte gPaletteFade
- thumb_func_end sub_80CCAF4
-
- thumb_func_start sub_80CCB68
-sub_80CCB68: @ 80CCB68
- push {r4,lr}
- ldr r4, _080CCB90 @ =sub_80CCA18
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCB88
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080CCB88:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCB90: .4byte sub_80CCA18
- thumb_func_end sub_80CCB68
-
- thumb_func_start sub_80CCB94
-sub_80CCB94: @ 80CCB94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r6, 0
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080CCBC0 @ =gSpecialVar_0x8007
- mov r1, r8
- strh r1, [r0]
- movs r4, 0
- movs r0, 0x64
- mov r5, r8
- muls r5, r0
- ldr r0, _080CCBC4 @ =gPlayerParty
- mov r9, r0
- b _080CCBCE
- .align 2, 0
-_080CCBC0: .4byte gSpecialVar_0x8007
-_080CCBC4: .4byte gPlayerParty
-_080CCBC8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080CCBCE:
- cmp r4, 0x2
- bhi _080CCBEA
- mov r1, r9
- adds r0, r5, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- ldr r1, _080CCC1C @ =gUnknown_83F6203
- adds r1, r4, r1
- ldrb r1, [r1]
- cmp r0, r1
- bne _080CCBC8
- adds r7, r4, 0
-_080CCBEA:
- cmp r4, 0x3
- beq _080CCC7A
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r1, _080CCC20 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xFF
- bne _080CCC7A
- cmp r7, 0
- bne _080CCC34
- ldr r0, _080CCC24 @ =gStringVar2
- ldr r1, _080CCC28 @ =gMoveNames + 0x112A FRENZY PLANT
- bl StringCopy
- ldr r1, _080CCC2C @ =gSpecialVar_0x8005
- movs r0, 0xF
- strh r0, [r1]
- ldr r0, _080CCC30 @ =0x000002de
- b _080CCC6E
- .align 2, 0
-_080CCC1C: .4byte gUnknown_83F6203
-_080CCC20: .4byte gPlayerParty
-_080CCC24: .4byte gStringVar2
-_080CCC28: .4byte gMoveNames + 0x112A
-_080CCC2C: .4byte gSpecialVar_0x8005
-_080CCC30: .4byte 0x000002de
-_080CCC34:
- cmp r7, 0x1
- bne _080CCC5C
- ldr r0, _080CCC4C @ =gStringVar2
- ldr r1, _080CCC50 @ =gMoveNames + 0xF97 BLAST BURN
- bl StringCopy
- ldr r1, _080CCC54 @ =gSpecialVar_0x8005
- movs r0, 0x10
- strh r0, [r1]
- ldr r0, _080CCC58 @ =0x000002df
- b _080CCC6E
- .align 2, 0
-_080CCC4C: .4byte gStringVar2
-_080CCC50: .4byte gMoveNames + 0xF97
-_080CCC54: .4byte gSpecialVar_0x8005
-_080CCC58: .4byte 0x000002df
-_080CCC5C:
- ldr r0, _080CCC80 @ =gStringVar2
- ldr r1, _080CCC84 @ =gMoveNames + 0xFA4 HYDRO CANNON
- bl StringCopy
- ldr r1, _080CCC88 @ =gSpecialVar_0x8005
- movs r0, 0x11
- strh r0, [r1]
- movs r0, 0xB8
- lsls r0, 2
-_080CCC6E:
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCC8C
-_080CCC7A:
- movs r0, 0
- b _080CCCE4
- .align 2, 0
-_080CCC80: .4byte gStringVar2
-_080CCC84: .4byte gMoveNames + 0xFA4
-_080CCC88: .4byte gSpecialVar_0x8005
-_080CCC8C:
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
- ldr r0, _080CCCF0 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xD
- bl GetMonData
- cmp r0, 0
- beq _080CCCA8
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080CCCA8:
- adds r0, r4, 0
- movs r1, 0xE
- bl GetMonData
- cmp r0, 0
- beq _080CCCBA
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080CCCBA:
- adds r0, r4, 0
- movs r1, 0xF
- bl GetMonData
- cmp r0, 0
- beq _080CCCCC
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080CCCCC:
- adds r0, r4, 0
- movs r1, 0x10
- bl GetMonData
- cmp r0, 0
- beq _080CCCDE
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080CCCDE:
- ldr r0, _080CCCF4 @ =gSpecialVar_0x8006
- strh r6, [r0]
- movs r0, 0x1
-_080CCCE4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080CCCF0: .4byte gPlayerParty
-_080CCCF4: .4byte gSpecialVar_0x8006
- thumb_func_end sub_80CCB94
-
- thumb_func_start sub_80CCCF8
-sub_80CCCF8: @ 80CCCF8
- push {r4,lr}
- movs r4, 0
- ldr r0, _080CCD0C @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0xF
- bne _080CCD14
- ldr r0, _080CCD10 @ =0x000002de
- bl FlagSet
- b _080CCD2C
- .align 2, 0
-_080CCD0C: .4byte gSpecialVar_0x8005
-_080CCD10: .4byte 0x000002de
-_080CCD14:
- cmp r0, 0x10
- bne _080CCD24
- ldr r0, _080CCD20 @ =0x000002df
- bl FlagSet
- b _080CCD2C
- .align 2, 0
-_080CCD20: .4byte 0x000002df
-_080CCD24:
- movs r0, 0xB8
- lsls r0, 2
- bl FlagSet
-_080CCD2C:
- ldr r0, _080CCD74 @ =0x000002de
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCD40
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080CCD40:
- ldr r0, _080CCD78 @ =0x000002df
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCD54
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080CCD54:
- movs r0, 0xB8
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCD6A
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080CCD6A:
- cmp r4, 0x3
- beq _080CCD7C
- movs r0, 0
- b _080CCD7E
- .align 2, 0
-_080CCD74: .4byte 0x000002de
-_080CCD78: .4byte 0x000002df
-_080CCD7C:
- movs r0, 0x1
-_080CCD7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CCCF8
-
- thumb_func_start sub_80CCD84
-sub_80CCD84: @ 80CCD84
- push {lr}
- ldr r0, _080CCDB8 @ =0x000002e3
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080CCDC8
- ldr r0, _080CCDBC @ =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2, 0x4]
- ldr r0, _080CCDC0 @ =0x00003d03
- cmp r1, r0
- bne _080CCDC8
- ldr r1, [r2]
- ldr r0, _080CCDC4 @ =0x00190018
- cmp r1, r0
- bne _080CCDC8
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080CCDC8
- movs r0, 0x1
- b _080CCDCA
- .align 2, 0
-_080CCDB8: .4byte 0x000002e3
-_080CCDBC: .4byte gSaveBlock1Ptr
-_080CCDC0: .4byte 0x00003d03
-_080CCDC4: .4byte 0x00190018
-_080CCDC8:
- movs r0, 0
-_080CCDCA:
- pop {r1}
- bx r1
- thumb_func_end sub_80CCD84
-
- thumb_func_start sub_80CCDD0
-sub_80CCDD0: @ 80CCDD0
- push {lr}
- movs r2, 0xD6
- lsls r2, 2
- movs r0, 0x1F
- movs r1, 0x1F
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- movs r0, 0x14
- bl PlaySE
- ldr r0, _080CCDF8 @ =0x000002e3
- bl FlagSet
- bl ScriptContext2_Disable
- pop {r0}
- bx r0
- .align 2, 0
-_080CCDF8: .4byte 0x000002e3
- thumb_func_end sub_80CCDD0
-
- thumb_func_start sub_80CCDFC
-sub_80CCDFC: @ 80CCDFC
- push {lr}
- ldr r0, _080CCE0C @ =task_deoxys_sound
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080CCE0C: .4byte task_deoxys_sound
- thumb_func_end sub_80CCDFC
-
- thumb_func_start task_deoxys_sound
-task_deoxys_sound: @ 80CCE10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080CCE30 @ =0x00000848
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CCE38
- ldr r1, _080CCE34 @ =gSpecialVar_Result
- movs r0, 0x3
- b _080CCE9E
- .align 2, 0
-_080CCE30: .4byte 0x00000848
-_080CCE34: .4byte gSpecialVar_Result
-_080CCE38:
- ldr r0, _080CCE80 @ =0x0000403e
- mov r8, r0
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, _080CCE84 @ =0x00004026
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- cmp r5, 0
- beq _080CCE90
- ldr r0, _080CCE88 @ =gUnknown_83F637C
- subs r1, r5, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, r6
- bcs _080CCE90
- movs r0, 0
- bl sub_80CCEE8
- mov r0, r8
- movs r1, 0
- bl VarSet
- ldr r1, _080CCE8C @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _080CCEA4
- .align 2, 0
-_080CCE80: .4byte 0x0000403e
-_080CCE84: .4byte 0x00004026
-_080CCE88: .4byte gUnknown_83F637C
-_080CCE8C: .4byte gSpecialVar_Result
-_080CCE90:
- cmp r5, 0xA
- bne _080CCEB4
- ldr r0, _080CCEAC @ =0x00000848
- bl FlagSet
- ldr r1, _080CCEB0 @ =gSpecialVar_Result
- movs r0, 0x2
-_080CCE9E:
- strh r0, [r1]
- bl EnableBothScriptContexts
-_080CCEA4:
- adds r0, r7, 0
- bl DestroyTask
- b _080CCED6
- .align 2, 0
-_080CCEAC: .4byte 0x00000848
-_080CCEB0: .4byte gSpecialVar_Result
-_080CCEB4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80CCEE8
- ldr r0, _080CCEE0 @ =0x0000403e
- adds r1, r5, 0
- bl VarSet
- ldr r1, _080CCEE4 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r7, 0
- bl DestroyTask
-_080CCED6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCEE0: .4byte 0x0000403e
-_080CCEE4: .4byte gSpecialVar_Result
- thumb_func_end task_deoxys_sound
-
- thumb_func_start sub_80CCEE8
-sub_80CCEE8: @ 80CCEE8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 5
- ldr r1, _080CCF24 @ =gUnknown_83F6206
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- movs r0, 0xA
- bl sub_8083598
- ldr r0, _080CCF28 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x1
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- cmp r4, 0
- bne _080CCF2C
- movs r0, 0xBD
- bl PlaySE
- b _080CCF32
- .align 2, 0
-_080CCF24: .4byte gUnknown_83F6206
-_080CCF28: .4byte gSaveBlock1Ptr
-_080CCF2C:
- movs r0, 0xFD
- bl PlaySE
-_080CCF32:
- ldr r0, _080CCF64 @ =sub_80CCF98
- movs r1, 0x8
- bl CreateTask
- ldr r3, _080CCF68 @ =gFieldEffectArguments
- movs r0, 0x1
- str r0, [r3]
- movs r0, 0x38
- str r0, [r3, 0x4]
- movs r0, 0x2
- str r0, [r3, 0x8]
- ldr r0, _080CCF6C @ =gUnknown_83F6366
- lsls r2, r4, 1
- adds r1, r2, r0
- ldrb r1, [r1]
- str r1, [r3, 0xC]
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- str r0, [r3, 0x10]
- adds r5, r2, 0
- cmp r4, 0
- bne _080CCF70
- movs r0, 0x3C
- b _080CCF72
- .align 2, 0
-_080CCF64: .4byte sub_80CCF98
-_080CCF68: .4byte gFieldEffectArguments
-_080CCF6C: .4byte gUnknown_83F6366
-_080CCF70:
- movs r0, 0x5
-_080CCF72:
- str r0, [r3, 0x14]
- movs r0, 0x43
- bl FieldEffectStart
- ldr r0, _080CCF94 @ =gUnknown_83F6366
- adds r1, r5, r0
- ldrb r1, [r1]
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r2, [r0]
- movs r0, 0x1
- bl Overworld_SetMapObjTemplateCoords
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCF94: .4byte gUnknown_83F6366
- thumb_func_end sub_80CCEE8
-
- thumb_func_start sub_80CCF98
-sub_80CCF98: @ 80CCF98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x43
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080CCFB4
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080CCFB4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CCF98
-
- thumb_func_start sub_80CCFBC
-sub_80CCFBC: @ 80CCFBC
- push {r4,lr}
- ldr r4, _080CCFEC @ =0x00004026
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080CCFF0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, _080CCFF4 @ =0x00003802 MAP_BIRTH_ISLAND_EXTERIOR
- cmp r1, r0
- bne _080CD000
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x63
- bls _080CCFF8
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- b _080CD000
- .align 2, 0
-_080CCFEC: .4byte 0x00004026
-_080CCFF0: .4byte gSaveBlock1Ptr
-_080CCFF4: .4byte 0x00003802
-_080CCFF8:
- adds r0, r4, 0
- adds r1, r2, 0
- bl VarSet
-_080CD000:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CCFBC
-
- thumb_func_start sub_80CD008
-sub_80CD008: @ 80CD008
- push {lr}
- ldr r0, _080CD02C @ =0x0000403e
- bl VarGet
- lsls r0, 24
- lsrs r0, 19
- ldr r1, _080CD030 @ =gUnknown_83F6206
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- movs r0, 0xA
- bl sub_8083598
- pop {r0}
- bx r0
- .align 2, 0
-_080CD02C: .4byte 0x0000403e
-_080CD030: .4byte gUnknown_83F6206
- thumb_func_end sub_80CD008
-
- thumb_func_start sub_80CD034
-sub_80CD034: @ 80CD034
- push {r4,r5,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _080CD06A
-_080CD044:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080CD05C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x4
- bl GetMonData
- cmp r0, 0x1
- bne _080CD060
- movs r0, 0x1
- b _080CD06C
- .align 2, 0
-_080CD05C: .4byte gPlayerParty
-_080CD060:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080CD044
-_080CD06A:
- movs r0, 0
-_080CD06C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CD034
-
- thumb_func_start sub_80CD074
-sub_80CD074: @ 80CD074
- push {lr}
- ldr r0, _080CD088 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, _080CD08C @ =0x00000a02
- cmp r1, r0
- beq _080CD090
- movs r0, 0x1
- b _080CD092
- .align 2, 0
-_080CD088: .4byte gSaveBlock1Ptr
-_080CD08C: .4byte 0x00000a02
-_080CD090:
- movs r0, 0
-_080CD092:
- pop {r1}
- bx r1
- thumb_func_end sub_80CD074
-
- thumb_func_start sub_80CD098
-sub_80CD098: @ 80CD098
- push {lr}
- sub sp, 0x4
- ldr r0, _080CD0CC @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080CD0E8
- ldr r0, _080CD0D0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, 0x1B
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080CD0D4 @ =gSpecialVar_0x8006
- ldrh r3, [r0]
- cmp r3, 0
- bne _080CD0E0
- ldr r0, _080CD0D8 @ =gSpecialVar_0x8005
- ldrh r2, [r0]
- str r3, [sp]
- movs r0, 0
- movs r3, 0
- bl CreateTextCursorSpriteForOakSpeech
- ldr r1, _080CD0DC @ =gUnknown_2039A1B
- strb r0, [r1]
- b _080CD0E8
- .align 2, 0
-_080CD0CC: .4byte gUnknown_203ADFA
-_080CD0D0: .4byte gSpecialVar_0x8004
-_080CD0D4: .4byte gSpecialVar_0x8006
-_080CD0D8: .4byte gSpecialVar_0x8005
-_080CD0DC: .4byte gUnknown_2039A1B
-_080CD0E0:
- ldr r0, _080CD0F0 @ =gUnknown_2039A1B
- ldrb r0, [r0]
- bl sub_8006398
-_080CD0E8:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080CD0F0: .4byte gUnknown_2039A1B
- thumb_func_end sub_80CD098
-
- thumb_func_start sub_80CD0F4
-sub_80CD0F4: @ 80CD0F4
- push {r4-r7,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcs _080CD14A
-_080CD104:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _080CD138 @ =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- ldr r1, _080CD13C @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- cmp r0, r1
- bne _080CD140
- bl sub_80CC1E4
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bne _080CD140
- movs r0, 0x1
- b _080CD14C
- .align 2, 0
-_080CD138: .4byte gPlayerParty
-_080CD13C: .4byte gSpecialVar_0x8004
-_080CD140:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _080CD104
-_080CD14A:
- movs r0, 0
-_080CD14C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CD0F4
-
- @ Determines which of Lorelei's doll collection to show
- @ based on how many times you've entered the Hall of Fame.
- thumb_func_start Special_ComputeLoreleiDollCollection
-Special_ComputeLoreleiDollCollection: @ 80CD154
- push {r4,lr}
- movs r0, 0xA
- bl GetGameStat
- adds r4, r0, 0
- cmp r4, 0x18
- bls _080CD1AE
- movs r0, 0xA5
- bl FlagClear
- cmp r4, 0x31
- bls _080CD172
- movs r0, 0xA6
- bl FlagClear
-_080CD172:
- cmp r4, 0x4A
- bls _080CD17C
- movs r0, 0xA7
- bl FlagClear
-_080CD17C:
- cmp r4, 0x63
- bls _080CD186
- movs r0, 0xA8
- bl FlagClear
-_080CD186:
- cmp r4, 0x7C
- bls _080CD190
- movs r0, 0xA9
- bl FlagClear
-_080CD190:
- cmp r4, 0x95
- bls _080CD19A
- movs r0, 0xAA
- bl FlagClear
-_080CD19A:
- cmp r4, 0xAE
- bls _080CD1A4
- movs r0, 0xAB
- bl FlagClear
-_080CD1A4:
- cmp r4, 0xC7
- bls _080CD1AE
- movs r0, 0xAC
- bl FlagClear
-_080CD1AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Special_ComputeLoreleiDollCollection
-
- thumb_func_start sub_80CD1B4
-sub_80CD1B4: @ 80CD1B4
- push {lr}
- ldr r0, _080CD1C8 @ =sub_80CD1CC
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x96
- bl PlaySE
- pop {r0}
- bx r0
- .align 2, 0
-_080CD1C8: .4byte sub_80CD1CC
- thumb_func_end sub_80CD1B4
-
- thumb_func_start sub_80CD1CC
-sub_80CD1CC: @ 80CD1CC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CD21C @ =gTasks+0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldr r0, _080CD220 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r1, r0
- bne _080CD200
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x96
- bl PlaySE
-_080CD200:
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _080CD224 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080CD214
- adds r0, r5, 0
- bl DestroyTask
-_080CD214:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD21C: .4byte gTasks+0x8
-_080CD220: .4byte gSpecialVar_0x8005
-_080CD224: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80CD1CC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index 3452841c4..ec892e0bb 100644
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -33,7 +33,7 @@ sub_8097898: @ 8097898
ldr r4, _080978CC @ =gUnknown_2039874
movs r0, 0
strb r0, [r4]
- bl sub_80CCD84
+ bl CutMoveRuinValleyCheck
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -232,7 +232,7 @@ sub_8097A20: @ 8097A20
ldrb r0, [r0]
cmp r0, 0x1
bne _08097A3C
- bl sub_80CCDD0
+ bl CutMoveOpenDottedHoleDoor
b _08097A42
.align 2, 0
_08097A38: .4byte gUnknown_2039874
diff --git a/asm/learn_move.s b/asm/learn_move.s
index a7a5b264d..36b88bc20 100644
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -15,8 +15,8 @@ sub_80E4620: @ 80E4620
bx r0
thumb_func_end sub_80E4620
- thumb_func_start sub_80E4634
-sub_80E4634: @ 80E4634
+ thumb_func_start DisplayMoveTutorMenu
+DisplayMoveTutorMenu: @ 80E4634
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
@@ -35,7 +35,7 @@ sub_80E4634: @ 80E4634
bx r0
.align 2, 0
_080E465C: .4byte sub_80E4660
- thumb_func_end sub_80E4634
+ thumb_func_end DisplayMoveTutorMenu
thumb_func_start sub_80E4660
sub_80E4660: @ 80E4660
@@ -1653,7 +1653,7 @@ _080E53F4:
movs r2, 0x2
movs r3, 0x2
bl sub_80E559C
- ldr r1, _080E5440 @ =gUnknown_84886E8
+ ldr r1, _080E5440 @ =gMoveDescriptionPointers
subs r0, r5, 0x1
lsls r0, 2
adds r0, r1
@@ -1670,7 +1670,7 @@ _080E53F4:
bx r0
.align 2, 0
_080E543C: .4byte gBattleMoves
-_080E5440: .4byte gUnknown_84886E8
+_080E5440: .4byte gMoveDescriptionPointers
thumb_func_end sub_80E5340
thumb_func_start sub_80E5444
diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s
index cb87652fa..e14bdc51d 100644
--- a/asm/pokemon_size_record.s
+++ b/asm/pokemon_size_record.s
@@ -323,8 +323,8 @@ sub_80A0904: @ 80A0904
_080A0914: .4byte 0x0000403d
thumb_func_end sub_80A0904
- thumb_func_start sub_80A0918
-sub_80A0918: @ 80A0918
+ thumb_func_start GetHeracrossSizeRecordInfo
+GetHeracrossSizeRecordInfo: @ 80A0918
push {lr}
ldr r0, _080A092C @ =0x0000403d
bl GetVarPointer
@@ -335,10 +335,10 @@ sub_80A0918: @ 80A0918
bx r0
.align 2, 0
_080A092C: .4byte 0x0000403d
- thumb_func_end sub_80A0918
+ thumb_func_end GetHeracrossSizeRecordInfo
- thumb_func_start sub_80A0930
-sub_80A0930: @ 80A0930
+ thumb_func_start CompareHeracrossSize
+CompareHeracrossSize: @ 80A0930
push {r4,lr}
ldr r0, _080A0950 @ =0x0000403d
bl GetVarPointer
@@ -355,7 +355,7 @@ sub_80A0930: @ 80A0930
.align 2, 0
_080A0950: .4byte 0x0000403d
_080A0954: .4byte gSpecialVar_Result
- thumb_func_end sub_80A0930
+ thumb_func_end CompareHeracrossSize
thumb_func_start sub_80A0958
sub_80A0958: @ 80A0958
@@ -369,8 +369,8 @@ sub_80A0958: @ 80A0958
_080A0968: .4byte 0x00004040
thumb_func_end sub_80A0958
- thumb_func_start sub_80A096C
-sub_80A096C: @ 80A096C
+ thumb_func_start GetMagikarpSizeRecordInfo
+GetMagikarpSizeRecordInfo: @ 80A096C
push {lr}
ldr r0, _080A0980 @ =0x00004040
bl GetVarPointer
@@ -381,10 +381,10 @@ sub_80A096C: @ 80A096C
bx r0
.align 2, 0
_080A0980: .4byte 0x00004040
- thumb_func_end sub_80A096C
+ thumb_func_end GetMagikarpSizeRecordInfo
- thumb_func_start sub_80A0984
-sub_80A0984: @ 80A0984
+ thumb_func_start CompareMagikarpSize
+CompareMagikarpSize: @ 80A0984
push {r4,lr}
ldr r0, _080A09A4 @ =0x00004040
bl GetVarPointer
@@ -401,7 +401,7 @@ sub_80A0984: @ 80A0984
.align 2, 0
_080A09A4: .4byte 0x00004040
_080A09A8: .4byte gSpecialVar_Result
- thumb_func_end sub_80A0984
+ thumb_func_end CompareMagikarpSize
thumb_func_start GiveGiftRibbonToParty
GiveGiftRibbonToParty: @ 80A09AC
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 71e0e2e0e..ec0e9e53c 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -1751,8 +1751,8 @@ _0808C69C:
_0808C6A4: .4byte gPaletteFade
thumb_func_end c3_0808C39C
- thumb_func_start sub_808C6A8
-sub_808C6A8: @ 808C6A8
+ thumb_func_start ShowPokemonStorageSystem
+ShowPokemonStorageSystem: @ 808C6A8
push {lr}
ldr r0, _0808C6D0 @ =c3_0808C39C
movs r1, 0x50
@@ -1773,7 +1773,7 @@ sub_808C6A8: @ 808C6A8
.align 2, 0
_0808C6D0: .4byte c3_0808C39C
_0808C6D4: .4byte gTasks
- thumb_func_end sub_808C6A8
+ thumb_func_end ShowPokemonStorageSystem
thumb_func_start mapldr_0808C6D8
mapldr_0808C6D8: @ 808C6D8
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 8a01dcfb6..d9ef35bd4 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -6470,7 +6470,7 @@ _08137B1C:
str r1, [sp, 0x4]
str r6, [sp, 0x8]
str r5, [sp, 0xC]
- ldr r3, _08137BC8 @ =gUnknown_84886E8
+ ldr r3, _08137BC8 @ =gMoveDescriptionPointers
mov r4, r8
ldrb r1, [r4]
lsls r1, 1
@@ -6502,7 +6502,7 @@ _08137BB8: .4byte 0x00003004
_08137BBC: .4byte gUnknown_8463FA4
_08137BC0: .4byte 0x0000316c
_08137BC4: .4byte 0x00003188
-_08137BC8: .4byte gUnknown_84886E8
+_08137BC8: .4byte gMoveDescriptionPointers
_08137BCC: .4byte 0x00003258
thumb_func_end sub_8137AF8
@@ -7652,7 +7652,7 @@ _081384C4: .4byte gEnemyParty
_081384C8: .4byte gLinkPlayers
_081384CC: .4byte 0x0000304c
_081384D0:
- bl sub_80CC1E4
+ bl GetPlayerTrainerId
adds r4, r0, 0
ldr r0, _0813851C @ =0x0000ffff
ands r4, r0
diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s
index 20455093a..a96501d7b 100644
--- a/asm/post_battle_event_funcs.s
+++ b/asm/post_battle_event_funcs.s
@@ -106,8 +106,8 @@ _080CA3BC: .4byte 0x0000083b
_080CA3C0: .4byte CB2_DoHallOfFameScreen
thumb_func_end Special_HallOfFame
- thumb_func_start sub_80CA3C4
-sub_80CA3C4: @ 80CA3C4
+ thumb_func_start sp0C8_whiteout_maybe
+sp0C8_whiteout_maybe: @ 80CA3C4
push {lr}
ldr r0, _080CA3D4 @ =c2_whiteout
bl SetMainCallback2
@@ -116,6 +116,6 @@ sub_80CA3C4: @ 80CA3C4
bx r1
.align 2, 0
_080CA3D4: .4byte c2_whiteout
- thumb_func_end sub_80CA3C4
+ thumb_func_end sp0C8_whiteout_maybe
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s
index 6b4cdd1a8..525293081 100644
--- a/asm/script_pokemon_util_80A0058.s
+++ b/asm/script_pokemon_util_80A0058.s
@@ -420,8 +420,8 @@ _080A0378: .4byte gSpecialVar_Result
_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A0350
- thumb_func_start sub_80A0380
-sub_80A0380: @ 80A0380
+ thumb_func_start ChooseBattleTowerPlayerParty
+ChooseBattleTowerPlayerParty: @ 80A0380
push {lr}
ldr r1, _080A0394 @ =gMain
ldr r0, _080A0398 @ =sub_80A039C
@@ -433,7 +433,7 @@ sub_80A0380: @ 80A0380
.align 2, 0
_080A0394: .4byte gMain
_080A0398: .4byte sub_80A039C
- thumb_func_end sub_80A0380
+ thumb_func_end ChooseBattleTowerPlayerParty
thumb_func_start sub_80A039C
sub_80A039C: @ 80A039C
@@ -450,7 +450,7 @@ sub_80A039C: @ 80A039C
_080A03B0: .4byte gUnknown_203B0D4
_080A03B4: .4byte gSpecialVar_Result
_080A03B8:
- bl sub_80A03D8
+ bl ReducePlayerPartyToThree
ldr r1, _080A03D0 @ =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
@@ -465,8 +465,8 @@ _080A03D0: .4byte gSpecialVar_Result
_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A039C
- thumb_func_start sub_80A03D8
-sub_80A03D8: @ 80A03D8
+ thumb_func_start ReducePlayerPartyToThree
+ReducePlayerPartyToThree: @ 80A03D8
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -530,6 +530,6 @@ _080A042C:
_080A0454: .4byte gPlayerParty
_080A0458: .4byte gUnknown_203B0D4
_080A045C: .4byte 0x05000096
- thumb_func_end sub_80A03D8
+ thumb_func_end ReducePlayerPartyToThree
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s
index bf461b039..15d19e08b 100644
--- a/asm/script_pokemon_util_80BF8FC.s
+++ b/asm/script_pokemon_util_80BF8FC.s
@@ -36,8 +36,8 @@ _080BF934: .4byte sub_80BF97C
_080BF938: .4byte gTasks
thumb_func_end Special_ChooseMonFromParty
- thumb_func_start sub_80BF93C
-sub_80BF93C: @ 80BF93C
+ thumb_func_start SelectMoveTutorMon
+SelectMoveTutorMon: @ 80BF93C
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
@@ -65,7 +65,7 @@ sub_80BF93C: @ 80BF93C
.align 2, 0
_080BF974: .4byte sub_80BF97C
_080BF978: .4byte gTasks
- thumb_func_end sub_80BF93C
+ thumb_func_end SelectMoveTutorMon
thumb_func_start sub_80BF97C
sub_80BF97C: @ 80BF97C
@@ -100,8 +100,8 @@ _080BF9B4: .4byte gPaletteFade
_080BF9B8: .4byte gTasks
thumb_func_end sub_80BF97C
- thumb_func_start Special_ChooseMoveToDelete
-Special_ChooseMoveToDelete: @ 80BF9BC
+ thumb_func_start SelectMove
+SelectMove: @ 80BF9BC
push {r4,lr}
sub sp, 0x4
ldr r0, _080BF9F0 @ =gPlayerParty
@@ -132,7 +132,7 @@ _080BF9F8: .4byte gPlayerPartyCount
_080BF9FC: .4byte CB2_ReturnToField
_080BFA00: .4byte gFieldCallback
_080BFA04: .4byte FieldCallback_ReturnToEventScript2
- thumb_func_end Special_ChooseMoveToDelete
+ thumb_func_end SelectMove
thumb_func_start ScrSpecial_CountPokemonMoves
ScrSpecial_CountPokemonMoves: @ 80BFA08
@@ -333,8 +333,8 @@ sub_80BFAA8: @ 80BFAA8
_080BFBA4: .4byte gPPUpGetMask
thumb_func_end sub_80BFAA8
- thumb_func_start Special_DeleteSelectedMove
-Special_DeleteSelectedMove: @ 80BFBA8
+ thumb_func_start DeleteMonMove
+DeleteMonMove: @ 80BFBA8
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -385,10 +385,10 @@ _080BFBFC:
_080BFC08: .4byte gSpecialVar_0x8004
_080BFC0C: .4byte gPlayerParty
_080BFC10: .4byte gSpecialVar_0x8005
- thumb_func_end Special_DeleteSelectedMove
+ thumb_func_end DeleteMonMove
- thumb_func_start sub_80BFC14
-sub_80BFC14: @ 80BFC14
+ thumb_func_start IsSelectedMonEgg
+IsSelectedMonEgg: @ 80BFC14
push {lr}
ldr r0, _080BFC38 @ =gSpecialVar_0x8004
ldrh r1, [r0]
@@ -417,6 +417,6 @@ _080BFC48:
bx r0
.align 2, 0
_080BFC4C: .4byte gSpecialVar_Result
- thumb_func_end sub_80BFC14
+ thumb_func_end IsSelectedMonEgg
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index b5e8ee022..8dd3809f1 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -13779,8 +13779,8 @@ _08053A94: .4byte gUnknown_826D1E4
_08053A98: .4byte SpriteCallbackDummy
thumb_func_end sub_8053A0C
- thumb_func_start sub_8053A9C
-sub_8053A9C: @ 8053A9C
+ thumb_func_start GetInGameTradeSpeciesInfo
+GetInGameTradeSpeciesInfo: @ 8053A9C
push {r4-r6,lr}
ldr r0, _08053AD0 @ =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -13811,7 +13811,7 @@ _08053AD4: .4byte gUnknown_826CF8C
_08053AD8: .4byte gStringVar1
_08053ADC: .4byte gSpeciesNames
_08053AE0: .4byte gStringVar2
- thumb_func_end sub_8053A9C
+ thumb_func_end GetInGameTradeSpeciesInfo
thumb_func_start sub_8053AE4
sub_8053AE4: @ 8053AE4
@@ -14078,8 +14078,8 @@ _08053CEE:
_08053D28: .4byte gUnknown_826D1A8
thumb_func_end sub_8053CD4
- thumb_func_start sub_8053D2C
-sub_8053D2C: @ 8053D2C
+ thumb_func_start GetTradeSpecies
+GetTradeSpecies: @ 8053D2C
push {r4-r6,lr}
ldr r6, _08053D58 @ =gSpecialVar_0x8005
ldrh r0, [r6]
@@ -14108,10 +14108,10 @@ _08053D62:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_8053D2C
+ thumb_func_end GetTradeSpecies
- thumb_func_start sub_8053D68
-sub_8053D68: @ 8053D68
+ thumb_func_start CreateInGameTradePokemon
+CreateInGameTradePokemon: @ 8053D68
push {lr}
ldr r0, _08053D7C @ =gSpecialVar_0x8005
ldrb r0, [r0]
@@ -14123,7 +14123,7 @@ sub_8053D68: @ 8053D68
.align 2, 0
_08053D7C: .4byte gSpecialVar_0x8005
_08053D80: .4byte gSpecialVar_0x8004
- thumb_func_end sub_8053D68
+ thumb_func_end CreateInGameTradePokemon
thumb_func_start sub_8053D84
sub_8053D84: @ 8053D84
@@ -14839,8 +14839,8 @@ _08054438: .4byte gWirelessCommType
_0805443C: .4byte gMain
thumb_func_end sub_80543C4
- thumb_func_start sub_8054440
-sub_8054440: @ 8054440
+ thumb_func_start DoInGameTradeScene
+DoInGameTradeScene: @ 8054440
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
@@ -14860,7 +14860,7 @@ sub_8054440: @ 8054440
bx r0
.align 2, 0
_0805446C: .4byte sub_8054470
- thumb_func_end sub_8054440
+ thumb_func_end DoInGameTradeScene
thumb_func_start sub_8054470
sub_8054470: @ 8054470