mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-26 22:44:30 -04:00
save the setup menu's itemon value in the S_END element's x coordinate (#329)
This commit is contained in:
parent
f8c4863dd4
commit
324d6fd271
@ -1675,6 +1675,36 @@ boolean set_compat_active = false;
|
|||||||
static int set_menu_itemon; // which setup item is selected? // phares 3/98
|
static int set_menu_itemon; // which setup item is selected? // phares 3/98
|
||||||
setup_menu_t* current_setup_menu; // points to current setup menu table
|
setup_menu_t* current_setup_menu; // points to current setup menu table
|
||||||
|
|
||||||
|
// [FG] save the setup menu's itemon value in the S_END element's x coordinate
|
||||||
|
|
||||||
|
static int M_GetSetupMenuItemOn (void)
|
||||||
|
{
|
||||||
|
const setup_menu_t* menu = current_setup_menu;
|
||||||
|
|
||||||
|
if (menu)
|
||||||
|
{
|
||||||
|
while (!(menu->m_flags & S_END))
|
||||||
|
menu++;
|
||||||
|
|
||||||
|
return menu->m_x;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void M_SetSetupMenuItemOn (const int x)
|
||||||
|
{
|
||||||
|
setup_menu_t* menu = current_setup_menu;
|
||||||
|
|
||||||
|
if (menu)
|
||||||
|
{
|
||||||
|
while (!(menu->m_flags & S_END))
|
||||||
|
menu++;
|
||||||
|
|
||||||
|
menu->m_x = x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
//
|
//
|
||||||
// The menu_buffer is used to construct strings for display on the screen.
|
// The menu_buffer is used to construct strings for display on the screen.
|
||||||
@ -2867,7 +2897,7 @@ void M_KeyBindings(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = keys_settings[0];
|
current_setup_menu = keys_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -2993,7 +3023,7 @@ void M_Weapons(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = weap_settings[0];
|
current_setup_menu = weap_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3080,7 +3110,7 @@ void M_StatusBar(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = stat_settings[0];
|
current_setup_menu = stat_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3212,9 +3242,9 @@ void M_Automap(int choice)
|
|||||||
colorbox_active = false;
|
colorbox_active = false;
|
||||||
default_verify = false;
|
default_verify = false;
|
||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
set_menu_itemon = 0;
|
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = auto_settings[0];
|
current_setup_menu = auto_settings[0];
|
||||||
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3387,7 +3417,7 @@ void M_Enemy(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = enem_settings[0];
|
current_setup_menu = enem_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3622,7 +3652,7 @@ void M_General(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = gen_settings[0];
|
current_setup_menu = gen_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3790,7 +3820,7 @@ void M_Compat(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = comp_settings[0];
|
current_setup_menu = comp_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3901,7 +3931,7 @@ void M_Messages(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = mess_settings[0];
|
current_setup_menu = mess_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -3974,7 +4004,7 @@ void M_ChatStrings(int choice)
|
|||||||
setup_gather = false;
|
setup_gather = false;
|
||||||
mult_screens_index = 0;
|
mult_screens_index = 0;
|
||||||
current_setup_menu = chat_settings[0];
|
current_setup_menu = chat_settings[0];
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags & S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
}
|
}
|
||||||
@ -5518,6 +5548,7 @@ boolean M_Responder (event_t* ev)
|
|||||||
|
|
||||||
if ((action == MENU_ESCAPE) || (action == MENU_BACKSPACE))
|
if ((action == MENU_ESCAPE) || (action == MENU_BACKSPACE))
|
||||||
{
|
{
|
||||||
|
M_SetSetupMenuItemOn(set_menu_itemon);
|
||||||
if (action == MENU_ESCAPE) // Clear all menus
|
if (action == MENU_ESCAPE) // Clear all menus
|
||||||
M_ClearMenus();
|
M_ClearMenus();
|
||||||
else // key_menu_backspace = return to Setup Menu
|
else // key_menu_backspace = return to Setup Menu
|
||||||
@ -5562,8 +5593,9 @@ boolean M_Responder (event_t* ev)
|
|||||||
{
|
{
|
||||||
ptr1->m_flags &= ~S_HILITE;
|
ptr1->m_flags &= ~S_HILITE;
|
||||||
mult_screens_index--;
|
mult_screens_index--;
|
||||||
|
M_SetSetupMenuItemOn(set_menu_itemon);
|
||||||
current_setup_menu = ptr2->var.menu;
|
current_setup_menu = ptr2->var.menu;
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
print_warning_about_changes = false; // killough 10/98
|
print_warning_about_changes = false; // killough 10/98
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags&S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags&S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
@ -5584,8 +5616,9 @@ boolean M_Responder (event_t* ev)
|
|||||||
{
|
{
|
||||||
ptr1->m_flags &= ~S_HILITE;
|
ptr1->m_flags &= ~S_HILITE;
|
||||||
mult_screens_index++;
|
mult_screens_index++;
|
||||||
|
M_SetSetupMenuItemOn(set_menu_itemon);
|
||||||
current_setup_menu = ptr2->var.menu;
|
current_setup_menu = ptr2->var.menu;
|
||||||
set_menu_itemon = 0;
|
set_menu_itemon = M_GetSetupMenuItemOn();
|
||||||
print_warning_about_changes = false; // killough 10/98
|
print_warning_about_changes = false; // killough 10/98
|
||||||
while (current_setup_menu[set_menu_itemon++].m_flags&S_SKIP);
|
while (current_setup_menu[set_menu_itemon++].m_flags&S_SKIP);
|
||||||
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
current_setup_menu[--set_menu_itemon].m_flags |= S_HILITE;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user