CleverRaven/Cataclysm-DDA — pull request #2913 by atomicdryad (2013-09-08 18:44:26+00:00)
Title: (stable) lightmap: 1000 % speedup of clustered light sources such as infernos by eliminating redundant ray casting.

Significantly mitigates arson and lava-induced slowdown.

* map.h: added light_source_buffer[][], add_light_source(x, y, luminance)
* map::generate_lightmap: add certian light sources to buffer instead of apply_light_source,
then iterate buffer and apply_light_source. Also correct redundant item_tag searching.
* map::apply_light_source: check light_source_buffer for neighbors in each direction. If one of
>= luminance is present, skip casting light rays in that direction entirely

This has been thoroughly tested and in use for over a month.