tie ability descriptions into the menu. Still haven't worked out how to update the titles, though. :(
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9412 c06c8d41-db1a-0410-9941-cceddc491573
6QVMISKCQYTVHBH2YZLOE77I72NIVUQN2D7ACECQ5TYMVC72LAWQC 2H6MSLB3SR42LG524K2QHJVCZ747RHAKI3VHFVTQ2K7X2LSOIEDQC RXZRRWQZH7H3E66ENDI6WTSDDTC5F7MDGIMZTEDYDE4YCUQN4CSAC N6J4ANT3WFBQYTFDPZFVF2PWS2S7CK4GHHX4UV3JW4VWAKETZR5AC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC 3TNMXC6XG723NP5RJDQS3ONETVCXPTZXOG3YTDFT2JKKGLCYL7WAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC 3NUVKRHPHENI7JNHDDIHZ4FESSZ2Z5XJZVB56ZCXPGMP7O3JCM3QC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC GACH6PWPGGUBEE7PFEPQMOZKSR7HTQGL2WLGF2AQPJD3FCCSKZNQC B7EE54F23AM4BECQ7GENNC4MHIPH6YVMOXOGZAQUZJKDJYGL7RAQC T3454DDD7P4UHQZFDSNXC5DDWW3OXPPEDZ3SWNA3ZM3Y2MKX2FAQC YH23OR26YDA6C5K74QRWHROMTPGRNZHTHE4HJGPC3JVNAJ62CHGAC 2PAHDAPDO6PN4FNGB5N7CQNEGHSE3NOGPXYZMIAOJC4VW34FRVOAC 6NF5UR6BR6OBG62NDZPT3OMKYDT2MJ4AEF6QD4QUKWHNW2ZHAK2AC 7NFVYCNQ54IN77PF334ADAF4YQT6LEABMAIZF4Y4BH5C3CYXYQGQC 65CM2EZCAFFBWLAYZ7ALBV3BQKNZCYOHYIFY46KU7BZL3LHV36JAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC MK7MCWBPFRJSUWVXZ43LPFJ5Y2AYZZCREDYBT7AWJUMTQ2ET5AZQC JC6BEAFXLIHKITKL2AGBLHMJKMFDUWAWGJU2KPQTLSRCKN43B2UQC SDUJUWFGTAF5BRRN3RDR6LODH4PBZNSDB2AREGNTQLQTGF5SN3CQC WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC OEHJJ5X5CBOHTXISZLJHVLCAPH77RYSVKKBGW3US2GGXZMZJ5CEQC UXAXAS5XM2C2X7B77JUZXDD4TL7UATYMUJBPK4J7PPAFLAMCG7MQC 2N5AKUYV6EUUT254C47WSHZKD7FGN65JKJ3RCKSDP74XJIHIFMDQC YQ5IYBHW2ICYKOC2M6CI5BNOZKST3DIMMZRQN72LUQCHDAPVYQCQC J75GZPQLMV3NRQ6KP7FXHZXJ63L62NFGVNPVK7XFM65XLFQP5CUQC QXD3HX6QQ37PW6HVKIIKGFLO2ACROLUGKK66KFX7ED6SO4FDXB2AC "<lightgrey> [<w>a-z</w>: %s <w>?</w>: change action <w>/</w>: change sort]",menu_action == ACT_TRAVEL ? "travel" : "examine");
"<lightgrey> [<w>a-z</w>: %s <w>?</w>/<w>!</w>: change action <w>/</w>: change sort]",menu_action == ACT_EXECUTE ? "travel" : "examine");
if (key == '?'){sel.clear();menu_action = (action)((menu_action+1) % ACT_NUM);update_title();return (true);}else if (key == '/')
if (key == '/')
bool draw_title_suffix( const std::string &s, bool titlefirst = true );bool draw_title_suffix( const formatted_string &fs, bool titlefirst = true );
bool draw_title_suffix(const std::string &s, bool titlefirst = true);bool draw_title_suffix(const formatted_string &fs, bool titlefirst = true);
: f_selitem(NULL), f_drawitem(NULL), f_keyfilter(NULL), title(NULL),flags(_flags), tag(tagname), first_entry(0), y_offset(0),pagesize(0), max_pagesize(0), more("-more-", true), items(),sel(), select_filter(), highlighter(new MenuHighlighter), num(-1),lastch(0), alive(false), last_selected(-1)
: f_selitem(NULL), f_drawitem(NULL), f_keyfilter(NULL), allow_toggle(false),menu_action(ACT_EXAMINE), title(NULL), flags(_flags), tag(tagname),first_entry(0), y_offset(0), pagesize(0), max_pagesize(0),more("-more-", true), items(), sel(), select_filter(),highlighter(new MenuHighlighter), num(-1), lastch(0), alive(false),last_selected(-1)
else if (key == '!'){sel.clear();menu_action = (action)((menu_action+1) % ACT_NUM);update_title();return (true);}
}}else if (keyin == '!'){while (true){selected = choose_ability_menu(talents, true);if (selected == -1){canned_msg( MSG_OK );return (false);}_print_talent_description(talents[selected]);
abil_menu.set_more(formatted_string::parse_string("Choose any ability to read its description, ""or exit the menu with Escape."));abil_menu.set_flags(MF_SINGLESELECT | MF_ANYPRINTABLE |MF_ALWAYS_SHOW_MORE);}else if (Options.tutorial_left){
abil_menu.set_flags(MF_SINGLESELECT | MF_ANYPRINTABLE |MF_ALWAYS_SHOW_MORE);
}else if (describe){abil_menu.set_more(formatted_string::parse_string("Choose any ability to read its description, ""or exit the menu with Escape."));}else{abil_menu.set_more(formatted_string::parse_string("Press '<w>!</w>' or '<w>?</w>' to toggle ""between ability selection and description."));
std::vector<MenuEntry*> sel = abil_menu.show(false);redraw_screen();if (sel.empty())
while (true)
return (*(reinterpret_cast<int*>(sel[0]->data)));
int selected = *(reinterpret_cast<int*>(sel[0]->data));if (abil_menu.menu_action == Menu::ACT_EXAMINE)_print_talent_description(talents[selected]);elsereturn (*(reinterpret_cast<int*>(sel[0]->data)));