diff options
| -rw-r--r-- | engines/tsage/core.cpp | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 9f20ea398f..96723570fc 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2138,18 +2138,18 @@ void SceneObject::draw() {   * in case it is moving   */  void SceneObject::updateScreen() { -	Rect objRect = _paneRects[CURRENT_PANENUM]; +	Rect srcRect = _paneRects[CURRENT_PANENUM];  	const Rect &sceneBounds = _globals->_sceneManager._scene->_sceneBounds; -	objRect.left = (objRect.left / 4) * 4; -	objRect.right = ((objRect.right + 3) / 4) * 4; -	objRect.clip(_globals->_sceneManager._scene->_sceneBounds); +	srcRect.left = (srcRect.left / 4) * 4; +	srcRect.right = ((srcRect.right + 3) / 4) * 4; +	srcRect.clip(_globals->_sceneManager._scene->_sceneBounds); -	if (objRect.isValidRect()) { -		Rect tempRect  = objRect; -		tempRect.translate(-_globals->_sceneOffset.x, -_globals->_sceneOffset.y); -		objRect.translate(-sceneBounds.left, -sceneBounds.top); +	if (srcRect.isValidRect()) { +		Rect destRect  = srcRect; +		destRect.translate(-_globals->_sceneOffset.x, -_globals->_sceneOffset.y); +		destRect.translate(-sceneBounds.left, -sceneBounds.top); -		_globals->_screenSurface.copyFrom(_globals->_sceneManager._scene->_backSurface, objRect, tempRect); +		_globals->_screenSurface.copyFrom(_globals->_sceneManager._scene->_backSurface, srcRect, destRect);  	}  } @@ -2280,6 +2280,7 @@ redraw:  		// Update the palette  		_globals->_sceneManager.fadeInIfNecessary(); +		_globals->_sceneManager._scene->_sceneMode = 0;  		_globals->_paneRefreshFlag[paneNum] = 0;  		// Loop through the object list, removing any objects and refreshing the screen as necessary | 
