diff options
author | Gregory Montoir | 2005-08-11 18:07:47 +0000 |
---|---|---|
committer | Gregory Montoir | 2005-08-11 18:07:47 +0000 |
commit | 91ad888d7c885ee6240f5a3f606f557aa8ee9b6b (patch) | |
tree | da487cb347cb2fd570f9505b1d8b48b764eb5908 | |
parent | d3eacaf9bee182eea1104d76916b5d86964ea545 (diff) | |
download | scummvm-rg350-91ad888d7c885ee6240f5a3f606f557aa8ee9b6b.tar.gz scummvm-rg350-91ad888d7c885ee6240f5a3f606f557aa8ee9b6b.tar.bz2 scummvm-rg350-91ad888d7c885ee6240f5a3f606f557aa8ee9b6b.zip |
minor cleanup
svn-id: r18662
-rw-r--r-- | queen/queen.cpp | 16 | ||||
-rw-r--r-- | queen/queen.h | 20 |
2 files changed, 20 insertions, 16 deletions
diff --git a/queen/queen.cpp b/queen/queen.cpp index cb8474671d..076d634099 100644 --- a/queen/queen.cpp +++ b/queen/queen.cpp @@ -247,7 +247,7 @@ void QueenEngine::update(bool checkPlayerInput) { } } -bool QueenEngine::canLoadOrSave() { +bool QueenEngine::canLoadOrSave() const { return !_input->cutawayRunning() && !(_resource->isDemo() || _resource->isInterview()); } @@ -258,13 +258,14 @@ void QueenEngine::saveGameState(uint16 slot, const char *desc) { Common::OutSaveFile *file = _saveFileMan->openForSaving(name); if (file) { // save data - byte *saveData = new byte[30000]; + byte *saveData = new byte[SAVESTATE_MAX_SIZE]; byte *p = saveData; _bam->saveState(p); _grid->saveState(p); _logic->saveState(p); _sound->saveState(p); uint32 dataSize = p - saveData; + assert(dataSize < SAVESTATE_MAX_SIZE); // write header GameStateHeader header; @@ -302,9 +303,10 @@ void QueenEngine::loadGameState(uint16 slot) { _logic->loadState(header.version, p); _sound->loadState(header.version, p); if (header.dataSize != (uint32)(p - saveData)) { - error("Corrupted savegame file"); + warning("Corrupted savegame file"); + } else { + _logic->setupRestoredGame(); } - _logic->setupRestoredGame(); } delete[] saveData; delete file; @@ -338,9 +340,9 @@ void QueenEngine::findGameStateDescriptions(char descriptions[100][32]) { char filename[20]; makeGameStateName(0, filename); filename[strlen(filename) - 2] = 0; - bool marks[SAVESTATE_MAX]; - _saveFileMan->listSavefiles(filename, marks, SAVESTATE_MAX); - for (int i = 0; i < SAVESTATE_MAX; ++i) { + bool marks[SAVESTATE_MAX_NUM]; + _saveFileMan->listSavefiles(filename, marks, SAVESTATE_MAX_NUM); + for (int i = 0; i < SAVESTATE_MAX_NUM; ++i) { if (marks[i]) { GameStateHeader header; Common::InSaveFile *f = readGameStateHeader(i, &header); diff --git a/queen/queen.h b/queen/queen.h index 18247c6757..a45834b5e2 100644 --- a/queen/queen.h +++ b/queen/queen.h @@ -111,7 +111,7 @@ public: void update(bool checkPlayerInput = false); - bool canLoadOrSave(); + bool canLoadOrSave() const; void saveGameState(uint16 slot, const char *desc); void loadGameState(uint16 slot); void makeGameStateName(uint16 slot, char *buf); @@ -119,14 +119,16 @@ public: Common::InSaveFile *readGameStateHeader(uint16 slot, GameStateHeader *gsh); enum { - SAVESTATE_CUR_VER = 1, - SAVESTATE_MAX = 100, - AUTOSAVE_INTERVAL = 5 * 60 * 1000, - AUTOSAVE_SLOT = 0xFF, - - MIN_TEXT_SPEED = 4, - MAX_TEXT_SPEED = 100, - MAX_MUSIC_VOLUME = 255 + SAVESTATE_CUR_VER = 1, + SAVESTATE_MAX_NUM = 100, + SAVESTATE_MAX_SIZE = 30000, + + AUTOSAVE_INTERVAL = 5 * 60 * 1000, + AUTOSAVE_SLOT = 0xFF, + + MIN_TEXT_SPEED = 4, + MAX_TEXT_SPEED = 100, + MAX_MUSIC_VOLUME = 255 }; protected: |