A block which shatters on contact when the player is performing the "Wario Dash", to be used in conjunction with the Wario Dash UberASM here https://www.smwcentral.net/?p=section&a=details&id=19515
Block requested by Galactic Spear in the new Requests section.
While the block does what it's intended to do, it's very unoptimized and not ready for acceptance, although fixing it should be easy.
For starters, it's not SA-1 compatible, but it can be made so easily by adding "|!addr" to $1DFD.
The act as listed in the submission is wrong, as it should be 25 to make it work like shown in the gif: using 130 will stop Mario every time he breaks one of the blocks (although this can be used for blocks that are "harder to break").
Speaking of optimization, the code that sets the acts as to 130 is repeated 3 times, so you can remove the two redundant parts and move all the labels that should run that code before it. Same goes for the code that checks for the Wario Dash address, which is repeated twice. Also, the "CMP #$00" there can be removed as well, since it's right after an LDA instruction which already sets the Z flag. You can also remove the WallFeet and WallBody labels and change "db $37" to "db $42", since they're not used, to save some additional space (additionally, currently there's no RTL after those labels, so the game will crash when wallrunning on this block).
Finally, a small improvement can be to add a define for the Wario Dash ram, so the user can easily change it in case they also edited the freeram in the UberASM.