aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2011-06-02 14:11:38 +0200
committerMax Horn2011-06-02 18:31:59 +0200
commit477d6233c3672d9a60cceea3570bc775df3d9253 (patch)
tree741ffe9dcb35fd2c9de405b7da74e572451c8304 /engines
parent86240bb0dc0103e5099d23770cc04cfd907d2c61 (diff)
downloadscummvm-rg350-477d6233c3672d9a60cceea3570bc775df3d9253.tar.gz
scummvm-rg350-477d6233c3672d9a60cceea3570bc775df3d9253.tar.bz2
scummvm-rg350-477d6233c3672d9a60cceea3570bc775df3d9253.zip
ENGINES: Change 2nd param of Engine::saveGameState to Common::String
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/agi.h2
-rw-r--r--engines/agi/saveload.cpp4
-rw-r--r--engines/cine/cine.h4
-rw-r--r--engines/cine/detection.cpp6
-rw-r--r--engines/cine/saveload.cpp2
-rw-r--r--engines/cruise/cruise.cpp2
-rw-r--r--engines/cruise/cruise.h3
-rw-r--r--engines/cruise/menu.cpp2
-rw-r--r--engines/dialogs.cpp4
-rw-r--r--engines/draci/draci.cpp2
-rw-r--r--engines/draci/draci.h2
-rw-r--r--engines/engine.cpp2
-rw-r--r--engines/engine.h2
-rw-r--r--engines/hugo/hugo.cpp2
-rw-r--r--engines/hugo/hugo.h2
-rw-r--r--engines/lure/lure.h2
-rw-r--r--engines/mohawk/myst.cpp2
-rw-r--r--engines/mohawk/myst.h2
-rw-r--r--engines/mohawk/riven.cpp2
-rw-r--r--engines/mohawk/riven.h2
-rw-r--r--engines/queen/queen.cpp4
-rw-r--r--engines/queen/queen.h2
-rw-r--r--engines/saga/detection.cpp4
-rw-r--r--engines/saga/saga.h2
-rw-r--r--engines/sci/detection.cpp2
-rw-r--r--engines/sci/engine/savegame.cpp2
-rw-r--r--engines/sci/engine/savegame.h2
-rw-r--r--engines/sci/sci.h2
-rw-r--r--engines/scumm/input.cpp2
-rw-r--r--engines/scumm/saveload.cpp19
-rw-r--r--engines/scumm/scumm.cpp3
-rw-r--r--engines/scumm/scumm.h6
-rw-r--r--engines/sky/detection.cpp2
-rw-r--r--engines/sky/sky.h2
-rw-r--r--engines/sword1/detection.cpp4
-rw-r--r--engines/sword1/sword1.h2
-rw-r--r--engines/sword2/sword2.cpp4
-rw-r--r--engines/sword2/sword2.h2
-rw-r--r--engines/sword25/sword25.h2
-rw-r--r--engines/teenagent/teenagent.cpp4
-rw-r--r--engines/teenagent/teenagent.h2
-rw-r--r--engines/tinsel/detection.cpp2
-rw-r--r--engines/tinsel/tinsel.h2
-rw-r--r--engines/toon/toon.h2
-rw-r--r--engines/touche/saveload.cpp4
-rw-r--r--engines/touche/touche.h2
-rw-r--r--engines/tsage/tsage.cpp2
-rw-r--r--engines/tsage/tsage.h2
-rw-r--r--engines/tucker/saveload.cpp2
-rw-r--r--engines/tucker/tucker.h2
50 files changed, 71 insertions, 74 deletions
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<Common::InSaveFile> 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<Common::OutSaveFile> 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 <class S> 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();