From 477d6233c3672d9a60cceea3570bc775df3d9253 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 2 Jun 2011 14:11:38 +0200 Subject: ENGINES: Change 2nd param of Engine::saveGameState to Common::String --- engines/agi/agi.h | 2 +- engines/agi/saveload.cpp | 4 ++-- engines/cine/cine.h | 4 ++-- engines/cine/detection.cpp | 6 +++--- engines/cine/saveload.cpp | 2 +- engines/cruise/cruise.cpp | 2 +- engines/cruise/cruise.h | 3 +-- engines/cruise/menu.cpp | 2 +- engines/dialogs.cpp | 4 ++-- engines/draci/draci.cpp | 2 +- engines/draci/draci.h | 2 +- engines/engine.cpp | 2 +- engines/engine.h | 2 +- engines/hugo/hugo.cpp | 2 +- engines/hugo/hugo.h | 2 +- engines/lure/lure.h | 2 +- engines/mohawk/myst.cpp | 2 +- engines/mohawk/myst.h | 2 +- engines/mohawk/riven.cpp | 2 +- engines/mohawk/riven.h | 2 +- engines/queen/queen.cpp | 4 ++-- engines/queen/queen.h | 2 +- engines/saga/detection.cpp | 4 ++-- engines/saga/saga.h | 2 +- engines/sci/detection.cpp | 2 +- engines/sci/engine/savegame.cpp | 2 +- engines/sci/engine/savegame.h | 2 +- engines/sci/sci.h | 2 +- engines/scumm/input.cpp | 2 +- engines/scumm/saveload.cpp | 19 +++++++++---------- engines/scumm/scumm.cpp | 3 +-- engines/scumm/scumm.h | 6 +++--- engines/sky/detection.cpp | 2 +- engines/sky/sky.h | 2 +- engines/sword1/detection.cpp | 4 ++-- engines/sword1/sword1.h | 2 +- engines/sword2/sword2.cpp | 4 ++-- engines/sword2/sword2.h | 2 +- engines/sword25/sword25.h | 2 +- engines/teenagent/teenagent.cpp | 4 ++-- engines/teenagent/teenagent.h | 2 +- engines/tinsel/detection.cpp | 2 +- engines/tinsel/tinsel.h | 2 +- engines/toon/toon.h | 2 +- engines/touche/saveload.cpp | 4 ++-- engines/touche/touche.h | 2 +- engines/tsage/tsage.cpp | 2 +- engines/tsage/tsage.h | 2 +- engines/tucker/saveload.cpp | 2 +- engines/tucker/tucker.h | 2 +- 50 files changed, 71 insertions(+), 74 deletions(-) (limited to 'engines') diff --git a/engines/agi/agi.h b/engines/agi/agi.h index a42148b1ef..0155caf11d 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -807,7 +807,7 @@ public: virtual ~AgiEngine(); Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); private: uint32 _lastTick; diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp index deda186439..7eaf13d889 100644 --- a/engines/agi/saveload.cpp +++ b/engines/agi/saveload.cpp @@ -1017,10 +1017,10 @@ Common::Error AgiEngine::loadGameState(int slot) { } } -Common::Error AgiEngine::saveGameState(int slot, const char *desc) { +Common::Error AgiEngine::saveGameState(int slot, const Common::String &desc) { char saveLoadSlot[12]; sprintf(saveLoadSlot, "%s.%.3d", _targetName.c_str(), slot); - if (saveGame(saveLoadSlot, desc) == errOK) + if (saveGame(saveLoadSlot, desc.c_str()) == errOK) return Common::kNoError; else return Common::kUnknownError; diff --git a/engines/cine/cine.h b/engines/cine/cine.h index 371ea0dd1f..55376dce29 100644 --- a/engines/cine/cine.h +++ b/engines/cine/cine.h @@ -126,7 +126,7 @@ public: int modifyGameSpeed(int speedChange); int getTimerDelay() const; Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canLoadGameStateCurrently(); bool canSaveGameStateCurrently(); @@ -148,7 +148,7 @@ private: void resetEngine(); bool loadPlainSaveFW(Common::SeekableReadStream &in, CineSaveGameFormat saveGameFormat); bool loadTempSaveOS(Common::SeekableReadStream &in); - bool makeLoad(char *saveName); + bool makeLoad(const Common::String &saveName); void makeSaveFW(Common::OutSaveFile &out); void makeSaveOS(Common::OutSaveFile &out); void makeSave(char *saveFileName); diff --git a/engines/cine/detection.cpp b/engines/cine/detection.cpp index 64eee4574f..738366124c 100644 --- a/engines/cine/detection.cpp +++ b/engines/cine/detection.cpp @@ -232,16 +232,16 @@ Common::Error CineEngine::loadGameState(int slot) { return gameLoaded ? Common::kNoError : Common::kUnknownError; } -Common::Error CineEngine::saveGameState(int slot, const char *desc) { +Common::Error CineEngine::saveGameState(int slot, const Common::String &desc) { // Load savegame descriptions from index file loadSaveDirectory(); // Set description for selected slot making sure it ends with a trailing zero - strncpy(currentSaveName[slot], desc, 20); + strncpy(currentSaveName[slot], desc.c_str(), 20); currentSaveName[slot][sizeof(CommandeType) - 1] = 0; // Update savegame descriptions - Common::String indexFile = Common::String::format("%s.dir", _targetName.c_str()); + Common::String indexFile = _targetName + ".dir"; Common::OutSaveFile *fHandle = _saveFileMan->openForSaving(indexFile); if (!fHandle) { diff --git a/engines/cine/saveload.cpp b/engines/cine/saveload.cpp index e51d07b1a5..0ea1a23e8f 100644 --- a/engines/cine/saveload.cpp +++ b/engines/cine/saveload.cpp @@ -765,7 +765,7 @@ bool CineEngine::loadPlainSaveFW(Common::SeekableReadStream &in, CineSaveGameFor return !(in.eos() || in.err()); } -bool CineEngine::makeLoad(char *saveName) { +bool CineEngine::makeLoad(const Common::String &saveName) { Common::SharedPtr saveFile(_saveFileMan->openForLoading(saveName)); if (!saveFile) { diff --git a/engines/cruise/cruise.cpp b/engines/cruise/cruise.cpp index b57e0ab188..cf01d9bdbc 100644 --- a/engines/cruise/cruise.cpp +++ b/engines/cruise/cruise.cpp @@ -209,7 +209,7 @@ bool CruiseEngine::canLoadGameStateCurrently() { return playerMenuEnabled != 0; } -Common::Error CruiseEngine::saveGameState(int slot, const char *desc) { +Common::Error CruiseEngine::saveGameState(int slot, const Common::String &desc) { return saveSavegameData(slot, desc); } diff --git a/engines/cruise/cruise.h b/engines/cruise/cruise.h index 44e3f26d9d..900f677975 100644 --- a/engines/cruise/cruise.h +++ b/engines/cruise/cruise.h @@ -71,7 +71,6 @@ private: void initialize(); void deinitialize(); bool loadLanguageStrings(); - bool makeLoad(char *saveName); void mainLoop(); int processInput(); protected: @@ -100,7 +99,7 @@ public: static const char *getSavegameFile(int saveGameIdx); virtual Common::Error loadGameState(int slot); virtual bool canLoadGameStateCurrently(); - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); virtual bool canSaveGameStateCurrently(); virtual void syncSoundSettings(); diff --git a/engines/cruise/menu.cpp b/engines/cruise/menu.cpp index bb81797216..e763e2b8a1 100644 --- a/engines/cruise/menu.cpp +++ b/engines/cruise/menu.cpp @@ -228,7 +228,7 @@ static void handleSaveLoad(bool saveFlag) { result = Common::String::format("Save %d", slot + 1); } - _vm->saveGameState(slot, result.c_str()); + _vm->saveGameState(slot, result); } } diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp index f9b1c1e8b5..3fd8671e55 100644 --- a/engines/dialogs.cpp +++ b/engines/dialogs.cpp @@ -229,9 +229,9 @@ void MainMenuDialog::save() { // If the user was lazy and entered no save name, come up with a default name. Common::String buf; buf = Common::String::format("Save %d", slot + 1); - _engine->saveGameState(slot, buf.c_str()); + _engine->saveGameState(slot, buf); } else { - _engine->saveGameState(slot, result.c_str()); + _engine->saveGameState(slot, result); } close(); diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp index a5236b5835..67e043632e 100644 --- a/engines/draci/draci.cpp +++ b/engines/draci/draci.cpp @@ -461,7 +461,7 @@ bool DraciEngine::canLoadGameStateCurrently() { (_game->getLoopSubstatus() == kOuterLoop); } -Common::Error DraciEngine::saveGameState(int slot, const char *desc) { +Common::Error DraciEngine::saveGameState(int slot, const Common::String &desc) { return saveSavegameData(slot, desc, *this); } diff --git a/engines/draci/draci.h b/engines/draci/draci.h index f99bdd5b8e..55ebff083e 100644 --- a/engines/draci/draci.h +++ b/engines/draci/draci.h @@ -70,7 +70,7 @@ public: static Common::String getSavegameFile(int saveGameIdx); virtual Common::Error loadGameState(int slot); virtual bool canLoadGameStateCurrently(); - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); virtual bool canSaveGameStateCurrently(); GUI::Debugger *getDebugger() { return _console; } diff --git a/engines/engine.cpp b/engines/engine.cpp index 6c153310b6..210b0b46a3 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -470,7 +470,7 @@ bool Engine::canLoadGameStateCurrently() { return false; } -Common::Error Engine::saveGameState(int slot, const char *desc) { +Common::Error Engine::saveGameState(int slot, const Common::String &desc) { // Do nothing by default return Common::kNoError; } diff --git a/engines/engine.h b/engines/engine.h index 375df2b0a3..d7d971ad97 100644 --- a/engines/engine.h +++ b/engines/engine.h @@ -196,7 +196,7 @@ public: * @param desc a description for the savestate, entered by the user * @return returns kNoError on success, else an error code. */ - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); /** * Indicates whether a game state can be saved. diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp index a08dbc094b..10d61f25a2 100644 --- a/engines/hugo/hugo.cpp +++ b/engines/hugo/hugo.cpp @@ -130,7 +130,7 @@ void HugoEngine::setMaxScore(const int newScore) { _maxscore = newScore; } -Common::Error HugoEngine::saveGameState(int slot, const char *desc) { +Common::Error HugoEngine::saveGameState(int slot, const Common::String &desc) { return (_file->saveGame(slot, desc) ? Common::kWritingFailed : Common::kNoError); } diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h index b5b8d5ea61..81d194f1d6 100644 --- a/engines/hugo/hugo.h +++ b/engines/hugo/hugo.h @@ -301,7 +301,7 @@ public: void adjustScore(const int adjustment); int getMaxScore() const; void setMaxScore(const int newScore); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); Common::Error loadGameState(int slot); bool hasFeature(EngineFeature f) const; const char *getCopyrightString() const; diff --git a/engines/lure/lure.h b/engines/lure/lure.h index 7a67c8b855..34bb9f1639 100644 --- a/engines/lure/lure.h +++ b/engines/lure/lure.h @@ -123,7 +123,7 @@ public: virtual Common::Error loadGameState(int slot) { return loadGame(slot) ? Common::kReadingFailed : Common::kNoError; } - virtual Common::Error saveGameState(int slot, const char *desc) { + virtual Common::Error saveGameState(int slot, const Common::String &desc) { Common::String s(desc); return saveGame(slot, s) ? Common::kReadingFailed : Common::kNoError; } diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp index 4f9c3a893e..b60f8bd1ee 100644 --- a/engines/mohawk/myst.cpp +++ b/engines/mohawk/myst.cpp @@ -1168,7 +1168,7 @@ Common::Error MohawkEngine_Myst::loadGameState(int slot) { return Common::kUnknownError; } -Common::Error MohawkEngine_Myst::saveGameState(int slot, const char *desc) { +Common::Error MohawkEngine_Myst::saveGameState(int slot, const Common::String &desc) { Common::StringArray saveList = _gameState->generateSaveGameList(); if ((uint)slot < saveList.size()) diff --git a/engines/mohawk/myst.h b/engines/mohawk/myst.h index 5edf774ed0..ebcc3b445c 100644 --- a/engines/mohawk/myst.h +++ b/engines/mohawk/myst.h @@ -193,7 +193,7 @@ public: bool canLoadGameStateCurrently(); bool canSaveGameStateCurrently(); Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool hasFeature(EngineFeature f) const; private: diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index f407e650f6..57a0ac717d 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -727,7 +727,7 @@ Common::Error MohawkEngine_Riven::loadGameState(int slot) { return _saveLoad->loadGame(_saveLoad->generateSaveGameList()[slot]) ? Common::kNoError : Common::kUnknownError; } -Common::Error MohawkEngine_Riven::saveGameState(int slot, const char *desc) { +Common::Error MohawkEngine_Riven::saveGameState(int slot, const Common::String &desc) { Common::StringArray saveList = _saveLoad->generateSaveGameList(); if ((uint)slot < saveList.size()) diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h index e01e03895c..c80f497e37 100644 --- a/engines/mohawk/riven.h +++ b/engines/mohawk/riven.h @@ -126,7 +126,7 @@ public: bool canLoadGameStateCurrently() { return true; } bool canSaveGameStateCurrently() { return true; } Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool hasFeature(EngineFeature f) const; typedef void (*TimerProc)(MohawkEngine_Riven *vm); diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 3c1826cd69..bd0dea45bb 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -318,7 +318,7 @@ bool QueenEngine::canLoadOrSave() const { return !_input->cutawayRunning() && !(_resource->isDemo() || _resource->isInterview()); } -Common::Error QueenEngine::saveGameState(int slot, const char *desc) { +Common::Error QueenEngine::saveGameState(int slot, const Common::String &desc) { debug(3, "Saving game to slot %d", slot); char name[20]; Common::Error err = Common::kNoError; @@ -341,7 +341,7 @@ Common::Error QueenEngine::saveGameState(int slot, const char *desc) { file->writeUint32BE(0); file->writeUint32BE(dataSize); char description[32]; - Common::strlcpy(description, desc, sizeof(description)); + Common::strlcpy(description, desc.c_str(), sizeof(description)); file->write(description, sizeof(description)); // write save data diff --git a/engines/queen/queen.h b/engines/queen/queen.h index 5affe8e01a..bb299e2a80 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -112,7 +112,7 @@ public: void update(bool checkPlayerInput = false); bool canLoadOrSave() const; - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); Common::Error loadGameState(int slot); void makeGameStateName(int slot, char *buf) const; int getGameStateSlot(const char *filename) const; diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp index b23baf4cc3..4e544e4e5d 100644 --- a/engines/saga/detection.cpp +++ b/engines/saga/detection.cpp @@ -363,8 +363,8 @@ Common::Error SagaEngine::loadGameState(int slot) { return Common::kNoError; // TODO: return success/failure } -Common::Error SagaEngine::saveGameState(int slot, const char *desc) { - save(calcSaveFileName((uint)slot), desc); +Common::Error SagaEngine::saveGameState(int slot, const Common::String &desc) { + save(calcSaveFileName((uint)slot), desc.c_str()); return Common::kNoError; // TODO: return success/failure } diff --git a/engines/saga/saga.h b/engines/saga/saga.h index 6d33979028..23258e1277 100644 --- a/engines/saga/saga.h +++ b/engines/saga/saga.h @@ -654,7 +654,7 @@ public: const Common::Rect &getDisplayClip() const { return _displayClip;} Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canLoadGameStateCurrently(); bool canSaveGameStateCurrently(); const GameDisplayInfo &getDisplayInfo(); diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index 61e6cc9d09..100b71efa7 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -748,7 +748,7 @@ Common::Error SciEngine::loadGameState(int slot) { } } -Common::Error SciEngine::saveGameState(int slot, const char *desc) { +Common::Error SciEngine::saveGameState(int slot, const Common::String &desc) { Common::String fileName = Common::String::format("%s.%03d", _targetName.c_str(), slot); Common::SaveFileManager *saveFileMan = g_engine->getSaveFileManager(); Common::OutSaveFile *out = saveFileMan->openForSaving(fileName); diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 65b5e602ff..e43c7097ed 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -805,7 +805,7 @@ void SegManager::reconstructClones() { #pragma mark - -bool gamestate_save(EngineState *s, Common::WriteStream *fh, const char* savename, const char *version) { +bool gamestate_save(EngineState *s, Common::WriteStream *fh, const Common::String &savename, const Common::String &version) { TimeDate curTime; g_system->getTimeAndDate(curTime); diff --git a/engines/sci/engine/savegame.h b/engines/sci/engine/savegame.h index ff5bc5204b..fbd77eb076 100644 --- a/engines/sci/engine/savegame.h +++ b/engines/sci/engine/savegame.h @@ -79,7 +79,7 @@ struct SavegameMetadata { * @param savename The description of the savegame * @return 0 on success, 1 otherwise */ -bool gamestate_save(EngineState *s, Common::WriteStream *save, const char *savename, const char *version); +bool gamestate_save(EngineState *s, Common::WriteStream *save, const Common::String &savename, const Common::String &version); /** * Restores a game state from a directory. diff --git a/engines/sci/sci.h b/engines/sci/sci.h index a340447354..77718e4b37 100644 --- a/engines/sci/sci.h +++ b/engines/sci/sci.h @@ -221,7 +221,7 @@ public: virtual GUI::Debugger *getDebugger(); Console *getSciDebugger(); Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canLoadGameStateCurrently(); bool canSaveGameStateCurrently(); void syncSoundSettings(); diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index ff85bd0a61..07c52578c3 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -117,7 +117,7 @@ void ScummEngine::parseEvent(Common::Event event) { if (_saveLoadSlot == 0) _saveLoadSlot = 10; - sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot); + _saveLoadDescription = Common::String::format("Quicksave %d", _saveLoadSlot); _saveLoadFlag = (event.kbd.hasFlags(Common::KBD_ALT)) ? 1 : 2; _saveTemporaryState = false; } else if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_f) { diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index f5d219c721..19834cb35d 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -103,7 +103,7 @@ bool ScummEngine::canLoadGameStateCurrently() { return (VAR_MAINMENU_KEY == 0xFF || VAR(VAR_MAINMENU_KEY) != 0); } -Common::Error ScummEngine::saveGameState(int slot, const char *desc) { +Common::Error ScummEngine::saveGameState(int slot, const Common::String &desc) { requestSave(slot, desc); return Common::kNoError; } @@ -135,13 +135,11 @@ bool ScummEngine::canSaveGameStateCurrently() { } -void ScummEngine::requestSave(int slot, const char *name) { +void ScummEngine::requestSave(int slot, const Common::String &name) { _saveLoadSlot = slot; _saveTemporaryState = false; _saveLoadFlag = 1; // 1 for save - assert(name); - strncpy(_saveLoadName, name, sizeof(_saveLoadName)); - _saveLoadName[sizeof(_saveLoadName) - 1] = 0; + _saveLoadDescription = name; } void ScummEngine::requestLoad(int slot) { @@ -166,7 +164,7 @@ bool ScummEngine::saveState(Common::OutSaveFile *out, bool writeHeader) { SaveGameHeader hdr; if (writeHeader) { - memcpy(hdr.name, _saveLoadName, sizeof(hdr.name)); + Common::strlcpy(hdr.name, _saveLoadDescription.c_str(), sizeof(hdr.name)); saveSaveGameHeader(out, hdr); } #if !defined(__DS__) && !defined(__N64__) /* && !defined(__PLAYSTATION2__) */ @@ -387,7 +385,8 @@ bool ScummEngine::loadState(int slot, bool compat) { if (hdr.ver == VER(7)) hdr.ver = VER(8); - memcpy(_saveLoadName, hdr.name, sizeof(hdr.name)); + hdr.name[sizeof(hdr.name)-1] = 0; + _saveLoadDescription = hdr.name; // Unless specifically requested with _saveSound, we do not save the iMUSE // state for temporary state saves - such as certain cutscenes in DOTT, @@ -589,9 +588,9 @@ bool ScummEngine::loadState(int slot, bool compat) { } Common::String ScummEngine::makeSavegameName(const Common::String &target, int slot, bool temporary) { - char extension[6]; - snprintf(extension, sizeof(extension), ".%c%02d", temporary ? 'c' : 's', slot); - return (target + extension); + Common::String extension; + extension = Common::String::format(".%c%02d", temporary ? 'c' : 's', slot); + return target + extension; } void ScummEngine::listSavegames(bool *marks, int num) { diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index e8dd6cb548..c0c477a597 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -213,7 +213,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) _saveLoadSlot = 0; _lastSaveTime = 0; _saveTemporaryState = false; - memset(_saveLoadName, 0, sizeof(_saveLoadName)); memset(_localScriptOffsets, 0, sizeof(_localScriptOffsets)); _scriptPointer = NULL; _scriptOrgPointer = NULL; @@ -2056,7 +2055,7 @@ void ScummEngine::scummLoop(int delta) { // Trigger autosave if necessary. if (!_saveLoadFlag && shouldPerformAutoSave(_lastSaveTime) && canSaveGameStateCurrently()) { _saveLoadSlot = 0; - sprintf(_saveLoadName, "Autosave %d", _saveLoadSlot); + _saveLoadDescription = Common::String::format("Autosave %d", _saveLoadSlot); _saveLoadFlag = 1; _saveTemporaryState = false; } diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index d1804d323e..6e75f47d77 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -401,7 +401,7 @@ public: virtual Common::Error loadGameState(int slot); virtual bool canLoadGameStateCurrently(); - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); virtual bool canSaveGameStateCurrently(); virtual void pauseEngineIntern(bool pause); @@ -572,7 +572,7 @@ protected: uint32 _lastSaveTime; bool _saveTemporaryState; Common::String _saveLoadFileName; - char _saveLoadName[32]; + Common::String _saveLoadDescription; bool saveState(Common::OutSaveFile *out, bool writeHeader = true); bool saveState(int slot, bool compat); @@ -594,7 +594,7 @@ public: bool getSavegameName(int slot, Common::String &desc); void listSavegames(bool *marks, int num); - void requestSave(int slot, const char *name); + void requestSave(int slot, const Common::String &name); void requestLoad(int slot); // thumbnail + info stuff diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp index 6844d2eacb..e974f5ae3e 100644 --- a/engines/sky/detection.cpp +++ b/engines/sky/detection.cpp @@ -282,7 +282,7 @@ Common::Error SkyEngine::loadGameState(int slot) { return (result == GAME_RESTORED) ? Common::kNoError : Common::kUnknownError; } -Common::Error SkyEngine::saveGameState(int slot, const char *desc) { +Common::Error SkyEngine::saveGameState(int slot, const Common::String &desc) { if (slot == 0) return Common::kWritePermissionDenied; // we can't overwrite the auto save diff --git a/engines/sky/sky.h b/engines/sky/sky.h index 0b5f4c5c1c..cd8a650d60 100644 --- a/engines/sky/sky.h +++ b/engines/sky/sky.h @@ -87,7 +87,7 @@ public: static bool isCDVersion(); Common::Error loadGameState(int slot); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canLoadGameStateCurrently(); bool canSaveGameStateCurrently(); diff --git a/engines/sword1/detection.cpp b/engines/sword1/detection.cpp index b02cadc6db..48c3a0d14d 100644 --- a/engines/sword1/detection.cpp +++ b/engines/sword1/detection.cpp @@ -336,8 +336,8 @@ bool SwordEngine::canLoadGameStateCurrently() { return (mouseIsActive() && !_control->isPanelShown()); // Disable GMM loading when game panel is shown } -Common::Error SwordEngine::saveGameState(int slot, const char *desc) { - _control->setSaveDescription(slot, desc); +Common::Error SwordEngine::saveGameState(int slot, const Common::String &desc) { + _control->setSaveDescription(slot, desc.c_str()); _control->saveGameToFile(slot); return Common::kNoError; // TODO: return success/failure } diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h index c83cb76461..2d6db21d19 100644 --- a/engines/sword1/sword1.h +++ b/engines/sword1/sword1.h @@ -110,7 +110,7 @@ protected: Common::Error loadGameState(int slot); bool canLoadGameStateCurrently(); - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canSaveGameStateCurrently(); private: diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp index 99ffd5586e..87c7c12ad6 100644 --- a/engines/sword2/sword2.cpp +++ b/engines/sword2/sword2.cpp @@ -773,8 +773,8 @@ uint32 Sword2Engine::getMillis() { return _system->getMillis(); } -Common::Error Sword2Engine::saveGameState(int slot, const char *desc) { - uint32 saveVal = saveGame(slot, (const byte *)desc); +Common::Error Sword2Engine::saveGameState(int slot, const Common::String &desc) { + uint32 saveVal = saveGame(slot, (const byte *)desc.c_str()); if (saveVal == SR_OK) return Common::kNoError; diff --git a/engines/sword2/sword2.h b/engines/sword2/sword2.h index ee9ea9f27b..ef5c2b215e 100644 --- a/engines/sword2/sword2.h +++ b/engines/sword2/sword2.h @@ -164,7 +164,7 @@ public: void setSubtitles(bool b) { _useSubtitles = b; } // GMM Loading/Saving - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); bool canSaveGameStateCurrently(); Common::Error loadGameState(int slot); bool canLoadGameStateCurrently(); diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h index 5d11aa69e5..1254ea177b 100644 --- a/engines/sword25/sword25.h +++ b/engines/sword25/sword25.h @@ -82,7 +82,7 @@ protected: // void pauseEngineIntern(bool pause); // TODO: Implement this!!! // void syncSoundSettings(); // TODO: Implement this!!! // Common::Error loadGameState(int slot); // TODO: Implement this? -// Common::Error saveGameState(int slot, const char *desc); // TODO: Implement this? +// Common::Error saveGameState(int slot, const Common::String &desc); // TODO: Implement this? // bool canLoadGameStateCurrently(); // TODO: Implement this? // bool canSaveGameStateCurrently(); // TODO: Implement this? diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp index f076dbc0a1..ce8862ffd0 100644 --- a/engines/teenagent/teenagent.cpp +++ b/engines/teenagent/teenagent.cpp @@ -240,7 +240,7 @@ Common::Error TeenAgentEngine::loadGameState(int slot) { return Common::kNoError; } -Common::Error TeenAgentEngine::saveGameState(int slot, const char *desc) { +Common::Error TeenAgentEngine::saveGameState(int slot, const Common::String &desc) { debug(0, "saving to slot %d", slot); Common::ScopedPtr out(_saveFileMan->openForSaving(Common::String::format("teenagent.%02d", slot))); if (!out) @@ -253,7 +253,7 @@ Common::Error TeenAgentEngine::saveGameState(int slot, const char *desc) { res->dseg.set_word(0x64B1, pos.y); assert(res->dseg.size() >= 0x6478 + 0x777a); - strncpy((char *)res->dseg.ptr(0x6478), desc, 0x16); + strncpy((char *)res->dseg.ptr(0x6478), desc.c_str(), 0x16); out->write(res->dseg.ptr(0x6478), 0x777a); if (!Graphics::saveThumbnail(*out)) warning("saveThumbnail failed"); diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h index bc802da8bc..a054f72d25 100644 --- a/engines/teenagent/teenagent.h +++ b/engines/teenagent/teenagent.h @@ -56,7 +56,7 @@ public: virtual Common::Error run(); virtual Common::Error loadGameState(int slot); - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); virtual bool canLoadGameStateCurrently() { return true; } virtual bool canSaveGameStateCurrently() { return !scene_busy; } virtual bool hasFeature(EngineFeature f) const; diff --git a/engines/tinsel/detection.cpp b/engines/tinsel/detection.cpp index 27b16c5b93..0f0e3cd1ef 100644 --- a/engines/tinsel/detection.cpp +++ b/engines/tinsel/detection.cpp @@ -410,7 +410,7 @@ Common::Error TinselEngine::loadGameState(int slot) { } #if 0 -Common::Error TinselEngine::saveGameState(int slot, const char *desc) { +Common::Error TinselEngine::saveGameState(int slot, const Common::String &desc) { Common::String saveName = _vm->getSavegameFilename((int16)(slot + 1)); char saveDesc[SG_DESC_LEN]; Common::strlcpy(saveDesc, desc, SG_DESC_LEN); diff --git a/engines/tinsel/tinsel.h b/engines/tinsel/tinsel.h index d0875f9fdf..30b060766e 100644 --- a/engines/tinsel/tinsel.h +++ b/engines/tinsel/tinsel.h @@ -169,7 +169,7 @@ protected: virtual bool hasFeature(EngineFeature f) const; Common::Error loadGameState(int slot); #if 0 - Common::Error saveGameState(int slot, const char *desc); + Common::Error saveGameState(int slot, const Common::String &desc); #endif bool canLoadGameStateCurrently(); #if 0 diff --git a/engines/toon/toon.h b/engines/toon/toon.h index 1eaa5022a9..02828f26d1 100644 --- a/engines/toon/toon.h +++ b/engines/toon/toon.h @@ -318,7 +318,7 @@ public: return _shouldQuit; } - Common::Error saveGameState(int slot, const char *desc) { + Common::Error saveGameState(int slot, const Common::String &desc) { return (saveGame(slot, desc) ? Common::kWritingFailed : Common::kNoError); } diff --git a/engines/touche/saveload.cpp b/engines/touche/saveload.cpp index 334f75a0e8..7732c6deb9 100644 --- a/engines/touche/saveload.cpp +++ b/engines/touche/saveload.cpp @@ -319,7 +319,7 @@ void ToucheEngine::loadGameStateData(Common::ReadStream *stream) { debug(0, "Loaded state, current episode %d", _currentEpisodeNum); } -Common::Error ToucheEngine::saveGameState(int num, const char *description) { +Common::Error ToucheEngine::saveGameState(int num, const Common::String &description) { bool saveOk = false; Common::String gameStateFileName = generateGameStateFileName(_targetName.c_str(), num); Common::OutSaveFile *f = _saveFileMan->openForSaving(gameStateFileName); @@ -328,7 +328,7 @@ Common::Error ToucheEngine::saveGameState(int num, const char *description) { f->writeUint16LE(0); char headerDescription[kGameStateDescriptionLen]; memset(headerDescription, 0, kGameStateDescriptionLen); - strncpy(headerDescription, description, kGameStateDescriptionLen - 1); + strncpy(headerDescription, description.c_str(), kGameStateDescriptionLen - 1); f->write(headerDescription, kGameStateDescriptionLen); saveGameStateData(f); f->finalize(); diff --git a/engines/touche/touche.h b/engines/touche/touche.h index c8d7504754..7e1aa3ac44 100644 --- a/engines/touche/touche.h +++ b/engines/touche/touche.h @@ -513,7 +513,7 @@ protected: void saveGameStateData(Common::WriteStream *stream); void loadGameStateData(Common::ReadStream *stream); - virtual Common::Error saveGameState(int num, const char *description); + virtual Common::Error saveGameState(int num, const Common::String &description); virtual Common::Error loadGameState(int num); virtual bool canLoadGameStateCurrently(); virtual bool canSaveGameStateCurrently(); diff --git a/engines/tsage/tsage.cpp b/engines/tsage/tsage.cpp index 6fae9785c0..50ce0ce4be 100644 --- a/engines/tsage/tsage.cpp +++ b/engines/tsage/tsage.cpp @@ -124,7 +124,7 @@ Common::Error TSageEngine::loadGameState(int slot) { /** * Save the game to the given slot index, and with the given name */ -Common::Error TSageEngine::saveGameState(int slot, const char *desc) { +Common::Error TSageEngine::saveGameState(int slot, const Common::String &desc) { return _saver->save(slot, desc); } diff --git a/engines/tsage/tsage.h b/engines/tsage/tsage.h index e3d37257cd..563fdfcc21 100644 --- a/engines/tsage/tsage.h +++ b/engines/tsage/tsage.h @@ -83,7 +83,7 @@ public: virtual bool canLoadGameStateCurrently(); virtual bool canSaveGameStateCurrently(); virtual Common::Error loadGameState(int slot); - virtual Common::Error saveGameState(int slot, const char *desc); + virtual Common::Error saveGameState(int slot, const Common::String &desc); Common::String generateSaveName(int slot); void initialize(); diff --git a/engines/tucker/saveload.cpp b/engines/tucker/saveload.cpp index 754e8deae9..9a2e97986a 100644 --- a/engines/tucker/saveload.cpp +++ b/engines/tucker/saveload.cpp @@ -101,7 +101,7 @@ Common::Error TuckerEngine::loadGameState(int num) { return ret; } -Common::Error TuckerEngine::saveGameState(int num, const char *description) { +Common::Error TuckerEngine::saveGameState(int num, const Common::String &description) { Common::Error ret = Common::kNoError; Common::String gameStateFileName = generateGameStateFileName(_targetName.c_str(), num); Common::OutSaveFile *f = _saveFileMan->openForSaving(gameStateFileName); diff --git a/engines/tucker/tucker.h b/engines/tucker/tucker.h index b011d65cbb..e676369427 100644 --- a/engines/tucker/tucker.h +++ b/engines/tucker/tucker.h @@ -565,7 +565,7 @@ protected: template void saveOrLoadGameStateData(S &s); virtual Common::Error loadGameState(int num); - virtual Common::Error saveGameState(int num, const char *description); + virtual Common::Error saveGameState(int num, const Common::String &description); virtual bool canLoadGameStateCurrently(); virtual bool canSaveGameStateCurrently(); -- cgit v1.2.3