Language…
9 users online: Brian94, Brutapode89, Gulaschko, Klug, Metal-Yoshi94,  Nanako, ShadowMistressYuko, TheOrangeToad, Tsquare07 - Guests: 230 - Bots: 296
Users: 64,795 (2,377 active)
Latest user: mathew

Is there a way to prevent the Mushroom Block from overwriting tiles?

I can't believe I couldn't find anything on this around the forums. If the mushroom block is placed on unsolid tiles, (Ex: 025,100,106, etc) It'll completely overwrite it. This can result in getting rid of platforms, cut off and deleting decoration or background tiles.

What would be the way to impliment a fix that makes it act more like its SMB2 counterpart? Here's some screenshots I took for examples.

Example 1:


Here the block sits on top of this cloud that's an otherwise fall through tile on layer 1. (Let's pretend this cloud is on ground level) If I placed the mushroom block sprite over this in SMW, it wouldn't sit on top of the cloud and it would just overwrite it with a blank tile.

Example 2:


In this picture, I wouldn't be allowed to put the mushroom block down, in SMW, if I put the block down, again the vine would be overwritten with a blank block.

Example 3:


If I just had decorations in the foreground then placing the mushroom block would once again result in it being replaced with a blank block, or if its more than 1 tile high, cutoff. Instead the mushroom block here would float above said tile.

So basically the point is, can the sprite and block combo be made to mimic this behavior better, and how hard would it be to do so?
To my knowledge, there's no good fix for that. The way that the mushroom block in SMW works is that the sprite generates the block at its current position, and the game isn't equipped to track multiple blocks in a single layer at once (This isn't just SMW, an unused musroom block in SMA4 has the same problem; see it around the three minute mark here)

If you wanted to accurately emulate the SMB2 mushroom block, you'd have to use a sprite. The problem with this is that you'd get slowdown very quickly as those blocks come onscreen. I'm not sure how SMB2 did it.

The last option is to make your level entirely on level 2. You'd lose background (unless you made it with layer 3), but the mushroom block wouldn't overwrite anything.
Originally posted by Poloros

If you wanted to accurately emulate the SMB2 mushroom block, you'd have to use a sprite.


Already thought about doing that but it'd be inefficient, and like you said easily can cause slowdown with the amount of sprites on screen. It just seems to be if All Stars can pull that off and not have any problems it should be possible here, unless of course it has the do with the way SMW handles blocks and layers entirely. I do know SMW is quite poorly coded so it wouldn't surprise me.

Also I don't think they'd be able to stack up in sprite form as well which is another problem.
I've never really been all that sure why Mushroom Block sprites can't just use some free RAM to remember what they replaced as a block and respawn that block once they turn back into a sprite.

[?] Miscellaneous Helpful Hints
If I moderated your hack, there was apparently a 90 percent chance it was rejected.
I actually made a mushroom block like that once, years ago (although it was limited to one mushroom block per level because I didn't know how to use tables), so I'm not sure either why nobody made a better one yet, considering even my shitty coding skills seem to suffice.
Your layout has been removed.