summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_1.s72
-rw-r--r--asm/battle_9.s171
-rw-r--r--asm/cute_sketch.s1
-rw-r--r--asm/pokemon_storage_system.s1315
4 files changed, 1558 insertions, 1 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 980bd6a65..24553e020 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -794,6 +794,77 @@ _0800DAB0: .4byte 0x0600d000
_0800DAB4: .4byte gBattleTerrainPalette_BattleTower
thumb_func_end DrawMainBattleBackground
+.if DEBUG
+ thumb_func_start sub_800DAB8
+sub_800DAB8:
+.syntax divided
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ ldr r0, ._113
+ mov r1, #0xc0
+ lsl r1, r1, #0x13
+ bl LZDecompressVram
+ ldr r0, ._113 + 4
+ ldr r4, ._113 + 8
+ mov r2, #0x80
+ lsl r2, r2, #0x4
+ add r1, r4, #0
+ bl gMysteryEventScriptCmdTableEnd+0x3cb4 @ uh, what?
+ ldr r0, ._113 + 12
+ mov r1, #0x0
+ mov r2, #0x40
+ bl LoadCompressedPalette
+ bl sub_800D74C
+ bl DrawMainBattleBackground
+ ldr r0, ._113 + 16
+ ldrh r1, [r0]
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._112 @cond_branch
+ ldr r0, ._113 + 20
+ mov r1, #0x0
+ add r2, r4, #0
+ mov r3, #0x1
+ bl debug_sub_8008218
+ ldr r5, ._113 + 24
+ mov r4, #0x1
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x1
+ mov r3, #0x3
+ bl debug_sub_8008264
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x15
+ mov r3, #0x3
+ bl debug_sub_8008264
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x29
+ mov r3, #0x3
+ bl debug_sub_8008264
+._112:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._114:
+ .align 2, 0
+._113:
+ .word gUnknown_08D00000
+ .word gUnknown_08D00524
+ .word 0x600c000
+ .word gUnknown_08D004E0
+ .word gBattleTypeFlags
+ .word 0x6000600
+ .word 0x101
+.syntax unified
+ thumb_func_end sub_800DAB8
+.else
thumb_func_start sub_800DAB8
sub_800DAB8: @ 800DAB8
push {lr}
@@ -820,6 +891,7 @@ _0800DAEC: .4byte gUnknown_08D00524
_0800DAF0: .4byte 0x0600c000
_0800DAF4: .4byte gUnknown_08D004E0
thumb_func_end sub_800DAB8
+.endif
thumb_func_start sub_800DAF8
sub_800DAF8: @ 800DAF8
diff --git a/asm/battle_9.s b/asm/battle_9.s
index 9dbb7c619..62e2baae6 100644
--- a/asm/battle_9.s
+++ b/asm/battle_9.s
@@ -1387,6 +1387,176 @@ _08036AFE:
bx r1
thumb_func_end AI_ShouldSwitch
+.if DEBUG
+ thumb_func_start sub_8036B0C
+sub_8036B0C:
+.syntax divided
+ push {r4, r5, r6, lr}
+ ldr r5, ._205
+ ldrh r1, [r5]
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._197 @cond_branch
+ b ._216
+._197:
+ bl AI_ShouldSwitch
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._199 @cond_branch
+ b ._200
+._199:
+ ldr r4, ._205 + 4
+ ldr r0, ._205 + 8
+ ldrb r0, [r0]
+ bl GetBankIdentity
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ ldr r1, ._205 + 12
+ add r0, r0, r1
+ add r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #0x6
+ bne ._201 @cond_branch
+ bl sub_8036CD4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ bne ._211 @cond_branch
+ ldrh r1, [r5]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._203 @cond_branch
+ mov r0, #0x1
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r6, r5, #0
+ b ._204
+._206:
+ .align 2, 0
+._205:
+ .word gBattleTypeFlags
+ .word +0x2000000
+ .word gActiveBank
+ .word 0x160c8
+._203:
+ mov r0, #0x1
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ mov r0, #0x3
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+._204:
+ mov r4, #0x0
+._212:
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._214
+ add r0, r0, r1
+ mov r1, #0x39
+ bl GetMonData
+ cmp r0, #0
+ beq ._210 @cond_branch
+ ldr r1, ._214 + 4
+ lsl r0, r6, #0x1
+ add r0, r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ lsl r0, r5, #0x1
+ add r0, r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ ldr r1, ._214 + 8
+ ldr r2, ._214 + 12
+ add r0, r6, r2
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ add r0, r5, r2
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r4, r0
+ bne ._211 @cond_branch
+._210:
+ add r4, r4, #0x1
+ cmp r4, #0x5
+ ble ._212 @cond_branch
+._211:
+ ldr r0, ._214 + 16
+ ldrb r0, [r0]
+ bl GetBankIdentity
+ ldr r1, ._214 + 8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ ldr r3, ._214 + 20
+ add r0, r0, r3
+ add r0, r0, r1
+ strb r4, [r0]
+._201:
+ ldr r4, ._214 + 16
+ ldrb r0, [r4]
+ bl GetBankIdentity
+ ldr r2, ._214 + 8
+ ldrb r1, [r4]
+ ldr r3, ._214 + 12
+ add r1, r1, r3
+ add r1, r1, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ add r3, r3, #0x60
+ add r0, r0, r3
+ add r0, r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ b ._217
+._215:
+ .align 2, 0
+._214:
+ .word gEnemyParty
+ .word gBattlePartyID
+ .word +0x2000000
+ .word 0x16068
+ .word gActiveBank
+ .word 0x160c8
+._200:
+ ldr r0, ._218
+ ldrb r1, [r0]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._216 @cond_branch
+ bl AI_ShouldUseItem
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._217 @cond_branch
+._216:
+ ldr r0, ._218 + 4
+ ldrb r0, [r0]
+ mov r2, #0x1
+ eor r2, r2, r0
+ lsl r2, r2, #0x8
+ mov r0, #0x1
+ mov r1, #0x0
+ bl Emitcmd33
+._217:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._219:
+ .align 2, 0
+._218:
+ .word gUnknown_02023A14+0x50
+ .word gActiveBank
+.syntax unified
+ thumb_func_end sub_8036B0C
+.else
thumb_func_start sub_8036B0C
sub_8036B0C: @ 8036B0C
push {r4-r6,lr}
@@ -1540,6 +1710,7 @@ _08036C40:
.align 2, 0
_08036C48: .4byte gActiveBank
thumb_func_end sub_8036B0C
+.endif
thumb_func_start sub_8036C4C
sub_8036C4C: @ 8036C4C
diff --git a/asm/cute_sketch.s b/asm/cute_sketch.s
index 8cb6cdbd8..bc72a6ef5 100644
--- a/asm/cute_sketch.s
+++ b/asm/cute_sketch.s
@@ -5,7 +5,6 @@
.text
-
thumb_func_start sub_80FCB5C
sub_80FCB5C: @ 80FCB5C
push {r4-r7,lr}
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 5b5dfbdd5..b5f1f495f 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -1009,6 +1009,180 @@ _0809625C: .4byte gPokemonStorage + 0x8344
_08096260: .4byte gPCText_BOX
thumb_func_end ResetPokemonStorageSystem
+.ifdef DEBUG
+ thumb_func_start debug_sub_80A3904
+debug_sub_80A3904:
+.syntax divided
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xffffffe4
+ mov r0, #0x0
+ mov r8, r0
+ mov r7, r8
+ mov r1, #0x14
+ str r1, [sp, #0x18]
+ mov r2, #0xff
+ mov r9, r2
+._162:
+ mov r5, #0x0
+ cmp r7, #0
+ beq ._160 @cond_branch
+ mov r0, #0xe
+ mov r8, r0
+ b ._158
+._160:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x14]
+ mov r2, r8
+ lsl r1, r2, #0x2
+ add r1, r1, r8
+ lsl r3, r1, #0x4
+ sub r3, r3, r1
+ lsl r3, r3, #0x5
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x4
+ ldr r2, ._163
+ add r1, r1, r2
+ add r6, r3, r1
+ ldr r2, ._163 + 4
+ lsl r1, r7, #0x1
+ add r1, r1, r2
+ ldrh r4, [r1]
+ add r5, r5, #0x1
+ lsl r2, r5, #0x18
+ lsr r2, r2, #0x18
+ mov r1, #0x0
+ str r1, [sp]
+ str r1, [sp, #0x4]
+ mov r1, #0x1
+ mov sl, r1
+ str r1, [sp, #0x8]
+ str r0, [sp, #0xc]
+ add r0, r6, #0
+ add r1, r4, #0
+ mov r3, #0x20
+ bl CreateBoxMon
+ cmp r4, #0
+ beq ._157 @cond_branch
+ cmp r4, #0xac
+ bne ._156 @cond_branch
+ add r0, sp, #0x10
+ mov r2, sl
+ strb r2, [r0]
+ add r0, r6, #0
+ mov r1, #0x2d
+ add r2, sp, #0x10
+ bl SetBoxMonData
+._156:
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r4, sp, #0x14
+ add r0, r6, #0
+ mov r1, #0x16
+ add r2, r4, #0
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x17
+ add r2, r4, #0
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x18
+ add r2, r4, #0
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x21
+ add r2, r4, #0
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x2f
+ add r2, r4, #0
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x30
+ add r2, r4, #0
+ bl SetBoxMonData
+ ldr r0, [sp, #0x18]
+ cmp r0, #0
+ beq ._157 @cond_branch
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x18]
+ mov r1, sl
+ str r1, [sp, #0x14]
+ add r0, r6, #0
+ mov r1, #0x32
+ add r2, r4, #0
+ bl SetBoxMonData
+._157:
+ add r0, r7, #1
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ lsl r0, r5, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x1d
+ bhi ._158 @cond_branch
+ cmp r7, #0
+ bne ._159 @cond_branch
+ b ._160
+._159:
+ mov r2, #0xe
+ mov r8, r2
+._158:
+ mov r0, r8
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r8, r0
+ cmp r0, #0xd
+ bhi ._161 @cond_branch
+ b ._162
+._161:
+ add sp, sp, #0x1c
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._164:
+ .align 2, 0
+._163:
+ .word gPokemonStorage+0x4
+ .word gUnknown_Debug_083E05F0
+.syntax unified
+ thumb_func_end debug_sub_80A3904
+.endif
+
thumb_func_start sub_8096264
sub_8096264: @ 8096264
push {r4-r6,lr}
@@ -1804,6 +1978,144 @@ sub_8096874: @ 8096874
bx lr
thumb_func_end sub_8096874
+.if DEBUG
+ thumb_func_start sub_8096884
+sub_8096884:
+.syntax divided
+ push {r4, lr}
+ ldr r0, ._223
+ ldr r1, ._223 + 4
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0x9
+ bls ._221 @cond_branch
+ b ._222
+._221:
+ lsl r0, r0, #0x2
+ ldr r1, ._223 + 8
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._224:
+ .align 2, 0
+._223:
+ .word gMain
+ .word 0x43c
+ .word ._225
+._225:
+ .word ._226
+ .word ._227
+ .word ._228
+ .word ._229
+ .word ._230
+ .word ._231
+ .word ._232
+ .word ._233
+ .word ._234
+ .word ._235
+._226:
+ mov r0, #0x0
+ bl SetVBlankCallback
+ mov r0, #0x80
+ lsl r0, r0, #0x13
+ mov r4, #0x0
+ strh r4, [r0]
+ bl sub_8096804
+ ldr r0, ._237
+ strb r4, [r0]
+ b ._250
+._238:
+ .align 2, 0
+._237:
+ .word unk_2038790
+._227:
+ ldr r0, ._240
+ bl Text_LoadWindowTemplate
+ b ._250
+._241:
+ .align 2, 0
+._240:
+ .word gWindowTemplate_81E6D00
+._228:
+ ldr r0, ._243
+ bl InitMenuWindow
+ bl Menu_EraseScreen
+ b ._250
+._244:
+ .align 2, 0
+._243:
+ .word gWindowTemplate_81E6D00
+._229:
+ bl sub_80967DC
+ bl sub_8096848
+ b ._250
+._230:
+ bl sub_8098B48
+ bl sub_809AA24
+ b ._250
+._231:
+ bl sub_8097DE0
+ b ._250
+._232:
+ bl sub_8097E70
+ b ._250
+._233:
+ bl sub_8098400
+ b ._250
+._234:
+ ldr r0, ._251
+ ldrb r0, [r0]
+ bl sub_8099BF8
+ ldr r2, ._251 + 4
+ ldr r1, ._251 + 8
+ add r0, r2, r1
+ mov r1, #0xa
+ strh r1, [r0]
+ ldr r1, ._251 + 12
+ add r2, r2, r1
+ ldr r1, ._251 + 16
+ strh r1, [r2]
+ bl sub_80F727C
+ bl sub_80F7404
+ b ._250
+._252:
+ .align 2, 0
+._251:
+ .word gPokemonStorage
+ .word +0x2000000
+ .word 0x12bc
+ .word 0x12be
+ .word 0xdacb
+._235:
+ bl sub_8096874
+ ldr r0, ._253
+ bl sub_8096BE0
+ ldr r0, ._253 + 4
+ bl SetMainCallback2
+ ldr r0, ._253 + 8
+ bl SetVBlankCallback
+._250:
+ ldr r1, ._253 + 12
+ ldr r0, ._253 + 16
+ add r1, r1, r0
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+._222:
+ pop {r4}
+ pop {r0}
+ bx r0
+._254:
+ .align 2, 0
+._253:
+ .word sub_8096BF0+1
+ .word sub_8096B38+1
+ .word sub_8096AFC+1
+ .word gMain
+ .word 0x43c
+.syntax unified
+ thumb_func_end sub_8096884
+.else
thumb_func_start sub_8096884
sub_8096884: @ 8096884
push {lr}
@@ -1922,6 +2234,7 @@ _08096994: .4byte sub_8096AFC
_08096998: .4byte gMain
_0809699C: .4byte 0x0000043c
thumb_func_end sub_8096884
+.endif
thumb_func_start sub_80969A0
sub_80969A0: @ 80969A0
@@ -2073,6 +2386,119 @@ _08096AF4: .4byte gMain
_08096AF8: .4byte 0x0000043c
thumb_func_end sub_80969A0
+.ifdef DEBUG
+
+ thumb_func_start debug_sub_80A4300
+debug_sub_80A4300:
+.syntax divided
+ push {lr}
+ ldr r1, ._296
+ mov r0, #0x0
+ strb r0, [r1]
+ ldr r1, ._296 + 4
+ mov r0, #0x0
+ strb r0, [r1, #0x5]
+ bl sub_8096884
+ ldr r0, ._296 + 8
+ ldr r1, [r0, #0x4]
+ ldr r0, ._296 + 12
+ cmp r1, r0
+ bne ._295 @cond_branch
+ ldr r1, ._296 + 16
+ mov r0, #0x1
+ strb r0, [r1]
+._295:
+ pop {r0}
+ bx r0
+._297:
+ .align 2, 0
+._296:
+ .word gUnknown_0203847D
+ .word +0x2000000
+ .word gMain
+ .word sub_8096B38+1
+ .word unk_2038790
+.syntax unified
+ thumb_func_end debug_sub_80A4300
+
+ thumb_func_start debug_sub_80A433C
+debug_sub_80A433C:
+.syntax divided
+ push {lr}
+ ldr r2, ._298
+ str r1, [r2]
+ ldr r1, ._298 + 4
+ str r0, [r1]
+ ldr r0, ._298 + 8
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+._299:
+ .align 2, 0
+._298:
+ .word unk_2038794
+ .word unk_2038798
+ .word debug_sub_80A4300+1
+.syntax unified
+ thumb_func_end debug_sub_80A433C
+
+ thumb_func_start debug_sub_80A435C
+debug_sub_80A435C:
+.syntax divided
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ ldr r5, ._303
+ ldrb r4, [r5, #0x4]
+ cmp r4, #0
+ beq ._300 @cond_branch
+ cmp r4, #0x1
+ beq ._301 @cond_branch
+ b ._308
+._304:
+ .align 2, 0
+._303:
+ .word +0x2000000
+._300:
+ ldr r0, ._306
+ ldr r0, [r0]
+ bl unref_sub_809CB94
+ mov r0, #0x1
+ neg r0, r0
+ str r4, [sp]
+ mov r1, #0x0
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldrb r0, [r5, #0x4]
+ add r0, r0, #0x1
+ strb r0, [r5, #0x4]
+ b ._308
+._307:
+ .align 2, 0
+._306:
+ .word unk_2038798
+._301:
+ bl UpdatePaletteFade
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._308 @cond_branch
+ ldr r0, ._309
+ ldr r0, [r0]
+ bl _call_via_r0
+._308:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._310:
+ .align 2, 0
+._309:
+ .word unk_2038794
+.syntax unified
+ thumb_func_end debug_sub_80A435C
+
+.endif
+
thumb_func_start sub_8096AFC
sub_8096AFC: @ 8096AFC
push {lr}
@@ -2269,6 +2695,438 @@ _08096C7A:
_08096C80: .4byte sub_8096C84
thumb_func_end sub_8096C68
+.if DEBUG
+ thumb_func_start sub_8096C84
+sub_8096C84:
+.syntax divided
+ push {r4, lr}
+ ldr r0, ._347
+ ldrb r0, [r0, #0x4]
+ cmp r0, #0x6
+ bls ._345 @cond_branch
+ b ._466
+._345:
+ lsl r0, r0, #0x2
+ ldr r1, ._347 + 4
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._348:
+ .align 2, 0
+._347:
+ .word +0x2000000
+ .word ._349
+._349:
+ .word ._350
+ .word ._351
+ .word ._352
+ .word ._353
+ .word ._354
+ .word ._355
+ .word ._356
+._350:
+ bl sub_809CA40
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r0, r0, #0x1
+ cmp r0, #0xf
+ bls ._357 @cond_branch
+ b ._466
+._357:
+ lsl r0, r0, #0x2
+ ldr r1, ._360
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._361:
+ .align 2, 0
+._360:
+ .word ._359
+._359:
+ .word ._362
+ .word ._466
+ .word ._466
+ .word ._365
+ .word ._366
+ .word ._367
+ .word ._368
+ .word ._369
+ .word ._370
+ .word ._371
+ .word ._372
+ .word ._373
+ .word ._374
+ .word ._375
+ .word ._376
+ .word ._377
+._362:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._379
+ mov r0, #0x1
+ strb r0, [r1, #0x4]
+ b ._466
+._380:
+ .align 2, 0
+._379:
+ .word +0x2000000
+._366:
+ ldr r4, ._383
+ ldrb r0, [r4, #0x5]
+ cmp r0, #0x2
+ beq ._381 @cond_branch
+ mov r0, #0x10
+ bl sub_8098898
+ mov r0, #0x3
+ strb r0, [r4, #0x4]
+ b ._466
+._384:
+ .align 2, 0
+._383:
+ .word +0x2000000
+._381:
+ bl sub_809B0D4
+ ldr r0, ._386
+ bl sub_8096BE0
+ b ._466
+._387:
+ .align 2, 0
+._386:
+ .word sub_8096FC8+1
+._367:
+ ldr r4, ._394
+ ldrb r0, [r4, #0x5]
+ cmp r0, #0x2
+ beq ._388 @cond_branch
+ b ._466
+._388:
+ bl sub_809BF20
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._391 @cond_branch
+ ldr r1, ._394 + 4
+ add r0, r4, r1
+ ldrh r0, [r0]
+ bl ItemIsMail
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._391 @cond_branch
+ b ._392
+._391:
+ ldr r0, ._394 + 8
+ bl sub_8096BE0
+ b ._466
+._395:
+ .align 2, 0
+._394:
+ .word +0x2000000
+ .word 0x11f2
+ .word sub_8097004+1
+._365:
+ ldr r0, ._399
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._396 @cond_branch
+ b ._466
+._396:
+ ldr r0, ._399 + 4
+ bl sub_8096BE0
+ b ._466
+._400:
+ .align 2, 0
+._399:
+ .word unk_2038790
+ .word sub_8097BA0+1
+._377:
+ ldr r0, ._404
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._401 @cond_branch
+ b ._466
+._401:
+ ldr r0, ._404 + 4
+ bl sub_8096BE0
+ b ._466
+._405:
+ .align 2, 0
+._404:
+ .word unk_2038790
+ .word sub_8097CC0+1
+._368:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._407
+ bl sub_8096BE0
+ b ._466
+._408:
+ .align 2, 0
+._407:
+ .word sub_809789C+1
+._369:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._410
+ bl sub_8096BE0
+ b ._466
+._411:
+ .align 2, 0
+._410:
+ .word sub_8097078+1
+._370:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r4, ._414
+ ldr r0, ._414 + 4
+ ldrb r0, [r0]
+ add r0, r0, #0x1
+ ldr r2, ._414 + 8
+ add r1, r4, r2
+ strh r0, [r1]
+ cmp r0, #0xd
+ ble ._416 @cond_branch
+ mov r0, #0x0
+ b ._413
+._415:
+ .align 2, 0
+._414:
+ .word +0x2000000
+ .word gPokemonStorage
+ .word 0x8b2
+._371:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r4, ._418
+ ldr r0, ._418 + 4
+ ldrb r0, [r0]
+ sub r0, r0, #0x1
+ ldr r2, ._418 + 8
+ add r1, r4, r2
+ strh r0, [r1]
+ cmp r0, #0
+ bge ._416 @cond_branch
+ mov r0, #0xd
+._413:
+ strh r0, [r1]
+._416:
+ ldrb r0, [r1]
+ bl sub_8099C70
+ mov r0, #0x2
+ strb r0, [r4, #0x4]
+ b ._466
+._419:
+ .align 2, 0
+._418:
+ .word +0x2000000
+ .word gPokemonStorage
+ .word 0x8b2
+._372:
+ bl sub_809BE80
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._428 @cond_branch
+ ldr r4, ._423
+ ldr r1, ._423 + 4
+ add r0, r4, r1
+ ldrh r0, [r0]
+ bl ItemIsMail
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._421 @cond_branch
+._392:
+ mov r0, #0x5
+ strb r0, [r4, #0x4]
+ b ._466
+._424:
+ .align 2, 0
+._423:
+ .word +0x2000000
+ .word 0x11f2
+._421:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._426
+ bl sub_8096BE0
+ b ._466
+._427:
+ .align 2, 0
+._426:
+ .word sub_809746C+1
+._374:
+ bl sub_809BE80
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._428 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._430
+ bl sub_8096BE0
+ b ._466
+._431:
+ .align 2, 0
+._430:
+ .word sub_80972A8+1
+._375:
+ bl sub_809BEBC
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._432 @cond_branch
+._428:
+ ldr r1, ._434
+ mov r0, #0x4
+ strb r0, [r1, #0x4]
+ b ._466
+._435:
+ .align 2, 0
+._434:
+ .word +0x2000000
+._432:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._437
+ bl sub_8096BE0
+ b ._466
+._438:
+ .align 2, 0
+._437:
+ .word c3_0808DC50+1
+._373:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._440
+ bl sub_8096BE0
+ b ._466
+._441:
+ .align 2, 0
+._440:
+ .word sub_8097390+1
+._376:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._443
+ bl sub_8096BE0
+ b ._466
+._444:
+ .align 2, 0
+._443:
+ .word sub_80972FC+1
+._351:
+ bl sub_809AC00
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._466 @cond_branch
+ bl sub_809BF48
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._446 @cond_branch
+ bl sub_80986E8
+ b ._447
+._446:
+ bl sub_8098710
+._447:
+ ldr r4, ._450
+ ldr r2, ._450 + 4
+ add r0, r4, r2
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._448 @cond_branch
+ bl BoxSetMosaic
+._448:
+ mov r0, #0x0
+ strb r0, [r4, #0x4]
+ b ._466
+._451:
+ .align 2, 0
+._450:
+ .word +0x2000000
+ .word 0x11f6
+._352:
+ bl sub_8099D34
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._466 @cond_branch
+ ldr r1, ._456
+ ldr r0, ._456 + 4
+ ldr r2, ._456 + 8
+ add r0, r0, r2
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldr r0, ._456 + 12
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne ._455 @cond_branch
+ bl sub_809BF20
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._455 @cond_branch
+ bl sub_809B440
+ bl BoxSetMosaic
+ b ._455
+._457:
+ .align 2, 0
+._456:
+ .word gPokemonStorage
+ .word +0x2000000
+ .word 0x8b2
+ .word gUnknown_0203847C
+._353:
+ ldr r0, ._460
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0xf3
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._466 @cond_branch
+ bl sub_8098A5C
+._455:
+ ldr r1, ._460 + 4
+ mov r0, #0x0
+ strb r0, [r1, #0x4]
+ b ._466
+._461:
+ .align 2, 0
+._460:
+ .word gMain
+ .word +0x2000000
+._354:
+ mov r0, #0x20
+ bl PlaySE
+ mov r0, #0xd
+ b ._462
+._355:
+ mov r0, #0x20
+ bl PlaySE
+ mov r0, #0x16
+._462:
+ bl sub_8098898
+ ldr r1, ._464
+ mov r0, #0x6
+ strb r0, [r1, #0x4]
+ b ._466
+._465:
+ .align 2, 0
+._464:
+ .word +0x2000000
+._356:
+ ldr r0, ._467
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0xf3
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._466 @cond_branch
+ bl sub_8098A5C
+ ldr r0, ._467 + 4
+ bl sub_8096BE0
+._466:
+ pop {r4}
+ pop {r0}
+ bx r0
+._468:
+ .align 2, 0
+._467:
+ .word gMain
+ .word sub_8096C84+1
+.syntax unified
+ thumb_func_end sub_8096C84
+.else
thumb_func_start sub_8096C84
sub_8096C84: @ 8096C84
push {r4,lr}
@@ -2636,6 +3494,7 @@ _08096FBA:
_08096FC0: .4byte gMain
_08096FC4: .4byte sub_8096C84
thumb_func_end sub_8096C84
+.endif
thumb_func_start sub_8096FC8
sub_8096FC8: @ 8096FC8
@@ -2730,6 +3589,317 @@ _08097070: .4byte 0x000011f6
_08097074: .4byte sub_8096C84
thumb_func_end sub_8097004
+.if DEBUG
+ thumb_func_start sub_8097078
+sub_8097078:
+.syntax divided
+ push {r4, lr}
+ ldr r0, ._495
+ ldrb r0, [r0, #0x4]
+ cmp r0, #0x5
+ bls ._493 @cond_branch
+ b ._597
+._493:
+ lsl r0, r0, #0x2
+ ldr r1, ._495 + 4
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._496:
+ .align 2, 0
+._495:
+ .word +0x2000000
+ .word ._497
+._497:
+ .word ._498
+ .word ._499
+ .word ._500
+ .word ._501
+ .word ._502
+ .word ._503
+._498:
+ mov r0, #0x4
+ bl sub_8098898
+ bl sub_809CE84
+ ldr r1, ._505
+ mov r0, #0x1
+ strb r0, [r1, #0x4]
+ b ._597
+._506:
+ .align 2, 0
+._505:
+ .word +0x2000000
+._499:
+ bl sub_809CF30
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ cmp r0, #0x21
+ bls ._507 @cond_branch
+ b ._597
+._507:
+ lsl r0, r0, #0x2
+ ldr r1, ._510
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._511:
+ .align 2, 0
+._510:
+ .word ._509
+._509:
+ .word ._513
+ .word ._513
+ .word ._514
+ .word ._515
+ .word ._516
+ .word ._517
+ .word ._518
+ .word ._519
+ .word ._520
+ .word ._521
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._597
+ .word ._545
+._513:
+ bl sub_8098A5C
+ ldr r0, ._547
+ bl sub_8096BE0
+ b ._597
+._548:
+ .align 2, 0
+._547:
+ .word sub_8096C84+1
+._516:
+ bl sub_809BE80
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._563 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._551
+ bl sub_8096BE0
+ b ._597
+._552:
+ .align 2, 0
+._551:
+ .word sub_80972A8+1
+._518:
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._554
+ bl sub_8096BE0
+ b ._597
+._555:
+ .align 2, 0
+._554:
+ .word sub_80972FC+1
+._517:
+ bl sub_809BEBC
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._563 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._558
+ bl sub_8096BE0
+ b ._597
+._559:
+ .align 2, 0
+._558:
+ .word c3_0808DC50+1
+._515:
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._561
+ bl sub_8096BE0
+ b ._597
+._562:
+ .align 2, 0
+._561:
+ .word sub_8097390+1
+._514:
+ bl sub_809BE80
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._563 @cond_branch
+ ldr r4, ._566
+ ldr r1, ._566 + 4
+ add r0, r4, r1
+ ldrh r0, [r0]
+ bl ItemIsMail
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._564 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._566 + 8
+ bl sub_8096BE0
+ b ._597
+._567:
+ .align 2, 0
+._566:
+ .word +0x2000000
+ .word 0x11f2
+ .word sub_809746C+1
+._520:
+ bl sub_809BE80
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._568 @cond_branch
+._563:
+ ldr r1, ._570
+ mov r0, #0x2
+ strb r0, [r1, #0x4]
+ b ._597
+._571:
+ .align 2, 0
+._570:
+ .word +0x2000000
+._568:
+ ldr r4, ._574
+ ldr r1, ._574 + 4
+ add r0, r4, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._572 @cond_branch
+ mov r0, #0x4
+ strb r0, [r4, #0x4]
+ b ._597
+._575:
+ .align 2, 0
+._574:
+ .word +0x2000000
+ .word 0x11f9
+._572:
+ ldr r1, ._578
+ add r0, r4, r1
+ ldrh r0, [r0]
+ bl ItemIsMail
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._576 @cond_branch
+._564:
+ mov r0, #0x3
+ strb r0, [r4, #0x4]
+ b ._597
+._579:
+ .align 2, 0
+._578:
+ .word 0x11f2
+._576:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._581
+ bl sub_8096BE0
+ b ._597
+._582:
+ .align 2, 0
+._581:
+ .word sub_8097594+1
+._519:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._584
+ bl sub_8096BE0
+ b ._597
+._585:
+ .align 2, 0
+._584:
+ .word sub_8097788+1
+._521:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._587
+ bl sub_8096BE0
+ b ._597
+._588:
+ .align 2, 0
+._587:
+ .word sub_80977E4+1
+._545:
+ mov r0, #0x5
+ bl PlaySE
+ bl sub_8098A5C
+ ldr r0, ._590
+ bl sub_8096BE0
+ b ._597
+._591:
+ .align 2, 0
+._590:
+ .word debug_sub_80A435C+1
+._500:
+ mov r0, #0x20
+ bl PlaySE
+ mov r0, #0xd
+ b ._593
+._502:
+ mov r0, #0x20
+ bl PlaySE
+ mov r0, #0x11
+ b ._593
+._501:
+ mov r0, #0x20
+ bl PlaySE
+ mov r0, #0x16
+._593:
+ bl sub_8098898
+ ldr r1, ._595
+ mov r0, #0x5
+ strb r0, [r1, #0x4]
+ b ._597
+._596:
+ .align 2, 0
+._595:
+ .word +0x2000000
+._503:
+ ldr r0, ._598
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0xf3
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._597 @cond_branch
+ bl sub_8098A5C
+ ldr r0, ._598 + 4
+ bl sub_8096BE0
+._597:
+ pop {r4}
+ pop {r0}
+ bx r0
+._599:
+ .align 2, 0
+._598:
+ .word gMain
+ .word sub_8096C84+1
+.syntax unified
+ thumb_func_end sub_8097078
+.else
thumb_func_start sub_8097078
sub_8097078: @ 8097078
push {r4,lr}
@@ -2970,6 +4140,7 @@ _0809729A:
_080972A0: .4byte gMain
_080972A4: .4byte sub_8096C84
thumb_func_end sub_8097078
+.endif
thumb_func_start sub_80972A8
sub_80972A8: @ 80972A8
@@ -13963,6 +15134,149 @@ sub_809CA8C: @ 809CA8C
bx r0
thumb_func_end sub_809CA8C
+.ifdef DEBUG
+ thumb_func_start debug_sub_80AA40C
+debug_sub_80AA40C:
+.syntax divided
+ push {lr}
+ bl sub_809AB8C
+ lsl r0, r0, #0x10
+ cmp r0, #0
+ beq ._2084 @cond_branch
+ bl sub_809CDCC
+ mov r0, #0x20
+ bl sub_809CDEC
+ mov r0, #0x6
+ bl sub_809CDEC
+ mov r0, #0x1
+ b ._2085
+._2084:
+ mov r0, #0x0
+._2085:
+ pop {r1}
+ bx r1
+.syntax unified
+ thumb_func_end debug_sub_80AA40C
+.endif
+
+.if DEBUG
+ thumb_func_start sub_809CAB0
+sub_809CAB0:
+.syntax divided
+ push {lr}
+ ldr r0, ._2088
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._2086 @cond_branch
+ bl debug_sub_80AA40C
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._2110
+._2089:
+ .align 2, 0
+._2088:
+ .word unk_2038790
+._2086:
+ bl sub_809CDCC
+ bl sub_809AB8C
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, ._2094
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x5]
+ cmp r0, #0x1
+ beq ._2090 @cond_branch
+ cmp r0, #0x1
+ bgt ._2091 @cond_branch
+ cmp r0, #0
+ beq ._2092 @cond_branch
+ b ._2108
+._2095:
+ .align 2, 0
+._2094:
+ .word gUnknown_083B6DB4
+._2091:
+ cmp r0, #0x2
+ beq ._2096 @cond_branch
+ b ._2108
+._2090:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x1
+ bl sub_809CDEC
+ b ._2109
+._2092:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x2
+ bl sub_809CDEC
+ b ._2109
+._2096:
+ ldr r0, ._2105
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._2102 @cond_branch
+ cmp r1, #0
+ beq ._2103 @cond_branch
+ mov r0, #0x4
+ bl sub_809CDEC
+ b ._2109
+._2106:
+ .align 2, 0
+._2105:
+ .word gUnknown_020384E6
+._2103:
+ mov r0, #0x5
+ bl sub_809CDEC
+ b ._2109
+._2102:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x3
+ bl sub_809CDEC
+ b ._2109
+._2108:
+ mov r0, #0x0
+ b ._2110
+._2109:
+ mov r0, #0x6
+ bl sub_809CDEC
+ ldr r0, ._2114
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x5]
+ cmp r0, #0x2
+ bne ._2113 @cond_branch
+ ldr r0, ._2114 + 4
+ ldrb r0, [r0]
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0
+ bne ._2112 @cond_branch
+ mov r0, #0x2
+ bl sub_809CDEC
+ b ._2113
+._2115:
+ .align 2, 0
+._2114:
+ .word gUnknown_083B6DB4
+ .word gUnknown_020384E4
+._2112:
+ mov r0, #0x1
+ bl sub_809CDEC
+._2113:
+ mov r0, #0x8
+ bl sub_809CDEC
+ mov r0, #0x7
+ bl sub_809CDEC
+ mov r0, #0x0
+ bl sub_809CDEC
+ mov r0, #0x1
+._2110:
+ pop {r1}
+ bx r1
+.syntax unified
+ thumb_func_end sub_809CAB0
+.else
thumb_func_start sub_809CAB0
sub_809CAB0: @ 809CAB0
push {lr}
@@ -14058,6 +15372,7 @@ _0809CB6E:
pop {r1}
bx r1
thumb_func_end sub_809CAB0
+.endif
thumb_func_start sub_809CB74
sub_809CB74: @ 809CB74