Reduced size of Pan demon bands summoned post-Orb (cbus).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2010 c06c8d41-db1a-0410-9941-cceddc491573
L4RYVF46EQKMVOEADGRG4WMPVTQ6NNFGYMU4SHAH6XJIKWVHT77QC UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC BNP25NWD5OXPQEPLM3YJRJCRE24DH55RZKFCZPUX5NLWGOSBIYGAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC IVVTHLTTLOP5TSULXJWUSSXHOKYWVU3OWKYVK45A7RIB6V34MYQAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 7KWDC7XFNMBLSUO2HISIROBINZBX5T67LJEEXTAORXW2YZ7VWFGAC GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC 6GSPAIEMWJXYSCR5EC2WBOGYDEDR6ESIZC6TKN2FVE2CVPSHUHXAC ZJU5Z2WDMI7HN4XJ3NVTVRHIZO2CGFUQ2FSKIRJVTQG47XHNCZFQC 7X4EXGVZZP5RSNEWTE6MRLGGC4KJT45AQUKQ4VSNYWT3C7TQSLBAC TLO257LZSB6ZO36STDUEWJBO2LETXFKTFGXELA6Y4BZBVAEIIINAC FMBJCM5LJKCG326YRJGOOJU6QNWONXAHK2AB4CP4SAOHKJ5CORXQC 7Y5HSDFKA5TPLS2TWTRFMQVX6UXUDHXU5MUMXQSDFAIY4THQ3BIQC PJ7HBIWAV3H23LXGZAAD2QYJ7HMOFOIR5ZJ4U2UTHI766LOTRRWQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC AUXHSGS4EFOPZ6TVZYWNVOUDO7NYKUKE3HBKGQQWTALSVFOE3HAAC SW3RLYFNRT3IJBK6LYKHKP2J2YDU7SXQWAJZX7U6S7ICYW43OMNQC OYTCBRC7LE44EUVRZVYTOOVKQWJ6P6YE3FXTOGUTNKEMLNWPHKSQC KCHX2F3JFEWOZT3WMJVZAAQUU2QSZ5Q7RDCD7WUJ7VE65J52JFUQC 3PY3L3A4QRW3Z5Y7SHO4TMVOOP2VNCO27X2MX4DTOP2SADLBQUOAC LDGIQP4A5BWVFQWQ2MGZRM5OY45ZXNNARH4WZPLUTBJVS4CVHISQC FSD7GIK3YLZXWLEH37BU6KV3IUCFGXPQL6IZ7H65YWNRBEKDBX5AC env_clear_markers();const int nmarkers = unmarshallShort(th);for (int i = 0; i < nmarkers; ++i){if (map_marker *mark = map_marker::read_marker(th))env_add_marker(mark);}
env.markers.read(th);
// Can't change this order without breaking saves.enum map_marker_type{MAT_FEATURE, // Stock marker.MAT_LUA_MARKER,MAT_CORRUPTION_NEXUS,NUM_MAP_MARKER_TYPES,MAT_ANY};
void env_activate_markers();void env_add_marker(map_marker *);void env_remove_marker(map_marker *);void env_remove_markers_at(const coord_def &c, map_marker_type);std::vector<map_marker*> env_get_all_markers(map_marker_type = MAT_ANY);map_marker *env_find_marker(const coord_def &c, map_marker_type);map_marker *env_find_marker(map_marker_type type);std::vector<map_marker*> env_get_markers(const coord_def &c);void env_clear_markers();std::string env_property_at(const coord_def &c, map_marker_type,const std::string &key);void env_move_markers(const coord_def &from, const coord_def &to);
for (dgn_marker_map::iterator i = env.markers.begin();i != env.markers.end(); ++i)
init_from(c);}map_markers &map_markers::operator = (const map_markers &c){if (this != &c){clear();init_from(c);}return (*this);}map_markers::~map_markers(){clear();}void map_markers::init_from(const map_markers &c){for (dgn_marker_map::const_iterator i = c.markers.begin();i != c.markers.end(); ++i)
void map_markers::read(tagHeader &th){clear();const int nmarkers = unmarshallShort(th);for (int i = 0; i < nmarkers; ++i)if (map_marker *mark = map_marker::read_marker(th))add(mark);}
class map_marker;class tagHeader;class map_markers{public:map_markers();map_markers(const map_markers &);map_markers &operator = (const map_markers &);~map_markers();void activate_all();void add(map_marker *marker);void remove(map_marker *marker);void remove_markers_at(const coord_def &c, map_marker_type type = MAT_ANY);map_marker *find(const coord_def &c, map_marker_type type = MAT_ANY);map_marker *find(map_marker_type type);void move(const coord_def &from, const coord_def &to);std::vector<map_marker*> get_all(map_marker_type type = MAT_ANY);std::vector<map_marker*> get_markers_at(const coord_def &c);std::string property_at(const coord_def &c, map_marker_type type,const std::string &key);void clear();void write(tagHeader &th) const;void read(tagHeader &);private:typedef std::multimap<coord_def, map_marker *> dgn_marker_map;typedef std::pair<coord_def, map_marker *> dgn_pos_marker;void init_from(const map_markers &);private:dgn_marker_map markers;};