diff options
-rw-r--r-- | engines/tsage/blue_force/blueforce_scenes7.cpp | 40 | ||||
-rw-r--r-- | engines/tsage/blue_force/blueforce_scenes7.h | 5 |
2 files changed, 25 insertions, 20 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes7.cpp b/engines/tsage/blue_force/blueforce_scenes7.cpp index 21a27640e9..7b84e3ccdd 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.cpp +++ b/engines/tsage/blue_force/blueforce_scenes7.cpp @@ -37,7 +37,7 @@ namespace BlueForce { void Scene710::Timer1::signal() { PaletteRotation *rotation = BF_GLOBALS._scenePalette.addRotation(136, 138, -1); - rotation->setDelay(25); + rotation->setDelay(20); rotation = BF_GLOBALS._scenePalette.addRotation(146, 148, -1); rotation->setDelay(30); rotation = BF_GLOBALS._scenePalette.addRotation(187, 191, -1); @@ -113,19 +113,19 @@ bool Scene710::Object5::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_LOOK: - if (scene->_v1D64 <= 2) + if (scene->_stickThrowCount <= 2) return NamedObject::startAction(action, event); else { SceneItem::display2(710, 3); - scene->_v1D66 = 1; + scene->_watchCrate = true; return true; } case CURSOR_USE: - if ((scene->_kid._position.x < 0) && (scene->_v1D62 == 1)) { - scene->_v1D64++; - if (scene->_v1D66 == 0) { + if ((scene->_kid._position.x < 0) && (scene->_dogLying)) { + scene->_stickThrowCount++; + if (!scene->_watchCrate) { BF_GLOBALS._player.disableControl(); - scene->_v1D62 = 0; + scene->_dogLying = false; scene->_sceneMode = 7105; scene->setAction(&scene->_sequenceManager1, scene, 7105, &BF_GLOBALS._player, &scene->_stick, &scene->_dog, NULL); } else { @@ -187,7 +187,8 @@ void Scene710::postInit(SceneObjectList *OwnerList) { _item7.setDetails(Rect(0, 0, 640, 52), 710, 11, 17, -1, 1, NULL); _item9.setDetails(Rect(0, 0, 640, 128), 710, 5, 15, -1, 1, NULL); - _v1D62 = _v1D64 = _v1D66 = _v1D68 = 0; + _stickThrowCount = 0; + _dogLying = _watchCrate = _throwStick = false; _action1._state = 7100; _timer1.set(2, NULL); _sceneMode = 7100; @@ -205,6 +206,7 @@ void Scene710::signal() { setAction(&_sequenceManager1, this, 7102, &_dog, NULL); break; case 7101: + // Pick up crate part BF_GLOBALS._player.enableControl(); BF_INVENTORY.setObjectScene(INV_CRATE1, 1); _stick.remove(); @@ -214,19 +216,19 @@ void Scene710::signal() { _stick.setPosition(Common::Point(100, 122)); _stick.animate(ANIM_MODE_NONE, NULL); _stick._strip = 2; - if (_v1D64 <= 2) + if (_stickThrowCount <= 2) _stick._frame = 2; else { - if (_v1D64 == 3) { + if (_stickThrowCount == 3) { BF_GLOBALS._player.disableControl(); _sceneMode = 0; _stripManager.start(7108, this); } _stick._frame = 1; } - _v1D62 = 1; + _dogLying = true; BF_GLOBALS._walkRegions.disableRegion(2); - if ((_v1D68 != 0) && (_sceneMode != 0)) + if ((_throwStick) && (_sceneMode != 0)) BF_GLOBALS._player.enableControl(); break; case 7103: @@ -239,7 +241,7 @@ void Scene710::signal() { } break; case 7105: - _v1D68 = 1; + _throwStick = true; // No break on purpose case 7104: _sceneMode = 7102; @@ -256,8 +258,8 @@ void Scene710::signal() { } void Scene710::dispatch() { - if ((_kid._position.x > 0) && (_v1D62 == 1) && (_sceneMode != 7106)) { - _v1D62 = 0; + if ((_kid._position.x > 0) && (_dogLying) && (_sceneMode != 7106)) { + _dogLying = false; _sceneMode = 7103; setAction(&_sequenceManager1, this, 7103, &_kid, &_stick, &_dog, NULL); } @@ -266,10 +268,10 @@ void Scene710::dispatch() { void Scene710::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_v1D62); - s.syncAsSint16LE(_v1D64); - s.syncAsSint16LE(_v1D66); - s.syncAsSint16LE(_v1D68); + s.syncAsSint16LE(_dogLying); + s.syncAsSint16LE(_stickThrowCount); + s.syncAsSint16LE(_watchCrate); + s.syncAsSint16LE(_throwStick); } diff --git a/engines/tsage/blue_force/blueforce_scenes7.h b/engines/tsage/blue_force/blueforce_scenes7.h index 91bd1e537f..161d94cc2c 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.h +++ b/engines/tsage/blue_force/blueforce_scenes7.h @@ -89,7 +89,10 @@ public: NamedHotspot _item7; NamedHotspot _item8; NamedHotspot _item9; - int _v1D62, _v1D64, _v1D66, _v1D68; + int _stickThrowCount; + bool _dogLying; + bool _watchCrate; + bool _throwStick; virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void signal(); |