aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/saveload.cpp
diff options
context:
space:
mode:
authorKirben2014-03-04 20:01:36 +1100
committerKirben2014-03-04 20:01:36 +1100
commitc10cda236b10d817ba1bb098d2c43dda91b1775c (patch)
tree0d135f9b1cff1b64b4444f7b57b074d8d77aaed0 /engines/agos/saveload.cpp
parent4e68a6761363ba62c8e7d20995727cdc4a93831f (diff)
downloadscummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.tar.gz
scummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.tar.bz2
scummvm-rg350-c10cda236b10d817ba1bb098d2c43dda91b1775c.zip
AGOS: Remove duplicate file opens, when counting saved games.
Diffstat (limited to 'engines/agos/saveload.cpp')
-rw-r--r--engines/agos/saveload.cpp18
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