-
Notifications
You must be signed in to change notification settings - Fork 806
Running Shoes
Rangi edited this page Jun 25, 2018
·
11 revisions
The simplest possible way to implement Running Shoes is to double the player's walking speed, just like the Bicycle, if you're holding the B button. Don't bother to disable running indoors like Gen 3, or have a permanent toggle like Gen 4.
This is easy to do, as discovered by Victoria Lacroix. Just edit engine/overworld/player_movement.asm:
DoPlayerMovement::
...
; Downhill riding is slower when not moving down.
+ call .RunCheck
+ jr z, .fast
call .BikeCheck
jr nz, .walk
...
.fast
ld a, STEP_BIKE
call .DoStep
scf
ret
.walk
ld a, STEP_WALK
call .DoStep
scf
ret
...
.BikeCheck:
ld a, [wPlayerState]
cp PLAYER_BIKE
ret z
cp PLAYER_SKATE
ret
+
+.RunCheck:
+ ld a, [wPlayerState]
+ cp PLAYER_NORMAL
+ ret nz
+ ld a, [hJoypadDown]
+ and B_BUTTON
+ cp B_BUTTON
+ ret
That's it!
If you want Running Shoes to have a speed in-between walking and biking... that's more complicated. I'll update this tutorial if I ever figure out how to do that.