Identify more collision-related constants and data

This commit is contained in:
Rangi 2019-03-03 13:30:27 -05:00
parent e671636bba
commit dc396822d7
4 changed files with 70 additions and 46 deletions

View File

@ -102,6 +102,18 @@ COLL_RIGHT_WALL EQU $b0
COLL_LEFT_WALL EQU $b1
COLL_UP_WALL EQU $b2
COLL_DOWN_WALL EQU $b3 ; unused
COLL_DOWN_RIGHT_WALL EQU $b4 ; unused
COLL_DOWN_LEFT_WALL EQU $b5 ; unused
COLL_UP_RIGHT_WALL EQU $b6 ; unused
COLL_UP_LEFT_WALL EQU $b7 ; unused
COLL_RIGHT_BUOY EQU $c0 ; unused
COLL_LEFT_BUOY EQU $c1 ; unused
COLL_UP_BUOY EQU $c2 ; unused
COLL_DOWN_BUOY EQU $c3 ; unused
COLL_DOWN_RIGHT_BUOY EQU $c4 ; unused
COLL_DOWN_LEFT_BUOY EQU $c5 ; unused
COLL_UP_RIGHT_BUOY EQU $c6 ; unused
COLL_UP_LEFT_BUOY EQU $c7 ; unused
COLL_FF EQU $ff ; garbage
; collision data type nybbles
@ -114,4 +126,4 @@ HI_NYBBLE_WALK_ALT EQU $50
HI_NYBBLE_WARPS EQU $70
HI_NYBBLE_LEDGES EQU $a0
HI_NYBBLE_SIDE_WALLS EQU $b0
HI_NYBBLE_UNUSED_C0 EQU $c0
HI_NYBBLE_SIDE_BUOYS EQU $c0

View File

@ -183,10 +183,10 @@ TileCollisionTable::
NONTALKABLE LANDTILE ; COLL_LEFT_WALL
NONTALKABLE LANDTILE ; COLL_UP_WALL
NONTALKABLE LANDTILE ; COLL_DOWN_WALL
NONTALKABLE LANDTILE ; b4
NONTALKABLE LANDTILE ; b5
NONTALKABLE LANDTILE ; b6
NONTALKABLE LANDTILE ; b7
NONTALKABLE LANDTILE ; COLL_DOWN_RIGHT_WALL
NONTALKABLE LANDTILE ; COLL_DOWN_LEFT_WALL
NONTALKABLE LANDTILE ; COLL_UP_RIGHT_WALL
NONTALKABLE LANDTILE ; COLL_UP_LEFT_WALL
NONTALKABLE LANDTILE ; b8
NONTALKABLE LANDTILE ; b9
NONTALKABLE LANDTILE ; ba
@ -195,14 +195,14 @@ TileCollisionTable::
NONTALKABLE LANDTILE ; bd
NONTALKABLE LANDTILE ; be
NONTALKABLE LANDTILE ; bf
NONTALKABLE WATERTILE ; c0
NONTALKABLE WATERTILE ; c1
NONTALKABLE WATERTILE ; c2
NONTALKABLE WATERTILE ; c3
NONTALKABLE WATERTILE ; c4
NONTALKABLE WATERTILE ; c5
NONTALKABLE WATERTILE ; c6
NONTALKABLE WATERTILE ; c7
NONTALKABLE WATERTILE ; COLL_RIGHT_BUOY
NONTALKABLE WATERTILE ; COLL_LEFT_BUOY
NONTALKABLE WATERTILE ; COLL_UP_BUOY
NONTALKABLE WATERTILE ; COLL_DOWN_BUOY
NONTALKABLE WATERTILE ; COLL_DOWN_RIGHT_BUOY
NONTALKABLE WATERTILE ; COLL_DOWN_LEFT_BUOY
NONTALKABLE WATERTILE ; COLL_UP_RIGHT_BUOY
NONTALKABLE WATERTILE ; COLL_UP_LEFT_BUOY
NONTALKABLE WATERTILE ; c8
NONTALKABLE WATERTILE ; c9
NONTALKABLE WATERTILE ; ca

View File

@ -114,7 +114,10 @@ WillObjectBumpIntoTile:
ret
.data_6f5b
db DOWN_MASK, UP_MASK, RIGHT_MASK, LEFT_MASK
db DOWN_MASK ; DOWN
db UP_MASK ; UP
db RIGHT_MASK ; LEFT
db LEFT_MASK ; RIGHT
Function6f5f:
ld hl, OBJECT_STANDING_TILE
@ -137,19 +140,22 @@ Function6f5f:
ret
.data_6f7b
db UP_MASK, DOWN_MASK, LEFT_MASK, RIGHT_MASK
db UP_MASK ; DOWN
db DOWN_MASK ; UP
db LEFT_MASK ; LEFT
db RIGHT_MASK ; RIGHT
Function6f7f:
ld d, a
and $f0
cp HI_NYBBLE_SIDE_WALLS
jr z, .done
cp HI_NYBBLE_UNUSED_C0
jr z, .done
jr z, .continue
cp HI_NYBBLE_SIDE_BUOYS
jr z, .continue
xor a
ret
.done
.continue
ld a, d
and 7
ld e, a
@ -161,8 +167,14 @@ Function6f7f:
ret
.data_6f99
db 8, 4, 1, 2
db 10, 6, 9, 5
db RIGHT_MASK ; COLL_RIGHT_WALL/BUOY
db LEFT_MASK ; COLL_LEFT_WALL/BUOY
db DOWN_MASK ; COLL_UP_WALL/BUOY
db UP_MASK ; COLL_DOWN_WALL/BUOY
db UP_MASK | RIGHT_MASK ; COLL_DOWN_RIGHT_WALL/BUOY
db UP_MASK | LEFT_MASK ; COLL_DOWN_LEFT_WALL/BUOY
db DOWN_MASK | RIGHT_MASK ; COLL_UP_RIGHT_WALL/BUOY
db DOWN_MASK | LEFT_MASK ; COLL_UP_LEFT_WALL/BUOY
Function6fa1:
ld hl, OBJECT_DIRECTION_WALKING
@ -493,7 +505,7 @@ Unreferenced_Function7113:
cp d
jr nz, .check_current_coords
ldh a, [hObjectStructIndexBuffer]
cp $0
cp PLAYER_OBJECT
jr z, .next
jr .yes

View File

@ -325,9 +325,9 @@ CopyWarpData::
ld l, a
ld a, c
dec a
ld bc, 5 ; warp size
ld bc, $5 ; warp size
call AddNTimes
ld bc, 2 ; warp number
ld bc, $2 ; warp number
add hl, bc
ld a, [hli]
cp $ff
@ -671,7 +671,7 @@ RestoreFacingAfterWarp::
dec a
ld c, a
ld b, 0
ld a, 5
ld a, $5 ; warp size
call AddNTimes
ld a, [hli]
ld [wYCoord], a
@ -1261,7 +1261,7 @@ UpdateBGMapRow::
push de
call .iteration
pop de
ld a, $20
ld a, BG_MAP_WIDTH
add e
ld e, a
@ -1295,7 +1295,7 @@ UpdateBGMapColumn::
ld [hli], a
ld a, d
ld [hli], a
ld a, $20
ld a, BG_MAP_WIDTH
add e
ld e, a
jr nc, .skip
@ -1344,11 +1344,11 @@ LoadTilesetGFX::
ldh a, [rVBK]
push af
ld a, $1
ld a, BANK(vTiles5)
ldh [rVBK], a
ld hl, wDecompressScratch + $60 tiles
ld de, vTiles2
ld de, vTiles5
ld bc, $60 tiles
call CopyBytes
@ -1573,12 +1573,12 @@ GetMovementPermissions::
call .CheckHiNybble
ret nz
ld a, [wTileDown]
and 7
cp $2
and %111
cp COLL_UP_WALL & %111 ; COLL_UP_BUOY & %111
jr z, .ok_down
cp $6
cp COLL_UP_RIGHT_WALL & %111 ; COLL_UP_RIGHT_BUOY & %111
jr z, .ok_down
cp $7
cp COLL_UP_LEFT_WALL & %111 ; COLL_UP_LEFT_BUOY & %111
ret nz
.ok_down
@ -1591,12 +1591,12 @@ GetMovementPermissions::
call .CheckHiNybble
ret nz
ld a, [wTileUp]
and 7
cp $3
and %111
cp COLL_DOWN_WALL & %111 ; COLL_DOWN_BUOY & %111
jr z, .ok_up
cp $4
cp COLL_DOWN_RIGHT_WALL & %111 ; COLL_DOWN_RIGHT_BUOY & %111
jr z, .ok_up
cp $5
cp COLL_DOWN_LEFT_WALL & %111 ; COLL_DOWN_LEFT_BUOY & %111
ret nz
.ok_up
@ -1609,12 +1609,12 @@ GetMovementPermissions::
call .CheckHiNybble
ret nz
ld a, [wTileRight]
and 7
cp $1
and %111
cp COLL_LEFT_WALL & %111 ; COLL_LEFT_BUOY & %111
jr z, .ok_right
cp $5
cp COLL_DOWN_LEFT_WALL & %111 ; COLL_DOWN_LEFT_BUOY & %111
jr z, .ok_right
cp $7
cp COLL_UP_LEFT_WALL & %111 ; COLL_UP_LEFT_BUOY & %111
ret nz
.ok_right
@ -1627,12 +1627,12 @@ GetMovementPermissions::
call .CheckHiNybble
ret nz
ld a, [wTileLeft]
and 7
cp $0
and %111
cp COLL_RIGHT_WALL & %111 ; COLL_RIGHT_BUOY & %111
jr z, .ok_left
cp $4
cp COLL_DOWN_RIGHT_WALL & %111 ; COLL_DOWN_RIGHT_BUOY & %111
jr z, .ok_left
cp $6
cp COLL_UP_RIGHT_WALL & %111 ; COLL_UP_RIGHT_BUOY & %111
ret nz
.ok_left
@ -1645,7 +1645,7 @@ GetMovementPermissions::
and $f0
cp HI_NYBBLE_SIDE_WALLS
ret z
cp HI_NYBBLE_UNUSED_C0
cp HI_NYBBLE_SIDE_BUOYS
ret
GetFacingTileCoord::