/* * File: view.cc * Summary: Misc function used to render the dungeon. * Written by: Linley Henzell * * Modified for Crawl Reference by $Author$ on $Date$ * * Change History (most recent first): * * <2> 9/29/99 BCR Added the BORDER_COLOR define * <1> -/--/-- LRH Created */ #ifndef VIEW_H #define VIEW_H #include "externs.h" #define BORDER_COLOR BROWN void init_char_table(char_set_type set); void init_feature_table(); /* *********************************************************************** * called from: dump_screenshot - chardump * *********************************************************************** */ void get_non_ibm_symbol(unsigned int object, unsigned short *ch, unsigned short *color); // last updated 29may2000 {dlb} /* *********************************************************************** * called from: bang - beam - direct - effects - fight - monstuff - * mstuff2 - spells1 - spells2 * *********************************************************************** */ bool mons_near(const monsters *monster, unsigned int foe = MHITYOU); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: acr - player - stuff * *********************************************************************** */ void draw_border(void); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: acr - view * *********************************************************************** */ void item(void); void find_features(const std::vector& features, unsigned char feature, std::vector *found); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: direct - monstufff - view * *********************************************************************** */ void losight(FixedArray& sh, FixedArray& gr, int x_p, int y_p); bool magic_mapping(int map_radius, int proportion, bool force = false); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: acr - effects - it_use2 - it_use3 - item_use - spell - * spells - spells3 - spells4 * *********************************************************************** */ bool noisy( int loudness, int nois_x, int nois_y, const char *msg = NULL ); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: acr - spells3 * *********************************************************************** */ void show_map( FixedVector& spec_place, bool travel_mode ); // last updated 19jun2000 (gdl) /* *********************************************************************** * called from: acr view * *********************************************************************** */ void setLOSRadius(int newLR); // last updated 02apr2001 (gdl) /* *********************************************************************** * called from: view monstuff * *********************************************************************** */ bool check_awaken(monsters* monster); void clear_map(bool clear_items = true, bool clear_mons = true); bool is_feature(int feature, int x, int y); void get_item_glyph(const item_def *item, unsigned *glych, unsigned short *glycol); void get_mons_glyph(const monsters *mons, unsigned *glych, unsigned short *glycol); unsigned get_screen_glyph( int x, int y ); std::string stringize_glyph(unsigned glyph); int multibyte_strlen(const std::string &s); void get_item_symbol(unsigned int object, unsigned *ch, unsigned short *colour); // Applies EC_ colour substitutions and brands. unsigned real_colour(unsigned raw_colour); void set_envmap_obj( int x, int y, int object ); unsigned get_envmap_char(int x, int y); int get_envmap_obj(int x, int y); void set_envmap_detected_item(int x, int y, bool detected = true); void set_envmap_detected_mons(int x, int y, bool detected = true); void set_envmap_col( int x, int y, int colour, int flags ); void set_envmap_col( int x, int y, int colour ); bool is_envmap_detected_item(int x, int y); bool is_envmap_detected_mons(int x, int y); void set_terrain_mapped( int x, int y ); void set_terrain_seen( int x, int y ); bool is_terrain_known( int x, int y ); bool is_terrain_seen( int x, int y ); bool is_terrain_changed( int x, int y ); bool is_terrain_known(const coord_def &p); inline bool is_terrain_seen(const coord_def &c) { return (is_terrain_seen(c.x, c.y)); } void clear_feature_overrides(); void add_feature_override(const std::string &text); void clear_cset_overrides(); 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); } std::string screenshot(bool fullscreen = false); unsigned get_sightmap_char(int feature); unsigned get_magicmap_char(int feature); bool view_update(); void view_update_at(const coord_def &pos); void viewwindow(bool draw_it, bool do_updates); void fire_monster_alerts(); 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 ); dungeon_char_type dchar_by_name(const std::string &name); void handle_terminal_resize(bool redraw = true); #if defined(WIN32CONSOLE) || defined(DOS) unsigned short dos_brand( unsigned short colour, unsigned brand = CHATTR_REVERSE); #endif #endif