diff options
Diffstat (limited to 'engines/kyra/script_v2.cpp')
| -rw-r--r-- | engines/kyra/script_v2.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp index 49e3b3db7c..eed7339dd7 100644 --- a/engines/kyra/script_v2.cpp +++ b/engines/kyra/script_v2.cpp @@ -408,6 +408,7 @@ int KyraEngine_v2::o2_drawSceneShapeOnPage(ScriptState *script) {  	int y = stackPos(2);  	int flag = stackPos(3);  	int drawPage = stackPos(4); +  	_screen->drawShape(drawPage, _sceneShapeTable[shape], x, y, 2, flag ? 1 : 0);  	return 0;  } @@ -416,13 +417,17 @@ int KyraEngine_v2::o2_restoreBackBuffer(ScriptState *script) {  	debugC(3, kDebugLevelScriptFuncs, "o2_restoreBackBuffer(%p) (%d)", (const void *)script, stackPos(0));  	int disable = stackPos(0);  	int oldState = 0; +  	if (disable) {  		oldState = _animObjects[0].enabled;  		_animObjects[0].enabled = 0;  	} +  	restorePage3(); +  	if (disable)  		_animObjects[0].enabled = oldState; +  	return 0;  } @@ -567,7 +572,6 @@ int KyraEngine_v2::o2_runTemporaryScript(ScriptState *script) {  			stackPos(2), stackPos(3));  	runTemporaryScript(stackPosString(0), stackPos(3), stackPos(2) ? 1 : 0, stackPos(1), stackPos(2)); -  	return 0;  } @@ -709,9 +713,7 @@ int KyraEngine_v2::o2_querySpecialSceneScriptState(ScriptState *script) {  int KyraEngine_v2::o2_setHiddenItemsEntry(ScriptState *script) {  	debugC(3, kDebugLevelScriptFuncs, "o2_setHiddenItemsEntry(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1)); -	int item = stackPos(1); -	_hiddenItems[stackPos(0)] = item; -	return item; +	return (_hiddenItems[stackPos(0)] = stackPos(1));  }  int KyraEngine_v2::o2_getHiddenItemsEntry(ScriptState *script) { @@ -826,3 +828,4 @@ int KyraEngine_v2::o2t_setShapeFlag(ScriptState *script) {  }  } // end of namespace Kyra + | 
