Problems with Torch effect

I'm trying to implement a torch effect in my game, similar to what's in L4D, so it's as if the player is shining it in front of them.  (I'm talking about an electric torch BTW, not a D&D style thing). 

I've got my spotlight working, but as I read elsewhere, only one calculation is made per triangle, so the effect isn't very good as my walls are made of very few quads (to save processing time) so the effect is very "blocky".  Here's a screenshot to show the problem - the light should be circular it's it's originating from the camera.  Is there an easy way to fix this, rather than split my walls up into lots of tri's?

maybe you can use a projected texture to simulate a spotlight

I thought about that, but I'm not sure it would look that good.  With a "real" torch, the size of the circle would depend on how far away the surface (or multiple surfaces) are.  Also, if the wall was at an angle to the torch, the circle would be more oval.  I don't think either of these would be possible with a simple circular texture.  Unless I've misunderstood you?

Take a look at TestProjectedTexture.

The Texture will be projected onto the surface, so it will appear oval if pointed at a wall from an angle.

Or you can try using a shader (which i'm not comfortable with)