aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/nebular
diff options
context:
space:
mode:
authorStrangerke2014-04-28 07:20:24 +0200
committerStrangerke2014-04-28 07:20:24 +0200
commitff7f30af9906500a53747770d0343d0d9fd4c072 (patch)
tree895be7323aed4f69accc6030291ca55119da8946 /engines/mads/nebular
parent464627f0432d6038ee6afd6af632a8a34d1d89d8 (diff)
downloadscummvm-rg350-ff7f30af9906500a53747770d0343d0d9fd4c072.tar.gz
scummvm-rg350-ff7f30af9906500a53747770d0343d0d9fd4c072.tar.bz2
scummvm-rg350-ff7f30af9906500a53747770d0343d0d9fd4c072.zip
MADS: Implement scene 387
Diffstat (limited to 'engines/mads/nebular')
-rw-r--r--engines/mads/nebular/nebular_scenes.cpp3
-rw-r--r--engines/mads/nebular/nebular_scenes3.cpp27
-rw-r--r--engines/mads/nebular/nebular_scenes3.h11
3 files changed, 40 insertions, 1 deletions
diff --git a/engines/mads/nebular/nebular_scenes.cpp b/engines/mads/nebular/nebular_scenes.cpp
index 31d139d7e2..87a7a96d28 100644
--- a/engines/mads/nebular/nebular_scenes.cpp
+++ b/engines/mads/nebular/nebular_scenes.cpp
@@ -150,9 +150,10 @@ SceneLogic *SceneFactory::createScene(MADSEngine *vm) {
return new Scene360(vm);
case 361:
return new Scene361(vm);
-
case 366:
return new Scene366(vm);
+ case 387:
+ return new Scene387(vm);
// Scene group #8
case 804:
diff --git a/engines/mads/nebular/nebular_scenes3.cpp b/engines/mads/nebular/nebular_scenes3.cpp
index 1d5867edfb..9558edb980 100644
--- a/engines/mads/nebular/nebular_scenes3.cpp
+++ b/engines/mads/nebular/nebular_scenes3.cpp
@@ -5217,5 +5217,32 @@ void Scene366::actions() {
/*------------------------------------------------------------------------*/
+void Scene387::setup() {
+ setPlayerSpritesPrefix();
+ setAAName();
+}
+
+void Scene387::enter() {
+ _scene->_userInterface.setup(kInputLimitedSentences);
+ _game._player._visible = false;
+
+ sceneEntrySound();
+}
+
+void Scene387::actions() {
+ if (_action.isAction(0x2D5, 0x2D4))
+ _scene->_nextSceneId = 313;
+ else if (_action.isAction(0xD3, 0x2D3))
+ _vm->_dialogs->show(0x9736);
+ else if (_action.isAction(VERB_OPEN, 0x2D3))
+ _vm->_dialogs->show(0x9737);
+ else
+ return;
+
+ _action._inProgress = false;
+}
+
+/*------------------------------------------------------------------------*/
+
} // End of namespace Nebular
} // End of namespace MADS
diff --git a/engines/mads/nebular/nebular_scenes3.h b/engines/mads/nebular/nebular_scenes3.h
index b2819d55f9..24b1aef82b 100644
--- a/engines/mads/nebular/nebular_scenes3.h
+++ b/engines/mads/nebular/nebular_scenes3.h
@@ -490,6 +490,17 @@ public:
virtual void postActions() {};
};
+class Scene387: public Scene3xx {
+public:
+ Scene387(MADSEngine *vm) : Scene3xx(vm) {}
+
+ virtual void setup();
+ virtual void enter();
+ virtual void step() {};
+ virtual void preActions() {}
+ virtual void actions();
+ virtual void postActions() {};
+};
} // End of namespace Nebular
} // End of namespace MADS