shithub: pokecrystal

Download patch

ref: dc396822d7e69764402fa3673eb1fee95cd3122e
parent: e671636bba211b30a15b86bf748989b6e61dcf0a
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Sun Mar 3 08:30:27 EST 2019

Identify more collision-related constants and data

--- a/constants/collision_constants.asm
+++ b/constants/collision_constants.asm
@@ -102,6 +102,18 @@
 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_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
--- a/data/collision_permissions.asm
+++ b/data/collision_permissions.asm
@@ -183,10 +183,10 @@
 	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 @@
 	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
--- a/engine/overworld/npc_movement.asm
+++ b/engine/overworld/npc_movement.asm
@@ -114,7 +114,10 @@
 	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 @@
 	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 @@
 	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 @@
 	cp d
 	jr nz, .check_current_coords
 	ldh a, [hObjectStructIndexBuffer]
-	cp $0
+	cp PLAYER_OBJECT
 	jr z, .next
 	jr .yes
 
--- a/home/map.asm
+++ b/home/map.asm
@@ -325,9 +325,9 @@
 	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 @@
 	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 @@
 	push de
 	call .iteration
 	pop de
-	ld a, $20
+	ld a, BG_MAP_WIDTH
 	add e
 	ld e, a
 
@@ -1295,7 +1295,7 @@
 	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 @@
 
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	and $f0
 	cp HI_NYBBLE_SIDE_WALLS
 	ret z
-	cp HI_NYBBLE_UNUSED_C0
+	cp HI_NYBBLE_SIDE_BUOYS
 	ret
 
 GetFacingTileCoord::