diff options
author | Torbjörn Andersson | 2009-04-09 15:59:22 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2009-04-09 15:59:22 +0000 |
commit | d3d641e4874344788d35fbb387c011672f4ea050 (patch) | |
tree | b856a06267d419609d56f17249c459cd882047e0 /engines | |
parent | fadd224285cd54adc58eb1c39b84f7607cbcaa70 (diff) | |
download | scummvm-rg350-d3d641e4874344788d35fbb387c011672f4ea050.tar.gz scummvm-rg350-d3d641e4874344788d35fbb387c011672f4ea050.tar.bz2 scummvm-rg350-d3d641e4874344788d35fbb387c011672f4ea050.zip |
Sort the list of savegames. (I suppose this fix, or a better one, should go
into 0.13.1 as well.)
svn-id: r39906
Diffstat (limited to 'engines')
-rw-r--r-- | engines/saga/saveload.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp index 90aafb9802..8b927642f5 100644 --- a/engines/saga/saveload.cpp +++ b/engines/saga/saveload.cpp @@ -106,6 +106,19 @@ uint SagaEngine::getNewSaveSlotNumber() { error("getNewSaveSlotNumber save list is full"); } +static int compareSaveFileData(const void *a, const void *b) { + const SaveFileData *s1 = (const SaveFileData *)a; + const SaveFileData *s2 = (const SaveFileData *)b; + + if (s1->slotNumber < s2->slotNumber) { + return -1; + } else if (s1->slotNumber > s2->slotNumber) { + return 1; + } else { + return 0; + } +} + void SagaEngine::fillSaveList() { int i; @@ -155,6 +168,8 @@ void SagaEngine::fillSaveList() { } } } + + qsort(_saveFiles, _saveFilesCount, sizeof(_saveFiles[0]), compareSaveFileData); } void SagaEngine::save(const char *fileName, const char *saveName) { |