diff options
Diffstat (limited to 'engine/player_movement.asm')
-rwxr-xr-x | engine/player_movement.asm | 95 |
1 files changed, 50 insertions, 45 deletions
diff --git a/engine/player_movement.asm b/engine/player_movement.asm index 89593da5d..db0c07801 100755 --- a/engine/player_movement.asm +++ b/engine/player_movement.asm @@ -42,7 +42,7 @@ DoPlayerMovement:: ; 80000 jr z, .Surf cp PLAYER_BIKE jr z, .Normal - cp PLAYER_SLIP + cp PLAYER_SKATE jr z, .Ice .Normal: @@ -128,13 +128,13 @@ DoPlayerMovement:: ; 80000 .not_whirlpool and $f0 - cp $30 ; moving water + cp HI_NYBBLE_CURRENT jr z, .water - cp $40 ; moving land 1 + cp HI_NYBBLE_WALK jr z, .land1 - cp $50 ; moving land 2 + cp HI_NYBBLE_WALK_ALT jr z, .land2 - cp $70 ; warps + cp HI_NYBBLE_WARPS jr z, .warps jr .no_walk @@ -150,10 +150,10 @@ DoPlayerMovement:: ; 80000 jr .continue_walk .water_table - db RIGHT - db LEFT - db UP - db DOWN + db RIGHT ; COLL_WATERFALL_RIGHT + db LEFT ; COLL_WATERFALL_LEFT + db UP ; COLL_WATERFALL_UP + db DOWN ; COLL_WATERFALL .land1 ld a, c @@ -169,14 +169,14 @@ DoPlayerMovement:: ; 80000 jr .continue_walk .land1_table - db STANDING - db RIGHT - db LEFT - db UP - db DOWN - db STANDING - db STANDING - db STANDING + db STANDING ; COLL_BRAKE + db RIGHT ; COLL_WALK_RIGHT + db LEFT ; COLL_WALK_LEFT + db UP ; COLL_WALK_UP + db DOWN ; COLL_WALK_DOWN + db STANDING ; COLL_BRAKE_45 + db STANDING ; COLL_BRAKE_46 + db STANDING ; COLL_BRAKE_47 .land2 ld a, c @@ -192,24 +192,24 @@ DoPlayerMovement:: ; 80000 jr .continue_walk .land2_table - db RIGHT - db LEFT - db UP - db DOWN - db STANDING - db STANDING - db STANDING - db STANDING + db RIGHT ; COLL_WALK_RIGHT_ALT + db LEFT ; COLL_WALK_LEFT_ALT + db UP ; COLL_WALK_UP_ALT + db DOWN ; COLL_WALK_DOWN_ALT + db STANDING ; COLL_BRAKE_ALT + db STANDING ; COLL_BRAKE_55 + db STANDING ; COLL_BRAKE_56 + db STANDING ; COLL_BRAKE_57 .warps ld a, c - cp $71 ; door + cp COLL_DOOR jr z, .down - cp $79 + cp COLL_DOOR_79 jr z, .down - cp $7a ; stairs + cp COLL_STAIRCASE jr z, .down - cp $7b ; cave + cp COLL_CAVE jr nz, .no_walk .down @@ -365,7 +365,7 @@ DoPlayerMovement:: ; 80000 ld a, [PlayerStandingTile] ld e, a and $f0 - cp $a0 ; ledge + cp HI_NYBBLE_LEDGES jr nz, .DontJump ld a, e @@ -391,14 +391,14 @@ DoPlayerMovement:: ; 80000 ret .data_8021e - db FACE_RIGHT - db FACE_LEFT - db FACE_UP - db FACE_DOWN - db FACE_RIGHT | FACE_DOWN - db FACE_DOWN | FACE_LEFT - db FACE_UP | FACE_RIGHT - db FACE_UP | FACE_LEFT + db FACE_RIGHT ; COLL_HOP_RIGHT + db FACE_LEFT ; COLL_HOP_LEFT + db FACE_UP ; COLL_HOP_UP + db FACE_DOWN ; COLL_HOP_DOWN + db FACE_RIGHT | FACE_DOWN ; COLL_HOP_DOWN_RIGHT + db FACE_DOWN | FACE_LEFT ; COLL_HOP_DOWN_LEFT + db FACE_UP | FACE_RIGHT ; COLL_HOP_UP_RIGHT + db FACE_UP | FACE_LEFT ; COLL_HOP_UP_LEFT ; 80226 .CheckWarp: ; 80226 @@ -409,6 +409,8 @@ DoPlayerMovement:: ; 80000 ; making bumps silent. ld a, [WalkingDirection] + ; cp STANDING + ; jr z, .not_warp ld e, a ld d, 0 ld hl, .EdgeWarps @@ -420,6 +422,7 @@ DoPlayerMovement:: ; 80000 ld a, 1 ld [wd041], a ld a, [WalkingDirection] + ; This is in the wrong place. cp STANDING jr z, .not_warp @@ -443,7 +446,10 @@ DoPlayerMovement:: ; 80000 ret .EdgeWarps: - db $70, $78, $76, $7e + db COLL_WARP_CARPET_DOWN + db COLL_WARP_CARPET_UP + db COLL_WARP_CARPET_LEFT + db COLL_WARP_CARPET_RIGHT ; 8025f .DoStep: @@ -647,7 +653,7 @@ DoPlayerMovement:: ; 80000 ld e, a ; Find an object struct with coordinates equal to d,e ld bc, ObjectStructs ; redundant - callba IsNPCAtCoord + farcall IsNPCAtCoord jr nc, .is_npc call .CheckStrengthBoulder jr c, .no_bump @@ -747,11 +753,10 @@ DoPlayerMovement:: ; 80000 ; 803ca .BikeCheck: ; 803ca - ld a, [PlayerState] cp PLAYER_BIKE ret z - cp PLAYER_SLIP + cp PLAYER_SKATE ret ; 803d3 @@ -759,7 +764,7 @@ DoPlayerMovement:: ; 80000 ; Return 0 if tile a is land. Otherwise, return carry. call GetTileCollision - and a ; land + and a ; LANDTILE? ret z scf ret @@ -774,7 +779,7 @@ DoPlayerMovement:: ; 80000 jr z, .Water ; Can walk back onto land from water. - and a + and a ; LANDTILE? jr z, .Land jr .Neither @@ -821,7 +826,7 @@ CheckStandingOnIce:: ; 80404 call CheckIceTile jr nc, .yep ld a, [PlayerState] - cp PLAYER_SLIP + cp PLAYER_SKATE jr nz, .not_ice .yep |