diff options
Diffstat (limited to 'engine/overworld/movement.asm')
-rw-r--r-- | engine/overworld/movement.asm | 298 |
1 files changed, 105 insertions, 193 deletions
diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 3dbb0b83a..f7054c680 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -1,4 +1,4 @@ -MovementPointers: ; 5075 +MovementPointers: ; entries correspond to macros/scripts/movement.asm enumeration dw Movement_turn_head_down ; 00 dw Movement_turn_head_up ; 01 @@ -90,38 +90,32 @@ MovementPointers: ; 5075 dw Movement_rock_smash ; 57 dw Movement_return_dig ; 58 dw Movement_skyfall_top ; 59 -; 5129 - -Movement_teleport_from: ; 5129 +Movement_teleport_from: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_TELEPORT_FROM ret -; 5130 -Movement_teleport_to: ; 5130 +Movement_teleport_to: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_TELEPORT_TO ret -; 5137 -Movement_skyfall: ; 5137 +Movement_skyfall: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_SKYFALL ret -; 513e -Movement_skyfall_top: ; 513e +Movement_skyfall_top: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_SKYFALL_TOP ret -; 5145 -Movement_step_dig: ; 5145 +Movement_step_dig: call GetSpriteDirection rlca rlca @@ -142,9 +136,8 @@ Movement_step_dig: ; 5145 add hl, bc ld [hl], STANDING ret -; 516a -Movement_return_dig: ; 516a +Movement_return_dig: call GetSpriteDirection rlca rlca @@ -162,9 +155,8 @@ Movement_return_dig: ; 516a add hl, bc ld [hl], STEP_TYPE_RETURN_DIG ret -; 5189 -Movement_fish_got_bite: ; 5189 +Movement_fish_got_bite: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_FISHING @@ -172,9 +164,8 @@ Movement_fish_got_bite: ; 5189 add hl, bc ld [hl], STEP_TYPE_GOT_BITE ret -; 5196 -Movement_rock_smash: ; 5196 +Movement_rock_smash: call JumpMovementPointer ld hl, OBJECT_STEP_DURATION add hl, bc @@ -186,9 +177,8 @@ Movement_rock_smash: ; 5196 add hl, bc ld [hl], STEP_TYPE_ROCK_SMASH ret -; 51ab -Movement_fish_cast_rod: ; 51ab +Movement_fish_cast_rod: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_FISHING @@ -196,16 +186,14 @@ Movement_fish_cast_rod: ; 51ab add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 51b8 -Movement_step_loop: ; 51b8 +Movement_step_loop: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld [hl], $0 jp ContinueReadingMovement -; 51c1 -Movement_step_end: ; 51c1 +Movement_step_end: call RestoreDefaultMovement ld hl, OBJECT_MOVEMENTTYPE add hl, bc @@ -222,9 +210,8 @@ Movement_step_end: ; 51c1 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 51db -Movement_48: ; 51db +Movement_48: call RestoreDefaultMovement ld hl, OBJECT_MOVEMENTTYPE add hl, bc @@ -246,9 +233,8 @@ Movement_48: ; 51db ld hl, wVramState res 7, [hl] ret -; 51fd -Movement_remove_object: ; 51fd +Movement_remove_object: call DeleteMapObject ld hl, wObjectFollow_Leader ld a, [hMapObjectIndexBuffer] @@ -260,9 +246,8 @@ Movement_remove_object: ; 51fd ld hl, wVramState res 7, [hl] ret -; 5210 -Movement_4b: ; 5210 +Movement_4b: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_STAND @@ -274,48 +259,47 @@ Movement_4b: ; 5210 ld hl, wVramState res 7, [hl] ret -; 5222 -Movement_step_sleep_1: ; 5222 +Movement_step_sleep_1: ld a, 1 jr Movement_step_sleep_common -Movement_step_sleep_2: ; 5226 +Movement_step_sleep_2: ld a, 2 jr Movement_step_sleep_common -Movement_step_sleep_3: ; 522a +Movement_step_sleep_3: ld a, 3 jr Movement_step_sleep_common -Movement_step_sleep_4: ; 522e +Movement_step_sleep_4: ld a, 4 jr Movement_step_sleep_common -Movement_step_sleep_5: ; 5232 +Movement_step_sleep_5: ld a, 5 jr Movement_step_sleep_common -Movement_step_sleep_6: ; 5236 +Movement_step_sleep_6: ld a, 6 jr Movement_step_sleep_common -Movement_step_sleep_7: ; 523a +Movement_step_sleep_7: ld a, 7 jr Movement_step_sleep_common -Movement_step_sleep_8: ; 523e +Movement_step_sleep_8: ld a, 8 jr Movement_step_sleep_common -Movement_step_sleep: ; 5242 +Movement_step_sleep: ; parameters: ; duration (DecimalParam) call JumpMovementPointer jr Movement_step_sleep_common -Movement_step_sleep_common: ; 5247 +Movement_step_sleep_common: ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a @@ -332,9 +316,8 @@ Movement_step_sleep_common: ; 5247 add hl, bc ld [hl], STANDING ret -; 525f -Movement_step_bump: ; 525f +Movement_step_bump: ld a, 1 ld hl, OBJECT_STEP_DURATION add hl, bc @@ -352,9 +335,8 @@ Movement_step_bump: ; 525f add hl, bc ld [hl], STANDING ret -; 5279 -Movement_tree_shake: ; 5279 +Movement_tree_shake: ld a, 24 ld hl, OBJECT_STEP_DURATION add hl, bc @@ -372,86 +354,76 @@ Movement_tree_shake: ; 5279 add hl, bc ld [hl], STANDING ret -; 5293 -Movement_remove_sliding: ; 5293 +Movement_remove_sliding: ld hl, OBJECT_FLAGS1 add hl, bc - res SLIDING, [hl] + res SLIDING_F, [hl] jp ContinueReadingMovement -; 529c -Movement_set_sliding: ; 529c +Movement_set_sliding: ld hl, OBJECT_FLAGS1 add hl, bc - set SLIDING, [hl] + set SLIDING_F, [hl] jp ContinueReadingMovement -; 52a5 -Movement_remove_fixed_facing: ; 52a5 +Movement_remove_fixed_facing: ld hl, OBJECT_FLAGS1 add hl, bc - res FIXED_FACING, [hl] + res FIXED_FACING_F, [hl] jp ContinueReadingMovement -; 52ae -Movement_fix_facing: ; 52ae +Movement_fix_facing: ld hl, OBJECT_FLAGS1 add hl, bc - set FIXED_FACING, [hl] + set FIXED_FACING_F, [hl] jp ContinueReadingMovement -; 52b7 -Movement_show_object: ; 52b7 +Movement_show_object: ld hl, OBJECT_FLAGS1 add hl, bc - res INVISIBLE, [hl] + res INVISIBLE_F, [hl] jp ContinueReadingMovement -; 52c0 -Movement_hide_object: ; 52c0 +Movement_hide_object: ld hl, OBJECT_FLAGS1 add hl, bc - set INVISIBLE, [hl] + set INVISIBLE_F, [hl] jp ContinueReadingMovement -; 52c9 -Movement_hide_emote: ; 52c9 +Movement_hide_emote: call DespawnEmote jp ContinueReadingMovement -; 52cf -Movement_show_emote: ; 52cf +Movement_show_emote: call SpawnEmote jp ContinueReadingMovement -; 52d5 -Movement_step_shake: ; 52d5 +Movement_step_shake: ; parameters: ; displacement (DecimalParam) call JumpMovementPointer call ShakeScreen jp ContinueReadingMovement -; 52de -Movement_turn_head_down: ; 52de +Movement_turn_head_down: ld a, OW_DOWN jr TurnHead -Movement_turn_head_up: ; 52e2 +Movement_turn_head_up: ld a, OW_UP jr TurnHead -Movement_turn_head_left: ; 52e6 +Movement_turn_head_left: ld a, OW_LEFT jr TurnHead -Movement_turn_head_right: ; 52ea +Movement_turn_head_right: ld a, OW_RIGHT jr TurnHead -TurnHead: ; 52ee +TurnHead: ld hl, OBJECT_FACING add hl, bc ld [hl], a @@ -464,269 +436,216 @@ TurnHead: ; 52ee add hl, bc ld [hl], STANDING ret -; 5300 -Movement_slow_step_down: ; 5300 +Movement_slow_step_down: ld a, STEP_SLOW << 2 | DOWN jp NormalStep -; 5305 -Movement_slow_step_up: ; 5305 +Movement_slow_step_up: ld a, STEP_SLOW << 2 | UP jp NormalStep -; 530a -Movement_slow_step_left: ; 530a +Movement_slow_step_left: ld a, STEP_SLOW << 2 | LEFT jp NormalStep -; 530f -Movement_slow_step_right: ; 530f +Movement_slow_step_right: ld a, STEP_SLOW << 2 | RIGHT jp NormalStep -; 5314 -Movement_step_down: ; 5314 +Movement_step_down: ld a, STEP_WALK << 2 | DOWN jp NormalStep -; 5319 -Movement_step_up: ; 5319 +Movement_step_up: ld a, STEP_WALK << 2 | UP jp NormalStep -; 531e -Movement_step_left: ; 531e +Movement_step_left: ld a, STEP_WALK << 2 | LEFT jp NormalStep -; 5323 -Movement_step_right: ; 5323 +Movement_step_right: ld a, STEP_WALK << 2 | RIGHT jp NormalStep -; 5328 -Movement_big_step_down: ; 5328 +Movement_big_step_down: ld a, STEP_BIKE << 2 | DOWN jp NormalStep -; 532d -Movement_big_step_up: ; 532d +Movement_big_step_up: ld a, STEP_BIKE << 2 | UP jp NormalStep -; 5332 -Movement_big_step_left: ; 5332 +Movement_big_step_left: ld a, STEP_BIKE << 2 | LEFT jp NormalStep -; 5337 -Movement_big_step_right: ; 5337 +Movement_big_step_right: ld a, STEP_BIKE << 2 | RIGHT jp NormalStep -; 533c - -Movement_turn_away_down: ; 533c +Movement_turn_away_down: ld a, STEP_SLOW << 2 | DOWN jp TurningStep -; 5341 -Movement_turn_away_up: ; 5341 +Movement_turn_away_up: ld a, STEP_SLOW << 2 | UP jp TurningStep -; 5346 -Movement_turn_away_left: ; 5346 +Movement_turn_away_left: ld a, STEP_SLOW << 2 | LEFT jp TurningStep -; 534b -Movement_turn_away_right: ; 534b +Movement_turn_away_right: ld a, STEP_SLOW << 2 | RIGHT jp TurningStep -; 5350 -Movement_turn_in_down: ; 5350 +Movement_turn_in_down: ld a, STEP_WALK << 2 | DOWN jp TurningStep -; 5355 -Movement_turn_in_up: ; 5355 +Movement_turn_in_up: ld a, STEP_WALK << 2 | UP jp TurningStep -; 535a -Movement_turn_in_left: ; 535a +Movement_turn_in_left: ld a, STEP_WALK << 2 | LEFT jp TurningStep -; 535f -Movement_turn_in_right: ; 535f +Movement_turn_in_right: ld a, STEP_WALK << 2 | RIGHT jp TurningStep -; 5364 -Movement_turn_waterfall_down: ; 5364 +Movement_turn_waterfall_down: ld a, STEP_BIKE << 2 | DOWN jp TurningStep -; 5369 -Movement_turn_waterfall_up: ; 5369 +Movement_turn_waterfall_up: ld a, STEP_BIKE << 2 | UP jp TurningStep -; 536e -Movement_turn_waterfall_left: ; 536e +Movement_turn_waterfall_left: ld a, STEP_BIKE << 2 | LEFT jp TurningStep -; 5373 -Movement_turn_waterfall_right: ; 5373 +Movement_turn_waterfall_right: ld a, STEP_BIKE << 2 | RIGHT jp TurningStep -; 5378 - -Movement_slow_slide_step_down: ; 5378 +Movement_slow_slide_step_down: ld a, STEP_SLOW << 2 | DOWN jp SlideStep -; 537d -Movement_slow_slide_step_up: ; 537d +Movement_slow_slide_step_up: ld a, STEP_SLOW << 2 | UP jp SlideStep -; 5382 -Movement_slow_slide_step_left: ; 5382 +Movement_slow_slide_step_left: ld a, STEP_SLOW << 2 | LEFT jp SlideStep -; 5387 -Movement_slow_slide_step_right: ; 5387 +Movement_slow_slide_step_right: ld a, STEP_SLOW << 2 | RIGHT jp SlideStep -; 538c -Movement_slide_step_down: ; 538c +Movement_slide_step_down: ld a, STEP_WALK << 2 | DOWN jp SlideStep -; 5391 -Movement_slide_step_up: ; 5391 +Movement_slide_step_up: ld a, STEP_WALK << 2 | UP jp SlideStep -; 5396 -Movement_slide_step_left: ; 5396 +Movement_slide_step_left: ld a, STEP_WALK << 2 | LEFT jp SlideStep -; 539b -Movement_slide_step_right: ; 539b +Movement_slide_step_right: ld a, STEP_WALK << 2 | RIGHT jp SlideStep -; 53a0 -Movement_fast_slide_step_down: ; 53a0 +Movement_fast_slide_step_down: ld a, STEP_BIKE << 2 | DOWN jp SlideStep -; 53a5 -Movement_fast_slide_step_up: ; 53a5 +Movement_fast_slide_step_up: ld a, STEP_BIKE << 2 | UP jp SlideStep -; 53aa -Movement_fast_slide_step_left: ; 53aa +Movement_fast_slide_step_left: ld a, STEP_BIKE << 2 | LEFT jp SlideStep -; 53af -Movement_fast_slide_step_right: ; 53af +Movement_fast_slide_step_right: ld a, STEP_BIKE << 2 | RIGHT jp SlideStep -; 53b4 - -Movement_slow_jump_step_down: ; 53b4 +Movement_slow_jump_step_down: ld a, STEP_SLOW << 2 | DOWN jp JumpStep -; 53b9 -Movement_slow_jump_step_up: ; 53b9 +Movement_slow_jump_step_up: ld a, STEP_SLOW << 2 | UP jp JumpStep -; 53be -Movement_slow_jump_step_left: ; 53be +Movement_slow_jump_step_left: ld a, STEP_SLOW << 2 | LEFT jp JumpStep -; 53c3 -Movement_slow_jump_step_right: ; 53c3 +Movement_slow_jump_step_right: ld a, STEP_SLOW << 2 | RIGHT jp JumpStep -; 53c8 -Movement_jump_step_down: ; 53c8 +Movement_jump_step_down: ld a, STEP_WALK << 2 | DOWN jp JumpStep -; 53cd -Movement_jump_step_up: ; 53cd +Movement_jump_step_up: ld a, STEP_WALK << 2 | UP jp JumpStep -; 53d2 -Movement_jump_step_left: ; 53d2 +Movement_jump_step_left: ld a, STEP_WALK << 2 | LEFT jp JumpStep -; 53d7 -Movement_jump_step_right: ; 53d7 +Movement_jump_step_right: ld a, STEP_WALK << 2 | RIGHT jp JumpStep -; 53dc -Movement_fast_jump_step_down: ; 53dc +Movement_fast_jump_step_down: ld a, STEP_BIKE << 2 | DOWN jp JumpStep -; 53e1 -Movement_fast_jump_step_up: ; 53e1 +Movement_fast_jump_step_up: ld a, STEP_BIKE << 2 | UP jp JumpStep -; 53e6 -Movement_fast_jump_step_left: ; 53e6 +Movement_fast_jump_step_left: ld a, STEP_BIKE << 2 | LEFT jp JumpStep -; 53eb -Movement_fast_jump_step_right: ; 53eb +Movement_fast_jump_step_right: ld a, STEP_BIKE << 2 | RIGHT jp JumpStep -; 53f0 - -Movement_turn_step_down: ; 53f0 +Movement_turn_step_down: ld a, OW_DOWN jr TurnStep -Movement_turn_step_up: ; 53f4 +Movement_turn_step_up: ld a, OW_UP jr TurnStep -Movement_turn_step_left: ; 53f8 +Movement_turn_step_left: ld a, OW_LEFT jr TurnStep -Movement_turn_step_right: ; 53fc +Movement_turn_step_right: ld a, OW_RIGHT jr TurnStep -TurnStep: ; 5400 +TurnStep: ld hl, OBJECT_1D ; new facing add hl, bc ld [hl], a @@ -739,9 +658,8 @@ TurnStep: ; 5400 add hl, bc ld [hl], STEP_TYPE_HALF_STEP ret -; 5412 -NormalStep: ; 5412 +NormalStep: call InitStep call UpdateTallGrassFlags ld hl, OBJECT_ACTION @@ -776,9 +694,8 @@ NormalStep: ; 5412 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 5446 -TurningStep: ; 5446 +TurningStep: call InitStep call UpdateTallGrassFlags @@ -801,10 +718,8 @@ TurningStep: ; 5446 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 5468 - -SlideStep: ; 5468 +SlideStep: call InitStep call UpdateTallGrassFlags @@ -827,10 +742,8 @@ SlideStep: ; 5468 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 548a - -JumpStep: ; 548a +JumpStep: call InitStep ld hl, OBJECT_1F add hl, bc @@ -838,7 +751,7 @@ JumpStep: ; 548a ld hl, OBJECT_FLAGS2 add hl, bc - res OVERHEAD, [hl] + res OVERHEAD_F, [hl] ld hl, OBJECT_ACTION add hl, bc @@ -861,4 +774,3 @@ JumpStep: ; 548a add hl, bc ld [hl], STEP_TYPE_PLAYER_JUMP ret -; 54b8 |