Incidentally, describe.cc needs to be fixed to describe marked/stacked decks properly.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2681 c06c8d41-db1a-0410-9941-cceddc491573
PTHJX2MZO5SDSHZMZOWBUPHUEZZPNU6NQAFOC6L3IYMO7C3C4UWQC EGV2HM7SD7UQSWJGLR65NQJTUBAJ7WHLM67FMH4UFP7JRSFKREPAC H2TREER2QXNII3D6GTVASY5RVE7S7KATVKWRKOOISR5ZGOTLPFZQC 3KAINFIXO7WNWGUGZB43EUNFRS2ZPBLQZDTY456QACMRHYIJ7WDAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RR2J4VLJCZSAKY3HNS334KI4YUAPOMSETO2HGCGEEIUCUJAYAGSQC Z7SW3IKYNXMOHHD77NGXN6RGL32PZBO6AIHLJY74IRO23AIRKWMQC HZ6SBPPUHJUYFVXA6KOELY455RTBXICRJGVHTUYLHWAPV2DEOMSQC 2ESKXYN266CEMLSL6DNCKG4REDO34FXL4ODVGMWDJTNJRKMXWCRQC mesclr();mpr("Order the cards (bottom to top)...", MSGCH_PROMPT);for ( unsigned int i = 0; i < draws.size(); ++i ){msg::stream << (static_cast<char>(i + 'a')) << " - "<< card_name(draws[i]) << std::endl;}
unsigned int selected = draws.size();clrscr();gotoxy(1,1);textcolor(WHITE);cprintf("Press a digit to select a card, ""then another digit to swap it.");gotoxy(1,10);cprintf("Press Enter to accept.");
int selected = -1;while ( true ){const int keyin = tolower(get_ch());if (keyin >= 'a' && keyin < 'a' + static_cast<int>(draws.size()))
redraw_stacked_cards(draws, selected);// Hand-hacked implementation, instead of using Menu. Oh well.while (1) {const int c = getch();if ( c == CK_ENTER )
canned_msg(MSG_HUH);
const unsigned int new_selected = c - '1';if ( selected < draws.size() ){std::swap(draws[selected], draws[new_selected]);std::swap(flags[selected], flags[new_selected]);selected = draws.size();}elseselected = new_selected;redraw_stacked_cards(draws, selected);
push_top_card(deck, draws[0], flags[0]);props["num_marked"] = (char) num_to_stack;
for ( unsigned int i = 0; i < draws.size(); ++i )push_top_card(deck, draws[draws.size() - 1 - i],flags[flags.size() - 1 - i]);props["num_marked"] = static_cast<char>(num_to_stack);