GNAP: More refactoring related to characters (WIP)

This commit is contained in:
Strangerke 2016-05-05 10:28:58 +02:00 committed by Eugene Sandulenko
parent 579ecdabd1
commit 00c544f9f8
9 changed files with 217 additions and 215 deletions

View File

@ -38,8 +38,8 @@ Character::Character(GnapEngine *vm) : _vm(vm) {
Character::~Character() {}
PlayerGnap::PlayerGnap(GnapEngine * vm) : Character(vm) {
_gnapBrainPulseNum = 0;
_gnapBrainPulseRndValue = 0;
_brainPulseNum = 0;
_brainPulseRndValue = 0;
}
int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
@ -67,18 +67,18 @@ int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x839;
break;
case kDirBottomLeft:
sequenceId = 0x83B;
break;
case kDirUpRight:
sequenceId = 0x83D;
break;
default:
sequenceId = 0x83F;
break;
case kDirBottomRight:
sequenceId = 0x839;
break;
case kDirBottomLeft:
sequenceId = 0x83B;
break;
case kDirUpRight:
sequenceId = 0x83D;
break;
default:
sequenceId = 0x83F;
break;
}
}
break;
@ -104,18 +104,18 @@ int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x826;
break;
case kDirBottomLeft:
sequenceId = 0x827;
break;
case kDirUpRight:
sequenceId = 0x828;
break;
default:
sequenceId = 0x829;
break;
case kDirBottomRight:
sequenceId = 0x826;
break;
case kDirBottomLeft:
sequenceId = 0x827;
break;
case kDirUpRight:
sequenceId = 0x828;
break;
default:
sequenceId = 0x829;
break;
}
}
break;
@ -141,22 +141,22 @@ int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x833;
_idleFacing = kDirBottomRight;
break;
case kDirBottomLeft:
sequenceId = 0x834;
_idleFacing = kDirBottomLeft;
break;
case kDirUpRight:
sequenceId = 0x885;
_idleFacing = kDirUpRight;
break;
default:
sequenceId = 0x834;
_idleFacing = kDirBottomLeft;
break;
case kDirBottomRight:
sequenceId = 0x833;
_idleFacing = kDirBottomRight;
break;
case kDirBottomLeft:
sequenceId = 0x834;
_idleFacing = kDirBottomLeft;
break;
case kDirUpRight:
sequenceId = 0x885;
_idleFacing = kDirUpRight;
break;
default:
sequenceId = 0x834;
_idleFacing = kDirBottomLeft;
break;
}
}
break;
@ -182,56 +182,56 @@ int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x7B9;
break;
case kDirBottomLeft:
sequenceId = 0x7BA;
break;
case kDirUpRight:
sequenceId = 0x7BB;
break;
default:
sequenceId = 0x7BC;
break;
case kDirBottomRight:
sequenceId = 0x7B9;
break;
case kDirBottomLeft:
sequenceId = 0x7BA;
break;
case kDirUpRight:
sequenceId = 0x7BB;
break;
default:
sequenceId = 0x7BC;
break;
}
}
break;
case gskBrainPulsating:
_gnapBrainPulseNum = (_gnapBrainPulseNum + 1) & 1;
_brainPulseNum = (_brainPulseNum + 1) & 1;
if (gridX > 0 && gridY > 0) {
if (_pos.y > gridY) {
if (_pos.x > gridX) {
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x812;
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x812;
_idleFacing = kDirUpLeft;
} else {
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7FE;
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7FE;
_idleFacing = kDirUpRight;
}
} else {
if (_pos.x > gridX) {
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7D6;
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7D6;
_idleFacing = kDirBottomLeft;
} else {
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7EA;
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7EA;
_idleFacing = kDirBottomRight;
}
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7EA;
break;
case kDirBottomLeft:
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7D6;
break;
case kDirUpRight:
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x7FE;
break;
default:
sequenceId = _gnapBrainPulseRndValue + _gnapBrainPulseNum + 0x812;
break;
case kDirBottomRight:
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7EA;
break;
case kDirBottomLeft:
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7D6;
break;
case kDirUpRight:
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x7FE;
break;
default:
sequenceId = _brainPulseRndValue + _brainPulseNum + 0x812;
break;
}
}
break;
@ -291,42 +291,42 @@ int PlayerGnap::getSequenceId(int kind, int gridX, int gridY) {
}
} else {
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x7A7;
break;
case kDirBottomLeft:
sequenceId = 0x82E;
break;
case kDirUpLeft:
sequenceId = 0x830;
break;
case kDirUpRight:
sequenceId = 0x82F;
break;
case kDirNone:
case kDirUnk4:
break;
case kDirBottomRight:
sequenceId = 0x7A7;
break;
case kDirBottomLeft:
sequenceId = 0x82E;
break;
case kDirUpLeft:
sequenceId = 0x830;
break;
case kDirUpRight:
sequenceId = 0x82F;
break;
case kDirNone:
case kDirUnk4:
break;
}
}
break;
case gskUseDevice:
switch (_idleFacing) {
case kDirBottomRight:
sequenceId = 0x83A;
break;
case kDirBottomLeft:
sequenceId = 0x83C;
break;
case kDirUpLeft:
sequenceId = 0x840;
break;
case kDirUpRight:
sequenceId = 0x83E;
break;
case kDirNone:
case kDirUnk4:
break;
case kDirBottomRight:
sequenceId = 0x83A;
break;
case kDirBottomLeft:
sequenceId = 0x83C;
break;
case kDirUpLeft:
sequenceId = 0x840;
break;
case kDirUpRight:
sequenceId = 0x83E;
break;
case kDirNone:
case kDirUnk4:
break;
}
break;
@ -407,7 +407,7 @@ void PlayerGnap::useJointOnPlatypus() {
_vm->_plat->_sequenceDatNum = 1;
_vm->_plat->_sequenceId = 0x876;
_vm->_plat->_idleFacing = kDirNone;
_vm->playGnapSequence(0x107B5);
_vm->_gnap->playSequence(0x107B5);
_vm->gnapWalkStep();
while (_vm->_gameSys->getAnimationStatus(0) != 2) {
_vm->updateMouseCursor();
@ -416,7 +416,7 @@ void PlayerGnap::useJointOnPlatypus() {
_vm->_gameSys->setAnimation(0, 0, 0);
_actionStatus = -1;
} else {
_vm->playGnapSequence(getSequenceId(gskScratchingHead, _vm->_plat->_pos.x, _vm->_plat->_pos.y) | 0x10000);
_vm->_gnap->playSequence(getSequenceId(gskScratchingHead, _vm->_plat->_pos.x, _vm->_plat->_pos.y) | 0x10000);
}
}
@ -436,7 +436,7 @@ void PlayerGnap::kissPlatypus(int callback) {
_vm->_plat->_sequenceDatNum = 1;
_vm->_plat->_sequenceId = 0x7CB;
_vm->_plat->_idleFacing = kDirNone;
_vm->playGnapSequence(0x107B5);
_vm->_gnap->playSequence(0x107B5);
while (_vm->_gameSys->getAnimationStatus(0) != 2) {
_vm->updateMouseCursor();
_vm->doCallback(callback);
@ -445,12 +445,12 @@ void PlayerGnap::kissPlatypus(int callback) {
_vm->_gameSys->setAnimation(0, 0, 0);
_actionStatus = -1;
} else {
_vm->playGnapSequence(getSequenceId(gskScratchingHead, _vm->_plat->_pos.x, _vm->_plat->_pos.y) | 0x10000);
_vm->_gnap->playSequence(getSequenceId(gskScratchingHead, _vm->_plat->_pos.x, _vm->_plat->_pos.y) | 0x10000);
}
}
void PlayerGnap::useDeviceOnPlatypus() {
_vm->playGnapSequence(makeRid(1, getSequenceId(gskPullOutDevice, _vm->_plat->_pos.x, _vm->_plat->_pos.y)));
_vm->_gnap->playSequence(makeRid(1, getSequenceId(gskPullOutDevice, _vm->_plat->_pos.x, _vm->_plat->_pos.y)));
if (_vm->_plat->_idleFacing != kDirNone) {
_vm->_gameSys->insertSequence(makeRid(1, 0x7D5), _vm->_plat->_id,
@ -475,7 +475,18 @@ void PlayerGnap::useDeviceOnPlatypus() {
}
void PlayerGnap::initBrainPulseRndValue() {
_gnapBrainPulseRndValue = 2 * _vm->getRandom(10);
_brainPulseRndValue = 2 * _vm->getRandom(10);
}
void PlayerGnap::playSequence(int sequenceId) {
_vm->_timers[2] = _vm->getRandom(30) + 20;
_vm->_timers[3] = 300;
_vm->gnapIdle();
_vm->_gameSys->insertSequence(sequenceId, _id,
makeRid(_sequenceDatNum, _sequenceId), _id,
kSeqScale | kSeqSyncWait, 0, 75 * _pos.x - _vm->_gnapGridX, 48 * _pos.y - _vm->_gnapGridY);
_sequenceId = ridToEntryIndex(sequenceId);
_sequenceDatNum = ridToDatIndex(sequenceId);
}
/************************************************************************************************/
@ -495,4 +506,13 @@ int PlayerPlat::getSequenceId(int kind, int gridX, int gridY) {
return sequenceId | 0x10000;
}
void PlayerPlat::playSequence(int sequenceId) {
_vm->_gameSys->insertSequence(sequenceId, _id,
makeRid(_sequenceDatNum, _sequenceId), _id,
kSeqScale | kSeqSyncWait, 0, 75 * _pos.x - _vm->_platGridX, 48 * _pos.y - _vm->_platGridY);
_sequenceId = ridToEntryIndex(sequenceId);
_sequenceDatNum = ridToDatIndex(sequenceId);
}
} // End of namespace Gnap

View File

@ -42,6 +42,7 @@ public:
~Character();
virtual int getSequenceId(int kind, int gridX, int gridY) = 0;
virtual void playSequence(int sequenceId) = 0;
Common::Point _pos;
Facing _idleFacing;
@ -58,19 +59,21 @@ class PlayerGnap : public Character {
public:
PlayerGnap(GnapEngine *vm);
virtual int getSequenceId(int kind, int gridX, int gridY);
virtual void playSequence(int sequenceId);
void initBrainPulseRndValue();
void kissPlatypus(int callback);
void useDeviceOnPlatypus();
void useJointOnPlatypus();
int _gnapBrainPulseNum, _gnapBrainPulseRndValue;
int _brainPulseNum, _brainPulseRndValue;
};
class PlayerPlat : public Character {
public:
PlayerPlat(GnapEngine *vm);
virtual int getSequenceId(int kind = 0, int gridX = 0, int gridY = 0);
virtual void playSequence(int sequenceId);
};
} // End of namespace Gnap

View File

@ -1146,55 +1146,44 @@ void GnapEngine::gnapActionIdle(int sequenceId) {
}
}
void GnapEngine::playGnapSequence(int sequenceId) {
_timers[2] = getRandom(30) + 20;
_timers[3] = 300;
gnapIdle();
_gameSys->insertSequence(sequenceId, _gnap->_id,
makeRid(_gnap->_sequenceDatNum, _gnap->_sequenceId), _gnap->_id,
kSeqScale | kSeqSyncWait, 0, 75 * _gnap->_pos.x - _gnapGridX, 48 * _gnap->_pos.y - _gnapGridY);
_gnap->_sequenceId = ridToEntryIndex(sequenceId);
_gnap->_sequenceDatNum = ridToDatIndex(sequenceId);
}
void GnapEngine::playGnapImpossible(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskImpossible, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskImpossible, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapScratchingHead(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskScratchingHead, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskScratchingHead, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapMoan1(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskMoan1, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskMoan1, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapMoan2(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskMoan2, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskMoan2, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapBrainPulsating(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskBrainPulsating, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskBrainPulsating, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapPullOutDevice(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskPullOutDevice, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskPullOutDevice, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapPullOutDeviceNonWorking(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskPullOutDeviceNonWorking, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskPullOutDeviceNonWorking, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapUseDevice(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskUseDevice, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskUseDevice, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapIdle(int gridX, int gridY) {
playGnapSequence(_gnap->getSequenceId(gskIdle, gridX, gridY) | 0x10000);
_gnap->playSequence(_gnap->getSequenceId(gskIdle, gridX, gridY) | 0x10000);
}
void GnapEngine::playGnapShowItem(int itemIndex, int gridLookX, int gridLookY) {
playGnapSequence(getGnapShowSequenceId(itemIndex, gridLookX, gridLookY) | 0x10000);
_gnap->playSequence(getGnapShowSequenceId(itemIndex, gridLookX, gridLookY) | 0x10000);
}
void GnapEngine::playGnapShowCurrItem(int gridX, int gridY, int gridLookX, int gridLookY) {
@ -1213,23 +1202,23 @@ void GnapEngine::updateGnapIdleSequence() {
if (_gnap->_idleFacing == kDirBottomRight) {
switch (getRandom(5)) {
case 0:
playGnapSequence(0x107A6);
_gnap->playSequence(0x107A6);
break;
case 1:
playGnapSequence(0x107AA);
_gnap->playSequence(0x107AA);
break;
case 2:
playGnapSequence(0x10841);
_gnap->playSequence(0x10841);
break;
default:
playGnapSequence(0x108A2);
_gnap->playSequence(0x108A2);
break;
}
} else if (_gnap->_idleFacing == kDirBottomLeft) {
if (getRandom(5) > 2)
playGnapSequence(0x10832);
_gnap->playSequence(0x10832);
else
playGnapSequence(0x10842);
_gnap->playSequence(0x10842);
}
}
} else {
@ -1261,9 +1250,9 @@ void GnapEngine::updateGnapIdleSequence2() {
_timers[2] = 60;
_timers[3] = 300;
if (_gnap->_idleFacing == kDirBottomRight) {
playGnapSequence(0x107AA);
_gnap->playSequence(0x107AA);
} else if (_gnap->_idleFacing == kDirBottomLeft) {
playGnapSequence(0x10832);
_gnap->playSequence(0x10832);
}
}
} else {
@ -1350,7 +1339,7 @@ bool GnapEngine::gnapPlatypusAction(int gridX, int gridY, int platSequenceId, in
_gameSys->setAnimation(0, 0, 0);
if (_gnap->_pos == Common::Point(_plat->_pos.x + gridX, _plat->_pos.y + gridY)) {
_gameSys->setAnimation(platSequenceId, _plat->_id, 1);
playPlatypusSequence(platSequenceId);
_plat->playSequence(platSequenceId);
while (_gameSys->getAnimationStatus(1) != 2) {
updateMouseCursor();
doCallback(callback);
@ -1366,7 +1355,7 @@ bool GnapEngine::gnapPlatypusAction(int gridX, int gridY, int platSequenceId, in
void GnapEngine::gnapUseDisguiseOnPlatypus() {
_gameSys->setAnimation(0x10846, _gnap->_id, 0);
playGnapSequence(0x10846);
_gnap->playSequence(0x10846);
while (_gameSys->getAnimationStatus(0) != 2)
gameUpdateTick();
_newSceneNum = 47;
@ -1375,14 +1364,6 @@ void GnapEngine::gnapUseDisguiseOnPlatypus() {
setFlag(kGFPlatypusDisguised);
}
void GnapEngine::playPlatypusSequence(int sequenceId) {
_gameSys->insertSequence(sequenceId, _plat->_id,
makeRid(_plat->_sequenceDatNum, _plat->_sequenceId), _plat->_id,
kSeqScale | kSeqSyncWait, 0, 75 * _plat->_pos.x - _platGridX, 48 * _plat->_pos.y - _platGridY);
_plat->_sequenceId = ridToEntryIndex(sequenceId);
_plat->_sequenceDatNum = ridToDatIndex(sequenceId);
}
void GnapEngine::updatePlatypusIdleSequence() {
if (_plat->_actionStatus < 0 && _gnap->_actionStatus < 0) {
if (_timers[0] > 0) {
@ -1392,23 +1373,23 @@ void GnapEngine::updatePlatypusIdleSequence() {
if (_plat->_idleFacing != kDirNone) {
if (rnd != 0 || _plat->_sequenceId != 0x7CA) {
if (rnd != 1 || _plat->_sequenceId != 0x7CA)
playPlatypusSequence(0x107CA);
_plat->playSequence(0x107CA);
else
playPlatypusSequence(0x10845);
_plat->playSequence(0x10845);
} else {
playPlatypusSequence(0x107CC);
_plat->playSequence(0x107CC);
}
} else if (rnd != 0 || _plat->_sequenceId != 0x7C9) {
if (rnd != 1 || _plat->_sequenceId != 0x7C9) {
if (rnd != 2 || _plat->_sequenceId != 0x7C9)
playPlatypusSequence(0x107C9);
_plat->playSequence(0x107C9);
else
playPlatypusSequence(0x108A4);
_plat->playSequence(0x108A4);
} else {
playPlatypusSequence(0x10844);
_plat->playSequence(0x10844);
}
} else {
playPlatypusSequence(0x107CB);
_plat->playSequence(0x107CB);
}
}
} else {
@ -1428,14 +1409,14 @@ void GnapEngine::updatePlatypusIdleSequence2() {
_timers[1] = getRandom(20) + 30;
if (_plat->_idleFacing != kDirNone) {
if (getRandom(10) >= 2 || _plat->_sequenceId != 0x7CA)
playPlatypusSequence(0x107CA);
_plat->playSequence(0x107CA);
else
playPlatypusSequence(0x107CC);
_plat->playSequence(0x107CC);
} else {
if (getRandom(10) >= 2 || _plat->_sequenceId != 0x7C9) {
playPlatypusSequence(0x107C9);
_plat->playSequence(0x107C9);
} else {
playPlatypusSequence(0x107CB);
_plat->playSequence(0x107CB);
}
}
}

View File

@ -519,7 +519,6 @@ public:
int getGnapShowSequenceId(int index, int gridX, int gridY);
void gnapIdle();
void gnapActionIdle(int sequenceId);
void playGnapSequence(int sequenceId);
void playGnapImpossible(int gridX, int gridY);
void playGnapScratchingHead(int gridX, int gridY);
void playGnapMoan1(int gridX, int gridY);
@ -539,7 +538,6 @@ public:
void gnapUseDisguiseOnPlatypus();
// Platypus
void playPlatypusSequence(int sequenceId);
void updatePlatypusIdleSequence();
void updatePlatypusIdleSequence2();
void initPlatypusPos(int gridX, int gridY, Facing facing);

View File

@ -140,7 +140,7 @@ void Scene01::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -490,7 +490,7 @@ void Scene02::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -955,7 +955,7 @@ void Scene03::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1462,7 +1462,7 @@ void Scene04::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1934,7 +1934,7 @@ void Scene05::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -2358,7 +2358,7 @@ void Scene06::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -2729,7 +2729,7 @@ void Scene07::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -2812,22 +2812,22 @@ void Scene07::run() {
if (gnapRandomValue != 0 || _vm->_plat->_sequenceId != 0x7CA) {
if (gnapRandomValue != 1 || _vm->_plat->_sequenceId != 0x7CA) {
if (_vm->_plat->_pos.y == 9)
_vm->playPlatypusSequence(0x107CA);
_vm->_plat->playSequence(0x107CA);
} else {
_vm->playPlatypusSequence(0x10845);
_vm->_plat->playSequence(0x10845);
}
} else {
_vm->playPlatypusSequence(0x107CC);
_vm->_plat->playSequence(0x107CC);
}
} else if (gnapRandomValue != 0 || _vm->_plat->_sequenceId != 0x7C9) {
if (gnapRandomValue != 1 || _vm->_plat->_sequenceId != 0x7C9) {
if (_vm->_plat->_pos.y == 9)
_vm->playPlatypusSequence(0x107C9);
_vm->_plat->playSequence(0x107C9);
} else {
_vm->playPlatypusSequence(0x10844);
_vm->_plat->playSequence(0x10844);
}
} else {
_vm->playPlatypusSequence(0x107CB);
_vm->_plat->playSequence(0x107CB);
}
gameSys.setAnimation(_vm->_plat->_sequenceId | (_vm->_plat->_sequenceDatNum << 16), _vm->_plat->_id, 1);
}
@ -3000,7 +3000,7 @@ void Scene08::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -3429,7 +3429,7 @@ void Scene09::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;

View File

@ -121,7 +121,7 @@ void Scene10::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -257,7 +257,7 @@ void Scene10::run() {
} else {
switch (_vm->_verbCursor) {
case LOOK_CURSOR:
_vm->playGnapSequence(_vm->_gnap->getSequenceId(gskDeflect, 10, 5) | 0x10000);
_vm->_gnap->playSequence(_vm->_gnap->getSequenceId(gskDeflect, 10, 5) | 0x10000);
break;
case GRAB_CURSOR:
_vm->gnapActionIdle(0x10C);
@ -602,7 +602,7 @@ void Scene11::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -671,7 +671,7 @@ void Scene11::run() {
} else {
switch (_vm->_verbCursor) {
case LOOK_CURSOR:
_vm->playGnapSequence(_vm->_gnap->getSequenceId(gskDeflect, 3, 6) | 0x10000);
_vm->_gnap->playSequence(_vm->_gnap->getSequenceId(gskDeflect, 3, 6) | 0x10000);
break;
case GRAB_CURSOR:
_vm->gnapWalkTo(5, 6, 0, 0x107BC, 1);
@ -1021,7 +1021,7 @@ void Scene12::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -1530,7 +1530,7 @@ void Scene13::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
break;
@ -1628,7 +1628,7 @@ void Scene13::run() {
} else {
switch (_vm->_verbCursor) {
case LOOK_CURSOR:
_vm->playGnapSequence(_vm->_gnap->getSequenceId(gskDeflect, 9, 6));
_vm->_gnap->playSequence(_vm->_gnap->getSequenceId(gskDeflect, 9, 6));
_vm->gnapWalkTo(_vm->_gnap->_pos, 0, -1, 1);
_vm->_gnap->_actionStatus = kAS13Wait;
break;
@ -1650,7 +1650,7 @@ void Scene13::run() {
} else {
switch (_vm->_verbCursor) {
case LOOK_CURSOR:
_vm->playGnapSequence(_vm->_gnap->getSequenceId(gskDeflect, 5, 9));
_vm->_gnap->playSequence(_vm->_gnap->getSequenceId(gskDeflect, 5, 9));
_vm->gnapWalkTo(_vm->_gnap->_pos, 0, -1, 1);
_vm->_gnap->_actionStatus = kAS13Wait;
break;
@ -2549,7 +2549,7 @@ void Scene17::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -3449,7 +3449,7 @@ void Scene18::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -4155,7 +4155,7 @@ void Scene19::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);

View File

@ -286,7 +286,7 @@ void Scene20::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -804,7 +804,7 @@ void Scene21::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1120,7 +1120,7 @@ void Scene22::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1344,7 +1344,7 @@ void Scene23::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1613,7 +1613,7 @@ void Scene24::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -1859,7 +1859,7 @@ void Scene25::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -2176,7 +2176,7 @@ void Scene26::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -2410,7 +2410,7 @@ void Scene27::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -2781,7 +2781,7 @@ void Scene28::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -3172,7 +3172,7 @@ void Scene29::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);

View File

@ -101,7 +101,7 @@ void Scene30::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -356,7 +356,7 @@ void Scene31::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(0, 0);
@ -705,7 +705,7 @@ void Scene32::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -881,7 +881,7 @@ void Scene33::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -1158,7 +1158,7 @@ void Scene38::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -1352,9 +1352,9 @@ void Scene38::updateAnimations() {
gameSys.setAnimation(0x9F, _vm->_gnap->_id, 0);
_vm->_gnap->_actionStatus = kAS38HoldingHuntingTrophy;
if (_vm->_plat->_idleFacing != kDirNone)
_vm->playPlatypusSequence(0x107D5);
_vm->_plat->playSequence(0x107D5);
else
_vm->playPlatypusSequence(0x107D4);
_vm->_plat->playSequence(0x107D4);
_vm->platypusWalkTo(8, 7, -1, 0x107D2, 1);
gameSys.insertSequence(0xA1, _vm->_gnap->_id + 1, _vm->_plat->_sequenceId | (_vm->_plat->_sequenceDatNum << 16), _vm->_plat->_id, kSeqSyncWait, 0, 0, 0);
_vm->_plat->_sequenceId = 0xA1;
@ -1464,7 +1464,7 @@ void Scene39::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);

View File

@ -87,7 +87,7 @@ void Scene40::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -362,7 +362,7 @@ void Scene41::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -874,7 +874,7 @@ void Scene42::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -1332,7 +1332,7 @@ void Scene43::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -1780,7 +1780,7 @@ void Scene44::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -2208,7 +2208,7 @@ void Scene45::run() {
_vm->_gnap->_sequenceDatNum = 1;
}
_vm->playPlatypusSequence(0x9A);
_vm->_plat->playSequence(0x9A);
gameSys.setAnimation(_vm->_plat->_sequenceId, _vm->_plat->_id, 1);
while (!_vm->_sceneDone) {
@ -2266,12 +2266,12 @@ void Scene45::run() {
break;
case GRAB_CURSOR:
_vm->_gnap->kissPlatypus(0);
_vm->playPlatypusSequence(0x9A);
_vm->_plat->playSequence(0x9A);
gameSys.setAnimation(_vm->_plat->_sequenceId, _vm->_plat->_id, 1);
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
@ -2405,9 +2405,9 @@ void Scene45::updateAnimations() {
if (gameSys.getAnimationStatus(1) == 2) {
gameSys.setAnimation(0, 0, 1);
if (_vm->getRandom(2) != 0)
_vm->playPlatypusSequence(0x9B);
_vm->_plat->playSequence(0x9B);
else
_vm->playPlatypusSequence(0x9C);
_vm->_plat->playSequence(0x9C);
gameSys.setAnimation(_vm->_plat->_sequenceId, _vm->_plat->_id, 1);
}
@ -2594,7 +2594,7 @@ void Scene46::run() {
break;
case TALK_CURSOR:
_vm->playGnapBrainPulsating(_vm->_plat->_pos.x, _vm->_plat->_pos.y);
_vm->playPlatypusSequence(_vm->_plat->getSequenceId());
_vm->_plat->playSequence(_vm->_plat->getSequenceId());
break;
case PLAT_CURSOR:
_vm->playGnapImpossible(_vm->_plat->_pos.x, _vm->_plat->_pos.y);