From c10cda236b10d817ba1bb098d2c43dda91b1775c Mon Sep 17 00:00:00 2001 From: Kirben Date: Tue, 4 Mar 2014 20:01:36 +1100 Subject: AGOS: Remove duplicate file opens, when counting saved games. --- engines/agos/saveload.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'engines') 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 -- cgit v1.2.3