git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9062 c06c8d41-db1a-0410-9941-cceddc491573
GB6I56TVUTBXQPQO22VRKEDGYQQNOVRCT5XI656ZKMCX2E2GQHHQC
IXWJ54CASZWYHSTDOU3TRQS2DSF4MKBRPO4VZYLE72JL5RD22O2AC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
W54GZBNFKPOF6DTOVK73PVASTQI5DXG42WQ6CXFDPXHFZOHUVVSQC
MV5USMLTBKVRWBAD67UFJ2BS4Y5HEOMYASRSB44DS24BBMRP75RQC
34LSODHJVOGATMHLJN67YGGWOV2PYDGAY3OAZGCU6J2ESULN6S3QC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
3SQQ4MM6YO4I37CQ6GIBIX6BXAEVHNVNHPVMR3PPBBNO454D6XWQC
// Convenience struct for holding mouse location on screen.
struct cursor_loc
{
cursor_loc() { reset(); }
void reset() { reg = NULL; cx = cy = -1; }
bool operator==(const cursor_loc &rhs) const
{
return (rhs.reg == reg
&& rhs.cx == cx
&& rhs.cy == cy
&& reg);
}
Region *reg;
int cx, cy;
};
bool show_tooltip = ((ticks - m_last_tick_moved
> (unsigned int)Options.tile_tooltip_ms)
&& ticks > m_last_tick_moved);
bool timeout = ((ticks - m_last_tick_moved
> (unsigned int)Options.tile_tooltip_ms)
&& ticks > m_last_tick_moved);
if (timeout)
tip_loc = cur_loc;
}
void TilesFramework::add_text_tag(text_tag_type type, const monsters* mon)
{
// HACK. Names cover up pan demons in a weird way.
if (mon->type == MONS_PANDEMONIUM_DEMON)
return;
const coord_def &gc = mon->pos();
if (mon->type == MONS_PLAYER_GHOST)
{
// Beautification hack. "Foo's ghost" is a little bit
// verbose as a tag. "Foo" on its own should be sufficient.
tiles.add_text_tag(TAG_NAMED_MONSTER, mon->mname, gc);
}
else
{
tiles.add_text_tag(TAG_NAMED_MONSTER, mon->name(DESC_PLAIN), gc);
}
if (mon->type == MONS_PLAYER_GHOST)
{
// Beautification hack. "Foo's ghost" is a little bit
// verbose as a tag. "Foo" on its own should be sufficient.
tiles.add_text_tag(TAG_NAMED_MONSTER, mon->mname, gc);
}
else
{
tiles.add_text_tag(TAG_NAMED_MONSTER, mon->name(DESC_PLAIN), gc);
}
tiles.add_text_tag(TAG_NAMED_MONSTER, mon);