From a74341508fc0bf4f49f4df3c546637020b36840e Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 26 Jan 2016 16:54:57 +0100 Subject: KYRA: Cleanup listing of actual save slots in GUI::updateSaveFileList. --- engines/kyra/gui.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'engines') 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()) -- cgit v1.2.3