aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
Diffstat (limited to 'gui')
-rw-r--r--gui/launcher.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index df6869234e..abb083dccd 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -747,8 +747,19 @@ void SaveLoadChooser::updateSaveList() {
_saveList = (*_plugin)->listSaves(_target.c_str());
int curSlot = 0;
+ int saveSlot = 0;
StringList saveNames;
for (SaveStateList::const_iterator x = _saveList.begin(); x != _saveList.end(); ++x) {
+ // Handle gaps in the list of save games
+ saveSlot = atoi(x->save_slot().c_str());
+ while (curSlot < saveSlot) {
+ SaveStateDescriptor dummySave(curSlot, "");
+ _saveList.insert_at(curSlot, dummySave);
+ saveNames.push_back(dummySave.description());
+ ++x; // sync save list pointer
+ curSlot++;
+ }
+
saveNames.push_back(x->description());
curSlot++;
}