diff options
Diffstat (limited to 'engine/overworld/player_state.asm')
-rw-r--r-- | engine/overworld/player_state.asm | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 70326754..c966c128 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -70,7 +70,8 @@ CheckForceBikeOrSurf:: ld a, $1 ld [wWalkBikeSurfState], a ld [wWalkBikeSurfStateCopy], a - jp ForceBikeOrSurf + call ForceBikeOrSurf + ret .incorrectMap inc hl .incorrectY @@ -80,7 +81,8 @@ CheckForceBikeOrSurf:: ld a, $2 ld [wWalkBikeSurfState], a ld [wWalkBikeSurfStateCopy], a - jp ForceBikeOrSurf + call ForceBikeOrSurf + ret INCLUDE "data/maps/force_bike_surf.asm" @@ -101,10 +103,10 @@ IsPlayerFacingEdgeOfMap:: ld b, a ld a, [wXCoord] ld c, a - ld de, .asm_c41e + ld de, .returnaddress push de jp hl -.asm_c41e +.returnaddress pop bc pop de pop hl @@ -224,8 +226,7 @@ PrintSafariZoneSteps:: cp CERULEAN_CAVE_2F ret nc hlcoord 0, 0 - ld b, 3 - ld c, 7 + lb bc, 3, 7 call TextBoxBorder hlcoord 1, 1 ld de, wSafariSteps @@ -239,11 +240,11 @@ PrintSafariZoneSteps:: call PlaceString ld a, [wNumSafariBalls] cp 10 - jr nc, .asm_c56d + jr nc, .numSafariBallsTwoDigits hlcoord 5, 3 ld a, " " ld [hl], a -.asm_c56d +.numSafariBallsTwoDigits hlcoord 6, 3 ld de, wNumSafariBalls lb bc, 1, 2 @@ -345,16 +346,8 @@ GetTileTwoStepsInFrontOfPlayer: CheckForCollisionWhenPushingBoulder: call GetTileTwoStepsInFrontOfPlayer - ld hl, wTilesetCollisionPtr - ld a, [hli] - ld h, [hl] - ld l, a -.loop - ld a, [hli] - cp $ff - jr z, .done ; if the tile two steps ahead is not passable - cp c - jr nz, .loop + call IsTilePassable + jr c, .done ld hl, TilePairCollisionsLand call CheckForTilePairCollisions2 ld a, $ff |