Language…
21 users online: Alex No,  AmperSam, Anas,  Anorakun, DanMario24YT, GiraffeKiller, Golden Yoshi, Green, Green Jerry, h.carrell, Hammerer, JikissGamer, MaffYuu, Maw, Metal-Yoshi94, playagmes169, Ray Hamilton, Rykon-V73,  StayAtHomeStegosaurus, Tulip Time Scholarship Games, Zatara - Guests: 299 - Bots: 481
Users: 64,795 (2,369 active)
Latest user: mathew

Super Mario World mushroom hitbox

First and foremost I’m new and if this is the wrong place to post this then I’m sorry and feel free to delete it or ask me to delete it. I was just playing Grand Poo World 2 and on the level Arrakis there is a section towards the end where you have to spin jump off of a pokey to hit a box with a mushroom on top. Then bounce off the pokey again to retrieve the mushroom before the next section of the level. I notice that sometimes Mario grabs the mushroom and other times he goes right through it without consuming it at all. Is There anyone who can tell me possibly why this inconsistency exists? I am running the game on canoe so could this possibly be the reason? I’m not sure where the hit box on a power up mushroom exists and how long the mushroom has to be free falling for the hit box to activate. Thank you in advance and once again I’m sorry if this is not the place for such questions but this has been baffling me for hours.
Could you post a gif of the situation? It's very difficult to help without visual guide in this case.


Sounds like he's referring to the mushroom seen here.

What you're probably seeing happen is a side effect of the way SMW actually handles hitboxes. The graphics of a sprite are usually disjoint from their actual hitbox when the sprites are moving fast, due to the order of processing. The mushroom is disjoint by a single frame, while Mario is disjoint by two frames. Here's an image showing the two's hitboxes on a frame where it looks like they *should* be touching:



When Mario is falling, his hitbox (in red) is actually way lower than his graphics, and so these two hitboxes aren't actually in contact. Combine this with the fact that Mario's max fall speed (70) is higher than sprites (64) and you end up missing the mushroom even though it looks like you should have touched.

Basically, you just need to aim higher.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
https://imgur.com/a/K9cOrVT


Sorry for the bad quality. I recorded it on my iphone through SNES classic replay. Not sure if this is an issue with canoe or what but it looks like I should be triggering the mushroom hitbox. Thanks for the help anyway, guys.
That is absurd and should not be happening.
Doing a quick look online it seems this is probably a canoe issue as it has very low compatibility compared to other emulators with numerous glitches with multiple titles including not supporting most special chips a regular SNES can use. Canoe also seems to have issues with sprite interactions within SA-1 roms, IDK is grand poo world 2 is an SA-1 rom but if it is that might be your problem.


Originally posted by Ninja Boy
IDK is grand poo world 2 is an SA-1 rom but if it is that might be your problem.

It's not, so that's not it.

What it is, however, is definitely the issue I mentioned. Don't really know what to suggest on that front though outside of just assume the mushroom is higher than it appears.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Originally posted by Thomas
Sounds like he's referring to the mushroom seen here.

What you're probably seeing happen is a side effect of the way SMW actually handles hitboxes. The graphics of a sprite are usually disjoint from their actual hitbox when the sprites are moving fast, due to the order of processing. The mushroom is disjoint by a single frame, while Mario is disjoint by two frames. Here's an image showing the two's hitboxes on a frame where it looks like they *should* be touching:



When Mario is falling, his hitbox (in red) is actually way lower than his graphics, and so these two hitboxes aren't actually in contact. Combine this with the fact that Mario's max fall speed (70) is higher than sprites (64) and you end up missing the mushroom even though it looks like you should have touched.


In the sprite's code, I assume it does the graphics display first, and then physics which handles the sprite position and movement. Meaning if a sprite moved 3 pixels to the right, it would handle the OAM code first (before actually moving the sprite), then add Xposition by 3.
Give thanks to RPG hacker for working on Asar.