diff --git a/engines/gnap/gamesys.cpp b/engines/gnap/gamesys.cpp index 6e0260a2ce2..00375746119 100644 --- a/engines/gnap/gamesys.cpp +++ b/engines/gnap/gamesys.cpp @@ -90,12 +90,12 @@ void GameSys::insertDirtyRect(const Common::Rect &rect) { _dirtyRects.push_back(rect); } -void GameSys::removeSequence(int sequenceId, int a2, int a3) { +void GameSys::removeSequence(int sequenceId, int id, bool resetFl) { //WaitForSingleObject(removeSequence2Mutex, INFINITE); if (_removeSequenceItemsCount < kMaxSequenceItems) { - _removeSequenceItems[_removeSequenceItemsCount].sequenceId = sequenceId; - _removeSequenceItems[_removeSequenceItemsCount].id = a2; - _removeSequenceItems[_removeSequenceItemsCount].a3 = a3; + _removeSequenceItems[_removeSequenceItemsCount]._sequenceId = sequenceId; + _removeSequenceItems[_removeSequenceItemsCount]._id = id; + _removeSequenceItems[_removeSequenceItemsCount]._forceFrameReset = resetFl; ++_removeSequenceItemsCount; //ResetEvent(removeSequenceItemsEvent); //ReleaseMutex(removeSequence2Mutex); @@ -964,16 +964,16 @@ void GameSys::handleReqRemoveSequenceItems() { if (_removeSequenceItemsCount > 0) { for (int i = 0; i < _removeSequenceItemsCount; ++i) { int gfxIndex; - if (seqFind(_removeSequenceItems[i].sequenceId, _removeSequenceItems[i].id, &gfxIndex)) + if (seqFind(_removeSequenceItems[i]._sequenceId, _removeSequenceItems[i]._id, &gfxIndex)) _seqItems.remove_at(gfxIndex); - seqLocateGfx(_removeSequenceItems[i].sequenceId, _removeSequenceItems[i].id, &gfxIndex); + seqLocateGfx(_removeSequenceItems[i]._sequenceId, _removeSequenceItems[i]._id, &gfxIndex); for (GfxItem *gfxItem = &_gfxItems[gfxIndex]; - gfxIndex < _gfxItemsCount && gfxItem->sequenceId == _removeSequenceItems[i].sequenceId && gfxItem->id == _removeSequenceItems[i].id; + gfxIndex < _gfxItemsCount && gfxItem->sequenceId == _removeSequenceItems[i]._sequenceId && gfxItem->id == _removeSequenceItems[i]._id; gfxItem = &_gfxItems[gfxIndex]) { gfxItem->sequenceId = -1; gfxItem->animation = 0; gfxItem->soundValue = 0; - if (_removeSequenceItems[i].a3) { + if (_removeSequenceItems[i]._forceFrameReset) { gfxItem->currFrame.duration = 0; gfxItem->currFrame.spriteId = -1; gfxItem->currFrame.soundId = -1; diff --git a/engines/gnap/gamesys.h b/engines/gnap/gamesys.h index 5e996bf8445..5bf92b6f22a 100644 --- a/engines/gnap/gamesys.h +++ b/engines/gnap/gamesys.h @@ -65,9 +65,9 @@ struct SpriteDrawItem { }; struct RemoveSequenceItem { - int sequenceId; - int id; - int a3; + int _sequenceId; + int _id; + bool _forceFrameReset; }; struct RemoveSpriteDrawItem { @@ -106,7 +106,7 @@ public: ~GameSys(); void insertSequence(int sequenceId, int a2, int sequenceId2, int a4, int flags, int totalDuration, int16 x, int16 y); void insertDirtyRect(const Common::Rect &rect); - void removeSequence(int sequenceId, int a2, int a3); + void removeSequence(int sequenceId, int id, bool resetFl); void invalidateGrabCursorSprite(int id, Common::Rect &rect, Graphics::Surface *surface1, Graphics::Surface *surface2); void requestClear2(int a1); void requestClear1(); diff --git a/engines/gnap/gnap.cpp b/engines/gnap/gnap.cpp index 57fa6257941..e31c78ee58e 100644 --- a/engines/gnap/gnap.cpp +++ b/engines/gnap/gnap.cpp @@ -613,7 +613,7 @@ void GnapEngine::insertDeviceIconActive() { } void GnapEngine::removeDeviceIconActive() { - _gameSys->removeSequence(0x1084A, 21, 1); + _gameSys->removeSequence(0x1084A, 21, true); } void GnapEngine::setDeviceHotspot(int hotspotIndex, int x1, int y1, int x2, int y2) { @@ -2337,8 +2337,6 @@ void GnapEngine::cutscene_run() { int duration = 0; bool skip = false; - int v1 = 0; - if (_prevSceneNum == 2) { soundId = 0x36B; duration = MAX(1, 300 / getSequenceTotalDuration(_s99_dword_47F370[_s99_itemsCount - 1]));//CHECKME @@ -2362,6 +2360,7 @@ void GnapEngine::cutscene_run() { _mouseClickState.left = false; + int v1 = 0; while (!_sceneDone) { gameUpdateTick(); diff --git a/engines/gnap/scenes/scene01.cpp b/engines/gnap/scenes/scene01.cpp index 0e4695c619e..e084a54c76b 100644 --- a/engines/gnap/scenes/scene01.cpp +++ b/engines/gnap/scenes/scene01.cpp @@ -314,7 +314,7 @@ void GnapEngine::scene01_updateAnimations() { _gnapActionStatus = kASLookSpaceshipDone; break; case kASLookSpaceshipDone: - _gameSys->removeSequence(133, 256, 1); + _gameSys->removeSequence(133, 256, true); _gameSys->removeSpriteDrawItem(_s01_spaceshipSurface, 255); deleteSurface(&_s01_spaceshipSurface); _gnapActionStatus = -1; diff --git a/engines/gnap/scenes/scene02.cpp b/engines/gnap/scenes/scene02.cpp index 5d740b906f4..d745b0927a0 100644 --- a/engines/gnap/scenes/scene02.cpp +++ b/engines/gnap/scenes/scene02.cpp @@ -515,7 +515,7 @@ void GnapEngine::scene02_updateAnimations() { if (_s02_nextChickenSequenceId == 0x150) { _gameSys->setAnimation(_s02_nextChickenSequenceId, 179, 0); _gameSys->insertSequence(_s02_nextChickenSequenceId, 179, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(_s02_currChickenSequenceId, 179, 1); + _gameSys->removeSequence(_s02_currChickenSequenceId, 179, true); _s02_nextChickenSequenceId = -1; _s02_currChickenSequenceId = -1; _gnapActionStatus = kASGrabChickenDone; diff --git a/engines/gnap/scenes/scene04.cpp b/engines/gnap/scenes/scene04.cpp index bc5ee855d31..37ebe348394 100644 --- a/engines/gnap/scenes/scene04.cpp +++ b/engines/gnap/scenes/scene04.cpp @@ -507,8 +507,8 @@ void GnapEngine::scene04_updateAnimations() { _gnapActionStatus = kASGetKeyAnotherDone; break; case kASGetKeyAnotherDone: - _gameSys->removeSequence(0x1FF, 256, 1); - _gameSys->removeSequence(0x20A, 256, 1); + _gameSys->removeSequence(0x1FF, 256, true); + _gameSys->removeSequence(0x20A, 256, true); _gameSys->insertSequence(0x107B5, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), 255, kSeqSyncWait, 0, 75 * _gnapX - _gnapGridX, 48 * _gnapY - _gnapGridY); diff --git a/engines/gnap/scenes/scene08.cpp b/engines/gnap/scenes/scene08.cpp index a4ebf92c710..f7c0b9c8865 100644 --- a/engines/gnap/scenes/scene08.cpp +++ b/engines/gnap/scenes/scene08.cpp @@ -475,17 +475,17 @@ void GnapEngine::scene08_updateAnimations() { case 0x149: setFlag(7); _hotspots[kHSMeat].flags = SF_DISABLED | SF_WALKABLE; - _gameSys->removeSequence(0x144, 1, 1); + _gameSys->removeSequence(0x144, 1, true); break; case 0x14A: setFlag(8); _hotspots[kHSBone].flags = SF_DISABLED | SF_WALKABLE; - _gameSys->removeSequence(0x145, 1, 1); + _gameSys->removeSequence(0x145, 1, true); break; case 0x14B: setFlag(9); _hotspots[kHSToy].flags = SF_DISABLED | SF_WALKABLE; - _gameSys->removeSequence(0x146, 1, 1); + _gameSys->removeSequence(0x146, 1, true); break; } _s08_currDogSequenceId = _s08_nextDogSequenceId; diff --git a/engines/gnap/scenes/scene09.cpp b/engines/gnap/scenes/scene09.cpp index 4436d1e4369..3654be55f49 100644 --- a/engines/gnap/scenes/scene09.cpp +++ b/engines/gnap/scenes/scene09.cpp @@ -218,7 +218,7 @@ void GnapEngine::scene09_updateAnimations() { case kASSearchTrash: _gameSys->setAnimation(0x4C, 120, 0); _gameSys->insertSequence(0x4C, 120, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x4B, 2, 1); + _gameSys->removeSequence(0x4B, 2, true); _gnapSequenceId = 0x4C; _gnapId = 120; _gnapIdleFacing = 5; diff --git a/engines/gnap/scenes/scene10.cpp b/engines/gnap/scenes/scene10.cpp index c6faf5a0ca6..32162e2b210 100644 --- a/engines/gnap/scenes/scene10.cpp +++ b/engines/gnap/scenes/scene10.cpp @@ -392,7 +392,7 @@ void GnapEngine::scene10_updateAnimations() { _beaverSequenceId | (_beaverSequenceDatNum << 16), _beaverId, kSeqSyncWait, getSequenceTotalDuration(0x109) + getSequenceTotalDuration(0x10A) + getSequenceTotalDuration(0x10843), 75 * _platX - _platGridX, 48 * _platY - _platGridY); - _gameSys->removeSequence(0x107, 100, 1); + _gameSys->removeSequence(0x107, 100, true); _s10_currCookSequenceId = 0x109; _s10_nextCookSequenceId = 0x843; _beaverSequenceId = 0x7C9; diff --git a/engines/gnap/scenes/scene11.cpp b/engines/gnap/scenes/scene11.cpp index 6bbc542e90f..3a112b9e9fe 100644 --- a/engines/gnap/scenes/scene11.cpp +++ b/engines/gnap/scenes/scene11.cpp @@ -408,8 +408,8 @@ void GnapEngine::scene11_updateAnimations() { _gnapSequenceId = 0x1F4; _gnapId = 255; _gnapSequenceDatNum = 0; - _gameSys->removeSequence(0x207, 257, 1); - _gameSys->removeSequence(0x208, 256, 1); + _gameSys->removeSequence(0x207, 257, true); + _gameSys->removeSequence(0x208, 256, true); _s11_nextGoggleGuySequenceId = 0x1F8; _timers[5] = getRandom(100) + 75; _gameSys->insertSequence(_s11_nextGoggleGuySequenceId, 121, _s11_currGoggleGuySequenceId, 121, kSeqSyncWait, 0, 0, 0); diff --git a/engines/gnap/scenes/scene13.cpp b/engines/gnap/scenes/scene13.cpp index c9b4d53917e..729fdebf31d 100644 --- a/engines/gnap/scenes/scene13.cpp +++ b/engines/gnap/scenes/scene13.cpp @@ -413,7 +413,7 @@ void GnapEngine::scene13_updateAnimations() { case kASGrabSink: _gameSys->setAnimation(0xAB, 160, 0); _gameSys->insertSequence(0xAB, 160, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0xAA, 256, 1); + _gameSys->removeSequence(0xAA, 256, true); _gnapSequenceId = 0xAB; _gnapId = 160; _gnapIdleFacing = 1; diff --git a/engines/gnap/scenes/scene15.cpp b/engines/gnap/scenes/scene15.cpp index 54eb146fa5e..578f4fcba12 100644 --- a/engines/gnap/scenes/scene15.cpp +++ b/engines/gnap/scenes/scene15.cpp @@ -284,11 +284,11 @@ void GnapEngine::scene15_updateAnimations() { case 0xD8: case 0xDA: if (_s15_currUpperButtonSequenceId != -1) { - _gameSys->removeSequence(_s15_currUpperButtonSequenceId, 1, 1); + _gameSys->removeSequence(_s15_currUpperButtonSequenceId, 1, true); _s15_currUpperButtonSequenceId = -1; } if (_s15_currLowerButtonSequenceId != -1) { - _gameSys->removeSequence(_s15_currLowerButtonSequenceId, 1, 1); + _gameSys->removeSequence(_s15_currLowerButtonSequenceId, 1, true); _s15_currLowerButtonSequenceId = -1; } break; @@ -303,9 +303,9 @@ void GnapEngine::scene15_updateAnimations() { _newSceneNum = 16; _isLeavingScene = true; } - _gameSys->removeSequence(_s15_currUpperButtonSequenceId, 1, 1); + _gameSys->removeSequence(_s15_currUpperButtonSequenceId, 1, true); _s15_currUpperButtonSequenceId = -1; - _gameSys->removeSequence(_s15_currLowerButtonSequenceId, 1, 1); + _gameSys->removeSequence(_s15_currLowerButtonSequenceId, 1, true); _s15_currLowerButtonSequenceId = -1; } else if (_s15_nextUpperButtonSequenceId != -1) { _gameSys->setAnimation(_s15_nextUpperButtonSequenceId, 1, 0); diff --git a/engines/gnap/scenes/scene18.cpp b/engines/gnap/scenes/scene18.cpp index 619d50f5e2a..ff43a5d2029 100644 --- a/engines/gnap/scenes/scene18.cpp +++ b/engines/gnap/scenes/scene18.cpp @@ -267,7 +267,7 @@ void GnapEngine::scene18_platEndPhoning(int a1) { while (_gameSys->getAnimationStatus(3) != 2) gameUpdateTick(); } - _gameSys->removeSequence(0x21F, 254, 1); + _gameSys->removeSequence(0x21F, 254, true); _gameSys->setAnimation(0, 0, 3); clearFlag(26); if (a1) { @@ -796,14 +796,14 @@ void GnapEngine::scene18_updateAnimations() { _gnapSequenceDatNum = 0; _gnapSequenceId = 0x1FD; } - _gameSys->removeSequence(0x1FA, 19, 1); + _gameSys->removeSequence(0x1FA, 19, true); setFlag(10); scene18_updateHotspots(); _gnapActionStatus = -1; break; case kASGrabGarbageCanFromHydrant: _gameSys->insertSequence(0x1FE, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x1F9, 19, 1); + _gameSys->removeSequence(0x1F9, 19, true); _gnapSequenceDatNum = 0; _gnapSequenceId = 0x1FE; clearFlag(9); @@ -813,9 +813,9 @@ void GnapEngine::scene18_updateAnimations() { break; case kASCloseRightValveNoGarbageCan: _gameSys->insertSequence(0x205, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x20D, 39, 1); - _gameSys->removeSequence(0x212, 39, 1); - _gameSys->removeSequence(0x211, 39, 1); + _gameSys->removeSequence(0x20D, 39, true); + _gameSys->removeSequence(0x212, 39, true); + _gameSys->removeSequence(0x211, 39, true); stopSound(0x22B); _gnapSequenceDatNum = 0; _gnapSequenceId = 0x205; @@ -840,7 +840,7 @@ void GnapEngine::scene18_updateAnimations() { setGrabCursorSprite(-1); _gameSys->insertSequence(0x208, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gameSys->insertSequence(0x216, 39, 0, 0, kSeqNone, 21, 0, 0); - _gameSys->removeSequence(0x20C, 19, 1); + _gameSys->removeSequence(0x20C, 19, true); _gameSys->setAnimation(0x217, 39, 5); _gameSys->insertSequence(0x217, 39, 0x216, 39, 10, 0, 0, 0); while (_gameSys->getAnimationStatus(5) != 2) @@ -855,9 +855,9 @@ void GnapEngine::scene18_updateAnimations() { break; case kASCloseTopValve: _gameSys->insertSequence(0x206, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x20E, 39, 1); - _gameSys->removeSequence(0x216, 39, 1); - _gameSys->removeSequence(0x217, 39, 1); + _gameSys->removeSequence(0x20E, 39, true); + _gameSys->removeSequence(0x216, 39, true); + _gameSys->removeSequence(0x217, 39, true); stopSound(0x22B); _gnapSequenceDatNum = 0; _gnapSequenceId = 0x206; @@ -942,7 +942,7 @@ void GnapEngine::scene18_updateAnimations() { _gameSys->insertSequence(0x207, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gameSys->insertSequence(0x213, 39, 0, 0, kSeqNone, 21, 0, 0); _gameSys->requestRemoveSequence(0x1F9, 19); - _gameSys->removeSequence(0x20B, 19, 1); + _gameSys->removeSequence(0x20B, 19, true); _gameSys->setAnimation(0x213, 39, 5); _gameSys->insertSequence(0x214, 39, 0x213, 39, 10, 0, 0, 0); while (_gameSys->getAnimationStatus(5) != 2) @@ -958,7 +958,7 @@ void GnapEngine::scene18_updateAnimations() { setGrabCursorSprite(-1); _gameSys->insertSequence(0x207, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gameSys->insertSequence(0x211, 39, 0, 0, kSeqNone, 21, 0, 0); - _gameSys->removeSequence(0x20B, 19, 1); + _gameSys->removeSequence(0x20B, 19, true); _gameSys->setAnimation(0x211, 39, 5); _gameSys->insertSequence(0x212, 39, 0x211, 39, 10, 0, 0, 0); while (_gameSys->getAnimationStatus(5) != 2) @@ -972,7 +972,7 @@ void GnapEngine::scene18_updateAnimations() { break; case kASCloseRightValveWithGarbageCan: _gameSys->insertSequence(0x205, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x20D, 39, 1); + _gameSys->removeSequence(0x20D, 39, true); _gameSys->insertSequence(0x215, 39, 0x214, 39, kSeqSyncWait, 0, 0, 0); stopSound(0x22B); _gameSys->setAnimation(0x1F9, 19, 0); diff --git a/engines/gnap/scenes/scene28.cpp b/engines/gnap/scenes/scene28.cpp index b2b8455ad50..251e3b48f47 100644 --- a/engines/gnap/scenes/scene28.cpp +++ b/engines/gnap/scenes/scene28.cpp @@ -429,7 +429,7 @@ void GnapEngine::scene28_updateAnimations() { case 0x119: _gameSys->insertSequence(_s28_nextClownSequenceId, 39, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gameSys->setAnimation(_s28_nextClownSequenceId, 39, 0); - _gameSys->removeSequence(_s28_currClownSequenceId, 39, 1); + _gameSys->removeSequence(_s28_currClownSequenceId, 39, true); _gnapActionStatus = kASGrabHornFailsDone; _gnapSequenceId = _s28_nextClownSequenceId; _gnapSequenceDatNum = 0; diff --git a/engines/gnap/scenes/scene30.cpp b/engines/gnap/scenes/scene30.cpp index f6ec96951cb..85e6614f911 100644 --- a/engines/gnap/scenes/scene30.cpp +++ b/engines/gnap/scenes/scene30.cpp @@ -246,7 +246,7 @@ void GnapEngine::scene30_updateAnimations() { hideCursor(); setGrabCursorSprite(-1); addFullScreenSprite(0x3F, 255); - _gameSys->removeSequence(0x105, _gnapId, 1); + _gameSys->removeSequence(0x105, _gnapId, true); _gameSys->setAnimation(0x102, 256, 0); _gameSys->insertSequence(0x102, 256, 0, 0, kSeqNone, 0, 0, 0); while (_gameSys->getAnimationStatus(0) != 2) diff --git a/engines/gnap/scenes/scene33.cpp b/engines/gnap/scenes/scene33.cpp index e8c232833b4..fc66b15b650 100644 --- a/engines/gnap/scenes/scene33.cpp +++ b/engines/gnap/scenes/scene33.cpp @@ -307,7 +307,7 @@ void GnapEngine::scene33_updateAnimations() { if (_s33_nextChickenSequenceId == 0x81) { _gameSys->setAnimation(_s33_nextChickenSequenceId, 179, 0); _gameSys->insertSequence(_s33_nextChickenSequenceId, 179, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(_s33_currChickenSequenceId, 179, 1); + _gameSys->removeSequence(_s33_currChickenSequenceId, 179, true); _s33_nextChickenSequenceId = -1; _s33_currChickenSequenceId = -1; _gnapActionStatus = kASUseChickenDone; diff --git a/engines/gnap/scenes/scene38.cpp b/engines/gnap/scenes/scene38.cpp index 53768fe9ca9..f807728baeb 100644 --- a/engines/gnap/scenes/scene38.cpp +++ b/engines/gnap/scenes/scene38.cpp @@ -265,7 +265,7 @@ void GnapEngine::scene38_updateAnimations() { _sceneDone = true; break; case kASExitCave: - _gameSys->removeSequence(_beaverSequenceId | (_beaverSequenceDatNum << 16), _beaverId, 1); + _gameSys->removeSequence(_beaverSequenceId | (_beaverSequenceDatNum << 16), _beaverId, true); _gameSys->insertSequence(0xA3, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gnapSequenceId = 0xA3; _gnapSequenceDatNum = 0; @@ -273,7 +273,7 @@ void GnapEngine::scene38_updateAnimations() { _gnapActionStatus = kASLeaveScene; break; case kASUseHuntingTrophy: - _gameSys->removeSequence(0x9B, 0, 1); + _gameSys->removeSequence(0x9B, 0, true); _gameSys->insertSequence(0x9C, _gnapId, makeRid(_gnapSequenceDatNum, _gnapSequenceId), _gnapId, kSeqSyncWait, 0, 0, 0); _gnapSequenceId = 0x9C; _gnapSequenceDatNum = 0; diff --git a/engines/gnap/scenes/scene43.cpp b/engines/gnap/scenes/scene43.cpp index 3510cb4d997..611e5c9bd35 100644 --- a/engines/gnap/scenes/scene43.cpp +++ b/engines/gnap/scenes/scene43.cpp @@ -438,7 +438,7 @@ void GnapEngine::scene43_updateAnimations() { break; case 6: _gameSys->insertSequence(0x10871, _toyUfoId, _toyUfoSequenceId | 0x10000, _toyUfoId, kSeqSyncWait, 0, 0, 0); - _gameSys->removeSequence(0x1086F, 1, 1); + _gameSys->removeSequence(0x1086F, 1, true); setFlag(14); scene43_updateHotspots(); toyUfoSetStatus(18); diff --git a/engines/gnap/scenes/scene44.cpp b/engines/gnap/scenes/scene44.cpp index b2c711898ca..27336950c64 100644 --- a/engines/gnap/scenes/scene44.cpp +++ b/engines/gnap/scenes/scene44.cpp @@ -462,7 +462,7 @@ void GnapEngine::scene44_updateAnimations() { _beaverSequenceId = 0xFE; _beaverSequenceDatNum = 0; _gameSys->setAnimation(0xFE, _beaverId, 1); - _gameSys->removeSequence(_s44_dword_47EB10, 1, 1); + _gameSys->removeSequence(_s44_dword_47EB10, 1, true); _beaverActionStatus = 5; } break; diff --git a/engines/gnap/scenes/scene51.cpp b/engines/gnap/scenes/scene51.cpp index 1313c1d2dba..f56f9c96c42 100644 --- a/engines/gnap/scenes/scene51.cpp +++ b/engines/gnap/scenes/scene51.cpp @@ -323,7 +323,7 @@ void GnapEngine::scene51_updateItemAnimation(Scene51Item *item, int index) { item->y = 0; } } else { - _gameSys->removeSequence(item->currSequenceId, item->id, 1); + _gameSys->removeSequence(item->currSequenceId, item->id, true); _gameSys->setAnimation(0, 0, index + 1); playSound(218, 0); if (scene51_incCashAmount(item->currSequenceId) == 1995) { @@ -370,7 +370,7 @@ void GnapEngine::scene51_updateItemAnimation(Scene51Item *item, int index) { case 0xC2: // Bouncing coin and banknote _gameSys->setAnimation(0, 0, index + 1); - _gameSys->removeSequence(item->currSequenceId, item->id, 1); + _gameSys->removeSequence(item->currSequenceId, item->id, true); scene51_clearItem(item); break; @@ -393,7 +393,7 @@ void GnapEngine::scene51_updateItemAnimation(Scene51Item *item, int index) { break; case 0xBC: - _gameSys->removeSequence(item->currSequenceId, item->id, 1); + _gameSys->removeSequence(item->currSequenceId, item->id, true); _gameSys->setAnimation(0, 0, index + 1); scene51_clearItem(item); break; @@ -414,7 +414,7 @@ void GnapEngine::scene51_updateItemAnimation(Scene51Item *item, int index) { void GnapEngine::scene51_removeCollidedItems() { for (int i = 0; i < 6; ++i) { if (_s51_items[i].isCollision) { - _gameSys->removeSequence(_s51_items[i].currSequenceId, _s51_items[i].id, 1); + _gameSys->removeSequence(_s51_items[i].currSequenceId, _s51_items[i].id, true); _gameSys->setAnimation(0, 0, i + 1); scene51_clearItem(&_s51_items[i]); } diff --git a/engines/gnap/scenes/scene52.cpp b/engines/gnap/scenes/scene52.cpp index 62cc2f3728e..02718ec4678 100644 --- a/engines/gnap/scenes/scene52.cpp +++ b/engines/gnap/scenes/scene52.cpp @@ -175,7 +175,7 @@ void GnapEngine::scene52_fireShipCannon(int posX) { playSound(0x2D, 0); if (scene52_shipCannonHitShield(cannonNum)) { _gameSys->setAnimation(0, 0, cannonNum + 8); - _gameSys->removeSequence(0x23, cannonNum + 256, 1); + _gameSys->removeSequence(0x23, cannonNum + 256, true); } else { _s52_shipCannonFired = 1; _s52_shipCannonPosY -= 13; @@ -226,7 +226,7 @@ void GnapEngine::scene52_updateShipCannon() { if (_s52_shipCannonPosY - 13 >= 135) { if (scene52_updateHitAlien()) { _gameSys->setAnimation(0, 0, 8); - _gameSys->removeSequence(35, 256, 1); + _gameSys->removeSequence(35, 256, true); _s52_shipCannonFired = 0; scene52_drawScore(_s52_gameScore); } else { @@ -236,7 +236,7 @@ void GnapEngine::scene52_updateShipCannon() { } } else { _gameSys->setAnimation(0, 0, 8); - _gameSys->removeSequence(35, 256, 1); + _gameSys->removeSequence(35, 256, true); _s52_shipCannonFired = 0; } } @@ -340,7 +340,7 @@ void GnapEngine::scene52_updateAlienRow(int rowNum) { if (_s52_alienRowIds[rowNum] == -1) _s52_alienRowIds[rowNum] = i + 256; } else if (_s52_items[rowNum][i] == -2) { - _gameSys->removeSequence(_s52_alienRowKind[rowNum], i + 256, 1); + _gameSys->removeSequence(_s52_alienRowKind[rowNum], i + 256, true); _s52_items[rowNum][i] = -1; --_s52_alienSpeed; } @@ -638,7 +638,7 @@ int GnapEngine::scene52_shipCannonHitAlien() { void GnapEngine::scene52_shipExplode() { if (!_s52_aliensCount) { _gameSys->setAnimation(0, 0, 7); - _gameSys->removeSequence(_s52_ufoSequenceId, 256, 1); + _gameSys->removeSequence(_s52_ufoSequenceId, 256, true); playSound(44, 0); _gameSys->insertSequence(0x21, 266, 0, 0, kSeqNone, 0, _s52_shipPosX, _s52_arcadeScreenBottom); _s52_aliensCount = 1; @@ -656,7 +656,7 @@ int GnapEngine::scene52_checkAlienRow(int rowNum) { for (int j = 0; j < 5; ++j) if (_s52_items[rowNum][j] == -2) { - _gameSys->removeSequence(_s52_alienRowKind[rowNum], j + 256, 1); + _gameSys->removeSequence(_s52_alienRowKind[rowNum], j + 256, true); _s52_items[rowNum][j] = -1; --_s52_alienSpeed; v4 = 1;