[Scummvm-cvs-logs] SF.net SVN: scummvm:[53836] scummvm/trunk/engines/toon/script_func.cpp

sylvaintv at users.sourceforge.net sylvaintv at users.sourceforge.net
Tue Oct 26 00:41:34 CEST 2010


Revision: 53836
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53836&view=rev
Author:   sylvaintv
Date:     2010-10-25 22:41:34 +0000 (Mon, 25 Oct 2010)

Log Message:
-----------
TOON: Fixed some Z-order issues for animations

Happened when the flag 0x20 was set in Init_Scene_Anim
It says to use the background layer system

Modified Paths:
--------------
    scummvm/trunk/engines/toon/script_func.cpp

Modified: scummvm/trunk/engines/toon/script_func.cpp
===================================================================
--- scummvm/trunk/engines/toon/script_func.cpp	2010-10-25 22:41:25 UTC (rev 53835)
+++ scummvm/trunk/engines/toon/script_func.cpp	2010-10-25 22:41:34 UTC (rev 53836)
@@ -701,7 +701,7 @@
 	int32 frame = stackPos(5);
 
 	SceneAnimation *sceneAnim = _vm->getSceneAnimation(sceneId);
-	sceneAnim->_animInstance->setPosition(x, y, 0, false);
+	sceneAnim->_animInstance->setPosition(x, y, sceneAnim->_animInstance->getZ(), false);
 	sceneAnim->_animInstance->forceFrame(frame);
 	_vm->setSceneAnimationScriptUpdate(false);
 	return 0;
@@ -915,10 +915,14 @@
 
 	int32 dx = stackPos(4);
 	int32 dy = stackPos(5);
+	int32 x = stackPos(2);
 	int32 layerZ = stackPos(3);
 
 	if (dx == -2)
 		sceneAnim->_animInstance->moveRelative(640, 0, 0);
+	else if (dx < 0) {
+		dx = sceneAnim->_animation->_x1;
+	}
 	else if (dx >= 0)
 		sceneAnim->_animInstance->setX(dx);
 
@@ -927,8 +931,10 @@
 	else
 		dy = sceneAnim->_animation->_y1;
 
-	if (flags & 0x20)
-		sceneAnim->_animInstance->setZ(_vm->getLayerAtPoint(dx, dy));
+	if (flags & 0x20) {
+		sceneAnim->_animInstance->setZ(_vm->getLayerAtPoint(x, layerZ));
+		sceneAnim->_animInstance->setUseMask(true);
+	}
 
 	if (layerZ >= 0) {
 		sceneAnim->_animInstance->setLayerZ(layerZ);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list