mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-10 14:51:46 +00:00
- changed 'load game' menu so that it preselects the last used savegame, either for loading or saving.
SVN r2867 (trunk)
This commit is contained in:
parent
5464676603
commit
024bbeb171
1 changed files with 15 additions and 2 deletions
|
@ -57,6 +57,7 @@ class DLoadSaveMenu : public DListMenu
|
|||
protected:
|
||||
static TDeletingArray<FSaveGameNode*> SaveGames;
|
||||
static int LastSaved;
|
||||
static int LastAccessed;
|
||||
|
||||
int Selected;
|
||||
int TopItem;
|
||||
|
@ -115,6 +116,7 @@ IMPLEMENT_CLASS(DLoadSaveMenu)
|
|||
|
||||
TDeletingArray<FSaveGameNode*> DLoadSaveMenu::SaveGames;
|
||||
int DLoadSaveMenu::LastSaved = -1;
|
||||
int DLoadSaveMenu::LastAccessed = -1;
|
||||
|
||||
FSaveGameNode *quickSaveSlot;
|
||||
|
||||
|
@ -336,7 +338,7 @@ void DLoadSaveMenu::NotifyNewSave (const char *file, const char *title, bool okF
|
|||
if (okForQuicksave)
|
||||
{
|
||||
if (quickSaveSlot == NULL) quickSaveSlot = node;
|
||||
LastSaved = i;
|
||||
LastAccessed = LastSaved = i;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -352,7 +354,7 @@ void DLoadSaveMenu::NotifyNewSave (const char *file, const char *title, bool okF
|
|||
if (okForQuicksave)
|
||||
{
|
||||
if (quickSaveSlot == NULL) quickSaveSlot = node;
|
||||
LastSaved = index;
|
||||
LastAccessed = LastSaved = index;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -734,10 +736,16 @@ bool DLoadSaveMenu::MenuEvent (int mkey, bool fromcontroller)
|
|||
{
|
||||
if (Selected != -1)
|
||||
{
|
||||
int listindex = SaveGames[0]->bNoDelete? Selected-1 : Selected;
|
||||
remove (SaveGames[Selected]->Filename.GetChars());
|
||||
UnloadSaveData ();
|
||||
Selected = RemoveSaveSlot (Selected);
|
||||
ExtractSaveData (Selected);
|
||||
|
||||
if (LastSaved == listindex) LastSaved = -1;
|
||||
else if (LastSaved > listindex) LastSaved--;
|
||||
if (LastAccessed == listindex) LastAccessed = -1;
|
||||
else if (LastAccessed > listindex) LastAccessed--;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -1040,6 +1048,10 @@ DLoadMenu::DLoadMenu(DMenu *parent, FListMenuDescriptor *desc)
|
|||
: DLoadSaveMenu(parent, desc)
|
||||
{
|
||||
TopItem = 0;
|
||||
if (LastAccessed != -1)
|
||||
{
|
||||
Selected = LastAccessed;
|
||||
}
|
||||
ExtractSaveData (Selected);
|
||||
|
||||
}
|
||||
|
@ -1074,6 +1086,7 @@ bool DLoadMenu::MenuEvent (int mkey, bool fromcontroller)
|
|||
}
|
||||
M_ClearMenus();
|
||||
BorderNeedRefresh = screen->GetPageCount ();
|
||||
LastAccessed = Selected;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue