diff options
author | Paul Gilbert | 2016-07-26 19:48:14 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-26 19:48:14 -0400 |
commit | 504cf6ecb688a3f1c65a857bffd527d8b0e6ba63 (patch) | |
tree | 0c0d96d4061c11850c851f0fc981c75a58c20515 /engines/kyra/gui.cpp | |
parent | d8c28d15ae553d047b7e571f98727fa79ee143f3 (diff) | |
parent | e19922d181e775791f9105b8be7ff410770ede51 (diff) | |
download | scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.tar.gz scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.tar.bz2 scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.zip |
Merge branch 'master' into xeen
Diffstat (limited to 'engines/kyra/gui.cpp')
-rw-r--r-- | engines/kyra/gui.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp index e95d78c54d..d9c2f9183d 100644 --- a/engines/kyra/gui.cpp +++ b/engines/kyra/gui.cpp @@ -47,23 +47,16 @@ GUI::~GUI() { } void GUI::updateSaveFileList(Common::String targetName, bool excludeQuickSaves) { - Common::String pattern = targetName + ".???"; + Common::String pattern = targetName + ".###"; Common::StringArray saveFileList = _vm->_saveFileMan->listSavefiles(pattern); _saveSlots.clear(); for (Common::StringArray::const_iterator i = saveFileList.begin(); i != saveFileList.end(); ++i) { - char s1 = 0, s2 = 0, s3 = 0; - s1 = (*i)[i->size() - 3]; - s2 = (*i)[i->size() - 2]; - s3 = (*i)[i->size() - 1]; - if (!Common::isDigit(s1) || !Common::isDigit(s2) || !Common::isDigit(s3)) + // The last 3 digits of the filename correspond to the save slot. + const int slotNum = atoi(i->c_str() + i->size() - 3); + if (excludeQuickSaves && slotNum >= 990) continue; - s1 -= '0'; - s2 -= '0'; - s3 -= '0'; - if (excludeQuickSaves && s1 == 9 && s2 == 9) - continue; - _saveSlots.push_back(s1 * 100 + s2 * 10 + s3); + _saveSlots.push_back(slotNum); } if (_saveSlots.begin() == _saveSlots.end()) |