From b8aeefaffb2ecdc9da5594a49cfba87a84e55d4e Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 17 Feb 2007 18:55:51 +0000 Subject: Added finalize() method to Common::OutSaveFile (which by default just flushes the stream), changed engines to call that before deleting OutSaveFile instances (instead of just flushing) svn-id: r25660 --- engines/agi/savegame.cpp | 2 +- engines/agos/saveload.cpp | 8 ++++---- engines/gob/gob.cpp | 4 ++-- engines/kyra/saveload.cpp | 2 +- engines/queen/queen.cpp | 2 +- engines/saga/saveload.cpp | 2 +- engines/scumm/saveload.cpp | 2 +- engines/sky/control.cpp | 6 +++--- engines/sword1/control.cpp | 4 ++-- engines/sword2/saveload.cpp | 2 +- engines/touche/saveload.cpp | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) (limited to 'engines') diff --git a/engines/agi/savegame.cpp b/engines/agi/savegame.cpp index 76466088ab..1dd63ee66a 100644 --- a/engines/agi/savegame.cpp +++ b/engines/agi/savegame.cpp @@ -200,7 +200,7 @@ int AgiEngine::saveGame(const char *fileName, const char *description) { } out->writeByte(0); - out->flush(); + out->finalize(); if (out->ioFailed()) warning("Can't write file '%s'. (Disk full?)", fileName); else diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index fb19fea3d0..0e82033ea2 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -649,7 +649,7 @@ bool AGOSEngine::loadGame_e1(const char *filename, bool restartMode) { } bool AGOSEngine::saveGame_e1(const char *filename) { - Common::WriteStream *f; + Common::OutSaveFile *f; uint item_index, num_item, i; TimeEvent *te; uint32 curTime = 0; @@ -717,7 +717,7 @@ bool AGOSEngine::saveGame_e1(const char *filename) { f->writeUint16BE(readVariable(i)); } - f->flush(); + f->finalize(); bool result = !f->ioFailed(); delete f; @@ -873,7 +873,7 @@ bool AGOSEngine::loadGame(const char *filename, bool restartMode) { } bool AGOSEngine::saveGame(uint slot, const char *caption) { - Common::WriteStream *f; + Common::OutSaveFile *f; uint item_index, num_item, i, j; TimeEvent *te; uint32 curTime = 0; @@ -988,7 +988,7 @@ bool AGOSEngine::saveGame(uint slot, const char *caption) { f->writeUint16BE(_superRoomNumber); } - f->flush(); + f->finalize(); bool result = !f->ioFailed(); delete f; diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp index f1fcb47239..89a761dcdc 100644 --- a/engines/gob/gob.cpp +++ b/engines/gob/gob.cpp @@ -295,7 +295,7 @@ void GobEngine::saveGameData(enum SaveFiles sFile, int16 dataVar, int32 size, in retSize = writeDataEndian(*out, buf, _global->_inter_variablesSizes + dataVar, size); - out->flush(); + out->finalize(); if (out->ioFailed() || (retSize != size)) warning("Can't write file \"%s\"", sName); @@ -329,7 +329,7 @@ bool GobEngine::saveGame(int saveSlot, int16 dataVar, int32 size, int32 offset) } writeDataEndian(*out, _saveIndex + saveSlot * 40, _saveIndexSizes + saveSlot * 40, 40); writeDataEndian(*out, varBuf, sizeBuf, size); - out->flush(); + out->finalize(); if (out->ioFailed()) { warning("Can't save to slot %d", saveSlot); return false; diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp index 8f095237ab..8245a8753f 100644 --- a/engines/kyra/saveload.cpp +++ b/engines/kyra/saveload.cpp @@ -362,7 +362,7 @@ void KyraEngine::saveGame(const char *fileName, const char *saveName) { out->writeByte(_curSfxFile); - out->flush(); + out->finalize(); // check for errors if (out->ioFailed()) diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 7877b60a5a..273436837f 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -249,7 +249,7 @@ void QueenEngine::saveGameState(uint16 slot, const char *desc) { // write save data file->write(saveData, dataSize); - file->flush(); + file->finalize(); // check for errors if (file->ioFailed()) { diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp index 40a18f8aed..2977990a9d 100644 --- a/engines/saga/saveload.cpp +++ b/engines/saga/saveload.cpp @@ -211,7 +211,7 @@ void SagaEngine::save(const char *fileName, const char *saveName) { out->writeSint16LE(_isoMap->getMapPosition().x); out->writeSint16LE(_isoMap->getMapPosition().y); - out->flush(); + out->finalize(); // TODO: Check out->ioFailed() diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index 25988c5122..fdcd111fe8 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -109,7 +109,7 @@ bool ScummEngine::saveState(int slot, bool compat) { Serializer ser(0, out, CURRENT_VER); saveOrLoad(&ser); - out->flush(); + out->finalize(); if (out->ioFailed()) { delete out; debug(1, "State save as '%s' FAILED", filename); diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp index 172891643b..e4b60629d0 100644 --- a/engines/sky/control.cpp +++ b/engines/sky/control.cpp @@ -1138,7 +1138,7 @@ void Control::saveDescriptions(uint8 *srcBuf) { bool ioFailed = true; if (outf) { outf->write(tmpBuf, tmpPos - tmpBuf); - outf->flush(); + outf->finalize(); if (!outf->ioFailed()) ioFailed = false; delete outf; @@ -1165,7 +1165,7 @@ void Control::doAutoSave(void) { uint32 fSize = prepareSaveData(saveData); outf->write(saveData, fSize); - outf->flush(); + outf->finalize(); if (outf->ioFailed()) displayMessage(0, "Unable to write autosave file '%s' in directory '%s'. Disk full?", fName, _saveFileMan->getSavePath()); @@ -1187,7 +1187,7 @@ uint16 Control::saveGameToFile(void) { uint32 fSize = prepareSaveData(saveData); uint32 writeRes = outf->write(saveData, fSize); - outf->flush(); + outf->finalize(); if (outf->ioFailed()) writeRes = 0; free(saveData); diff --git a/engines/sword1/control.cpp b/engines/sword1/control.cpp index 85e25c75fc..d40c76eb89 100644 --- a/engines/sword1/control.cpp +++ b/engines/sword1/control.cpp @@ -763,7 +763,7 @@ void Control::writeSavegameDescriptions(void) { else outf->writeByte(255); } - outf->flush(); + outf->finalize(); if (outf->ioFailed()) displayMessage(0, "Can't write to SAVEGAME.INF in directory '%s'. Device full?", _saveFileMan->getSavePath()); delete outf; @@ -958,7 +958,7 @@ void Control::saveGameToFile(uint8 slot) { uint32 *playerRaw = (uint32*)cpt; for (uint32 cnt2 = 0; cnt2 < playerSize; cnt2++) outf->writeUint32LE(playerRaw[cnt2]); - outf->flush(); + outf->finalize(); if (outf->ioFailed()) displayMessage(0, "Couldn't write to file '%s' in directory '%s'. Device full?", fName, _saveFileMan->getSavePath()); delete outf; diff --git a/engines/sword2/saveload.cpp b/engines/sword2/saveload.cpp index eb7b6e0b0c..3f37d6b5de 100644 --- a/engines/sword2/saveload.cpp +++ b/engines/sword2/saveload.cpp @@ -132,7 +132,7 @@ uint32 Sword2Engine::saveData(uint16 slotNo, byte *buffer, uint32 bufferSize) { } out->write(buffer, bufferSize); - out->flush(); + out->finalize(); if (!out->ioFailed()) { delete out; diff --git a/engines/touche/saveload.cpp b/engines/touche/saveload.cpp index 05ec9b3904..dd29c3c387 100644 --- a/engines/touche/saveload.cpp +++ b/engines/touche/saveload.cpp @@ -344,7 +344,7 @@ bool ToucheEngine::saveGameState(int num, const char *description) { strncpy(headerDescription, description, kGameStateDescriptionLen - 1); f->write(headerDescription, kGameStateDescriptionLen); saveGameStateData(f); - f->flush(); + f->finalize(); if (!f->ioFailed()) { saveOk = true; } else { -- cgit v1.2.3