diff options
Diffstat (limited to 'engines/hopkins/objects.cpp')
-rw-r--r-- | engines/hopkins/objects.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index f139ee55ab..6a2f4eb9f4 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -41,12 +41,13 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) { for (int i = 0; i < 6; ++i) Common::fill((byte *)&_sprite[i], (byte *)&_sprite[i] + sizeof(SpriteItem), 0); - for (int i = 0; i < 36; ++i) + for (int i = 0; i < 36; ++i) { Common::fill((byte *)&_bob[i], (byte *)&_bob[i] + sizeof(BobItem), 0); + Common::fill((byte *)&_lockedAnims[i], (byte *)&_lockedAnims[i] + sizeof(LockAnimItem), 0); + } for (int i = 0; i < 30; ++i) { Common::fill((byte *)&_vBob[i], (byte *)&_vBob[i] + sizeof(VBobItem), 0); - Common::fill((byte *)&_lockedAnims[i], (byte *)&_lockedAnims[i] + sizeof(LockAnimItem), 0); } for (int i = 0; i < 300; ++i) @@ -987,7 +988,7 @@ void ObjectsManager::computeSprite(int idx) { // Before Sort void ObjectsManager::beforeSort(SortMode sortMode, int index, int priority) { ++_sortedDisplayCount; - assert (_sortedDisplayCount <= 48); + assert(_sortedDisplayCount <= 48); _sortedDisplay[_sortedDisplayCount]._sortMode = sortMode; _sortedDisplay[_sortedDisplayCount]._index = index; @@ -1228,7 +1229,7 @@ void ObjectsManager::displayVBob() { * Get Sprite X coordinate */ int ObjectsManager::getSpriteX(int idx) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); return _sprite[idx]._spritePos.x; } @@ -1236,7 +1237,7 @@ int ObjectsManager::getSpriteX(int idx) { * Get Sprite Y coordinate */ int ObjectsManager::getSpriteY(int idx) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); return _sprite[idx]._spritePos.y; } @@ -1260,12 +1261,12 @@ void ObjectsManager::clearSprite() { } void ObjectsManager::animateSprite(int idx) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); _sprite[idx]._animationType = 1; } void ObjectsManager::addStaticSprite(const byte *spriteData, Common::Point pos, int idx, int spriteIndex, int zoomFactor, bool flipFl, int deltaX, int deltaY) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); SpriteItem *spr = &_sprite[idx]; spr->_spriteData = spriteData; @@ -1298,7 +1299,7 @@ void ObjectsManager::removeSprite(int idx) { * Set Sprite X coordinate */ void ObjectsManager::setSpriteX(int idx, int xp) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); _sprite[idx]._spritePos.x = xp; } @@ -1306,7 +1307,7 @@ void ObjectsManager::setSpriteX(int idx, int xp) { * Set Sprite Y coordinate */ void ObjectsManager::setSpriteY(int idx, int yp) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); _sprite[idx]._spritePos.y = yp; } @@ -1314,19 +1315,19 @@ void ObjectsManager::setSpriteY(int idx, int yp) { * Set Sprite Index */ void ObjectsManager::setSpriteIndex(int idx, int spriteIndex) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); _sprite[idx]._spriteIndex = spriteIndex; } // Set Sprite Size void ObjectsManager::setSpriteZoom(int idx, int zoomFactor) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); if (!_sprite[idx]._rleFl) _sprite[idx]._zoomFactor = zoomFactor; } void ObjectsManager::setFlipSprite(int idx, bool flipFl) { - assert (idx <= MAX_SPRITE); + assert(idx <= MAX_SPRITE); if (!_sprite[idx]._rleFl) _sprite[idx]._flipFl = flipFl; } @@ -3087,6 +3088,7 @@ void ObjectsManager::setBobAnimDataIdx(int idx, int animIdx) { * Set Hopkins animation */ void ObjectsManager::setBobAnimation(int idx) { + assert(idx < 36); BobItem *bob = &_bob[idx]; if (!bob->_disabledAnimationFl) return; @@ -3102,6 +3104,7 @@ void ObjectsManager::setBobAnimation(int idx) { * Stop Hopkins animation */ void ObjectsManager::stopBobAnimation(int idx) { + assert(idx < 36); _bob[idx]._disabledAnimationFl = true; } @@ -3438,6 +3441,7 @@ void ObjectsManager::disableVerb(int idx, int a2) { case 13: case 22: curZone->_verbFl8 = 0; + break; case 14: case 21: case 25: |