Decompile some functions

This commit is contained in:
octorock
2022-04-10 23:42:14 +02:00
parent 02cec8ca8d
commit 4fd8048c3c
47 changed files with 540 additions and 1512 deletions
@@ -1,63 +0,0 @@
.syntax unified
push {r4, r5, lr}
ldr r4, _0801A538 @ =gPlayerState
ldr r0, [r4, #0x30]
movs r5, #0x80
ands r0, r5
cmp r0, #0
beq _0801A544
movs r0, #0x45
bl GetInventoryValue
cmp r0, #1
bne _0801A564
ldrb r1, [r4, #0xd]
adds r0, r5, #0
ands r0, r1
cmp r0, #0
bne _0801A564
ldr r2, _0801A53C @ =gPlayerEntity
ldrb r0, [r2, #0x15]
cmp r1, r0
bne _0801A564
ldrb r0, [r2, #0x15]
adds r0, #4
movs r1, #0x18
ands r0, r1
ldr r1, _0801A540 @ =gUnk_080B44A0
lsrs r0, r0, #2
adds r0, r0, r1
ldrh r1, [r0]
ldrh r0, [r2, #0x2a]
b _0801A55E
.align 2, 0
_0801A538: .4byte gPlayerState
_0801A53C: .4byte gPlayerEntity
_0801A540: .4byte gUnk_080B44A0
_0801A544:
adds r0, r4, #0
adds r0, #0x35
ldrb r0, [r0]
ldrb r1, [r4, #0xd]
orrs r0, r1
movs r1, #0x80
ands r0, r1
cmp r0, #0
bne _0801A564
ldr r0, _0801A568 @ =gPlayerEntity
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #1
_0801A55E:
ands r0, r1
cmp r0, #0
bne _0801A56C
_0801A564:
movs r0, #0
b _0801A56E
.align 2, 0
_0801A568: .4byte gPlayerEntity
_0801A56C:
movs r0, #1
_0801A56E:
pop {r4, r5, pc}
.syntax divided
-28
View File
@@ -1,28 +0,0 @@
.syntax unified
push {r4, lr}
lsrs r4, r1, #3
lsls r4, r4, #4
lsrs r3, r0, #3
adds r4, r4, r3
lsls r4, r4, #5
ldr r3, _0801DF58 @ =gUnk_0201AEE0
adds r4, r4, r3
movs r3, #7
ands r1, r3
lsls r1, r1, #2
adds r4, r4, r1
ands r0, r3
lsls r0, r0, #2
lsls r2, r0
ldr r1, _0801DF5C @ =gUnk_080C9460
adds r0, r0, r1
ldr r1, [r4]
ldr r0, [r0]
ands r1, r0
orrs r1, r2
str r1, [r4]
pop {r4, pc}
.align 2, 0
_0801DF58: .4byte gUnk_0201AEE0
_0801DF5C: .4byte gUnk_080C9460
.syntax divided
-51
View File
@@ -1,51 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
bl sub_0801E82C
adds r0, r4, #0
subs r0, #0x65
cmp r0, #0x10
bhi _0801E790
adds r0, r4, #0
bl sub_0801E8B0
adds r1, r0, #0
cmp r1, #0
bge _0801E76E
movs r1, #0
ldr r0, _0801E794 @ =gSave
movs r3, #0x8c
lsls r3, r3, #1
adds r2, r0, r3
ldrb r0, [r2]
cmp r0, #0
beq _0801E76E
_0801E764:
adds r1, #1
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, #0
bne _0801E764
_0801E76E:
cmp r1, #0x11
bhi _0801E790
ldr r2, _0801E794 @ =gSave
movs r3, #0x8c
lsls r3, r3, #1
adds r0, r2, r3
adds r0, r1, r0
strb r4, [r0]
adds r3, #0x13
adds r0, r2, r3
adds r1, r1, r0
ldrb r0, [r1]
adds r0, #1
cmp r0, #0x63
ble _0801E78E
movs r0, #0x63
_0801E78E:
strb r0, [r1]
_0801E790:
pop {r4, pc}
.align 2, 0
_0801E794: .4byte gSave
.syntax divided
-57
View File
@@ -1,57 +0,0 @@
.syntax unified
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
.syntax divided
-57
View File
@@ -1,57 +0,0 @@
.syntax unified
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
.syntax divided
-47
View File
@@ -1,47 +0,0 @@
.syntax unified
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
.syntax divided
-40
View File
@@ -1,40 +0,0 @@
.syntax unified
push {r4, lr}
ldr r4, _080548DC @ =gUI
ldrb r1, [r4, #3]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #2
ldr r1, _080548E0 @ =gUnk_080FE320
adds r0, r0, r1
ldr r2, _080548E4 @ =gMenu
ldrb r1, [r0]
movs r3, #0
strb r1, [r2]
ldrb r1, [r0, #1]
strb r1, [r2, #3]
ldrb r1, [r4, #3]
strb r1, [r2, #4]
str r0, [r2, #0xc]
ldrb r0, [r2, #5]
adds r0, #1
strb r0, [r2, #5]
strb r3, [r2, #6]
movs r0, #0x96
lsls r0, r0, #1
strh r0, [r2, #8]
movs r0, #0
bl DispReset
ldrb r0, [r4, #3]
movs r1, #1
bl sub_08054974
bl sub_0806F364
movs r0, #0xff
bl ClearRoomFlag
bl sub_080548E8
pop {r4, pc}
.align 2, 0
_080548DC: .4byte gUI
_080548E0: .4byte gUnk_080FE320
_080548E4: .4byte gMenu
.syntax divided
-33
View File
@@ -1,33 +0,0 @@
.syntax unified
push {lr}
bl MessageInitialize
bl sub_0806F38C
ldr r1, _08054948 @ =gUnk_080C9CBC
ldr r0, _0805494C @ =gFuseInfo
ldrb r0, [r0, #3]
lsls r0, r0, #3
adds r0, r0, r1
ldrb r0, [r0, #7]
cmp r0, #0
beq _08054954
ldr r0, _08054950 @ =gUI
ldrb r1, [r0, #3]
movs r0, #0xa
bl MenuFadeIn
b _08054962
.align 2, 0
_08054948: .4byte gUnk_080C9CBC
_0805494C: .4byte gFuseInfo
_08054950: .4byte gUI
_08054954:
ldr r1, _08054964 @ =gUI
movs r0, #3
strb r0, [r1]
movs r0, #7
movs r1, #0x10
bl SetFade
_08054962:
pop {pc}
.align 2, 0
_08054964: .4byte gUI
.syntax divided
-70
View File
@@ -1,70 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r5, r1, #0
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #2
ldr r0, _080549B0 @ =gUnk_080FE320
adds r6, r1, r0
ldrb r0, [r6, #2]
ldrb r1, [r6, #3]
bl SetCurrentRoomPropertyList
ldr r4, _080549B4 @ =gRoomControls
ldrb r0, [r6, #2]
strb r0, [r4, #4]
ldrb r0, [r6, #3]
strb r0, [r4, #5]
bl LoadGfxGroups
ldrb r0, [r4, #4]
bl GetFlagBankOffset
ldr r1, _080549B8 @ =gArea
strh r0, [r1, #4]
cmp r5, #0
beq _080549BC
ldrb r0, [r6, #2]
ldrb r1, [r6, #3]
bl LoadAuxiliaryRoom
b _080549CE
.align 2, 0
_080549B0: .4byte gUnk_080FE320
_080549B4: .4byte gRoomControls
_080549B8: .4byte gArea
_080549BC:
ldrb r0, [r6, #2]
ldrb r1, [r6, #3]
bl sub_08052FF4
bl InitializeCamera
ldr r1, _08054A00 @ =gUpdateVisibleTiles
movs r0, #1
strb r0, [r1]
_080549CE:
ldr r2, _08054A04 @ =gScreen
ldrh r1, [r2]
ldr r0, _08054A08 @ =0x00001FFF
ands r0, r1
strh r0, [r2]
ldr r1, _08054A0C @ =gRoomControls
ldrh r0, [r6, #4]
ldrh r2, [r1, #6]
adds r0, r0, r2
strh r0, [r1, #0xa]
ldrh r0, [r6, #6]
ldrh r2, [r1, #8]
adds r0, r0, r2
strh r0, [r1, #0xc]
ldrb r0, [r6, #2]
cmp r0, #2
bne _080549F4
bl TryLoadPrologueHyruleTown
_080549F4:
ldr r0, _08054A10 @ =gUI
ldrb r0, [r0, #3]
bl sub_08018710
pop {r4, r5, r6, pc}
.align 2, 0
_08054A00: .4byte gUpdateVisibleTiles
_08054A04: .4byte gScreen
_08054A08: .4byte 0x00001FFF
_08054A0C: .4byte gRoomControls
_08054A10: .4byte gUI
.syntax divided
-22
View File
@@ -1,22 +0,0 @@
.syntax unified
push {lr}
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #2
ldr r0, _08054A38 @ =gUnk_080FE320
adds r2, r1, r0
ldrb r0, [r2, #0x11]
cmp r0, #0xd
bhi _08054A34
ldr r1, _08054A3C @ =gLocalFlagBanks
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
ldrh r1, [r2, #0x12]
bl SetLocalFlagByBank
_08054A34:
pop {pc}
.align 2, 0
_08054A38: .4byte gUnk_080FE320
_08054A3C: .4byte gLocalFlagBanks
.syntax divided
-69
View File
@@ -1,69 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r5, r0, #0
adds r4, r1, #0
bl Random
movs r1, #0x1f
ands r0, r1
adds r0, #0x3c
adds r1, r5, #0
adds r1, #0x68
movs r3, #0
strb r0, [r1]
adds r0, r5, #0
adds r0, #0x69
movs r1, #0
ldrsb r1, [r0, r1]
lsls r1, r1, #2
ldr r0, _0806999C @ =gUnk_08111C5C
adds r1, r1, r0
ldr r2, _080699A0 @ =gRoomControls
ldrh r0, [r1]
ldrh r6, [r2, #6]
adds r0, r0, r6
strh r0, [r4, #0x1e]
ldrh r0, [r1, #2]
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r4, #0x22]
movs r0, #8
strb r0, [r4, #0x19]
ldr r0, [r4, #8]
movs r1, #2
orrs r0, r1
str r0, [r4, #8]
str r3, [r4, #0x14]
movs r1, #0x1e
ldrsh r0, [r4, r1]
movs r2, #0x2e
ldrsh r1, [r5, r2]
subs r0, r0, r1
movs r3, #0x22
ldrsh r1, [r4, r3]
movs r6, #0x32
ldrsh r2, [r5, r6]
subs r1, r1, r2
bl sub_080045DA
strb r0, [r5, #0x15]
ldrb r2, [r5, #0x14]
movs r1, #0x80
ands r1, r2
ldr r2, _080699A4 @ =gUnk_08111C74
lsls r0, r0, #0x18
lsrs r0, r0, #0x1c
adds r0, r0, r2
ldrb r0, [r0]
orrs r1, r0
strb r1, [r5, #0x14]
ldr r2, _080699A8 @ =gActiveScriptInfo
ldrb r1, [r2, #7]
movs r0, #1
orrs r0, r1
strb r0, [r2, #7]
pop {r4, r5, r6, pc}
.align 2, 0
_0806999C: .4byte gUnk_08111C5C
_080699A0: .4byte gRoomControls
_080699A4: .4byte gUnk_08111C74
_080699A8: .4byte gActiveScriptInfo
.syntax divided
-69
View File
@@ -1,69 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r5, r0, #0
adds r4, r1, #0
bl Random
movs r1, #0x1f
ands r0, r1
adds r0, #0x3c
adds r1, r5, #0
adds r1, #0x68
movs r3, #0
strb r0, [r1]
adds r0, r5, #0
adds r0, #0x69
movs r1, #0
ldrsb r1, [r0, r1]
lsls r1, r1, #2
ldr r0, _08069A2C @ =gUnk_08111C84
adds r1, r1, r0
ldr r2, _08069A30 @ =gRoomControls
ldrh r0, [r1]
ldrh r6, [r2, #6]
adds r0, r0, r6
strh r0, [r4, #0x1e]
ldrh r0, [r1, #2]
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r4, #0x22]
movs r0, #8
strb r0, [r4, #0x19]
ldr r0, [r4, #8]
movs r1, #2
orrs r0, r1
str r0, [r4, #8]
str r3, [r4, #0x14]
movs r1, #0x1e
ldrsh r0, [r4, r1]
movs r2, #0x2e
ldrsh r1, [r5, r2]
subs r0, r0, r1
movs r3, #0x22
ldrsh r1, [r4, r3]
movs r6, #0x32
ldrsh r2, [r5, r6]
subs r1, r1, r2
bl sub_080045DA
strb r0, [r5, #0x15]
ldrb r2, [r5, #0x14]
movs r1, #0x80
ands r1, r2
ldr r2, _08069A34 @ =gUnk_08111C8C
lsls r0, r0, #0x18
lsrs r0, r0, #0x1c
adds r0, r0, r2
ldrb r0, [r0]
orrs r1, r0
strb r1, [r5, #0x14]
ldr r2, _08069A38 @ =gActiveScriptInfo
ldrb r1, [r2, #7]
movs r0, #1
orrs r0, r1
strb r0, [r2, #7]
pop {r4, r5, r6, pc}
.align 2, 0
_08069A2C: .4byte gUnk_08111C84
_08069A30: .4byte gRoomControls
_08069A34: .4byte gUnk_08111C8C
_08069A38: .4byte gActiveScriptInfo
.syntax divided
@@ -1,59 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r6, r0, #0
ldr r4, [r6, #0x54]
ldrb r0, [r4, #0x15]
ldrb r3, [r6, #0x15]
subs r2, r0, r3
movs r1, #0xff
ands r2, r1
adds r0, r2, #0
adds r0, #8
ands r0, r1
cmp r0, #0x10
ble _080AC78A
cmp r2, #0x80
ble _080AC784
adds r0, r3, #0
subs r0, #8
b _080AC788
_080AC784:
adds r0, r3, #0
adds r0, #8
_080AC788:
strb r0, [r4, #0x15]
_080AC78A:
ldr r5, [r4, #0x54]
ldr r0, [r5, #0x54]
cmp r0, #0
bne _080AC79C
ldr r0, [r6, #0x50]
ldrb r0, [r0, #0x14]
movs r1, #0x80
eors r0, r1
b _080AC7BE
_080AC79C:
ldrb r0, [r5, #0x15]
ldrb r3, [r4, #0x15]
subs r2, r0, r3
movs r1, #0xff
ands r2, r1
adds r0, r2, #0
adds r0, #8
ands r0, r1
cmp r0, #0x10
ble _080AC7C0
cmp r2, #0x80
ble _080AC7BA
adds r0, r3, #0
subs r0, #8
b _080AC7BE
_080AC7BA:
adds r0, r3, #0
adds r0, #8
_080AC7BE:
strb r0, [r5, #0x15]
_080AC7C0:
pop {r4, r5, r6, pc}
.align 2, 0
.syntax divided
@@ -1,98 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r4, r0, #0
mov r8, r1
bl PlayerTryDropObject
cmp r0, #0
beq _080765D4
ldr r5, _0807655C @ =gPlayerState
adds r1, r5, #0
adds r1, #0xa8
movs r0, #4
strb r0, [r1]
ldrb r1, [r5, #2]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _080765D4
ldrb r0, [r5, #0x1f]
cmp r0, #0
bne _080765D4
ldr r6, _08076560 @ =gPlayerEntity
adds r0, r6, #0
adds r0, #0x42
ldrb r7, [r0]
cmp r7, #0
beq _08076564
adds r0, r4, #0
mov r1, r8
bl PlayerCancelHoldItem
b _080765D4
.align 2, 0
_0807655C: .4byte gPlayerState
_08076560: .4byte gPlayerEntity
_08076564:
adds r0, r5, #0
adds r0, #0x92
ldrh r1, [r0]
ldr r0, _080765B0 @ =0x00008018
ands r0, r1
cmp r0, #0
beq _080765D4
adds r0, r6, #0
bl sub_0806F948
movs r0, #5
strb r0, [r5, #5]
ldr r1, [r4, #0x18]
movs r0, #2
strb r0, [r1, #0xd]
ldr r2, [r4, #0x18]
ldrb r1, [r6, #0x14]
movs r0, #0xe
ands r0, r1
lsls r0, r0, #2
strb r0, [r2, #0x15]
str r7, [r4, #0x18]
ldrb r0, [r4, #4]
adds r0, #1
strb r0, [r4, #4]
movs r0, #0xf
strb r0, [r4, #0xf]
ldr r0, [r5, #0x30]
movs r1, #8
ands r0, r1
cmp r0, #0
beq _080765B4
movs r1, #0x93
lsls r1, r1, #4
adds r0, r4, #0
bl sub_08077DF4
b _080765BE
.align 2, 0
_080765B0: .4byte 0x00008018
_080765B4:
movs r1, #0xd1
lsls r1, r1, #2
adds r0, r4, #0
bl sub_08077DF4
_080765BE:
ldr r2, _080765DC @ =gPlayerState
movs r1, #8
mov r0, r8
asrs r1, r0
ldrb r3, [r2, #0xa]
adds r0, r1, #0
orrs r0, r3
strb r0, [r2, #0xa]
ldrb r0, [r2, #0xb]
orrs r1, r0
strb r1, [r2, #0xb]
_080765D4:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080765DC: .4byte gPlayerState
.syntax divided
@@ -1,24 +0,0 @@
.syntax unified
push {lr}
movs r1, #0
ldr r0, _080A3B6C @ =gSave
ldr r3, _080A3B70 @ =0x0000012B
adds r2, r0, r3
ldrb r0, [r2]
cmp r0, #0
beq _080A3B66
_080A3B58:
adds r1, #1
cmp r1, #0x12
bhi _080A3B66
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, #0
bne _080A3B58
_080A3B66:
adds r0, r1, #0
pop {pc}
.align 2, 0
_080A3B6C: .4byte gSave
_080A3B70: .4byte 0x0000012B
.syntax divided
@@ -1,54 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
adds r0, #0x5b
ldrb r1, [r0]
movs r0, #4
ands r0, r1
cmp r0, #0
beq _08063006
movs r6, #1
movs r5, #0
b _0806300A
_08063006:
movs r6, #0
movs r5, #1
_0806300A:
adds r0, r4, #0
adds r0, #0x5b
ldrb r1, [r0]
movs r0, #8
ands r0, r1
movs r7, #0x8e
lsls r7, r7, #1
cmp r0, #0
beq _0806301E
movs r7, #0x16
_0806301E:
adds r0, r4, #0
adds r0, #0x5a
ldrb r2, [r0]
movs r0, #0x81
rsbs r0, r0, #0
ands r2, r0
subs r2, #1
adds r0, r4, #0
adds r1, r6, #0
bl SetExtraSpriteFrame
ldrb r2, [r4, #0x1e]
adds r0, r4, #0
adds r1, r5, #0
bl SetExtraSpriteFrame
adds r0, r4, #0
adds r1, r5, #0
adds r2, r7, #0
bl sub_0806FF10
adds r0, r4, #0
adds r1, r5, #0
adds r2, r6, #0
bl SetSpriteSubEntryOffsetData1
adds r0, r4, #0
bl sub_0807000C
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -1,88 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
adds r6, r1, #0
mov r8, r2
movs r1, #0x2e
ldrsh r0, [r5, r1]
adds r0, r0, r6
ldr r2, _0807A288 @ =gRoomControls
ldrh r1, [r2, #6]
subs r1, r0, r1
lsrs r4, r1, #4
movs r3, #0x3f
ands r4, r3
movs r7, #0x32
ldrsh r1, [r5, r7]
add r1, r8
ldrh r2, [r2, #8]
subs r2, r1, r2
asrs r2, r2, #4
ands r2, r3
lsls r2, r2, #6
orrs r4, r2
ldr r2, _0807A28C @ =gPlayerEntity
adds r2, #0x38
ldrb r2, [r2]
bl GetTileTypeByPos
adds r2, r0, #0
ldr r1, _0807A290 @ =gPlayerState
ldrh r0, [r1, #0x24]
cmp r2, r0
beq _0807A23A
adds r3, r1, #0
adds r3, #0x37
movs r0, #0
strb r0, [r3]
ldrh r7, [r1, #0x24]
cmp r2, r7
bne _0807A242
_0807A23A:
adds r3, r1, #0
ldrh r0, [r3, #0x22]
cmp r4, r0
beq _0807A24E
_0807A242:
ldr r0, _0807A290 @ =gPlayerState
movs r1, #0
strh r4, [r0, #0x22]
strh r2, [r0, #0x24]
strb r1, [r0, #0x11]
adds r3, r0, #0
_0807A24E:
adds r2, r3, #0
ldrb r1, [r2, #0x11]
adds r0, r1, #0
cmp r0, #0xff
beq _0807A25C
adds r0, r1, #1
strb r0, [r2, #0x11]
_0807A25C:
adds r2, #0x37
ldrb r1, [r2]
adds r0, r1, #0
cmp r0, #0xff
beq _0807A26A
adds r0, r1, #1
strb r0, [r2]
_0807A26A:
ldrb r0, [r3, #0x12]
strb r0, [r3, #0x13]
adds r0, r5, #0
adds r1, r6, #0
mov r2, r8
bl GetRelativeCollisionTile
adds r2, r0, #0
ldr r1, _0807A294 @ =gUnk_08007CAC
bl sub_08007DD6
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807A288: .4byte gRoomControls
_0807A28C: .4byte gPlayerEntity
_0807A290: .4byte gPlayerState
_0807A294: .4byte gUnk_08007CAC
.syntax divided
@@ -1,238 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
ldr r1, _080782D8 @ =gPlayerState
adds r2, r1, #0
adds r2, #0xa8
ldrb r0, [r2]
adds r4, r1, #0
cmp r0, #0
bne _080782DC
adds r0, r4, #0
adds r0, #0xa9
ldrb r0, [r0]
b _080782DE
.align 2, 0
_080782D8: .4byte gPlayerState
_080782DC:
ldrb r0, [r2]
_080782DE:
subs r0, #2
cmp r0, #0x14
bhi _08078348
lsls r0, r0, #2
ldr r1, _080782F0 @ =_080782F4
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080782F0: .4byte _080782F4
_080782F4: @ jump table
.4byte _080784AC @ case 0
.4byte _080784AC @ case 1
.4byte _08078348 @ case 2
.4byte _08078348 @ case 3
.4byte _08078348 @ case 4
.4byte _08078348 @ case 5
.4byte _08078348 @ case 6
.4byte _08078348 @ case 7
.4byte _08078348 @ case 8
.4byte _08078348 @ case 9
.4byte _080784AC @ case 10
.4byte _08078348 @ case 11
.4byte _08078348 @ case 12
.4byte _08078348 @ case 13
.4byte _08078348 @ case 14
.4byte _08078348 @ case 15
.4byte _080784AC @ case 16
.4byte _08078348 @ case 17
.4byte _08078348 @ case 18
.4byte _080784AC @ case 19
.4byte _080784AC @ case 20
_08078348:
adds r0, r4, #0
adds r0, #0x27
adds r2, r4, #0
adds r2, #0x26
ldrb r1, [r0]
ldrb r0, [r2]
orrs r0, r1
cmp r0, #0
beq _0807835C
b _080784AC
_0807835C:
ldrb r0, [r4, #0x12]
cmp r0, #1
bne _08078376
ldrb r0, [r4, #0x14]
cmp r0, #0
bne _0807836A
b _080784AC
_0807836A:
bl CanDispEzloMessage
cmp r0, #0
beq _08078374
b _080784C4
_08078374:
b _080784AC
_08078376:
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #7
ands r0, r1
cmp r0, #0
beq _08078384
b _080784AC
_08078384:
bl CanDispEzloMessage
cmp r0, #0
beq _0807838E
b _080784C4
_0807838E:
bl sub_080784E4
ldr r6, [r0, #8]
cmp r6, #0
bne _0807839A
b _080784AC
_0807839A:
ldrb r0, [r4, #5]
cmp r0, #0
beq _080783B6
cmp r0, #4
beq _080783A6
b _080784AC
_080783A6:
ldr r0, _08078400 @ =gPlayerEntity
ldr r0, [r0, #0x74]
ldr r0, [r0, #0x54]
ldrh r1, [r0, #8]
ldr r0, _08078404 @ =0x00000206
cmp r1, r0
beq _080783B6
b _080784AC
_080783B6:
ldr r2, _08078408 @ =gPlayerState
adds r0, r2, #0
adds r0, #0x92
ldrh r1, [r0]
movs r0, #0x80
lsls r0, r0, #5
ands r0, r1
adds r4, r2, #0
cmp r0, #0
beq _0807842C
ldr r5, _0807840C @ =gUnk_03003DF0
ldr r0, [r5, #4]
ldrb r0, [r0, #3]
subs r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x63
bhi _0807842C
movs r0, #0
bl sub_0801E738
ldr r0, _08078410 @ =gSave
ldr r1, _08078414 @ =0x0000012B
adds r0, r0, r1
ldrb r0, [r0]
cmp r0, #0
beq _08078418
ldr r1, [r5, #4]
ldrb r0, [r1, #3]
strb r0, [r5, #2]
ldr r0, [r1, #8]
adds r0, #0x39
movs r1, #2
strb r1, [r0]
movs r0, #7
strb r0, [r4, #0xc]
b _08078420
.align 2, 0
_08078400: .4byte gPlayerEntity
_08078404: .4byte 0x00000206
_08078408: .4byte gPlayerState
_0807840C: .4byte gUnk_03003DF0
_08078410: .4byte gSave
_08078414: .4byte 0x0000012B
_08078418:
ldr r0, _08078428 @ =0x00000B65
movs r1, #0
bl CreateEzloHint
_08078420:
movs r0, #0x13
bl ForceSetPlayerState
b _080784C4
.align 2, 0
_08078428: .4byte 0x00000B65
_0807842C:
adds r0, r4, #0
adds r0, #0x92
ldrh r1, [r0]
movs r0, #0x88
ands r0, r1
cmp r0, #0
beq _080784AC
ldr r0, _08078450 @ =gUnk_03003DF0
ldr r0, [r0, #4]
ldrb r0, [r0, #1]
cmp r0, #0xa
bhi _080784C4
lsls r0, r0, #2
ldr r1, _08078454 @ =_08078458
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08078450: .4byte gUnk_03003DF0
_08078454: .4byte _08078458
_08078458: @ jump table
.4byte _080784C4 @ case 0
.4byte _08078484 @ case 1
.4byte _080784C4 @ case 2
.4byte _0807848E @ case 3
.4byte _080784C4 @ case 4
.4byte _0807848E @ case 5
.4byte _08078484 @ case 6
.4byte _0807848E @ case 7
.4byte _080784A4 @ case 8
.4byte _08078484 @ case 9
.4byte _08078484 @ case 10
_08078484:
movs r0, #7
strb r0, [r4, #0xc]
movs r0, #0x13
bl ForceSetPlayerState
_0807848E:
adds r1, r6, #0
adds r1, #0x39
movs r2, #0
movs r0, #1
strb r0, [r1]
ldr r0, _080784A0 @ =gUnk_03003DF0
strb r2, [r0, #2]
b _080784C4
.align 2, 0
_080784A0: .4byte gUnk_03003DF0
_080784A4:
ldr r2, _080784B0 @ =gRoomVars
ldrb r0, [r2, #6]
cmp r0, #0
beq _080784B4
_080784AC:
movs r0, #0
b _080784C6
.align 2, 0
_080784B0: .4byte gRoomVars
_080784B4:
adds r1, r6, #0
adds r1, #0x39
movs r0, #1
strb r0, [r1]
ldrb r0, [r6, #0xa]
strb r0, [r2, #6]
ldrb r0, [r6, #0xb]
strb r0, [r2, #7]
_080784C4:
movs r0, #1
_080784C6:
pop {r4, r5, r6, pc}
.syntax divided
@@ -1,57 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldr r0, _080793FC @ =gPlayerState
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
bne _08079408
ldr r1, _08079400 @ =gUnk_0811C0F8
ldr r0, _08079404 @ =gPlayerEntity
ldrb r0, [r0, #0x14]
lsrs r0, r0, #1
b _08079410
.align 2, 0
_080793FC: .4byte gPlayerState
_08079400: .4byte gUnk_0811C0F8
_08079404: .4byte gPlayerEntity
_08079408:
ldr r1, _08079448 @ =gUnk_0811C0F8
ldr r0, _0807944C @ =gPlayerEntity
ldrb r0, [r0, #0x15]
lsrs r0, r0, #2
_08079410:
lsls r0, r0, #1
adds r0, r0, r1
ldrh r4, [r0]
bl sub_08079778
cmp r0, #0
beq _08079454
ldr r0, _08079450 @ =gPlayerState
adds r0, #0x90
ldrh r0, [r0]
ands r0, r4
cmp r0, #0
beq _08079454
cmp r5, #0
beq _08079442
bl sub_0807A500
ldr r1, _0807944C @ =gPlayerEntity
adds r1, #0x38
ldrb r1, [r1]
adds r2, r5, #0
bl sub_080B1BA4
cmp r0, #0
beq _08079454
_08079442:
movs r0, #1
b _08079456
.align 2, 0
_08079448: .4byte gUnk_0811C0F8
_0807944C: .4byte gPlayerEntity
_08079450: .4byte gPlayerState
_08079454:
movs r0, #0
_08079456:
pop {r4, r5, pc}
.syntax divided
@@ -1,38 +0,0 @@
.syntax unified
push {lr}
ldr r0, _08079790 @ =gPlayerState
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
bne _0807979C
ldr r2, _08079794 @ =gUnk_0811C108
ldr r1, _08079798 @ =gPlayerEntity
ldrb r0, [r1, #0x14]
lsrs r0, r0, #1
b _080797A4
.align 2, 0
_08079790: .4byte gPlayerState
_08079794: .4byte gUnk_0811C108
_08079798: .4byte gPlayerEntity
_0807979C:
ldr r2, _080797BC @ =gUnk_0811C108
ldr r1, _080797C0 @ =gPlayerEntity
ldrb r0, [r1, #0x15]
lsrs r0, r0, #2
_080797A4:
lsls r0, r0, #1
adds r0, r0, r2
ldrh r2, [r0]
movs r3, #0
ldrh r0, [r1, #0x2a]
ands r0, r2
cmp r2, r0
bne _080797B6
movs r3, #1
_080797B6:
adds r0, r3, #0
pop {pc}
.align 2, 0
_080797BC: .4byte gUnk_0811C108
_080797C0: .4byte gPlayerEntity
.syntax divided
@@ -1,22 +0,0 @@
.syntax unified
push {lr}
ldr r1, _080797E4 @ =gUnk_0811C110
ldr r2, _080797E8 @ =gPlayerEntity
ldrb r0, [r2, #0x15]
lsrs r0, r0, #3
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
movs r3, #0
ldrh r0, [r2, #0x2a]
ands r0, r1
cmp r1, r0
bne _080797E0
movs r3, #1
_080797E0:
adds r0, r3, #0
pop {pc}
.align 2, 0
_080797E4: .4byte gUnk_0811C110
_080797E8: .4byte gPlayerEntity
.syntax divided
@@ -1,92 +0,0 @@
.syntax unified
push {r4, r5, lr}
ldr r2, _08079B60 @ =gPlayerEntity
ldrb r0, [r2, #0xc]
cmp r0, #0xa
beq _08079BD4
adds r0, r2, #0
adds r0, #0x45
ldrb r3, [r0]
cmp r3, #0
bne _08079BD4
ldr r4, _08079B64 @ =gPlayerState
ldr r1, [r4, #0x30]
ldr r0, _08079B68 @ =0xFEFFFFFF
ands r1, r0
str r1, [r4, #0x30]
adds r0, r2, #0
adds r0, #0x42
strb r3, [r0]
ldrb r0, [r4, #7]
cmp r0, #0
bne _08079BD4
adds r0, r4, #0
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
beq _08079B6C
bl RespawnPlayer
b _08079BC0
.align 2, 0
_08079B60: .4byte gPlayerEntity
_08079B64: .4byte gPlayerState
_08079B68: .4byte 0xFEFFFFFF
_08079B6C:
ldrb r0, [r4, #0x14]
cmp r0, #0
bne _08079BC0
movs r3, #0x80
lsls r3, r3, #5
ands r3, r1
cmp r3, #0
bne _08079BC0
movs r5, #0x36
ldrsh r0, [r2, r5]
cmp r0, #0
bge _08079BA6
ldr r0, [r2, #0x20]
cmp r0, #0
ble _08079B8C
str r3, [r2, #0x20]
_08079B8C:
ldrb r1, [r4, #2]
movs r3, #0x41
adds r0, r3, #0
ands r0, r1
cmp r0, #0
bne _08079BD4
strb r3, [r4, #2]
movs r0, #0xff
strb r0, [r2, #0x15]
movs r0, #1
rsbs r0, r0, #0
strb r0, [r4, #0xd]
b _08079BD4
_08079BA6:
movs r0, #2
ands r1, r0
cmp r1, #0
bne _08079BC0
bl sub_08079D48
cmp r0, #0
bne _08079BC0
ldrb r0, [r4, #0xa]
movs r1, #0x10
orrs r0, r1
strb r0, [r4, #0xa]
b _08079BD4
_08079BC0:
ldr r2, _08079BD0 @ =gPlayerEntity
ldrb r1, [r2, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r2, #0x10]
movs r0, #0
b _08079BD6
.align 2, 0
_08079BD0: .4byte gPlayerEntity
_08079BD4:
movs r0, #1
_08079BD6:
pop {r4, r5, pc}
.syntax divided
@@ -1,73 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldr r0, _0808085C @ =gRoomTransition
movs r1, #1
strb r1, [r0, #8]
adds r2, r0, #0
adds r2, #0xc
ldrh r1, [r4, #6]
ldr r0, _08080860 @ =0x000003FF
cmp r1, r0
bhi _08080864
strh r1, [r2, #4]
b _08080872
.align 2, 0
_0808085C: .4byte gRoomTransition
_08080860: .4byte 0x000003FF
_08080864:
ldr r0, _08080880 @ =gRoomControls
ldr r0, [r0, #0x30]
ldrh r1, [r0, #0x2e]
ldr r3, _08080884 @ =0xFFFF8000
adds r0, r3, #0
orrs r0, r1
strh r0, [r2, #4]
_08080872:
ldrh r1, [r4, #8]
ldr r0, _08080888 @ =0x000003FF
cmp r1, r0
bhi _0808088C
strh r1, [r2, #6]
b _0808089A
.align 2, 0
_08080880: .4byte gRoomControls
_08080884: .4byte 0xFFFF8000
_08080888: .4byte 0x000003FF
_0808088C:
ldr r0, _080808CC @ =gRoomControls
ldr r0, [r0, #0x30]
ldrh r1, [r0, #0x32]
ldr r3, _080808D0 @ =0xFFFF8000
adds r0, r3, #0
orrs r0, r1
strh r0, [r2, #6]
_0808089A:
ldrb r0, [r4, #0xb]
strb r0, [r2]
ldrb r0, [r4, #0xc]
strb r0, [r2, #1]
ldrb r0, [r4, #0xd]
strb r0, [r2, #8]
ldrb r0, [r4, #0xe]
strb r0, [r2, #3]
ldrb r0, [r4, #0xf]
strb r0, [r2, #2]
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _080808B8
bl SoundReq
_080808B8:
ldr r0, _080808D4 @ =gUnk_0811E7C4
ldrh r1, [r4]
lsls r1, r1, #2
adds r1, r1, r0
ldrb r0, [r4, #0xa]
ldr r1, [r1]
bl _call_via_r1
pop {r4, pc}
.align 2, 0
_080808CC: .4byte gRoomControls
_080808D0: .4byte 0xFFFF8000
_080808D4: .4byte gUnk_0811E7C4
.syntax divided