What I would do is use particle studio, setup a decent fire texture and then setup a basic flickering fire emitter / smoke trail for instance.
Then you end up with a shader like this
deformvertexes move -7.347877 9.003964 544.157837 sawtooth 0 1 0.836573 0.038147
tcMod rotate 0.000000
AlphaGen wave sawtooth 1.000000 0.000000 0.836573 0.038147
rgbGen wave sawtooth 1.000000 0.000000 0.836573 0.038147
tcMod stretch sawtooth 1.000000 0.000000 0.836573 0.038147
Apart from you would have maybe 10-20 shaders for each animation / sprite and would need to model 10-20 brushes to apply the different stages of the shader to.
So in this case Smokepuff 3_1 is the first frame of the smoke animation, then it is up to you and particle studio in how many additional smoke puffs you want.
Here is a link.
It is basically the same as the UT sprite engine but without the useful UI and workflow lol.