main menu through sub_800C780

This commit is contained in:
PikalaxALT
2019-10-07 14:06:47 -04:00
parent 2a7205dec6
commit 2fe6b6db8c
6 changed files with 239 additions and 564 deletions
-557
View File
@@ -5,563 +5,6 @@
.text
thumb_func_start sub_800C2D4
sub_800C2D4: @ 800C2D4
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_800C2D4
thumb_func_start sub_800C2EC
sub_800C2EC: @ 800C2EC
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_800C2EC
thumb_func_start sub_800C300
sub_800C300: @ 800C300
push {lr}
movs r0, 0x1
bl sub_800C318
pop {r0}
bx r0
thumb_func_end sub_800C300
thumb_func_start sub_800C30C
sub_800C30C: @ 800C30C
push {lr}
movs r0, 0x1
bl sub_800C318
pop {r0}
bx r0
thumb_func_end sub_800C30C
thumb_func_start sub_800C318
sub_800C318: @ 800C318
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
bl SetVBlankCallback
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0xC
movs r1, 0
bl SetGpuReg
movs r0, 0xA
movs r1, 0
bl SetGpuReg
movs r0, 0x8
movs r1, 0
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x16
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r1, _0800C4A0 @ =0x040000d4
mov r0, sp
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _0800C4A4 @ =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r5, 0
str r5, [sp, 0x4]
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _0800C4A8 @ =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
mov r0, sp
strh r5, [r0]
str r0, [r1]
ldr r0, _0800C4AC @ =0x05000002
str r0, [r1, 0x4]
ldr r0, _0800C4B0 @ =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetPaletteFade
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _0800C4B4 @ =gUnknown_8234690
movs r0, 0
movs r2, 0x1
bl InitBgsFromTemplates
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgY
ldr r0, _0800C4B8 @ =gUnknown_8234618
bl InitWindows
bl DeactivateAllTextPrinters
ldr r0, _0800C4BC @ =gUnknown_8234648
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, _0800C4C0 @ =gUnknown_8234668
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
movs r0, 0x40
movs r1, 0
bl SetGpuReg
movs r0, 0x44
movs r1, 0
bl SetGpuReg
movs r0, 0x48
movs r1, 0
bl SetGpuReg
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r0, _0800C4C4 @ =sub_800C2D4
bl SetMainCallback2
movs r1, 0xC1
lsls r1, 6
movs r0, 0
bl SetGpuReg
ldr r0, _0800C4C8 @ =sub_800C4D0
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, _0800C4CC @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r5, [r1, 0xA]
strh r4, [r1, 0x18]
movs r0, 0
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0800C4A0: .4byte 0x040000d4
_0800C4A4: .4byte 0x8100c000
_0800C4A8: .4byte 0x85000100
_0800C4AC: .4byte 0x05000002
_0800C4B0: .4byte 0x810001ff
_0800C4B4: .4byte gUnknown_8234690
_0800C4B8: .4byte gUnknown_8234618
_0800C4BC: .4byte gUnknown_8234648
_0800C4C0: .4byte gUnknown_8234668
_0800C4C4: .4byte sub_800C2D4
_0800C4C8: .4byte sub_800C4D0
_0800C4CC: .4byte gTasks
thumb_func_end sub_800C318
thumb_func_start sub_800C4D0
sub_800C4D0: @ 800C4D0
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _0800C538 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0
beq _0800C4E8
b _0800C626
_0800C4E8:
movs r0, 0x40
movs r1, 0
bl SetGpuReg
movs r0, 0x44
movs r1, 0
bl SetGpuReg
movs r0, 0x48
movs r1, 0x1
bl SetGpuReg
movs r0, 0x4A
movs r1, 0x21
bl SetGpuReg
movs r0, 0x50
movs r1, 0xFF
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0x7
bl SetGpuReg
ldr r0, _0800C53C @ =gSaveFileStatus
ldrh r4, [r0]
cmp r4, 0x2
beq _0800C58C
cmp r4, 0x2
bgt _0800C540
cmp r4, 0
beq _0800C5E8
cmp r4, 0x1
beq _0800C54A
b _0800C5E8
.align 2, 0
_0800C538: .4byte gPaletteFade
_0800C53C: .4byte gSaveFileStatus
_0800C540:
cmp r4, 0x4
beq _0800C60C
cmp r4, 0xFF
beq _0800C5B0
b _0800C5E8
_0800C54A:
movs r0, 0
bl sub_800D044
bl sub_806E2BC
cmp r0, 0x1
bne _0800C570
ldr r2, _0800C56C @ =gTasks
lsls r3, r5, 2
adds r0, r3, r5
lsls r0, 3
adds r0, r2
movs r1, 0x2
strh r1, [r0, 0x8]
adds r1, r2, 0
adds r2, r3, 0
b _0800C57E
.align 2, 0
_0800C56C: .4byte gTasks
_0800C570:
ldr r0, _0800C588 @ =gTasks
lsls r2, r5, 2
adds r1, r2, r5
lsls r1, 3
adds r1, r0
strh r4, [r1, 0x8]
adds r1, r0, 0
_0800C57E:
adds r0, r2, r5
lsls r0, 3
adds r0, r1
b _0800C5FC
.align 2, 0
_0800C588: .4byte gTasks
_0800C58C:
movs r0, 0
bl sub_800D094
ldr r0, _0800C5A8 @ =gTasks
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r0
strh r6, [r1, 0x8]
ldr r1, _0800C5AC @ =gUnknown_8415C42
adds r0, r5, 0
bl sub_800C634
b _0800C626
.align 2, 0
_0800C5A8: .4byte gTasks
_0800C5AC: .4byte gUnknown_8415C42
_0800C5B0:
movs r0, 0
bl sub_800D094
ldr r1, _0800C5DC @ =gTasks
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
movs r6, 0x1
strh r6, [r4, 0x8]
ldr r1, _0800C5E0 @ =gUnknown_8415BFF
adds r0, r5, 0
bl sub_800C634
bl sub_806E2BC
cmp r0, 0x1
bne _0800C5E4
movs r0, 0x2
strh r0, [r4, 0x8]
b _0800C626
.align 2, 0
_0800C5DC: .4byte gTasks
_0800C5E0: .4byte gUnknown_8415BFF
_0800C5E4:
strh r6, [r4, 0x8]
b _0800C626
_0800C5E8:
movs r0, 0
bl sub_800D044
ldr r1, _0800C604 @ =gTasks
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r0, r1
movs r1, 0
strh r1, [r0, 0x8]
_0800C5FC:
ldr r1, _0800C608 @ =sub_800C704
str r1, [r0]
b _0800C626
.align 2, 0
_0800C604: .4byte gTasks
_0800C608: .4byte sub_800C704
_0800C60C:
movs r0, 0
bl sub_800D094
ldr r0, _0800C62C @ =gTasks
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r0
strh r6, [r1, 0x8]
ldr r1, _0800C630 @ =gUnknown_8415C64
adds r0, r5, 0
bl sub_800C634
_0800C626:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0800C62C: .4byte gTasks
_0800C630: .4byte gUnknown_8415C64
thumb_func_end sub_800C4D0
thumb_func_start sub_800C634
sub_800C634: @ 800C634
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
adds r0, r1, 0
lsls r4, 24
lsrs r4, 24
bl sub_800CDF8
ldr r1, _0800C678 @ =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _0800C67C @ =sub_800C688
str r1, [r0]
movs r0, 0x1
negs r0, r0
ldr r1, _0800C680 @ =0x0000ffff
str r1, [sp]
movs r1, 0
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
movs r0, 0
bl ShowBg
ldr r0, _0800C684 @ =sub_800C2EC
bl SetVBlankCallback
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800C678: .4byte gTasks
_0800C67C: .4byte sub_800C688
_0800C680: .4byte 0x0000ffff
_0800C684: .4byte sub_800C2EC
thumb_func_end sub_800C634
thumb_func_start sub_800C688
sub_800C688: @ 800C688
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0800C6E0 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _0800C6F8
bl RunTextPrinters
movs r0, 0x4
bl IsTextPrinterActive
lsls r0, 16
cmp r0, 0
bne _0800C6F8
ldr r0, _0800C6E4 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0800C6F8
movs r0, 0x4
bl ClearWindowTilemap
ldr r0, _0800C6E8 @ =gUnknown_8234638
bl sub_800D1E8
movs r0, 0
bl sub_800D044
ldr r1, _0800C6EC @ =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r1, r0, r1
movs r2, 0x8
ldrsh r0, [r1, r2]
cmp r0, 0
bne _0800C6F4
ldr r0, _0800C6F0 @ =sub_800C704
b _0800C6F6
.align 2, 0
_0800C6E0: .4byte gPaletteFade
_0800C6E4: .4byte gMain
_0800C6E8: .4byte gUnknown_8234638
_0800C6EC: .4byte gTasks
_0800C6F0: .4byte sub_800C704
_0800C6F4:
ldr r0, _0800C700 @ =sub_800C7A0
_0800C6F6:
str r0, [r1]
_0800C6F8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800C700: .4byte sub_800C7A0
thumb_func_end sub_800C688
thumb_func_start sub_800C704
sub_800C704: @ 800C704
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0800C764 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _0800C774
movs r0, 0x40
movs r1, 0
bl SetGpuReg
movs r0, 0x44
movs r1, 0
bl SetGpuReg
movs r0, 0x48
movs r1, 0x1
bl SetGpuReg
movs r0, 0x4A
movs r1, 0x21
bl SetGpuReg
movs r0, 0x50
movs r1, 0xFF
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0x7
bl SetGpuReg
ldr r0, _0800C768 @ =gTasks
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
movs r2, 0x8
ldrsh r0, [r1, r2]
cmp r0, 0
bne _0800C770
ldr r0, _0800C76C @ =sub_800CA94
b _0800C772
.align 2, 0
_0800C764: .4byte gPaletteFade
_0800C768: .4byte gTasks
_0800C76C: .4byte sub_800CA94
_0800C770:
ldr r0, _0800C77C @ =sub_800C780
_0800C772:
str r0, [r1]
_0800C774:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800C77C: .4byte sub_800C780
thumb_func_end sub_800C704
thumb_func_start sub_800C780
sub_800C780: @ 800C780
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _0800C79C @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _0800C798
adds r0, r2, 0
bl sub_800C7A0
_0800C798:
pop {r0}
bx r0
.align 2, 0
_0800C79C: .4byte gPaletteFade
thumb_func_end sub_800C780
thumb_func_start sub_800C7A0
sub_800C7A0: @ 800C7A0
push {r4-r7,lr}