mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-08 19:00:57 +00:00
GNAP: change 3rd parameter of removeSequence to boolean, adapt calls accordingly
This commit is contained in:
parent
9d52140b09
commit
37f84d0bc5
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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]);
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user