Language…
5 users online: fanfan21, HammerBrother, Hammerbrother24, Metro Shroomin, X11Gbyte - Guests: 1,272 - Bots: 106
Users: 67,679 (2,003 active)
Latest user: Saya

Player X Speed Fix 3.1

SMW Patches → Player X Speed Fix 3.1

Submission Details

Name: Player X Speed Fix 3.1
Authors: HammerBrother, tjb0607
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: Yes
Featured: No
Description: This patch fixes 3 quirks in SMW:
-Certain X speeds cause Mario to be unable to jump (despite playing the jump sfx), this happens when being pushed very fast from an autoscroll or boost block.
-If your speed is higher than the maximum, holding forward in that direction would slow you down.
-When you're moving at the maximum speed, your speed is constantly oscillating up and down around the maximum, rather than staying constant.
You can select which fixes you'd like applied within the patch settings. The included readme details the impact to how the game plays from each fix.

3.0 update by tjb: Complete rewrite of most of the code to fix several bugs, and added options to make some fixes optional.
3.1 update by AmperSam: adds option flag for the "no jump in fast autoscroll" fix, so it can be skipped.
Tags: jump lorom oscillation sa-1 slowdown speed super fx x-speed
Comments: 20 (jump to comments)
Download 5.51 KiB | 811 downloads

Screenshots

View all

Comments (20)

Space_Pig Link
Originally posted by AmperSam
Since this patch is several "fixes" in one not all of them are suited to Kaizo indeed, but what this patch changes can be adjusted as options flags in the top of the ASM file (some of those being left enabled would be the source of that behaviour you describe).

If you're picking up this patch for Kaizo, I would recommend disabling the !FixDeceleration and !GroundDecel options but there is one that might be of interest to leave on which is the !FixOscillation option which applies the fix to make Mario's max speed a consistent value (48) instead of oscillating between 47-49 but even this is debatably needed for most Kaizo.

(The !FixNoJump option is maker's choice for whether or not you want to let Mario jump in fast autoscroller.)


Oh my bad! I think I had a super old version downloaded where some of the fixes weren't optional! my mistake
Space_Pig Link
This patch makes it so that letting go of run in midair at fast speeds no longer slows the player down! I don't recommend using it for kaizo as there are a few players that rely on feathering the run button to control their speed.
 AmperSam Link
Since this patch is several "fixes" in one not all of them are suited to Kaizo indeed, but what this patch changes can be adjusted as options flags in the top of the ASM file (some of those being left enabled would be the source of that behaviour you describe).

If you're picking up this patch for Kaizo, I would recommend disabling the !FixDeceleration and !GroundDecel options but there is one that might be of interest to leave on which is the !FixOscillation option which applies the fix to make Mario's max speed a consistent value (48) instead of oscillating between 47-49 but even this is debatably needed for most Kaizo.

(The !FixNoJump option is maker's choice for whether or not you want to let Mario jump in fast autoscroller.)
Burning Loaf Link
Tested with:
  • Mesen 2.0.0
  • Lunar Magic 3.33
  • SA-1 Pack 1.40
  • Asar 1.81

Update works as intended.
HammerBrother Author Link
Originally posted by Description
If your speed is higher than the maximum, holding forward in that direction would slow you down.


This happens in midair, because if you do hold in the direction you are going while being above maximum speed, would apply the on-ground deceleration.
SJandCharlieTheCat From older version: Player X Speed Fix 3.0 Link
Incredibly minor, but using this actually causes you to die in the vanilla title screen (due to your position after Yoshi spawns near the beginning).
HammerBrother Author From older version: Player X Speed Fix 3.0 Link
Quote
-If your speed is higher than the maximum, holding forward in that direction would slow you down.

...If you are in midair.

How this works is that when pressing left/right in midair, the game applies the same deceleration used when you are on the ground. I think this is an oversight that Nintendo programmed on how to cap the player's X speed in midair.
 RussianMan From older version: Player X Speed Fix 3.0 Link
Tested With:
Lunar Magic 3.21
Asar 1.71
SNES9X 1.60
SA-1 1.32
UberASM 1.4

Fixed a crash where if you re-insert patch with !FixOscillation disabled when holding left or right (JSL remained but not the code). Seems to work correctly otherwise.
Wyatt From older version: Player X Speed Fix 3.0 Link
Agreed with katun, this patch has been polished to the point that there are no downsides.
katun24 From older version: Player X Speed Fix 3.0 Link
Let's hope this patch becomes a standard for kaizo design.
HammerBrother Author From older version: Player X Speed Fix 2.1 Link
This patch also fixes the Oscillating speed bug if you set !GroundDecel to 0.

This is because the deceleration code is horrible. When you press left or right, both the acceleration (go from an standstill to to moving) and deceleration (this is the capping of his maximum speed) applies which is why the value kinda shakes.
Sweetdude From older version: Player X Speed Fix 2.1 Link
This patch should be a standard lol
 Blind Devil From older version: Player X Speed Fix 2.1 Link
Tested with Asar v1.71, SNES9x v1.58, in normal and SA-1 ROMs.

Works fine. Patch is up to current standards so it requires no remoderation.
HammerBrother Author From older version: Player X Speed Fix 2.1 Link
Also, in case if you are wondering, if you are fully running and let go dash while still holding left or right, mario will continue to run, and the dash timer ($13E4) will act like mario isn't running (decreases). Not a major issue though, you could possibly make it act as if the player didn't press left/right (without writing to $15-$18) by looking for a code at $00D687. Thank you for fixing it.

Also, did you use the latest version when updating it? I think I had two 2.0s while waiting. The very old one use an "ineffective" address on fixing this bug.
SkywinDragoon From older version: Player X Speed Fix 2.1 Link
Sorry for the confusion. I tried to fix a minor bug and I forgot to include the readme.
I am kind of noob in submitting stuffs.
Next time when I fix bugs, I will ask original authors.
TheBiob From older version: Player X Speed Fix 2.1 Link
Originally posted by GreenHammerBro
Um, that is already submitted.

Considering he went to that specific submission and pressed the "submit update" button I'm pretty sure he knows that this is already in the section but modified it.

It's likely the bugfix he mentioned in some comment. However, since you didn't know about that he probably didn't ask the original author. It also looks like this doesn't include the readme for some reason...
Don't know why he didn't increase the version number though
HammerBrother Author From older version: Player X Speed Fix 2.1 Link
Um, that is already submitted.
HammerBrother Author From older version: Player X speed fix 2.0 Link
Do note that if you are fully running and let go dash and still hold left or right, the player does not revert back to regular speed when you have ground deceleration turned off.
DiscoTheBat From older version: Player X speed fix 2.0 Link
It is a minor fix but still, a good way to improve SMW engine. Good work!
DiscoTheBat From older version: Player X speed fix Link
A sweet fix here, it may not find much application but it is certainly nice to have a good correction on the physics engine.