diff options
author | Sven Hesse | 2008-12-17 13:07:56 +0000 |
---|---|---|
committer | Sven Hesse | 2008-12-17 13:07:56 +0000 |
commit | d0e2107b7e07587f732ae1f882b8ddae8c5ef5bd (patch) | |
tree | f0d6333ed40ff3be9c7906a49532d441615e55eb /engines/gob/saveload_v6.cpp | |
parent | 774773b7cd02e3c6932095af4905a25eb1862392 (diff) | |
download | scummvm-rg350-d0e2107b7e07587f732ae1f882b8ddae8c5ef5bd.tar.gz scummvm-rg350-d0e2107b7e07587f732ae1f882b8ddae8c5ef5bd.tar.bz2 scummvm-rg350-d0e2107b7e07587f732ae1f882b8ddae8c5ef5bd.zip |
Only do the no-cd-workaround if all resource files can be found
svn-id: r35409
Diffstat (limited to 'engines/gob/saveload_v6.cpp')
-rw-r--r-- | engines/gob/saveload_v6.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/engines/gob/saveload_v6.cpp b/engines/gob/saveload_v6.cpp index 9e49a3ea63..cc233a36ba 100644 --- a/engines/gob/saveload_v6.cpp +++ b/engines/gob/saveload_v6.cpp @@ -27,12 +27,13 @@ #include "gob/gob.h" #include "gob/saveload.h" +#include "gob/game.h" namespace Gob { SaveLoad_v6::SaveFile SaveLoad_v6::_saveFiles[] = { {"mdo.def", 0, kSaveModeExists, kSaveNone}, - {"NO_CD.TXT", 0, kSaveModeExists, kSaveNone} + {"NO_CD.TXT", 0, kSaveModeExists, kSaveNoCD} }; SaveLoad_v6::SaveLoad_v6(GobEngine *vm, const char *targetName) : @@ -45,11 +46,21 @@ SaveLoad_v6::~SaveLoad_v6() { SaveLoad::SaveMode SaveLoad_v6::getSaveMode(const char *fileName) { fileName = stripPath(fileName); - for (int i = 0; i < ARRAYSIZE(_saveFiles); i++) + int i; + for (i = 0; i < ARRAYSIZE(_saveFiles); i++) if (!scumm_stricmp(fileName, _saveFiles[i].sourceName)) - return _saveFiles[i].mode; + break; - return kSaveModeNone; + if (i >= ARRAYSIZE(_saveFiles)) + return kSaveModeNone; + + if (_saveFiles[i].type != kSaveNoCD) + return _saveFiles[i].mode; + + if (_vm->_game->_noCd) + return kSaveModeExists; + else + return kSaveModeNone; } } // End of namespace Gob |