|Name:||Better Bob-Omb Explosion|
|Requires Free Space:||Yes|
|Description:||This patch adds a few changes to the Bob-Omb sprite which makes its explosions look and act more in-line with later Mario titles.
--- You are able to change the design of the explosion to match the explosion used in SMW's cutscenes (the large "BOMB" text), or use SMB2's or SMB3's explosion effect. You can also add the SMB3 explosion effect on top of the SMW cutscene or SMB2 explosion effect. Additionally, you can also add the four clouds of smoke Super Mario Maker's explosions use if OAM isn't a concern for you.
--- Besides just visuals, you can remove the jank that lets Mario sometimes not get hit by the explosion and you can also force the explosion to accrue score like a thrown shell normally would.
--- Lastly, you can also configure it to destroy certain tiles -- a function available in SMB2 and Super Mario Maker.
Due to the nature of this patch -- in the way that it overwrites the default explosion code -- it will also affect any custom sprites that might transform into an exploding Bob-Omb.
|Tags:||bob-omb bomb destructable walls lorom sa-1 super mario bros 2 super mario bros 3|
|Comments:||5 (jump to comments)|
Download 10.55 KiB | 414 downloads
• Lunar Magic 3.31
• SA-1 Pack v1.40
• Asar v1.81
• Snes9x v1.60
This patch had some issues, nothing gamebreaking but notable enough that I had to fix them:
- If !JankCollision was false, the explosion would not interact with Mario at all instead of interacting for the full duration of the explosion.
- The score accrual started at 100 while SMW only implements SFX starting from 200, so the 8000 score played an incorrect sound effect. I changed the score function to start from 200.
- On SA-1, the score sprites would sometimes not show since the SA-1 remap pointers at $CC and $EE were not set up before calling the score generation routine.
- The score loop was using !SprSize instead of !SprSize-1 (it was defined as $0C and $16), which had the potential to index out of bounds. Due to the odd conditions it would require to even pass the give score checks, it was unlikely to ever cause an issue in practice, but it was an error nonetheless.
- Not really an issue at all, but the !bank define was set to $000000 on LoROM, which prevented any fastROM benefit.
Otherwise the patch seems to function as intended, so, accepted. Definitely a far more interesting implementation of the Bob-omb explosion.
Added lorom and sa-1 tags.
1) Add this entire code right above the 'Map16List:' label in 'BetterBobOmb.asm' (taken from Roy's explosion-sensitive blocks patch):
2) Add '!TrnBlk = $03' (without the quotes) under this block of code:
3) Under the 'dw BreakBlock_Smoke' in the 'DestroyAnimPtr:' label, add 'dw BreakSpinningTrnBlk' (again, without the quotes)
4) In 'BetterBobOmb_Map16.asm', add 'dw $0048 : db !TrnBlk' (again, without the quotes)
Hopefully whoever moderates this will add this code, because otherwise, it would be extremely inconsistent for the explosion to destroy a spinning turn block from a hit turn block but then somehow have it coming back.