mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-04-01 07:51:21 +00:00
Some more load/save menu tuning (better QMF_GRAYED use).
This commit is contained in:
parent
83037ace88
commit
4f5ba24003
1 changed files with 18 additions and 49 deletions
|
@ -2444,12 +2444,9 @@ LoadGame_MenuInit(void)
|
|||
s_loadgame_actions[i].generic.y = i * 10;
|
||||
s_loadgame_actions[i].generic.localdata[0] = i + m_loadsave_page * MAX_SAVESLOTS;
|
||||
s_loadgame_actions[i].generic.flags = QMF_LEFT_JUSTIFY;
|
||||
if (m_loadsave_page == 0 && i == 0)
|
||||
{
|
||||
s_loadgame_actions[i].generic.flags |= QMF_GRAYED;
|
||||
}
|
||||
if (!m_savevalid[i])
|
||||
{
|
||||
s_loadgame_actions[i].generic.flags |= QMF_GRAYED;
|
||||
s_loadgame_actions[i].generic.callback = NULL;
|
||||
}
|
||||
else
|
||||
|
@ -2475,48 +2472,35 @@ static const char *
|
|||
LoadGame_MenuKey(int key)
|
||||
{
|
||||
static menuframework_s *m = &s_loadgame_menu;
|
||||
int old_cursor;
|
||||
|
||||
switch (key)
|
||||
{
|
||||
case K_KP_UPARROW:
|
||||
case K_UPARROW:
|
||||
old_cursor = m->cursor;
|
||||
m->cursor--;
|
||||
Menu_AdjustCursor(m, -1);
|
||||
if (m->cursor >= old_cursor)
|
||||
if (m->cursor == 0)
|
||||
{
|
||||
LoadSave_AdjustPage(-1);
|
||||
LoadGame_MenuInit();
|
||||
m->cursor = m->nitems;
|
||||
Menu_AdjustCursor(m, -1);
|
||||
}
|
||||
return menu_move_sound;
|
||||
break;
|
||||
case K_TAB:
|
||||
case K_KP_DOWNARROW:
|
||||
case K_DOWNARROW:
|
||||
old_cursor = m->cursor;
|
||||
m->cursor++;
|
||||
Menu_AdjustCursor(m, 1);
|
||||
if (m->cursor <= old_cursor)
|
||||
if (m->cursor == m->nitems - 1)
|
||||
{
|
||||
LoadSave_AdjustPage(1);
|
||||
LoadGame_MenuInit();
|
||||
m->cursor = 0;
|
||||
Menu_AdjustCursor(m, 1);
|
||||
}
|
||||
return menu_move_sound;
|
||||
break;
|
||||
case K_KP_LEFTARROW:
|
||||
case K_LEFTARROW:
|
||||
LoadSave_AdjustPage(-1);
|
||||
LoadGame_MenuInit();
|
||||
Menu_AdjustCursor(m, 1);
|
||||
return menu_move_sound;
|
||||
case K_KP_RIGHTARROW:
|
||||
case K_RIGHTARROW:
|
||||
LoadSave_AdjustPage(1);
|
||||
LoadGame_MenuInit();
|
||||
Menu_AdjustCursor(m, 1);
|
||||
return menu_move_sound;
|
||||
default:
|
||||
s_savegame_menu.cursor = s_loadgame_menu.cursor;
|
||||
|
@ -2569,23 +2553,21 @@ SaveGame_MenuInit(void)
|
|||
/* don't include the autosave slot */
|
||||
for (i = 0; i < MAX_SAVESLOTS; i++)
|
||||
{
|
||||
if (m_loadsave_page == 0 && i == 0)
|
||||
{
|
||||
s_savegame_actions[i].generic.type = MTYPE_SEPARATOR;
|
||||
s_savegame_actions[i].generic.name = NULL;
|
||||
|
||||
Menu_AddItem(&s_savegame_menu, &s_savegame_actions[i]);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
s_savegame_actions[i].generic.type = MTYPE_ACTION;
|
||||
s_savegame_actions[i].generic.name = m_savestrings[i];
|
||||
s_savegame_actions[i].generic.x = 0;
|
||||
s_savegame_actions[i].generic.y = i * 10;
|
||||
s_savegame_actions[i].generic.localdata[0] = i + m_loadsave_page * MAX_SAVESLOTS;
|
||||
s_savegame_actions[i].generic.flags = QMF_LEFT_JUSTIFY;
|
||||
s_savegame_actions[i].generic.callback = SaveGameCallback;
|
||||
if (s_savegame_actions[i].generic.localdata[0] == 0)
|
||||
{
|
||||
s_savegame_actions[i].generic.flags |= QMF_GRAYED;
|
||||
s_savegame_actions[i].generic.callback = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_savegame_actions[i].generic.callback = SaveGameCallback;
|
||||
}
|
||||
|
||||
Menu_AddItem(&s_savegame_menu, &s_savegame_actions[i]);
|
||||
}
|
||||
|
@ -2597,48 +2579,35 @@ static const char *
|
|||
SaveGame_MenuKey(int key)
|
||||
{
|
||||
static menuframework_s *m = &s_savegame_menu;
|
||||
int old_cursor;
|
||||
|
||||
switch (key)
|
||||
{
|
||||
case K_KP_UPARROW:
|
||||
case K_UPARROW:
|
||||
old_cursor = m->cursor;
|
||||
m->cursor--;
|
||||
Menu_AdjustCursor(m, -1);
|
||||
if (m->cursor >= old_cursor)
|
||||
if (m->cursor == 0)
|
||||
{
|
||||
LoadSave_AdjustPage(-1);
|
||||
SaveGame_MenuInit();
|
||||
m->cursor = m->nitems;
|
||||
Menu_AdjustCursor(m, -1);
|
||||
}
|
||||
return menu_move_sound;
|
||||
break;
|
||||
case K_TAB:
|
||||
case K_KP_DOWNARROW:
|
||||
case K_DOWNARROW:
|
||||
old_cursor = m->cursor;
|
||||
m->cursor++;
|
||||
Menu_AdjustCursor(m, 1);
|
||||
if (m->cursor <= old_cursor)
|
||||
if (m->cursor == m->nitems - 1)
|
||||
{
|
||||
LoadSave_AdjustPage(1);
|
||||
SaveGame_MenuInit();
|
||||
m->cursor = 0;
|
||||
Menu_AdjustCursor(m, 1);
|
||||
}
|
||||
return menu_move_sound;
|
||||
break;
|
||||
case K_KP_LEFTARROW:
|
||||
case K_LEFTARROW:
|
||||
LoadSave_AdjustPage(-1);
|
||||
SaveGame_MenuInit();
|
||||
Menu_AdjustCursor(m, 1);
|
||||
return menu_move_sound;
|
||||
case K_KP_RIGHTARROW:
|
||||
case K_RIGHTARROW:
|
||||
LoadSave_AdjustPage(1);
|
||||
SaveGame_MenuInit();
|
||||
Menu_AdjustCursor(m, 1);
|
||||
return menu_move_sound;
|
||||
default:
|
||||
s_loadgame_menu.cursor = s_savegame_menu.cursor;
|
||||
|
|
Loading…
Reference in a new issue