Implement a prototype for a new version of radius_iterator.
authorAdam Borowski <kilobyte@angband.pl>
Sun, 3 Nov 2013 20:59:02 +0000 (21:59 +0100)
committerAdam Borowski <kilobyte@angband.pl>
Tue, 5 Nov 2013 04:14:15 +0000 (05:14 +0100)
commitd339b15e38cbd685024deb0e420d3ab4c74661a0
tree929665a53d0ff0be737c4cff9b8172d7eb08e8c7
parente9ffe704a2bdd1ef3475b72759a7715bc0319f25
Implement a prototype for a new version of radius_iterator.

During conversion, use the old code.

My target will have only two types of functionality:
* iterating over a circle of a given radius
* as above, with a LOS check towards the center

The current radius_iterator/circle_def/los_base tangle either takes a
majority of CPU time or at least a sizeable chunk in profile runs, due to
a bad case of OOP abuse in tight loops.  This badly needs a rewrite.  The
ability to pass it a square or someone else's los can be done using a
different iterator or checking los manually later, respectively.
crawl-ref/source/coordit.cc
crawl-ref/source/coordit.h