This is a firebar with a lot of customization options set with the extra bit/extra bytes.
- Change the length
- Change the initial angle
- Fine-tune rotation speed
- Set pendulum movement (You can set the direction of gravity.)
- Set that the on/off switch reverses rotation or stops rotation
- Resize the fireballs (8x8 or 16x16)
- Move the firebar with layer 2
- Shift the place of appearance with the initial routine according to the length
Tested with: Lunar Magic 3.20, Pixi 1.2.15, SA-1 1.32, Snes9x 1.60.
This is a very cool sprite, it basically combines the classic firebar and pendulum firebar in one and adds more customization options. It might not be super easy to use at first, due to the various parameters (bitwise and not) you have to consider but the readme is pretty clear in how to achieve all the effects. I didn't find any major issues so, accepted. A few notes for the users:
- The center fireball of the firebar doesn't actually hurt you, so make sure you always place it over a solid/hurt block.
- The layer 2 option works fine for everything that moves layer 2 using the $1466/$1468 addresses (so, most of layer 2 scrolling codes including all vanilla layer 2 scroll sprites and layer 2 codes in the uberasm section). A case in which it doesn't work is when layer 2 moves in a "parallax" fashion, where it moves depending on the camera (like, having layer 2 scroll set to variable).
- The No More Sprite Tile Limits patch is greatly suggested to use, especially if having long firebars or a lot of firebars on screen.
- The pendulum option might be a bit harder to grasp on how to make it do what you want at first, because it depends on both the pendulum speed/gravity direction and on the initial angle set in the 3rd extra byte. The sprite will always oscillate between the initial angle and its "specular" angle (if using the bottom/top setting, imagine a vertical line passing through the center, and the firebar oscillating between the two sides of the line at the same relative angles. For the left/right setting, it's the same but with a horizontal line instead. Also, this is hard to explain in words so just try it out and it should be clearer).
- I don't really get what the shifting option is for. Besides the fact that I don't think I fully understand how it works (from my experiments the firebars shifts in a certain direction when spawned depending on how long it is, but it also erases another firebar if it happens to be on the shift destination. Also the firebar will disappear if it overlaps with Mario on spawn?), but it seems to work as intended. Just, I don't see what's the point in using this when you can just change the spawn position by placing it in a different spot in the level.
Overall, very good job with this!