aboutsummaryrefslogtreecommitdiffstats
path: root/engine/overworld/pathfinding.asm
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2024-09-25 00:45:00 -0500
committerdannye <33dannye@gmail.com>2024-09-25 00:45:00 -0500
commita02a98ee7ada1a658e28698484058be2796dc0df (patch)
tree945986054565bd8b5212fc755415096050d1d3a8 /engine/overworld/pathfinding.asm
parentUse long option flags for rgbgfx, same as tools/gfx (diff)
parentUse `const_skip` (diff)
downloadpokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.tar.gz
pokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.tar.xz
pokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.zip
Merge branch 'master' of https://github.com/pret/pokered
Diffstat (limited to 'engine/overworld/pathfinding.asm')
-rw-r--r--engine/overworld/pathfinding.asm26
1 files changed, 13 insertions, 13 deletions
diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm
index d067345e..58fa1da9 100644
--- a/engine/overworld/pathfinding.asm
+++ b/engine/overworld/pathfinding.asm
@@ -16,7 +16,7 @@ FindPathToPlayer:
and a
jr nz, .stillHasYProgress
ldh a, [hFindPathFlags]
- set 0, a ; current end of path matches the player's Y coordinate
+ set BIT_PATH_FOUND_Y, a
ldh [hFindPathFlags], a
.stillHasYProgress
ldh a, [hFindPathXProgress]
@@ -27,11 +27,11 @@ FindPathToPlayer:
and a
jr nz, .stillHasXProgress
ldh a, [hFindPathFlags]
- set 1, a ; current end of path matches the player's X coordinate
+ set BIT_PATH_FOUND_X, a
ldh [hFindPathFlags], a
.stillHasXProgress
ldh a, [hFindPathFlags]
- cp $3 ; has the end of the path reached the player's position?
+ cp (1 << BIT_PATH_FOUND_X) | (1 << BIT_PATH_FOUND_Y)
jr z, .done
; Compare whether the X distance between the player and the current of the path
; is greater or if the Y distance is. Then, try to reduce whichever is greater.
@@ -40,7 +40,7 @@ FindPathToPlayer:
jr c, .yDistanceGreater
; x distance is greater
ldh a, [hNPCPlayerRelativePosFlags]
- bit 1, a
+ bit BIT_PLAYER_LOWER_X, a
jr nz, .playerIsLeftOfNPC
ld d, NPC_MOVEMENT_RIGHT
jr .next1
@@ -53,7 +53,7 @@ FindPathToPlayer:
jr .storeDirection
.yDistanceGreater
ldh a, [hNPCPlayerRelativePosFlags]
- bit 0, a
+ bit BIT_PLAYER_LOWER_Y, a
jr nz, .playerIsAboveNPC
ld d, NPC_MOVEMENT_DOWN
jr .next2
@@ -97,15 +97,15 @@ CalcPositionOfPlayerRelativeToNPC:
.NPCNorthOfPlayer
push hl
ld hl, hNPCPlayerRelativePosFlags
- bit 0, [hl]
- set 0, [hl]
+ bit BIT_PLAYER_LOWER_Y, [hl]
+ set BIT_PLAYER_LOWER_Y, [hl]
pop hl
jr .divideYDistance
.NPCSouthOfOrAlignedWithPlayer
push hl
ld hl, hNPCPlayerRelativePosFlags
- bit 0, [hl]
- res 0, [hl]
+ bit BIT_PLAYER_LOWER_Y, [hl]
+ res BIT_PLAYER_LOWER_Y, [hl]
pop hl
.divideYDistance
push hl
@@ -125,15 +125,15 @@ CalcPositionOfPlayerRelativeToNPC:
.NPCWestOfPlayer
push hl
ld hl, hNPCPlayerRelativePosFlags
- bit 1, [hl]
- set 1, [hl]
+ bit BIT_PLAYER_LOWER_X, [hl]
+ set BIT_PLAYER_LOWER_X, [hl]
pop hl
jr .divideXDistance
.NPCEastOfOrAlignedWithPlayer
push hl
ld hl, hNPCPlayerRelativePosFlags
- bit 1, [hl]
- res 1, [hl]
+ bit BIT_PLAYER_LOWER_X, [hl]
+ res BIT_PLAYER_LOWER_X, [hl]
pop hl
.divideXDistance
ldh [hDividend2], a