(Also changed the meaning of what some of the flags do to slider_menu, the default behaviour should be unaltered.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1423 c06c8d41-db1a-0410-9941-cceddc491573
DWQDVEHZSTDVFS2GU24ZLIGJDA3M4767TB734JAQEAUVOOCLZ75AC
PR2XIEELO6UJWT3EXDHWCJZGIZCCF3D6KF6LC67R6RWWAVNWEHWAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
LEF6VQNLRIJXXWQFODNMZZZFYJXHYAXD4O5UNBHBS4RHMAVF6IFQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
IJ6KN5MQLEB7DR7NW2AYQNCVBV5IUKECUSECUMEJWOBRNJBAXHCQC
QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
if (ki == ESCAPE)
{
return (ESCAPE);
}
if (isalpha( ki ))
{
return (ki);
}
if (ki == 0)
ki = getch();
// spell power, fail rate, level
desc << std::setw(14) << spell_power_string(spell)
<< std::setw(12) << failure_rate_to_string(spell_fail(spell))
<< spell_difficulty(spell);
const char letter = index_to_letter(j);
const spell_type spell = get_spell_by_letter(letter);
char list_spells()
{
slider_menu spell_menu(MF_SINGLESELECT | MF_ANYPRINTABLE);
spell_menu.set_title(new MenuEntry(" Your Spells Type Power Success Level", MEL_TITLE));
spell_menu.set_highlighter(NULL);
anything++;
if (lines > 0)
cprintf(EOL);
lines++;
cprintf( " %c - %s", letter, spell_title( spell ) );
gotoxy(35, wherey());
already = false;
for (i = 0; i <= SPTYP_LAST_EXPONENT; i++)
{
if (spell_typematch( spell, (1 << i) ))
{
if (already)
cprintf( "/" );
cprintf( "%s", spelltype_short_name( 1 << i ) );
already = true;
}
}
char sval[16];
// 35--48 is the spell schools
gotoxy(51, wherey());
cprintf("%s", spell_power_string(spell));
//gotoxy(58, wherey());
gotoxy(65, wherey());
cprintf( "%s", failure_rate_to_string(spell_fail(spell)));
gotoxy(77, wherey());
itoa( spell_difficulty( spell ), sval, 10 );
cprintf(sval);
MenuEntry* me = new MenuEntry(spell_full_description(spell),
MEL_ITEM, 0, letter);
spell_menu.add_entry(me);
ki = getch();
if (ki >= 'A' && ki <= 'z')
{
return (ki);
}
if (ki == 0)
ki = getch();
return (anything);
return 0;
}
else
{
ASSERT(sel.size() == 1);
ASSERT(sel[0]->hotkeys.size() == 1);
return sel[0]->hotkeys[0];
nsel = 0;
if (nsel >= (int) items.size())
nsel = items.size() - 1;
{
if ( !is_set(MF_NOWRAP) )
do {
nsel += items.size();
} while ( nsel < 0 );
else
nsel = 0;
}
if (nsel >= static_cast<int>(items.size()))
{
if ( !is_set(MF_NOWRAP) )
do {
nsel -= items.size();
} while ( nsel >= static_cast<int>(items.size()) );
else
nsel = items.size() - 1;
}