[Scummvm-cvs-logs] SF.net SVN: scummvm: [24850] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Thu Dec 14 20:08:03 CET 2006


Revision: 24850
          http://scummvm.svn.sourceforge.net/scummvm/?rev=24850&view=rev
Author:   drmccoy
Date:     2006-12-14 11:07:43 -0800 (Thu, 14 Dec 2006)

Log Message:
-----------
Smashed the wizard's house bug

Modified Paths:
--------------
    scummvm/trunk/engines/gob/goblin.cpp
    scummvm/trunk/engines/gob/inter_v2.cpp
    scummvm/trunk/engines/gob/mult.h

Modified: scummvm/trunk/engines/gob/goblin.cpp
===================================================================
--- scummvm/trunk/engines/gob/goblin.cpp	2006-12-14 12:44:40 UTC (rev 24849)
+++ scummvm/trunk/engines/gob/goblin.cpp	2006-12-14 19:07:43 UTC (rev 24850)
@@ -2036,6 +2036,9 @@
 			animData->field_15--;
 	}
 
+	if (animData->frame < framesCount)
+		return;
+
 	if (animData->field_F != -1) {
 		animData->frame = 0;
 		animData->state = animData->field_F;

Modified: scummvm/trunk/engines/gob/inter_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v2.cpp	2006-12-14 12:44:40 UTC (rev 24849)
+++ scummvm/trunk/engines/gob/inter_v2.cpp	2006-12-14 19:07:43 UTC (rev 24850)
@@ -1955,8 +1955,8 @@
 		for (i = 0; i < _vm->_mult->_objCount; i++) {
 			_vm->_mult->_objects[i].pPosX = (int32 *)(_vm->_global->_inter_variables + i * 4 + (posXVar / 4) * 4);
 			_vm->_mult->_objects[i].pPosY = (int32 *)(_vm->_global->_inter_variables + i * 4 + (posYVar / 4) * 4);
-			if ((i == 0) || (i == 1))
-				warning("=> Goblin %d: %d (%d) (%d)", i, animDataVar + i * 4 * _vm->_global->_inter_animDataSize, (animDataVar + i * 4 * _vm->_global->_inter_animDataSize) / 4, _vm->_global->_inter_animDataSize);
+//			if ((i == 0) || (i == 1))
+//				warning("=> Goblin %d: %d %d %d %d %d (%d) (%d)", i, i * 4 + (posXVar / 4) * 4, i + (posXVar / 4), i * 4 + (posYVar / 4) * 4, i + (posYVar / 4), animDataVar + i * 4 * _vm->_global->_inter_animDataSize, (animDataVar + i * 4 * _vm->_global->_inter_animDataSize) / 4, _vm->_global->_inter_animDataSize);
 			_vm->_mult->_objects[i].pAnimData =
 			    (Mult::Mult_AnimData *) (_vm->_global->_inter_variables + animDataVar +
 			    i * 4 * _vm->_global->_inter_animDataSize);

Modified: scummvm/trunk/engines/gob/mult.h
===================================================================
--- scummvm/trunk/engines/gob/mult.h	2006-12-14 12:44:40 UTC (rev 24849)
+++ scummvm/trunk/engines/gob/mult.h	2006-12-14 19:07:43 UTC (rev 24850)
@@ -35,9 +35,9 @@
 #include "common/pack-start.h"	// START STRUCT PACKING
 
 	struct Mult_AnimData {
-		int8 animation;
+		uint8 animation;
 		uint8 layer;
-		int8 frame;
+		uint8 frame;
 		int8 animType;
 		int8 order;
 		int8 isPaused;
@@ -47,7 +47,7 @@
 		int8 newLayer;
 		int8 newAnimation;
 		byte intersected;
-		int8 newCycle;
+		uint8 newCycle;
 		int8 state;              // New in GOB2
 		int8 nextState;          // New in GOB2
 		int8 field_F;            // New in GOB2
@@ -61,7 +61,7 @@
 		int8 field_17;           // New in GOB2
 		int8 somethingAnimation; // New in GOB2
 		int8 somethingLayer;     // New in GOB2
-		int8 somethingFrame;     // New in GOB2
+		uint8 somethingFrame;     // New in GOB2
 	};
 
 	struct Mult_GobState {


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