Highly customizable bombs from Gunstar Heroes, replicating the bombs dropped by Battlesuit Morsel in JUMP½.
The bomb can be placed in level or spawned by a generator. Depending on the chosen paramenters, the bomb will explode on touch or on timer, spawning explosion blasts that hurt the player on touch.
You can customize several aspects of the bomb:
Choose between skull or "pokéball" graphics for the bomb.
Detonate the bomb when touching any of the following: player, other sprites, Mario's fireballs, solid ground.
Detonate the bomb when a timer goes off (you can customize the timer). A bomb on a timer blinks (alternates palette).
You can set initial X and Y speed. With this you can have the bomb fall with a parabolic trajectory, go up a little bit before falling, etc.
Add a parachute to the bomb. The parachute will open only when it's falling and it sets a maximum falling speed (configurable).
The hitboxes of the explosion blasts can be customized for each animation step (e.g., the blast first and last animation are smaller compared to the middle ones).
You can change the rotation speed of the blasts and their distance from the center.
Changing the graphics of this sprite is too confusing. I was unable to use it right out of the box on SA-1. For some reason, it uses SP3 for the bomb, while the explosion uses SP4. I even tweaked stuff and tried to adjust here, but I ended too frustrated and gave up.
I wish it was more intuitive tp remap its graphics.
I admit, the system I devised to control SPs is not the most intuitive, however the reason it doesn't work out of the box is because the sprite is broken with PIXI 1.42 (specifically, the explosion doesn't spawn). I made a fix some time ago, but forgot to submit it to SMW Central. I now submitted the updated version that you can find here.
Concerning SPs, make sure you modify both!gfx_offset defines in "gunstar_heroes_bomb.asm" and "gunstar_heroes_bomb_blast.asm" to have the same value, either $00 (SP3) or $80 (SP4). I hope this helps.
Removed MacOS files and edited Readme, specifically, sample codes at Part 2.5 (LDA $XXXXXX,y and STA $XXXXXX,y do not exist).
There are a few issues I noticed:
-First, the cluster blast sprite may have sprite tile issues with parts of it disappearing (you can even see it in the first screenshot). Since it doesn't use fixed OAM slots for cluster sprites and it's larger than 16x16, it uses a dynamic loop, which may get occupied by other stuff like minor extended sprites, which is why the tiles disappear (similar to cluster Cave-In Generator).
-Second, the !bomb_blink_interval define uses the game's frame counter as opposed to a custom timer, as a result its values are actually limited to the range of these values: $01,$03,$07,$0F,$1F,$3F,$7F and $FF. The default value is $04, which means it'll blink at inconsistent times.
-Lastly, and the most severe, the cluster blast's graphics will wrap around vertically.
Also, it's code could've been a bit more efficient, for example instead of doing CLC : ADC.b #!gfx_offset, you could've pre-calculated all the tiles in the table. The cluster blast may cause slowdown if there's a lot going on already (to be fair it does generate 4 cluster sprites which are basically like normal ones, using SA-1 is definitely recommended).
Last, but not least, NOTE TO USERS: If you're using PIXI versions above 1.40 (more specifically, it's updated routines), find following line:
Code
LDA.b #!blast_sprite+!ClusterOffset : XBA
And remove : XBA portion. The spawn routine is currently bugged, and this is a workaround for that, it won't be needed once PIXI 1.42 onward get accepted.
I'm not sure if the spawn routine was fixed at all, in Pixi 1.42, since the explosion didn't spawn correctly when I tested the sprite. Works fine with the workaround and Pixi 1.40, tho.
For people who thinks bombs explode/blast way slower than gunstar heroes/morsel one does with initial set, here's my custom set for explosion/blast which seems actually close to replicate that!
(For gunstar_heroes_bomb_blast.asm)
Code
!animation_duration = $04
!rotation_speed = $20
Btw, really did great job recreating those bombs, zuccha!
Comments (7)
I wish it was more intuitive tp remap its graphics.
Concerning SPs, make sure you modify both
!gfx_offset
defines in "gunstar_heroes_bomb.asm" and "gunstar_heroes_bomb_blast.asm" to have the same value, either$00
(SP3) or$80
(SP4). I hope this helps.-Lunar Magic 3.40
-PIXI 1.40
-bsnes v115
-SA-1 1.40
Removed MacOS files and edited Readme, specifically, sample codes at Part 2.5 (LDA $XXXXXX,y and STA $XXXXXX,y do not exist).
There are a few issues I noticed:
-First, the cluster blast sprite may have sprite tile issues with parts of it disappearing (you can even see it in the first screenshot). Since it doesn't use fixed OAM slots for cluster sprites and it's larger than 16x16, it uses a dynamic loop, which may get occupied by other stuff like minor extended sprites, which is why the tiles disappear (similar to cluster Cave-In Generator).
-Second, the !bomb_blink_interval define uses the game's frame counter as opposed to a custom timer, as a result its values are actually limited to the range of these values: $01,$03,$07,$0F,$1F,$3F,$7F and $FF. The default value is $04, which means it'll blink at inconsistent times.
-Lastly, and the most severe, the cluster blast's graphics will wrap around vertically.
Also, it's code could've been a bit more efficient, for example instead of doing CLC : ADC.b #!gfx_offset, you could've pre-calculated all the tiles in the table. The cluster blast may cause slowdown if there's a lot going on already (to be fair it does generate 4 cluster sprites which are basically like normal ones, using SA-1 is definitely recommended).
Last, but not least, NOTE TO USERS: If you're using PIXI versions above 1.40 (more specifically, it's updated routines), find following line:
And remove : XBA portion. The spawn routine is currently bugged, and this is a workaround for that, it won't be needed once PIXI 1.42 onward get accepted.
Once more, BTW thanks for making/recreating these, good job
(For gunstar_heroes_bomb_blast.asm)
Btw, really did great job recreating those bombs, zuccha!