yet, I believe, because most calls to direction() use the default range (-1).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6739 c06c8d41-db1a-0410-9941-cceddc491573
ON7HKKWM4CRYWNI5SZKKWI5Q5MVFOPC6QVKHXX3D66G7EOZEMGWAC
class range_view_annotator
{
public:
range_view_annotator(int range) {
orig_colours.init(-1);
if ( range < 0 )
return;
for ( radius_iterator ri(you.pos(), LOS_RADIUS); ri; ++ri )
{
if (grid_is_solid(*ri) && grid_distance(you.pos(), *ri) > range)
{
orig_colours(*ri - you.pos() + coord_def(9,9)) =
env.grid_colours( *ri );
env.grid_colours(*ri) = DARKGREY;
}
}
viewwindow(true, false);
}
~range_view_annotator() {
coord_def c;
for ( c.x = 0; c.x < 19; ++c.x )
{
for ( c.y = 0; c.y < 19; ++c.y )
{
const int old_colour = orig_colours(c);
if ( old_colour != -1 )
env.grid_colours(you.pos()+c-coord_def(9,9)) = old_colour;
}
}
viewwindow(true, false);
}
private:
FixedArray<int,19,19> orig_colours;
};