Language…
6 users online: bogaa, Cascade, cyphermur9t, lemoncat, Moronsky,  patcdr - Guests: 43 - Bots: 95
Users: 68,059 (2,155 active)
Latest user: AnthonyCShin

No Button Aliases

SMW Patches → No Button Aliases

Submission Details

Name: No Button Aliases
Author: mszegedy
Added:
Tool: Asar
Requires Free Space: No
Bug Fix: No
Featured: No
Description: The default behavior of $15 and $17 is that the A button is conflated with the B button, and the X button is conflated with the Y button. This patch rewrites the routine that sets them, at $86a8, so that it does not do this. It comes with the option to re-enable either alias. (By default, both are disabled.)

The gameplay effect for an otherwise unaltered SMW is that X no longer does the things that both X and Y do (running, cape spin, fire flower, Yoshi's tongue, confirm choices), and A no longer does the things that both A and B do (make you jump higher and fall slower, confirm choices). This is useful if you want to re-bind X or A for things that have nothing to do with what Y or B do. (This was my motivation for making this patch.)

As far as I know, this is the first patch to hijack $86a8. I don't think it will break anything.

This patch is also available on my Github here.
Tags: controller lorom player sa-1
Comments: 2 (jump to comments)
Download 646 bytes | 148 downloads

Screenshots

Comments (2)

mszegedy Author Link
Wow, thank you so much for the gif. I don't know how you did it. I'll figure it out by next time I submit a patch. And thank you for the quick approval. I will use the padbyte/pad/warn formula in the future, because I like the idea.
Burning Loaf Link
Tested with
- Lunar Magic 3.33
- Asar 1.81
- SA-1 Pack 1.40
- Mesen-S 0.4.0

Approved, added image and tags.

To your submission notes, here is a list of which tags to use when submitting a resource, a link to this page shows up when you're about to submit a patch.
As for wether you should or shouldn't NOP out unreachable data, it doesn't matter most of the time. To make sure it doesn't overflow to code beyond the routine, you could've added [padbyte $00 : pad $0086C7 : warnpc $0086C7] at the end of the code for example, but still, doesn't matter.