Merge and split game

This commit is contained in:
octorock
2022-03-02 21:03:41 +01:00
parent 5efe982847
commit 052bacdbad
19 changed files with 1683 additions and 2445 deletions
-1712
View File
File diff suppressed because it is too large Load Diff
-207
View File
@@ -1,207 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805488C
sub_0805488C: @ 0x0805488C
push {r4, lr}
ldr r4, _080548DC @ =gUnk_02032EC0
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 gUnk_02032EC0
_080548E0: .4byte gUnk_080FE320
_080548E4: .4byte gMenu
thumb_func_start sub_080548E8
sub_080548E8: @ 0x080548E8
push {lr}
ldr r1, _08054918 @ =gUnk_080FE2AC
ldr r0, _0805491C @ =gMenu
ldrb r0, [r0]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
bl FlushSprites
bl UpdateEntities
bl DrawEntities
bl CopyOAM
bl UpdateScroll
bl UpdateBgAnim
bl UpdateScrollVram
pop {pc}
.align 2, 0
_08054918: .4byte gUnk_080FE2AC
_0805491C: .4byte gMenu
thumb_func_start sub_08054920
sub_08054920: @ 0x08054920
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 @ =gUnk_02032EC0
ldrb r1, [r0, #3]
movs r0, #0xa
bl MenuFadeIn
b _08054962
.align 2, 0
_08054948: .4byte gUnk_080C9CBC
_0805494C: .4byte gFuseInfo
_08054950: .4byte gUnk_02032EC0
_08054954:
ldr r1, _08054964 @ =gUnk_02032EC0
movs r0, #3
strb r0, [r1]
movs r0, #7
movs r1, #0x10
bl SetFade
_08054962:
pop {pc}
.align 2, 0
_08054964: .4byte gUnk_02032EC0
thumb_func_start sub_08054968
sub_08054968: @ 0x08054968
ldr r1, _08054970 @ =gMenu
movs r0, #2
strb r0, [r1, #5]
bx lr
.align 2, 0
_08054970: .4byte gMenu
thumb_func_start sub_08054974
sub_08054974: @ 0x08054974
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 sub_0807C740
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 @ =gUnk_02032EC0
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 gUnk_02032EC0
thumb_func_start sub_08054A14
sub_08054A14: @ 0x08054A14
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
-40
View File
@@ -1,40 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start ModArrows
ModArrows: @ 0x08054330
push {lr}
adds r3, r0, #0
ldr r1, _08054354 @ =gSave
adds r0, r1, #0
adds r0, #0xad
ldrb r0, [r0]
adds r3, r3, r0
ldr r2, _08054358 @ =gQuiverSizes
adds r0, r1, #0
adds r0, #0xaf
ldrb r0, [r0]
adds r0, r0, r2
ldrb r2, [r0]
cmp r3, #0
bge _0805435C
movs r3, #0
b _08054362
.align 2, 0
_08054354: .4byte gSave
_08054358: .4byte gQuiverSizes
_0805435C:
cmp r2, r3
bge _08054362
adds r3, r2, #0
_08054362:
adds r0, r1, #0
adds r0, #0xad
strb r3, [r0]
pop {pc}
.align 2, 0
-40
View File
@@ -1,40 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start ModBombs
ModBombs: @ 0x080542F4
push {lr}
adds r3, r0, #0
ldr r1, _08054318 @ =gSave
adds r0, r1, #0
adds r0, #0xac
ldrb r0, [r0]
adds r3, r3, r0
ldr r2, _0805431C @ =gBombBagSizes
adds r0, r1, #0
adds r0, #0xae
ldrb r0, [r0]
adds r0, r0, r2
ldrb r2, [r0]
cmp r3, #0
bge _08054320
movs r3, #0
b _08054326
.align 2, 0
_08054318: .4byte gSave
_0805431C: .4byte gBombBagSizes
_08054320:
cmp r2, r3
bge _08054326
adds r3, r2, #0
_08054326:
adds r0, r1, #0
adds r0, #0xac
strb r3, [r0]
pop {pc}
.align 2, 0
@@ -15,7 +15,7 @@ _08087CC6:
adds r0, #0x81
ldrb r0, [r0]
rsbs r0, r0, #0
bl sub_080542C0
bl ModShells
bl Random
movs r1, #0x7f
ands r1, r0
@@ -141,7 +141,7 @@ _08088332:
adds r0, #0x81
ldrb r0, [r0]
rsbs r0, r0, #0
bl sub_080542C0
bl ModShells
bl Random
movs r1, #0x7f
ands r1, r0
+314
View File
@@ -0,0 +1,314 @@
.syntax unified
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 @ =gItemMetaData
adds r4, r1, r0
cmp r5, #0
bne _08054014
ldrh r0, [r4, #4]
mov r8, r0
b _08054018
.align 2, 0
_08054010: .4byte gItemMetaData
_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 SetInventoryValue
_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 SetInventoryValue
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 SetInventoryValue
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 SetInventoryValue
b _080541B0
_0805418A:
movs r0, #0xb
movs r1, #0
bl SetInventoryValue
b _080541B0
_08054194:
cmp r6, #7
bne _080541A2
movs r0, #8
movs r1, #0
bl SetInventoryValue
b _080541AA
_080541A2:
movs r0, #7
movs r1, #0
bl SetInventoryValue
_080541AA:
movs r0, #0x63
bl ModBombs
_080541B0:
bl LoadItemGfx
b _0805427C
_080541B6:
cmp r5, #0
bne _080541CA
movs r0, #7
movs r1, #1
bl SetInventoryValue
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 SetInventoryValue
_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 SetInventoryValue
adds r0, r7, #0
bl ModShells
_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
.syntax divided
+72
View File
@@ -0,0 +1,72 @@
.syntax unified
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 @ =gMapBottom
str r2, [r0]
ldr r0, _080537E8 @ =gMapTop
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 gMapBottom
_080537E8: .4byte gMapTop
_080537EC: .4byte gRoomControls
_080537F0: .4byte gScreen
_080537F4: .4byte 0x00002244
_080537F8: .4byte 0x00001C4E
_080537FC: .4byte 0x00001DC1
.syntax divided
+67
View File
@@ -0,0 +1,67 @@
.syntax unified
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
.syntax divided
+57
View File
@@ -0,0 +1,57 @@
.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
@@ -0,0 +1,57 @@
.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
@@ -0,0 +1,47 @@
.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
@@ -0,0 +1,40 @@
.syntax unified
push {r4, lr}
ldr r4, _080548DC @ =gUnk_02032EC0
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 gUnk_02032EC0
_080548E0: .4byte gUnk_080FE320
_080548E4: .4byte gMenu
.syntax divided
+33
View File
@@ -0,0 +1,33 @@
.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 @ =gUnk_02032EC0
ldrb r1, [r0, #3]
movs r0, #0xa
bl MenuFadeIn
b _08054962
.align 2, 0
_08054948: .4byte gUnk_080C9CBC
_0805494C: .4byte gFuseInfo
_08054950: .4byte gUnk_02032EC0
_08054954:
ldr r1, _08054964 @ =gUnk_02032EC0
movs r0, #3
strb r0, [r1]
movs r0, #7
movs r1, #0x10
bl SetFade
_08054962:
pop {pc}
.align 2, 0
_08054964: .4byte gUnk_02032EC0
.syntax divided
+70
View File
@@ -0,0 +1,70 @@
.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 sub_0807C740
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 @ =gUnk_02032EC0
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 gUnk_02032EC0
.syntax divided
+22
View File
@@ -0,0 +1,22 @@
.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