Modified controls so that category and option selection is consistent

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1523 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
mcmartin
2005-02-08 08:07:26 +00:00
parent 7164b7dfd5
commit e470ed9ccd
+2 -33
View File
@@ -441,9 +441,6 @@ DoSetupMenu (PSETUP_MENU_STATE pInputState)
opt = pInputState->option; opt = pInputState->option;
if (PulsedInputState.key[KEY_MENU_UP]) if (PulsedInputState.key[KEY_MENU_UP])
{
opt -= 3;
if (opt < 0)
{ {
cat--; cat--;
if (cat < 0) if (cat < 0)
@@ -451,45 +448,22 @@ DoSetupMenu (PSETUP_MENU_STATE pInputState)
cat = NUM_OPTS-1; cat = NUM_OPTS-1;
} }
/* Preserve column if possible */ /* Preserve column if possible */
opt = (menu[cat].numopts - (menu[cat].numopts % 3)) + ((opt + 3) % 3); opt = menu[cat].selected;
if (opt >= menu[cat].numopts)
{
opt = menu[cat].numopts - 1;
}
}
} }
else if (PulsedInputState.key[KEY_MENU_DOWN]) else if (PulsedInputState.key[KEY_MENU_DOWN])
{
opt += 3;
if ((opt - (opt % 3)) >= menu[cat].numopts)
{ {
cat++; cat++;
if (cat >= NUM_OPTS) if (cat >= NUM_OPTS)
{ {
cat = 0; cat = 0;
} }
/* Preserve column if possible */ opt = menu[cat].selected;
opt = opt % 3;
if (opt >= menu[cat].numopts)
{
opt = menu[cat].numopts - 1;
}
}
else if (opt >= menu[cat].numopts)
{
opt = menu[cat].numopts - 1;
}
} }
else if (PulsedInputState.key[KEY_MENU_LEFT]) else if (PulsedInputState.key[KEY_MENU_LEFT])
{ {
opt--; opt--;
if (opt < 0) if (opt < 0)
{ {
cat--;
if (cat < 0)
{
cat = NUM_OPTS-1;
}
opt = menu[cat].numopts - 1; opt = menu[cat].numopts - 1;
} }
} }
@@ -498,11 +472,6 @@ DoSetupMenu (PSETUP_MENU_STATE pInputState)
opt++; opt++;
if (opt >= menu[cat].numopts) if (opt >= menu[cat].numopts)
{ {
cat++;
if (cat >= NUM_OPTS)
{
cat = 0;
}
opt = 0; opt = 0;
} }
} }