diff options
Diffstat (limited to 'engines/gnap/scenes/group1.cpp')
-rw-r--r-- | engines/gnap/scenes/group1.cpp | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/engines/gnap/scenes/group1.cpp b/engines/gnap/scenes/group1.cpp index 017858b24c..e2d0e9685a 100644 --- a/engines/gnap/scenes/group1.cpp +++ b/engines/gnap/scenes/group1.cpp @@ -112,15 +112,15 @@ void Scene10::run() { switch (_vm->_verbCursor) { case LOOK_CURSOR: if (_vm->isFlag(kGFMudTaken)) - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); else - _vm->playGnapScratchingHead(_vm->_platX, _vm->_platY); + _vm->playGnapScratchingHead(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(10); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -242,7 +242,7 @@ void Scene10::run() { _vm->gnapUseDeviceOnPlatypus(); _vm->platypusWalkTo(7, 6, 1, 0x107D2, 1); _vm->_platypusActionStatus = kAS10PlatWithBox; - _vm->_platypusFacing = kDirUnk4; + _vm->_plat->_idleFacing = kDirUnk4; _vm->_largeSprite = gameSys.createSurface(0xC3); _vm->playGnapIdle(7, 6); } @@ -368,19 +368,18 @@ void Scene10::updateAnimations() { switch (_nextCookSequenceId) { case 0x109: - _vm->_platX = 4; - _vm->_platY = 8; + _vm->_plat->_pos = Common::Point(4, 8); gameSys.insertSequence(0x109, 100, _currCookSequenceId, 100, kSeqSyncWait, 0, 0, 0); gameSys.insertSequence(0x107C9, 160, _vm->_platypusSequenceId | (_vm->_platypusSequenceDatNum << 16), _vm->_platypusId, kSeqSyncWait, _vm->getSequenceTotalDuration(0x109) + _vm->getSequenceTotalDuration(0x10A) + _vm->getSequenceTotalDuration(0x10843), - 75 * _vm->_platX - _vm->_platGridX, 48 * _vm->_platY - _vm->_platGridY); + 75 * _vm->_plat->_pos.x - _vm->_platGridX, 48 * _vm->_plat->_pos.y - _vm->_platGridY); gameSys.removeSequence(0x107, 100, true); _currCookSequenceId = 0x109; _nextCookSequenceId = 0x843; _vm->_platypusSequenceId = 0x7C9; _vm->_platypusId = 160; - _vm->_platypusFacing = kDirNone; + _vm->_plat->_idleFacing = kDirNone; _vm->_platypusSequenceDatNum = 1; break; case 0x843: @@ -596,13 +595,13 @@ void Scene11::run() { } else { switch (_vm->_verbCursor) { case LOOK_CURSOR: - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(0); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -1015,13 +1014,13 @@ void Scene12::run() { case kHS12Platypus: switch (_vm->_verbCursor) { case LOOK_CURSOR: - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(0); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -1073,7 +1072,7 @@ void Scene12::run() { _vm->gnapUseDeviceOnPlatypus(); _vm->platypusWalkTo(3, 7, 1, 0x107D2, 1); _vm->_platypusActionStatus = kAS12PlatWithToothGuy; - _vm->_platypusFacing = kDirUnk4; + _vm->_plat->_idleFacing = kDirUnk4; _vm->playGnapIdle(2, 7); break; } @@ -1107,7 +1106,7 @@ void Scene12::run() { _vm->_gnapActionStatus = kAS12TalkBarkeeper; break; case PLAT_CURSOR: - _vm->playGnapPullOutDevice(_vm->_platX, _vm->_platY); + _vm->playGnapPullOutDevice(_vm->_plat->_pos.x, _vm->_plat->_pos.y); gameSys.setAnimation(makeRid(_vm->_gnapSequenceDatNum, _vm->_gnapSequenceId), _vm->_gnapId, 0); _vm->_gnapActionStatus = kAS12PlatWithBarkeeper; break; @@ -1143,7 +1142,7 @@ void Scene12::run() { _vm->gnapUseDeviceOnPlatypus(); _vm->platypusWalkTo(7, 6, 1, 0x107C2, 1); _vm->_platypusActionStatus = kAS12PlatWithBeardGuy; - _vm->_platypusFacing = kDirNone; + _vm->_plat->_idleFacing = kDirNone; _vm->playGnapIdle(7, 6); break; } @@ -1524,13 +1523,13 @@ void Scene13::run() { case kHS13Platypus: switch (_vm->_verbCursor) { case LOOK_CURSOR: - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(0); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -1694,7 +1693,7 @@ void Scene13::run() { if (!_vm->_isLeavingScene) { _vm->updatePlatypusIdleSequence(); - if (_vm->_platY == 5 || _vm->_platY == 6) + if (_vm->_plat->_pos.y == 5 || _vm->_plat->_pos.y == 6) _vm->platypusWalkTo(-1, 7, -1, -1, 1); if (_vm->_gnapActionStatus < 0) _vm->updateGnapIdleSequence(); @@ -2423,8 +2422,7 @@ void Scene17::run() { _vm->gnapWalkTo(4, 8, -1, 0x107B9, 1); } else if (_vm->isFlag(kGFUnk27)) { _vm->initGnapPos(3, 9, kDirUpLeft); - _vm->_platX = _vm->_hotspotsWalkPos[2].x; - _vm->_platY = _vm->_hotspotsWalkPos[2].y; + _vm->_plat->_pos = _vm->_hotspotsWalkPos[2]; _vm->_platypusId = 20 * _vm->_hotspotsWalkPos[2].y; gameSys.insertSequence(0x25A, 20 * _vm->_hotspotsWalkPos[2].y, 0, 0, kSeqNone, 0, 0, 0); gameSys.insertSequence(0x257, 254, 0, 0, kSeqNone, 0, 0, 0); @@ -2459,8 +2457,7 @@ void Scene17::run() { _vm->clearFlag(kGFUnk16); _vm->_sceneWaiting = true; _vm->initGnapPos(3, 9, kDirUpLeft); - _vm->_platX = _vm->_hotspotsWalkPos[2].x; - _vm->_platY = _vm->_hotspotsWalkPos[2].y; + _vm->_plat->_pos = _vm->_hotspotsWalkPos[2]; _vm->_platypusId = 20 * _vm->_hotspotsWalkPos[2].y; _currPhoneSequenceId = 0x251; gameSys.insertSequence(0x25A, 20 * _vm->_hotspotsWalkPos[2].y, 0, 0, kSeqNone, 0, 0, 0); @@ -2498,18 +2495,17 @@ void Scene17::run() { _vm->_gnapSequenceDatNum = 0; _vm->_gnap->_idleFacing = kDirBottomRight; gameSys.insertSequence(makeRid(_vm->_gnapSequenceDatNum, _vm->_gnapSequenceId), _vm->_gnapId, 0, 0, kSeqNone, 0, 0, 0); - _vm->_platX = -1; - _vm->_platY = 8; + _vm->_plat->_pos = Common::Point(-1, 8); _vm->_platypusId = 160; gameSys.insertSequence(0x241, 160, 0, 0, kSeqNone, 0, 0, 0); gameSys.insertSequence(0x107C1, _vm->_platypusId, 0x241, _vm->_platypusId, - kSeqScale | kSeqSyncWait, 0, 75 * _vm->_platX - _vm->_platGridX, 48 * _vm->_platY - _vm->_platGridY); + kSeqScale | kSeqSyncWait, 0, 75 * _vm->_plat->_pos.x - _vm->_platGridX, 48 * _vm->_plat->_pos.y - _vm->_platGridY); gameSys.insertSequence(0x22C, 2, 0, 0, kSeqNone, 0, 0, 0); // TODO delayTicksA(2, 9); _vm->endSceneInit(); _vm->_platypusSequenceId = 0x7C1; _vm->_platypusSequenceDatNum = 1; - _vm->_platypusFacing = kDirBottomRight; + _vm->_plat->_idleFacing = kDirBottomRight; _vm->platypusWalkTo(2, 9, -1, 0x107C2, 1); } @@ -2544,15 +2540,15 @@ void Scene17::run() { _vm->invRemove(kItemJoint); } } else if (_vm->_grabCursorSpriteIndex >= 0) { - _vm->playGnapScratchingHead(_vm->_platX, _vm->_platY); + _vm->playGnapScratchingHead(_vm->_plat->_pos.x, _vm->_plat->_pos.y); } else { switch (_vm->_verbCursor) { case LOOK_CURSOR: case GRAB_CURSOR: - _vm->playGnapScratchingHead(_vm->_platX, _vm->_platY); + _vm->playGnapScratchingHead(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -2622,7 +2618,7 @@ void Scene17::run() { platHangUpPhone(); _vm->_isLeavingScene = true; _vm->gnapUseDeviceOnPlatypus(); - _vm->_platypusFacing = kDirUpLeft; + _vm->_plat->_idleFacing = kDirUpLeft; _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2].x, _vm->_hotspotsWalkPos[2].y, 1, 0x107C2, 1); _vm->setFlag(kGFUnk16); _vm->_platypusActionStatus = kAS17PlatUsePhone; @@ -2666,7 +2662,7 @@ void Scene17::run() { platHangUpPhone(); _vm->_isLeavingScene = true; _vm->gnapUseDeviceOnPlatypus(); - _vm->_platypusFacing = kDirUpLeft; + _vm->_plat->_idleFacing = kDirUpLeft; _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2].x, _vm->_hotspotsWalkPos[2].y, 1, 0x107C2, 1); _vm->setFlag(kGFUnk16); _vm->_platypusActionStatus = kAS17PlatUsePhone; @@ -3186,11 +3182,11 @@ void Scene18::gnapCarryGarbageCanTo(int gridX) { else direction = -1; } else { - if (_vm->_gnap->_pos.y == _vm->_platY) { + if (_vm->_gnap->_pos.y == _vm->_plat->_pos.y) { if (nextGridX >= _vm->_gnap->_pos.x) { - if (nextGridX >= _vm->_platX && _vm->_gnap->_pos.x <= _vm->_platX) + if (nextGridX >= _vm->_plat->_pos.x && _vm->_gnap->_pos.x <= _vm->_plat->_pos.x) _vm->platypusMakeRoom(); - } else if (nextGridX <= _vm->_platX && _vm->_gnap->_pos.x >= _vm->_platX) { + } else if (nextGridX <= _vm->_plat->_pos.x && _vm->_gnap->_pos.x >= _vm->_plat->_pos.x) { _vm->platypusMakeRoom(); } } @@ -3442,17 +3438,17 @@ void Scene18::run() { if (_vm->_grabCursorSpriteIndex == kItemJoint) { _vm->gnapUseJointOnPlatypus(); } else if (_vm->_grabCursorSpriteIndex >= 0) { - _vm->playGnapShowItem(_vm->_grabCursorSpriteIndex, _vm->_platX, _vm->_platY); + _vm->playGnapShowItem(_vm->_grabCursorSpriteIndex, _vm->_plat->_pos.x, _vm->_plat->_pos.y); } else { switch (_vm->_verbCursor) { case LOOK_CURSOR: - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(0); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: @@ -4148,17 +4144,17 @@ void Scene19::run() { if (_vm->_grabCursorSpriteIndex == kItemJoint) { _vm->gnapUseJointOnPlatypus(); } else if (_vm->_grabCursorSpriteIndex >= 0) { - _vm->playGnapImpossible(_vm->_platX, _vm->_platY); + _vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y); } else { switch (_vm->_verbCursor) { case LOOK_CURSOR: - _vm->playGnapMoan1(_vm->_platX, _vm->_platY); + _vm->playGnapMoan1(_vm->_plat->_pos.x, _vm->_plat->_pos.y); break; case GRAB_CURSOR: _vm->gnapKissPlatypus(0); break; case TALK_CURSOR: - _vm->playGnapBrainPulsating(_vm->_platX, _vm->_platY); + _vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y); _vm->playPlatypusSequence(_vm->getPlatypusSequenceId()); break; case PLAT_CURSOR: |