summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.h
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/view.h')
-rw-r--r--crawl-ref/source/view.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/crawl-ref/source/view.h b/crawl-ref/source/view.h
index 3d13f5b7be..f51d6fcd7b 100644
--- a/crawl-ref/source/view.h
+++ b/crawl-ref/source/view.h
@@ -56,6 +56,11 @@ enum element_type
EC_STONE, // colour of the area's stone
EC_MIST, // colour of mist
EC_SHIMMER_BLUE, // shimmering colours of blue.
+ EC_DECAY, // colour of decay/swamp
+ EC_SILVER, // colour of silver
+ EC_GOLD, // colour of gold
+ EC_IRON, // colour of iron
+ EC_BONE, // colour of bone
EC_RANDOM // any colour (except BLACK)
};
@@ -63,6 +68,7 @@ enum element_type
void init_char_table(char_set_type set);
void init_feature_table();
+void init_monsters_seens();
/* called from: beam - fight */
void beogh_follower_convert(monsters *monster, bool orc_hit = false);
@@ -96,7 +102,7 @@ void find_features(const std::vector<coord_def>& features,
* *********************************************************************** */
void losight(FixedArray<unsigned int, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER>& sh,
FixedArray<dungeon_feature_type, GXM, GYM>& gr,
- int x_p, int y_p);
+ int x_p, int y_p, bool clear_walls_block = false);
bool magic_mapping(int map_radius, int proportion, bool suppress_msg,
@@ -115,7 +121,7 @@ void handle_monster_shouts(monsters* monster, bool force = false);
/* ***********************************************************************
* called from: acr - spells3
* *********************************************************************** */
-void show_map( FixedVector<int, 2>& spec_place, bool travel_mode );
+void show_map( coord_def &spec_place, bool travel_mode );
// last updated 19jun2000 (gdl)
/* ***********************************************************************
@@ -187,6 +193,14 @@ void add_cset_override(char_set_type set, const std::string &overrides);
bool see_grid( int grx, int gry );
inline bool see_grid(const coord_def &p) { return see_grid(p.x, p.y); }
+bool see_grid_no_trans( int grx, int gry );
+inline bool see_grid_no_trans(const coord_def &p)
+{
+ return see_grid_no_trans(p.x, p.y);
+}
+
+bool trans_wall_blocking( int grx, int gry );
+
std::string screenshot(bool fullscreen = false);
dungeon_char_type get_feature_dchar( dungeon_feature_type feat );
@@ -201,7 +215,12 @@ void fire_monster_alerts();
struct ray_def;
bool find_ray( int sourcex, int sourcey, int targetx, int targety,
bool allow_fallback, ray_def& ray, int cycle_dir = 0,
- bool find_shortest = false );
+ bool find_shortest = false, bool ignore_solid = false );
+
+int num_feats_between(int sourcex, int sourcey, int targetx, int targety,
+ dungeon_feature_type min_feat,
+ dungeon_feature_type max_feat,
+ bool exclude_endpoints = true);
dungeon_char_type dchar_by_name(const std::string &name);