mirror of
https://github.com/zeldaret/tmc
synced 2026-08-17 13:30:12 -04:00
Extract some map data definitions
This commit is contained in:
@@ -210,7 +210,7 @@ _080040F2:
|
||||
movs r3, #0x38
|
||||
ldrb r3, [r0, r3]
|
||||
lsls r3, r3, #2
|
||||
ldr r4, _08004380 @ =gUnk_08000248
|
||||
ldr r4, _08004380 @ =gCollisionDataPtrs
|
||||
ldr r3, [r4, r3]
|
||||
ldrb r4, [r3, r2]
|
||||
pop {r2, r3}
|
||||
@@ -403,7 +403,7 @@ _0800423C:
|
||||
movs r4, #0x38
|
||||
ldrb r4, [r0, r4]
|
||||
lsls r4, r4, #3
|
||||
ldr r3, _08004394 @ =gUnk_08000228
|
||||
ldr r3, _08004394 @ =gMapDataPtrs
|
||||
adds r3, r3, r4
|
||||
ldr r4, [r3]
|
||||
ldrh r1, [r4, r2]
|
||||
@@ -610,12 +610,12 @@ _08004370: .4byte 0x0000011E
|
||||
_08004374: .4byte gRoomControls + 6
|
||||
_08004378: .4byte gRoomControls + 8
|
||||
_0800437C: .4byte 0x000003F0
|
||||
_08004380: .4byte gUnk_08000248
|
||||
_08004380: .4byte gCollisionDataPtrs
|
||||
_08004384: .4byte 0x000FFFFF
|
||||
_08004388: .4byte 0x00080000
|
||||
_0800438C: .4byte 0x0000EE00
|
||||
_08004390: .4byte 0x00001FFF
|
||||
_08004394: .4byte gUnk_08000228
|
||||
_08004394: .4byte gMapDataPtrs
|
||||
_08004398: .4byte 0x00004000
|
||||
_0800439C: .4byte gSpritePtrs
|
||||
_080043A0: .4byte gSpritePtrs
|
||||
|
||||
+12
-11
@@ -10,6 +10,7 @@
|
||||
.global RAMFUNCS_BASE
|
||||
RAMFUNCS_BASE::
|
||||
|
||||
@ Called when gUpdateVisibleTiles == 1
|
||||
sub_080B197C:: @ 0x080B197C
|
||||
push {r4, r5, r6}
|
||||
ldr r2, _080B19C0 @ =gRoomControls
|
||||
@@ -107,7 +108,7 @@ arm_sub_080B1A58:
|
||||
|
||||
arm_func_start arm_GetTileType
|
||||
arm_GetTileType: @ 0x080B1A60
|
||||
ldr r2, _080B1C1C @ =gUnk_08000228
|
||||
ldr r2, _080B1C1C @ =gMapDataPtrs
|
||||
_080B1A64:
|
||||
add r2, r2, r1, lsl #3
|
||||
ldr r1, [r2]
|
||||
@@ -180,8 +181,8 @@ arm_sub_080B1B2C:
|
||||
arm_sub_080B1B3C:
|
||||
add r0, r0, r1, lsl #6
|
||||
mov r1, r2
|
||||
arm_sub_080B1B44:
|
||||
ldr r2, _080B1C2C @ =gUnk_08000248
|
||||
arm_GetCollisionData:
|
||||
ldr r2, _080B1C2C @ =gCollisionDataPtrs
|
||||
ldr r1, [r2, r1, lsl #2]
|
||||
ldrb r0, [r1, r0]
|
||||
bx lr
|
||||
@@ -198,7 +199,7 @@ arm_sub_080B1B54: @ 0x080B1B54
|
||||
arm_sub_080B1B68: @ 0x080B1B68
|
||||
lsrs r2, r0, #0xe
|
||||
bxne lr
|
||||
ldr r2, _080B1C38 @ =gUnk_0800022C
|
||||
ldr r2, _080B1C38 @ =gMetatileTypesPtrs
|
||||
ldr r1, [r2, r1, lsl #3]
|
||||
lsl r0, r0, #1
|
||||
ldrh r0, [r1, r0]
|
||||
@@ -251,14 +252,14 @@ sub_080B1BCC: @ 0x080B1BCC
|
||||
_080B1C10: .4byte gRoomControls
|
||||
_080B1C14: .4byte gUnk_08000258
|
||||
_080B1C18: .4byte gRoomControls
|
||||
_080B1C1C: .4byte gUnk_08000228
|
||||
_080B1C1C: .4byte gMapDataPtrs
|
||||
_080B1C20: .4byte gRoomControls
|
||||
_080B1C24: .4byte gUnk_08000278
|
||||
_080B1C28: .4byte gRoomControls
|
||||
_080B1C2C: .4byte gUnk_08000248
|
||||
_080B1C2C: .4byte gCollisionDataPtrs
|
||||
_080B1C30: .4byte gUnk_080B37A0
|
||||
_080B1C34: .4byte gUnk_080B7910
|
||||
_080B1C38: .4byte gUnk_0800022C
|
||||
_080B1C38: .4byte gMetatileTypesPtrs
|
||||
_080B1C3C: .4byte gUnk_08000360
|
||||
_080B1C40: .4byte gUnk_080B7A3E
|
||||
_080B1C44: .4byte gUnk_08000360
|
||||
@@ -1697,7 +1698,7 @@ _080B1FBC:
|
||||
mov r3, #0
|
||||
bl arm_CheckBitsEU
|
||||
mov r5, #0
|
||||
ldr r4, _080B2194 @ =0x03003DF8
|
||||
ldr r4, _080B2194 @ =gInteractableObjects
|
||||
_080B1FECEU:
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
@@ -1813,7 +1814,7 @@ _080B1FBC:
|
||||
mov r3, #0
|
||||
bl arm_CheckBitsEU
|
||||
mov r5, #0
|
||||
ldr r4, _080B2194 @ =0x03003DF8
|
||||
ldr r4, _080B2194 @ =gInteractableObjects
|
||||
_080B1FECEU:
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
@@ -1940,8 +1941,8 @@ _080B2A64: .4byte gOAMControls
|
||||
_080B2A68: .4byte ram_0x80b2be8
|
||||
_080B2A6C: .4byte 0x3E003F00
|
||||
.ifdef EU
|
||||
_080B2194: .4byte 0x03003DF8 @TODO pointer?
|
||||
_080B2194: .4byte gInteractableObjects
|
||||
.endif
|
||||
.ifdef DEMO_JP @ TODO deduplicate same as EU
|
||||
_080B2194: .4byte 0x03003DF8 @TODO pointer?
|
||||
_080B2194: .4byte gInteractableObjects
|
||||
.endif
|
||||
|
||||
+2
-2
@@ -205,7 +205,7 @@ sub_080086D8: @ 0x080086D8
|
||||
movs r3, #0x38
|
||||
ldrb r3, [r2, r3]
|
||||
lsls r3, r3, #2
|
||||
ldr r1, _080088C4 @ =gUnk_08000248
|
||||
ldr r1, _080088C4 @ =gCollisionDataPtrs
|
||||
ldr r1, [r1, r3]
|
||||
ldrb r2, [r0, r1]
|
||||
push {r2}
|
||||
@@ -451,7 +451,7 @@ _080088B4: .4byte gRoomControls + 6
|
||||
_080088B8: .4byte gRoomControls + 8
|
||||
_080088BC: .4byte gPlayerEntity
|
||||
_080088C0: .4byte 0x000003F0
|
||||
_080088C4: .4byte gUnk_08000248
|
||||
_080088C4: .4byte gCollisionDataPtrs
|
||||
_080088C8: .4byte gPlayerState
|
||||
_080088CC: .4byte gUnk_0800823C
|
||||
_080088D0: .4byte gUnk_08007DF4
|
||||
|
||||
+40
-39
@@ -11,13 +11,13 @@ UpdateScrollVram: @ 0x08000108
|
||||
ldr r0, _080001E8 @ =gUpdateVisibleTiles
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #2
|
||||
beq _08000136
|
||||
add r4, pc, #0x20
|
||||
ldr r4, [r4, r1]
|
||||
beq _08000136 @ jump if gUpdateVisibleTiles == 0
|
||||
add r4, pc, #0x20 @ r4 = 0x8000134
|
||||
ldr r4, [r4, r1] @ r4 = r4[gUpdateVisibleTiles] (1: _08000138, 2: _0800013C, 3: _08000140, 4:_08000144)
|
||||
ldr r0, _080001EC @ =gMapBottom
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08000126
|
||||
beq _08000126 @ jump if gMapBottom.bgSettings == NULL
|
||||
ldr r0, _080001F0 @ =gMapDataBottomSpecial
|
||||
ldr r1, _080001F4 @ =gBG1Buffer+0x40
|
||||
bl _call_via_r4
|
||||
@@ -25,7 +25,7 @@ _08000126:
|
||||
ldr r0, _080001F8 @ =gMapTop
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08000136
|
||||
beq _08000136 @ jump if gMapTop.bgSettings == NULL
|
||||
ldr r0, _080001FC @ =gMapDataTopSpecial
|
||||
ldr r1, _08000200 @ =gBG2Buffer+0x40
|
||||
bl _call_via_r4
|
||||
@@ -37,10 +37,10 @@ _0800013C: .4byte sub_0807D280 @ layer 1, 2, 3?
|
||||
_08000140: .4byte sub_0807D46C
|
||||
_08000144: .4byte sub_0807D6D8
|
||||
|
||||
thumb_func_start sub_08000148
|
||||
sub_08000148: @ 0x08000148
|
||||
thumb_func_start SetCollisionData
|
||||
SetCollisionData: @ 0x08000148
|
||||
lsls r2, r2, #2
|
||||
ldr r3, _08000204 @ =gUnk_08000248
|
||||
ldr r3, _08000204 @ =gCollisionDataPtrs
|
||||
ldr r2, [r3, r2]
|
||||
strb r0, [r2, r1]
|
||||
bx lr
|
||||
@@ -58,7 +58,7 @@ CloneTile: @ 0x08000152
|
||||
SetTile: @ r0 = tile type, r1, = tile position, r2 = layer
|
||||
push {r4-r7, lr}
|
||||
lsls r3, r2, #3
|
||||
ldr r4, _08000208 @ =gUnk_08000228
|
||||
ldr r4, _08000208 @ =gMapDataPtrs
|
||||
ldr r5, [r4, r3]
|
||||
lsls r6, r1, #1
|
||||
ldrh r7, [r5, r6]
|
||||
@@ -74,7 +74,7 @@ SetTile: @ r0 = tile type, r1, = tile position, r2 = layer
|
||||
ldr r3, _08000214 @ =gUnk_080B79A7
|
||||
ldrb r0, [r3, r4]
|
||||
lsrs r2, r2, #2
|
||||
bl sub_08000148
|
||||
bl SetCollisionData
|
||||
pop {r0, r1} @ tilepos, layer
|
||||
push {r0, r1}
|
||||
bl DeleteLoadedTileEntity
|
||||
@@ -94,7 +94,7 @@ _0800019A:
|
||||
ldr r3, _0800021C @ =gUnk_080B3E80
|
||||
ldrb r0, [r3, r4]
|
||||
lsrs r2, r2, #2
|
||||
bl sub_08000148
|
||||
bl SetCollisionData
|
||||
pop {r0, r1}
|
||||
bl DeleteLoadedTileEntity
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
@@ -115,7 +115,7 @@ sub_080001D0: @ 0x080001D0
|
||||
non_word_aligned_thumb_func_start GetTileIndex
|
||||
GetTileIndex: @ 0x080001DA
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _08000224 @ =gUnk_08000228
|
||||
ldr r2, _08000224 @ =gMapDataPtrs
|
||||
ldr r1, [r2, r1]
|
||||
lsls r0, r0, #1
|
||||
ldrh r0, [r1, r0]
|
||||
@@ -128,44 +128,45 @@ _080001F4: .4byte gBG1Buffer+0x40
|
||||
_080001F8: .4byte gMapTop
|
||||
_080001FC: .4byte gMapDataTopSpecial
|
||||
_08000200: .4byte gBG2Buffer+0x40
|
||||
_08000204: .4byte gUnk_08000248
|
||||
_08000208: .4byte gUnk_08000228
|
||||
_08000204: .4byte gCollisionDataPtrs
|
||||
_08000208: .4byte gMapDataPtrs
|
||||
_0800020C: .4byte 0x00004000
|
||||
_08000210: .4byte gUnk_080B7910
|
||||
_08000214: .4byte gUnk_080B79A7
|
||||
_08000218: .4byte gUnk_080B37A0
|
||||
_0800021C: .4byte gUnk_080B3E80
|
||||
_08000220: .4byte gUnk_08000278
|
||||
_08000224: .4byte gUnk_08000228
|
||||
gUnk_08000228::
|
||||
.4byte gMapBottom+0x0004
|
||||
gUnk_0800022C::
|
||||
_08000224: .4byte gMapDataPtrs
|
||||
|
||||
gMapDataPtrs::
|
||||
.4byte gMapBottom+0x0004 @ layer 0
|
||||
gMetatileTypesPtrs::
|
||||
.4byte gMapBottom+0x5004
|
||||
.4byte gMapBottom+0x0004
|
||||
.4byte gMapBottom+0x0004 @ layer 1
|
||||
.4byte gMapBottom+0x5004
|
||||
.4byte gMapTop+0x0004
|
||||
.4byte gMapTop+0x0004 @ layer 2
|
||||
.4byte gMapTop+0x5004
|
||||
.4byte gMapBottom+0x0004
|
||||
.4byte gMapBottom+0x0004 @ layer 3
|
||||
.4byte gMapBottom+0x5004
|
||||
gUnk_08000248::
|
||||
.4byte gMapBottom+0x2004
|
||||
.4byte gMapBottom+0x2004
|
||||
.4byte gMapTop+0x2004
|
||||
.4byte gMapBottom+0x2004
|
||||
gUnk_08000258::
|
||||
.4byte gMapBottom+0x3004
|
||||
gCollisionDataPtrs::
|
||||
.4byte gMapBottom+0x2004 @ layer 0
|
||||
.4byte gMapBottom+0x2004 @ layer 1
|
||||
.4byte gMapTop+0x2004 @ layer 2
|
||||
.4byte gMapBottom+0x2004 @ layer 3
|
||||
gUnk_08000258:: @ mapDataClone and metatileTypes
|
||||
.4byte gMapBottom+0x3004 @ layer 0
|
||||
.4byte gMapBottom+0x5004
|
||||
.4byte gMapBottom+0x3004
|
||||
.4byte gMapBottom+0x3004 @ layer 1
|
||||
.4byte gMapBottom+0x5004
|
||||
.4byte gMapTop+0x3004
|
||||
.4byte gMapTop+0x3004 @ layer 2
|
||||
.4byte gMapTop+0x5004
|
||||
.4byte gMapBottom+0x3004
|
||||
.4byte gMapBottom+0x3004 @ layer 3
|
||||
.4byte gMapBottom+0x5004
|
||||
gUnk_08000278:: @ unkData3 for layers
|
||||
.4byte gMapBottom+0xb004
|
||||
.4byte gMapBottom+0xb004
|
||||
.4byte gMapTop+0xb004
|
||||
.4byte gMapBottom+0xb004
|
||||
.4byte gMapBottom+0xb004 @ layer 0
|
||||
.4byte gMapBottom+0xb004 @ layer 1
|
||||
.4byte gMapTop+0xb004 @ layer 2
|
||||
.4byte gMapBottom+0xb004 @ layer 3
|
||||
|
||||
@ call 0x80B19CC
|
||||
@ ========
|
||||
@@ -364,9 +365,9 @@ sub_080B1B3C: @ 0x080002DC
|
||||
@ call 0x080B1B44
|
||||
@ ========
|
||||
@ Unused? Doesn't seem to be called by anything in Ghidra.
|
||||
thumb_func_start sub_080B1B44
|
||||
sub_080B1B44: @ 0x080002E0
|
||||
ldr r3, _0800034C @ =ram_sub_080B1B44
|
||||
thumb_func_start GetCollisionData
|
||||
GetCollisionData: @ 0x080002E0
|
||||
ldr r3, _0800034C @ =ram_GetCollisionData
|
||||
bx r3
|
||||
|
||||
@ call 0x080B1B54
|
||||
@@ -423,7 +424,7 @@ _0800033C: .4byte ram_sub_080B1B0C
|
||||
_08000340: .4byte ram_sub_080B1B18
|
||||
_08000344: .4byte ram_sub_080B1B2C
|
||||
_08000348: .4byte ram_sub_080B1B3C
|
||||
_0800034C: .4byte ram_sub_080B1B44
|
||||
_0800034C: .4byte ram_GetCollisionData
|
||||
_08000350: .4byte ram_sub_080B1B54
|
||||
_08000354: .4byte ram_sub_080B1B68
|
||||
_08000358: .4byte ram_sub_080B1B84
|
||||
|
||||
Reference in New Issue
Block a user