diff options
| author | Max Horn | 2008-11-06 17:05:54 +0000 |
|---|---|---|
| committer | Max Horn | 2008-11-06 17:05:54 +0000 |
| commit | 40136f25909bd8773cac0f08740a36037395e9a7 (patch) | |
| tree | bf61db949f9942c10cad667042b1e2403a9b51cd /engines/queen | |
| parent | 4c8f221fb8f5735932652c3279efd6f2e941d948 (diff) | |
| download | scummvm-rg350-40136f25909bd8773cac0f08740a36037395e9a7.tar.gz scummvm-rg350-40136f25909bd8773cac0f08740a36037395e9a7.tar.bz2 scummvm-rg350-40136f25909bd8773cac0f08740a36037395e9a7.zip | |
Switched various Engine APIs to use Common::Error
svn-id: r34916
Diffstat (limited to 'engines/queen')
| -rw-r--r-- | engines/queen/queen.cpp | 24 | ||||
| -rw-r--r-- | engines/queen/queen.h | 8 |
2 files changed, 20 insertions, 12 deletions
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 1232b12288..995c2aff60 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -312,9 +312,10 @@ bool QueenEngine::canLoadOrSave() const { return !_input->cutawayRunning() && !(_resource->isDemo() || _resource->isInterview()); } -int QueenEngine::saveGameState(int slot, const char *desc) { +Common::Error QueenEngine::saveGameState(int slot, const char *desc) { debug(3, "Saving game to slot %d", slot); char name[20]; + Common::Error err = Common::kNoError; makeGameStateName(slot, name); Common::OutSaveFile *file = _saveFileMan->openForSaving(name); if (file) { @@ -345,18 +346,21 @@ int QueenEngine::saveGameState(int slot, const char *desc) { // check for errors if (file->ioFailed()) { warning("Can't write file '%s'. (Disk full?)", name); + err = Common::kWritingFailed; } delete[] saveData; delete file; } else { warning("Can't create file '%s', game not saved", name); + err = Common::kCreatingFileFailed; } - return 0; + return err; } -int QueenEngine::loadGameState(int slot) { +Common::Error QueenEngine::loadGameState(int slot) { debug(3, "Loading game from slot %d", slot); + Common::Error err = Common::kNoError; GameStateHeader header; Common::InSaveFile *file = readGameStateHeader(slot, &header); if (file && header.dataSize != 0) { @@ -364,6 +368,7 @@ int QueenEngine::loadGameState(int slot) { byte *p = saveData; if (file->read(saveData, header.dataSize) != header.dataSize) { warning("Error reading savegame file"); + err = Common::kReadingFailed; } else { _bam->loadState(header.version, p); _grid->loadState(header.version, p); @@ -371,15 +376,18 @@ int QueenEngine::loadGameState(int slot) { _sound->loadState(header.version, p); if (header.dataSize != (uint32)(p - saveData)) { warning("Corrupted savegame file"); + err = Common::kReadingFailed; // FIXME } else { _logic->setupRestoredGame(); } } delete[] saveData; delete file; + } else { + err = Common::kReadingFailed; } - return 0; // TODO: return success/failure + return err; } Common::InSaveFile *QueenEngine::readGameStateHeader(int slot, GameStateHeader *gsh) { @@ -436,7 +444,7 @@ GUI::Debugger *QueenEngine::getDebugger() { return _debugger; } -int QueenEngine::go() { +Common::Error QueenEngine::go() { _logic->start(); if (ConfMan.hasKey("save_slot") && canLoadOrSave()) { loadGameState(ConfMan.getInt("save_slot")); @@ -461,10 +469,10 @@ int QueenEngine::go() { update(true); } } - return 0; + return Common::kNoError; } -int QueenEngine::init() { +Common::Error QueenEngine::init() { _system->beginGFXTransaction(); initCommonGFX(false); _system->initSize(GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT); @@ -496,7 +504,7 @@ int QueenEngine::init() { registerDefaultSettings(); readOptionSettings(); - return 0; + return Common::kNoError; } } // End of namespace Queen diff --git a/engines/queen/queen.h b/engines/queen/queen.h index df218a64a2..34ba0ab8e7 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -106,8 +106,8 @@ public: void update(bool checkPlayerInput = false); bool canLoadOrSave() const; - int saveGameState(int slot, const char *desc); - int loadGameState(int slot); + Common::Error saveGameState(int slot, const char *desc); + Common::Error loadGameState(int slot); void makeGameStateName(int slot, char *buf) const; int getGameStateSlot(const char *filename) const; void findGameStateDescriptions(char descriptions[100][32]); @@ -129,8 +129,8 @@ public: protected: // Engine APIs - virtual int init(); - virtual int go(); + virtual Common::Error init(); + virtual Common::Error go(); virtual GUI::Debugger *getDebugger(); virtual bool hasFeature(EngineFeature f) const; virtual void syncSoundSettings(); |
