Ensure anchor points are applied when landing after warp by creating a new setup script

This commit is contained in:
xCrystal
2023-12-14 17:11:15 +01:00
parent 429aad6798
commit af9ab166c4
6 changed files with 28 additions and 3 deletions

View File

@@ -412,3 +412,24 @@ GetMapScreenCoords::
and 1
ld [wPlayerMetatileX], a
ret
AnchorPointAfterWarp:
; if wCurSpaceNextSpace is not an anchor point, override any anchor point we pass through
ld a, [wCurSpaceNextSpace]
cp NEXT_SPACE_IS_ANCHOR_POINT
ret c
ld a, [wCurMapAnchorEventCount]
and a
ret z
; if we have arrived to an anchor point, load its associated next space to wCurSpaceNextSpace right now.
; note that the next space of an anchor point could be another anchor point.
ld c, a
ld hl, wCurMapAnchorEventsPointer
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wXCoord]
ld d, a
ld a, [wYCoord]
ld e, a
jp CheckAndApplyAnchorPoint