diff options
| author | Martin Kiewitz | 2010-08-24 08:31:57 +0000 | 
|---|---|---|
| committer | Martin Kiewitz | 2010-08-24 08:31:57 +0000 | 
| commit | f1f24b7b28995ef78886c6a55a93ec2f13e62465 (patch) | |
| tree | 5224dee876bcb30c594c347ad287b2e88707feff | |
| parent | a484a99e9f27753ef1aaebb3b54159316410aed2 (diff) | |
| download | scummvm-rg350-f1f24b7b28995ef78886c6a55a93ec2f13e62465.tar.gz scummvm-rg350-f1f24b7b28995ef78886c6a55a93ec2f13e62465.tar.bz2 scummvm-rg350-f1f24b7b28995ef78886c6a55a93ec2f13e62465.zip | |
SCI: bit more work on restore dialog replacing
(works now, if enabled - but music isn't yet paused)
svn-id: r52317
| -rw-r--r-- | engines/sci/sci.cpp | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 07c8d42cb6..fdd3d5e379 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -254,8 +254,8 @@ Common::Error SciEngine::run() {  	debug("Emulating SCI version %s\n", getSciVersionDesc(getSciVersion())); -	// ENABLE THIS FOR REPLACING SIERRA GAME RESTORE DIALOG WITH SCUMMVM RESTORE -	//patchGameSaveRestore(segMan); +	// Patch in our save/restore code, so that dialogs are replaced +	patchGameSaveRestore(segMan);  	if (_gameDescription->flags & ADGF_ADDENGLISH) {  		// if game is multilingual @@ -347,6 +347,9 @@ void SciEngine::patchGameSaveRestore(SegManager *segMan) {  	const uint16 kernelCount = _kernel->getKernelNamesSize();  	byte kernelIdRestore = 0; +	// DISABLE NEXT LINE FOR REPLACING SIERRA GAME RESTORE DIALOG WITH SCUMMVM RESTORE +	return; +  	for (uint16 kernelNr = 0; kernelNr < kernelCount; kernelNr++) {  		Common::String kernelName = _kernel->getKernelName(kernelNr);  		if (kernelName == "RestoreGame") @@ -521,6 +524,7 @@ void SciEngine::runGame() {  			_gamestate->_segMan->resetSegMan();  			initGame();  			initStackBaseWithSelector(SELECTOR(play)); +			patchGameSaveRestore(_gamestate->_segMan);  			_gamestate->gameIsRestarting = GAMEISRESTARTING_RESTART;  			if (_gfxMenu)  				_gfxMenu->reset(); @@ -529,6 +533,7 @@ void SciEngine::runGame() {  			_gamestate->abortScriptProcessing = kAbortNone;  			_gamestate->_executionStack.clear();  			initStackBaseWithSelector(SELECTOR(replay)); +			patchGameSaveRestore(_gamestate->_segMan);  			_gamestate->shrinkStackToBase();  			_gamestate->abortScriptProcessing = kAbortNone;  		} else { | 
