diff options
author | Strangerke | 2016-05-04 07:13:48 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-05-10 12:14:49 +0200 |
commit | 2e50019c05dbff0bbb559b72a201630605505c87 (patch) | |
tree | 473fb2794fd1a783ac5015f2de4456c12642cd12 /engines/gnap/scenes/group3.cpp | |
parent | aee38421631479b6025585649172491f3251ce5e (diff) | |
download | scummvm-rg350-2e50019c05dbff0bbb559b72a201630605505c87.tar.gz scummvm-rg350-2e50019c05dbff0bbb559b72a201630605505c87.tar.bz2 scummvm-rg350-2e50019c05dbff0bbb559b72a201630605505c87.zip |
GNAP: Introduce Character class - WIP
Diffstat (limited to 'engines/gnap/scenes/group3.cpp')
-rw-r--r-- | engines/gnap/scenes/group3.cpp | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/engines/gnap/scenes/group3.cpp b/engines/gnap/scenes/group3.cpp index 20f798c84e..adec63a152 100644 --- a/engines/gnap/scenes/group3.cpp +++ b/engines/gnap/scenes/group3.cpp @@ -413,7 +413,7 @@ void Scene31::run() { if (_vm->_gnapActionStatus < 0 || _vm->_gnapActionStatus == kAS31PlatMeasuringClown) { if (_vm->_grabCursorSpriteIndex == kItemEmptyBucket && _beerGuyDistracted) { _vm->setGrabCursorSprite(-1); - _vm->gnapWalkTo(_vm->_gnapX, _vm->_gnapY, -1, _vm->getGnapSequenceId(gskIdle, _vm->_hotspotsWalkPos[kHS31BeerBarrel].x, _vm->_hotspotsWalkPos[kHS31BeerBarrel].y) | 0x10000, 1); + _vm->gnapWalkTo(_vm->_gnap->_pos, -1, _vm->getGnapSequenceId(gskIdle, _vm->_hotspotsWalkPos[kHS31BeerBarrel].x, _vm->_hotspotsWalkPos[kHS31BeerBarrel].y) | 0x10000, 1); _clerkMeasureMaxCtr += 5; gameSys.insertSequence(0xF8, 59, 0, 0, kSeqNone, 0, 0, 0); _vm->playGnapPullOutDevice(6, 8); @@ -434,7 +434,7 @@ void Scene31::run() { } else { _vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS31BeerBarrel].x, _vm->_hotspotsWalkPos[kHS31BeerBarrel].y, 0, 0x107BC, 1); _vm->_gnapActionStatus = kAS31UseBeerBarrel; - _vm->_gnapIdleFacing = kDirUpLeft; + _vm->_gnap->_idleFacing = kDirUpLeft; } break; case TALK_CURSOR: @@ -544,15 +544,14 @@ void Scene31::updateAnimations() { case kAS31FillEmptyBucketWithBeer: gameSys.setAnimation(0x102, 59, 0); gameSys.insertSequence(0x102, 59, makeRid(_vm->_gnapSequenceDatNum, _vm->_gnapSequenceId), _vm->_gnapId, kSeqSyncWait, 0, 0, 0); - _vm->_gnapX = 5; - _vm->_gnapY = 7; + _vm->_gnap->_pos = Common::Point(5, 7); _vm->_gnapSequenceDatNum = 0; _vm->_gnapSequenceId = 0x102; _vm->_gnapId = 59; _vm->_gnapActionStatus = kAS31FillEmptyBucketWithBeerDone; break; case kAS31FillEmptyBucketWithBeerDone: - _vm->_gnapIdleFacing = kDirBottomLeft; + _vm->_gnap->_idleFacing = kDirBottomLeft; _vm->playGnapPullOutDevice(0, 0); _vm->playGnapUseDevice(0, 0); gameSys.insertSequence(0xF9, 59, 0xF8, 59, kSeqSyncWait, 0, 0, 0); @@ -899,14 +898,14 @@ void Scene33::run() { } else { switch (_vm->_verbCursor) { case GRAB_CURSOR: - _vm->_gnapIdleFacing = kDirBottomRight; + _vm->_gnap->_idleFacing = kDirBottomRight; if (_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS33Chicken].x, _vm->_hotspotsWalkPos[kHS33Chicken].y, 0, _vm->getGnapSequenceId(gskIdle, 0, 0) | 0x10000, 1)) _vm->_gnapActionStatus = kAS33UseChicken; else _vm->_gnapActionStatus = -1; break; case TALK_CURSOR: - _vm->_gnapIdleFacing = kDirBottomRight; + _vm->_gnap->_idleFacing = kDirBottomRight; _vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS33Chicken].x, _vm->_hotspotsWalkPos[kHS33Chicken].y, 0, _vm->getGnapSequenceId(gskBrainPulsating, 0, 0) | 0x10000, 1); _vm->_gnapActionStatus = kAS33TalkChicken; break; @@ -924,8 +923,8 @@ void Scene33::run() { _vm->_isLeavingScene = true; _vm->_gnapActionStatus = kAS33LeaveScene; _vm->_newSceneNum = 37; - if (_vm->_gnapX > 6) - _vm->gnapWalkTo(_vm->_gnapX, _vm->_gnapY, 0, 0x107AD, 1); + if (_vm->_gnap->_pos.x > 6) + _vm->gnapWalkTo(_vm->_gnap->_pos, 0, 0x107AD, 1); else _vm->gnapWalkTo(6, 7, 0, 0x107B1, 1); } @@ -936,8 +935,8 @@ void Scene33::run() { _vm->_isLeavingScene = true; _vm->_gnapActionStatus = kAS33LeaveScene; _vm->_newSceneNum = 35; - if (_vm->_gnapX > 7) - _vm->gnapWalkTo(_vm->_gnapX, _vm->_gnapY, 0, 0x107AD, 1); + if (_vm->_gnap->_pos.x > 7) + _vm->gnapWalkTo(_vm->_gnap->_pos, 0, 0x107AD, 1); else _vm->gnapWalkTo(7, 7, 0, 0x107B1, 1); } @@ -1033,7 +1032,7 @@ void Scene33::updateAnimations() { _vm->_timers[2] = 100; break; case kAS33UseChickenDone: - gameSys.insertSequence(0x107B5, _vm->_gnapId, 0x81, 179, kSeqSyncWait, 0, 75 * _vm->_gnapX - _vm->_gnapGridX, 48 * _vm->_gnapY - _vm->_gnapGridY); + gameSys.insertSequence(0x107B5, _vm->_gnapId, 0x81, 179, kSeqSyncWait, 0, 75 * _vm->_gnap->_pos.x - _vm->_gnapGridX, 48 * _vm->_gnap->_pos.y - _vm->_gnapGridY); _vm->_gnapSequenceId = 0x7B5; _vm->_gnapSequenceDatNum = 1; _currChickenSequenceId = 0x7E; @@ -1324,9 +1323,8 @@ void Scene38::updateAnimations() { gameSys.insertSequence(0xA0, _vm->_gnapId, makeRid(_vm->_gnapSequenceDatNum, _vm->_gnapSequenceId), _vm->_gnapId, kSeqSyncWait, 0, 0, 0); _vm->_gnapSequenceId = 0xA0; _vm->_gnapSequenceDatNum = 0; - _vm->_gnapX = 3; - _vm->_gnapY = 6; - _vm->_gnapIdleFacing = kDirBottomRight; + _vm->_gnap->_pos = Common::Point(3, 6); + _vm->_gnap->_idleFacing = kDirBottomRight; if (_vm->_isLeavingScene) { _vm->_sceneWaiting = false; _vm->gnapWalkTo(5, 7, 0, 0x107BB, 1); @@ -1339,9 +1337,8 @@ void Scene38::updateAnimations() { gameSys.insertSequence(0x9E, _vm->_gnapId, makeRid(_vm->_gnapSequenceDatNum, _vm->_gnapSequenceId), _vm->_gnapId, kSeqSyncWait, 0, 0, 0); _vm->_gnapSequenceId = 0x9E; _vm->_gnapSequenceDatNum = 0; - _vm->_gnapX = 3; - _vm->_gnapY = 6; - _vm->_gnapIdleFacing = kDirBottomRight; + _vm->_gnap->_pos = Common::Point(3, 6); + _vm->_gnap->_idleFacing = kDirBottomRight; gameSys.setAnimation(0x9E, _vm->_gnapId, 0); _vm->_sceneWaiting = false; updateHotspots(); @@ -1481,7 +1478,7 @@ void Scene39::run() { if (_vm->_gnapActionStatus < 0) { _vm->_isLeavingScene = true; _vm->_sceneDone = true; - _vm->gnapWalkTo(_vm->_gnapX, _vm->_gnapY, 0, 0x107AB, 1); + _vm->gnapWalkTo(_vm->_gnap->_pos, 0, 0x107AB, 1); _vm->_gnapActionStatus = kAS39LeaveScene; _vm->_newSceneNum = 40; } |