diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-04-03 20:44:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-03 20:44:48 -0500 |
commit | 22fec43f1812cb863ad699b357bd593222ae140c (patch) | |
tree | 4efa162869946a9bfdbde1be498857fac3db3b39 /asm/other_menus.s | |
parent | a2d206665c6fffbd962375f262b7fbb05c7b7478 (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.s | 1309 |
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 |