summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim.s8
-rw-r--r--asm/battle_anim_status_effects.s4
-rw-r--r--asm/battle_message.s4
-rw-r--r--asm/battle_tower.s3664
-rw-r--r--asm/field_camera.s6
-rw-r--r--asm/field_door.s667
-rw-r--r--asm/item_menu.s2
-rw-r--r--asm/learn_move.s1954
-rw-r--r--asm/link_rfu_3.s8
-rw-r--r--asm/macros/battle_anim_script.inc285
-rw-r--r--asm/map_name_popup.s490
-rw-r--r--asm/overworld.s10
-rw-r--r--asm/party_menu.s42
-rw-r--r--asm/save_menu_util.s149
-rw-r--r--asm/script_pokemon_util_80A0058.s12
15 files changed, 333 insertions, 6972 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index d9471c9dd..42d099c4c 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -118,7 +118,7 @@ DoMoveAnim: @ 807259C
ldr r0, _080725CC @ =gBattlerTarget
ldrb r0, [r0]
strb r0, [r2]
- ldr r0, _080725D0 @ =gUnknown_81C68F4
+ ldr r0, _080725D0 @ =gBattleAnims_Moves
movs r2, 0x1
bl LaunchBattleAnimation
pop {r0}
@@ -128,7 +128,7 @@ _080725C0: .4byte gBattleAnimAttacker
_080725C4: .4byte gBattlerAttacker
_080725C8: .4byte gBattleAnimTarget
_080725CC: .4byte gBattlerTarget
-_080725D0: .4byte gUnknown_81C68F4
+_080725D0: .4byte gBattleAnims_Moves
thumb_func_end DoMoveAnim
thumb_func_start LaunchBattleAnimation
@@ -247,7 +247,7 @@ _080726A6:
cmp r0, 0
beq _08072706
movs r4, 0
- ldr r2, _080726E8 @ =gUnknown_81C68EC
+ ldr r2, _080726E8 @ =gMovesWithQuietBGM
b _080726EE
.align 2, 0
_080726C0: .4byte gUnknown_2037F18
@@ -260,7 +260,7 @@ _080726D8: .4byte RunAnimScriptCommand
_080726DC: .4byte gBattleAnimArgs
_080726E0: .4byte 0x0000ffff
_080726E4: .4byte gUnknown_2037EEE
-_080726E8: .4byte gUnknown_81C68EC
+_080726E8: .4byte gMovesWithQuietBGM
_080726EC:
adds r4, 0x1
_080726EE:
diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s
index c70d88cef..c8b1ddbf5 100644
--- a/asm/battle_anim_status_effects.s
+++ b/asm/battle_anim_status_effects.s
@@ -905,7 +905,7 @@ LaunchStatusAnimation: @ 807886C
strb r4, [r0]
ldr r0, _080788AC @ =gBattleAnimTarget
strb r4, [r0]
- ldr r0, _080788B0 @ =gUnknown_81C6E84
+ ldr r0, _080788B0 @ =gBattleAnims_StatusConditions
movs r2, 0
bl LaunchBattleAnimation
ldr r0, _080788B4 @ =task0A_80788BC
@@ -925,7 +925,7 @@ LaunchStatusAnimation: @ 807886C
.align 2, 0
_080788A8: .4byte gBattleAnimAttacker
_080788AC: .4byte gBattleAnimTarget
-_080788B0: .4byte gUnknown_81C6E84
+_080788B0: .4byte gBattleAnims_StatusConditions
_080788B4: .4byte task0A_80788BC
_080788B8: .4byte gTasks
thumb_func_end LaunchStatusAnimation
diff --git a/asm/battle_message.s b/asm/battle_message.s
index 28d7b196d..6f4cb083c 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -1686,7 +1686,7 @@ _080D8038:
ands r0, r1
cmp r0, 0
beq _080D8058
- bl sub_80E60E4
+ bl GetBattleTowerTrainerClassNameId
lsls r0, 24
lsrs r0, 24
movs r1, 0xD
@@ -1781,7 +1781,7 @@ _080D80F0:
cmp r0, 0
beq _080D810C
mov r0, sp
- bl sub_80E6150
+ bl GetBattleTowerTrainerName
b _080D8382
.align 2, 0
_080D8108: .4byte gBattleTypeFlags
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
deleted file mode 100644
index d4bad6bd1..000000000
--- a/asm/battle_tower.s
+++ /dev/null
@@ -1,3664 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E5970
-sub_80E5970: @ 80E5970
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_080E5976:
- ldr r0, _080E5990 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5994 @ =0x0000055e
- adds r0, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _080E59B8
- lsls r0, 2
- ldr r1, _080E5998 @ =_080E599C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E5990: .4byte gSaveBlock2Ptr
-_080E5994: .4byte 0x0000055e
-_080E5998: .4byte _080E599C
- .align 2, 0
-_080E599C:
- .4byte _080E59B8
- .4byte _080E59D0
- .4byte _080E59F0
- .4byte _080E5A00
- .4byte _080E59E0
- .4byte _080E59E8
- .4byte _080E5A00
-_080E59B8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80E5A38
- cmp r4, 0
- bne _080E5A00
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
- b _080E5A00
-_080E59D0:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80E5A38
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- b _080E59F6
-_080E59E0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x2
- b _080E59F6
-_080E59E8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x3
- b _080E59F6
-_080E59F0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x4
-_080E59F6:
- bl VarSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080E5A00:
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E5976
- ldr r0, _080E5A2C @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5A30 @ =0x0000055e
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _080E5A34 @ =0x00000303
- cmp r1, r0
- bne _080E5A20
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
-_080E5A20:
- bl sub_80E7064
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5A2C: .4byte gSaveBlock2Ptr
-_080E5A30: .4byte 0x0000055e
-_080E5A34: .4byte 0x00000303
- thumb_func_end sub_80E5970
-
- thumb_func_start sub_80E5A38
-sub_80E5A38: @ 80E5A38
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080E5A64 @ =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r2, _080E5A68 @ =0x0000055e
- adds r1, r2
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r2, [r3]
- lsls r0, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r1, r2, r3
- adds r1, r0
- movs r3, 0x1
- strh r3, [r1]
- ldr r1, _080E5A6C @ =0x00000564
- adds r2, r1
- adds r2, r0
- strh r3, [r2]
- bx lr
- .align 2, 0
-_080E5A64: .4byte gSaveBlock2Ptr
-_080E5A68: .4byte 0x0000055e
-_080E5A6C: .4byte 0x00000564
- thumb_func_end sub_80E5A38
-
- thumb_func_start sub_80E5A70
-sub_80E5A70: @ 80E5A70
- push {r4-r7,lr}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- add r4, sp, 0x28
- movs r0, 0
- strb r0, [r4]
- bl ValidateEReaderTrainer
- ldr r0, _080E5AA4 @ =gSpecialVar_Result
- ldrh r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- bne _080E5A9E
- ldr r0, _080E5AA8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E5AAC @ =0x000004a2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- beq _080E5AB0
-_080E5A9E:
- movs r0, 0
- b _080E5B02
- .align 2, 0
-_080E5AA4: .4byte gSpecialVar_Result
-_080E5AA8: .4byte gSaveBlock2Ptr
-_080E5AAC: .4byte 0x000004a2
-_080E5AB0:
- movs r6, 0x32
- cmp r5, 0
- beq _080E5AB8
- movs r6, 0x64
-_080E5AB8:
- movs r4, 0
-_080E5ABA:
- ldr r0, _080E5B0C @ =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x2C
- muls r0, r4
- adds r1, r0
- movs r2, 0x9C
- lsls r2, 3
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, r6
- bne _080E5A9E
- ldr r3, _080E5B10 @ =0x000004d4
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrh r1, [r1]
- str r2, [sp]
- add r2, sp, 0x10
- str r2, [sp, 0x4]
- add r2, sp, 0x1C
- str r2, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r2, 0x1
- adds r3, r5, 0
- bl sub_80E6564
- adds r4, 0x1
- cmp r4, 0x2
- ble _080E5ABA
- movs r1, 0
- ldrb r0, [r7]
- cmp r0, 0x3
- bne _080E5B00
- movs r1, 0x1
-_080E5B00:
- adds r0, r1, 0
-_080E5B02:
- add sp, 0x2C
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5B0C: .4byte gSaveBlock2Ptr
-_080E5B10: .4byte 0x000004d4
- thumb_func_end sub_80E5A70
-
- thumb_func_start sub_80E5B14
-sub_80E5B14: @ 80E5B14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r0, 0
- str r0, [sp, 0x14]
- ldr r4, _080E5B58 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, _080E5B5C @ =0x0000055c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- mov r8, r0
- bl sub_80E7188
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- mov r1, r9
- bl sub_80E5A70
- lsls r0, 24
- cmp r0, 0
- beq _080E5B64
- ldr r0, [r4]
- ldr r2, _080E5B60 @ =0x0000056c
- adds r0, r2
- movs r1, 0xC8
- strb r1, [r0]
- b _080E5C0C
- .align 2, 0
-_080E5B58: .4byte gSaveBlock2Ptr
-_080E5B5C: .4byte 0x0000055c
-_080E5B60: .4byte 0x0000056c
-_080E5B64:
- movs r6, 0
- movs r3, 0xA4
- mov r10, r3
- movs r7, 0xAA
- lsls r7, 1
- mov r12, r7
- ldr r0, _080E5BE8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- str r0, [sp, 0x18]
- mov r1, sp
- str r1, [sp, 0x1C]
-_080E5B7A:
- mov r0, r10
- muls r0, r6
- add r0, r12
- movs r4, 0
- movs r5, 0
- movs r1, 0
- adds r2, r6, 0x1
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x18]
- adds r2, r3, r0
-_080E5B8E:
- ldm r2!, {r0}
- orrs r4, r0
- adds r5, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _080E5B8E
- ldr r7, _080E5BE8 @ =gSaveBlock2Ptr
- ldr r2, [r7]
- mov r3, r10
- muls r3, r6
- adds r1, r2, r3
- movs r7, 0xAB
- lsls r7, 1
- adds r0, r1, r7
- ldrh r0, [r0]
- cmp r0, r9
- bne _080E5BD8
- mov r7, r12
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, r8
- bne _080E5BD8
- cmp r4, 0
- beq _080E5BD8
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r2, r1
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r5
- bne _080E5BD8
- ldr r2, [sp, 0x1C]
- stm r2!, {r6}
- str r2, [sp, 0x1C]
- ldr r3, [sp, 0x14]
- adds r3, 0x1
- str r3, [sp, 0x14]
-_080E5BD8:
- ldr r6, [sp, 0x20]
- cmp r6, 0x4
- ble _080E5B7A
- ldr r7, [sp, 0x14]
- cmp r7, 0
- bne _080E5BEC
- movs r0, 0
- b _080E5C0E
- .align 2, 0
-_080E5BE8: .4byte gSaveBlock2Ptr
-_080E5BEC:
- bl Random
- ldr r1, _080E5C20 @ =gSaveBlock2Ptr
- ldr r4, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x14]
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- adds r0, 0x64
- ldr r1, _080E5C24 @ =0x0000056c
- adds r4, r1
- strb r0, [r4]
-_080E5C0C:
- movs r0, 0x1
-_080E5C0E:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5C20: .4byte gSaveBlock2Ptr
-_080E5C24: .4byte 0x0000056c
- thumb_func_end sub_80E5B14
-
- thumb_func_start ChooseNextBattleTowerTrainer
-ChooseNextBattleTowerTrainer: @ 80E5C28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _080E5C6C @ =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, _080E5C70 @ =0x0000055c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- bl sub_80E5B14
- lsls r0, 24
- cmp r0, 0
- beq _080E5C7C
- ldr r0, [r5]
- ldr r4, _080E5C74 @ =0x0000056c
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80E5E5C
- ldr r1, [r5]
- lsls r2, r6, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r0, r1, r3
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1, r0
- ldr r2, _080E5C78 @ =0x00000571
- adds r0, r2
- adds r1, r4
- b _080E5E3E
- .align 2, 0
-_080E5C6C: .4byte gSaveBlock2Ptr
-_080E5C70: .4byte 0x0000055c
-_080E5C74: .4byte 0x0000056c
-_080E5C78: .4byte 0x00000571
-_080E5C7C:
- ldr r2, [r5]
- lsls r0, r6, 1
- ldr r3, _080E5D1C @ =0x00000564
- adds r1, r2, r3
- adds r1, r0
- ldrh r1, [r1]
- adds r6, r0, 0
- cmp r1, 0x7
- bls _080E5C90
- b _080E5DB8
-_080E5C90:
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r2, r1
- adds r0, r6
- ldrh r0, [r0]
- cmp r0, 0x7
- bne _080E5D2C
- adds r7, r6, 0
- mov r8, r5
-_080E5CA2:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r2, r1, 2
- adds r2, r1
- mov r3, r8
- ldr r4, [r3]
- ldr r1, _080E5D1C @ =0x00000564
- adds r0, r4, r1
- adds r0, r7
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x14
- lsrs r2, 7
- adds r2, r0
- lsls r2, 16
- lsrs r5, r2, 16
- movs r3, 0
- movs r0, 0xAC
- lsls r0, 3
- adds r2, r4, r0
- adds r0, r2, r7
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _080E5CFC
- ldr r0, _080E5D20 @ =0x00000572
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5CFC
- adds r0, r2, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
-_080E5CEE:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5CFC
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5CEE
-_080E5CFC:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5D24 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5CA2
- ldr r0, [r4]
- ldr r3, _080E5D28 @ =0x0000056c
- adds r0, r3
- b _080E5E16
- .align 2, 0
-_080E5D1C: .4byte 0x00000564
-_080E5D20: .4byte 0x00000572
-_080E5D24: .4byte gSaveBlock2Ptr
-_080E5D28: .4byte 0x0000056c
-_080E5D2C:
- adds r7, r6, 0
- mov r8, r5
-_080E5D30:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsrs r5, r0, 6
- mov r0, r8
- ldr r4, [r0]
- ldr r1, _080E5DA8 @ =0x00000564
- adds r0, r4, r1
- adds r0, r7
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- movs r0, 0xAC
- lsls r0, 3
- adds r2, r4, r0
- adds r0, r2, r7
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _080E5D88
- ldr r0, _080E5DAC @ =0x00000572
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5D88
- adds r0, r2, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
-_080E5D7A:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5D88
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5D7A
-_080E5D88:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5DB0 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5D30
- ldr r0, [r4]
- ldr r3, _080E5DB4 @ =0x0000056c
- adds r0, r3
- b _080E5E16
- .align 2, 0
-_080E5DA8: .4byte 0x00000564
-_080E5DAC: .4byte 0x00000572
-_080E5DB0: .4byte gSaveBlock2Ptr
-_080E5DB4: .4byte 0x0000056c
-_080E5DB8:
- adds r7, r5, 0
-_080E5DBA:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 1
- asrs r0, 8
- adds r0, 0x46
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r1, [r7]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r1, r2
- adds r0, r6
- ldrh r0, [r0]
- subs r4, r0, 0x1
- cmp r3, r4
- bge _080E5DFC
- ldr r0, _080E5E4C @ =0x00000572
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, r5
- beq _080E5DFC
-_080E5DEE:
- adds r3, 0x1
- cmp r3, r4
- bge _080E5DFC
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _080E5DEE
-_080E5DFC:
- ldr r0, [r7]
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r1
- adds r0, r6
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080E5E50 @ =gSaveBlock2Ptr
- cmp r3, r0
- bne _080E5DBA
- ldr r0, [r4]
- ldr r2, _080E5E54 @ =0x0000056c
- adds r0, r2
-_080E5E16:
- strb r5, [r0]
- ldr r0, [r4]
- ldr r3, _080E5E54 @ =0x0000056c
- adds r0, r3
- ldrb r0, [r0]
- bl sub_80E5E5C
- ldr r1, [r4]
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r1, r2
- adds r2, r0, r6
- ldrh r0, [r2]
- cmp r0, 0x6
- bhi _080E5E42
- adds r0, r1, r0
- ldr r3, _080E5E58 @ =0x00000571
- adds r0, r3
- ldr r2, _080E5E54 @ =0x0000056c
- adds r1, r2
-_080E5E3E:
- ldrb r1, [r1]
- strb r1, [r0]
-_080E5E42:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5E4C: .4byte 0x00000572
-_080E5E50: .4byte gSaveBlock2Ptr
-_080E5E54: .4byte 0x0000056c
-_080E5E58: .4byte 0x00000571
- thumb_func_end ChooseNextBattleTowerTrainer
-
- thumb_func_start sub_80E5E5C
-sub_80E5E5C: @ 80E5E5C
- push {lr}
- ldr r0, _080E5E6C @ =0x00004010
- movs r1, 0x12
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_080E5E6C: .4byte 0x00004010
- thumb_func_end sub_80E5E5C
-
- thumb_func_start SetEReaderTrainerGfxId
-SetEReaderTrainerGfxId: @ 80E5E70
- push {lr}
- movs r0, 0xC8
- bl sub_80E5E5C
- pop {r0}
- bx r0
- thumb_func_end SetEReaderTrainerGfxId
-
- thumb_func_start sub_80E5E7C
-sub_80E5E7C: @ 80E5E7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r1, 0
- mov r8, r1
- mov r10, r0
- movs r5, 0
- ldr r2, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r2]
- mov r4, r10
- ldrb r4, [r4, 0xC]
- str r4, [sp, 0x18]
- mov r9, r5
- movs r7, 0x4
- str r7, [sp, 0x1C]
- movs r1, 0xB0
- lsls r1, 1
- adds r1, r0
- mov r12, r1
-_080E5EA8:
- movs r6, 0
- movs r3, 0
- mov r2, r12
- ldrb r0, [r2]
- ldr r4, [sp, 0x18]
- cmp r0, r4
- bne _080E5EDA
- mov r4, r9
- mov r2, r10
- adds r2, 0xC
-_080E5EBC:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080E5EDA
- ldr r7, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r1, r3, r4
- movs r7, 0xB0
- lsls r7, 1
- adds r0, r7
- adds r0, r1
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080E5EBC
-_080E5EDA:
- cmp r3, 0x4
- bne _080E5F20
- movs r6, 0
- ldr r1, _080E5F08 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r3
- ldr r2, [sp, 0x1C]
- adds r0, r2
- ldrb r0, [r0]
- mov r4, r10
- ldrb r4, [r4, 0x8]
- cmp r0, r4
- bne _080E5F20
- adds r1, r0, 0
- mov r2, r9
- adds r2, 0x4
-_080E5EFE:
- cmp r1, 0xFF
- bne _080E5F0C
- movs r6, 0x7
- b _080E5F20
- .align 2, 0
-_080E5F08: .4byte gSaveBlock2Ptr
-_080E5F0C:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _080E5F20
- ldr r7, _080E5F4C @ =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r1
- beq _080E5EFE
-_080E5F20:
- cmp r6, 0x7
- beq _080E5F36
- movs r0, 0xA4
- add r9, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA4
- str r1, [sp, 0x1C]
- add r12, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _080E5EA8
-_080E5F36:
- cmp r5, 0x4
- bgt _080E5F50
- ldr r2, _080E5F4C @ =gSaveBlock2Ptr
- ldr r0, [r2]
- movs r1, 0xA4
- muls r1, r5
- adds r0, r1
- movs r4, 0xAA
- lsls r4, 1
- adds r0, r4
- b _080E5F90
- .align 2, 0
-_080E5F4C: .4byte gSaveBlock2Ptr
-_080E5F50:
- movs r5, 0
- ldr r7, _080E5F9C @ =gSaveBlock2Ptr
- ldr r0, [r7]
- movs r1, 0xAB
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E5F7C
- adds r3, r7, 0
- adds r2, r1, 0
- movs r1, 0
-_080E5F68:
- adds r1, 0xA4
- adds r5, 0x1
- cmp r5, 0x4
- bgt _080E5FA0
- ldr r0, [r3]
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E5F68
-_080E5F7C:
- cmp r5, 0x4
- bgt _080E5FA0
- ldr r1, _080E5F9C @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r1, 0xA4
- muls r1, r5
- adds r0, r1
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
-_080E5F90:
- mov r1, r10
- movs r2, 0xA4
- bl memcpy
- b _080E6062
- .align 2, 0
-_080E5F9C: .4byte gSaveBlock2Ptr
-_080E5FA0:
- mov r2, sp
- ldr r4, _080E5FF8 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- movs r3, 0xAB
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r7, 0x1
- add r8, r7
- movs r5, 0x1
- add r0, sp, 0xC
- mov r9, r0
- mov r12, r3
-_080E5FC2:
- movs r3, 0
- adds r7, r5, 0x1
- cmp r3, r8
- bge _080E6006
- ldr r1, _080E5FF8 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r2, 0xA4
- adds r1, r5, 0
- muls r1, r2
- adds r0, r1
- mov r1, r12
- adds r4, r0, r1
- mov r6, sp
-_080E5FDC:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _080E5FFC
- movs r3, 0
- movs r4, 0x1
- mov r8, r4
- strh r2, [r6]
- mov r0, r9
- strh r5, [r0]
- b _080E6006
- .align 2, 0
-_080E5FF8: .4byte gSaveBlock2Ptr
-_080E5FFC:
- cmp r1, r0
- bhi _080E6006
- adds r3, 0x1
- cmp r3, r8
- blt _080E5FDC
-_080E6006:
- cmp r3, r8
- bne _080E602C
- mov r1, r8
- lsls r2, r1, 1
- mov r4, sp
- adds r3, r4, r2
- ldr r1, _080E6074 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r4, 0xA4
- adds r1, r5, 0
- muls r1, r4
- adds r0, r1
- add r0, r12
- ldrh r0, [r0]
- strh r0, [r3]
- add r2, r9
- strh r5, [r2]
- movs r0, 0x1
- add r8, r0
-_080E602C:
- adds r5, r7, 0
- cmp r5, 0x4
- ble _080E5FC2
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- adds r5, r0, 0
- ldr r0, _080E6074 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- add r1, sp
- adds r1, 0xC
- ldrh r2, [r1]
- movs r1, 0xA4
- muls r1, r2
- adds r0, r1
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- mov r1, r10
- movs r2, 0xA4
- bl memcpy
-_080E6062:
- 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
-_080E6074: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80E5E7C
-
- thumb_func_start GetBattleTowerTrainerFrontSpriteId
-GetBattleTowerTrainerFrontSpriteId: @ 80E6078
- push {lr}
- ldr r0, _080E6094 @ =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, _080E6098 @ =0x0000056c
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _080E60A4
- ldr r1, _080E609C @ =gFacilityClassToPicIndex
- ldr r2, _080E60A0 @ =0x000004a1
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _080E60D6
- .align 2, 0
-_080E6094: .4byte gSaveBlock2Ptr
-_080E6098: .4byte 0x0000056c
-_080E609C: .4byte gFacilityClassToPicIndex
-_080E60A0: .4byte 0x000004a1
-_080E60A4:
- cmp r0, 0x63
- bls _080E60C4
- ldr r2, _080E60C0 @ =gFacilityClassToPicIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3, r0
- adds r1, 0xB1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _080E60D6
- .align 2, 0
-_080E60C0: .4byte gFacilityClassToPicIndex
-_080E60C4:
- ldr r3, _080E60DC @ =gFacilityClassToPicIndex
- ldr r2, _080E60E0 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
-_080E60D6:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080E60DC: .4byte gFacilityClassToPicIndex
-_080E60E0: .4byte gBattleTowerTrainers
- thumb_func_end GetBattleTowerTrainerFrontSpriteId
-
- thumb_func_start sub_80E60E4
-sub_80E60E4: @ 80E60E4
- push {lr}
- ldr r0, _080E6100 @ =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, _080E6104 @ =0x0000056c
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _080E6110
- ldr r1, _080E6108 @ =gFacilityClassToTrainerClass
- ldr r2, _080E610C @ =0x000004a1
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _080E6144
- .align 2, 0
-_080E6100: .4byte gSaveBlock2Ptr
-_080E6104: .4byte 0x0000056c
-_080E6108: .4byte gFacilityClassToTrainerClass
-_080E610C: .4byte 0x000004a1
-_080E6110:
- cmp r0, 0x63
- bhi _080E6130
- ldr r3, _080E6128 @ =gFacilityClassToTrainerClass
- ldr r2, _080E612C @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _080E6144
- .align 2, 0
-_080E6128: .4byte gFacilityClassToTrainerClass
-_080E612C: .4byte gBattleTowerTrainers
-_080E6130:
- ldr r2, _080E614C @ =gFacilityClassToTrainerClass
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3, r0
- adds r1, 0xB1
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
-_080E6144:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080E614C: .4byte gFacilityClassToTrainerClass
- thumb_func_end sub_80E60E4
-
- thumb_func_start sub_80E6150
-sub_80E6150: @ 80E6150
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080E6178 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, _080E617C @ =0x0000056c
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, 0xC8
- bne _080E6184
- movs r3, 0
- ldr r0, _080E6180 @ =0x000004a4
- adds r2, r1, r0
-_080E6168:
- adds r0, r4, r3
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x6
- ble _080E6168
- b _080E61CE
- .align 2, 0
-_080E6178: .4byte gSaveBlock2Ptr
-_080E617C: .4byte 0x0000056c
-_080E6180: .4byte 0x000004a4
-_080E6184:
- cmp r2, 0x63
- bhi _080E61AC
- movs r3, 0
- adds r5, r0, 0
- ldr r6, _080E61A8 @ =gBattleTowerTrainers + 1
-_080E618E:
- adds r2, r4, r3
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2
- ble _080E618E
- b _080E61CE
- .align 2, 0
-_080E61A8: .4byte gBattleTowerTrainers + 1
-_080E61AC:
- movs r3, 0
- adds r5, r0, 0
- movs r0, 0xAC
- lsls r0, 1
- adds r2, r1, r0
- movs r6, 0xA4
-_080E61B8:
- adds r1, r4, r3
- ldrb r0, [r5]
- subs r0, 0x64
- muls r0, r6
- adds r0, r3, r0
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x6
- ble _080E61B8
-_080E61CE:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E6150
-
- thumb_func_start sub_80E61DC
-sub_80E61DC: @ 80E61DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0x3C
- str r1, [sp, 0x1C]
- add r4, sp, 0xC
- movs r0, 0xFF
- strb r0, [r4]
- bl ZeroEnemyPartyMons
- ldr r1, _080E6210 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, _080E6214 @ =0x0000056c
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x13
- bhi _080E6218
- movs r3, 0x6
- str r3, [sp, 0x14]
- b _080E62F4
- .align 2, 0
-_080E6210: .4byte gSaveBlock2Ptr
-_080E6214: .4byte 0x0000056c
-_080E6218:
- cmp r0, 0x1D
- bhi _080E6226
- movs r0, 0x9
- str r0, [sp, 0x14]
- movs r1, 0x1E
- str r1, [sp, 0x18]
- b _080E62F4
-_080E6226:
- cmp r0, 0x27
- bhi _080E6234
- movs r2, 0xC
- str r2, [sp, 0x14]
- movs r3, 0x3C
- str r3, [sp, 0x18]
- b _080E62F4
-_080E6234:
- cmp r0, 0x31
- bhi _080E6242
- movs r0, 0xF
- str r0, [sp, 0x14]
- movs r1, 0x5A
- str r1, [sp, 0x18]
- b _080E62F4
-_080E6242:
- cmp r0, 0x3B
- bhi _080E6250
- movs r2, 0x12
- str r2, [sp, 0x14]
- movs r3, 0x78
- str r3, [sp, 0x18]
- b _080E62F4
-_080E6250:
- cmp r0, 0x45
- bhi _080E625E
- movs r0, 0x15
- str r0, [sp, 0x14]
- movs r1, 0x96
- str r1, [sp, 0x18]
- b _080E62F4
-_080E625E:
- cmp r0, 0x4F
- bhi _080E626C
- movs r2, 0x1F
- str r2, [sp, 0x14]
- movs r3, 0xB4
- str r3, [sp, 0x18]
- b _080E62F4
-_080E626C:
- cmp r0, 0x63
- bhi _080E627E
- movs r0, 0x1F
- str r0, [sp, 0x14]
- movs r1, 0xC8
- str r1, [sp, 0x18]
- movs r2, 0x64
- str r2, [sp, 0x1C]
- b _080E62F4
-_080E627E:
- cmp r0, 0xC8
- bne _080E62B0
- movs r6, 0
- adds r4, r1, 0
-_080E6286:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080E62A8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- adds r2, r6, 0
- muls r2, r1
- ldr r3, _080E62AC @ =0x000004d4
- adds r2, r3
- ldr r1, [r4]
- adds r1, r2
- bl CreateBattleTowerMon
- adds r6, 0x1
- cmp r6, 0x2
- ble _080E6286
- b _080E64A6
- .align 2, 0
-_080E62A8: .4byte gEnemyParty
-_080E62AC: .4byte 0x000004d4
-_080E62B0:
- movs r6, 0
-_080E62B2:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080E62E4 @ =gEnemyParty
- adds r0, r1
- ldr r1, _080E62E8 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, _080E62EC @ =0x0000056c
- adds r2, r1, r3
- ldrb r3, [r2]
- movs r2, 0xA4
- muls r2, r3
- ldr r3, _080E62F0 @ =0xffffc144
- adds r2, r3
- adds r1, r2
- movs r2, 0x2C
- muls r2, r6
- adds r2, 0x1C
- adds r1, r2
- bl CreateBattleTowerMon
- adds r6, 0x1
- cmp r6, 0x2
- ble _080E62B2
- b _080E64A6
- .align 2, 0
-_080E62E4: .4byte gEnemyParty
-_080E62E8: .4byte gSaveBlock2Ptr
-_080E62EC: .4byte 0x0000056c
-_080E62F0: .4byte 0xffffc144
-_080E62F4:
- ldr r2, _080E6314 @ =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r1, _080E6318 @ =0x0000055c
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _080E6320
- ldr r2, _080E631C @ =gBattleTowerLevel100Mons
- mov r10, r2
- movs r3, 0x64
- str r3, [sp, 0x10]
- b _080E6328
- .align 2, 0
-_080E6314: .4byte gSaveBlock2Ptr
-_080E6318: .4byte 0x0000055c
-_080E631C: .4byte gBattleTowerLevel100Mons
-_080E6320:
- ldr r0, _080E6378 @ =gBattleTowerLevel50Mons
- mov r10, r0
- movs r2, 0x32
- str r2, [sp, 0x10]
-_080E6328:
- ldr r2, _080E637C @ =gBattleTowerTrainers
- ldr r0, [r1]
- ldr r3, _080E6380 @ =0x0000056c
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- str r0, [sp, 0x20]
- movs r6, 0
-_080E6340:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- ldr r2, [sp, 0x1C]
- adds r0, r1, 0
- muls r0, r2
- asrs r0, 8
- ldr r3, [sp, 0x18]
- adds r7, r0, r3
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _080E636A
- lsls r0, r7, 4
- add r0, r10
- ldrb r0, [r0, 0x3]
- ldr r1, [sp, 0x20]
- ands r0, r1
- cmp r0, r1
- beq _080E636A
- b _080E64A0
-_080E636A:
- movs r5, 0
- lsls r0, r7, 4
- mov r2, r10
- adds r3, r0, r2
- movs r4, 0
- b _080E6388
- .align 2, 0
-_080E6378: .4byte gBattleTowerLevel50Mons
-_080E637C: .4byte gBattleTowerTrainers
-_080E6380: .4byte 0x0000056c
-_080E6384:
- adds r4, 0x64
- adds r5, 0x1
-_080E6388:
- cmp r5, r6
- bge _080E63A2
- ldr r1, _080E64B8 @ =gEnemyParty
- adds r0, r4, r1
- movs r1, 0xB
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- ldrh r2, [r3]
- cmp r0, r2
- bne _080E6384
-_080E63A2:
- cmp r5, r6
- bne _080E64A0
- movs r5, 0
- cmp r5, r6
- bge _080E63F0
- ldr r3, _080E64BC @ =sBattleTowerHeldItems
- mov r9, r3
- lsls r0, r7, 4
- add r0, r10
- mov r8, r0
- movs r3, 0
-_080E63B8:
- ldr r0, _080E64B8 @ =gEnemyParty
- adds r4, r3, r0
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- cmp r0, 0
- beq _080E63E8
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldrb r1, [r2, 0x2]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x24]
- ldrh r1, [r1]
- cmp r0, r1
- beq _080E63F0
-_080E63E8:
- adds r3, 0x64
- adds r5, 0x1
- cmp r5, r6
- blt _080E63B8
-_080E63F0:
- cmp r5, r6
- bne _080E64A0
- movs r5, 0
- cmp r5, r6
- bge _080E6412
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, r7
- beq _080E6412
- add r1, sp, 0x4
-_080E6404:
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, r6
- bge _080E6412
- ldrh r0, [r1]
- cmp r0, r7
- bne _080E6404
-_080E6412:
- cmp r5, r6
- bne _080E64A0
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- strh r7, [r0]
- movs r3, 0x64
- adds r0, r6, 0
- muls r0, r3
- ldr r1, _080E64B8 @ =gEnemyParty
- adds r0, r1
- lsls r4, r7, 4
- mov r3, r10
- adds r2, r4, r3
- ldrh r1, [r2]
- ldrb r2, [r2, 0xC]
- str r2, [sp]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl CreateMonWithEVSpread
- movs r5, 0
- adds r0, r6, 0x1
- mov r9, r0
- mov r8, r4
- movs r0, 0x64
- adds r7, r6, 0
- muls r7, r0
- mov r0, r10
- adds r0, 0x4
- adds r4, r0
- ldr r3, _080E64B8 @ =gEnemyParty
-_080E6452:
- ldrh r1, [r4]
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r7, r3
- str r3, [sp, 0x24]
- bl SetMonMoveSlot
- ldrh r0, [r4]
- ldr r3, [sp, 0x24]
- cmp r0, 0xDA
- bne _080E646E
- movs r0, 0
- mov r1, sp
- strb r0, [r1, 0xC]
-_080E646E:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080E6452
- movs r2, 0x64
- adds r4, r6, 0
- muls r4, r2
- ldr r3, _080E64B8 @ =gEnemyParty
- adds r4, r3
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- mov r0, r8
- add r0, r10
- ldrb r2, [r0, 0x2]
- lsls r2, 1
- ldr r0, _080E64BC @ =sBattleTowerHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r6, r9
-_080E64A0:
- cmp r6, 0x3
- beq _080E64A6
- b _080E6340
-_080E64A6:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E64B8: .4byte gEnemyParty
-_080E64BC: .4byte sBattleTowerHeldItems
- thumb_func_end sub_80E61DC
-
- thumb_func_start sub_80E64C0
-sub_80E64C0: @ 80E64C0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080E6554
- cmp r4, 0
- bne _080E64EC
- ldr r0, _080E6514 @ =gStringVar1
- ldr r1, _080E6518 @ =gUnknown_83FE859
- bl StringAppend
-_080E64EC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, _080E6514 @ =gStringVar1
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080E651C @ =gSpeciesNames
- adds r1, r0
- adds r0, r6, 0
- bl StringAppend
- cmp r4, 0x5
- beq _080E6538
- cmp r4, 0x5
- bgt _080E6520
- cmp r4, 0x2
- beq _080E652A
- b _080E654C
- .align 2, 0
-_080E6514: .4byte gStringVar1
-_080E6518: .4byte gUnknown_83FE859
-_080E651C: .4byte gSpeciesNames
-_080E6520:
- cmp r4, 0x8
- beq _080E6538
- cmp r4, 0xB
- beq _080E6538
- b _080E654C
-_080E652A:
- ldr r1, _080E6534 @ =gUnknown_83FE85E
- adds r0, r6, 0
- bl StringAppend
- b _080E6554
- .align 2, 0
-_080E6534: .4byte gUnknown_83FE85E
-_080E6538:
- ldr r0, _080E6544 @ =gStringVar1
- ldr r1, _080E6548 @ =gUnknown_83FE85C
- bl StringAppend
- b _080E6554
- .align 2, 0
-_080E6544: .4byte gStringVar1
-_080E6548: .4byte gUnknown_83FE85C
-_080E654C:
- ldr r0, _080E655C @ =gStringVar1
- ldr r1, _080E6560 @ =gUnknown_83FE859
- bl StringAppend
-_080E6554:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080E655C: .4byte gStringVar1
-_080E6560: .4byte gUnknown_83FE859
- thumb_func_end sub_80E64C0
-
- thumb_func_start sub_80E6564
-sub_80E6564: @ 80E6564
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- mov r10, r4
- ldr r7, [sp, 0x2C]
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r2, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- beq _080E6632
- cmp r4, 0
- beq _080E6632
- ldr r0, _080E6640 @ =gBattleTowerBannedSpecies
- ldrh r1, [r0]
- ldr r5, _080E6644 @ =0x0000ffff
- adds r3, r0, 0
- cmp r1, r5
- beq _080E65C8
- cmp r1, r4
- beq _080E65BC
- adds r1, r3, 0
-_080E65AE:
- adds r1, 0x2
- adds r2, 0x1
- ldrh r0, [r1]
- cmp r0, r5
- beq _080E65C8
- cmp r0, r4
- bne _080E65AE
-_080E65BC:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r1, [r0]
- ldr r0, _080E6644 @ =0x0000ffff
- cmp r1, r0
- bne _080E6632
-_080E65C8:
- mov r0, r12
- cmp r0, 0
- bne _080E65D4
- mov r1, r8
- cmp r1, 0x32
- bhi _080E6632
-_080E65D4:
- movs r2, 0
- ldrb r3, [r7]
- cmp r2, r3
- bge _080E65F4
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, r4
- beq _080E65F4
- adds r5, r3, 0
-_080E65E6:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _080E65F4
- ldrh r0, [r1]
- cmp r0, r4
- bne _080E65E6
-_080E65F4:
- cmp r2, r3
- bne _080E6632
- cmp r6, 0
- beq _080E661E
- movs r2, 0
- cmp r2, r3
- bge _080E661A
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, r6
- beq _080E661A
- adds r5, r3, 0
-_080E660C:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _080E661A
- ldrh r0, [r1]
- cmp r0, r6
- bne _080E660C
-_080E661A:
- cmp r2, r3
- bne _080E6632
-_080E661E:
- lsls r0, r3, 1
- add r0, r9
- strh r4, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- add r0, r10
- strh r6, [r0]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_080E6632:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6640: .4byte gBattleTowerBannedSpecies
-_080E6644: .4byte 0x0000ffff
- thumb_func_end sub_80E6564
-
- thumb_func_start CheckPartyBattleTowerBanlist
-CheckPartyBattleTowerBanlist: @ 80E6648
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- add r1, sp, 0x28
- movs r0, 0
- strb r0, [r1]
- movs r7, 0
- mov r9, r1
- add r0, sp, 0x1C
- mov r10, r0
-_080E6662:
- movs r0, 0x64
- adds r5, r7, 0
- muls r5, r0
- ldr r0, _080E6724 @ =gPlayerParty
- adds r5, r0
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- mov r8, r0
- mov r1, r8
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, _080E6728 @ =gSpecialVar_Result
- ldrb r3, [r5]
- str r4, [sp]
- add r0, sp, 0x10
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80E6564
- adds r7, 0x1
- cmp r7, 0x5
- ble _080E6662
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080E6750
- ldr r1, _080E672C @ =gStringVar1
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _080E6730 @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
- ldr r2, _080E6734 @ =gBattleTowerBannedSpecies
- ldrh r0, [r2]
- ldr r1, _080E6738 @ =0x0000ffff
- cmp r0, r1
- beq _080E6704
- mov r5, r9
- adds r6, r1, 0
- adds r4, r2, 0
-_080E66F2:
- ldrh r0, [r4]
- ldrb r1, [r5]
- bl sub_80E64C0
- strb r0, [r5]
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r6
- bne _080E66F2
-_080E6704:
- ldr r4, _080E672C @ =gStringVar1
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r7, r0, 16
- subs r0, r7, 0x1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080E6740
- ldr r1, _080E673C @ =gUnknown_83FE860
- b _080E6742
- .align 2, 0
-_080E6724: .4byte gPlayerParty
-_080E6728: .4byte gSpecialVar_Result
-_080E672C: .4byte gStringVar1
-_080E6730: .4byte gSpecialVar_0x8004
-_080E6734: .4byte gBattleTowerBannedSpecies
-_080E6738: .4byte 0x0000ffff
-_080E673C: .4byte gUnknown_83FE860
-_080E6740:
- ldr r1, _080E674C @ =gUnknown_83FE864
-_080E6742:
- adds r0, r4, 0
- bl StringAppend
- b _080E6770
- .align 2, 0
-_080E674C: .4byte gUnknown_83FE864
-_080E6750:
- ldr r1, _080E6780 @ =gSpecialVar_0x8004
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080E6784 @ =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r0, [r5]
- ldr r1, _080E6788 @ =0x0000055c
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_080E6770:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6780: .4byte gSpecialVar_0x8004
-_080E6784: .4byte gSaveBlock2Ptr
-_080E6788: .4byte 0x0000055c
- thumb_func_end CheckPartyBattleTowerBanlist
-
- thumb_func_start sub_80E678C
-sub_80E678C: @ 80E678C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x12
- bl EC_DoesEasyChatStringFitOnLine
- lsls r0, 24
- cmp r0, 0
- beq _080E67E4
- ldr r5, _080E67E0 @ =gStringVar4
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertEasyChatWordsToString
- ldrb r0, [r5]
- movs r1, 0x1
- cmp r0, 0xFE
- beq _080E67C2
- adds r2, r5, 0
-_080E67B8:
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r1, 0x1
- cmp r0, 0xFE
- bne _080E67B8
-_080E67C2:
- ldr r2, _080E67E0 @ =gStringVar4
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r2, 0
- cmp r0, 0xFE
- beq _080E67D8
-_080E67CE:
- adds r1, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFE
- bne _080E67CE
-_080E67D8:
- adds r1, r3
- movs r0, 0xFA
- strb r0, [r1]
- b _080E67F0
- .align 2, 0
-_080E67E0: .4byte gStringVar4
-_080E67E4:
- ldr r0, _080E67F8 @ =gStringVar4
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
-_080E67F0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E67F8: .4byte gStringVar4
- thumb_func_end sub_80E678C
-
- thumb_func_start PrintBattleTowerTrainerGreeting
-PrintBattleTowerTrainerGreeting: @ 80E67FC
- push {lr}
- ldr r0, _080E6818 @ =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, _080E681C @ =0x0000056c
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0xC8
- bne _080E6820
- movs r1, 0x96
- lsls r1, 3
- adds r0, r2, r1
- bl sub_80E678C
- b _080E684C
- .align 2, 0
-_080E6818: .4byte gSaveBlock2Ptr
-_080E681C: .4byte 0x0000056c
-_080E6820:
- cmp r1, 0x63
- bhi _080E683C
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6838 @ =gBattleTowerTrainers + 6
- adds r0, r1
- bl sub_80E678C
- b _080E684C
- .align 2, 0
-_080E6838: .4byte gBattleTowerTrainers + 6
-_080E683C:
- ldrb r1, [r0]
- movs r0, 0xA4
- muls r0, r1
- adds r0, r2
- ldr r1, _080E6850 @ =0xffffc154
- adds r0, r1
- bl sub_80E678C
-_080E684C:
- pop {r0}
- bx r0
- .align 2, 0
-_080E6850: .4byte 0xffffc154
- thumb_func_end PrintBattleTowerTrainerGreeting
-
- thumb_func_start sub_80E6854
-sub_80E6854: @ 80E6854
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _080E686C @ =gUnknown_203AAB8
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080E6870
- cmp r0, 0x1
- ble _080E68B0
- cmp r0, 0x2
- beq _080E68AC
- b _080E68B0
- .align 2, 0
-_080E686C: .4byte gUnknown_203AAB8
-_080E6870:
- movs r5, 0
- ldr r6, _080E68A4 @ =gSaveBlock1Ptr
-_080E6874:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- adds r1, r4, 0
- adds r1, 0x38
- ldr r0, [r6]
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, _080E68A8 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _080E6874
- b _080E68B0
- .align 2, 0
-_080E68A4: .4byte gSaveBlock1Ptr
-_080E68A8: .4byte gPlayerParty
-_080E68AC:
- bl sub_80E7550
-_080E68B0:
- ldr r0, _080E68C0 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E68C0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_80E6854
-
- thumb_func_start sub_80E68C4
-sub_80E68C4: @ 80E68C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl BT_IsDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E68EC
- ldr r0, _080E68F4 @ =gMain
- ldr r1, _080E68F8 @ =sub_80E6854
- str r1, [r0, 0x8]
- bl CleanupOverworldWindowsAndTilemaps
- ldr r0, _080E68FC @ =CB2_InitBattle
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080E68EC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E68F4: .4byte gMain
-_080E68F8: .4byte sub_80E6854
-_080E68FC: .4byte CB2_InitBattle
- thumb_func_end sub_80E68C4
-
- thumb_func_start StartSpecialBattle
-StartSpecialBattle: @ 80E6900
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _080E691C @ =gUnknown_203AAB8
- ldr r1, _080E6920 @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- strh r1, [r0]
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _080E6944
- cmp r2, 0x1
- bgt _080E6924
- cmp r2, 0
- beq _080E692A
- b _080E69E6
- .align 2, 0
-_080E691C: .4byte gUnknown_203AAB8
-_080E6920: .4byte gSpecialVar_0x8004
-_080E6924:
- cmp r2, 0x2
- beq _080E6998
- b _080E69E6
-_080E692A:
- ldr r1, _080E693C @ =gBattleTypeFlags
- movs r0, 0x84
- lsls r0, 1
- str r0, [r1]
- ldr r0, _080E6940 @ =gTrainerBattleOpponent_A
- strh r2, [r0]
- bl sub_80E61DC
- b _080E6970
- .align 2, 0
-_080E693C: .4byte gBattleTypeFlags
-_080E6940: .4byte gTrainerBattleOpponent_A
-_080E6944:
- movs r5, 0
- ldr r6, _080E698C @ =gSaveBlock1Ptr
-_080E6948:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080E6990 @ =gPlayerParty
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r4, 0x38
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _080E6948
-_080E6970:
- ldr r0, _080E6994 @ =sub_80E68C4
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BT_StartOnField
- b _080E69E6
- .align 2, 0
-_080E698C: .4byte gSaveBlock1Ptr
-_080E6990: .4byte gPlayerParty
-_080E6994: .4byte sub_80E68C4
-_080E6998:
- bl ZeroEnemyPartyMons
- movs r5, 0
- ldr r4, _080E69F0 @ =gSaveBlock2Ptr
-_080E69A0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080E69F4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- adds r2, r5, 0
- muls r2, r1
- ldr r1, _080E69F8 @ =0x000004d4
- adds r2, r1
- ldr r1, [r4]
- adds r1, r2
- bl CreateBattleTowerMon
- adds r5, 0x1
- cmp r5, 0x2
- ble _080E69A0
- ldr r1, _080E69FC @ =gBattleTypeFlags
- ldr r0, _080E6A00 @ =0x00000808
- str r0, [r1]
- ldr r1, _080E6A04 @ =gTrainerBattleOpponent_A
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080E6A08 @ =sub_80E68C4
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BT_StartOnField
-_080E69E6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E69F0: .4byte gSaveBlock2Ptr
-_080E69F4: .4byte gEnemyParty
-_080E69F8: .4byte 0x000004d4
-_080E69FC: .4byte gBattleTypeFlags
-_080E6A00: .4byte 0x00000808
-_080E6A04: .4byte gTrainerBattleOpponent_A
-_080E6A08: .4byte sub_80E68C4
- thumb_func_end StartSpecialBattle
-
- thumb_func_start SetBattleTowerProperty
-SetBattleTowerProperty: @ 80E6A0C
- push {r4-r6,lr}
- ldr r1, _080E6A34 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, _080E6A38 @ =0x0000055c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r5, r0, 31
- ldr r0, _080E6A3C @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r6, r1, 0
- cmp r0, 0xE
- bls _080E6A28
- b _080E6C80
-_080E6A28:
- lsls r0, 2
- ldr r1, _080E6A40 @ =_080E6A44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6A34: .4byte gSaveBlock2Ptr
-_080E6A38: .4byte 0x0000055c
-_080E6A3C: .4byte gSpecialVar_0x8004
-_080E6A40: .4byte _080E6A44
- .align 2, 0
-_080E6A44:
- .4byte _080E6A80
- .4byte _080E6AAC
- .4byte _080E6AD0
- .4byte _080E6AE4
- .4byte _080E6AFC
- .4byte _080E6B14
- .4byte _080E6B3C
- .4byte _080E6BA4
- .4byte _080E6BD8
- .4byte _080E6C80
- .4byte _080E6C00
- .4byte _080E6C14
- .4byte _080E6C30
- .4byte _080E6C4C
- .4byte _080E6C6C
-_080E6A80:
- ldr r0, _080E6AA0 @ =gBattleStruct
- ldr r1, [r0]
- adds r1, 0xDA
- ldr r0, [r6]
- ldr r2, _080E6AA4 @ =0x0000055e
- adds r0, r2
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- adds r0, r5
- ldr r1, _080E6AA8 @ =gSpecialVar_0x8005
- ldrh r1, [r1]
- strb r1, [r0]
- b _080E6C80
- .align 2, 0
-_080E6AA0: .4byte gBattleStruct
-_080E6AA4: .4byte 0x0000055e
-_080E6AA8: .4byte gSpecialVar_0x8005
-_080E6AAC:
- ldr r2, [r6]
- ldr r0, _080E6AC8 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r3, _080E6ACC @ =0x0000055c
- adds r2, r3
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080E6C80
- .align 2, 0
-_080E6AC8: .4byte gSpecialVar_0x8005
-_080E6ACC: .4byte 0x0000055c
-_080E6AD0:
- ldr r0, [r6]
- lsls r1, r5, 1
- movs r2, 0xAC
- lsls r2, 3
- adds r0, r2
- adds r0, r1
- ldr r1, _080E6AE0 @ =gSpecialVar_0x8005
- b _080E6BC6
- .align 2, 0
-_080E6AE0: .4byte gSpecialVar_0x8005
-_080E6AE4:
- ldr r0, [r6]
- lsls r1, r5, 1
- ldr r3, _080E6AF4 @ =0x00000564
- adds r0, r3
- adds r0, r1
- ldr r1, _080E6AF8 @ =gSpecialVar_0x8005
- b _080E6BC6
- .align 2, 0
-_080E6AF4: .4byte 0x00000564
-_080E6AF8: .4byte gSpecialVar_0x8005
-_080E6AFC:
- ldr r0, [r6]
- ldr r1, _080E6B0C @ =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, _080E6B10 @ =0x0000056c
- adds r0, r2
- strb r1, [r0]
- b _080E6C80
- .align 2, 0
-_080E6B0C: .4byte gSpecialVar_0x8005
-_080E6B10: .4byte 0x0000056c
-_080E6B14:
- movs r2, 0
- ldr r5, _080E6B30 @ =gSaveBlock2Ptr
- ldr r4, _080E6B34 @ =0x0000056d
- ldr r3, _080E6B38 @ =gUnknown_203B0D4
-_080E6B1C:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _080E6B1C
- b _080E6C80
- .align 2, 0
-_080E6B30: .4byte gSaveBlock2Ptr
-_080E6B34: .4byte 0x0000056d
-_080E6B38: .4byte gUnknown_203B0D4
-_080E6B3C:
- ldr r1, [r6]
- ldr r3, _080E6B94 @ =0x0000056c
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0xC8
- bne _080E6B52
- movs r2, 0x94
- lsls r2, 3
- adds r0, r1, r2
- bl sub_80E7524
-_080E6B52:
- ldr r0, [r6]
- movs r3, 0xAF
- lsls r3, 3
- adds r2, r0, r3
- ldrh r1, [r2]
- ldr r0, _080E6B98 @ =0x0000270e
- cmp r1, r0
- bhi _080E6B66
- adds r0, r1, 0x1
- strh r0, [r2]
-_080E6B66:
- ldr r1, [r6]
- lsls r5, 1
- movs r4, 0xAC
- lsls r4, 3
- adds r1, r4
- adds r1, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_80E6E48
- ldr r1, _080E6B9C @ =gSpecialVar_Result
- ldr r0, [r6]
- adds r0, r4
- adds r0, r5
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _080E6BA0 @ =gStringVar1
- adds r0, 0xA1
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- b _080E6C80
- .align 2, 0
-_080E6B94: .4byte 0x0000056c
-_080E6B98: .4byte 0x0000270e
-_080E6B9C: .4byte gSpecialVar_Result
-_080E6BA0: .4byte gStringVar1
-_080E6BA4:
- ldr r0, [r6]
- lsls r5, 1
- ldr r4, _080E6BCC @ =0x00000564
- adds r0, r4
- adds r2, r0, r5
- ldrh r1, [r2]
- ldr r0, _080E6BD0 @ =0x00000595
- cmp r1, r0
- bhi _080E6BBA
- adds r0, r1, 0x1
- strh r0, [r2]
-_080E6BBA:
- bl sub_80E6E48
- ldr r0, _080E6BD4 @ =gSpecialVar_Result
- ldr r1, [r6]
- adds r1, r4
- adds r1, r5
-_080E6BC6:
- ldrh r1, [r1]
- strh r1, [r0]
- b _080E6C80
- .align 2, 0
-_080E6BCC: .4byte 0x00000564
-_080E6BD0: .4byte 0x00000595
-_080E6BD4: .4byte gSpecialVar_Result
-_080E6BD8:
- ldr r3, [r6]
- ldr r0, _080E6BF8 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _080E6BFC @ =0x0000055c
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080E6C80
- .align 2, 0
-_080E6BF8: .4byte gSpecialVar_0x8005
-_080E6BFC: .4byte 0x0000055c
-_080E6C00:
- ldr r0, [r6]
- ldr r2, _080E6C10 @ =0x0000057a
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _080E6C80
- .align 2, 0
-_080E6C10: .4byte 0x0000057a
-_080E6C14:
- ldr r0, [r6]
- ldr r3, _080E6C2C @ =0x0000055e
- adds r0, r3
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080E6C80
- adds r0, r5, 0
- bl sub_80E5A38
- b _080E6C80
- .align 2, 0
-_080E6C2C: .4byte 0x0000055e
-_080E6C30:
- ldr r1, [r6]
- ldr r0, _080E6C44 @ =0x0000055e
- adds r1, r0
- adds r1, r5
- ldr r0, _080E6C48 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xDA
- ldrb r0, [r0]
- b _080E6C7E
- .align 2, 0
-_080E6C44: .4byte 0x0000055e
-_080E6C48: .4byte gBattleStruct
-_080E6C4C:
- adds r0, r5, 0
- bl sub_80E7188
- ldr r1, _080E6C64 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- lsls r2, r5, 1
- ldr r3, _080E6C68 @ =0x0000057c
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- b _080E6C80
- .align 2, 0
-_080E6C64: .4byte gSaveBlock2Ptr
-_080E6C68: .4byte 0x0000057c
-_080E6C6C:
- ldr r1, [r6]
- ldr r2, _080E6C88 @ =0x0000055c
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r3, 0xB0
- lsls r3, 3
- adds r1, r3
-_080E6C7E:
- strb r0, [r1]
-_080E6C80:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6C88: .4byte 0x0000055c
- thumb_func_end SetBattleTowerProperty
-
- thumb_func_start BattleTowerUtil
-BattleTowerUtil: @ 80E6C8C
- push {r4,lr}
- ldr r1, _080E6CB4 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, _080E6CB8 @ =0x0000055c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r4, r0, 31
- ldr r0, _080E6CBC @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xE
- bls _080E6CA8
- b _080E6E08
-_080E6CA8:
- lsls r0, 2
- ldr r1, _080E6CC0 @ =_080E6CC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6CB4: .4byte gSaveBlock2Ptr
-_080E6CB8: .4byte 0x0000055c
-_080E6CBC: .4byte gSpecialVar_0x8004
-_080E6CC0: .4byte _080E6CC4
- .align 2, 0
-_080E6CC4:
- .4byte _080E6D00
- .4byte _080E6D14
- .4byte _080E6D2C
- .4byte _080E6D3C
- .4byte _080E6D58
- .4byte _080E6E08
- .4byte _080E6E08
- .4byte _080E6E08
- .4byte _080E6D70
- .4byte _080E6D8C
- .4byte _080E6D9C
- .4byte _080E6DB0
- .4byte _080E6DB8
- .4byte _080E6DD4
- .4byte _080E6DF4
-_080E6D00:
- ldr r0, _080E6D0C @ =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, _080E6D10 @ =0x0000055e
- adds r1, r3
- adds r1, r4
- b _080E6D60
- .align 2, 0
-_080E6D0C: .4byte gSpecialVar_Result
-_080E6D10: .4byte 0x0000055e
-_080E6D14:
- ldr r0, _080E6D24 @ =gSpecialVar_Result
- ldr r1, [r3]
- ldr r2, _080E6D28 @ =0x0000055c
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 31
- b _080E6D7C
- .align 2, 0
-_080E6D24: .4byte gSpecialVar_Result
-_080E6D28: .4byte 0x0000055c
-_080E6D2C:
- ldr r2, _080E6D38 @ =gSpecialVar_Result
- ldr r0, [r3]
- lsls r1, r4, 1
- movs r3, 0xAC
- lsls r3, 3
- b _080E6D44
- .align 2, 0
-_080E6D38: .4byte gSpecialVar_Result
-_080E6D3C:
- ldr r2, _080E6D50 @ =gSpecialVar_Result
- ldr r0, [r3]
- lsls r1, r4, 1
- ldr r3, _080E6D54 @ =0x00000564
-_080E6D44:
- adds r0, r3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- b _080E6E08
- .align 2, 0
-_080E6D50: .4byte gSpecialVar_Result
-_080E6D54: .4byte 0x00000564
-_080E6D58:
- ldr r0, _080E6D68 @ =gSpecialVar_Result
- ldr r1, [r3]
- ldr r2, _080E6D6C @ =0x0000056c
- adds r1, r2
-_080E6D60:
- ldrb r1, [r1]
- strh r1, [r0]
- b _080E6E08
- .align 2, 0
-_080E6D68: .4byte gSpecialVar_Result
-_080E6D6C: .4byte 0x0000056c
-_080E6D70:
- ldr r0, _080E6D84 @ =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, _080E6D88 @ =0x0000055c
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 30
-_080E6D7C:
- lsrs r1, 31
- strh r1, [r0]
- b _080E6E08
- .align 2, 0
-_080E6D84: .4byte gSpecialVar_Result
-_080E6D88: .4byte 0x0000055c
-_080E6D8C:
- adds r0, r4, 0
- bl sub_80E7188
- ldr r1, _080E6D98 @ =gSpecialVar_Result
- strh r0, [r1]
- b _080E6E08
- .align 2, 0
-_080E6D98: .4byte gSpecialVar_Result
-_080E6D9C:
- ldr r0, [r3]
- ldr r1, _080E6DAC @ =0x0000057a
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _080E6E08
- .align 2, 0
-_080E6DAC: .4byte 0x0000057a
-_080E6DB0:
- adds r0, r4, 0
- bl sub_80E5A38
- b _080E6E08
-_080E6DB8:
- ldr r1, [r3]
- ldr r2, _080E6DCC @ =0x0000055e
- adds r1, r2
- adds r1, r4
- ldr r0, _080E6DD0 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xDA
- ldrb r0, [r0]
- b _080E6E06
- .align 2, 0
-_080E6DCC: .4byte 0x0000055e
-_080E6DD0: .4byte gBattleStruct
-_080E6DD4:
- adds r0, r4, 0
- bl sub_80E7188
- ldr r1, _080E6DEC @ =gSaveBlock2Ptr
- ldr r1, [r1]
- lsls r2, r4, 1
- ldr r3, _080E6DF0 @ =0x0000057c
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- b _080E6E08
- .align 2, 0
-_080E6DEC: .4byte gSaveBlock2Ptr
-_080E6DF0: .4byte 0x0000057c
-_080E6DF4:
- ldr r1, [r3]
- ldr r2, _080E6E10 @ =0x0000055c
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r3, 0xB0
- lsls r3, 3
- adds r1, r3
-_080E6E06:
- strb r0, [r1]
-_080E6E08:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6E10: .4byte 0x0000055c
- thumb_func_end BattleTowerUtil
-
- thumb_func_start SetBattleTowerParty
-SetBattleTowerParty: @ 80E6E14
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _080E6E3C @ =gUnknown_203B0D4
- ldr r4, _080E6E40 @ =gSaveBlock2Ptr
- ldr r3, _080E6E44 @ =0x0000056d
-_080E6E1E:
- adds r0, r2, r5
- ldr r1, [r4]
- adds r1, r3
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _080E6E1E
- bl ReducePlayerPartyToThree
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6E3C: .4byte gUnknown_203B0D4
-_080E6E40: .4byte gSaveBlock2Ptr
-_080E6E44: .4byte 0x0000056d
- thumb_func_end SetBattleTowerParty
-
- thumb_func_start sub_80E6E48
-sub_80E6E48: @ 80E6E48
- push {r4-r6,lr}
- ldr r6, _080E6E98 @ =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, _080E6E9C @ =0x0000055c
- adds r0, r1
- ldrb r4, [r0]
- lsls r4, 31
- lsrs r4, 31
- adds r0, r4, 0
- bl sub_80E7188
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r6]
- lsls r4, 1
- movs r2, 0xAD
- lsls r2, 3
- adds r0, r2
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r5
- bcs _080E6E76
- strh r5, [r1]
-_080E6E76:
- ldr r0, [r6]
- adds r2, r0, r2
- ldr r3, _080E6EA0 @ =0x0000056a
- adds r1, r0, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bls _080E6EA8
- adds r5, r0, 0
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _080E6EA4 @ =0x0000270f
- cmp r5, r1
- bhi _080E6EB8
- b _080E6ECC
- .align 2, 0
-_080E6E98: .4byte gSaveBlock2Ptr
-_080E6E9C: .4byte 0x0000055c
-_080E6EA0: .4byte 0x0000056a
-_080E6EA4: .4byte 0x0000270f
-_080E6EA8:
- ldrh r5, [r1]
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _080E6EC4 @ =0x0000270f
- cmp r5, r1
- bls _080E6ECC
-_080E6EB8:
- ldr r0, [r6]
- ldr r2, _080E6EC8 @ =0x0000057a
- adds r0, r2
- strh r1, [r0]
- b _080E6ED4
- .align 2, 0
-_080E6EC4: .4byte 0x0000270f
-_080E6EC8: .4byte 0x0000057a
-_080E6ECC:
- ldr r0, [r6]
- ldr r3, _080E6EDC @ =0x0000057a
- adds r0, r3
- strh r5, [r0]
-_080E6ED4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6EDC: .4byte 0x0000057a
- thumb_func_end sub_80E6E48
-
- thumb_func_start sub_80E6EE0
-sub_80E6EE0: @ 80E6EE0
- push {r4-r6,lr}
- ldr r0, _080E6F00 @ =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r5, r2, 0
- adds r5, 0xB0
- ldr r1, _080E6F04 @ =0x0000055c
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _080E6F0C
- ldr r4, _080E6F08 @ =sFemaleTrainerClasses
- b _080E6F0E
- .align 2, 0
-_080E6F00: .4byte gSaveBlock2Ptr
-_080E6F04: .4byte 0x0000055c
-_080E6F08: .4byte sFemaleTrainerClasses
-_080E6F0C:
- ldr r4, _080E6FA0 @ =sMaleTrainerClasses
-_080E6F0E:
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r5, 0
- adds r0, 0xC
- ldr r4, _080E6FA4 @ =gSaveBlock2Ptr
- ldr r1, [r4]
- adds r1, 0xA
- bl CopyTrainerId
- adds r0, r5, 0x4
- ldr r1, [r4]
- bl StringCopy7
- adds r0, r6, 0
- bl sub_80E7188
- strh r0, [r5, 0x2]
- movs r4, 0
- ldr r6, _080E6FA8 @ =gSaveBlock1Ptr
- ldr r3, _080E6FAC @ =0x00002cac
- adds r2, r5, 0
- adds r2, 0x10
-_080E6F52:
- lsls r0, r4, 1
- ldr r1, [r6]
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _080E6F52
- movs r4, 0
-_080E6F68:
- ldr r6, _080E6FA4 @ =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, _080E6FB0 @ =0x0000056d
- adds r0, r1
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E6FB4 @ =gEnemyParty + 500 @ &gEnemyParty[5]
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x1C
- adds r1, r5, r1
- bl sub_803E23C
- adds r4, 0x1
- cmp r4, 0x2
- ble _080E6F68
- ldr r0, [r6]
- adds r0, 0xB0
- bl SetBattleTowerRecordChecksum
- bl sub_80E6E48
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6FA0: .4byte sMaleTrainerClasses
-_080E6FA4: .4byte gSaveBlock2Ptr
-_080E6FA8: .4byte gSaveBlock1Ptr
-_080E6FAC: .4byte 0x00002cac
-_080E6FB0: .4byte 0x0000056d
-_080E6FB4: .4byte gEnemyParty + 500 @ &gEnemyParty[5]
- thumb_func_end sub_80E6EE0
-
- thumb_func_start SaveBattleTowerProgress
-SaveBattleTowerProgress: @ 80E6FB8
- push {r4,r5,lr}
- ldr r0, _080E703C @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, _080E7040 @ =0x0000055c
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r5, r0, 31
- ldr r0, _080E7044 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x3
- beq _080E6FD4
- cmp r0, 0
- bne _080E6FF2
-_080E6FD4:
- lsls r2, r5, 1
- ldr r3, _080E7048 @ =0x00000564
- adds r0, r1, r3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _080E6FEE
- subs r3, 0x4
- adds r0, r1, r3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _080E6FF2
-_080E6FEE:
- bl sub_80E6EE0
-_080E6FF2:
- bl sub_80E712C
- ldr r4, _080E703C @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, _080E704C @ =gBattleOutcome
- ldrb r1, [r1]
- ldr r2, _080E7050 @ =0x0000055d
- adds r0, r2
- strb r1, [r0]
- ldr r0, _080E7044 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- cmp r1, 0x3
- beq _080E7016
- ldr r0, [r4]
- ldr r3, _080E7054 @ =0x0000055e
- adds r0, r3
- adds r0, r5
- strb r1, [r0]
-_080E7016:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, _080E7040 @ =0x0000055c
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x2
- bl TrySavingData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E703C: .4byte gSaveBlock2Ptr
-_080E7040: .4byte 0x0000055c
-_080E7044: .4byte gSpecialVar_0x8004
-_080E7048: .4byte 0x00000564
-_080E704C: .4byte gBattleOutcome
-_080E7050: .4byte 0x0000055d
-_080E7054: .4byte 0x0000055e
- thumb_func_end SaveBattleTowerProgress
-
- thumb_func_start BattleTower_SoftReset
-BattleTower_SoftReset: @ 80E7058
- push {lr}
- bl DoSoftReset
- pop {r0}
- bx r0
- thumb_func_end BattleTower_SoftReset
-
- thumb_func_start sub_80E7064
-sub_80E7064: @ 80E7064
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080E70F0 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r3, 0
- movs r2, 0
- adds r1, r0, 0
- adds r1, 0xB0
-_080E7076:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x27
- bls _080E7076
- ldr r5, _080E70F0 @ =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r2, 0xA8
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, r3
- beq _080E7098
- adds r0, r1, 0
- adds r0, 0xB0
- bl ClearBattleTowerRecord
-_080E7098:
- movs r4, 0
- adds r7, r5, 0
- movs r6, 0xA4
- mov r8, r7
-_080E70A0:
- adds r0, r4, 0
- muls r0, r6
- movs r3, 0xAA
- lsls r3, 1
- adds r0, r3
- ldr r1, [r7]
- movs r3, 0
- movs r2, 0
- adds r5, r4, 0x1
- adds r1, r0
-_080E70B4:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x27
- bls _080E70B4
- mov r0, r8
- ldr r2, [r0]
- adds r1, r4, 0
- muls r1, r6
- movs r4, 0xFA
- lsls r4, 1
- adds r0, r2, r4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _080E70E0
- movs r3, 0xAA
- lsls r3, 1
- adds r0, r1, r3
- adds r0, r2, r0
- bl ClearBattleTowerRecord
-_080E70E0:
- adds r4, r5, 0
- cmp r4, 0x4
- ble _080E70A0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E70F0: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80E7064
-
- thumb_func_start SetBattleTowerRecordChecksum
-SetBattleTowerRecordChecksum: @ 80E70F4
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xA0
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_080E7102:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x27
- bls _080E7102
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SetBattleTowerRecordChecksum
-
- thumb_func_start ClearBattleTowerRecord
-ClearBattleTowerRecord: @ 80E7118
- push {lr}
- movs r1, 0
- movs r2, 0
-_080E711E:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x28
- bls _080E711E
- pop {r0}
- bx r0
- thumb_func_end ClearBattleTowerRecord
-
- thumb_func_start sub_80E712C
-sub_80E712C: @ 80E712C
- push {r4,r5,lr}
- ldr r4, _080E7174 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, _080E7178 @ =0x0000048c
- adds r0, r1
- bl sub_80E6150
- ldr r1, [r4]
- ldr r3, _080E717C @ =gBattleMons
- adds r0, r3, 0
- adds r0, 0x58
- ldrh r2, [r0]
- ldr r5, _080E7180 @ =0x0000048a
- adds r0, r1, r5
- strh r2, [r0]
- ldrh r0, [r3]
- movs r2, 0x91
- lsls r2, 3
- adds r1, r2
- strh r0, [r1]
- movs r2, 0
- adds r5, r4, 0
- ldr r4, _080E7184 @ =0x00000494
- adds r3, 0x30
-_080E715C:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080E715C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7174: .4byte gSaveBlock2Ptr
-_080E7178: .4byte 0x0000048c
-_080E717C: .4byte gBattleMons
-_080E7180: .4byte 0x0000048a
-_080E7184: .4byte 0x00000494
- thumb_func_end sub_80E712C
-
- thumb_func_start sub_80E7188
-sub_80E7188: @ 80E7188
- push {lr}
- lsls r0, 24
- ldr r1, _080E71C0 @ =gSaveBlock2Ptr
- ldr r3, [r1]
- lsrs r0, 23
- ldr r2, _080E71C4 @ =0x00000564
- adds r1, r3, r2
- adds r1, r0
- ldrh r2, [r1]
- subs r2, 0x1
- lsls r1, r2, 3
- subs r1, r2
- movs r2, 0xAC
- lsls r2, 3
- adds r3, r2
- adds r3, r0
- ldr r0, _080E71C8 @ =0x0000ffff
- adds r1, r0
- ldrh r3, [r3]
- adds r1, r3
- lsls r1, 16
- lsrs r0, r1, 16
- ldr r1, _080E71CC @ =0x0000270f
- cmp r0, r1
- bls _080E71BC
- adds r0, r1, 0
-_080E71BC:
- pop {r1}
- bx r1
- .align 2, 0
-_080E71C0: .4byte gSaveBlock2Ptr
-_080E71C4: .4byte 0x00000564
-_080E71C8: .4byte 0x0000ffff
-_080E71CC: .4byte 0x0000270f
- thumb_func_end sub_80E7188
-
- thumb_func_start DetermineBattleTowerPrize
-DetermineBattleTowerPrize: @ 80E71D0
- push {r4,r5,lr}
- ldr r4, _080E7214 @ =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, _080E7218 @ =0x0000055c
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 1
- adds r2, 0x8
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- cmp r0, 0x5
- ble _080E7220
- bl Random
- ldr r4, [r4]
- ldr r5, _080E721C @ =sLongStreakPrizes
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- movs r1, 0xAE
- lsls r1, 3
- adds r4, r1
- b _080E7240
- .align 2, 0
-_080E7214: .4byte gSaveBlock2Ptr
-_080E7218: .4byte 0x0000055c
-_080E721C: .4byte sLongStreakPrizes
-_080E7220:
- bl Random
- ldr r4, [r4]
- ldr r5, _080E7248 @ =sShortStreakPrizes
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- movs r2, 0xAE
- lsls r2, 3
- adds r4, r2
-_080E7240:
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7248: .4byte sShortStreakPrizes
- thumb_func_end DetermineBattleTowerPrize
-
- thumb_func_start GiveBattleTowerPrize
-GiveBattleTowerPrize: @ 80E724C
- push {r4-r6,lr}
- ldr r5, _080E7288 @ =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r2, _080E728C @ =0x0000055c
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- movs r0, 0xAE
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080E7298
- ldr r0, [r5]
- movs r1, 0xAE
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _080E7290 @ =gStringVar1
- bl CopyItemName
- ldr r0, _080E7294 @ =gSpecialVar_Result
- strh r4, [r0]
- b _080E72AA
- .align 2, 0
-_080E7288: .4byte gSaveBlock2Ptr
-_080E728C: .4byte 0x0000055c
-_080E7290: .4byte gStringVar1
-_080E7294: .4byte gSpecialVar_Result
-_080E7298:
- ldr r1, _080E72B0 @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r5]
- ldr r2, _080E72B4 @ =0x0000055e
- adds r0, r2
- adds r0, r6
- movs r1, 0x6
- strb r1, [r0]
-_080E72AA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E72B0: .4byte gSpecialVar_Result
-_080E72B4: .4byte 0x0000055e
- thumb_func_end GiveBattleTowerPrize
-
- thumb_func_start AwardBattleTowerRibbons
-AwardBattleTowerRibbons: @ 80E72B8
- push {r4-r7,lr}
- ldr r0, _080E7334 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E7338 @ =0x0000055c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r0, 0
- movs r7, 0x44
- cmp r1, 0
- beq _080E72D2
- movs r7, 0x45
-_080E72D2:
- ldr r4, _080E733C @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r4]
- adds r0, r1, 0
- bl sub_80E7188
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x37
- bls _080E7320
- movs r5, 0
- adds r6, r4, 0
-_080E72EA:
- ldr r0, _080E7334 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E7340 @ =0x0000056d
- adds r0, r1
- adds r0, r5
- ldrb r0, [r0]
- subs r0, 0x1
- movs r1, 0x64
- muls r1, r0
- ldr r0, _080E7344 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl GetMonData
- cmp r0, 0
- bne _080E731A
- movs r0, 0x1
- strh r0, [r6]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl SetMonData
-_080E731A:
- adds r5, 0x1
- cmp r5, 0x2
- ble _080E72EA
-_080E7320:
- ldr r0, _080E733C @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E732E
- movs r0, 0x2A
- bl IncrementGameStat
-_080E732E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7334: .4byte gSaveBlock2Ptr
-_080E7338: .4byte 0x0000055c
-_080E733C: .4byte gSpecialVar_Result
-_080E7340: .4byte 0x0000056d
-_080E7344: .4byte gPlayerParty
- thumb_func_end AwardBattleTowerRibbons
-
- thumb_func_start sub_80E7348
-sub_80E7348: @ 80E7348
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, _080E7368 @ =gSaveBlock2Ptr
- ldr r2, [r1]
- movs r0, 0x94
- lsls r0, 3
- adds r7, r2, r0
- ldrb r0, [r2, 0x8]
- adds r5, r1, 0
- cmp r0, 0
- beq _080E7370
- ldr r4, _080E736C @ =sFemaleTrainerClasses
- b _080E7372
- .align 2, 0
-_080E7368: .4byte gSaveBlock2Ptr
-_080E736C: .4byte sFemaleTrainerClasses
-_080E7370:
- ldr r4, _080E7410 @ =sMaleTrainerClasses
-_080E7372:
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r7, 0x1]
- adds r0, r7, 0
- adds r0, 0xC
- ldr r1, [r5]
- adds r1, 0xA
- bl CopyTrainerId
- adds r0, r7, 0x4
- ldr r1, [r5]
- bl StringCopy7
- movs r0, 0x1
- strh r0, [r7, 0x2]
- movs r6, 0x7
- movs r4, 0
- ldr r0, _080E7414 @ =gSaveBlock1Ptr
- mov r8, r0
- adds r5, r7, 0
- adds r5, 0x10
- ldr r1, _080E7418 @ =0x00002cac
- mov r12, r1
- adds r3, r7, 0
- adds r3, 0x28
- adds r2, r7, 0
- adds r2, 0x1C
-_080E73BC:
- lsls r0, r4, 1
- mov r9, r0
- mov r1, r8
- ldr r0, [r1]
- add r0, r12
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r5]
- strh r6, [r2]
- adds r0, r6, 0x6
- strh r0, [r3]
- adds r6, 0x1
- adds r5, 0x2
- adds r3, 0x2
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _080E73BC
- movs r4, 0
-_080E73E2:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080E741C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x34
- adds r1, r7, r1
- bl sub_803E23C
- adds r4, 0x1
- cmp r4, 0x2
- ble _080E73E2
- adds r0, r7, 0
- bl sub_80E7500
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7410: .4byte sMaleTrainerClasses
-_080E7414: .4byte gSaveBlock1Ptr
-_080E7418: .4byte 0x00002cac
-_080E741C: .4byte gPlayerParty
- thumb_func_end sub_80E7348
-
- thumb_func_start GetEreaderTrainerFrontSpriteId
-GetEreaderTrainerFrontSpriteId: @ 80E7420
- ldr r1, _080E7434 @ =gFacilityClassToPicIndex
- ldr r0, _080E7438 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, _080E743C @ =0x000004a1
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080E7434: .4byte gFacilityClassToPicIndex
-_080E7438: .4byte gSaveBlock2Ptr
-_080E743C: .4byte 0x000004a1
- thumb_func_end GetEreaderTrainerFrontSpriteId
-
- thumb_func_start GetEreaderTrainerClassId
-GetEreaderTrainerClassId: @ 80E7440
- ldr r1, _080E7454 @ =gFacilityClassToTrainerClass
- ldr r0, _080E7458 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, _080E745C @ =0x000004a1
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080E7454: .4byte gFacilityClassToTrainerClass
-_080E7458: .4byte gSaveBlock2Ptr
-_080E745C: .4byte 0x000004a1
- thumb_func_end GetEreaderTrainerClassId
-
- thumb_func_start CopyEReaderTrainerName5
-CopyEReaderTrainerName5: @ 80E7460
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _080E7488 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E748C @ =0x000004a4
- adds r4, r0, r1
-_080E746E:
- adds r0, r3, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x4
- ble _080E746E
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7488: .4byte gSaveBlock2Ptr
-_080E748C: .4byte 0x000004a4
- thumb_func_end CopyEReaderTrainerName5
-
- thumb_func_start ValidateEReaderTrainer
-ValidateEReaderTrainer: @ 80E7490
- push {r4-r6,lr}
- ldr r2, _080E74C0 @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r2]
- ldr r1, _080E74C4 @ =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r3, 0x94
- lsls r3, 3
- adds r5, r0, r3
- movs r4, 0
- movs r3, 0
- adds r6, r1, 0
- adds r1, r5, 0
-_080E74AA:
- ldm r1!, {r0}
- orrs r4, r0
- adds r3, 0x1
- cmp r3, 0x2D
- bls _080E74AA
- cmp r4, 0
- bne _080E74C8
- movs r0, 0x1
- strh r0, [r2]
- b _080E74F6
- .align 2, 0
-_080E74C0: .4byte gSpecialVar_Result
-_080E74C4: .4byte gSaveBlock2Ptr
-_080E74C8:
- movs r4, 0
- movs r3, 0
- adds r2, r5, 0
-_080E74CE:
- ldm r2!, {r0}
- adds r4, r0
- adds r3, 0x1
- cmp r3, 0x2D
- bls _080E74CE
- ldr r1, [r6]
- movs r2, 0xAB
- lsls r2, 3
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, r4
- beq _080E74F6
- movs r3, 0x94
- lsls r3, 3
- adds r0, r1, r3
- bl sub_80E7524
- ldr r1, _080E74FC @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_080E74F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E74FC: .4byte gSpecialVar_Result
- thumb_func_end ValidateEReaderTrainer
-
- thumb_func_start sub_80E7500
-sub_80E7500: @ 80E7500
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xB8
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_080E750E:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2D
- bls _080E750E
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7500
-
- thumb_func_start sub_80E7524
-sub_80E7524: @ 80E7524
- push {lr}
- movs r1, 0
- movs r2, 0
-_080E752A:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x2E
- bls _080E752A
- pop {r0}
- bx r0
- thumb_func_end sub_80E7524
-
- thumb_func_start PrintEReaderTrainerGreeting
-PrintEReaderTrainerGreeting: @ 80E7538
- push {lr}
- ldr r0, _080E754C @ =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0x96
- lsls r1, 3
- adds r0, r1
- bl sub_80E678C
- pop {r0}
- bx r0
- .align 2, 0
-_080E754C: .4byte gSaveBlock2Ptr
- thumb_func_end PrintEReaderTrainerGreeting
-
- thumb_func_start sub_80E7550
-sub_80E7550: @ 80E7550
- push {lr}
- ldr r0, _080E7564 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080E756C
- ldr r1, _080E7568 @ =gStringVar4
- movs r0, 0xFF
- strb r0, [r1]
- b _080E7590
- .align 2, 0
-_080E7564: .4byte gBattleOutcome
-_080E7568: .4byte gStringVar4
-_080E756C:
- cmp r0, 0x1
- bne _080E7584
- ldr r0, _080E7580 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0x99
- lsls r1, 3
- adds r0, r1
- bl sub_80E678C
- b _080E7590
- .align 2, 0
-_080E7580: .4byte gSaveBlock2Ptr
-_080E7584:
- ldr r0, _080E7594 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, _080E7598 @ =0x000004bc
- adds r0, r1
- bl sub_80E678C
-_080E7590:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7594: .4byte gSaveBlock2Ptr
-_080E7598: .4byte 0x000004bc
- thumb_func_end sub_80E7550
-
- thumb_func_start Dummy_TryEnableBravoTrainerBattleTower
-Dummy_TryEnableBravoTrainerBattleTower: @ 80E759C
- push {lr}
- movs r0, 0x1
-_080E75A0:
- subs r0, 0x1
- cmp r0, 0
- bge _080E75A0
- pop {r0}
- bx r0
- thumb_func_end Dummy_TryEnableBravoTrainerBattleTower
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_camera.s b/asm/field_camera.s
index f6cbbd0ef..0016e6381 100644
--- a/asm/field_camera.s
+++ b/asm/field_camera.s
@@ -490,8 +490,8 @@ _0805A914: .4byte gUnknown_3000E90
_0805A918: .4byte gMapHeader
thumb_func_end CurrentMapDrawMetatileAt
- thumb_func_start sub_805A91C
-sub_805A91C: @ 805A91C
+ thumb_func_start DrawDoorMetatileAt
+DrawDoorMetatileAt: @ 805A91C
push {r4,r5,lr}
adds r3, r0, 0
adds r4, r1, 0
@@ -513,7 +513,7 @@ _0805A93E:
bx r0
.align 2, 0
_0805A944: .4byte gUnknown_3000E90
- thumb_func_end sub_805A91C
+ thumb_func_end DrawDoorMetatileAt
thumb_func_start sub_805A948
sub_805A948: @ 805A948
diff --git a/asm/field_door.s b/asm/field_door.s
deleted file mode 100644
index bcb8a6082..000000000
--- a/asm/field_door.s
+++ /dev/null
@@ -1,667 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_805AF14
-sub_805AF14: @ 805AF14
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldrh r1, [r5, 0x2]
- ldr r0, _0805AF34 @ =0x0000ffff
- cmp r1, r0
- bne _0805AF38
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_805AF54
- b _0805AF4E
- .align 2, 0
-_0805AF34: .4byte 0x0000ffff
-_0805AF38:
- ldrh r1, [r5, 0x2]
- ldr r0, [r4, 0x4]
- adds r0, r1
- bl sub_805AF80
- ldr r3, [r4, 0x8]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_805AF94
-_0805AF4E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805AF14
-
- thumb_func_start sub_805AF54
-sub_805AF54: @ 805AF54
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _0805AF6A
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- b _0805AF7A
-_0805AF6A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- subs r1, r4, 0x1
- adds r0, r5, 0
- bl CurrentMapDrawMetatileAt
-_0805AF7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_805AF54
-
- thumb_func_start sub_805AF80
-sub_805AF80: @ 805AF80
- push {lr}
- ldr r1, _0805AF90 @ =0x06007f00
- movs r2, 0x40
- bl CpuFastSet
- pop {r0}
- bx r0
- .align 2, 0
-_0805AF90: .4byte 0x06007f00
- thumb_func_end sub_805AF80
-
- thumb_func_start sub_805AF94
-sub_805AF94: @ 805AF94
- push {r4-r6,lr}
- sub sp, 0x10
- adds r5, r1, 0
- adds r6, r2, 0
- adds r4, r3, 0
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _0805AFB2
- movs r1, 0xFE
- lsls r1, 2
- mov r0, sp
- adds r2, r4, 0
- bl sub_805AFE8
- b _0805AFD4
-_0805AFB2:
- movs r1, 0xFE
- lsls r1, 2
- mov r0, sp
- adds r2, r4, 0
- bl sub_805AFE8
- subs r1, r6, 0x1
- adds r0, r5, 0
- mov r2, sp
- bl sub_805A91C
- movs r1, 0xFF
- lsls r1, 2
- adds r2, r4, 0x4
- mov r0, sp
- bl sub_805AFE8
-_0805AFD4:
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl sub_805A91C
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_805AF94
-
- thumb_func_start sub_805AFE8
-sub_805AFE8: @ 805AFE8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- adds r1, r6, 0
-_0805AFF4:
- ldrb r0, [r2]
- lsls r0, 28
- lsrs r3, r0, 16
- adds r2, 0x1
- adds r0, r5, r4
- orrs r3, r0
- strh r3, [r1]
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805AFF4
- cmp r4, 0x7
- bgt _0805B022
- lsls r0, r4, 1
- adds r1, r0, r6
-_0805B012:
- ldrb r0, [r2]
- lsls r3, r0, 12
- adds r2, 0x1
- strh r3, [r1]
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x7
- ble _0805B012
-_0805B022:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_805AFE8
-
- thumb_func_start sub_805B028
-sub_805B028: @ 805B028
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- ldr r0, _0805B05C @ =gTasks+0x8
- adds r2, r0
- ldrh r1, [r2]
- lsls r1, 16
- ldrh r0, [r2, 0x2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 16
- ldrh r3, [r2, 0x6]
- orrs r0, r3
- bl sub_805B060
- cmp r0, 0
- bne _0805B056
- adds r0, r4, 0
- bl DestroyTask
-_0805B056:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B05C: .4byte gTasks+0x8
- thumb_func_end sub_805B028
-
- thumb_func_start sub_805B060
-sub_805B060: @ 805B060
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0805B086
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r1, 2
- adds r1, r5, r1
- movs r0, 0xC
- ldrsh r2, [r4, r0]
- movs r0, 0xE
- ldrsh r3, [r4, r0]
- adds r0, r6, 0
- bl sub_805AF14
-_0805B086:
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r1, r0
- bne _0805B0B4
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805B0BA
- movs r0, 0
- b _0805B0BC
-_0805B0B4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
-_0805B0BA:
- movs r0, 0x1
-_0805B0BC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805B060
-
- thumb_func_start door_find
-door_find: @ 805B0C4
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- b _0805B0DA
-_0805B0CE:
- ldrh r0, [r2]
- cmp r0, r1
- bne _0805B0D8
- adds r0, r2, 0
- b _0805B0E2
-_0805B0D8:
- adds r2, 0xC
-_0805B0DA:
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _0805B0CE
- movs r0, 0
-_0805B0E2:
- pop {r1}
- bx r1
- thumb_func_end door_find
-
- thumb_func_start task_overworld_door_add_if_inactive
-task_overworld_door_add_if_inactive: @ 805B0E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- ldr r4, _0805B134 @ =sub_805B028
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0805B13C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _0805B138 @ =gTasks+0x8
- adds r1, r2
- strh r7, [r1, 0xC]
- mov r2, r8
- strh r2, [r1, 0xE]
- strh r5, [r1, 0x2]
- lsrs r2, r5, 16
- strh r2, [r1]
- strh r6, [r1, 0x6]
- lsrs r2, r6, 16
- strh r2, [r1, 0x4]
- lsls r0, 24
- asrs r0, 24
- b _0805B140
- .align 2, 0
-_0805B134: .4byte sub_805B028
-_0805B138: .4byte gTasks+0x8
-_0805B13C:
- movs r0, 0x1
- negs r0, r0
-_0805B140:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end task_overworld_door_add_if_inactive
-
- thumb_func_start DrawClosedDoor
-DrawClosedDoor: @ 805B14C
- push {lr}
- bl sub_805AF54
- pop {r0}
- bx r0
- thumb_func_end DrawClosedDoor
-
- thumb_func_start sub_805B158
-sub_805B158: @ 805B158
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- adds r4, r0, 0
- cmp r0, 0
- beq _0805B196
- ldrb r0, [r0, 0x3]
- ldr r1, _0805B19C @ =gUnknown_835B49C
- cmp r0, 0
- bne _0805B184
- ldr r1, _0805B1A0 @ =gUnknown_835B488
-_0805B184:
- adds r0, r1, 0
- bl sub_805B1A4
- adds r1, r0, 0
- adds r0, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_805AF14
-_0805B196:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B19C: .4byte gUnknown_835B49C
-_0805B1A0: .4byte gUnknown_835B488
- thumb_func_end sub_805B158
-
- thumb_func_start sub_805B1A4
-sub_805B1A4: @ 805B1A4
- push {lr}
- adds r1, r0, 0
- b _0805B1AC
-_0805B1AA:
- adds r1, 0x4
-_0805B1AC:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805B1AA
- subs r0, r1, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_805B1A4
-
- thumb_func_start sub_805B1B8
-sub_805B1B8: @ 805B1B8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- adds r2, r0, 0
- adds r4, r2, 0
- cmp r2, 0
- bne _0805B1E2
- movs r0, 0x1
- negs r0, r0
- b _0805B204
-_0805B1E2:
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- beq _0805B1F4
- ldr r1, _0805B1F0 @ =gUnknown_835B49C
- adds r0, r2, 0
- b _0805B1F8
- .align 2, 0
-_0805B1F0: .4byte gUnknown_835B49C
-_0805B1F4:
- ldr r1, _0805B20C @ =gUnknown_835B488
- adds r0, r4, 0
-_0805B1F8:
- adds r2, r5, 0
- adds r3, r6, 0
- bl task_overworld_door_add_if_inactive
- lsls r0, 24
- asrs r0, 24
-_0805B204:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B20C: .4byte gUnknown_835B488
- thumb_func_end sub_805B1B8
-
- thumb_func_start sub_805B210
-sub_805B210: @ 805B210
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- adds r2, r0, 0
- adds r4, r2, 0
- cmp r2, 0
- bne _0805B23A
- movs r0, 0x1
- negs r0, r0
- b _0805B25C
-_0805B23A:
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- beq _0805B24C
- ldr r1, _0805B248 @ =gUnknown_835B4C4
- adds r0, r2, 0
- b _0805B250
- .align 2, 0
-_0805B248: .4byte gUnknown_835B4C4
-_0805B24C:
- ldr r1, _0805B264 @ =gUnknown_835B4B0
- adds r0, r4, 0
-_0805B250:
- adds r2, r5, 0
- adds r3, r6, 0
- bl task_overworld_door_add_if_inactive
- lsls r0, 24
- asrs r0, 24
-_0805B25C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B264: .4byte gUnknown_835B4B0
- thumb_func_end sub_805B210
-
- thumb_func_start FieldSetDoorOpened
-FieldSetDoorOpened: @ 805B268
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWarpDoor_2
- lsls r0, 24
- cmp r0, 0
- beq _0805B292
- ldr r0, _0805B298 @ =gUnknown_835B5D8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805B158
-_0805B292:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B298: .4byte gUnknown_835B5D8
- thumb_func_end FieldSetDoorOpened
-
- thumb_func_start FieldSetDoorClosed
-FieldSetDoorClosed: @ 805B29C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWarpDoor_2
- lsls r0, 24
- cmp r0, 0
- beq _0805B2C6
- ldr r0, _0805B2CC @ =gUnknown_835B5D8
- adds r1, r4, 0
- adds r2, r5, 0
- bl DrawClosedDoor
-_0805B2C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B2CC: .4byte gUnknown_835B5D8
- thumb_func_end FieldSetDoorClosed
-
- thumb_func_start FieldAnimateDoorClose
-FieldAnimateDoorClose: @ 805B2D0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWarpDoor_2
- lsls r0, 24
- cmp r0, 0
- beq _0805B304
- ldr r0, _0805B300 @ =gUnknown_835B5D8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805B210
- lsls r0, 24
- asrs r0, 24
- b _0805B308
- .align 2, 0
-_0805B300: .4byte gUnknown_835B5D8
-_0805B304:
- movs r0, 0x1
- negs r0, r0
-_0805B308:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldAnimateDoorClose
-
- thumb_func_start FieldAnimateDoorOpen
-FieldAnimateDoorOpen: @ 805B310
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWarpDoor_2
- lsls r0, 24
- cmp r0, 0
- beq _0805B344
- ldr r0, _0805B340 @ =gUnknown_835B5D8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805B1B8
- lsls r0, 24
- asrs r0, 24
- b _0805B348
- .align 2, 0
-_0805B340: .4byte gUnknown_835B5D8
-_0805B344:
- movs r0, 0x1
- negs r0, r0
-_0805B348:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldAnimateDoorOpen
-
- thumb_func_start FieldIsDoorAnimationRunning
-FieldIsDoorAnimationRunning: @ 805B350
- push {lr}
- ldr r0, _0805B360 @ =sub_805B028
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0805B360: .4byte sub_805B028
- thumb_func_end FieldIsDoorAnimationRunning
-
- thumb_func_start GetDoorSoundEffect
-GetDoorSoundEffect: @ 805B364
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _0805B37C @ =gUnknown_835B5D8
- adds r1, r3, 0
- bl sub_805B388
- lsls r0, 24
- cmp r0, 0
- beq _0805B380
- movs r0, 0x12
- b _0805B382
- .align 2, 0
-_0805B37C: .4byte gUnknown_835B5D8
-_0805B380:
- movs r0, 0xF1
-_0805B382:
- pop {r1}
- bx r1
- thumb_func_end GetDoorSoundEffect
-
- thumb_func_start sub_805B388
-sub_805B388: @ 805B388
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- cmp r0, 0
- beq _0805B3AC
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- b _0805B3B0
-_0805B3AC:
- movs r0, 0x1
- negs r0, r0
-_0805B3B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805B388
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
index a143d2776..a8487864a 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -5826,7 +5826,7 @@ UseRegisteredKeyItemOnField: @ 810AD10
movs r0, 0
b _0810ADA0
_0810AD1E:
- bl sub_80982EC
+ bl DismissMapNamePopup
movs r0, 0
movs r1, 0
movs r2, 0
diff --git a/asm/learn_move.s b/asm/learn_move.s
deleted file mode 100644
index 36b88bc20..000000000
--- a/asm/learn_move.s
+++ /dev/null
@@ -1,1954 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E4620
-sub_80E4620: @ 80E4620
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80E4620
-
- thumb_func_start DisplayMoveTutorMenu
-DisplayMoveTutorMenu: @ 80E4634
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080E465C @ =sub_80E4660
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080E465C: .4byte sub_80E4660
- thumb_func_end DisplayMoveTutorMenu
-
- thumb_func_start sub_80E4660
-sub_80E4660: @ 80E4660
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E468C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E4684
- ldr r0, _080E4690 @ =sub_80E478C
- bl SetMainCallback2
- ldr r1, _080E4694 @ =gFieldCallback
- ldr r0, _080E4698 @ =FieldCallback_ReturnToEventScript2
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_080E4684:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E468C: .4byte gPaletteFade
-_080E4690: .4byte sub_80E478C
-_080E4694: .4byte gFieldCallback
-_080E4698: .4byte FieldCallback_ReturnToEventScript2
- thumb_func_end sub_80E4660
-
- thumb_func_start sub_80E469C
-sub_80E469C: @ 80E469C
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _080E4774 @ =gUnknown_83FFA3C
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- bl ResetTempTileDataBuffers
- ldr r0, _080E4778 @ =gUnknown_83FFA44
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _080E476C
- bl DeactivateAllTextPrinters
- movs r5, 0
-_080E46C6:
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r5, 0x1
- cmp r5, 0x8
- bls _080E46C6
- movs r0, 0x7
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, _080E477C @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0xD0
- movs r1, 0x1
- bl sub_8107D38
- ldr r0, _080E4780 @ =gUnknown_8E97DDC
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080E4784 @ =gUnknown_8E97DFC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, _080E4788 @ =gUnknown_8E97EC4
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
-_080E476C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4774: .4byte gUnknown_83FFA3C
-_080E4778: .4byte gUnknown_83FFA44
-_080E477C: .4byte gUnknown_203AAB4
-_080E4780: .4byte gUnknown_8E97DDC
-_080E4784: .4byte gUnknown_8E97DFC
-_080E4788: .4byte gUnknown_8E97EC4
- thumb_func_end sub_80E469C
-
- thumb_func_start sub_80E478C
-sub_80E478C: @ 80E478C
- push {r4,lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r4, _080E47EC @ =gUnknown_203AAB4
- ldr r0, _080E47F0 @ =0x00000a6c
- bl AllocZeroed
- str r0, [r4]
- bl sub_80E4F54
- ldr r0, [r4]
- ldr r1, _080E47F4 @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- strb r1, [r0]
- bl sub_80E50CC
- ldr r0, _080E47F8 @ =sub_80E4620
- bl SetVBlankCallback
- bl sub_80E469C
- bl sub_80E5004
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, _080E47FC @ =sub_80E4870
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E47EC: .4byte gUnknown_203AAB4
-_080E47F0: .4byte 0x00000a6c
-_080E47F4: .4byte gSpecialVar_0x8004
-_080E47F8: .4byte sub_80E4620
-_080E47FC: .4byte sub_80E4870
- thumb_func_end sub_80E478C
-
- thumb_func_start sub_80E4800
-sub_80E4800: @ 80E4800
- push {lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl sub_80E50CC
- ldr r0, _080E485C @ =gUnknown_203AAB4
- ldr r0, [r0]
- ldr r1, _080E4860 @ =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, _080E4864 @ =0x00000261
- adds r0, r2
- strb r1, [r0]
- ldr r0, _080E4868 @ =sub_80E4620
- bl SetVBlankCallback
- bl sub_80E469C
- bl sub_80E5004
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, _080E486C @ =sub_80E4870
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080E485C: .4byte gUnknown_203AAB4
-_080E4860: .4byte gSpecialVar_0x8005
-_080E4864: .4byte 0x00000261
-_080E4868: .4byte sub_80E4620
-_080E486C: .4byte sub_80E4870
- thumb_func_end sub_80E4800
-
- thumb_func_start sub_80E4870
-sub_80E4870: @ 80E4870
- push {r4,lr}
- movs r0, 0x7
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080E4882
- bl sub_80E48F4
-_080E4882:
- ldr r4, _080E48B8 @ =gUnknown_203AAB4
- ldr r0, [r4]
- ldr r1, _080E48BC @ =0x0000025f
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E489E
- bl sub_80E54C0
- ldr r0, [r4]
- ldr r1, _080E48BC @ =0x0000025f
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080E489E:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E48B8: .4byte gUnknown_203AAB4
-_080E48BC: .4byte 0x0000025f
- thumb_func_end sub_80E4870
-
- thumb_func_start sub_80E48C0
-sub_80E48C0: @ 80E48C0
- push {r4,lr}
- sub sp, 0x8
- adds r1, r0, 0
- ldr r4, _080E48F0 @ =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl GetTextSpeedSetting
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl sub_80E559C
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E48F0: .4byte gStringVar4
- thumb_func_end sub_80E48C0
-
- thumb_func_start sub_80E48F4
-sub_80E48F4: @ 80E48F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r1, _080E4918 @ =gUnknown_203AAB4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0x21
- bls _080E490C
- b _080E4EDA
-_080E490C:
- lsls r0, 2
- ldr r1, _080E491C @ =_080E4920
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E4918: .4byte gUnknown_203AAB4
-_080E491C: .4byte _080E4920
- .align 2, 0
-_080E4920:
- .4byte _080E49A8
- .4byte _080E49F4
- .4byte _080E4A0C
- .4byte _080E4A14
- .4byte _080E4A38
- .4byte _080E4EDA
- .4byte _080E4EDA
- .4byte _080E4EDA
- .4byte _080E4A3E
- .4byte _080E4A68
- .4byte _080E4EDA
- .4byte _080E4EDA
- .4byte _080E4AF4
- .4byte _080E4B20
- .4byte _080E4CFA
- .4byte _080E4D18
- .4byte _080E4B58
- .4byte _080E4B70
- .4byte _080E4B98
- .4byte _080E4C5A
- .4byte _080E4C70
- .4byte _080E4CE4
- .4byte _080E4CE8
- .4byte _080E4EDA
- .4byte _080E4BDC
- .4byte _080E4BF4
- .4byte _080E4C1C
- .4byte _080E4C54
- .4byte _080E4D48
- .4byte _080E4D8C
- .4byte _080E4E70
- .4byte _080E4E90
- .4byte _080E4EA8
- .4byte _080E4EC0
-_080E49A8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- bl sub_80E5444
- ldr r4, _080E49EC @ =gUnknown_203AAB4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_80E4EF0
- movs r0, 0
- bl sub_80E4F0C
- bl sub_80E5300
- ldr r0, [r4]
- ldr r1, _080E49F0 @ =0x0000025f
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _080E4EDA
- .align 2, 0
-_080E49EC: .4byte gUnknown_203AAB4
-_080E49F0: .4byte 0x0000025f
-_080E49F4:
- ldr r0, _080E4A08 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E4A02
- b _080E4EDA
-_080E4A02:
- ldr r1, [r7]
- movs r0, 0x4
- b _080E4ED8
- .align 2, 0
-_080E4A08: .4byte gPaletteFade
-_080E4A0C:
- ldr r1, [r7]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
-_080E4A14:
- movs r0, 0
- bl sub_80E4F0C
- ldr r2, _080E4A30 @ =gUnknown_203AAB4
- ldr r0, [r2]
- ldr r3, _080E4A34 @ =0x0000025f
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4A30: .4byte gUnknown_203AAB4
-_080E4A34: .4byte 0x0000025f
-_080E4A38:
- bl sub_80E5204
- b _080E4EDA
-_080E4A3E:
- ldr r0, _080E4A60 @ =gUnknown_83FFA8C
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- ldr r0, _080E4A64 @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4A60: .4byte gUnknown_83FFA8C
-_080E4A64: .4byte gUnknown_203AAB4
-_080E4A68:
- bl sub_80E5574
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E4A88
- cmp r1, 0
- bgt _080E4A82
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E4AE6
- b _080E4EDA
-_080E4A82:
- cmp r1, 0x1
- beq _080E4AE6
- b _080E4EDA
-_080E4A88:
- ldr r4, _080E4AC8 @ =gUnknown_203AAB4
- ldr r2, [r4]
- movs r6, 0x98
- lsls r6, 2
- adds r0, r2, r6
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E4ACC @ =gPlayerParty
- adds r0, r1
- ldr r3, _080E4AD0 @ =0x00000a67
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 1
- adds r2, 0xE8
- adds r2, r1
- ldrh r1, [r2]
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, _080E4AD4 @ =0xffff0000
- cmp r0, r1
- beq _080E4AE0
- ldr r0, _080E4AD8 @ =gUnknown_841E405
- bl sub_80E48C0
- ldr r1, _080E4ADC @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, [r4]
- movs r0, 0x1F
- b _080E4ED8
- .align 2, 0
-_080E4AC8: .4byte gUnknown_203AAB4
-_080E4ACC: .4byte gPlayerParty
-_080E4AD0: .4byte 0x00000a67
-_080E4AD4: .4byte 0xffff0000
-_080E4AD8: .4byte gUnknown_841E405
-_080E4ADC: .4byte gSpecialVar_0x8004
-_080E4AE0:
- ldr r1, [r4]
- movs r0, 0x10
- b _080E4ED8
-_080E4AE6:
- ldr r0, _080E4AF0 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x3
- b _080E4ED8
- .align 2, 0
-_080E4AF0: .4byte gUnknown_203AAB4
-_080E4AF4:
- ldr r0, _080E4B18 @ =gUnknown_83FFA8C
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- ldr r0, _080E4B1C @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4B18: .4byte gUnknown_83FFA8C
-_080E4B1C: .4byte gUnknown_203AAB4
-_080E4B20:
- bl sub_80E5574
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E4B40
- cmp r1, 0
- bgt _080E4B3A
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E4B4C
- b _080E4EDA
-_080E4B3A:
- cmp r1, 0x1
- beq _080E4B4C
- b _080E4EDA
-_080E4B40:
- ldr r0, _080E4B48 @ =gSpecialVar_0x8004
- strh r1, [r0]
- b _080E4ED2
- .align 2, 0
-_080E4B48: .4byte gSpecialVar_0x8004
-_080E4B4C:
- ldr r0, _080E4B54 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x3
- b _080E4ED8
- .align 2, 0
-_080E4B54: .4byte gUnknown_203AAB4
-_080E4B58:
- ldr r0, _080E4B68 @ =gUnknown_841E414
- bl sub_80E48C0
- ldr r0, _080E4B6C @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4B68: .4byte gUnknown_841E414
-_080E4B6C: .4byte gUnknown_203AAB4
-_080E4B70:
- ldr r0, _080E4B90 @ =gUnknown_83FFA8C
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- ldr r0, _080E4B94 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x12
- b _080E4ED8
- .align 2, 0
-_080E4B90: .4byte gUnknown_83FFA8C
-_080E4B94: .4byte gUnknown_203AAB4
-_080E4B98:
- bl sub_80E5574
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E4BB8
- cmp r1, 0
- bgt _080E4BB2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E4BD0
- b _080E4EDA
-_080E4BB2:
- cmp r1, 0x1
- beq _080E4BD0
- b _080E4EDA
-_080E4BB8:
- ldr r0, _080E4BC8 @ =gUnknown_841E50C
- bl sub_80E48C0
- ldr r0, _080E4BCC @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x13
- b _080E4ED8
- .align 2, 0
-_080E4BC8: .4byte gUnknown_841E50C
-_080E4BCC: .4byte gUnknown_203AAB4
-_080E4BD0:
- ldr r0, _080E4BD8 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x18
- b _080E4ED8
- .align 2, 0
-_080E4BD8: .4byte gUnknown_203AAB4
-_080E4BDC:
- ldr r0, _080E4BEC @ =gUnknown_841E481
- bl sub_80E48C0
- ldr r0, _080E4BF0 @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4BEC: .4byte gUnknown_841E481
-_080E4BF0: .4byte gUnknown_203AAB4
-_080E4BF4:
- ldr r0, _080E4C14 @ =gUnknown_83FFA8C
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- ldr r0, _080E4C18 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x1A
- b _080E4ED8
- .align 2, 0
-_080E4C14: .4byte gUnknown_83FFA8C
-_080E4C18: .4byte gUnknown_203AAB4
-_080E4C1C:
- bl sub_80E5574
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E4C3C
- cmp r1, 0
- bgt _080E4C36
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E4C48
- b _080E4EDA
-_080E4C36:
- cmp r1, 0x1
- beq _080E4C48
- b _080E4EDA
-_080E4C3C:
- ldr r0, _080E4C44 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x1B
- b _080E4ED8
- .align 2, 0
-_080E4C44: .4byte gUnknown_203AAB4
-_080E4C48:
- ldr r0, _080E4C50 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x10
- b _080E4ED8
- .align 2, 0
-_080E4C50: .4byte gUnknown_203AAB4
-_080E4C54:
- ldr r1, [r7]
- movs r0, 0x3
- b _080E4ED8
-_080E4C5A:
- ldr r1, [r7]
- movs r2, 0
- movs r0, 0x14
- strb r0, [r1]
- subs r0, 0x15
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080E4EDA
-_080E4C70:
- ldr r0, _080E4CC8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E4C7E
- b _080E4EDA
-_080E4C7E:
- ldr r2, [r7]
- ldr r6, _080E4CCC @ =0x00000263
- adds r0, r2, r6
- ldrb r0, [r0]
- ldr r3, _080E4CD0 @ =0x00000a68
- adds r1, r2, r3
- ldr r6, _080E4CD4 @ =0x00000a6a
- adds r2, r6
- bl ListMenuGetScrollAndRow
- bl FreeAllWindowBuffers
- ldr r0, _080E4CD8 @ =gPlayerParty
- ldr r5, [r7]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r5, r2
- ldrb r1, [r1]
- ldr r2, _080E4CDC @ =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080E4CE0 @ =sub_80E4800
- subs r6, 0x3
- adds r4, r5, r6
- ldrb r4, [r4]
- lsls r4, 1
- adds r5, 0xE8
- adds r5, r4
- ldrh r4, [r5]
- str r4, [sp]
- bl ShowSelectMovePokemonSummaryScreen
- ldr r1, [r7]
- movs r0, 0x1C
- b _080E4ED8
- .align 2, 0
-_080E4CC8: .4byte gPaletteFade
-_080E4CCC: .4byte 0x00000263
-_080E4CD0: .4byte 0x00000a68
-_080E4CD4: .4byte 0x00000a6a
-_080E4CD8: .4byte gPlayerParty
-_080E4CDC: .4byte gPlayerPartyCount
-_080E4CE0: .4byte sub_80E4800
-_080E4CE4:
- ldr r1, [r7]
- b _080E4ED6
-_080E4CE8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080E4EDA
-_080E4CFA:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080E4D14 @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080E4ED8
- .align 2, 0
-_080E4D14: .4byte gUnknown_203AAB4
-_080E4D18:
- ldr r0, _080E4D3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E4D26
- b _080E4EDA
-_080E4D26:
- bl FreeAllWindowBuffers
- ldr r0, _080E4D40 @ =gUnknown_203AAB4
- ldr r0, [r0]
- bl Free
- ldr r0, _080E4D44 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080E4EDA
- .align 2, 0
-_080E4D3C: .4byte gPaletteFade
-_080E4D40: .4byte gUnknown_203AAB4
-_080E4D44: .4byte CB2_ReturnToField
-_080E4D48:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r0, _080E4D88 @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_80E5444
- bl sub_80E4EF0
- bl sub_80E5300
- movs r0, 0x1
- bl sub_80E4F0C
- bl sub_80E54C0
- b _080E4EDA
- .align 2, 0
-_080E4D88: .4byte gUnknown_203AAB4
-_080E4D8C:
- ldr r0, _080E4DAC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E4D9A
- b _080E4EDA
-_080E4D9A:
- ldr r1, [r7]
- ldr r0, _080E4DB0 @ =0x00000261
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0x4
- bne _080E4DB4
- movs r0, 0x18
- b _080E4ED8
- .align 2, 0
-_080E4DAC: .4byte gPaletteFade
-_080E4DB0: .4byte 0x00000261
-_080E4DB4:
- movs r4, 0x98
- lsls r4, 2
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080E4E50 @ =gPlayerParty
- adds r0, r5
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080E4E54 @ =gStringVar3
- movs r1, 0xD
- mov r9, r1
- mov r1, r9
- muls r1, r0
- ldr r3, _080E4E58 @ =gMoveNames
- mov r8, r3
- add r1, r8
- adds r0, r2, 0
- bl StringCopy
- ldr r1, [r7]
- adds r0, r1, r4
- ldrb r0, [r0]
- muls r0, r6
- adds r0, r5
- ldr r2, _080E4E5C @ =0x00000261
- adds r1, r2
- ldrb r1, [r1]
- bl RemoveMonPPBonus
- ldr r3, [r7]
- adds r4, r3, r4
- ldrb r0, [r4]
- muls r0, r6
- adds r0, r5
- ldr r4, _080E4E60 @ =0x00000a67
- adds r1, r3, r4
- ldrb r2, [r1]
- lsls r2, 1
- adds r1, r3, 0
- adds r1, 0xE8
- adds r1, r2
- ldrh r1, [r1]
- ldr r6, _080E4E5C @ =0x00000261
- adds r3, r6
- ldrb r2, [r3]
- bl SetMonMoveSlot
- ldr r0, _080E4E64 @ =gStringVar2
- ldr r2, [r7]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r1, 1
- adds r2, 0xE8
- adds r2, r1
- ldrh r1, [r2]
- mov r2, r9
- muls r2, r1
- adds r1, r2, 0
- add r1, r8
- bl StringCopy
- ldr r0, _080E4E68 @ =gUnknown_841E493
- bl sub_80E48C0
- ldr r1, [r7]
- movs r0, 0x1E
- strb r0, [r1]
- ldr r1, _080E4E6C @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- b _080E4EDA
- .align 2, 0
-_080E4E50: .4byte gPlayerParty
-_080E4E54: .4byte gStringVar3
-_080E4E58: .4byte gMoveNames
-_080E4E5C: .4byte 0x00000261
-_080E4E60: .4byte 0x00000a67
-_080E4E64: .4byte gStringVar2
-_080E4E68: .4byte gUnknown_841E493
-_080E4E6C: .4byte gSpecialVar_0x8004
-_080E4E70:
- ldr r0, _080E4E88 @ =gUnknown_841E4C0
- bl sub_80E48C0
- ldr r0, _080E4E8C @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x1F
- strb r0, [r1]
- adds r0, 0xE2
- bl PlayFanfare
- b _080E4EDA
- .align 2, 0
-_080E4E88: .4byte gUnknown_841E4C0
-_080E4E8C: .4byte gUnknown_203AAB4
-_080E4E90:
- ldr r0, _080E4EA0 @ =0x00000101
- bl PlayFanfare
- ldr r0, _080E4EA4 @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x20
- b _080E4ED8
- .align 2, 0
-_080E4EA0: .4byte 0x00000101
-_080E4EA4: .4byte gUnknown_203AAB4
-_080E4EA8:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _080E4EDA
- ldr r0, _080E4EBC @ =gUnknown_203AAB4
- ldr r1, [r0]
- movs r0, 0x21
- b _080E4ED8
- .align 2, 0
-_080E4EBC: .4byte gUnknown_203AAB4
-_080E4EC0:
- ldr r0, _080E4EE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E4EDA
- movs r0, 0x5
- bl PlaySE
-_080E4ED2:
- ldr r0, _080E4EEC @ =gUnknown_203AAB4
- ldr r1, [r0]
-_080E4ED6:
- movs r0, 0xE
-_080E4ED8:
- strb r0, [r1]
-_080E4EDA:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4EE8: .4byte gMain
-_080E4EEC: .4byte gUnknown_203AAB4
- thumb_func_end sub_80E48F4
-
- thumb_func_start sub_80E4EF0
-sub_80E4EF0: @ 80E4EF0
- push {r4,lr}
- movs r4, 0x6
-_080E4EF4:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- adds r4, 0x1
- cmp r4, 0x7
- ble _080E4EF4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E4EF0
-
- thumb_func_start sub_80E4F0C
-sub_80E4F0C: @ 80E4F0C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080E4F42
- ldr r4, _080E4F4C @ =gStringVar4
- ldr r1, _080E4F50 @ =gUnknown_841E3E3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- str r5, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl sub_80E559C
- movs r0, 0x7
- bl PutWindowTilemap
- movs r0, 0x7
- movs r1, 0x3
- bl CopyWindowToVram
-_080E4F42:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4F4C: .4byte gStringVar4
-_080E4F50: .4byte gUnknown_841E3E3
- thumb_func_end sub_80E4F0C
-
- thumb_func_start sub_80E4F54
-sub_80E4F54: @ 80E4F54
- push {r4,lr}
- ldr r2, _080E4FA4 @ =gUnknown_203AAB4
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x19]
- ldr r0, [r2]
- strb r1, [r0, 0x18]
- ldr r0, [r2]
- strb r1, [r0, 0x1C]
- ldr r0, [r2]
- strb r1, [r0, 0x1A]
- ldr r0, [r2]
- strb r1, [r0, 0x1B]
- ldr r0, [r2]
- strb r1, [r0, 0x1D]
- ldr r0, [r2]
- strb r1, [r0, 0x1E]
- ldr r0, [r2]
- ldr r3, _080E4FA8 @ =0x0000025f
- adds r0, r3
- strb r1, [r0]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0
-_080E4F8C:
- ldr r0, [r4]
- lsls r1, r3, 1
- adds r0, 0xE8
- adds r0, r1
- strh r2, [r0]
- adds r3, 0x1
- cmp r3, 0x13
- ble _080E4F8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4FA4: .4byte gUnknown_203AAB4
-_080E4FA8: .4byte 0x0000025f
- thumb_func_end sub_80E4F54
-
- thumb_func_start sub_80E4FAC
-sub_80E4FAC: @ 80E4FAC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- movs r0, 0xFF
- ands r1, r0
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _080E4FD0
- cmp r0, 0x1
- ble _080E4FF6
- cmp r0, 0x2
- beq _080E4FE4
- b _080E4FF6
-_080E4FD0:
- adds r0, r1, 0
- movs r1, 0x3
- bl Sin
- ldrh r1, [r4, 0x32]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- strh r0, [r4, 0x24]
- b _080E4FF6
-_080E4FE4:
- adds r0, r1, 0
- movs r1, 0x1
- bl Sin
- ldrh r1, [r4, 0x32]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- strh r0, [r4, 0x26]
-_080E4FF6:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E4FAC
-
- thumb_func_start sub_80E5004
-sub_80E5004: @ 80E5004
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _080E50B4 @ =gUnknown_83FF9F4
- bl LoadSpriteSheet
- ldr r0, _080E50B8 @ =gUnknown_83FF9FC
- bl LoadSpritePalette
- ldr r0, _080E50BC @ =gUnknown_83FFA24
- mov r8, r0
- movs r1, 0xC8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- ldr r5, _080E50C0 @ =gUnknown_203AAB4
- ldr r1, [r5]
- strb r0, [r1, 0x3]
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080E50C4 @ =gSprites
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r5]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0x2
- strh r6, [r0, 0x2E]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080E50C8 @ =0x0000ffff
- strh r1, [r0, 0x32]
- mov r0, r8
- movs r1, 0xC8
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r5]
- strb r0, [r1, 0x3]
- ldr r2, [r5]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r6, [r0, 0x2E]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x32]
- movs r2, 0
- movs r3, 0x4
-_080E508C:
- ldr r0, [r5]
- adds r0, 0x3
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x1
- ble _080E508C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E50B4: .4byte gUnknown_83FF9F4
-_080E50B8: .4byte gUnknown_83FF9FC
-_080E50BC: .4byte gUnknown_83FFA24
-_080E50C0: .4byte gUnknown_203AAB4
-_080E50C4: .4byte gSprites
-_080E50C8: .4byte 0x0000ffff
- thumb_func_end sub_80E5004
-
- thumb_func_start sub_80E50CC
-sub_80E50CC: @ 80E50CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r7, _080E51E8 @ =gUnknown_203AAB4
- ldr r1, [r7]
- movs r4, 0x98
- lsls r4, 2
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080E51EC @ =gPlayerParty
- adds r0, r5
- adds r1, 0xE8
- bl GetMoveRelearnerMoves
- ldr r1, [r7]
- strb r0, [r1, 0x1A]
- ldr r1, [r7]
- adds r4, r1, r4
- ldrb r0, [r4]
- muls r0, r6
- adds r0, r5
- adds r1, 0xE8
- bl GetMoveRelearnerMoves
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, [r7]
- ldrb r0, [r0, 0x1A]
- cmp r5, r0
- bge _080E513C
- adds r6, r7, 0
- movs r7, 0xD
- movs r4, 0x8D
- lsls r4, 1
-_080E511A:
- ldr r1, [r6]
- adds r0, r1, r4
- lsls r2, r5, 1
- adds r1, 0xE8
- adds r1, r2
- ldrh r1, [r1]
- muls r1, r7
- ldr r2, _080E51F0 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- adds r4, 0xD
- adds r5, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x1A]
- cmp r5, r0
- blt _080E511A
-_080E513C:
- ldr r4, _080E51E8 @ =gUnknown_203AAB4
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E51EC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _080E51F4 @ =gStringVar1
- mov r1, sp
- bl StringCopy10
- ldr r0, [r4]
- ldrb r2, [r0, 0x1A]
- movs r1, 0xD
- muls r1, r2
- movs r7, 0x8D
- lsls r7, 1
- adds r1, r7
- adds r0, r1
- ldr r1, _080E51F8 @ =gFameCheckerText_Cancel
- bl StringCopy
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- adds r0, 0x1
- strb r0, [r1, 0x1A]
- movs r5, 0
- movs r3, 0x1
- add r3, r8
- mov r12, r3
- cmp r5, r8
- bge _080E51AA
- adds r6, r4, 0
- adds r4, r7, 0
-_080E518E:
- ldr r0, [r6]
- lsls r3, r5, 3
- adds r1, r0, 0
- adds r1, 0x20
- adds r1, r3
- adds r2, r0, r4
- str r2, [r1]
- adds r0, 0x24
- adds r0, r3
- str r5, [r0]
- adds r4, 0xD
- adds r5, 0x1
- cmp r5, r8
- blt _080E518E
-_080E51AA:
- ldr r4, _080E51E8 @ =gUnknown_203AAB4
- ldr r2, [r4]
- lsls r3, r5, 3
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
- ldr r1, _080E51F8 @ =gFameCheckerText_Cancel
- str r1, [r0]
- adds r2, 0x24
- adds r2, r3
- movs r0, 0xFE
- str r0, [r2]
- ldr r2, _080E51FC @ =gMultiuseListMenuTemplate
- adds r1, r2, 0
- ldr r0, _080E5200 @ =gUnknown_83FFA94
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, [r4]
- adds r0, 0x20
- str r0, [r2]
- mov r5, r12
- strh r5, [r2, 0xC]
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E51E8: .4byte gUnknown_203AAB4
-_080E51EC: .4byte gPlayerParty
-_080E51F0: .4byte gMoveNames
-_080E51F4: .4byte gStringVar1
-_080E51F8: .4byte gFameCheckerText_Cancel
-_080E51FC: .4byte gMultiuseListMenuTemplate
-_080E5200: .4byte gUnknown_83FFA94
- thumb_func_end sub_80E50CC
-
- thumb_func_start sub_80E5204
-sub_80E5204: @ 80E5204
- push {r4,r5,lr}
- ldr r4, _080E5258 @ =gUnknown_203AAB4
- ldr r0, [r4]
- ldr r1, _080E525C @ =0x00000263
- adds r0, r1
- ldrb r0, [r0]
- bl ListMenu_ProcessInput
- ldr r0, _080E5260 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E5284
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldr r2, _080E5264 @ =0x00000a67
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFE
- beq _080E5270
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _080E5268 @ =gStringVar2
- ldr r1, [r4]
- adds r2, r1, r2
- ldrb r3, [r2]
- movs r2, 0xD
- muls r2, r3
- movs r3, 0x8D
- lsls r3, 1
- adds r2, r3
- adds r1, r2
- bl StringCopy
- ldr r0, _080E526C @ =gUnknown_841E3FB
- bl sub_80E48C0
- b _080E529E
- .align 2, 0
-_080E5258: .4byte gUnknown_203AAB4
-_080E525C: .4byte 0x00000263
-_080E5260: .4byte gMain
-_080E5264: .4byte 0x00000a67
-_080E5268: .4byte gStringVar2
-_080E526C: .4byte gUnknown_841E3FB
-_080E5270:
- ldr r0, _080E5280 @ =gUnknown_841E4E2
- bl sub_80E48C0
- ldr r1, [r4]
- movs r0, 0xC
- strb r0, [r1]
- b _080E529E
- .align 2, 0
-_080E5280: .4byte gUnknown_841E4E2
-_080E5284:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E529E
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, _080E52DC @ =gUnknown_841E4E2
- bl sub_80E48C0
-_080E529E:
- ldr r0, _080E52E0 @ =gUnknown_203AAB4
- ldr r4, [r0]
- ldrb r0, [r4, 0x1A]
- cmp r0, 0x6
- bls _080E52FA
- ldr r2, _080E52E4 @ =gSprites
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x5
- negs r1, r1
- adds r3, r1, 0
- ands r3, r0
- mov r0, r12
- strb r3, [r0]
- adds r5, r2, 0
- adds r5, 0x82
- ldrb r0, [r5]
- adds r2, r1, 0
- ands r2, r0
- strb r2, [r5]
- ldrb r0, [r4, 0x19]
- cmp r0, 0
- bne _080E52E8
- movs r1, 0x4
- adds r0, r3, 0
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- b _080E52FA
- .align 2, 0
-_080E52DC: .4byte gUnknown_841E4E2
-_080E52E0: .4byte gUnknown_203AAB4
-_080E52E4: .4byte gSprites
-_080E52E8:
- ldrb r1, [r4, 0x19]
- ldrb r0, [r4, 0x1A]
- subs r0, 0x6
- cmp r1, r0
- bne _080E52FA
- movs r1, 0x4
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r5]
-_080E52FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E5204
-
- thumb_func_start sub_80E5300
-sub_80E5300: @ 80E5300
- push {r4,lr}
- ldr r0, _080E5330 @ =gMultiuseListMenuTemplate
- ldr r4, _080E5334 @ =gUnknown_203AAB4
- ldr r2, [r4]
- ldr r3, _080E5338 @ =0x00000a68
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrh r2, [r2]
- bl ListMenuInit
- ldr r1, [r4]
- ldr r2, _080E533C @ =0x00000263
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x6
- movs r1, 0x1
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5330: .4byte gMultiuseListMenuTemplate
-_080E5334: .4byte gUnknown_203AAB4
-_080E5338: .4byte 0x00000a68
-_080E533C: .4byte 0x00000263
- thumb_func_end sub_80E5300
-
- thumb_func_start sub_80E5340
-sub_80E5340: @ 80E5340
- push {r4,r5,lr}
- sub sp, 0x3C
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080E5380 @ =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x2]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x2
- movs r2, 0x1
- movs r3, 0x4
- bl BlitMoveInfoIcon
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bhi _080E5388
- ldr r1, _080E5384 @ =gText_ThreeHyphens
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80E559C
- b _080E53A6
- .align 2, 0
-_080E5380: .4byte gBattleMoves
-_080E5384: .4byte gText_ThreeHyphens
-_080E5388:
- ldrb r1, [r4, 0x1]
- add r0, sp, 0x8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- add r1, sp, 0x8
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80E559C
-_080E53A6:
- ldr r2, _080E53CC @ =gBattleMoves
- lsls r1, r5, 1
- adds r0, r1, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x3]
- adds r4, r1, 0
- cmp r2, 0
- bne _080E53D4
- ldr r1, _080E53D0 @ =gText_ThreeHyphens
- str r2, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1
- movs r3, 0x12
- bl sub_80E559C
- b _080E53F4
- .align 2, 0
-_080E53CC: .4byte gBattleMoves
-_080E53D0: .4byte gText_ThreeHyphens
-_080E53D4:
- ldrb r1, [r0, 0x3]
- add r0, sp, 0x8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x3
- add r1, sp, 0x8
- movs r2, 0x1
- movs r3, 0x12
- bl sub_80E559C
-_080E53F4:
- ldr r1, _080E543C @ =gBattleMoves
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x4
- add r1, sp, 0x8
- movs r2, 0x2
- movs r3, 0x2
- bl sub_80E559C
- ldr r1, _080E5440 @ =gMoveDescriptionPointers
- subs r0, r5, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x1
- movs r3, 0
- bl sub_80E559C
- add sp, 0x3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E543C: .4byte gBattleMoves
-_080E5440: .4byte gMoveDescriptionPointers
- thumb_func_end sub_80E5340
-
- thumb_func_start sub_80E5444
-sub_80E5444: @ 80E5444
- push {lr}
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x1
- movs r3, 0x4
- bl BlitMoveInfoIcon
- movs r0, 0x1
- movs r1, 0x14
- movs r2, 0
- movs r3, 0x4
- bl BlitMoveInfoIcon
- movs r0, 0x1
- movs r1, 0x15
- movs r2, 0
- movs r3, 0x13
- bl BlitMoveInfoIcon
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x1
- movs r3, 0x13
- bl BlitMoveInfoIcon
- movs r0, 0
- movs r1, 0x17
- movs r2, 0x1
- movs r3, 0x22
- bl BlitMoveInfoIcon
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x7
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80E5444
-
- thumb_func_start sub_80E54C0
-sub_80E54C0: @ 80E54C0
- push {r4,r5,lr}
- ldr r0, _080E54E0 @ =gUnknown_203AAB4
- ldr r1, [r0]
- ldr r0, _080E54E4 @ =0x00000a67
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0xFE
- beq _080E54E8
- lsls r0, 1
- adds r1, 0xE8
- adds r1, r0
- ldrh r0, [r1]
- bl sub_80E5340
- b _080E5504
- .align 2, 0
-_080E54E0: .4byte gUnknown_203AAB4
-_080E54E4: .4byte 0x00000a67
-_080E54E8:
- movs r5, 0x2
-_080E54EA:
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r5, 0x1
- cmp r5, 0x5
- ble _080E54EA
-_080E5504:
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x7
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E54C0
-
- thumb_func_start sub_80E553C
-sub_80E553C: @ 80E553C
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _080E5560
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080E5568 @ =gUnknown_203AAB4
- ldr r0, [r2]
- ldr r1, _080E556C @ =0x0000025f
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _080E5570 @ =0x00000a67
- adds r0, r1
- strb r4, [r0]
-_080E5560:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5568: .4byte gUnknown_203AAB4
-_080E556C: .4byte 0x0000025f
-_080E5570: .4byte 0x00000a67
- thumb_func_end sub_80E553C
-
- thumb_func_start sub_80E5574
-sub_80E5574: @ 80E5574
- push {r4,lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080E5594
- movs r0, 0x6
- bl PutWindowTilemap
- movs r0, 0x6
- movs r1, 0x1
- bl CopyWindowToVram
-_080E5594:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5574
-
- thumb_func_start sub_80E559C
-sub_80E559C: @ 80E559C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r1
- ldr r4, [sp, 0x38]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r0, 0x1
- mov r8, r0
- mov r9, r0
- cmp r4, 0x1
- bhi _080E55C8
- movs r1, 0
- mov r8, r1
- mov r9, r1
-_080E55C8:
- cmp r4, 0
- blt _080E5622
- cmp r4, 0x1
- ble _080E55D6
- cmp r4, 0x2
- beq _080E5604
- b _080E5622
-_080E55D6:
- ldr r2, _080E55F4 @ =gUnknown_203AAB4
- ldr r0, [r2]
- ldr r1, _080E55F8 @ =0x00000a64
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _080E55FC @ =0x00000a65
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _080E5600 @ =0x00000a66
- b _080E561C
- .align 2, 0
-_080E55F4: .4byte gUnknown_203AAB4
-_080E55F8: .4byte 0x00000a64
-_080E55FC: .4byte 0x00000a65
-_080E5600: .4byte 0x00000a66
-_080E5604:
- ldr r2, _080E5678 @ =gUnknown_203AAB4
- ldr r0, [r2]
- ldr r1, _080E567C @ =0x00000a64
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _080E5680 @ =0x00000a65
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r2]
- adds r1, 0x1
-_080E561C:
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
-_080E5622:
- cmp r4, 0x1
- beq _080E563E
- ldr r0, _080E5678 @ =gUnknown_203AAB4
- ldr r0, [r0]
- ldr r1, _080E567C @ =0x00000a64
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FillWindowPixelBuffer
-_080E563E:
- mov r0, r8
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- ldr r0, _080E5678 @ =gUnknown_203AAB4
- ldr r0, [r0]
- ldr r1, _080E567C @ =0x00000a64
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x34]
- lsls r0, 24
- asrs r0, 24
- str r0, [sp, 0xC]
- mov r0, r10
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x3
- adds r2, r7, 0
- adds r3, r6, 0
- bl AddTextPrinterParameterized4
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5678: .4byte gUnknown_203AAB4
-_080E567C: .4byte 0x00000a64
-_080E5680: .4byte 0x00000a65
- thumb_func_end sub_80E559C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 63a894247..24125485e 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -12663,7 +12663,7 @@ sub_811C04C: @ 811C04C
ldr r6, _0811C0CC @ =gPlayerParty
ldr r5, _0811C0D0 @ =gEnemyParty
_0811C05C:
- ldr r0, _0811C0D4 @ =gUnknown_203B0D4
+ ldr r0, _0811C0D4 @ =gSelectedOrderFromParty
adds r0, r4, r0
ldrb r0, [r0]
subs r0, 0x1
@@ -12717,7 +12717,7 @@ _0811C096:
.align 2, 0
_0811C0CC: .4byte gPlayerParty
_0811C0D0: .4byte gEnemyParty
-_0811C0D4: .4byte gUnknown_203B0D4
+_0811C0D4: .4byte gSelectedOrderFromParty
_0811C0D8: .4byte gTrainerBattleOpponent_A
_0811C0DC: .4byte CB2_InitBattle
thumb_func_end sub_811C04C
@@ -13029,7 +13029,7 @@ _0811C3BC:
movs r1, 0
movs r2, 0x20
bl memset
- ldr r0, _0811C3DC @ =gUnknown_203B0D4
+ ldr r0, _0811C3DC @ =gSelectedOrderFromParty
ldrb r1, [r0]
ldrb r0, [r0, 0x1]
cmn r1, r0
@@ -13038,7 +13038,7 @@ _0811C3BC:
b _0811C3E2
.align 2, 0
_0811C3D8: .4byte gBlockSendBuffer
-_0811C3DC: .4byte gUnknown_203B0D4
+_0811C3DC: .4byte gSelectedOrderFromParty
_0811C3E0:
movs r0, 0x51
_0811C3E2:
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
new file mode 100644
index 000000000..5426cdfba
--- /dev/null
+++ b/asm/macros/battle_anim_script.inc
@@ -0,0 +1,285 @@
+@ commands
+
+ .macro loadspritegfx tag:req
+ .byte 0x0
+ .2byte \tag
+ .endm
+
+ .macro unloadspritegfx tag:req
+ .byte 0x1
+ .2byte \tag
+ .endm
+
+.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg
+ .byte 0x02
+ .4byte \template
+ .if \anim_battler == ANIM_TARGET
+ .byte 0x80 | (\subpriority_offset & 0x7F)
+ .else
+ .byte (\subpriority_offset & 0x7F)
+ .endif
+ .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
+.Lsprite_\@_1:
+ .2byte \argv
+.Lsprite_\@_2:
+ .endm
+
+ .macro createvisualtask addr:req, priority:req, argv:vararg
+ .byte 0x03
+ .4byte \addr
+ .byte \priority
+ .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
+.Lcreatetask_\@_1:
+ .2byte \argv
+.Lcreatetask_\@_2:
+ .endm
+
+ .macro delay param0:req
+ .byte 0x4
+ .byte \param0
+ .endm
+
+ .macro waitforvisualfinish
+ .byte 0x5
+ .endm
+
+ .macro hang1
+ .byte 0x6
+ .endm
+
+ .macro hang2
+ .byte 0x7
+ .endm
+
+ .macro end
+ .byte 0x8
+ .endm
+
+ .macro playse se:req
+ .byte 0x9
+ .2byte \se
+ .endm
+
+ .macro monbg battler:req
+ .byte 0xa
+ .byte \battler
+ .endm
+
+ .macro clearmonbg battler:req
+ .byte 0xb
+ .byte \battler
+ .endm
+
+ .macro setalpha eva:req, evb:req
+ .byte 0x0C
+ .2byte ((\evb) << 8) | (\eva)
+ .endm
+
+ .macro blendoff
+ .byte 0xd
+ .endm
+
+ .macro call param0:req
+ .byte 0xe
+ .4byte \param0
+ .endm
+
+ .macro return
+ .byte 0xf
+ .endm
+
+ .macro setarg param0:req, param1:req
+ .byte 0x10
+ .byte \param0
+ .2byte \param1
+ .endm
+
+ .macro choosetwoturnanim param0:req, param1:req
+ .byte 0x11
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro jumpifmoveturn param0:req, ptr:req
+ .byte 0x12
+ .byte \param0
+ .4byte \ptr
+ .endm
+
+ .macro goto ptr:req
+ .byte 0x13
+ .4byte \ptr
+ .endm
+
+ .macro fadetobg bg:req
+ .byte 0x14
+ .byte \bg
+ .endm
+
+ .macro restorebg
+ .byte 0x15
+ .endm
+
+ .macro waitbgfadeout
+ .byte 0x16
+ .endm
+
+ .macro waitbgfadein
+ .byte 0x17
+ .endm
+
+ .macro changebg bg:req
+ .byte 0x18
+ .byte \bg
+ .endm
+
+ .macro playsewithpan se:req, pan:req
+ .byte 0x19
+ .2byte \se
+ .byte \pan
+ .endm
+
+ .macro setpan pan:req
+ .byte 0x1a
+ .byte \pan
+ .endm
+
+ .macro panse_1B se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x1b
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro loopsewithpan se:req, pan:req, wait:req, times:req
+ .byte 0x1c
+ .2byte \se
+ .byte \pan
+ .byte \wait
+ .byte \times
+ .endm
+
+ .macro waitplaysewithpan se:req, pan:req, wait:req
+ .byte 0x1d
+ .2byte \se
+ .byte \pan
+ .byte \wait
+ .endm
+
+ .macro setbldcnt param0:req
+ .byte 0x1e
+ .2byte \param0
+ .endm
+
+ .macro createsoundtask addr:req, argv:vararg
+ .byte 0x1F
+ .4byte \addr
+ .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
+.Lcreatetask_1F_\@_1:
+ .2byte \argv
+.Lcreatetask_1F_\@_2:
+ .endm
+
+ .macro waitsound
+ .byte 0x20
+ .endm
+
+ .macro jumpargeq param0:req, param1:req, ptr:req
+ .byte 0x21
+ .byte \param0
+ .2byte \param1
+ .4byte \ptr
+ .endm
+
+ .macro monbg_22 battler:req
+ .byte 0x22
+ .byte \battler
+ .endm
+
+ .macro clearmonbg_23 battler:req
+ .byte 0x23
+ .byte \battler
+ .endm
+
+ .macro jumpifcontest ptr:req
+ .byte 0x24
+ .4byte \ptr
+ .endm
+
+ .macro fadetobgfromset param0:req, param1:req, param2:req
+ .byte 0x25
+ .byte \param0
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro panse_26 se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x26
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro panse_27 se:req, param1:req, param2:req, param3:req, param4:req
+ .byte 0x27
+ .2byte \se
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro monbgprio_28 battler:req
+ .byte 0x28
+ .byte \battler
+ .endm
+
+ .macro monbgprio_29
+ .byte 0x29
+ .endm
+
+ .macro monbgprio_2A battler:req
+ .byte 0x2a
+ .byte \battler
+ .endm
+
+ .macro invisible battler:req
+ .byte 0x2b
+ .byte \battler
+ .endm
+
+ .macro visible battler:req
+ .byte 0x2c
+ .byte \battler
+ .endm
+
+ .macro doublebattle_2D battler:req
+ .byte 0x2d
+ .byte \battler
+ .endm
+
+ .macro doublebattle_2E battler:req
+ .byte 0x2e
+ .byte \battler
+ .endm
+
+ .macro stopsound
+ .byte 0x2f
+ .endm
+
+@ useful macros
+ .macro jumpreteq value:req, ptr:req
+ jumpargeq ARG_RET_ID, \value, \ptr
+ .endm
+
+ .macro jumprettrue ptr:req
+ jumpreteq TRUE, \ptr
+ .endm
+
+ .macro jumpretfalse ptr:req
+ jumpreteq FALSE, \ptr
+ .endm
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
deleted file mode 100644
index ba64bdbe8..000000000
--- a/asm/map_name_popup.s
+++ /dev/null
@@ -1,490 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8098110
-sub_8098110: @ 8098110
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080981A2
- ldr r0, _08098178 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080981A2
- ldr r5, _0809817C @ =sub_80981AC
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- bne _08098188
- adds r0, r5, 0
- movs r1, 0x5A
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- ldr r1, _08098180 @ =0xffffef7f
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
- ldr r1, _08098184 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xC]
- strh r6, [r0, 0x18]
- b _080981A2
- .align 2, 0
-_08098178: .4byte gUnknown_203ADFA
-_0809817C: .4byte sub_80981AC
-_08098180: .4byte 0xffffef7f
-_08098184: .4byte gTasks
-_08098188:
- ldr r0, _080981A8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _0809819E
- movs r0, 0x4
- strh r0, [r1, 0x8]
-_0809819E:
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080981A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080981A8: .4byte gTasks
- thumb_func_end sub_8098110
-
- thumb_func_start sub_80981AC
-sub_80981AC: @ 80981AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080981D0 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bls _080981C6
- b _080982DE
-_080981C6:
- lsls r0, 2
- ldr r1, _080981D4 @ =_080981D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080981D0: .4byte gTasks
-_080981D4: .4byte _080981D8
- .align 2, 0
-_080981D8:
- .4byte _080981FC
- .4byte _0809820E
- .4byte _08098218
- .4byte _08098234
- .4byte _0809824C
- .4byte _080982DE
- .4byte _0809827E
- .4byte _080982A6
- .4byte _080982D6
-_080981FC:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8098340
- strh r0, [r4, 0x10]
- movs r0, 0x1
- strh r0, [r4, 0x12]
- strh r0, [r4, 0x8]
- b _080982DE
-_0809820E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080982DE
-_08098218:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x18
- negs r1, r1
- cmp r0, r1
- bgt _080982DE
- movs r0, 0x3
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080982DE
-_08098234:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080982DE
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080982DE
-_0809824C:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- blt _080982DE
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08098278
- ldrh r0, [r4, 0x10]
- bl sub_8098400
- ldrb r0, [r4, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xE]
- b _080982DE
-_08098278:
- movs r0, 0x6
- strh r0, [r4, 0x8]
- b _080982E6
-_0809827E:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080982A0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080982A0
- ldrb r0, [r4, 0x10]
- bl rbox_fill_rectangle
- ldrb r0, [r4, 0x10]
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080982A0:
- movs r0, 0x7
- strh r0, [r4, 0x8]
- b _080982E6
-_080982A6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080982E6
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080982C6
- ldrb r0, [r4, 0x10]
- bl RemoveWindow
- strh r5, [r4, 0x12]
- movs r0, 0x1
- strh r0, [r4, 0x16]
-_080982C6:
- movs r0, 0x8
- strh r0, [r4, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _080982E6
-_080982D6:
- adds r0, r2, 0
- bl DestroyTask
- b _080982E6
-_080982DE:
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
-_080982E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80981AC
-
- thumb_func_start sub_80982EC
-sub_80982EC: @ 80982EC
- push {lr}
- ldr r0, _08098318 @ =sub_80981AC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08098312
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0809831C @ =gTasks+0x8
- adds r1, r0, r1
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x5
- bgt _08098312
- movs r0, 0x6
- strh r0, [r1]
-_08098312:
- pop {r0}
- bx r0
- .align 2, 0
-_08098318: .4byte sub_80981AC
-_0809831C: .4byte gTasks+0x8
- thumb_func_end sub_80982EC
-
- thumb_func_start sub_8098320
-sub_8098320: @ 8098320
- push {lr}
- ldr r0, _0809833C @ =sub_80981AC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xFF
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809833C: .4byte sub_80981AC
- thumb_func_end sub_8098320
-
- thumb_func_start sub_8098340
-sub_8098340: @ 8098340
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, _08098378 @ =gUnknown_83D4164
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r6, 0x1D
- ldr r0, _0809837C @ =gMapHeader
- ldrb r0, [r0, 0x1A]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08098396
- cmp r0, 0x7F
- beq _08098384
- ldr r2, [sp]
- lsrs r1, r2, 24
- adds r1, 0x5
- lsls r1, 24
- ldr r0, _08098380 @ =0x00ffffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- movs r6, 0x27
- b _08098396
- .align 2, 0
-_08098378: .4byte gUnknown_83D4164
-_0809837C: .4byte gMapHeader
-_08098380: .4byte 0x00ffffff
-_08098384:
- ldr r2, [sp]
- lsrs r1, r2, 24
- adds r1, 0x8
- lsls r1, 24
- ldr r0, _080983B4 @ =0x00ffffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- movs r6, 0x2D
-_08098396:
- mov r0, sp
- bl AddWindow
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- beq _080983B8
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _080983C6
- .align 2, 0
-_080983B4: .4byte 0x00ffffff
-_080983B8:
- movs r0, 0x3
- bl stdpal_get
- ldr r1, _080983FC @ =gPlttBufferUnfaded + 0x1A0
- movs r2, 0x10
- bl CpuSet
-_080983C6:
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_814FF6C
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xD
- bl DrawTextBorderOuter
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- bl sub_8098400
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r5, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080983FC: .4byte gPlttBufferUnfaded + 0x1A0
- thumb_func_end sub_8098340
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4-r6,lr}
- sub sp, 0x28
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0x70
- ldr r4, _08098478 @ =gMapHeader
- ldrb r1, [r4, 0x14]
- add r0, sp, 0xC
- movs r2, 0
- bl GetMapName
- adds r2, r0, 0
- movs r0, 0x1A
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _08098434
- adds r1, r0, 0
- adds r0, r2, 0
- bl sub_809847C
- movs r0, 0x1A
- ldrsb r0, [r4, r0]
- movs r5, 0xB0
- cmp r0, 0x7F
- beq _08098434
- movs r5, 0x98
-_08098434:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- add r1, sp, 0xC
- bl GetStringWidth
- adds r4, r0, 0
- subs r4, r5, r4
- lsrs r4, 1
- lsls r5, r6, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x2
- add r2, sp, 0xC
- adds r3, r4, 0
- bl AddTextPrinterParameterized
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098478: .4byte gMapHeader
- thumb_func_end sub_8098400
-
- thumb_func_start sub_809847C
-sub_809847C: @ 809847C
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- asrs r1, 24
- cmp r1, 0
- beq _080984D2
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- cmp r1, 0x7F
- bne _080984A4
- ldr r1, _080984A0 @ =gUnknown_841D18D
- adds r0, r2, 0
- bl StringCopy
- b _080984D2
- .align 2, 0
-_080984A0: .4byte gUnknown_841D18D
-_080984A4:
- cmp r1, 0
- bge _080984B4
- movs r0, 0xBC
- strb r0, [r2]
- adds r2, 0x1
- negs r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
-_080984B4:
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- adds r1, r2, 0
- movs r0, 0xC0
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- adds r0, r2, 0
-_080984D2:
- pop {r1}
- bx r1
- thumb_func_end sub_809847C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 9b9fe037f..28bcd8ecb 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -1747,7 +1747,7 @@ _080558D4:
cmp r0, r1
beq _08055914
movs r0, 0x1
- bl sub_8098110
+ bl CreateMapNamePopupIfNotAlreadyRunning
_08055914:
add sp, 0x4
pop {r4,r5}
@@ -3282,7 +3282,7 @@ sub_805644C: @ 805644C
bl sub_81127F8
_0805649E:
bl ScriptContext2_Enable
- bl sub_80982EC
+ bl DismissMapNamePopup
b _080564BA
.align 2, 0
_080564A8: .4byte gUnknown_3005E88
@@ -3323,7 +3323,7 @@ sub_80564C8: @ 80564C8
cmp r0, 0x1
bne _0805650C
bl ScriptContext2_Enable
- bl sub_80982EC
+ bl DismissMapNamePopup
b _08056522
.align 2, 0
_08056508: .4byte gUnknown_3005E90
@@ -3824,7 +3824,7 @@ sub_8056918: @ 8056918
cmp r0, 0x4
bne _0805692C
movs r0, 0
- bl sub_8098110
+ bl CreateMapNamePopupIfNotAlreadyRunning
_0805692C:
bl sub_807DF7C
pop {r0}
@@ -4223,7 +4223,7 @@ _08056CA8:
cmp r0, 0x4
bne _08056CCA
movs r0, 0
- bl sub_8098110
+ bl CreateMapNamePopupIfNotAlreadyRunning
b _08056CCA
.align 2, 0
_08056CBC: .4byte gMapHeader
diff --git a/asm/party_menu.s b/asm/party_menu.s
index aab14bbf0..dfe4e02c0 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -1152,7 +1152,7 @@ sub_811F388: @ 811F388
muls r0, r4
ldr r1, _0811F3AC @ =gPlayerParty
adds r0, r1
- ldr r5, _0811F3B0 @ =gUnknown_203B0D4
+ ldr r5, _0811F3B0 @ =gSelectedOrderFromParty
bl sub_8127550
lsls r0, 24
cmp r0, 0
@@ -1163,7 +1163,7 @@ sub_811F388: @ 811F388
b _0811F3F8
.align 2, 0
_0811F3AC: .4byte gPlayerParty
-_0811F3B0: .4byte gUnknown_203B0D4
+_0811F3B0: .4byte gSelectedOrderFromParty
_0811F3B4:
adds r1, 0x2
lsls r1, 24
@@ -11131,7 +11131,7 @@ _0812418C:
adds r0, r1
mov r10, r0
_081241B6:
- ldr r0, _0812420C @ =gUnknown_203B0D4
+ ldr r0, _0812420C @ =gSelectedOrderFromParty
adds r4, r5, r0
ldrb r0, [r4]
cmp r0, 0
@@ -11168,7 +11168,7 @@ _081241FC: .4byte gUnknown_8416B16
_08124200: .4byte gUnknown_203B09C
_08124204: .4byte gUnknown_203B0A0
_08124208: .4byte gTasks
-_0812420C: .4byte gUnknown_203B0D4
+_0812420C: .4byte gSelectedOrderFromParty
_08124210: .4byte gUnknown_203B0B4
_08124214: .4byte sub_811FB28
_08124218:
@@ -11237,7 +11237,7 @@ sub_8124278: @ 8124278
adds r0, 0xD
bl sub_8121CE4
movs r4, 0
- ldr r3, _081242C0 @ =gUnknown_203B0D4
+ ldr r3, _081242C0 @ =gSelectedOrderFromParty
ldr r6, _081242C4 @ =gUnknown_203B0A0
adds r5, r6, 0
_0812429E:
@@ -11257,7 +11257,7 @@ _0812429E:
b _081242E6
.align 2, 0
_081242BC: .4byte gUnknown_203B09C
-_081242C0: .4byte gUnknown_203B0D4
+_081242C0: .4byte gSelectedOrderFromParty
_081242C4: .4byte gUnknown_203B0A0
_081242C8:
ldrb r0, [r3, 0x1]
@@ -11287,7 +11287,7 @@ _081242E6:
movs r0, 0x1
movs r2, 0x1
bl sub_8121C70
- ldr r4, _08124348 @ =gUnknown_203B0D4
+ ldr r4, _08124348 @ =gSelectedOrderFromParty
ldrb r0, [r4]
cmp r0, 0
beq _08124312
@@ -11324,7 +11324,7 @@ _08124328:
bx r0
.align 2, 0
_08124344: .4byte gUnknown_203B0B4
-_08124348: .4byte gUnknown_203B0D4
+_08124348: .4byte gSelectedOrderFromParty
_0812434C: .4byte gTasks
_08124350: .4byte sub_811FB28
thumb_func_end sub_8124278
@@ -17411,14 +17411,14 @@ _081274F8: .4byte sub_812773C
thumb_func_start sub_81274FC
sub_81274FC: @ 81274FC
push {lr}
- ldr r0, _0812750C @ =gUnknown_203B0D4
+ ldr r0, _0812750C @ =gSelectedOrderFromParty
movs r1, 0
movs r2, 0x3
bl memset
pop {r0}
bx r0
.align 2, 0
-_0812750C: .4byte gUnknown_203B0D4
+_0812750C: .4byte gSelectedOrderFromParty
thumb_func_end sub_81274FC
thumb_func_start sub_8127510
@@ -17564,18 +17564,18 @@ sub_81275F8: @ 81275F8
_08127618: .4byte gPlayerParty
_0812761C: .4byte gUnknown_203B0A0
_08127620:
- ldr r1, _0812762C @ =gUnknown_203B0D4
+ ldr r1, _0812762C @ =gSelectedOrderFromParty
ldrb r0, [r1, 0x2]
cmp r0, 0
bne _08127630
movs r0, 0x11
b _08127702
.align 2, 0
-_0812762C: .4byte gUnknown_203B0D4
+_0812762C: .4byte gSelectedOrderFromParty
_08127630:
movs r5, 0
_08127632:
- ldr r2, _081276DC @ =gUnknown_203B0D4
+ ldr r2, _081276DC @ =gSelectedOrderFromParty
adds r4, r2, r5
ldrb r0, [r4]
movs r1, 0x64
@@ -17618,7 +17618,7 @@ _0812767E:
adds r0, r2
movs r1, 0
ldrsh r4, [r0, r1]
- ldr r2, _081276DC @ =gUnknown_203B0D4
+ ldr r2, _081276DC @ =gSelectedOrderFromParty
adds r6, r2, r5
ldrb r0, [r6]
muls r0, r7
@@ -17660,18 +17660,18 @@ _081276D0:
bls _08127632
b _08127700
.align 2, 0
-_081276DC: .4byte gUnknown_203B0D4
+_081276DC: .4byte gSelectedOrderFromParty
_081276E0: .4byte gUnknown_203B09C
_081276E4: .4byte 0x00000236
_081276E8:
- ldr r2, _081276F4 @ =gUnknown_203B0D4
+ ldr r2, _081276F4 @ =gSelectedOrderFromParty
ldrb r0, [r2, 0x1]
cmp r0, 0
bne _08127700
movs r0, 0x12
b _08127702
.align 2, 0
-_081276F4: .4byte gUnknown_203B0D4
+_081276F4: .4byte gSelectedOrderFromParty
_081276F8:
movs r0, 0x13
b _08127702
@@ -17696,7 +17696,7 @@ sub_8127710: @ 8127710
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0
- ldr r3, _08127728 @ =gUnknown_203B0D4
+ ldr r3, _08127728 @ =gSelectedOrderFromParty
_0812771A:
adds r0, r1, r3
ldrb r0, [r0]
@@ -17705,7 +17705,7 @@ _0812771A:
movs r0, 0x1
b _08127738
.align 2, 0
-_08127728: .4byte gUnknown_203B0D4
+_08127728: .4byte gSelectedOrderFromParty
_0812772C:
adds r0, r1, 0x1
lsls r0, 24
@@ -17740,7 +17740,7 @@ sub_812773C: @ 812773C
.align 2, 0
_08127764: .4byte gTasks
_08127768:
- ldr r0, _08127780 @ =gUnknown_203B0D4
+ ldr r0, _08127780 @ =gSelectedOrderFromParty
ldrb r0, [r0]
cmp r0, 0
beq _08127784
@@ -17750,7 +17750,7 @@ _08127768:
bl sub_811FA78
b _0812779E
.align 2, 0
-_08127780: .4byte gUnknown_203B0D4
+_08127780: .4byte gSelectedOrderFromParty
_08127784:
movs r0, 0x1A
bl PlaySE
diff --git a/asm/save_menu_util.s b/asm/save_menu_util.s
deleted file mode 100644
index 8ebfc3731..000000000
--- a/asm/save_menu_util.s
+++ /dev/null
@@ -1,149 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SaveStatToString
-SaveStatToString: @ 80F7FCC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r5, r1, 0
- movs r1, 0xFC
- strb r1, [r5]
- adds r5, 0x1
- movs r0, 0x1
- strb r0, [r5]
- adds r5, 0x1
- strb r2, [r5]
- adds r5, 0x1
- strb r1, [r5]
- adds r5, 0x1
- movs r0, 0x3
- strb r0, [r5]
- adds r5, 0x1
- adds r2, 0x1
- strb r2, [r5]
- adds r5, 0x1
- cmp r3, 0x5
- bhi _080F80D8
- lsls r0, r3, 2
- ldr r1, _080F8008 @ =_080F800C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8008: .4byte _080F800C
- .align 2, 0
-_080F800C:
- .4byte _080F8024
- .4byte _080F8034
- .4byte _080F805C
- .4byte _080F8098
- .4byte _080F80A8
- .4byte _080F806C
-_080F8024:
- ldr r0, _080F8030 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- b _080F80D8
- .align 2, 0
-_080F8030: .4byte gSaveBlock2Ptr
-_080F8034:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080F8044
- movs r0, 0x1
- bl GetNationalPokedexCount
- b _080F804A
-_080F8044:
- movs r0, 0x1
- bl GetKantoPokedexCount
-_080F804A:
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- b _080F80D8
-_080F805C:
- ldr r4, _080F8068 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r0, r5, 0
- movs r2, 0
- b _080F8076
- .align 2, 0
-_080F8068: .4byte gSaveBlock2Ptr
-_080F806C:
- ldr r4, _080F8094 @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r0, r5, 0
- movs r2, 0x1
-_080F8076:
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- movs r0, 0xF0
- strb r0, [r5]
- adds r5, 0x1
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- b _080F80D8
- .align 2, 0
-_080F8094: .4byte gSaveBlock2Ptr
-_080F8098:
- ldr r0, _080F80A4 @ =gMapHeader
- ldrb r1, [r0, 0x14]
- adds r0, r5, 0
- bl sub_80C4DF8
- b _080F80D8
- .align 2, 0
-_080F80A4: .4byte gMapHeader
-_080F80A8:
- movs r4, 0x82
- lsls r4, 4
- movs r6, 0
- adds r7, r5, 0x1
-_080F80B0:
- lsls r0, r4, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080F80C0
- adds r6, 0x1
-_080F80C0:
- adds r4, 0x1
- ldr r0, _080F80E0 @ =0x00000827
- cmp r4, r0
- ble _080F80B0
- adds r0, r6, 0
- subs r0, 0x5F
- strb r0, [r5]
- adds r5, r7, 0
- movs r0, 0xA
- strb r0, [r5]
- movs r0, 0xFF
- strb r0, [r5, 0x1]
-_080F80D8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F80E0: .4byte 0x00000827
- thumb_func_end SaveStatToString
-
- .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 525293081..81b3b7efe 100644
--- a/asm/script_pokemon_util_80A0058.s
+++ b/asm/script_pokemon_util_80A0058.s
@@ -396,7 +396,7 @@ _080A034C: .4byte sub_80A0350
thumb_func_start sub_80A0350
sub_80A0350: @ 80A0350
push {lr}
- ldr r0, _080A0360 @ =gUnknown_203B0D4
+ ldr r0, _080A0360 @ =gSelectedOrderFromParty
ldrb r1, [r0]
cmp r1, 0
bne _080A0368
@@ -404,7 +404,7 @@ sub_80A0350: @ 80A0350
strh r1, [r0]
b _080A036E
.align 2, 0
-_080A0360: .4byte gUnknown_203B0D4
+_080A0360: .4byte gSelectedOrderFromParty
_080A0364: .4byte gSpecialVar_Result
_080A0368:
ldr r1, _080A0378 @ =gSpecialVar_Result
@@ -438,7 +438,7 @@ _080A0398: .4byte sub_80A039C
thumb_func_start sub_80A039C
sub_80A039C: @ 80A039C
push {r4,lr}
- ldr r0, _080A03B0 @ =gUnknown_203B0D4
+ ldr r0, _080A03B0 @ =gSelectedOrderFromParty
ldrb r4, [r0]
cmp r4, 0
bne _080A03B8
@@ -447,7 +447,7 @@ sub_80A039C: @ 80A039C
strh r4, [r0]
b _080A03C2
.align 2, 0
-_080A03B0: .4byte gUnknown_203B0D4
+_080A03B0: .4byte gSelectedOrderFromParty
_080A03B4: .4byte gSpecialVar_Result
_080A03B8:
bl ReducePlayerPartyToThree
@@ -481,7 +481,7 @@ ReducePlayerPartyToThree: @ 80A03D8
ldr r6, _080A0454 @ =gPlayerParty
adds r4, r7, 0
_080A03F4:
- ldr r0, _080A0458 @ =gUnknown_203B0D4
+ ldr r0, _080A0458 @ =gSelectedOrderFromParty
adds r1, r5, r0
ldrb r0, [r1]
cmp r0, 0
@@ -528,7 +528,7 @@ _080A042C:
bx r0
.align 2, 0
_080A0454: .4byte gPlayerParty
-_080A0458: .4byte gUnknown_203B0D4
+_080A0458: .4byte gSelectedOrderFromParty
_080A045C: .4byte 0x05000096
thumb_func_end ReducePlayerPartyToThree