mirror of https://github.com/zeldaret/tmc.git
1713 lines
30 KiB
ArmAsm
1713 lines
30 KiB
ArmAsm
.include "asm/macros.inc"
|
|
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start CutsceneMain_Init
|
|
CutsceneMain_Init: @ 0x08053590
|
|
push {lr}
|
|
ldr r1, _080535A4 @ =gUnk_080FCBB4
|
|
ldr r0, _080535A8 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080535A4: .4byte gUnk_080FCBB4
|
|
_080535A8: .4byte gMenu
|
|
|
|
thumb_func_start sub_080535AC
|
|
sub_080535AC: @ 0x080535AC
|
|
push {lr}
|
|
ldr r2, _080535DC @ =gMenu
|
|
movs r1, #1
|
|
strb r1, [r2, #6]
|
|
movs r0, #0x78
|
|
strh r0, [r2, #8]
|
|
ldr r0, _080535E0 @ =gUnk_02032EC0
|
|
strb r1, [r0, #6]
|
|
ldr r0, _080535E4 @ =gUpdateVisibleTiles
|
|
strb r1, [r0]
|
|
ldr r2, _080535E8 @ =gScreen
|
|
ldrh r1, [r2]
|
|
ldr r0, _080535EC @ =0x0000FEFF
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _080535F0 @ =gUnk_080FCB94
|
|
bl LoadRoomEntityList
|
|
movs r0, #6
|
|
movs r1, #8
|
|
bl SetFade
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080535DC: .4byte gMenu
|
|
_080535E0: .4byte gUnk_02032EC0
|
|
_080535E4: .4byte gUpdateVisibleTiles
|
|
_080535E8: .4byte gScreen
|
|
_080535EC: .4byte 0x0000FEFF
|
|
_080535F0: .4byte gUnk_080FCB94
|
|
|
|
thumb_func_start sub_080535F4
|
|
sub_080535F4: @ 0x080535F4
|
|
push {lr}
|
|
ldr r0, _0805360C @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053608
|
|
bl ResetSystemPriority
|
|
ldr r1, _08053610 @ =gMenu
|
|
movs r0, #2
|
|
strb r0, [r1, #6]
|
|
_08053608:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805360C: .4byte gFadeControl
|
|
_08053610: .4byte gMenu
|
|
|
|
thumb_func_start nullsub_481
|
|
nullsub_481: @ 0x08053614
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08053618
|
|
sub_08053618: @ 0x08053618
|
|
push {lr}
|
|
ldr r1, _08053630 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _0805362C
|
|
bl sub_08052004
|
|
_0805362C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053630: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053634
|
|
sub_08053634: @ 0x08053634
|
|
push {lr}
|
|
ldr r1, _08053644 @ =gUnk_02032EC0
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
bl MessageInitialize
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053644: .4byte gUnk_02032EC0
|
|
|
|
thumb_func_start sub_08053648
|
|
sub_08053648: @ 0x08053648
|
|
push {lr}
|
|
movs r0, #0x2d
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl CreateObject
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08053674
|
|
ldr r0, _08053678 @ =gRoomControls
|
|
movs r3, #0xb4
|
|
lsls r3, r3, #2
|
|
adds r1, r3, #0
|
|
ldrh r3, [r0, #6]
|
|
adds r1, r1, r3
|
|
strh r1, [r2, #0x2e]
|
|
movs r3, #0xa4
|
|
lsls r3, r3, #1
|
|
adds r1, r3, #0
|
|
ldrh r0, [r0, #8]
|
|
adds r1, r1, r0
|
|
strh r1, [r2, #0x32]
|
|
_08053674:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053678: .4byte gRoomControls
|
|
|
|
thumb_func_start sub_0805367C
|
|
sub_0805367C: @ 0x0805367C
|
|
ldr r1, _08053688 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053688: .4byte gMenu
|
|
|
|
thumb_func_start sub_0805368C
|
|
sub_0805368C: @ 0x0805368C
|
|
push {lr}
|
|
movs r0, #6
|
|
movs r1, #0x5d
|
|
movs r2, #6
|
|
bl FindEntityByID
|
|
cmp r0, #0
|
|
beq _080536A6
|
|
bl DeleteEntity
|
|
movs r0, #0xf0
|
|
bl SoundReq
|
|
_080536A6:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080536A8
|
|
sub_080536A8: @ 0x080536A8
|
|
push {lr}
|
|
movs r0, #5
|
|
movs r1, #5
|
|
movs r2, #4
|
|
movs r3, #0x10
|
|
bl sub_080A71C4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080536B8
|
|
sub_080536B8: @ 0x080536B8
|
|
push {lr}
|
|
movs r0, #5
|
|
movs r1, #3
|
|
movs r2, #4
|
|
movs r3, #4
|
|
bl sub_080A71C4
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl SetFade
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080536D4
|
|
sub_080536D4: @ 0x080536D4
|
|
push {lr}
|
|
ldr r1, _080536E8 @ =gUnk_080FCCFC
|
|
ldr r0, _080536EC @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080536E8: .4byte gUnk_080FCCFC
|
|
_080536EC: .4byte gMenu
|
|
|
|
thumb_func_start sub_080536F0
|
|
sub_080536F0: @ 0x080536F0
|
|
push {lr}
|
|
ldr r1, _08053704 @ =gUnk_080FCD38
|
|
ldr r0, _08053708 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053704: .4byte gUnk_080FCD38
|
|
_08053708: .4byte gMenu
|
|
|
|
thumb_func_start sub_0805370C
|
|
sub_0805370C: @ 0x0805370C
|
|
push {lr}
|
|
ldr r1, _08053730 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
ldr r1, _08053734 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_08051FF0
|
|
ldr r0, _08053738 @ =gUnk_080FCC54
|
|
bl LoadRoomEntityList
|
|
movs r0, #4
|
|
movs r1, #0x10
|
|
bl SetFade
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053730: .4byte gMenu
|
|
_08053734: .4byte gUpdateVisibleTiles
|
|
_08053738: .4byte gUnk_080FCC54
|
|
|
|
thumb_func_start sub_0805373C
|
|
sub_0805373C: @ 0x0805373C
|
|
push {lr}
|
|
ldr r1, _08053750 @ =gUnk_080FCD40
|
|
ldr r0, _08053754 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053750: .4byte gUnk_080FCD40
|
|
_08053754: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053758
|
|
sub_08053758: @ 0x08053758
|
|
push {r4, lr}
|
|
ldr r1, _080537DC @ =gMenu
|
|
movs r2, #0
|
|
movs r3, #1
|
|
strb r3, [r1, #6]
|
|
movs r4, #0
|
|
movs r0, #0x78
|
|
strh r0, [r1, #8]
|
|
movs r0, #0x1e
|
|
strh r0, [r1, #0xa]
|
|
strb r4, [r1, #0x10]
|
|
ldr r0, _080537E0 @ =gUnk_02032EC0
|
|
strb r3, [r0, #6]
|
|
ldr r0, _080537E4 @ =gUnk_02025EB0
|
|
str r2, [r0]
|
|
ldr r0, _080537E8 @ =gUnk_0200B650
|
|
str r2, [r0]
|
|
ldr r0, _080537EC @ =gRoomControls
|
|
str r2, [r0, #0x30]
|
|
strh r2, [r0, #0xc]
|
|
strh r2, [r0, #0xa]
|
|
bl sub_0801B170
|
|
movs r0, #0
|
|
bl DispReset
|
|
ldr r2, _080537F0 @ =gScreen
|
|
movs r0, #0x99
|
|
lsls r0, r0, #6
|
|
strh r0, [r2]
|
|
adds r1, r2, #0
|
|
adds r1, #0x66
|
|
ldr r0, _080537F4 @ =0x00002244
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
strh r0, [r1]
|
|
subs r1, #8
|
|
movs r0, #0x1f
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
movs r0, #0x3f
|
|
strh r0, [r1]
|
|
subs r1, #0xa
|
|
movs r0, #0xf0
|
|
strh r0, [r1]
|
|
adds r1, #4
|
|
movs r0, #0x60
|
|
strh r0, [r1]
|
|
ldr r0, _080537F8 @ =0x00001C4E
|
|
strh r0, [r2, #0x14]
|
|
ldr r0, _080537FC @ =0x00001DC1
|
|
strh r0, [r2, #0x20]
|
|
movs r0, #0xf
|
|
bl SoundReq
|
|
bl ResetSystemPriority
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl SetFade
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080537DC: .4byte gMenu
|
|
_080537E0: .4byte gUnk_02032EC0
|
|
_080537E4: .4byte gUnk_02025EB0
|
|
_080537E8: .4byte gUnk_0200B650
|
|
_080537EC: .4byte gRoomControls
|
|
_080537F0: .4byte gScreen
|
|
_080537F4: .4byte 0x00002244
|
|
_080537F8: .4byte 0x00001C4E
|
|
_080537FC: .4byte 0x00001DC1
|
|
|
|
thumb_func_start sub_08053800
|
|
sub_08053800: @ 0x08053800
|
|
push {r4, r5, lr}
|
|
ldr r0, _0805387C @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0805387A
|
|
ldr r1, _08053880 @ =gMenu
|
|
ldrb r5, [r1, #0x10]
|
|
lsls r4, r5, #1
|
|
adds r4, r4, r5
|
|
lsls r4, r4, #2
|
|
ldr r0, _08053884 @ =gUnk_080FCCB4
|
|
adds r4, r4, r0
|
|
ldrh r0, [r4, #8]
|
|
movs r2, #0
|
|
strh r0, [r1, #8]
|
|
movs r0, #0x1e
|
|
strh r0, [r1, #0xa]
|
|
ldrb r0, [r1, #0x10]
|
|
adds r0, #1
|
|
strb r0, [r1, #0x10]
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
strb r2, [r1, #7]
|
|
adds r0, r5, #0
|
|
adds r0, #0x8a
|
|
bl LoadPaletteGroup
|
|
adds r0, r5, #0
|
|
adds r0, #0x3a
|
|
bl LoadGfxGroup
|
|
ldr r0, _08053888 @ =gBG1Buffer
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
bl MemClear
|
|
ldr r0, _0805388C @ =0x00000F01
|
|
adds r5, r5, r0
|
|
ldr r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0805F46C
|
|
ldr r2, _08053890 @ =gScreen
|
|
movs r0, #1
|
|
strh r0, [r2, #0x1a]
|
|
adds r1, r2, #0
|
|
adds r1, #0x68
|
|
movs r0, #0x10
|
|
strh r0, [r1]
|
|
ldrh r1, [r4, #4]
|
|
adds r0, r2, #0
|
|
adds r0, #0x58
|
|
strh r1, [r0]
|
|
ldrh r1, [r4, #6]
|
|
adds r0, #4
|
|
strh r1, [r0]
|
|
ldrh r1, [r4, #0xa]
|
|
movs r0, #4
|
|
bl SetFade
|
|
_0805387A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805387C: .4byte gFadeControl
|
|
_08053880: .4byte gMenu
|
|
_08053884: .4byte gUnk_080FCCB4
|
|
_08053888: .4byte gBG1Buffer
|
|
_0805388C: .4byte 0x00000F01
|
|
_08053890: .4byte gScreen
|
|
|
|
thumb_func_start sub_08053894
|
|
sub_08053894: @ 0x08053894
|
|
push {r4, lr}
|
|
ldr r0, _080538B4 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080538F8
|
|
ldr r1, _080538B8 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
ldrh r0, [r1, #0xa]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
beq _080538BC
|
|
subs r0, #1
|
|
strh r0, [r4, #0xa]
|
|
b _080538E4
|
|
.align 2, 0
|
|
_080538B4: .4byte gFadeControl
|
|
_080538B8: .4byte gMenu
|
|
_080538BC:
|
|
ldr r0, _080538FC @ =gRoomTransition
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080538E4
|
|
ldrb r1, [r4, #7]
|
|
cmp r1, #0xf
|
|
bhi _080538E4
|
|
adds r1, #1
|
|
strb r1, [r4, #7]
|
|
lsls r1, r1, #0x18
|
|
ldr r3, _08053900 @ =gScreen
|
|
lsrs r2, r1, #0x10
|
|
lsrs r1, r1, #0x19
|
|
movs r0, #0x10
|
|
subs r0, r0, r1
|
|
orrs r2, r0
|
|
adds r3, #0x68
|
|
strh r2, [r3]
|
|
_080538E4:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _080538F8
|
|
ldrb r0, [r4, #6]
|
|
adds r0, #1
|
|
strb r0, [r4, #6]
|
|
movs r0, #5
|
|
movs r1, #8
|
|
bl SetFade
|
|
_080538F8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080538FC: .4byte gRoomTransition
|
|
_08053900: .4byte gScreen
|
|
|
|
thumb_func_start sub_08053904
|
|
sub_08053904: @ 0x08053904
|
|
push {r4, lr}
|
|
ldr r0, _08053924 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053968
|
|
ldr r1, _08053928 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
ldrh r0, [r1, #0xa]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
beq _0805392C
|
|
subs r0, #1
|
|
strh r0, [r4, #0xa]
|
|
b _08053954
|
|
.align 2, 0
|
|
_08053924: .4byte gFadeControl
|
|
_08053928: .4byte gMenu
|
|
_0805392C:
|
|
ldr r0, _0805396C @ =gRoomTransition
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08053954
|
|
ldrb r1, [r4, #7]
|
|
cmp r1, #0xf
|
|
bhi _08053954
|
|
adds r1, #1
|
|
strb r1, [r4, #7]
|
|
lsls r1, r1, #0x18
|
|
ldr r3, _08053970 @ =gScreen
|
|
lsrs r2, r1, #0x10
|
|
lsrs r1, r1, #0x19
|
|
movs r0, #0x10
|
|
subs r0, r0, r1
|
|
orrs r2, r0
|
|
adds r3, #0x68
|
|
strh r2, [r3]
|
|
_08053954:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _08053968
|
|
ldrb r0, [r4, #6]
|
|
adds r0, #1
|
|
strb r0, [r4, #6]
|
|
movs r0, #5
|
|
movs r1, #1
|
|
bl SetFade
|
|
_08053968:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805396C: .4byte gRoomTransition
|
|
_08053970: .4byte gScreen
|
|
|
|
thumb_func_start sub_08053974
|
|
sub_08053974: @ 0x08053974
|
|
push {lr}
|
|
ldr r0, _080539AC @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080539A8
|
|
bl InitFade
|
|
movs r0, #1
|
|
bl DispReset
|
|
bl SetBGDefaults
|
|
bl sub_08051F78
|
|
ldr r0, _080539B0 @ =gUnk_080FCBC4
|
|
bl LoadRoomEntityList
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl SetFade
|
|
ldr r1, _080539B4 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
_080539A8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080539AC: .4byte gFadeControl
|
|
_080539B0: .4byte gUnk_080FCBC4
|
|
_080539B4: .4byte gMenu
|
|
|
|
thumb_func_start nullsub_482
|
|
nullsub_482: @ 0x080539B8
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080539BC
|
|
sub_080539BC: @ 0x080539BC
|
|
push {lr}
|
|
bl SetBGDefaults
|
|
bl DeleteAllEntities
|
|
movs r0, #0x22
|
|
movs r1, #0x11
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_08051F9C
|
|
movs r0, #0x22
|
|
movs r1, #0x11
|
|
bl sub_0804B0B0
|
|
ldr r0, _080539EC @ =gUnk_080FCC14
|
|
bl LoadRoomEntityList
|
|
ldr r1, _080539F0 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080539EC: .4byte gUnk_080FCC14
|
|
_080539F0: .4byte gMenu
|
|
|
|
thumb_func_start sub_080539F4
|
|
sub_080539F4: @ 0x080539F4
|
|
push {lr}
|
|
ldr r0, _08053A14 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053A10
|
|
movs r0, #1
|
|
bl DispReset
|
|
ldr r0, _08053A18 @ =gMenu
|
|
ldrb r1, [r0, #6]
|
|
adds r1, #1
|
|
strb r1, [r0, #6]
|
|
movs r1, #0x3c
|
|
strh r1, [r0, #8]
|
|
_08053A10:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053A14: .4byte gFadeControl
|
|
_08053A18: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053A1C
|
|
sub_08053A1C: @ 0x08053A1C
|
|
push {r4, lr}
|
|
ldr r1, _08053A50 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053A4E
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
movs r4, #8
|
|
movs r0, #8
|
|
strh r0, [r1, #8]
|
|
ldr r0, _08053A54 @ =0x00000F07
|
|
bl MessageFromTarget
|
|
ldr r1, _08053A58 @ =gMessage
|
|
movs r0, #1
|
|
strb r0, [r1, #6]
|
|
strb r4, [r1, #7]
|
|
movs r0, #4
|
|
movs r1, #8
|
|
bl SetFade
|
|
_08053A4E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08053A50: .4byte gMenu
|
|
_08053A54: .4byte 0x00000F07
|
|
_08053A58: .4byte gMessage
|
|
|
|
thumb_func_start sub_08053A5C
|
|
sub_08053A5C: @ 0x08053A5C
|
|
push {lr}
|
|
ldr r0, _08053A88 @ =gMessage
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08053A86
|
|
ldr r1, _08053A8C @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053A86
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
movs r0, #5
|
|
movs r1, #8
|
|
bl SetFade
|
|
_08053A86:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053A88: .4byte gMessage
|
|
_08053A8C: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053A90
|
|
sub_08053A90: @ 0x08053A90
|
|
push {lr}
|
|
ldr r0, _08053AA8 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053AA4
|
|
ldr r1, _08053AAC @ =gUnk_02032EC0
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
bl SetBGDefaults
|
|
_08053AA4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053AA8: .4byte gFadeControl
|
|
_08053AAC: .4byte gUnk_02032EC0
|
|
|
|
thumb_func_start sub_08053AB0
|
|
sub_08053AB0: @ 0x08053AB0
|
|
push {lr}
|
|
ldr r1, _08053AC4 @ =gUnk_080FCDD4
|
|
ldr r0, _08053AC8 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053AC4: .4byte gUnk_080FCDD4
|
|
_08053AC8: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053ACC
|
|
sub_08053ACC: @ 0x08053ACC
|
|
push {lr}
|
|
ldr r1, _08053AF4 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
ldr r1, _08053AF8 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_08051FF0
|
|
ldr r0, _08053AFC @ =gUnk_080FCD84
|
|
bl LoadRoomEntityList
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl SetFade
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053AF4: .4byte gMenu
|
|
_08053AF8: .4byte gUpdateVisibleTiles
|
|
_08053AFC: .4byte gUnk_080FCD84
|
|
|
|
thumb_func_start sub_08053B00
|
|
sub_08053B00: @ 0x08053B00
|
|
ldr r1, _08053B0C @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053B0C: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053B10
|
|
sub_08053B10: @ 0x08053B10
|
|
push {lr}
|
|
movs r0, #1
|
|
bl CheckRoomFlag
|
|
cmp r0, #0
|
|
beq _08053B34
|
|
ldr r0, _08053B38 @ =gMenu
|
|
ldrb r1, [r0, #5]
|
|
adds r1, #1
|
|
strb r1, [r0, #5]
|
|
movs r0, #1
|
|
bl DispReset
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #4
|
|
bl SetFade
|
|
_08053B34:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053B38: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053B3C
|
|
sub_08053B3C: @ 0x08053B3C
|
|
push {r4, lr}
|
|
movs r4, #0x80
|
|
lsls r4, r4, #1
|
|
movs r0, #5
|
|
movs r1, #4
|
|
movs r2, #5
|
|
adds r3, r4, #0
|
|
bl sub_080A71C4
|
|
movs r0, #5
|
|
adds r1, r4, #0
|
|
bl SetFade
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08053B58
|
|
sub_08053B58: @ 0x08053B58
|
|
push {lr}
|
|
ldr r1, _08053B6C @ =gUnk_080FCEB0
|
|
ldr r0, _08053B70 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053B6C: .4byte gUnk_080FCEB0
|
|
_08053B70: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053B74
|
|
sub_08053B74: @ 0x08053B74
|
|
push {lr}
|
|
ldr r1, _08053BA0 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
ldr r1, _08053BA4 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
ldr r0, _08053BA8 @ =gUnk_080FCDE0
|
|
bl LoadRoomEntityList
|
|
bl ResetSystemPriority
|
|
bl ResetEntityPriority
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl SetFade
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053BA0: .4byte gMenu
|
|
_08053BA4: .4byte gUpdateVisibleTiles
|
|
_08053BA8: .4byte gUnk_080FCDE0
|
|
|
|
thumb_func_start sub_08053BAC
|
|
sub_08053BAC: @ 0x08053BAC
|
|
ldr r1, _08053BB8 @ =gMenu
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053BB8: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053BBC
|
|
sub_08053BBC: @ 0x08053BBC
|
|
push {lr}
|
|
movs r0, #0
|
|
bl CheckRoomFlag
|
|
cmp r0, #0
|
|
beq _08053BE0
|
|
ldr r0, _08053BE4 @ =gMenu
|
|
ldrb r1, [r0, #5]
|
|
adds r1, #1
|
|
strb r1, [r0, #5]
|
|
movs r0, #1
|
|
bl DispReset
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #4
|
|
bl SetFade
|
|
_08053BE0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053BE4: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053BE8
|
|
sub_08053BE8: @ 0x08053BE8
|
|
push {r4, lr}
|
|
movs r4, #0x80
|
|
lsls r4, r4, #1
|
|
movs r0, #5
|
|
movs r1, #2
|
|
movs r2, #5
|
|
adds r3, r4, #0
|
|
bl sub_080A71C4
|
|
movs r0, #5
|
|
adds r1, r4, #0
|
|
bl SetFade
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08053C04
|
|
sub_08053C04: @ 0x08053C04
|
|
push {lr}
|
|
ldr r1, _08053C18 @ =gUnk_080FCEEC
|
|
ldr r0, _08053C1C @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053C18: .4byte gUnk_080FCEEC
|
|
_08053C1C: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053C20
|
|
sub_08053C20: @ 0x08053C20
|
|
push {lr}
|
|
ldr r1, _08053C50 @ =gMenu
|
|
movs r2, #1
|
|
strb r2, [r1, #6]
|
|
movs r0, #0x78
|
|
strh r0, [r1, #8]
|
|
ldr r0, _08053C54 @ =gUpdateVisibleTiles
|
|
strb r2, [r0]
|
|
bl sub_08051FF0
|
|
movs r0, #4
|
|
bl sub_0805B4D0
|
|
ldr r0, _08053C58 @ =gUnk_080FCEBC
|
|
bl LoadRoomEntityList
|
|
movs r0, #4
|
|
movs r1, #0x10
|
|
bl SetFade
|
|
movs r0, #0x33
|
|
bl SoundReq
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053C50: .4byte gMenu
|
|
_08053C54: .4byte gUpdateVisibleTiles
|
|
_08053C58: .4byte gUnk_080FCEBC
|
|
|
|
thumb_func_start nullsub_483
|
|
nullsub_483: @ 0x08053C5C
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08053C60
|
|
sub_08053C60: @ 0x08053C60
|
|
push {lr}
|
|
movs r0, #5
|
|
movs r1, #2
|
|
bl SetFade
|
|
movs r0, #0xf4
|
|
bl SoundReq
|
|
ldr r0, _08053C80 @ =0x80100000
|
|
bl SoundReq
|
|
movs r0, #3
|
|
bl SetTask
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053C80: .4byte 0x80100000
|
|
|
|
thumb_func_start sub_08053C84
|
|
sub_08053C84: @ 0x08053C84
|
|
ldr r1, _08053C8C @ =gMenu
|
|
movs r0, #2
|
|
strb r0, [r1, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053C8C: .4byte gMenu
|
|
|
|
thumb_func_start CutsceneMain_Exit
|
|
CutsceneMain_Exit: @ 0x08053C90
|
|
push {lr}
|
|
ldr r1, _08053CA4 @ =gUnk_080FCEF8
|
|
ldr r0, _08053CA8 @ =gMenu
|
|
ldrb r0, [r0, #3]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053CA4: .4byte gUnk_080FCEF8
|
|
_08053CA8: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053CAC
|
|
sub_08053CAC: @ 0x08053CAC
|
|
push {lr}
|
|
ldr r1, _08053CC0 @ =gUnk_080FCFA4
|
|
ldr r0, _08053CC4 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053CC0: .4byte gUnk_080FCFA4
|
|
_08053CC4: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053CC8
|
|
sub_08053CC8: @ 0x08053CC8
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _08053D20 @ =gMenu
|
|
ldrb r4, [r6, #3]
|
|
lsls r4, r4, #4
|
|
ldr r0, _08053D24 @ =gUnk_080FCF04
|
|
adds r4, r4, r0
|
|
adds r0, r4, #0
|
|
adds r0, #8
|
|
str r0, [r6, #0xc]
|
|
ldr r0, [r4]
|
|
bl LoadRoomEntityList
|
|
ldrb r0, [r4, #4]
|
|
ldrb r1, [r4, #5]
|
|
movs r2, #1
|
|
bl GetRoomProperty
|
|
bl LoadRoomEntityList
|
|
ldrb r0, [r4, #4]
|
|
ldrb r1, [r4, #5]
|
|
movs r2, #2
|
|
bl GetRoomProperty
|
|
bl LoadRoomEntityList
|
|
movs r5, #1
|
|
strb r5, [r6, #6]
|
|
ldr r2, _08053D28 @ =gScreen
|
|
ldrh r1, [r2]
|
|
ldr r0, _08053D2C @ =0x0000FEFF
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _08053D30 @ =gUpdateVisibleTiles
|
|
strb r5, [r0]
|
|
movs r0, #4
|
|
movs r1, #0x10
|
|
bl SetFade
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0x1d
|
|
bne _08053D1E
|
|
strh r5, [r6, #0xa]
|
|
_08053D1E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08053D20: .4byte gMenu
|
|
_08053D24: .4byte gUnk_080FCF04
|
|
_08053D28: .4byte gScreen
|
|
_08053D2C: .4byte 0x0000FEFF
|
|
_08053D30: .4byte gUpdateVisibleTiles
|
|
|
|
thumb_func_start sub_08053D34
|
|
sub_08053D34: @ 0x08053D34
|
|
push {r4, lr}
|
|
ldr r1, _08053D88 @ =gMenu
|
|
ldrh r0, [r1, #0xa]
|
|
cmp r0, #0
|
|
beq _08053D72
|
|
movs r0, #0
|
|
strh r0, [r1, #0xa]
|
|
movs r4, #0xd0
|
|
lsls r4, r4, #3
|
|
adds r0, r4, #0
|
|
movs r1, #0x3d
|
|
bl CheckLocalFlagByBank
|
|
cmp r0, #0
|
|
beq _08053D5C
|
|
movs r0, #0x74
|
|
movs r1, #0xc4
|
|
movs r2, #1
|
|
bl SetTileType
|
|
_08053D5C:
|
|
adds r0, r4, #0
|
|
movs r1, #0x3e
|
|
bl CheckLocalFlagByBank
|
|
cmp r0, #0
|
|
beq _08053D72
|
|
movs r0, #0x74
|
|
movs r1, #0xcc
|
|
movs r2, #1
|
|
bl SetTileType
|
|
_08053D72:
|
|
ldr r0, _08053D8C @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053D86
|
|
ldr r1, _08053D88 @ =gMenu
|
|
movs r0, #0x78
|
|
strh r0, [r1, #8]
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
_08053D86:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08053D88: .4byte gMenu
|
|
_08053D8C: .4byte gFadeControl
|
|
|
|
thumb_func_start sub_08053D90
|
|
sub_08053D90: @ 0x08053D90
|
|
push {lr}
|
|
ldr r1, _08053DB0 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053DAC
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
movs r0, #0x10
|
|
bl SetFadeInverted
|
|
_08053DAC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053DB0: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053DB4
|
|
sub_08053DB4: @ 0x08053DB4
|
|
push {r4, r5, lr}
|
|
ldr r0, _08053E20 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053E1C
|
|
ldr r5, _08053E24 @ =gMenu
|
|
ldr r4, [r5, #0xc]
|
|
ldrb r0, [r4, #4]
|
|
ldrb r1, [r4, #5]
|
|
bl sub_08052FF4
|
|
bl sub_0807C740
|
|
ldr r1, _08053E28 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
ldr r1, _08053E2C @ =gRoomControls
|
|
movs r0, #6
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0xa]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0xa]
|
|
movs r0, #7
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0xc]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0xc]
|
|
ldr r0, [r4]
|
|
bl LoadRoomEntityList
|
|
ldrb r0, [r4, #4]
|
|
ldrb r1, [r4, #5]
|
|
movs r2, #1
|
|
bl GetRoomProperty
|
|
bl LoadRoomEntityList
|
|
ldrb r0, [r4, #4]
|
|
ldrb r1, [r4, #5]
|
|
movs r2, #2
|
|
bl GetRoomProperty
|
|
bl LoadRoomEntityList
|
|
movs r0, #0x78
|
|
strh r0, [r5, #8]
|
|
ldrb r0, [r5, #6]
|
|
adds r0, #1
|
|
strb r0, [r5, #6]
|
|
movs r0, #0x10
|
|
bl SetFadeInverted
|
|
_08053E1C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08053E20: .4byte gFadeControl
|
|
_08053E24: .4byte gMenu
|
|
_08053E28: .4byte gUpdateVisibleTiles
|
|
_08053E2C: .4byte gRoomControls
|
|
|
|
thumb_func_start sub_08053E30
|
|
sub_08053E30: @ 0x08053E30
|
|
push {lr}
|
|
ldr r0, _08053E50 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053E4E
|
|
ldr r1, _08053E54 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053E4E
|
|
ldrb r0, [r1, #5]
|
|
adds r0, #1
|
|
strb r0, [r1, #5]
|
|
_08053E4E:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053E50: .4byte gFadeControl
|
|
_08053E54: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053E58
|
|
sub_08053E58: @ 0x08053E58
|
|
push {lr}
|
|
ldr r1, _08053E6C @ =gUnk_080FD108
|
|
ldr r0, _08053E70 @ =gMenu
|
|
ldrb r0, [r0, #6]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053E6C: .4byte gUnk_080FD108
|
|
_08053E70: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053E74
|
|
sub_08053E74: @ 0x08053E74
|
|
push {r4, lr}
|
|
ldr r0, _08053EB0 @ =gUnk_080FCFB8
|
|
ldr r4, _08053EB4 @ =gMenu
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r0]
|
|
bl LoadRoomEntityList
|
|
movs r0, #0x78
|
|
strh r0, [r4, #8]
|
|
movs r0, #0x3c
|
|
strh r0, [r4, #0xa]
|
|
ldrb r0, [r4, #6]
|
|
adds r0, #1
|
|
strb r0, [r4, #6]
|
|
ldr r2, _08053EB8 @ =gScreen
|
|
ldrh r1, [r2]
|
|
ldr r0, _08053EBC @ =0x0000FEFF
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r1, _08053EC0 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #1
|
|
bl SetMinPriority
|
|
movs r0, #4
|
|
movs r1, #8
|
|
bl SetFade
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08053EB0: .4byte gUnk_080FCFB8
|
|
_08053EB4: .4byte gMenu
|
|
_08053EB8: .4byte gScreen
|
|
_08053EBC: .4byte 0x0000FEFF
|
|
_08053EC0: .4byte gUpdateVisibleTiles
|
|
|
|
thumb_func_start sub_08053EC4
|
|
sub_08053EC4: @ 0x08053EC4
|
|
push {r4, lr}
|
|
ldr r0, _08053EF4 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053EF0
|
|
ldr r4, _08053EF8 @ =gMenu
|
|
ldrh r0, [r4, #0xa]
|
|
subs r0, #1
|
|
strh r0, [r4, #0xa]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053EF0
|
|
ldr r1, [r4, #0xc]
|
|
adds r0, r1, #0
|
|
adds r0, #0xc
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r1, #4]
|
|
bl LoadRoomEntityList
|
|
ldrb r0, [r4, #6]
|
|
adds r0, #1
|
|
strb r0, [r4, #6]
|
|
_08053EF0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08053EF4: .4byte gFadeControl
|
|
_08053EF8: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053EFC
|
|
sub_08053EFC: @ 0x08053EFC
|
|
push {lr}
|
|
ldr r1, _08053F1C @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053F18
|
|
ldrb r0, [r1, #6]
|
|
adds r0, #1
|
|
strb r0, [r1, #6]
|
|
movs r0, #8
|
|
bl SetFadeInverted
|
|
_08053F18:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053F1C: .4byte gMenu
|
|
|
|
thumb_func_start sub_08053F20
|
|
sub_08053F20: @ 0x08053F20
|
|
push {r4, r5, lr}
|
|
ldr r0, _08053F78 @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053F74
|
|
bl DeleteAllEntities
|
|
ldr r5, _08053F7C @ =gMenu
|
|
ldr r4, [r5, #0xc]
|
|
ldrb r0, [r4, #8]
|
|
ldrb r1, [r4, #9]
|
|
bl sub_08052FF4
|
|
bl sub_0807C740
|
|
ldr r1, _08053F80 @ =gUpdateVisibleTiles
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
ldr r1, _08053F84 @ =gRoomControls
|
|
movs r0, #0xa
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0xa]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0xa]
|
|
movs r0, #0xb
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0xc]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0xc]
|
|
ldr r0, [r4]
|
|
bl LoadRoomEntityList
|
|
movs r0, #0x78
|
|
strh r0, [r5, #8]
|
|
movs r0, #0x3c
|
|
strh r0, [r5, #0xa]
|
|
ldrb r0, [r5, #6]
|
|
adds r0, #1
|
|
strb r0, [r5, #6]
|
|
movs r0, #8
|
|
bl SetFadeInverted
|
|
_08053F74:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08053F78: .4byte gFadeControl
|
|
_08053F7C: .4byte gMenu
|
|
_08053F80: .4byte gUpdateVisibleTiles
|
|
_08053F84: .4byte gRoomControls
|
|
|
|
thumb_func_start sub_08053F88
|
|
sub_08053F88: @ 0x08053F88
|
|
push {lr}
|
|
ldr r0, _08053FAC @ =gFadeControl
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08053FAA
|
|
ldr r1, _08053FB0 @ =gMenu
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08053FAA
|
|
ldrb r0, [r1, #5]
|
|
adds r0, #1
|
|
strb r0, [r1, #5]
|
|
bl ResetEntityPriority
|
|
_08053FAA:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053FAC: .4byte gFadeControl
|
|
_08053FB0: .4byte gMenu
|
|
|
|
thumb_func_start CutsceneMain_Update
|
|
CutsceneMain_Update: @ 0x08053FB4
|
|
push {lr}
|
|
ldr r1, _08053FC8 @ =gUnk_080FD138
|
|
ldr r0, _08053FCC @ =gMenu
|
|
ldrb r0, [r0, #3]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08053FC8: .4byte gUnk_080FD138
|
|
_08053FCC: .4byte gMenu
|
|
|
|
thumb_func_start GetSaleItemConfirmMessageID
|
|
GetSaleItemConfirmMessageID: @ 0x08053FD0
|
|
lsls r0, r0, #3
|
|
ldr r1, _08053FDC @ =gUnk_080FD964
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053FDC: .4byte gUnk_080FD964
|
|
|
|
thumb_func_start GetItemPrice
|
|
GetItemPrice: @ 0x08053FE0
|
|
lsls r0, r0, #3
|
|
ldr r1, _08053FEC @ =gUnk_080FD964
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08053FEC: .4byte gUnk_080FD964
|
|
|
|
thumb_func_start GiveItem
|
|
GiveItem: @ 0x08053FF0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
adds r7, r1, #0
|
|
bl GetInventoryValue
|
|
adds r5, r0, #0
|
|
lsls r1, r6, #3
|
|
ldr r0, _08054010 @ =gUnk_080FD5B4
|
|
adds r4, r1, r0
|
|
cmp r5, #0
|
|
bne _08054014
|
|
ldrh r0, [r4, #4]
|
|
mov r8, r0
|
|
b _08054018
|
|
.align 2, 0
|
|
_08054010: .4byte gUnk_080FD5B4
|
|
_08054014:
|
|
ldrh r2, [r4, #6]
|
|
mov r8, r2
|
|
_08054018:
|
|
adds r0, r6, #0
|
|
bl ItemIsBottle
|
|
cmp r0, #0
|
|
bne _08054034
|
|
adds r0, r6, #0
|
|
bl PutItemOnSlot
|
|
cmp r5, #0
|
|
bne _08054034
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
_08054034:
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0x12
|
|
bls _0805403C
|
|
b _0805427C
|
|
_0805403C:
|
|
lsls r0, r0, #2
|
|
ldr r1, _08054048 @ =_0805404C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08054048: .4byte _0805404C
|
|
_0805404C: @ jump table
|
|
.4byte _0805427C @ case 0
|
|
.4byte _08054098 @ case 1
|
|
.4byte _080540A6 @ case 2
|
|
.4byte _080540C0 @ case 3
|
|
.4byte _08054104 @ case 4
|
|
.4byte _0805414C @ case 5
|
|
.4byte _08054154 @ case 6
|
|
.4byte _08054194 @ case 7
|
|
.4byte _080541B6 @ case 8
|
|
.4byte _080541F0 @ case 9
|
|
.4byte _08054212 @ case 10
|
|
.4byte _080541F8 @ case 11
|
|
.4byte _08054238 @ case 12
|
|
.4byte _08054174 @ case 13
|
|
.4byte _08054240 @ case 14
|
|
.4byte _0805425C @ case 15
|
|
.4byte _08054264 @ case 16
|
|
.4byte _080541B0 @ case 17
|
|
.4byte _0805417C @ case 18
|
|
_08054098:
|
|
ldrb r0, [r4, #2]
|
|
bl ModHealth
|
|
movs r0, #0x71
|
|
bl SoundReq
|
|
b _0805427C
|
|
_080540A6:
|
|
ldr r0, _080540BC @ =gUnk_080FD5A8
|
|
ldrb r1, [r4, #2]
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
bl ModRupees
|
|
movs r0, #0x6f
|
|
bl SoundReq
|
|
b _0805427C
|
|
.align 2, 0
|
|
_080540BC: .4byte gUnk_080FD5A8
|
|
_080540C0:
|
|
movs r5, #0
|
|
movs r4, #0x1c
|
|
b _080540CA
|
|
_080540C6:
|
|
adds r4, r1, #1
|
|
adds r5, #1
|
|
_080540CA:
|
|
cmp r5, #3
|
|
bls _080540D0
|
|
b _0805427C
|
|
_080540D0:
|
|
adds r0, r4, #0
|
|
bl GetInventoryValue
|
|
adds r1, r4, #0
|
|
cmp r0, #0
|
|
bne _080540C6
|
|
adds r6, r4, #0
|
|
ldr r0, _08054100 @ =gSave
|
|
adds r0, #0xb6
|
|
adds r1, r5, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _080540EE
|
|
movs r0, #0x20
|
|
strb r0, [r1]
|
|
_080540EE:
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
adds r0, r6, #0
|
|
bl PutItemOnSlot
|
|
b _0805427C
|
|
.align 2, 0
|
|
_08054100: .4byte gSave
|
|
_08054104:
|
|
movs r5, #0
|
|
ldr r0, _08054144 @ =gSave
|
|
adds r2, r0, #0
|
|
adds r2, #0xb6
|
|
ldrb r1, [r2]
|
|
adds r3, r0, #0
|
|
cmp r1, #0x20
|
|
beq _08054126
|
|
adds r1, r2, #0
|
|
_08054116:
|
|
adds r5, #1
|
|
cmp r5, #3
|
|
bls _0805411E
|
|
b _0805427C
|
|
_0805411E:
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x20
|
|
bne _08054116
|
|
_08054126:
|
|
cmp r5, #3
|
|
bls _0805412C
|
|
b _0805427C
|
|
_0805412C:
|
|
adds r0, r3, #0
|
|
adds r0, #0xb6
|
|
adds r0, r5, r0
|
|
strb r6, [r0]
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
ldr r0, _08054148 @ =0x00000109
|
|
bl SoundReq
|
|
b _0805427C
|
|
.align 2, 0
|
|
_08054144: .4byte gSave
|
|
_08054148: .4byte 0x00000109
|
|
_0805414C:
|
|
movs r0, #1
|
|
bl sub_080526F8
|
|
b _0805424E
|
|
_08054154:
|
|
ldr r1, _08054168 @ =gSave
|
|
ldr r0, _0805416C @ =gArea
|
|
ldr r2, _08054170 @ =0x0000046C
|
|
adds r1, r1, r2
|
|
ldrb r0, [r0, #3]
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
ldrb r2, [r4, #2]
|
|
orrs r0, r2
|
|
b _0805427A
|
|
.align 2, 0
|
|
_08054168: .4byte gSave
|
|
_0805416C: .4byte gArea
|
|
_08054170: .4byte 0x0000046C
|
|
_08054174:
|
|
movs r0, #0x72
|
|
bl sub_0801E738
|
|
b _0805427C
|
|
_0805417C:
|
|
cmp r6, #0xb
|
|
bne _0805418A
|
|
movs r0, #0xc
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
b _080541B0
|
|
_0805418A:
|
|
movs r0, #0xb
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
b _080541B0
|
|
_08054194:
|
|
cmp r6, #7
|
|
bne _080541A2
|
|
movs r0, #8
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
b _080541AA
|
|
_080541A2:
|
|
movs r0, #7
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
_080541AA:
|
|
movs r0, #0x63
|
|
bl ModBombs
|
|
_080541B0:
|
|
bl LoadItemGfx
|
|
b _0805427C
|
|
_080541B6:
|
|
cmp r5, #0
|
|
bne _080541CA
|
|
movs r0, #7
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
movs r0, #7
|
|
bl PutItemOnSlot
|
|
b _080541E2
|
|
_080541CA:
|
|
ldr r0, _080541EC @ =gSave
|
|
adds r1, r0, #0
|
|
adds r1, #0xae
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #3
|
|
bls _080541E2
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
_080541E2:
|
|
movs r0, #0x63
|
|
bl ModBombs
|
|
b _0805427C
|
|
.align 2, 0
|
|
_080541EC: .4byte gSave
|
|
_080541F0:
|
|
ldrb r0, [r4, #2]
|
|
bl ModBombs
|
|
b _0805424E
|
|
_080541F8:
|
|
movs r0, #0x66
|
|
bl GetInventoryValue
|
|
cmp r0, #0
|
|
bne _0805420A
|
|
movs r0, #0x66
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
_0805420A:
|
|
movs r0, #0x63
|
|
bl ModArrows
|
|
b _080541B0
|
|
_08054212:
|
|
ldr r0, _08054234 @ =gSave
|
|
adds r1, r0, #0
|
|
adds r1, #0xaf
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #3
|
|
bls _0805422A
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
_0805422A:
|
|
movs r0, #0x63
|
|
bl ModArrows
|
|
b _0805427C
|
|
.align 2, 0
|
|
_08054234: .4byte gSave
|
|
_08054238:
|
|
ldrb r0, [r4, #2]
|
|
bl ModArrows
|
|
b _0805424E
|
|
_08054240:
|
|
movs r0, #0x3f
|
|
movs r1, #1
|
|
bl sub_0807CAA0
|
|
adds r0, r7, #0
|
|
bl sub_080542C0
|
|
_0805424E:
|
|
ldr r0, _08054258 @ =0x00000103
|
|
bl SoundReq
|
|
b _0805427C
|
|
.align 2, 0
|
|
_08054258: .4byte 0x00000103
|
|
_0805425C:
|
|
adds r0, r7, #0
|
|
bl sub_0801E738
|
|
b _0805427C
|
|
_08054264:
|
|
ldr r0, _08054284 @ =gSave
|
|
adds r1, r0, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #3
|
|
bls _0805427C
|
|
movs r0, #3
|
|
_0805427A:
|
|
strb r0, [r1]
|
|
_0805427C:
|
|
mov r0, r8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08054284: .4byte gSave
|
|
|
|
thumb_func_start sub_08054288
|
|
sub_08054288: @ 0x08054288
|
|
push {lr}
|
|
ldr r1, _08054298 @ =gUnk_080FD5B4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #6]
|
|
bl MessageFromTarget
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08054298: .4byte gUnk_080FD5B4
|
|
|
|
thumb_func_start sub_0805429C
|
|
sub_0805429C: @ 0x0805429C
|
|
ldr r1, _080542A8 @ =gUnk_080FD5B4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_080542A8: .4byte gUnk_080FD5B4
|
|
|
|
thumb_func_start sub_080542AC
|
|
sub_080542AC: @ 0x080542AC
|
|
ldr r1, _080542BC @ =gUnk_080FD5B4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0, #3]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_080542BC: .4byte gUnk_080FD5B4
|
|
|
|
thumb_func_start sub_080542C0
|
|
sub_080542C0: @ 0x080542C0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _080542CA
|
|
movs r2, #1
|
|
_080542CA:
|
|
ldr r1, _080542DC @ =gSave
|
|
adds r0, r1, #0
|
|
adds r0, #0xc2
|
|
ldrh r0, [r0]
|
|
adds r2, r2, r0
|
|
cmp r2, #0
|
|
bge _080542E0
|
|
movs r2, #0
|
|
b _080542E8
|
|
.align 2, 0
|
|
_080542DC: .4byte gSave
|
|
_080542E0:
|
|
ldr r3, _080542F0 @ =0x000003E7
|
|
cmp r2, r3
|
|
ble _080542E8
|
|
adds r2, r3, #0
|
|
_080542E8:
|
|
adds r0, r1, #0
|
|
adds r0, #0xc2
|
|
strh r2, [r0]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080542F0: .4byte 0x000003E7
|
|
|