Improve LayerStruct

This commit is contained in:
octorock
2022-03-05 11:43:58 +01:00
parent d18fed1fb9
commit d6bbbf2db6
67 changed files with 720 additions and 1213 deletions
+4 -4
View File
@@ -24,7 +24,7 @@ _08019694: .4byte gMenu
thumb_func_start sub_08019698
sub_08019698: @ 0x08019698
push {r4, r5, lr}
ldr r0, _08019724 @ =gUnk_02032EC0
ldr r0, _08019724 @ =gUI
ldrb r1, [r0, #3]
lsls r0, r1, #3
subs r0, r0, r1
@@ -86,7 +86,7 @@ _08019700:
strb r0, [r1]
pop {r4, r5, pc}
.align 2, 0
_08019724: .4byte gUnk_02032EC0
_08019724: .4byte gUI
_08019728: .4byte gUnk_080B4410
_0801972C: .4byte gRoomControls
_08019730: .4byte gUpdateVisibleTiles
@@ -3232,7 +3232,7 @@ _0801AEB6:
ldr r0, [r1]
cmp r0, #0
beq _0801AED0
ldr r0, _0801AF00 @ =gUnk_02019EE0
ldr r0, _0801AF00 @ =gMapDataBottomSpecial
bl sub_0801AB08
_0801AED0:
ldr r1, _0801AF04 @ =gMapTop
@@ -3251,7 +3251,7 @@ _0801AEF0: .4byte gUnk_03004030
_0801AEF4: .4byte 0x0000088C
_0801AEF8: .4byte 0x00000888
_0801AEFC: .4byte gMapBottom
_0801AF00: .4byte gUnk_02019EE0
_0801AF00: .4byte gMapDataBottomSpecial
_0801AF04: .4byte gMapTop
_0801AF08: .4byte gMapDataTopSpecial
_0801AF0C:
+2 -2
View File
@@ -26,7 +26,7 @@ sub_0804AB70: @ 0x0804AB70
ldrb r5, [r0, #0x17]
cmp r5, #2
bne _0804ABA4
ldr r0, _0804AC08 @ =gUnk_02032EC0
ldr r0, _0804AC08 @ =gUI
adds r0, #0x20
ldrb r0, [r0]
cmp r0, #2
@@ -72,7 +72,7 @@ _0804ABF8: .4byte gScreen
_0804ABFC: .4byte 0x00009E83
_0804AC00: .4byte gRoomControls
_0804AC04: .4byte gArea
_0804AC08: .4byte gUnk_02032EC0
_0804AC08: .4byte gUI
_0804AC0C: .4byte gUnk_080D4138
_0804AC10: .4byte gUnk_02017700
_0804AC14: .4byte gUsedPalettes
+3 -3
View File
@@ -54,12 +54,12 @@
map_data \src_offset, gMapDataTopSpecial, \size, \compressed, \terminator
.endm
.macro map_unknown src_offset, size, compressed, terminator=0
.macro collision_bottom src_offset, size, compressed, terminator=0
map_data \src_offset, gUnk_02027EB4, \size, \compressed, \terminator
.endm
.macro map_unknown_2 src_offset, size, compressed, terminator=0
map_data \src_offset, gUnk_02019EE0, \size, \compressed, \terminator
.macro map_bottom_special src_offset, size, compressed, terminator=0
map_data \src_offset, gMapDataBottomSpecial, \size, \compressed, \terminator
.endm
+2 -2
View File
@@ -30,7 +30,7 @@ _08081E9A:
ldrh r0, [r1]
lsl r0, r0, #3
add r3, r3, r0
ldr r2, _08081EF8 @ =gUnk_02019EE0
ldr r2, _08081EF8 @ =gMapDataBottomSpecial
cmp r5, #2
bne _08081EB4
ldr r2, _08081EFC @ =gMapDataTopSpecial
@@ -64,5 +64,5 @@ _08081EE8:
_08081EEC: .4byte 0x00003FFF
_08081EF0: .4byte 0x00007004
_08081EF4: .4byte 0x00006004
_08081EF8: .4byte gUnk_02019EE0
_08081EF8: .4byte gMapDataBottomSpecial
_08081EFC: .4byte gMapDataTopSpecial
@@ -20,7 +20,7 @@ _0801DDB8:
lsls r0, r4, #2
adds r0, r0, r1
ldr r4, [r0]
ldr r0, _0801DDE0 @ =gUnk_02019EE0
ldr r0, _0801DDE0 @ =gMapDataBottomSpecial
movs r1, #0x80
lsls r1, r1, #8
bl MemClear
@@ -28,7 +28,7 @@ _0801DDB8:
.align 2, 0
_0801DDD8: .4byte gUnk_080C9C50
_0801DDDC: .4byte gArea
_0801DDE0: .4byte gUnk_02019EE0
_0801DDE0: .4byte gMapDataBottomSpecial
_0801DDE4:
ldrb r0, [r4]
ldrb r1, [r4, #1]
@@ -41,7 +41,7 @@ _0801DDE4:
movs r0, #0
str r0, [sp, #0xc]
ldrh r2, [r4]
ldr r0, _0801DE14 @ =gUnk_02032EC0
ldr r0, _0801DE14 @ =gUI
ldrh r3, [r0, #0x20]
ldr r1, _0801DE18 @ =0x0000FFFF
ands r1, r2
@@ -52,7 +52,7 @@ _0801DDE4:
movs r3, #8
b _0801DE36
.align 2, 0
_0801DE14: .4byte gUnk_02032EC0
_0801DE14: .4byte gUI
_0801DE18: .4byte 0x0000FFFF
_0801DE1C:
bl HasDungeonSmallKey
@@ -89,7 +89,7 @@ _0801DE46:
ldr r1, _0801DEFC @ =gMapData
adds r0, r0, r1
str r0, [r2]
ldr r0, _0801DF00 @ =gUnk_02019EE0
ldr r0, _0801DF00 @ =gMapDataBottomSpecial
str r0, [r2, #4]
ldr r0, _0801DF04 @ =0x84000100
str r0, [r2, #8]
@@ -127,7 +127,7 @@ _0801DEA0:
ldr r3, [sp, #8]
adds r1, r6, #0
muls r1, r3, r1
ldr r0, _0801DF00 @ =gUnk_02019EE0
ldr r0, _0801DF00 @ =gMapDataBottomSpecial
adds r1, r1, r0
mov r8, r1
movs r5, #0
@@ -172,7 +172,7 @@ _0801DEEA:
.align 2, 0
_0801DEF8: .4byte 0x040000D4
_0801DEFC: .4byte gMapData
_0801DF00: .4byte gUnk_02019EE0
_0801DF00: .4byte gMapDataBottomSpecial
_0801DF04: .4byte 0x84000100
_0801DF08: .4byte gAreaRoomHeaders
_0801DF0C: .4byte 0x000007FF
+4 -4
View File
@@ -2,7 +2,7 @@
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
ldr r0, _08050F40 @ =gUnk_02019EE0
ldr r0, _08050F40 @ =gMapDataBottomSpecial
ldrb r1, [r0]
adds r6, r0, #0
cmp r1, #0
@@ -38,7 +38,7 @@ _08050F1E:
beq _08050F82
b _08050F8E
.align 2, 0
_08050F40: .4byte gUnk_02019EE0
_08050F40: .4byte gMapDataBottomSpecial
_08050F44: .4byte 0x000004B4
_08050F48: .4byte gMenu
_08050F4C: .4byte gInput
@@ -107,12 +107,12 @@ _08050FAC:
_08050FBA:
adds r0, r5, #0
bl SetMenuType
ldr r0, _08050FCC @ =gUnk_02019EE0
ldr r0, _08050FCC @ =gMapDataBottomSpecial
ldrb r0, [r0, #6]
bl SetActiveSave
b _08050FF4
.align 2, 0
_08050FCC: .4byte gUnk_02019EE0
_08050FCC: .4byte gMapDataBottomSpecial
_08050FD0:
mov r1, ip
ldrb r0, [r1, #1]
+2 -2
View File
@@ -1,6 +1,6 @@
.syntax unified
push {r4, r5, r6, r7, lr}
ldr r1, _08051768 @ =gUnk_02019EE0
ldr r1, _08051768 @ =gMapDataBottomSpecial
movs r0, #4
strb r0, [r1, #7]
movs r4, #0
@@ -25,7 +25,7 @@ _0805174C:
ands r2, r0
b _08051774
.align 2, 0
_08051768: .4byte gUnk_02019EE0
_08051768: .4byte gMapDataBottomSpecial
_0805176C: .4byte gUnk_02000090
_08051770:
adds r4, #1
+2 -2
View File
@@ -1,6 +1,6 @@
.syntax unified
push {r4, r5, r6, r7, lr}
ldr r0, _080510E4 @ =gUnk_02019EE0
ldr r0, _080510E4 @ =gMapDataBottomSpecial
ldrb r0, [r0]
cmp r0, #0
beq _080510C4
@@ -24,7 +24,7 @@ _080510DC:
beq _080511B8
b _08051100
.align 2, 0
_080510E4: .4byte gUnk_02019EE0
_080510E4: .4byte gMapDataBottomSpecial
_080510E8: .4byte gInput
_080510EC:
movs r0, #0x80
+2 -2
View File
@@ -10,7 +10,7 @@
movs r0, #0x1e
strh r0, [r1, #0xa]
strb r4, [r1, #0x10]
ldr r0, _080537E0 @ =gUnk_02032EC0
ldr r0, _080537E0 @ =gUI
strb r3, [r0, #6]
ldr r0, _080537E4 @ =gMapBottom
str r2, [r0]
@@ -61,7 +61,7 @@
pop {r4, pc}
.align 2, 0
_080537DC: .4byte gMenu
_080537E0: .4byte gUnk_02032EC0
_080537E0: .4byte gUI
_080537E4: .4byte gMapBottom
_080537E8: .4byte gMapTop
_080537EC: .4byte gRoomControls
+2 -2
View File
@@ -1,6 +1,6 @@
.syntax unified
push {r4, lr}
ldr r4, _080548DC @ =gUnk_02032EC0
ldr r4, _080548DC @ =gUI
ldrb r1, [r4, #3]
lsls r0, r1, #2
adds r0, r0, r1
@@ -34,7 +34,7 @@
bl sub_080548E8
pop {r4, pc}
.align 2, 0
_080548DC: .4byte gUnk_02032EC0
_080548DC: .4byte gUI
_080548E0: .4byte gUnk_080FE320
_080548E4: .4byte gMenu
.syntax divided
+4 -4
View File
@@ -10,7 +10,7 @@
ldrb r0, [r0, #7]
cmp r0, #0
beq _08054954
ldr r0, _08054950 @ =gUnk_02032EC0
ldr r0, _08054950 @ =gUI
ldrb r1, [r0, #3]
movs r0, #0xa
bl MenuFadeIn
@@ -18,9 +18,9 @@
.align 2, 0
_08054948: .4byte gUnk_080C9CBC
_0805494C: .4byte gFuseInfo
_08054950: .4byte gUnk_02032EC0
_08054950: .4byte gUI
_08054954:
ldr r1, _08054964 @ =gUnk_02032EC0
ldr r1, _08054964 @ =gUI
movs r0, #3
strb r0, [r1]
movs r0, #7
@@ -29,5 +29,5 @@ _08054954:
_08054962:
pop {pc}
.align 2, 0
_08054964: .4byte gUnk_02032EC0
_08054964: .4byte gUI
.syntax divided
+2 -2
View File
@@ -57,7 +57,7 @@ _080549CE:
bne _080549F4
bl TryLoadPrologueHyruleTown
_080549F4:
ldr r0, _08054A10 @ =gUnk_02032EC0
ldr r0, _08054A10 @ =gUI
ldrb r0, [r0, #3]
bl sub_08018710
pop {r4, r5, r6, pc}
@@ -66,5 +66,5 @@ _08054A00: .4byte gUpdateVisibleTiles
_08054A04: .4byte gScreen
_08054A08: .4byte 0x00001FFF
_08054A0C: .4byte gRoomControls
_08054A10: .4byte gUnk_02032EC0
_08054A10: .4byte gUI
.syntax divided
+6 -6
View File
@@ -19,7 +19,7 @@
movs r1, #0x80
lsls r1, r1, #5
bl MemClear
ldr r0, _0807C160 @ =gUnk_02019EE0
ldr r0, _0807C160 @ =gMapDataBottomSpecial
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
@@ -56,7 +56,7 @@
.align 2, 0
_0807C158: .4byte gRoomControls
_0807C15C: .4byte gMapDataTop
_0807C160: .4byte gUnk_02019EE0
_0807C160: .4byte gMapDataBottomSpecial
_0807C164: .4byte gMapDataTopSpecial
_0807C168: .4byte gArea
_0807C16C: .4byte 0x0000085C
@@ -204,7 +204,7 @@ _0807C2A0:
mov r3, sb
cmp r3, #0
bne _0807C2E4
ldr r0, _0807C2DC @ =gUnk_02019EE0
ldr r0, _0807C2DC @ =gMapDataBottomSpecial
adds r1, r4, #0
bl sub_0801AB08
ldr r0, _0807C2E0 @ =gMapDataTopSpecial
@@ -216,10 +216,10 @@ _0807C2CC: .4byte gUnk_02027EB4
_0807C2D0: .4byte gUnk_0200D654
_0807C2D4: .4byte gMapBottom
_0807C2D8: .4byte gMapTop
_0807C2DC: .4byte gUnk_02019EE0
_0807C2DC: .4byte gMapDataBottomSpecial
_0807C2E0: .4byte gMapDataTopSpecial
_0807C2E4:
ldr r4, _0807C34C @ =gUnk_02019EE0
ldr r4, _0807C34C @ =gMapDataBottomSpecial
movs r0, #0x80
lsls r0, r0, #7
adds r5, r4, r0
@@ -269,7 +269,7 @@ _0807C33A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0807C34C: .4byte gUnk_02019EE0
_0807C34C: .4byte gMapDataBottomSpecial
_0807C350: .4byte gMapDataTopSpecial
_0807C354: .4byte _0807C358
_0807C358: @ jump table
@@ -1,135 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r6, r2, #0
ldr r0, _0807B3A0 @ =0x000007FF
cmp r5, r0
bhi _0807B410
adds r0, r4, #0
adds r1, r6, #0
bl DeleteLoadedTileEntity
adds r0, r6, #0
bl GetLayerByIndex
adds r2, r0, #0
lsls r1, r5, #1
ldr r3, _0807B3A4 @ =0x00006004
adds r0, r2, r3
adds r0, r0, r1
ldrh r0, [r0]
mov ip, r0
lsls r1, r4, #1
adds r0, r2, #4
adds r0, r0, r1
mov r1, ip
strh r1, [r0]
ldr r0, _0807B3A8 @ =gUnk_080B3E80
adds r0, r5, r0
ldrb r3, [r0]
ldr r1, _0807B3AC @ =0x00002004
adds r0, r2, r1
adds r0, r0, r4
strb r3, [r0]
ldr r7, _0807B3B0 @ =gRoomControls
ldrb r1, [r7, #0xf]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0807B36C
ldr r0, _0807B3B4 @ =gMapBottom
ldr r1, _0807B3AC @ =0x00002004
adds r0, r0, r1
adds r0, r4, r0
strb r3, [r0]
_0807B36C:
ldr r3, _0807B3B8 @ =0x0000B004
adds r1, r2, r3
adds r1, r1, r4
ldr r0, _0807B3BC @ =gUnk_080B37A0
adds r0, r5, r0
ldrb r0, [r0]
strb r0, [r1]
ldrb r1, [r7, #0xf]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _0807B430
movs r1, #0x3f
ands r1, r4
lsls r1, r1, #1
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r4
lsls r0, r0, #2
adds r1, r1, r0
cmp r6, #2
beq _0807B3C4
lsls r1, r1, #1
ldr r0, _0807B3C0 @ =gUnk_02019EE0
b _0807B3C8
.align 2, 0
_0807B3A0: .4byte 0x000007FF
_0807B3A4: .4byte 0x00006004
_0807B3A8: .4byte gUnk_080B3E80
_0807B3AC: .4byte 0x00002004
_0807B3B0: .4byte gRoomControls
_0807B3B4: .4byte gMapBottom
_0807B3B8: .4byte 0x0000B004
_0807B3BC: .4byte gUnk_080B37A0
_0807B3C0: .4byte gUnk_02019EE0
_0807B3C4:
lsls r1, r1, #1
ldr r0, _0807B400 @ =gMapDataTopSpecial
_0807B3C8:
adds r3, r1, r0
mov r1, ip
lsls r0, r1, #3
ldr r1, _0807B404 @ =0x00007004
adds r0, r0, r1
adds r0, r2, r0
ldrh r1, [r0]
strh r1, [r3]
ldrh r1, [r0, #2]
strh r1, [r3, #2]
movs r1, #0x80
lsls r1, r1, #1
adds r2, r3, r1
ldrh r1, [r0, #4]
strh r1, [r2]
movs r2, #0x81
lsls r2, r2, #1
adds r1, r3, r2
ldrh r0, [r0, #6]
strh r0, [r1]
ldr r0, _0807B408 @ =gRoomControls
ldrh r0, [r0]
cmp r0, #1
beq _0807B430
ldr r1, _0807B40C @ =gUpdateVisibleTiles
movs r0, #1
strb r0, [r1]
b _0807B430
.align 2, 0
_0807B400: .4byte gMapDataTopSpecial
_0807B404: .4byte 0x00007004
_0807B408: .4byte gRoomControls
_0807B40C: .4byte gUpdateVisibleTiles
_0807B410:
ldr r0, _0807B424 @ =0x00003FFF
cmp r5, r0
bls _0807B428
adds r0, r5, #0
adds r1, r4, #0
adds r2, r6, #0
bl SetTile
b _0807B430
.align 2, 0
_0807B424: .4byte 0x00003FFF
_0807B428:
adds r0, r4, #0
adds r1, r6, #0
bl sub_0807BA8C
_0807B430:
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -1,99 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r7, r0, #0
adds r4, r1, #0
adds r6, r2, #0
adds r0, r4, #0
adds r1, r6, #0
bl DeleteLoadedTileEntity
adds r0, r6, #0
bl GetLayerByIndex
adds r5, r0, #0
lsls r1, r4, #1
adds r0, r5, #4
adds r0, r0, r1
strh r7, [r0]
lsls r1, r7, #1
ldr r2, _0807BA24 @ =0x00005004
adds r0, r5, r2
adds r0, r0, r1
ldrh r2, [r0]
ldr r0, _0807BA28 @ =0x00002004
adds r1, r5, r0
adds r1, r1, r4
ldr r0, _0807BA2C @ =gUnk_080B3E80
adds r0, r2, r0
ldrb r0, [r0]
strb r0, [r1]
ldr r0, _0807BA30 @ =0x0000B004
adds r1, r5, r0
adds r1, r1, r4
ldr r0, _0807BA34 @ =gUnk_080B37A0
adds r2, r2, r0
ldrb r0, [r2]
strb r0, [r1]
ldr r0, _0807BA38 @ =gRoomControls
ldrb r1, [r0, #0xf]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _0807BA78
movs r1, #0x3f
ands r1, r4
lsls r1, r1, #1
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r4
lsls r0, r0, #2
adds r1, r1, r0
cmp r6, #2
beq _0807BA40
lsls r1, r1, #1
ldr r0, _0807BA3C @ =gUnk_02019EE0
b _0807BA44
.align 2, 0
_0807BA24: .4byte 0x00005004
_0807BA28: .4byte 0x00002004
_0807BA2C: .4byte gUnk_080B3E80
_0807BA30: .4byte 0x0000B004
_0807BA34: .4byte gUnk_080B37A0
_0807BA38: .4byte gRoomControls
_0807BA3C: .4byte gUnk_02019EE0
_0807BA40:
lsls r1, r1, #1
ldr r0, _0807BA7C @ =gMapDataTopSpecial
_0807BA44:
adds r3, r1, r0
lsls r0, r7, #3
ldr r1, _0807BA80 @ =0x00007004
adds r0, r0, r1
adds r0, r5, r0
ldrh r1, [r0]
strh r1, [r3]
ldrh r1, [r0, #2]
strh r1, [r3, #2]
movs r1, #0x80
lsls r1, r1, #1
adds r2, r3, r1
ldrh r1, [r0, #4]
strh r1, [r2]
movs r2, #0x81
lsls r2, r2, #1
adds r1, r3, r2
ldrh r0, [r0, #6]
strh r0, [r1]
ldr r0, _0807BA84 @ =gRoomControls
ldrh r0, [r0]
cmp r0, #1
beq _0807BA78
ldr r1, _0807BA88 @ =gUpdateVisibleTiles
movs r0, #1
strb r0, [r1]
_0807BA78:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807BA7C: .4byte gMapDataTopSpecial
_0807BA80: .4byte 0x00007004
_0807BA84: .4byte gRoomControls
_0807BA88: .4byte gUpdateVisibleTiles
.syntax divided
@@ -1,101 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
adds r7, r1, #0
bl DeleteLoadedTileEntity
adds r0, r7, #0
bl GetLayerByIndex
adds r5, r0, #0
lsls r2, r4, #1
adds r1, r5, #4
adds r1, r1, r2
ldr r3, _0807BAFC @ =0x00003004
adds r0, r5, r3
adds r0, r0, r2
ldrh r6, [r0]
strh r6, [r1]
lsls r1, r6, #1
ldr r2, _0807BB00 @ =0x00005004
adds r0, r5, r2
adds r0, r0, r1
ldrh r2, [r0]
ldr r3, _0807BB04 @ =0x00002004
adds r1, r5, r3
adds r1, r1, r4
ldr r0, _0807BB08 @ =gUnk_080B3E80
adds r0, r2, r0
ldrb r0, [r0]
strb r0, [r1]
ldr r0, _0807BB0C @ =0x0000B004
adds r1, r5, r0
adds r1, r1, r4
ldr r0, _0807BB10 @ =gUnk_080B37A0
adds r2, r2, r0
ldrb r0, [r2]
strb r0, [r1]
ldr r0, _0807BB14 @ =gRoomControls
ldrb r1, [r0, #0xf]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _0807BB54
movs r1, #0x3f
ands r1, r4
lsls r1, r1, #1
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r4
lsls r0, r0, #2
adds r1, r1, r0
cmp r7, #2
beq _0807BB1C
lsls r1, r1, #1
ldr r0, _0807BB18 @ =gUnk_02019EE0
b _0807BB20
.align 2, 0
_0807BAFC: .4byte 0x00003004
_0807BB00: .4byte 0x00005004
_0807BB04: .4byte 0x00002004
_0807BB08: .4byte gUnk_080B3E80
_0807BB0C: .4byte 0x0000B004
_0807BB10: .4byte gUnk_080B37A0
_0807BB14: .4byte gRoomControls
_0807BB18: .4byte gUnk_02019EE0
_0807BB1C:
lsls r1, r1, #1
ldr r0, _0807BB58 @ =gMapDataTopSpecial
_0807BB20:
adds r3, r1, r0
lsls r0, r6, #3
ldr r1, _0807BB5C @ =0x00007004
adds r0, r0, r1
adds r0, r5, r0
ldrh r1, [r0]
strh r1, [r3]
ldrh r1, [r0, #2]
strh r1, [r3, #2]
movs r1, #0x80
lsls r1, r1, #1
adds r2, r3, r1
ldrh r1, [r0, #4]
strh r1, [r2]
movs r2, #0x81
lsls r2, r2, #1
adds r1, r3, r2
ldrh r0, [r0, #6]
strh r0, [r1]
ldr r0, _0807BB60 @ =gRoomControls
ldrh r0, [r0]
cmp r0, #1
beq _0807BB54
ldr r1, _0807BB64 @ =gUpdateVisibleTiles
movs r0, #1
strb r0, [r1]
_0807BB54:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807BB58: .4byte gMapDataTopSpecial
_0807BB5C: .4byte 0x00007004
_0807BB60: .4byte gRoomControls
_0807BB64: .4byte gUpdateVisibleTiles
.syntax divided
@@ -1,73 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
ldr r1, _0807BD04 @ =gRoomControls
ldrh r0, [r1, #0x1e]
lsrs r2, r0, #4
mov r8, r1
cmp r2, #0x40
bne _0807BC98
movs r2, #0x3f
_0807BC98:
ldr r1, _0807BD08 @ =gUnk_02027EB4
adds r3, r2, r1
adds r6, r1, #0
adds r6, #0x3f
ldr r0, _0807BD0C @ =gUnk_0200D654
adds r2, r2, r0
adds r5, r0, #0
adds r5, #0x3f
movs r4, #0
adds r7, r1, #0
mov ip, r0
movs r0, #0xff
_0807BCB0:
strb r0, [r3]
strb r0, [r6]
strb r0, [r2]
strb r0, [r5]
adds r3, #0x40
adds r6, #0x40
adds r2, #0x40
adds r5, #0x40
adds r4, #1
cmp r4, #0x3f
bls _0807BCB0
mov r0, r8
ldrh r1, [r0, #0x20]
ldr r0, _0807BD10 @ =0x0000FFF0
ands r0, r1
lsls r0, r0, #2
adds r3, r0, r7
movs r1, #0xfc
lsls r1, r1, #4
adds r6, r7, r1
mov r1, ip
adds r2, r0, r1
movs r5, #0xfc
lsls r5, r5, #4
add r5, ip
movs r4, #0
movs r0, #0xff
_0807BCE6:
strb r0, [r3]
adds r3, #1
strb r0, [r6]
adds r6, #1
strb r0, [r2]
adds r2, #1
strb r0, [r5]
adds r5, #1
adds r4, #1
cmp r4, #0x3f
bls _0807BCE6
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807BD04: .4byte gRoomControls
_0807BD08: .4byte gUnk_02027EB4
_0807BD0C: .4byte gUnk_0200D654
_0807BD10: .4byte 0x0000FFF0
.syntax divided
@@ -1,159 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r3, r0, #0
movs r5, #0xff
movs r0, #7
ands r1, r0
cmp r1, #7
bls _0807BDC8
b _0807BEE2
_0807BDC8:
lsls r0, r1, #2
ldr r1, _0807BDD4 @ =_0807BDD8
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0807BDD4: .4byte _0807BDD8
_0807BDD8: @ jump table
.4byte _0807BDF8 @ case 0
.4byte _0807BE10 @ case 1
.4byte _0807BE30 @ case 2
.4byte _0807BE4C @ case 3
.4byte _0807BE78 @ case 4
.4byte _0807BE94 @ case 5
.4byte _0807BEB4 @ case 6
.4byte _0807BEC4 @ case 7
_0807BDF8:
movs r1, #0x32
ldrsh r0, [r3, r1]
ldr r1, _0807BE0C @ =gRoomControls
ldrh r1, [r1, #8]
subs r0, r0, r1
cmp r0, #9
bhi _0807BEE2
movs r5, #0
b _0807BEE2
.align 2, 0
_0807BE0C: .4byte gRoomControls
_0807BE10:
movs r2, #0x32
ldrsh r0, [r3, r2]
ldr r2, _0807BE2C @ =gRoomControls
ldrh r1, [r2, #8]
subs r0, r0, r1
cmp r0, #9
bhi _0807BE20
movs r5, #0
_0807BE20:
ldrh r0, [r2, #0x1e]
subs r0, #0xa
movs r4, #0x2e
ldrsh r1, [r3, r4]
ldrh r2, [r2, #6]
b _0807BE6A
.align 2, 0
_0807BE2C: .4byte gRoomControls
_0807BE30:
ldr r1, _0807BE48 @ =gRoomControls
ldrh r2, [r1, #0x1e]
subs r2, #0xa
movs r4, #0x2e
ldrsh r0, [r3, r4]
ldrh r1, [r1, #6]
subs r0, r0, r1
cmp r2, r0
bhs _0807BEE2
movs r5, #1
b _0807BEE2
.align 2, 0
_0807BE48: .4byte gRoomControls
_0807BE4C:
ldr r4, _0807BE74 @ =gRoomControls
ldrh r0, [r4, #0x20]
subs r0, #0xa
movs r2, #0x32
ldrsh r1, [r3, r2]
ldrh r2, [r4, #8]
subs r1, r1, r2
cmp r0, r1
bhs _0807BE60
movs r5, #2
_0807BE60:
ldrh r0, [r4, #0x1e]
subs r0, #0xa
movs r2, #0x2e
ldrsh r1, [r3, r2]
ldrh r2, [r4, #6]
_0807BE6A:
subs r1, r1, r2
cmp r0, r1
bhs _0807BEE2
movs r5, #1
b _0807BEE2
.align 2, 0
_0807BE74: .4byte gRoomControls
_0807BE78:
ldr r1, _0807BE90 @ =gRoomControls
ldrh r2, [r1, #0x20]
subs r2, #0xa
movs r4, #0x32
ldrsh r0, [r3, r4]
ldrh r1, [r1, #8]
subs r0, r0, r1
cmp r2, r0
bhs _0807BEE2
movs r5, #2
b _0807BEE2
.align 2, 0
_0807BE90: .4byte gRoomControls
_0807BE94:
ldr r4, _0807BEB0 @ =gRoomControls
ldrh r0, [r4, #0x20]
subs r0, #0xa
movs r2, #0x32
ldrsh r1, [r3, r2]
ldrh r2, [r4, #8]
subs r1, r1, r2
cmp r0, r1
bhs _0807BEA8
movs r5, #2
_0807BEA8:
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldrh r1, [r4, #6]
b _0807BEDA
.align 2, 0
_0807BEB0: .4byte gRoomControls
_0807BEB4:
movs r2, #0x2e
ldrsh r0, [r3, r2]
ldr r1, _0807BEC0 @ =gRoomControls
ldrh r1, [r1, #6]
b _0807BEDA
.align 2, 0
_0807BEC0: .4byte gRoomControls
_0807BEC4:
movs r4, #0x32
ldrsh r0, [r3, r4]
ldr r2, _0807BEE8 @ =gRoomControls
ldrh r1, [r2, #8]
subs r0, r0, r1
cmp r0, #9
bhi _0807BED4
movs r5, #0
_0807BED4:
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldrh r1, [r2, #6]
_0807BEDA:
subs r0, r0, r1
cmp r0, #9
bhi _0807BEE2
movs r5, #3
_0807BEE2:
adds r0, r5, #0
pop {r4, r5, pc}
.align 2, 0
_0807BEE8: .4byte gRoomControls
.syntax divided
@@ -1,84 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r6, r0, #0
adds r7, r1, #0
ldr r0, _0807BF04 @ =gArea
ldrb r1, [r0, #0xd]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0807BF0C
ldr r0, _0807BF08 @ =gRoomControls
ldrb r0, [r0, #5]
b _0807BF7C
.align 2, 0
_0807BF04: .4byte gArea
_0807BF08: .4byte gRoomControls
_0807BF0C:
cmp r2, #1
beq _0807BF2C
cmp r2, #1
blo _0807BF1E
cmp r2, #2
beq _0807BF40
cmp r2, #3
beq _0807BF58
b _0807BF7A
_0807BF1E:
ldr r0, _0807BF28 @ =gRoomControls
ldrh r0, [r0, #8]
adds r7, r0, #0
subs r7, #0x10
b _0807BF60
.align 2, 0
_0807BF28: .4byte gRoomControls
_0807BF2C:
ldr r0, _0807BF3C @ =gRoomControls
ldrh r1, [r0, #6]
ldrh r0, [r0, #0x1e]
adds r1, r1, r0
adds r6, r1, #0
adds r6, #0x10
b _0807BF60
.align 2, 0
_0807BF3C: .4byte gRoomControls
_0807BF40:
ldr r0, _0807BF50 @ =gRoomControls
ldrh r1, [r0, #8]
ldrh r0, [r0, #0x20]
adds r1, r1, r0
adds r7, r1, #0
adds r7, #0x10
b _0807BF60
.align 2, 0
_0807BF50: .4byte gRoomControls
_0807BF54:
adds r0, r4, #0
b _0807BF7C
_0807BF58:
ldr r0, _0807BF80 @ =gRoomControls
ldrh r0, [r0, #6]
adds r6, r0, #0
subs r6, #0x10
_0807BF60:
ldr r5, _0807BF84 @ =gUnk_02033ACC
movs r4, #0
_0807BF64:
adds r0, r6, #0
adds r1, r7, #0
adds r2, r5, #0
bl sub_0807BF88
cmp r0, #0
bne _0807BF54
adds r4, #1
adds r5, #0x20
cmp r4, #0x3f
bls _0807BF64
_0807BF7A:
movs r0, #0xff
_0807BF7C:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807BF80: .4byte gRoomControls
_0807BF84: .4byte gUnk_02033ACC
.syntax divided
@@ -1,19 +0,0 @@
.syntax unified
push {r4, lr}
adds r3, r2, #0
ldrh r2, [r3, #4]
subs r0, r0, r2
ldrh r2, [r3, #6]
subs r1, r1, r2
movs r2, #0
ldrh r4, [r3]
cmp r0, r4
bhs _0807BFA4
ldrh r3, [r3, #2]
cmp r1, r3
bhs _0807BFA4
movs r2, #1
_0807BFA4:
adds r0, r2, #0
pop {r4, pc}
.syntax divided
@@ -1,79 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
ldr r7, _0807C4E8 @ =gMapDataBottom
ldr r6, _0807C4EC @ =gMapDataTop
ldr r0, _0807C4F0 @ =gRoomControls
ldrh r1, [r0, #0x1e]
lsrs r3, r1, #4
ldrh r0, [r0, #0x20]
lsrs r0, r0, #4
str r0, [sp]
movs r4, #0
movs r1, #0
cmp r1, r0
bhs _0807C4DC
movs r0, #0x40
subs r0, r0, r3
lsls r0, r0, #1
mov sb, r0
_0807C48C:
movs r5, #0
adds r1, #1
mov sl, r1
cmp r5, r3
bhs _0807C4CA
ldr r0, _0807C4F4 @ =0x00003FFF
mov r8, r0
_0807C49A:
ldrh r0, [r7]
cmp r0, r8
bls _0807C4AC
adds r1, r4, #0
movs r2, #1
str r3, [sp, #4]
bl SetTile
ldr r3, [sp, #4]
_0807C4AC:
ldrh r0, [r6]
cmp r0, r8
bls _0807C4BE
adds r1, r4, #0
movs r2, #2
str r3, [sp, #4]
bl SetTile
ldr r3, [sp, #4]
_0807C4BE:
adds r7, #2
adds r6, #2
adds r4, #1
adds r5, #1
cmp r5, r3
blo _0807C49A
_0807C4CA:
add r7, sb
add r6, sb
adds r0, r4, #0
adds r0, #0x40
subs r4, r0, r3
mov r1, sl
ldr r0, [sp]
cmp r1, r0
blo _0807C48C
_0807C4DC:
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807C4E8: .4byte gMapDataBottom
_0807C4EC: .4byte gMapDataTop
_0807C4F0: .4byte gRoomControls
_0807C4F4: .4byte 0x00003FFF
.syntax divided
@@ -4,7 +4,7 @@
ldrb r0, [r0, #4]
cmp r0, #0x71
beq _0807C592
ldr r0, _0807C598 @ =gUnk_02019EE0
ldr r0, _0807C598 @ =gMapDataBottomSpecial
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
@@ -22,7 +22,7 @@
_0807C524:
adds r4, #0xc
ldr r1, [r4, #4]
ldr r0, _0807C598 @ =gUnk_02019EE0
ldr r0, _0807C598 @ =gMapDataBottomSpecial
cmp r1, r0
beq _0807C534
ldr r0, _0807C59C @ =gMapDataTopSpecial
@@ -43,7 +43,7 @@ _0807C54A:
ldr r0, [r4]
cmp r0, #0
blt _0807C524
ldr r4, _0807C598 @ =gUnk_02019EE0
ldr r4, _0807C598 @ =gMapDataBottomSpecial
movs r0, #0x80
lsls r0, r0, #7
adds r5, r4, r0
@@ -74,7 +74,7 @@ _0807C592:
pop {r4, r5, r6, pc}
.align 2, 0
_0807C594: .4byte gRoomControls
_0807C598: .4byte gUnk_02019EE0
_0807C598: .4byte gMapDataBottomSpecial
_0807C59C: .4byte gMapDataTopSpecial
_0807C5A0: .4byte gUnk_02022830
_0807C5A4: .4byte gArea
@@ -1,37 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
bl sub_0807BFD0
ldr r2, _0807C850 @ =gUnk_03004030
ldr r6, _0807C854 @ =gPlayerEntity
ldr r4, _0807C858 @ =gRoomControls
ldr r3, [r2]
ldrh r1, [r3, #6]
movs r0, #0x3f
ands r0, r1
lsls r0, r0, #4
ldrh r1, [r4, #6]
adds r0, r0, r1
ldrh r1, [r2, #4]
adds r1, r1, r0
movs r5, #0
strh r1, [r6, #0x2e]
ldrh r1, [r3, #6]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r1
lsrs r0, r0, #2
ldrh r4, [r4, #8]
adds r0, r0, r4
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r6, #0x32]
bl sub_080809D4
ldr r0, _0807C85C @ =gUpdateVisibleTiles
strb r5, [r0]
pop {r4, r5, r6, pc}
.align 2, 0
_0807C850: .4byte gUnk_03004030
_0807C854: .4byte gPlayerEntity
_0807C858: .4byte gRoomControls
_0807C85C: .4byte gUpdateVisibleTiles
.syntax divided
+2 -2
View File
@@ -37,7 +37,7 @@
bl sub_0807BBE4
bl sub_0807BC84
bl sub_0805E248
ldr r0, _08080190 @ =gUnk_02019EE0
ldr r0, _08080190 @ =gMapDataBottomSpecial
adds r1, r5, #0
bl sub_0801AB08
ldr r0, _08080194 @ =gMapDataTopSpecial
@@ -51,6 +51,6 @@ _08080180: .4byte gUnk_02034480
_08080184: .4byte gUnk_0200B640
_08080188: .4byte gUnk_02022830
_0808018C: .4byte gUnk_020246B0
_08080190: .4byte gUnk_02019EE0
_08080190: .4byte gMapDataBottomSpecial
_08080194: .4byte gMapDataTopSpecial
.syntax divided
@@ -9,7 +9,7 @@ _080A73B4:
bl DeleteAllEntities
bl sub_0805E974
ldr r1, _080A746C @ =gCurrentRoomProperties
ldr r5, _080A7470 @ =gUnk_02032EC0
ldr r5, _080A7470 @ =gUI
ldr r0, [r5, #0x10]
str r0, [r1]
ldr r0, _080A7474 @ =gPlayerState
@@ -84,7 +84,7 @@ _080A73B4:
.align 2, 0
_080A7468: .4byte gFadeControl
_080A746C: .4byte gCurrentRoomProperties
_080A7470: .4byte gUnk_02032EC0
_080A7470: .4byte gUI
_080A7474: .4byte gPlayerState
_080A7478: .4byte gMapBottom
_080A747C: .4byte gMapTop
@@ -102,7 +102,7 @@ _080A74A8:
ldrh r0, [r5, #0xa]
bl SetFadeInverted
_080A74AE:
ldr r1, _080A74C0 @ =gUnk_02032EC0
ldr r1, _080A74C0 @ =gUI
movs r2, #0
movs r0, #4
strb r0, [r1]
@@ -112,6 +112,6 @@ _080A74AE:
_080A74BC:
pop {r4, r5, pc}
.align 2, 0
_080A74C0: .4byte gUnk_02032EC0
_080A74C0: .4byte gUI
_080A74C4: .4byte gRoomTransition
.syntax divided
+4 -4
View File
@@ -175,7 +175,7 @@ _080A5658:
cmp r5, r1
blo _080A5658
_080A5672:
ldr r5, _080A56B0 @ =gUnk_02019EE0
ldr r5, _080A56B0 @ =gMapDataBottomSpecial
ldrb r0, [r5]
cmp r0, #0
beq _080A570E
@@ -199,7 +199,7 @@ _080A56A0: .4byte gMenu
_080A56A4: .4byte gMain
_080A56A8: .4byte gSpriteAnimations_322
_080A56ACEU: .4byte 0x00000143
_080A56B0: .4byte gUnk_02019EE0
_080A56B0: .4byte gMapDataBottomSpecial
_080A56B4: .4byte gScreen
_080A56B8:
cmp r0, #3
@@ -428,7 +428,7 @@ _080A5E64:
cmp r5, r1
blo _080A5E64
_080A5E7C:
ldr r5, _080A5EB8 @ =gUnk_02019EE0
ldr r5, _080A5EB8 @ =gMapDataBottomSpecial
ldrb r0, [r5]
cmp r0, #0
beq _080A5F14
@@ -452,7 +452,7 @@ _080A5EA8: .4byte gMenu
_080A5EAC: .4byte gMain
_080A5EB0: .4byte 0x000001FB
_080A5EB4: .4byte gSpriteAnimations_322
_080A5EB8: .4byte gUnk_02019EE0
_080A5EB8: .4byte gMapDataBottomSpecial
_080A5EBC: .4byte gScreen
_080A5EC0:
cmp r0, #3
+2 -2
View File
@@ -16,7 +16,7 @@
movs r0, #0
bl SetColor
ldr r1, _080A659C @ =gUnk_08128F4C
ldr r0, _080A65A0 @ =gUnk_02032EC0
ldr r0, _080A65A0 @ =gUI
ldrb r0, [r0, #3]
lsls r0, r0, #1
adds r0, r0, r1
@@ -44,7 +44,7 @@ _080A6590: .4byte gScreen
_080A6594: .4byte 0x0000F7FF
_080A6598: .4byte gPaletteBuffer
_080A659C: .4byte gUnk_08128F4C
_080A65A0: .4byte gUnk_02032EC0
_080A65A0: .4byte gUI
_080A65A4: .4byte gSave
_080A65A8: .4byte gMenu
.syntax divided
+4 -4
View File
@@ -74,7 +74,7 @@ _080A5F30:
ands r0, r1
lsls r0, r0, #0x18
lsrs r6, r0, #0x18
ldr r4, _080A5F80 @ =gUnk_02019EE0
ldr r4, _080A5F80 @ =gMapDataBottomSpecial
ldrh r0, [r4, #2]
cmp r0, #0
beq _080A5FAE
@@ -92,7 +92,7 @@ _080A5F66:
_080A5F74: .4byte gOamCmd
_080A5F78: .4byte gMenu
_080A5F7C: .4byte gUnk_08128E94
_080A5F80: .4byte gUnk_02019EE0
_080A5F80: .4byte gMapDataBottomSpecial
_080A5F84:
cmp r6, #0
bne _080A5F8A
@@ -195,7 +195,7 @@ _080A6738:
ands r0, r1
lsls r0, r0, #0x18
lsrs r6, r0, #0x18
ldr r4, _080A678C @ =gUnk_02019EE0
ldr r4, _080A678C @ =gMapDataBottomSpecial
ldrh r0, [r4, #2]
cmp r0, #0
beq _080A67BA
@@ -214,7 +214,7 @@ _080A677C: .4byte gOamCmd
_080A6780: .4byte gMenu
_080A6784: .4byte gUnk_08128E94
_080A6788: .4byte 0x000001FB
_080A678C: .4byte gUnk_02019EE0
_080A678C: .4byte gMapDataBottomSpecial
_080A6790:
cmp r6, #0
bne _080A6796
+4 -4
View File
@@ -31,7 +31,7 @@ _080A67F4:
movs r5, #0x71
b _080A6822
_080A6802:
ldr r1, _080A68AC @ =gUnk_02032EC0
ldr r1, _080A68AC @ =gUI
adds r0, r1, #0
adds r0, #0x20
ldrb r0, [r0]
@@ -113,13 +113,13 @@ _080A6886:
ldrb r0, [r4, #2]
lsrs r0, r0, #1
strh r0, [r1, #0xa]
ldr r0, _080A68D0 @ =gUnk_02019EE0
ldr r0, _080A68D0 @ =gMapDataBottomSpecial
movs r1, #0x80
lsls r1, r1, #3
bl MemClear
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A68AC: .4byte gUnk_02032EC0
_080A68AC: .4byte gUI
_080A68B0: .4byte gUnk_08128E94
_080A68B4: .4byte gUnk_03003DE4
_080A68B8: .4byte gUnk_02017AA0
@@ -128,5 +128,5 @@ _080A68C0: .4byte 0x00001E0B
_080A68C4: .4byte 0x0400000E
_080A68C8: .4byte 0xA2600001
_080A68CC: .4byte gMenu
_080A68D0: .4byte gUnk_02019EE0
_080A68D0: .4byte gMapDataBottomSpecial
.syntax divided
+2 -2
View File
@@ -10,7 +10,7 @@
adds r2, #0x2d
ldrb r0, [r2]
lsls r0, r0, #3
ldr r3, _080A69DC @ =gUnk_02019EE0
ldr r3, _080A69DC @ =gMapDataBottomSpecial
adds r0, r0, r3
lsrs r1, r5, #8
strb r1, [r0]
@@ -38,5 +38,5 @@ _080A69D4:
pop {r4, r5, r6, pc}
.align 2, 0
_080A69D8: .4byte gMenu
_080A69DC: .4byte gUnk_02019EE0
_080A69DC: .4byte gMapDataBottomSpecial
.syntax divided
+2 -2
View File
@@ -16,7 +16,7 @@ sub_0808C964: @ 0x0808C964
ldrb r0, [r4, #9]
cmp r0, #0x76
bne _0808C982
ldr r0, _0808CA08 @ =gUnk_02032EC0
ldr r0, _0808CA08 @ =gUI
adds r0, #0x20
ldrb r0, [r0]
cmp r0, #2
@@ -93,7 +93,7 @@ _0808C9FA:
_0808CA04:
pop {r4, pc}
.align 2, 0
_0808CA08: .4byte gUnk_02032EC0
_0808CA08: .4byte gUI
_0808CA0C: .4byte gArea
thumb_func_start sub_0808CA10
+2 -2
View File
@@ -92,7 +92,7 @@ UpdateScrollVram: @ 0x08000108
ldr r0, [r0]
cmp r0, #0
beq _08000126
ldr r0, _080001F0 @ =gUnk_02019EE0
ldr r0, _080001F0 @ =gMapDataBottomSpecial
ldr r1, _080001F4 @ =gUnk_02021F70
bl _call_via_r4
_08000126:
@@ -197,7 +197,7 @@ GetTileIndex: @ 0x080001DA
.align 2, 0
_080001E8: .4byte gUpdateVisibleTiles
_080001EC: .4byte gMapBottom
_080001F0: .4byte gUnk_02019EE0
_080001F0: .4byte gMapDataBottomSpecial
_080001F4: .4byte gUnk_02021F70
_080001F8: .4byte gMapTop
_080001FC: .4byte gMapDataTopSpecial