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:
parent
7401e859fa
commit
fcf707e20a
1 changed files with 7 additions and 2 deletions
|
@ -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
|
// 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
|
// 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)
|
// (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)));
|
Common::OutSaveFile *out = g_sci->getSaveFileManager()->openForSaving(g_sci->getSavegameName(saveNo));
|
||||||
set_savegame_metadata(out.get(), saveGameName, "");
|
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
|
// We have to re-retrieve saves and find the index instead of
|
||||||
// assuming the newest save will be in index 0 because save game
|
// assuming the newest save will be in index 0 because save game
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue