4.5.9 Better One-Way Platformer Tile

Bucket Mouse

Active member
The platformer modules in NESMaker have a one-way platformer tile. You can jump up through them, but not down. This is how the tile is written:

Code:
;;solid tile
LDA Object_v_speed_hi,x
BMI +skipMakingSolid
    LDA ObjectUpdateByte
    ORA #%00000001
    STA ObjectUpdateByte ;; makes solid
+skipMakingSolid
rts

Problem is, the tile only becomes non-solid if the player sprite is directly under it. If you approach it from the side, the sprite will crash into it.
This is because it was written wrong. The first LDA should actually be:

LDA Object_h_speed_lo,x

Make that one little correction and you can jump onto the tile from any angle.

Code:
;;solid tile
LDA Object_h_speed_lo,x
BMI +skipMakingSolid
    LDA ObjectUpdateByte
    ORA #%00000001
    STA ObjectUpdateByte ;; makes solid
+skipMakingSolid
rts
 

dale_coop

Moderator
Staff member
Nice. Thank you for sharing your script @Bucket Mouse

Also, there is another topic by @Jonny about that subject:
 
Top Bottom