Language…
11 users online:  AmperSam, Anas, Cristian Cardoso, Golden Yoshi, Hayashi Neru, mmmdoggy, MorrieTheMagpie, nonamelol1, PMH, Rauf, Sokobansolver - Guests: 244 - Bots: 457
Users: 64,795 (2,377 active)
Latest user: mathew

Ghost Floor Hole Question

In the vanilla SMW Sprite 52, the Ghost Floor Hole, was only ever located above a pit. Because of this, it seems the developers never intended the player to jump back up through the hole. I have a section in a level where I need the player to jump back up, but only through the hole and not the ground surrounding it (leaving pass-from-below blocks out of the question).

Is there a hex edit, or an ASM patch that would allow mario to pass up through the location of the hole? The blocks it passes over need to retain any Act Like settings I give them (in my case, 130) when the hole is not covering them.

A custom block that is solid, except when the sprite passes over it would be fine too if that were easier.

Thanks for any help


Sure, try this:

Code
org $03B622
	db $1A


Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Thank you Thomas, while that worked, it has caused another issue. I looked up the address you provided in the ROM Map, and the closest entry was #03B620: Height of Sprite Clippings which makes sense given the new issue that has arose. I seem to be getting clipped off any block that is 1 or 2 tiles below the ghost hole as seen in this image:



I tested this on a clean ROM just to be sure it wasn't a conflict with another patch.

I also tried changing the value to $18 / $19 / $1B without any successful results. Is this a limitation, or a fixable problem?


That would definitely be a limitation of the "simple" method, because Mario's hitbox in those kinds of one-tile spaces is pretty much right against the ceiling, and the hole's hitbox needs to stick out of the ground a bit in order for Mario to be able to touch it before hitting the ceiling first.

You could try maybe fixing it by adding some extra code to the hole sprite (something like, check if Mario is touching the bottom of the sprite and still on the ground, and don't immediately enable passing through if so). I'm not currently able to test that kind of solution, though.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Originally posted by Thomas

You could try maybe fixing it by adding some extra code to the hole sprite (something like, check if Mario is touching the bottom of the sprite and still on the ground, and don't immediately enable passing through if so). I'm not currently able to test that kind of solution, though.

Not possible to do in this method. SMW handles the ghost house floor sprite by setting a flag that disables all interaction with Mario when its set, and clearing it when he's not touching it.

Unfortunately, this means that because Mario is technically touching the sprite while it's a tile above him, he will fall through tiles he's standing on top of.

I can attempt to write a patch to make this sprite function a bit better a bit later today.



I've been away for a bit, but thank you for continuing to assist Thomas, and Sonikku, if you manage to get a patch working to help this functionality that would be great.

I had checked out the disassembled sprite to see if a fix like the one mentioned would be possible for me to achieve but with such limited ASM knowledge I wasn't entirely sure where to begin additional code.

Currently I've redesigned the room I was using such close proximity ghost hole + blocks, to be moved up 1 tile, but a patch to adjust the interaction for this design would be appreciated.