diff options
author | Strangerke | 2014-03-29 22:31:55 +0100 |
---|---|---|
committer | Strangerke | 2014-03-29 22:31:55 +0100 |
commit | 87c97a1bcba272245865b8f221ed38d7e7b29e12 (patch) | |
tree | 8c3f41eff74808adf61b5aa90a9f032cf9f4972d /engines | |
parent | f3db90b646d4af5b6daf43d11e99d59de0649b03 (diff) | |
download | scummvm-rg350-87c97a1bcba272245865b8f221ed38d7e7b29e12.tar.gz scummvm-rg350-87c97a1bcba272245865b8f221ed38d7e7b29e12.tar.bz2 scummvm-rg350-87c97a1bcba272245865b8f221ed38d7e7b29e12.zip |
MADS: Implement two stubs in scene 207 (which is now complete)
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mads/nebular/nebular_scenes2.cpp | 32 | ||||
-rw-r--r-- | engines/mads/nebular/nebular_scenes2.h | 8 |
2 files changed, 29 insertions, 11 deletions
diff --git a/engines/mads/nebular/nebular_scenes2.cpp b/engines/mads/nebular/nebular_scenes2.cpp index 61ce589b5a..f00aae4873 100644 --- a/engines/mads/nebular/nebular_scenes2.cpp +++ b/engines/mads/nebular/nebular_scenes2.cpp @@ -1250,9 +1250,8 @@ void Scene207::enter() { if (_vultureFl) { _globals._spriteIndexes[16] = _scene->_sequences.startReverseCycle(_globals._spriteIndexes[1], false, 30, 0, 0, 400); _vultureTime = _game._player._priorTimer; - - int idx = _scene->_dynamicHotspots.add(389, 13, _globals._spriteIndexes[16], Common::Rect(0, 0, 0, 0)); - _scene->_dynamicHotspots.setPosition(idx, 254, 94, FACING_WEST); + _vultureHotspotId = _scene->_dynamicHotspots.add(389, 13, _globals._spriteIndexes[16], Common::Rect(0, 0, 0, 0)); + _scene->_dynamicHotspots.setPosition(_vultureHotspotId, 254, 94, FACING_WEST); } if (_spiderFl) { @@ -1280,14 +1279,29 @@ void Scene207::enter() { _scene->_sequences.addSubEntry(_globals._spriteIndexes[21], SM_0, 0, 70); } +void Scene207::moveVulture() { + _scene->_sequences.remove(_globals._spriteIndexes[16]); + _globals._spriteIndexes[17] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0); + _vm->_sound->command(43); + _vultureFl = false; + _vultureTime = _game._player._priorTimer; + _scene->_dynamicHotspots.remove(_vultureHotspotId); +} + +void Scene207::moveSpider() { + _scene->_sequences.remove(_globals._spriteIndexes[19]); + _globals._spriteIndexes[19] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 5, 1, 0, 0); + _spiderFl = false; + _spiderTime = _game._player._priorTimer; + _scene->_dynamicHotspots.remove(_spiderHotspotId); +} + void Scene207::step() { - if (!_vultureFl) { - warning("TODO: sub3AD90(...)"); - } + if (!_vultureFl) + moveVulture(); - if (_spiderFl) { - warning("TODO: sub3ADD6(...)"); - } + if (_spiderFl) + moveSpider(); if (_game._trigger == 70) { _globals._spriteIndexes[21] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 10, 0, 0, 0); diff --git a/engines/mads/nebular/nebular_scenes2.h b/engines/mads/nebular/nebular_scenes2.h index 1c19ae4d93..84cd245000 100644 --- a/engines/mads/nebular/nebular_scenes2.h +++ b/engines/mads/nebular/nebular_scenes2.h @@ -114,10 +114,14 @@ public: class Scene207: public Scene2xx { bool _vultureFl, _spiderFl, _eyeFl; - int _spiderHotspotId; + int _spiderHotspotId, _vultureHotspotId; int32 _spiderTime, _vultureTime; + + void moveVulture(); + void moveSpider(); + public: - Scene207(MADSEngine *vm) : Scene2xx(vm), _vultureFl(false), _spiderFl(false), _spiderHotspotId(-1), _spiderTime(0), _vultureTime(0) {} + Scene207(MADSEngine *vm) : Scene2xx(vm), _vultureFl(false), _spiderFl(false), _spiderHotspotId(-1), _vultureHotspotId(-1), _spiderTime(0), _vultureTime(0) {} virtual void setup(); virtual void enter(); virtual void step(); |