SCI32: Flush stub RAMA save game to disk

If this is not done and the file is buffered, it will not show up
in the list of save games, and the new save will fail.
This commit is contained in:
Colin Snover 2017-09-23 21:39:13 -05:00
parent 7401e859fa
commit fcf707e20a

View file

@ -596,8 +596,13 @@ reg_t GuestAdditions::promptSaveRestoreRama(EngineState *s, int argc, reg_t *arg
// We need to touch the save file just so it exists here, since
// otherwise the game will not let us save to the new save slot
// (it will try to come up with a brand new slot instead)
Common::ScopedPtr<Common::OutSaveFile> out(g_sci->getSaveFileManager()->openForSaving(g_sci->getSavegameName(saveNo)));
set_savegame_metadata(out.get(), saveGameName, "");
Common::OutSaveFile *out = g_sci->getSaveFileManager()->openForSaving(g_sci->getSavegameName(saveNo));
set_savegame_metadata(out, saveGameName, "");
// Make sure the save file is fully written before we try to
// re-retrieve the list of saves, since otherwise it may not
// show up in the list
delete out;
// We have to re-retrieve saves and find the index instead of
// assuming the newest save will be in index 0 because save game