diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2019-03-03 13:30:27 -0500 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2019-03-03 13:30:27 -0500 |
commit | dc396822d7e69764402fa3673eb1fee95cd3122e (patch) | |
tree | 17f243a3b16f8a08e846b1f91edda0f8f7751ac3 | |
parent | e671636bba211b30a15b86bf748989b6e61dcf0a (diff) |
Identify more collision-related constants and data
-rw-r--r-- | constants/collision_constants.asm | 14 | ||||
-rw-r--r-- | data/collision_permissions.asm | 24 | ||||
-rw-r--r-- | engine/overworld/npc_movement.asm | 30 | ||||
-rw-r--r-- | home/map.asm | 48 |
4 files changed, 70 insertions, 46 deletions
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm index b693dc8f8..f9724da60 100644 --- a/constants/collision_constants.asm +++ b/constants/collision_constants.asm @@ -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 diff --git a/data/collision_permissions.asm b/data/collision_permissions.asm index 2307ec98a..82ebb770a 100644 --- a/data/collision_permissions.asm +++ b/data/collision_permissions.asm @@ -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 diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index ffed4875b..d249d2fd4 100644 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -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 diff --git a/home/map.asm b/home/map.asm index 9af673f3d..75c804e9f 100644 --- a/home/map.asm +++ b/home/map.asm @@ -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:: |