Added lights and shadows.

Per-pixel line-traced shadow mapping. Works per-pixel, not per tile.

Now works with multiple lights.

Added sprites to the engine, which can be anywhere on the map, and have individual rotation/scaling along-side the map rotation/scaling. all done beneath the surface by the engine, you simply set rotation/position and the engine does the rest. Here's an example,

Sprites can now cast shadows also.

Improved the shadowing technique to eliminate any slow down caused by zooming in/out, it now remains a constant. i.e any zoom runs at the same speed as native zoom=1.0;

Here's the magic bit of the shader, just before the line tracing of the shadow map.

It even works in reverse, meaning as close up as you get the shadows don't get more blurry. but this does cost more gpu cycles.

but still, even this close up it remains non-blurry for want of a better term.