LAB: Remove gap handling from removeSaveState.
This removes the annoying behavior that removing a save state causes your physical files to be renamed.
This commit is contained in:
parent
e515fc18db
commit
7fde01b658
1 changed files with 1 additions and 20 deletions
|
@ -197,26 +197,7 @@ int LabMetaEngine::getMaximumSaveSlot() const {
|
|||
|
||||
void LabMetaEngine::removeSaveState(const char *target, int slot) const {
|
||||
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
|
||||
Common::String filename = Common::String::format("%s.%03u", target, slot);
|
||||
|
||||
saveFileMan->removeSavefile(filename.c_str());
|
||||
|
||||
Common::StringArray filenames;
|
||||
Common::String pattern = target;
|
||||
pattern += ".###";
|
||||
filenames = saveFileMan->listSavefiles(pattern.c_str());
|
||||
Common::sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..)
|
||||
|
||||
for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) {
|
||||
// Obtain the last 3 digits of the filename, since they correspond to the save slot
|
||||
int slotNum = atoi(file->c_str() + file->size() - 3);
|
||||
|
||||
// Rename every slot greater than the deleted slot,
|
||||
if (slotNum > slot) {
|
||||
saveFileMan->renameSavefile(file->c_str(), filename.c_str());
|
||||
filename = Common::String::format("%s.%03u", target, ++slot);
|
||||
}
|
||||
}
|
||||
saveFileMan->removeSavefile(Common::String::format("%s.%03u", target, slot));
|
||||
}
|
||||
|
||||
SaveStateDescriptor LabMetaEngine::querySaveMetaInfos(const char *target, int slot) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue