About to get the FireStar
Toasting one of the sheep
Since adding in the particle-based fire effect, I've given the sort of enginey thing the capacity to set any of the free objects on fire, just by calling a Object->Flame(true) method.
When Udo gets the FireStar, he catches fire and can then fire as many fireballs as you want by hitting the Jump key again when he is in the air. They bounce quite convincingly when then collide vertically, or fizzle out when they collide with a wall horizontally or hit an enemy.
The fireballs are just alpha-blended circles with a yellow and red gradient texture, but just by setting their OnFire member to true, you get those fantastic trails across the screen.
Plus when they hit a sheep, or when you have the Fire power and you stomp the sheep, it catches fire as it falls off the screen.
I'm using the diffuse colour of the object quad to darken the object a bit when it is burning, then just randomly generating the fire particles around the object and giving them a pretty short life (they alpha-blend fade out) and an upwards velocity.
Otherwise the particles are just handled by the same mechanics as all the other objects, although they are in one of the lists that is not checked for collisions.
Works really well and the screenshots don't do it justice.
By the way, thanks to Stompy and Todo in the previous post for the input but I've decided to keep things fairly simple in terms of killing the basic enemies like the sheep. I think the game would benefit from enemies that required more lateral thinking or puzzle solving to destroy, but it also needs a healthy population of creatures you can stomp on or toast with fireballs as well.