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--;
}
if (animData->frame < framesCount)
return;
if (animData->field_F != -1) {
animData->frame = 0;
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++) {
_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);

View File

@ -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 {