mirror of
https://github.com/zeldaret/tmc
synced 2026-08-03 08:53:18 -04:00
Merge and split game
This commit is contained in:
-1712
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user