From 55d5736219e39edcf1976aa6ac909a64e7104cf1 Mon Sep 17 00:00:00 2001 From: haranp Date: Wed, 4 Feb 2009 17:32:00 +0000 Subject: Move a bit more things to use coord_defs and iterators instead of x,y. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8892 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/tilepick.cc | 8 ++--- crawl-ref/source/view.cc | 84 +++++++++++++++++++++----------------------- crawl-ref/source/view.h | 4 +++ 3 files changed, 48 insertions(+), 48 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index 8677a17473..a034c7f3e2 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -82,10 +82,10 @@ int tile_unseen_flag(const coord_def& gc) { if (!map_bounds(gc)) return TILE_FLAG_UNSEEN; - else if (is_terrain_known(gc.x,gc.y) - && !is_terrain_seen(gc.x,gc.y) - || is_envmap_detected_item(gc.x,gc.y) - || is_envmap_detected_mons(gc.x,gc.y)) + else if (is_terrain_known(gc) + && !is_terrain_seen(gc) + || is_envmap_detected_item(gc) + || is_envmap_detected_mons(gc)) { return TILE_FLAG_MM_UNSEEN; } diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 3f99e2fbfb..cc58ba7711 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -767,63 +767,59 @@ screen_buffer_t colour_code_map( const coord_def& p, bool item_colour, int count_detected_mons() { int count = 0; - for (int y = Y_BOUND_1; y <= Y_BOUND_2; ++y) - for (int x = X_BOUND_1; x <= X_BOUND_2; ++x) - { - // Don't expose new dug out areas: - // Note: assumptions are being made here about how - // terrain can change (eg it used to be solid, and - // thus monster/item free). - if (is_terrain_changed(x, y)) - continue; - - if (is_envmap_detected_mons(x, y)) - count++; - } + for (rectangle_iterator ri(BOUNDARY_BORDER - 1); ri; ++ri) + { + // Don't expose new dug out areas: + // Note: assumptions are being made here about how + // terrain can change (eg it used to be solid, and + // thus monster/item free). + if (is_terrain_changed(*ri)) + continue; + + if (is_envmap_detected_mons(*ri)) + count++; + } return (count); } void clear_map(bool clear_detected_items, bool clear_detected_monsters) { - for (int y = Y_BOUND_1; y <= Y_BOUND_2; ++y) - for (int x = X_BOUND_1; x <= X_BOUND_2; ++x) - { - // FIXME convert to using p everywhere. - const coord_def p(x,y); - // Don't expose new dug out areas: - // Note: assumptions are being made here about how - // terrain can change (eg it used to be solid, and - // thus monster/item free). - - // This reasoning doesn't make sense when it comes to *clearing* - // the map! (jpeg) - - unsigned envc = get_envmap_char(x, y); - if (!envc) - continue; + for (rectangle_iterator ri(BOUNDARY_BORDER - 1); ri; ++ri) + { + const coord_def p = *ri; + // Don't expose new dug out areas: + // Note: assumptions are being made here about how + // terrain can change (eg it used to be solid, and + // thus monster/item free). - if (is_envmap_item(x, y)) - continue; + // This reasoning doesn't make sense when it comes to *clearing* + // the map! (jpeg) - if (!clear_detected_items && is_envmap_detected_item(x, y)) - continue; + if (get_envmap_char(p) == 0) + continue; - if (!clear_detected_monsters && is_envmap_detected_mons(x, y)) - continue; + if (is_envmap_item(p)) + continue; - set_envmap_obj(p, is_terrain_known(p)? grd(p) : 0); - set_envmap_detected_mons(x, y, false); - set_envmap_detected_item(x, y, false); + if (!clear_detected_items && is_envmap_detected_item(p)) + continue; + + if (!clear_detected_monsters && is_envmap_detected_mons(p)) + continue; + + set_envmap_obj(p, is_terrain_known(p)? grd(p) : 0); + set_envmap_detected_mons(p, false); + set_envmap_detected_item(p, false); #ifdef USE_TILE - set_envmap_obj(p, is_terrain_known(p)? grd(p) : 0); - env.tile_bk_fg[x][y] = 0; - env.tile_bk_bg[x][y] = is_terrain_known(p) ? - tile_idx_unseen_terrain(x, y, grd[x][y]) : - tileidx_feature(DNGN_UNSEEN, x, y); + set_envmap_obj(p, is_terrain_known(p)? grd(p) : 0); + env.tile_bk_fg(p) = 0; + env.tile_bk_bg(p) = is_terrain_known(p) ? + tile_idx_unseen_terrain(p.x, p.y, grd(p)) : + tileidx_feature(DNGN_UNSEEN, p.x, p.y); #endif - } + } } int get_mons_colour(const monsters *mons) diff --git a/crawl-ref/source/view.h b/crawl-ref/source/view.h index c544f6024b..6335c15a8c 100644 --- a/crawl-ref/source/view.h +++ b/crawl-ref/source/view.h @@ -135,6 +135,10 @@ bool is_sanctuary( const coord_def& p ); bool is_bloodcovered( const coord_def& p ); bool is_envmap_detected_item(int x, int y); +inline bool is_envmap_detected_item(const coord_def& c) { + return is_envmap_detected_item(c.x, c.y); +} + bool is_envmap_detected_mons(int x, int y); inline bool is_envmap_detected_mons(const coord_def& c) { return is_envmap_detected_mons(c.x, c.y); -- cgit v1.2.3-54-g00ecf