summaryrefslogtreecommitdiff
path: root/asm/other_menus.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-04-03 20:44:48 -0500
committerGitHub <noreply@github.com>2021-04-03 20:44:48 -0500
commit22fec43f1812cb863ad699b357bd593222ae140c (patch)
tree4efa162869946a9bfdbde1be498857fac3db3b39 /asm/other_menus.s
parenta2d206665c6fffbd962375f262b7fbb05c7b7478 (diff)
More menu work (#33)
* split adventure log menu out and decompile * add most adventure log matchings w/ 2 nonmatchings and move some relevant data * more work on other menus * fully decomp debug stuff around 203B3F0 * more debug menu work * fix CreatePartnerSelectionMenu nonmatch * move more data and clean some data up
Diffstat (limited to 'asm/other_menus.s')
-rw-r--r--asm/other_menus.s1309
1 files changed, 1 insertions, 1308 deletions
diff --git a/asm/other_menus.s b/asm/other_menus.s
index 39b5771..7168a67 100644
--- a/asm/other_menus.s
+++ b/asm/other_menus.s
@@ -5,497 +5,6 @@
.text
- thumb_func_start sub_8036FDC
-sub_8036FDC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl ResetSprites
- ldr r5, _080370C0
- ldr r0, [r5]
- cmp r0, 0
- bne _08037016
- ldr r4, _080370C4
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08037016:
- ldr r0, [r5]
- str r6, [r0]
- movs r1, 0
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- movs r3, 0
- adds r7, r5, 0
- movs r6, 0xE0
- lsls r6, 1
- movs r4, 0
- movs r5, 0xDE
- lsls r5, 1
-_0803702E:
- ldr r0, [r7]
- lsls r2, r3, 3
- adds r1, r0, r6
- adds r1, r2
- str r4, [r1]
- adds r0, r2
- adds r0, r5
- strb r4, [r0]
- adds r3, 0x1
- cmp r3, 0x1
- ble _0803702E
- ldr r0, _080370C0
- mov r12, r0
- movs r5, 0xAE
- lsls r5, 1
- mov r8, r5
- ldr r4, _080370C8
- movs r3, 0
- movs r2, 0x3
-_08037054:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08037054
- movs r6, 0
- bl ResetUnusedInputStruct
- ldr r5, _080370C0
- ldr r0, [r5]
- movs r4, 0xAE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, r4
- ldr r3, _080370CC
- ldr r2, _080370D0
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r0, [r5]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- bl sub_80376CC
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080370C0: .4byte gUnknown_203B35C
-_080370C4: .4byte 0x00000504
-_080370C8: .4byte gUnknown_80E653C
-_080370CC: .4byte gUnknown_80E6CD0
-_080370D0: .4byte gUnknown_80E6CE8
- thumb_func_end sub_8036FDC
-
- thumb_func_start sub_80370D4
-sub_80370D4:
- push {r4,lr}
- ldr r4, _080370EC
- ldr r0, [r4]
- cmp r0, 0
- beq _080370E6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080370E6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080370EC: .4byte gUnknown_203B35C
- thumb_func_end sub_80370D4
-
- thumb_func_start sub_80370F0
-sub_80370F0:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x4
- str r0, [sp]
- ldr r5, _08037110
- ldr r4, _08037114
- ldr r1, [r4]
- ldr r0, [r1, 0x8]
- cmp r0, 0x1
- beq _08037148
- cmp r0, 0x1
- bcc _08037118
- cmp r0, 0x2
- beq _08037158
- b _080371A8
- .align 2, 0
-_08037110: .4byte 0x0000ffdc
-_08037114: .4byte gUnknown_203B35C
-_08037118:
- adds r0, r1, 0
- adds r0, 0x1C
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _08037130
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
-_08037130:
- ldr r0, [sp]
- cmp r0, 0x4
- bne _0803713C
- bl sub_8037748
- b _080371A8
-_0803713C:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x8]
- bl sub_8037900
- b _080371A8
-_08037148:
- bl sub_80376CC
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x8]
- bl sub_80371B8
- b _080371A8
-_08037158:
- ldr r0, [r1]
- cmp r0, 0x1
- bhi _08037172
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08037172
- movs r0, 0
- bl sub_8037C10
- cmp r0, 0
- bne _08037172
- movs r0, 0x29
- b _080371AA
-_08037172:
- ldr r4, _080371B4
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _0803718C
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
-_0803718C:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080371A4
- movs r0, 0x3
- bl PlayMenuSoundEffect
- bl sub_8037798
- adds r5, r0, 0
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x8]
-_080371A4:
- bl sub_8037748
-_080371A8:
- adds r0, r5, 0
-_080371AA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080371B4: .4byte gUnknown_203B35C
- thumb_func_end sub_80370F0
-
- thumb_func_start sub_80371B8
-sub_80371B8:
- push {r4-r7,lr}
- sub sp, 0x10
- movs r6, 0
- movs r5, 0
- bl sub_8037400
- ldr r7, _0803721C
- ldr r1, [r7]
- ldr r0, [r1]
- cmp r0, 0x1
- bhi _08037228
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08037228
- movs r0, 0
- bl sub_8037C10
- cmp r0, 0
- bne _080371E0
- b _080373AC
-_080371E0:
- bl sub_80376CC
- ldr r0, [r7]
- movs r4, 0xAE
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, r4
- ldr r3, _08037220
- ldr r2, _08037224
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r0, [r7]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- b _080373AC
- .align 2, 0
-_0803721C: .4byte gUnknown_203B35C
-_08037220: .4byte gUnknown_80E6C50
-_08037224: .4byte gUnknown_80E6C68
-_08037228:
- bl sub_80376CC
- ldr r4, _08037250
- ldr r0, [r4]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0xF
- bls _08037246
- b _0803734C
-_08037246:
- lsls r0, 2
- ldr r1, _08037254
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037250: .4byte gUnknown_203B35C
-_08037254: .4byte _08037258
- .align 2, 0
-_08037258:
- .4byte _08037298
- .4byte _080372D8
- .4byte _080372B8
- .4byte _080372A8
- .4byte _080372C8
- .4byte _080372D8
- .4byte _080372E8
- .4byte _080372F8
- .4byte _0803734C
- .4byte _08037308
- .4byte _0803734C
- .4byte _08037318
- .4byte _0803734C
- .4byte _08037328
- .4byte _08037338
- .4byte _08037348
-_08037298:
- ldr r6, _080372A0
- ldr r5, _080372A4
- b _0803734C
- .align 2, 0
-_080372A0: .4byte gUnknown_80E66BC
-_080372A4: .4byte gUnknown_80E66D4
-_080372A8:
- ldr r6, _080372B0
- ldr r5, _080372B4
- b _0803734C
- .align 2, 0
-_080372B0: .4byte gUnknown_80E6D54
-_080372B4: .4byte gUnknown_80E6D6C
-_080372B8:
- ldr r6, _080372C0
- ldr r5, _080372C4
- b _0803734C
- .align 2, 0
-_080372C0: .4byte gUnknown_80E6DDC
-_080372C4: .4byte gUnknown_80E6DF4
-_080372C8:
- ldr r6, _080372D0
- ldr r5, _080372D4
- b _0803734C
- .align 2, 0
-_080372D0: .4byte gUnknown_80E67D4
-_080372D4: .4byte gUnknown_80E67EC
-_080372D8:
- ldr r6, _080372E0
- ldr r5, _080372E4
- b _0803734C
- .align 2, 0
-_080372E0: .4byte gUnknown_80E6748
-_080372E4: .4byte gUnknown_80E6760
-_080372E8:
- ldr r6, _080372F0
- ldr r5, _080372F4
- b _0803734C
- .align 2, 0
-_080372F0: .4byte gUnknown_80E689C
-_080372F4: .4byte gUnknown_80E68B4
-_080372F8:
- ldr r6, _08037300
- ldr r5, _08037304
- b _0803734C
- .align 2, 0
-_08037300: .4byte gUnknown_80E6938
-_08037304: .4byte gUnknown_80E6950
-_08037308:
- ldr r6, _08037310
- ldr r5, _08037314
- b _0803734C
- .align 2, 0
-_08037310: .4byte gUnknown_80E69B0
-_08037314: .4byte gUnknown_80E69C8
-_08037318:
- ldr r6, _08037320
- ldr r5, _08037324
- b _0803734C
- .align 2, 0
-_08037320: .4byte gUnknown_80E6A10
-_08037324: .4byte gUnknown_80E6A28
-_08037328:
- ldr r6, _08037330
- ldr r5, _08037334
- b _0803734C
- .align 2, 0
-_08037330: .4byte gUnknown_80E6A74
-_08037334: .4byte gUnknown_80E6A8C
-_08037338:
- ldr r6, _08037340
- ldr r5, _08037344
- b _0803734C
- .align 2, 0
-_08037340: .4byte gUnknown_80E6B78
-_08037344: .4byte gUnknown_80E6B90
-_08037348:
- ldr r6, _080373B4
- ldr r5, _080373B8
-_0803734C:
- ldr r4, _080373BC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- str r5, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- movs r2, 0
- adds r3, r6, 0
- bl SetMenuItems
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _080373AC
- ldr r0, [r4]
- cmp r0, 0
- bne _080373AC
- bl sub_8035D94
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080373AC
- ldr r3, [r2, 0x4]
- cmp r3, 0
- beq _080373AC
- ldr r0, _080373C0
- ldr r1, [r0]
- ldrb r0, [r2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, r3
- strh r0, [r1]
-_080373AC:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080373B4: .4byte gUnknown_80E6BF4
-_080373B8: .4byte gUnknown_80E6C0C
-_080373BC: .4byte gUnknown_203B35C
-_080373C0: .4byte gUnknown_203B460
- thumb_func_end sub_80371B8
-
- thumb_func_start sub_80373C4
-sub_80373C4:
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- bl sub_800CB20
- bl LoadBufferedInputs
- bl TransferBGPaletteBuffer
- bl xxx_call_update_bg_vram
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl ResetSprites
- pop {r0}
- bx r0
- thumb_func_end sub_80373C4
-
- thumb_func_start sub_80373F4
-sub_80373F4:
- ldr r0, _080373FC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080373FC: .4byte gUnknown_203B35C
- thumb_func_end sub_80373F4
-
thumb_func_start sub_8037400
sub_8037400:
push {r4-r6,lr}
@@ -1938,7 +1447,7 @@ _08037F5E:
stm r2!, {r3-r5}
movs r1, 0x6
strb r1, [r0]
- bl sub_8035D4C
+ bl GetMainMenu
cmp r0, 0
beq _08037F96
adds r1, r0, 0
@@ -2349,820 +1858,4 @@ _08038298:
bx r1
thumb_func_end sub_80381F4
- thumb_func_start CreateAdventureLogMenu
-CreateAdventureLogMenu:
- push {lr}
- movs r0, 0
- bl CreateAdventureLogScreen
- pop {r0}
- bx r0
- thumb_func_end CreateAdventureLogMenu
-
- thumb_func_start CleanAdventureLogMenu
-CleanAdventureLogMenu:
- push {lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- thumb_func_end CleanAdventureLogMenu
-
- thumb_func_start UpdateAdventureLogMenu
-UpdateAdventureLogMenu:
- push {r4,lr}
- ldr r4, _080382E0
- movs r0, 0x1
- bl HandleAdventureLogInput
- cmp r0, 0x1
- bls _080382D8
- cmp r0, 0x3
- bhi _080382D8
- bl sub_803203C
- movs r4, 0x1
-_080382D8:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080382E0: .4byte 0x0000ffdc
- thumb_func_end UpdateAdventureLogMenu
-
- thumb_func_start sub_80382E4
-sub_80382E4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- ldr r5, _08038398
- ldr r0, [r5]
- cmp r0, 0
- bne _0803830E
- movs r4, 0xDA
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803830E:
- mov r12, r5
- movs r0, 0xA4
- lsls r0, 1
- mov r9, r0
- ldr r4, _0803839C
- movs r3, 0
- movs r2, 0x3
-_0803831C:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803831C
- bl ResetUnusedInputStruct
- ldr r5, _08038398
- ldr r0, [r5]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r7, r8
- cmp r7, 0x25
- bne _08038370
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r6
- ldr r3, _080383A0
- ldr r2, _080383A4
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x4
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08038370:
- ldr r0, [r5]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r5]
- mov r0, r8
- str r0, [r1]
- movs r0, 0
- str r0, [r1, 0x4]
- bl sub_8038440
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08038398: .4byte gUnknown_203B360
-_0803839C: .4byte gUnknown_80E6E7C
-_080383A0: .4byte gUnknown_80E6E94
-_080383A4: .4byte gUnknown_80E6EAC
- thumb_func_end sub_80382E4
-
- thumb_func_start sub_80383A8
-sub_80383A8:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _080383D0
- ldr r0, [r4]
- cmp r0, 0
- beq _080383C8
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080383C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080383D0: .4byte gUnknown_203B360
- thumb_func_end sub_80383A8
-
- thumb_func_start sub_80383D4
-sub_80383D4:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r0, 0x2
- str r0, [sp]
- ldr r6, _08038410
- ldr r4, _08038414
- ldr r0, [r4]
- ldr r5, [r0, 0x4]
- cmp r5, 0
- bne _08038434
- adds r0, 0x8
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _080383FE
- ldr r0, [r4]
- adds r0, 0x8
- mov r1, sp
- bl sub_8013114
-_080383FE:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803842C
- cmp r0, 0x2
- bhi _08038418
- cmp r0, 0x1
- beq _0803841C
- b _08038430
- .align 2, 0
-_08038410: .4byte 0x0000ffdc
-_08038414: .4byte gUnknown_203B360
-_08038418:
- cmp r0, 0x3
- bne _08038430
-_0803841C:
- ldr r0, _08038428
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- movs r6, 0x1
- b _08038430
- .align 2, 0
-_08038428: .4byte gUnknown_203B360
-_0803842C:
- ldr r0, [r4]
- str r5, [r0, 0x4]
-_08038430:
- bl sub_80384D0
-_08038434:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80383D4
-
- thumb_func_start sub_8038440
-sub_8038440:
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, _080384B0
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0xD4
- lsls r3, 1
- add r3, r12
- ldrh r1, [r3]
- ldr r0, _080384B4
- ands r0, r1
- ldr r1, _080384B8
- ands r0, r1
- ldr r4, _080384BC
- ands r0, r4
- ldr r1, _080384C0
- ands r0, r1
- ldr r1, _080384C4
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080384C8
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _080384CC
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x4]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0xE0
- lsls r1, 3
- ldrh r0, [r3, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x6]
- movs r0, 0xD8
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080384B0: .4byte gUnknown_203B360
-_080384B4: .4byte 0x0000feff
-_080384B8: .4byte 0x0000fdff
-_080384BC: .4byte 0x0000f3ff
-_080384C0: .4byte 0x0000efff
-_080384C4: .4byte 0x0000dfff
-_080384C8: .4byte 0x00003fff
-_080384CC: .4byte 0x00000fff
- thumb_func_end sub_8038440
-
- thumb_func_start sub_80384D0
-sub_80384D0:
- push {r4,r5,lr}
- ldr r5, _08038508
- ldr r2, [r5]
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r2, r4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080384F6
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r2, r1
- subs r1, 0xA8
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080384F6:
- ldr r1, [r5]
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08038508: .4byte gUnknown_203B360
- thumb_func_end sub_80384D0
-
- thumb_func_start sub_803850C
-sub_803850C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- ldr r5, _0803859C
- ldr r0, [r5]
- cmp r0, 0
- bne _08038536
- movs r4, 0xDA
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08038536:
- mov r12, r5
- movs r0, 0xA4
- lsls r0, 1
- mov r9, r0
- ldr r4, _080385A0
- movs r3, 0
- movs r2, 0x3
-_08038544:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08038544
- bl ResetUnusedInputStruct
- ldr r4, _0803859C
- ldr r0, [r4]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r7, r8
- cmp r7, 0x2E
- bne _080385AC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r6
- ldr r3, _080385A4
- ldr r2, _080385A8
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _080385CE
- .align 2, 0
-_0803859C: .4byte gUnknown_203B364
-_080385A0: .4byte gUnknown_80E6F20
-_080385A4: .4byte gUnknown_80E6F38
-_080385A8: .4byte gUnknown_80E7090
-_080385AC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _080385F8
- ldr r2, _080385FC
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_080385CE:
- ldr r4, _08038600
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x4]
- mov r5, r8
- str r5, [r1]
- bl sub_8038830
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080385F8: .4byte gUnknown_80E6F38
-_080385FC: .4byte gUnknown_80E6F50
-_08038600: .4byte gUnknown_203B364
- thumb_func_end sub_803850C
-
- thumb_func_start sub_8038604
-sub_8038604:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803862C
- ldr r0, [r4]
- cmp r0, 0
- beq _08038624
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08038624:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803862C: .4byte gUnknown_203B364
- thumb_func_end sub_8038604
-
- thumb_func_start sub_8038630
-sub_8038630:
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r5, _080386A8
- movs r0, 0x3
- str r0, [sp, 0x14]
- ldr r6, _080386AC
- ldr r0, [r6]
- ldr r4, [r0, 0x4]
- cmp r4, 0x1
- bne _08038646
- b _08038798
-_08038646:
- cmp r4, 0x1
- bcc _0803864C
- b _08038824
-_0803864C:
- adds r0, 0x8
- bl sub_8012FD8
- movs r5, 0
- str r5, [sp, 0x10]
- bl sub_80140F8
- bl sub_8011C1C
- adds r1, r0, 0
- add r0, sp, 0x10
- bl sub_801203C
- adds r4, r0, 0
- bl sub_8014114
- cmp r4, 0
- beq _080386B8
- cmp r4, 0x1
- beq _08038738
- ldr r0, [r6]
- movs r4, 0xA4
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x2E
- bne _08038750
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r4
- ldr r3, _080386B0
- ldr r2, _080386B4
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _0803876E
- .align 2, 0
-_080386A8: .4byte 0x0000ffdc
-_080386AC: .4byte gUnknown_203B364
-_080386B0: .4byte gUnknown_80E6F38
-_080386B4: .4byte gUnknown_80E7114
-_080386B8:
- ldr r0, [r6]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x2E
- bne _080386F8
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _080386F0
- ldr r2, _080386F4
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _08038716
- .align 2, 0
-_080386F0: .4byte gUnknown_80E6F38
-_080386F4: .4byte gUnknown_80E70CC
-_080386F8:
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038728
- ldr r2, _0803872C
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08038716:
- ldr r4, _08038730
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2D
- bne _08038734
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r0, 0x13
- b _08038826
- .align 2, 0
-_08038728: .4byte gUnknown_80E6F38
-_0803872C: .4byte gUnknown_80E6FBC
-_08038730: .4byte gUnknown_203B364
-_08038734:
- adds r0, r1, 0
- b _08038772
-_08038738:
- ldr r0, _0803874C
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x5
- b _08038780
- .align 2, 0
-_0803874C: .4byte gUnknown_80E7178
-_08038750:
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038788
- ldr r2, _0803878C
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_0803876E:
- ldr r4, _08038790
- ldr r0, [r4]
-_08038772:
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r4]
- movs r0, 0x1
-_08038780:
- str r0, [r1, 0x4]
- ldr r5, _08038794
- b _08038824
- .align 2, 0
-_08038788: .4byte gUnknown_80E6F38
-_0803878C: .4byte gUnknown_80E701C
-_08038790: .4byte gUnknown_203B364
-_08038794: .4byte 0x0000ffdc
-_08038798:
- adds r0, 0x8
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _080387AE
- ldr r0, [r6]
- adds r0, 0x8
- add r1, sp, 0x14
- bl sub_8013114
-_080387AE:
- ldr r0, [sp, 0x14]
- cmp r0, 0x3
- beq _0803881C
- cmp r0, 0x3
- bhi _080387BE
- cmp r0, 0x2
- beq _080387C2
- b _08038820
-_080387BE:
- cmp r0, 0x4
- bne _08038820
-_080387C2:
- ldr r4, _080387D8
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x29
- beq _080387D0
- cmp r0, 0x2E
- bne _080387DC
-_080387D0:
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x1
- b _08038820
- .align 2, 0
-_080387D8: .4byte gUnknown_203B364
-_080387DC:
- cmp r0, 0x2D
- bne _080387E8
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x13
- b _08038820
-_080387E8:
- cmp r0, 0x2C
- bne _080387F4
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x1F
- b _08038820
-_080387F4:
- bl sub_8035D4C
- adds r0, 0x3A
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803880A
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x35
- b _08038820
-_0803880A:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x4]
- ldr r0, [r0]
- movs r5, 0xB
- cmp r0, 0x2B
- bne _08038820
- movs r5, 0xD
- b _08038820
-_0803881C:
- ldr r0, [r6]
- str r4, [r0, 0x4]
-_08038820:
- bl sub_80388C4
-_08038824:
- adds r0, r5, 0
-_08038826:
- add sp, 0x18
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8038630
-
- thumb_func_start sub_8038830
-sub_8038830:
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, _080388A4
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0xD4
- lsls r3, 1
- add r3, r12
- ldrh r1, [r3]
- ldr r0, _080388A8
- ands r0, r1
- ldr r1, _080388AC
- ands r0, r1
- ldr r4, _080388B0
- ands r0, r4
- ldr r1, _080388B4
- ands r0, r1
- ldr r1, _080388B8
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080388BC
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _080388C0
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x4]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0xD0
- lsls r1, 3
- ldrh r0, [r3, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x6]
- movs r0, 0xD8
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- movs r0, 0
- bl ResetSprites
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080388A4: .4byte gUnknown_203B364
-_080388A8: .4byte 0x0000feff
-_080388AC: .4byte 0x0000fdff
-_080388B0: .4byte 0x0000f3ff
-_080388B4: .4byte 0x0000efff
-_080388B8: .4byte 0x0000dfff
-_080388BC: .4byte 0x00003fff
-_080388C0: .4byte 0x00000fff
- thumb_func_end sub_8038830
-
- thumb_func_start sub_80388C4
-sub_80388C4:
- push {r4,r5,lr}
- ldr r5, _080388FC
- ldr r2, [r5]
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r2, r4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080388EA
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r2, r1
- subs r1, 0xA8
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080388EA:
- ldr r1, [r5]
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080388FC: .4byte gUnknown_203B364
- thumb_func_end sub_80388C4
-
.align 2,0