Rename vvv to actTile

This commit is contained in:
octorock
2024-01-06 16:14:12 +01:00
parent aced0bef69
commit 06dc158598
98 changed files with 3920 additions and 3910 deletions
+1 -1
View File
@@ -185,7 +185,7 @@ _08004516:
thumb_func_start sub_0800451C
sub_0800451C: @ 0x0800451C
push {r0, lr}
bl GetVvvAtEntity
bl GetActTileAtEntity
adds r1, r0, #0
pop {r0, r3}
mov lr, r3
+1 -1
View File
@@ -5,7 +5,7 @@
.text
// TODO cannot add this at the end of mapVvvToSurfaceType.c due to alignment?
// TODO cannot add this at the end of mapActTileToSurfaceType.c due to alignment?
.2byte 0
// TODO unused? might also be code?
+30 -32
View File
@@ -78,36 +78,35 @@ arm_sub_080B1A04:
ldr r2, _080B1C14 @ =gUnk_08000258
b _080B1A64
arm_func_start arm_sub_080B1A0C
arm_sub_080B1A0C: @ 0x080B1A0C
arm_func_start arm_GetTileTypeRelativeToEntity
arm_GetTileTypeRelativeToEntity: @ 0x080B1A0C
ldrh r3, [r0, #0x2e]
add r3, r3, r1
ldrh r1, [r0, #0x32]
add r1, r1, r2
ldrb r2, [r0, #0x38]
mov r0, r3
b arm_GetTileTypeByPos
arm_GetTileTypeByEntity: // GetCell
b arm_GetTileTypeAtWorldCoords
arm_GetTileTypeAtEntity: // GetCell
ldrb r2, [r0, #0x38]
ldrh r1, [r0, #0x32]
ldrh r0, [r0, #0x2e]
arm_GetTileTypeByPos:
arm_GetTileTypeAtWorldCoords:
ldr ip, _080B1C18 @ =gRoomControls
ldrh r3, [ip, #6]
sub r0, r0, r3
ldrh r3, [ip, #8]
sub r1, r1, r3
arm_sub_080B1A48:
arm_GetTileTypeAtRoomCoords:
lsl r0, r0, #0x16
lsr r0, r0, #0x1a
lsl r1, r1, #0x16
lsr r1, r1, #0x1a
arm_sub_080B1A58:
arm_GetTileTypeAtRoomTile:
add r0, r0, r1, lsl #6
mov r1, r2
arm_func_start arm_GetTileType
arm_GetTileType: @ 0x080B1A60
arm_func_start arm_GetTileTypeAtTilePos
arm_GetTileTypeAtTilePos: @ 0x080B1A60
ldr r2, _080B1C1C @ =gMapDataPtrs
_080B1A64:
add r2, r2, r1, lsl #3
@@ -122,36 +121,36 @@ _080B1A64:
bx lr
// entity plus offset to world pixel coordinates and layer
arm_func_start arm_GetVvvRelativeToEntity
arm_GetVvvRelativeToEntity: @ 0x080B1A8C
arm_func_start arm_GetActTileRelativeToEntity
arm_GetActTileRelativeToEntity: @ 0x080B1A8C
ldrh r3, [r0, #0x2e]
add r3, r3, r1
ldrh r1, [r0, #0x32]
add r1, r1, r2
ldrb r2, [r0, #0x38]
mov r0, r3
b arm_GetVvvAtWorldCoords
b arm_GetActTileAtWorldCoords
// entity to world pixel coordinates and layer
arm_GetVvvAtEntity: // GetCellAct
arm_GetActTileAtEntity: // GetCellAct
ldrb r2, [r0, #0x38]
ldrh r1, [r0, #0x32]
ldrh r0, [r0, #0x2e]
arm_GetVvvAtWorldCoords: @ world pixel coordinates to room pixel coordinates
arm_GetActTileAtWorldCoords: @ world pixel coordinates to room pixel coordinates
ldr ip, _080B1C20 @ =gRoomControls
ldrh r3, [ip, #6]
sub r0, r0, r3
ldrh r3, [ip, #8]
sub r1, r1, r3
arm_GetVvvAtRoomCoords: @ room pixel coordinates to room tile coordinates
arm_GetActTileAtRoomCoords: @ room pixel coordinates to room tile coordinates
lsl r0, r0, #0x16
lsr r0, r0, #0x1a
lsl r1, r1, #0x16
lsr r1, r1, #0x1a
arm_GetVvvAtRoomTile:
arm_GetActTileAtRoomTile:
add r0, r0, r1, lsl #6
mov r1, r2 @ move layer to r1
arm_GetVvvAtTilePos:
ldr r2, _080B1C24 @ =gVvvPtrs
arm_GetActTileAtTilePos:
ldr r2, _080B1C24 @ =gActTilePtrs
ldr r2, [r2, r1, lsl #2]
ldrb r0, [r2, r0]
bx lr
@@ -161,7 +160,6 @@ arm_GetCollisionDataRelativeTo: @ 0x080B1AF0
@ r0 = entity*
@ r1 = x
@ r2 = y
ldrh r3, [r0, #0x2e] @ ent.x + x
add r3, r3, r1
ldrh r1, [r0, #0x32] @ ent.y + y
@@ -185,7 +183,7 @@ arm_GetCollisionDataAtRoomCoords:
lsl r1, r1, #0x16
lsr r1, r1, #0x1a @ /= 16
arm_GetCollisionDataAtRoomTile:
add r0, r0, r1, lsl #6 @ convert coords to tile index
add r0, r0, r1, lsl #6 @ convert coords to tile pos
mov r1, r2
arm_GetCollisionDataAtTilePos:
ldr r2, _080B1C2C @ =gCollisionDataPtrs
@@ -193,11 +191,11 @@ arm_GetCollisionDataAtTilePos:
ldrb r0, [r1, r0] @ load collision tile at my location
bx lr
arm_func_start arm_GetVvvForTileType
arm_GetVvvForTileType: @ 0x080B1B54
arm_func_start arm_GetActTileForTileType
arm_GetActTileForTileType: @ 0x080B1B54
lsls r0, r0, #0x12
ldrlo r1, _080B1C30 @ =gMapTileTypeToVvv
ldrhs r1, _080B1C34 @ =gMapSpecialTileToVvv
ldrlo r1, _080B1C30 @ =gMapTileTypeToActTile
ldrhs r1, _080B1C34 @ =gMapSpecialTileToActTile
ldrb r0, [r1, r0, lsr #18]
bx lr
@@ -214,7 +212,7 @@ arm_sub_080B1B68: @ 0x080B1B68
arm_func_start arm_sub_080B1B84
arm_sub_080B1B84: @ 0x080B1B84
mov ip, lr
bl arm_GetTileType
bl arm_GetTileTypeAtTilePos
lsls r0, r0, #0x12
ldrlo r1, _080B1C3C @ =gUnk_08000360
ldrhs r1, _080B1C40 @ =gUnk_080B7A3E
@@ -226,7 +224,7 @@ arm_sub_080B1B84: @ 0x080B1B84
arm_sub_080B1BA4: @ 0x080B1BA4
mov ip, lr
mov r3, r2
bl arm_GetTileType
bl arm_GetTileTypeAtTilePos
lsls r0, r0, #0x12
ldrlo r1, _080B1C44 @ =gUnk_08000360
ldrhs r1, _080B1C48 @ =gUnk_080B7A3E
@@ -249,7 +247,7 @@ sub_080B1BCC: @ 0x080B1BCC
and r1, r1, #0x3f0
and r2, r2, #0x3f0
add r1, r1, r2, lsl #6
ldr r2, _080B1C50 @ =gVvvPtrs
ldr r2, _080B1C50 @ =gActTilePtrs
ldrb r3, [r0, #0x38]
ldr r2, [r2, r3, lsl #2]
ldrb r0, [r2, r1, lsr #4]
@@ -260,18 +258,18 @@ _080B1C14: .4byte gUnk_08000258
_080B1C18: .4byte gRoomControls
_080B1C1C: .4byte gMapDataPtrs
_080B1C20: .4byte gRoomControls
_080B1C24: .4byte gVvvPtrs
_080B1C24: .4byte gActTilePtrs
_080B1C28: .4byte gRoomControls
_080B1C2C: .4byte gCollisionDataPtrs
_080B1C30: .4byte gMapTileTypeToVvv
_080B1C34: .4byte gMapSpecialTileToVvv
_080B1C30: .4byte gMapTileTypeToActTile
_080B1C34: .4byte gMapSpecialTileToActTile
_080B1C38: .4byte gTileTypesPtrs
_080B1C3C: .4byte gUnk_08000360
_080B1C40: .4byte gUnk_080B7A3E
_080B1C44: .4byte gUnk_08000360
_080B1C48: .4byte gUnk_080B7A3E
_080B1C4C: .4byte gRoomControls
_080B1C50: .4byte gVvvPtrs
_080B1C50: .4byte gActTilePtrs
arm_func_start UpdateCollision
UpdateCollision: @ 0x080B1C54
+3 -3
View File
@@ -326,7 +326,7 @@ DoTileInteraction: @ 0x08008796
adds r1, r7, #0
movs r2, #0x38
ldrb r2, [r4, r2] // collision layer
bl GetTileTypeByPos
bl GetTileTypeAtWorldCoords
ldr r1, _080088D8 @ =gUnk_080046A4
bl FindEntryForKey
beq _080087CE_return0
@@ -758,12 +758,12 @@ CheckNEastTile: @ 0x08008B02
push {r0, r1, lr}
movs r1, #0
movs r2, #0
bl GetVvvRelativeToEntity
bl GetActTileRelativeToEntity
// check if north east collision?
ldr r1, =0x4000
tst r0, r1
bne _08008B1E
ldr r1, =gMapVvvToSurfaceType
ldr r1, =gMapActTileToSurfaceType
bl FindEntryForKey
movs r2, #1
cmp r3, #1
+3 -3
View File
@@ -78,11 +78,11 @@ ResolveCollisionLayer::
ldrh r0, [r4, #0x2e]
ldrh r1, [r4, #0x32]
movs r2, #2
bl GetTileTypeByPos
bl GetTileTypeAtWorldCoords
movs r3, #1
cmp r0, #0
beq _08016A62
bl GetVvvForTileType
bl GetActTileForTileType
movs r3, #2
add r1, pc, #0x40
_08016A54:
@@ -103,7 +103,7 @@ _08016A64:
CheckOnLayerTransition::
push {r4, r5, lr}
adds r4, r0, #0
bl GetVvvAtEntity // tile under me
bl GetActTileAtEntity // tile under me
adr r1, gTransitionTiles-4
loop:
adds r1, #4 // p += 4
+70 -70
View File
@@ -69,9 +69,9 @@ SetTile: @ r0 = tile index, r1, = tile position, r2 = layer
blo tile_wrong_type @ jump if tileIndex < 0x4000
push {r1, r2}
subs r4, r0, r6 @ r4 = tileIndex - 0x4000
ldr r3, _08000210 @ =gMapSpecialTileToVvv
ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToVvv[tileIndex - 0x4000]
bl SetVvvAtTilePos
ldr r3, _08000210 @ =gMapSpecialTileToActTile
ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToActTile[tileIndex - 0x4000]
bl SetActTileAtTilePos
ldr r3, _08000214 @ =gMapSpecialTileToCollisionData
ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToCollisionData[tileIndex - 0x4000]
lsrs r2, r2, #2 @ r2 = layer
@@ -89,9 +89,9 @@ tile_wrong_type:
lsls r0, r0, #1 @ r0 = tileIndex * 2
ldrh r4, [r4, r0] @ r4 (tileType) = gMapBottom.tileTypes[tileIndex]
push {r1, r2}
ldr r3, _08000218 @ =gMapTileTypeToVvv
ldrb r0, [r3, r4] @ r0 = gMapTileTypeToVvv[tileType]
bl SetVvvAtTilePos
ldr r3, _08000218 @ =gMapTileTypeToActTile
ldrb r0, [r3, r4] @ r0 = gMapTileTypeToActTile[tileType]
bl SetActTileAtTilePos
ldr r3, _0800021C @ =gMapTileTypeToCollisionData
ldrb r0, [r3, r4] @ r0 = gMapTileTypeToCollisionData[tileType]
lsrs r2, r2, #2 @ r2 = layer
@@ -105,13 +105,13 @@ _080001C4: .4byte gMapBottom+0x6004
_080001C8: .4byte gMapTop+0x6004
_080001CC: .4byte gMapBottom+0x6004
@ r0: @see gMapSpecialTileToVvv r1: tilePos, r2: layer
thumb_func_start SetVvvAtTilePos
SetVvvAtTilePos: @ 0x080001D0
@ r0: @see gMapSpecialTileToActTile r1: tilePos, r2: layer
thumb_func_start SetActTileAtTilePos
SetActTileAtTilePos: @ 0x080001D0
lsls r2, r2, #2
ldr r3, _08000220 @ =gVvvPtrs
ldr r3, [r3, r2] @ r3 = gMapBottom.vvv
strb r0, [r3, r1] @ gMapBottom.vvv[tilePos] = r0
ldr r3, _08000220 @ =gActTilePtrs
ldr r3, [r3, r2] @ r3 = gMapBottom.actTiles
strb r0, [r3, r1] @ gMapBottom.actTiles[tilePos] = r0
bx lr
non_word_aligned_thumb_func_start GetTileIndex
@@ -133,11 +133,11 @@ _08000200: .4byte gBG2Buffer+0x40
_08000204: .4byte gCollisionDataPtrs
_08000208: .4byte gMapDataPtrs
_0800020C: .4byte 0x00004000
_08000210: .4byte gMapSpecialTileToVvv
_08000210: .4byte gMapSpecialTileToActTile
_08000214: .4byte gMapSpecialTileToCollisionData
_08000218: .4byte gMapTileTypeToVvv
_08000218: .4byte gMapTileTypeToActTile
_0800021C: .4byte gMapTileTypeToCollisionData
_08000220: .4byte gVvvPtrs
_08000220: .4byte gActTilePtrs
_08000224: .4byte gMapDataPtrs
gMapDataPtrs::
@@ -164,11 +164,11 @@ gUnk_08000258:: @ mapDataOriginal and tileTypes
.4byte TOP_TILETYPES
.4byte BOTTOM_TILEDATAORIGINAL @ layer 3
.4byte BOTTOM_TILETYPES
gVvvPtrs:: @ vvv for layers
.4byte BOTTOM_UNKDATA3 @ layer 0
.4byte BOTTOM_UNKDATA3 @ layer 1
.4byte TOP_UNKDATA3 @ layer 2
.4byte BOTTOM_UNKDATA3 @ layer 3
gActTilePtrs:: @ actTile for layers
.4byte BOTTOM_ACTTILES @ layer 0
.4byte BOTTOM_ACTTILES @ layer 1
.4byte TOP_ACTTILES @ layer 2
.4byte BOTTOM_ACTTILES @ layer 3
@ call 0x80B19CC
@ ========
@@ -214,17 +214,17 @@ sub_080B1A04: @ 0x08000298
@ r0: entity*
@ r1: s32
@ r2: s32
thumb_func_start sub_080B1A0C
sub_080B1A0C: @ 0x0800029C
ldr r3, _08000308 @ =ram_sub_080B1A0C
thumb_func_start GetTileTypeRelativeToEntity
GetTileTypeRelativeToEntity: @ 0x0800029C
ldr r3, _08000308 @ =ram_GetTileTypeRelativeToEntity
bx r3
@ call 0x080B1A28
@ r0: entity
@ return: u32 (tileType)
thumb_func_start GetTileTypeByEntity
GetTileTypeByEntity: @ 0x080002A0
ldr r3, _0800030C @ =ram_GetTileTypeByEntity
thumb_func_start GetTileTypeAtEntity
GetTileTypeAtEntity: @ 0x080002A0
ldr r3, _0800030C @ =ram_GetTileTypeAtEntity
bx r3
@ call 0x080B1A34
@@ -232,35 +232,35 @@ GetTileTypeByEntity: @ 0x080002A0
@ r1: s32 (yPos)
@ r2: u32 (layer)
@ return: u32 (tileType)
thumb_func_start GetTileTypeByPos
GetTileTypeByPos: @ 0x080002A4
ldr r3, _08000310 @ =ram_GetTileTypeByPos
thumb_func_start GetTileTypeAtWorldCoords
GetTileTypeAtWorldCoords: @ 0x080002A4
ldr r3, _08000310 @ =ram_GetTileTypeAtWorldCoords
bx r3
@ call 0x080B1A48
@ r0: s32 (xPos)
@ r1: s32 (yPos)
@ r2: u32 (layer)
thumb_func_start sub_080B1A48
sub_080B1A48: @ 0x080002A8
ldr r3, _08000314 @ =ram_sub_080B1A48
thumb_func_start GetTileTypeAtRoomCoords
GetTileTypeAtRoomCoords: @ 0x080002A8
ldr r3, _08000314 @ =ram_GetTileTypeAtRoomCoords
bx r3
@ call 0x080B1A58
@ r0: s32 (xPos)
@ r1: s32 (yPos)
@ r2: u32 (layer)
thumb_func_start sub_080B1A58
sub_080B1A58: @ 0x080002AC
ldr r3, _08000318 @ =ram_sub_080B1A58
thumb_func_start GetTileTypeAtRoomTile
GetTileTypeAtRoomTile: @ 0x080002AC
ldr r3, _08000318 @ =ram_GetTileTypeAtRoomTile
bx r3
@ call 0x080B1A60
@ r0: u32 (tileIndex)
@ r1: u32 (layer)
@ return: u32 (tileType)
thumb_func_start GetTileType
GetTileType: @ 0x080002B0
thumb_func_start GetTileTypeAtTilePos
GetTileTypeAtTilePos: @ 0x080002B0
ldr r3, _0800031C @ =ram_GetTileType
bx r3
@@ -268,9 +268,9 @@ GetTileType: @ 0x080002B0
@ r0: Entity*
@ r1: u32
@ r2: u32
thumb_func_start GetVvvRelativeToEntity
GetVvvRelativeToEntity: @ 0x080002B4
ldr r3, _08000320 @ =ram_GetVvvRelativeToEntity
thumb_func_start GetActTileRelativeToEntity
GetActTileRelativeToEntity: @ 0x080002B4
ldr r3, _08000320 @ =ram_GetActTileRelativeToEntity
bx r3
@ call 0x080B1AA8
@@ -280,18 +280,18 @@ GetVvvRelativeToEntity: @ 0x080002B4
@ return:
@ ========
@ Called every frame a pot is thrown, every frame the screen is sliding in a transition, and once when entering stairs.
thumb_func_start GetVvvAtEntity
GetVvvAtEntity: @ 0x080002B8
ldr r3, _08000324 @ =ram_GetVvvAtEntity
thumb_func_start GetActTileAtEntity
GetActTileAtEntity: @ 0x080002B8
ldr r3, _08000324 @ =ram_GetActTileAtEntity
bx r3
@ call 0x080B1AB4
@ r0: s32 (xPos)
@ r1: s32 (yPos)
@ r2: u32 (layer)
thumb_func_start GetVvvAtWorldCoords
GetVvvAtWorldCoords: @ 0x080002BC
ldr r3, _08000328 @ =ram_GetVvvAtWorldCoords
thumb_func_start GetActTileAtWorldCoords
GetActTileAtWorldCoords: @ 0x080002BC
ldr r3, _08000328 @ =ram_GetActTileAtWorldCoords
bx r3
@ call 0x080B1AC8
@@ -299,9 +299,9 @@ GetVvvAtWorldCoords: @ 0x080002BC
@ r1: u32
@ r2: u32
@ return: ???
thumb_func_start GetVvvAtRoomCoords
GetVvvAtRoomCoords: @ 0x080002C0
ldr r3, _0800032C @ =ram_GetVvvAtRoomCoords
thumb_func_start GetActTileAtRoomCoords
GetActTileAtRoomCoords: @ 0x080002C0
ldr r3, _0800032C @ =ram_GetActTileAtRoomCoords
bx r3
@ call 0x080B1AD8
@@ -310,17 +310,17 @@ GetVvvAtRoomCoords: @ 0x080002C0
@ r2: s32 (yOffset)
@ ========
@ Unused? Doesn't seem to be called by anything in Ghidra.
thumb_func_start GetVvvAtRoomTile
GetVvvAtRoomTile: @ 0x080002C4
ldr r3, _08000330 @ =ram_GetVvvAtRoomTile
thumb_func_start GetActTileAtRoomTile
GetActTileAtRoomTile: @ 0x080002C4
ldr r3, _08000330 @ =ram_GetActTileAtRoomTile
bx r3
@ call 0x080B1AE0
@ r0: u32 (tileIndex)
@ r1: u32 (layer)
thumb_func_start GetVvvAtTilePos
GetVvvAtTilePos: @ 0x080002C8
ldr r3, _08000334 @ =ram_GetVvvAtTilePos
thumb_func_start GetActTileAtTilePos
GetActTileAtTilePos: @ 0x080002C8
ldr r3, _08000334 @ =ram_GetActTileAtTilePos
bx r3
@ call 0x080B1AF0
@@ -372,9 +372,9 @@ GetCollisionDataAtTilePos: @ 0x080002E0
@ call 0x080B1B54
@ r0: u32 (tileIndex)
thumb_func_start GetVvvForTileType
GetVvvForTileType: @ 0x080002E4
ldr r3, _08000350 @ =ram_GetVvvForTileType
thumb_func_start GetActTileForTileType
GetActTileForTileType: @ 0x080002E4
ldr r3, _08000350 @ =ram_GetActTileForTileType
bx r3
@ call 0x080B1B68
@@ -407,25 +407,25 @@ _080002F8: .4byte ram_sub_080B19D8
_080002FC: .4byte ram_sub_080B19EC
_08000300: .4byte ram_sub_080B19FC
_08000304: .4byte ram_sub_080B1A04
_08000308: .4byte ram_sub_080B1A0C
_0800030C: .4byte ram_GetTileTypeByEntity
_08000310: .4byte ram_GetTileTypeByPos
_08000314: .4byte ram_sub_080B1A48
_08000318: .4byte ram_sub_080B1A58
_08000308: .4byte ram_GetTileTypeRelativeToEntity
_0800030C: .4byte ram_GetTileTypeAtEntity
_08000310: .4byte ram_GetTileTypeAtWorldCoords
_08000314: .4byte ram_GetTileTypeAtRoomCoords
_08000318: .4byte ram_GetTileTypeAtRoomTile
_0800031C: .4byte ram_GetTileType
_08000320: .4byte ram_GetVvvRelativeToEntity
_08000324: .4byte ram_GetVvvAtEntity
_08000328: .4byte ram_GetVvvAtWorldCoords
_0800032C: .4byte ram_GetVvvAtRoomCoords
_08000330: .4byte ram_GetVvvAtRoomTile
_08000334: .4byte ram_GetVvvAtTilePos
_08000320: .4byte ram_GetActTileRelativeToEntity
_08000324: .4byte ram_GetActTileAtEntity
_08000328: .4byte ram_GetActTileAtWorldCoords
_0800032C: .4byte ram_GetActTileAtRoomCoords
_08000330: .4byte ram_GetActTileAtRoomTile
_08000334: .4byte ram_GetActTileAtTilePos
_08000338: .4byte ram_GetCollisionDataRelativeTo
_0800033C: .4byte ram_GetCollisionDataAtEntity
_08000340: .4byte ram_GetCollisionDataAtWorldCoords
_08000344: .4byte ram_GetCollisionDataAtRoomCoords
_08000348: .4byte ram_GetCollisionDataAtRoomTile
_0800034C: .4byte ram_GetCollisionDataAtTilePos
_08000350: .4byte ram_GetVvvForTileType
_08000350: .4byte ram_GetActTileForTileType
_08000354: .4byte ram_sub_080B1B68
_08000358: .4byte ram_sub_080B1B84
_0800035C: .4byte ram_sub_080B1BA4