aboutsummaryrefslogtreecommitdiff
path: root/engines/mads
diff options
context:
space:
mode:
authorStrangerke2014-04-24 07:13:44 +0200
committerStrangerke2014-04-24 07:14:55 +0200
commitba34b1f8823e9e39a6d9c5bed76f10910d8c65ec (patch)
treeeb202480b0b2d9c0dbb98df8b6c1ae7f05bcfe52 /engines/mads
parent0f1cb2a5c123e44c6a21c168fd25ef1a06c911b6 (diff)
downloadscummvm-rg350-ba34b1f8823e9e39a6d9c5bed76f10910d8c65ec.tar.gz
scummvm-rg350-ba34b1f8823e9e39a6d9c5bed76f10910d8c65ec.tar.bz2
scummvm-rg350-ba34b1f8823e9e39a6d9c5bed76f10910d8c65ec.zip
MADS: Implement scene 321
Diffstat (limited to 'engines/mads')
-rw-r--r--engines/mads/nebular/nebular_scenes3.cpp37
-rw-r--r--engines/mads/nebular/nebular_scenes3.h12
2 files changed, 49 insertions, 0 deletions
diff --git a/engines/mads/nebular/nebular_scenes3.cpp b/engines/mads/nebular/nebular_scenes3.cpp
index 9f4873f55a..b0b837bd6f 100644
--- a/engines/mads/nebular/nebular_scenes3.cpp
+++ b/engines/mads/nebular/nebular_scenes3.cpp
@@ -3639,5 +3639,42 @@ void Scene320::actions() {
/*------------------------------------------------------------------------*/
+void Scene321::setup() {
+ setPlayerSpritesPrefix();
+ setAAName();
+}
+
+void Scene321::enter() {
+ _game._player._visible = false;
+ _game._player._stepEnabled = false;
+
+ _scene->_userInterface.emptyConversationList();
+ _scene->_userInterface.setup(kInputConversation);
+
+ int suffixNum;
+ if (_globals[kSexOfRex] == REX_FEMALE) {
+ _globals[kSexOfRex] = REX_MALE;
+ suffixNum = 1;
+ } else {
+ _globals[kSexOfRex] = REX_FEMALE;
+ suffixNum = _game._visitedScenes._sceneRevisited ? 2 : 0;
+ }
+
+ _scene->loadAnimation(formAnimName('g', suffixNum), 60);
+ sceneEntrySound();
+}
+
+void Scene321::step() {
+ if (_scene->_activeAnimation != nullptr) {
+ if ((_scene->_activeAnimation->getCurrentFrame() >= 260) && (_globals[kSexOfRex] == REX_MALE) && (_game._storyMode >= STORYMODE_NICE))
+ _scene->_nextSceneId = 316;
+ }
+
+ if (_game._trigger == 60)
+ _scene->_nextSceneId = 316;
+}
+
+/*------------------------------------------------------------------------*/
+
} // 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 79ffa316f2..6da0f3e320 100644
--- a/engines/mads/nebular/nebular_scenes3.h
+++ b/engines/mads/nebular/nebular_scenes3.h
@@ -337,6 +337,18 @@ public:
virtual void postActions() {};
};
+class Scene321: public Scene3xx {
+public:
+ Scene321(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