diff options
Diffstat (limited to 'crawl-ref/source/view.h')
-rw-r--r-- | crawl-ref/source/view.h | 25 |
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); |