Smashed the wizard's house bug

svn-id: r24850
This commit is contained in:
Sven Hesse 2006-12-14 19:07:43 +00:00
parent cf30537765
commit eb012d8110
3 changed files with 9 additions and 6 deletions

View File

@ -2036,6 +2036,9 @@ void Goblin::sub_11984(Mult::Mult_Object *obj) {
animData->field_15--; animData->field_15--;
} }
if (animData->frame < framesCount)
return;
if (animData->field_F != -1) { if (animData->field_F != -1) {
animData->frame = 0; animData->frame = 0;
animData->state = animData->field_F; animData->state = animData->field_F;

View File

@ -1955,8 +1955,8 @@ void Inter_v2::o2_initMult(void) {
for (i = 0; i < _vm->_mult->_objCount; i++) { 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].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); _vm->_mult->_objects[i].pPosY = (int32 *)(_vm->_global->_inter_variables + i * 4 + (posYVar / 4) * 4);
if ((i == 0) || (i == 1)) // 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); // 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 = _vm->_mult->_objects[i].pAnimData =
(Mult::Mult_AnimData *) (_vm->_global->_inter_variables + animDataVar + (Mult::Mult_AnimData *) (_vm->_global->_inter_variables + animDataVar +
i * 4 * _vm->_global->_inter_animDataSize); i * 4 * _vm->_global->_inter_animDataSize);

View File

@ -35,9 +35,9 @@ public:
#include "common/pack-start.h" // START STRUCT PACKING #include "common/pack-start.h" // START STRUCT PACKING
struct Mult_AnimData { struct Mult_AnimData {
int8 animation; uint8 animation;
uint8 layer; uint8 layer;
int8 frame; uint8 frame;
int8 animType; int8 animType;
int8 order; int8 order;
int8 isPaused; int8 isPaused;
@ -47,7 +47,7 @@ public:
int8 newLayer; int8 newLayer;
int8 newAnimation; int8 newAnimation;
byte intersected; byte intersected;
int8 newCycle; uint8 newCycle;
int8 state; // New in GOB2 int8 state; // New in GOB2
int8 nextState; // New in GOB2 int8 nextState; // New in GOB2
int8 field_F; // New in GOB2 int8 field_F; // New in GOB2
@ -61,7 +61,7 @@ public:
int8 field_17; // New in GOB2 int8 field_17; // New in GOB2
int8 somethingAnimation; // New in GOB2 int8 somethingAnimation; // New in GOB2
int8 somethingLayer; // New in GOB2 int8 somethingLayer; // New in GOB2
int8 somethingFrame; // New in GOB2 uint8 somethingFrame; // New in GOB2
}; };
struct Mult_GobState { struct Mult_GobState {