added faster menu selection for base game (required)
This commit is contained in:
32
src/menu.cc
32
src/menu.cc
@ -4,6 +4,7 @@
|
||||
|
||||
const int NORMAL_CNT = 5;
|
||||
const int EXTRA_CNT = 10;
|
||||
const int HOR_INCRM = 5;
|
||||
|
||||
const enum race RACES[EXTRA_CNT] = {
|
||||
rshade, rdrow, rgoblin, rvampire, rtroll,
|
||||
@ -74,7 +75,7 @@ const char *EXTRA_SCREEN =
|
||||
+-----------------------------------------------------------------------------+";
|
||||
|
||||
int menu::run(input *in) {
|
||||
size_t limit = enabled_features & FEATURE_EXTRA_STUFF ?
|
||||
int limit = enabled_features & FEATURE_EXTRA_STUFF ?
|
||||
EXTRA_CNT : NORMAL_CNT;
|
||||
|
||||
auto cmd = in->get_command();
|
||||
@ -97,6 +98,35 @@ int menu::run(input *in) {
|
||||
break;
|
||||
}
|
||||
|
||||
case move_east: {
|
||||
if (curr + HOR_INCRM < limit)
|
||||
curr += HOR_INCRM;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case move_west: {
|
||||
if (curr - HOR_INCRM >= 0)
|
||||
curr -= HOR_INCRM;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case select_shade:
|
||||
return rshade;
|
||||
|
||||
case select_drow:
|
||||
return rdrow;
|
||||
|
||||
case select_goblin:
|
||||
return rgoblin;
|
||||
|
||||
case select_troll:
|
||||
return rtroll;
|
||||
|
||||
case select_vampire:
|
||||
return rvampire;
|
||||
|
||||
case game_command_terminate:
|
||||
return -2;
|
||||
|
||||
|
Reference in New Issue
Block a user