diff options
| -rw-r--r-- | engines/sci/sci.cpp | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 5d67e5c5d7..d58cdd5986 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -277,10 +277,6 @@ bool SciEngine::initGame() {  	}  	_gamestate->initGlobals(); - -	if (_gamestate->abortScriptProcessing == kAbortRestartGame && _gfxMenu) -		_gfxMenu->reset(); -  	_gamestate->_segMan->initSysStrings();  	_gamestate->r_acc = _gamestate->r_prev = NULL_REG; @@ -415,16 +411,19 @@ void SciEngine::runGame() {  		exitGame();  		if (_gamestate->abortScriptProcessing == kAbortRestartGame) { -			_gamestate->abortScriptProcessing = kAbortNone;  			_gamestate->_segMan->resetSegMan();  			initGame();  			initStackBaseWithSelector(SELECTOR(play));  			_gamestate->gameWasRestarted = true; +			if (_gfxMenu) +				_gfxMenu->reset(); +			_gamestate->abortScriptProcessing = kAbortNone;  		} else if (_gamestate->abortScriptProcessing == kAbortLoadGame) {  			_gamestate->abortScriptProcessing = kAbortNone;  			_gamestate->_executionStack.clear();  			initStackBaseWithSelector(SELECTOR(replay));  			_gamestate->shrinkStackToBase(); +			_gamestate->abortScriptProcessing = kAbortNone;  		} else {  			break;	// exit loop  		} | 
