aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2014-03-29 22:31:55 +0100
committerStrangerke2014-03-29 22:31:55 +0100
commit87c97a1bcba272245865b8f221ed38d7e7b29e12 (patch)
tree8c3f41eff74808adf61b5aa90a9f032cf9f4972d /engines
parentf3db90b646d4af5b6daf43d11e99d59de0649b03 (diff)
downloadscummvm-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.cpp32
-rw-r--r--engines/mads/nebular/nebular_scenes2.h8
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();