Recently I got interested in logical operators
in ASM and decided the most simple way to express them was to directly filter a value that updates often in the game: player's x-speed. I started with a block acts like 25, but soon realised acts like 130 is even funnier to do haha.
I want to keep a memory of these blocks effect so I'll just do it here for the laughs and giggles. Thanks for your attention.
JMP MarioBelow : JMP MarioAbove : JMP MarioSide
JMP SpriteV : JMP SpriteH
JMP Cape : JMP Fireball
JMP MarioCorner : JMP MarioBody : JMP MarioHead
JMP WallFeet : JMP WallBody
!PARAM_B = $7F
!PARAM_C = $7F
AND !PARAM_B ;change to ORA or EOR
AND !PARAM_C ;change to ORA or EOR
As seen on Discord this needs more refinement since the code loads x-speed at every frame... But I don't know it's also very fun like this. So yeah
: when Mario's speed becomes 0 it goes all crazy, especially when trying to walk left. Mario begins to skate in place and doesn't fall off ledges.
: when trying to walk right Mario goes slow, when trying to walk left Mario is P-meter maxxed instantly.
: Opposes a big resistance to walking in both x-directions.