1 /** 2 * @file 3 * @brief "Overview" functionality 4 **/ 5 6 #pragma once 7 8 #include <vector> 9 10 #include "stash.h" 11 12 void overview_clear(); 13 14 void seen_notable_thing(dungeon_feature_type which_thing, const coord_def& pos); 15 bool move_notable_thing(const coord_def& orig, const coord_def& dest); 16 bool overview_knows_portal(branch_type portal); 17 int overview_knows_num_portals(dungeon_feature_type portal); 18 void display_overview(); 19 bool unnotice_feature(const level_pos &pos); 20 string overview_description_string(bool display); 21 void enter_branch(branch_type branch, level_id from); 22 void mark_corrupted_level(level_id li); 23 void seen_tracked_feature(dungeon_feature_type feat); 24 void explored_tracked_feature(dungeon_feature_type feat); 25 26 /////////////////////////////////////////////////////////// 27 void set_level_exclusion_annotation(string str, 28 level_id li = level_id::current()); 29 void clear_level_exclusion_annotation(level_id li = level_id::current()); 30 void set_unique_annotation(monster* mons, 31 const level_id level = level_id::current()); 32 void remove_unique_annotation(monster* mons); 33 34 string get_level_annotation(level_id li = level_id::current(), 35 bool skip_excl = false, bool skip_uniq = false, 36 bool use_colour = false, int colour = LIGHTRED); 37 38 bool level_annotation_has(string str, level_id li = level_id::current()); 39 40 void annotate_level(level_id li); 41 void do_annotate(); 42 void clear_level_annotations(level_id li); 43 44 class writer; 45 class reader; 46 void marshallUniqueAnnotations(writer& outf); 47 void unmarshallUniqueAnnotations(reader& inf); 48 bool connected_branch_can_exist(branch_type br); 49