diff options
Diffstat (limited to 'engines/gob')
| -rw-r--r-- | engines/gob/goblin.cpp | 3 | ||||
| -rw-r--r-- | engines/gob/inter_v2.cpp | 4 | ||||
| -rw-r--r-- | engines/gob/mult.h | 8 | 
3 files changed, 9 insertions, 6 deletions
diff --git a/engines/gob/goblin.cpp b/engines/gob/goblin.cpp index b6925d0358..24842b6541 100644 --- a/engines/gob/goblin.cpp +++ b/engines/gob/goblin.cpp @@ -2036,6 +2036,9 @@ void Goblin::sub_11984(Mult::Mult_Object *obj) {  			animData->field_15--;  	} +	if (animData->frame < framesCount) +		return; +  	if (animData->field_F != -1) {  		animData->frame = 0;  		animData->state = animData->field_F; diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp index 66ebd8aa05..0c050e9436 100644 --- a/engines/gob/inter_v2.cpp +++ b/engines/gob/inter_v2.cpp @@ -1955,8 +1955,8 @@ void Inter_v2::o2_initMult(void) {  		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); diff --git a/engines/gob/mult.h b/engines/gob/mult.h index c8adfd3443..a6ed15180a 100644 --- a/engines/gob/mult.h +++ b/engines/gob/mult.h @@ -35,9 +35,9 @@ public:  #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 @@ public:  		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 @@ public:  		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 {  | 
