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 | |
| parent | 92c979e99ab6edf85d20fe5ba693f5a7d14fb2e1 (diff) | |
| download | scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.tar.gz scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.tar.bz2 scummvm-rg350-13d5c2fa2629a9409f385ae8054fada0fc030eda.zip  | |
Save description with savegame
| -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;  | 
