git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6691 c06c8d41-db1a-0410-9941-cceddc491573
PEZFWKRHDHV4UJTPK5XJZ3CGTZ3LPTDYSPTYBENLQ7VRSP7YFSIQC TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC 33QMQXTWFPR4LUBHEWTFGR74L5QJJDQTT5JZRBFTPDQBPXIHQIUQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC OOFJ4IAVGB6DAUN2AWJBKMFKR7NCE5PCFF5IURV6L5TJYK6CHTHAC 75M6AVUSS3G5EJECJJRB67V5UYDOIV26FZNB2FFCMBZ33EK7FVIQC CVC5FFFLGVRR3KPYDNB6RF4FNACV3LI3HPSR4MCUNZ4C3FSQYBDAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC EOMCPVNQLX3IMLC46EAO67DPBH5KEG2FQTPBLGU62HIRWA3UQ7XQC PL6I2CMSTHY5ZHWVMIQE5YTM5S5VPKBNZM6QJVHZSSKOJGIJ5W4AC WT66JDIRTLLP37SHTV4GI3V64JFJ4D25LNRLGCHFG6CLEFKJ3QGQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC QON6K747RDVN55UTIJWNGIIGSDS7IHKB24JMHWSIMAQ572D7C3NAC TZLAHS2FQGDWDAO6OQFZIZALQCCRTCRBJZBNZFNQ4G7D5UYAIFQAC LVCBY444HPB4RRFMUAZPHVZ67IC3L6DB27AEMCW3DEXHLBF73TMQC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC LE6H6TP2M6KXREJG245JAKDNN6GKT6QSIZ5FJTLV3NYYX5GFKBCAC MFONX2CQ4V7HA5NSD6P5NDDBXYDSKIOCYUKRZXJ4ZER2OKJWT2HQC TAHSTXR7ROOMDFUSBUU4ZAIEWQLAS5CIRCTARLD4Q2BGNLSL7E5QC IIN7AVA6JYRBXH6ZYRR7BY7TV6PW7ANAQ2A3PD55FKBKKQFEEF2AC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC draw_cursor(CURSOR_TUTORIAL, TILE_TUTORIAL_CURSOR);draw_cursor(CURSOR_MOUSE, see_grid(m_cursor[CURSOR_MOUSE]) ? TILE_CURSOR: TILE_CURSOR2);if (m_cursor[CURSOR_TUTORIAL] != NO_CURSOR&& on_screen(m_cursor[CURSOR_TUTORIAL])){add_quad(TEX_DEFAULT, TILE_TUTORIAL_CURSOR,m_cursor[CURSOR_TUTORIAL].x,m_cursor[CURSOR_TUTORIAL].y);}
// TODO enne - can we handle this through tooltips// Destroying the message area is such bad behaviour.// mesclr();// terse_describe_square(gc);
if (event.event == MouseEvent::MOVE){const std::string &desc = get_terse_square_desc(gc);// Suppress floor descriptionif (desc != "floor")tiles.add_text_tag(TAG_CELL_DESC, desc, gc);}
unsigned int unmask = ~((type == CURSOR_MOUSE) ? TILE_FLAG_CURSOR :TILE_FLAG_TUT_CURSOR);unsigned int mask = (type == CURSOR_MOUSE) ? TILE_FLAG_CURSOR1 :TILE_FLAG_TUT_CURSOR;// Remove cursor from previous locationif (on_screen(m_cursor[type])){unsigned int idx = get_buffer_index(m_cursor[type]) + 1;m_tileb[idx] &= unmask;}
}// Add cursor to new locationif ((m_cursor[type] != NO_CURSOR) && on_screen(m_cursor[type])){unsigned int idx = get_buffer_index(m_cursor[type]) + 1;m_tileb[idx] &= unmask;// TODO enne - specify type of cursor in place_cursor? or determine type based on grd?m_tileb[idx] |= mask;
dungeon_feature_type grid_secret_door_appearance( const coord_def& where );bool grid_destroys_items( dungeon_feature_type grid );
dungeon_feature_type grid_secret_door_appearance(const coord_def &where);dungeon_feature_type grid_appearance(const coord_def &gc);unsigned int show_appearance(const coord_def &ep);bool grid_destroys_items(dungeon_feature_type grid);
}std::string get_terse_square_desc(const coord_def &gc){std::string desc;const char *unseen_desc = "[unseen terrain]";bool is_feature = false;if (gc == you.pos()){desc = you.your_name;}else if (!map_bounds(gc)){desc = unseen_desc;}else if (!see_grid(gc)){if (is_terrain_seen(gc)){desc = feature_description(gc, false, DESC_PLAIN, false);if (!see_grid(gc)){desc = "[" + desc + "]";}is_feature = true;}else{desc = unseen_desc;}}else if (mgrd(gc) != NON_MONSTER){const monsters &mons = menv[mgrd(gc)];if (mons_is_mimic(mons.type) && !(mons.flags & MF_KNOWN_MIMIC)){item_def item;get_mimic_item(&mons, item);desc = item.name(DESC_PLAIN);}else{desc = mons.name(DESC_PLAIN);if (mons.has_base_name()){desc += ", ";desc += mons.base_name(DESC_NOCAP_THE, false);}}}else if (igrd(gc) != NON_ITEM){desc = mitm[igrd(gc)].name(DESC_PLAIN);}else{desc = feature_description(gc, false, DESC_PLAIN, false);is_feature = true;}return desc;