diff options
author | Kirben | 2014-03-04 20:01:36 +1100 |
---|---|---|
committer | Kirben | 2014-03-04 20:01:36 +1100 |
commit | c10cda236b10d817ba1bb098d2c43dda91b1775c (patch) | |
tree | 0d135f9b1cff1b64b4444f7b57b074d8d77aaed0 | |
parent | 4e68a6761363ba62c8e7d20995727cdc4a93831f (diff) | |
download | scummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.tar.gz scummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.tar.bz2 scummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.zip |
AGOS: Remove duplicate file opens, when counting saved games.
-rw-r--r-- | engines/agos/saveload.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 2bb459d4b8..5d5e2d7b03 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -37,9 +37,8 @@ namespace AGOS { // FIXME: This code counts savegames, but callers in many cases assume // that the return value + 1 indicates an empty slot. int AGOSEngine::countSaveGames() { - Common::InSaveFile *f = NULL; Common::StringArray filenames; - uint i = 1; + uint s, numSaveGames = 1; int slotNum; bool marks[256]; @@ -60,18 +59,13 @@ int AGOSEngine::countSaveGames() { marks[slotNum] = true; //mark this slot as valid } - // FIXME: Why does this already try to actually open the savegames? - // Historical accident? - while (i < 256) { - if (marks[i] && - (f = _saveFileMan->openForLoading(genSaveName(i)))) { - i++; - delete f; - } else - break; + // locate first empty slot + for (s = 1; s < 256; s++) { + if (marks[s]) + numSaveGames++; } - return i; + return numSaveGames; } #ifdef ENABLE_AGOS2 |