diff options
author | Eric Fry | 2018-04-20 12:17:00 +1000 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 13d5c2fa2629a9409f385ae8054fada0fc030eda (patch) | |
tree | 29b3e752da61280eda3d7dfe3a82816073f73963 /engines | |
parent | 92c979e99ab6edf85d20fe5ba693f5a7d14fb2e1 (diff) | |
download | scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.tar.gz scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.tar.bz2 scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.zip |
Save description with savegame
Diffstat (limited to 'engines')
-rw-r--r-- | engines/illusions/duckman/illusions_duckman.cpp | 3 | ||||
-rw-r--r-- | engines/illusions/illusions.h | 1 | ||||
-rw-r--r-- | engines/illusions/menusystem.cpp | 12 | ||||
-rw-r--r-- | engines/illusions/menusystem.h | 1 |
4 files changed, 12 insertions, 5 deletions
diff --git a/engines/illusions/duckman/illusions_duckman.cpp b/engines/illusions/duckman/illusions_duckman.cpp index 199bae7eb3..955aa8da84 100644 --- a/engines/illusions/duckman/illusions_duckman.cpp +++ b/engines/illusions/duckman/illusions_duckman.cpp @@ -1180,8 +1180,7 @@ bool IllusionsEngine_Duckman::loadSavegameFromScript(int16 slotNum, uint32 calli bool IllusionsEngine_Duckman::saveSavegameFromScript(int16 slotNum, uint32 callingThreadId) { const char *fileName = getSavegameFilename(_savegameSlotNum); - bool success = savegame(fileName, "");//_savegameDescription.c_str()); //TODO - return success; + return savegame(fileName, _savegameDescription.c_str()); } void IllusionsEngine_Duckman::activateSavegame(uint32 callingThreadId) { diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h index 40ed32702c..7154467873 100644 --- a/engines/illusions/illusions.h +++ b/engines/illusions/illusions.h @@ -139,6 +139,7 @@ public: int _resumeFromSavegameRequested; int _savegameSlotNum; + Common::String _savegameDescription; uint32 _savegameSceneId; uint32 _savegameThreadId; diff --git a/engines/illusions/menusystem.cpp b/engines/illusions/menusystem.cpp index c8bf36e6f4..f32bdc6a78 100644 --- a/engines/illusions/menusystem.cpp +++ b/engines/illusions/menusystem.cpp @@ -504,6 +504,10 @@ void BaseMenuSystem::setSavegameSlotNum(int slotNum) { _vm->_savegameSlotNum = slotNum; } +void BaseMenuSystem::setSavegameDescription(Common::String desc) { + _vm->_savegameDescription = desc; +} + void BaseMenuSystem::updateTimeOut(bool resetTimeOut) { if (!_isTimeOutEnabled) @@ -636,11 +640,13 @@ void MenuActionLoadGame::execute() { dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"), true); slot = dialog->runModalWithPluginAndTarget(plugin, ConfMan.getActiveDomainName()); + desc = dialog->getResultString().c_str(); - delete dialog; + delete dialog; - if (slot >= 0) { - _menuSystem->setSavegameSlotNum(slot); + if (slot >= 0) { + _menuSystem->setSavegameSlotNum(slot); + _menuSystem->setSavegameDescription(desc); _menuSystem->selectMenuChoiceIndex(_choiceIndex); } } diff --git a/engines/illusions/menusystem.h b/engines/illusions/menusystem.h index 26324c6786..6262cefc32 100644 --- a/engines/illusions/menusystem.h +++ b/engines/illusions/menusystem.h @@ -103,6 +103,7 @@ public: void setMenuCallerThreadId(uint32 menuCallerThreadId); void setMenuChoiceOffsets(MenuChoiceOffsets menuChoiceOffsets, int16 *menuChoiceOffset); void setSavegameSlotNum(int slotNum); + void setSavegameDescription(Common::String desc); virtual bool initMenuCursor() = 0; virtual int getGameState() = 0; virtual void setGameState(int gameState) = 0; |