aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tsage/core.h2
-rw-r--r--engines/tsage/ringworld_logic.cpp32
-rw-r--r--engines/tsage/ringworld_logic.h8
-rw-r--r--engines/tsage/ringworld_scenes1.h2
4 files changed, 42 insertions, 2 deletions
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 148b44874d..ebaab0d4e7 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -190,7 +190,7 @@ public:
void setDelay(int numFrames);
};
-class Action2: public Action {
+class ActionExt: public Action {
public:
int _state;
};
diff --git a/engines/tsage/ringworld_logic.cpp b/engines/tsage/ringworld_logic.cpp
index d73e583407..645d0529c2 100644
--- a/engines/tsage/ringworld_logic.cpp
+++ b/engines/tsage/ringworld_logic.cpp
@@ -80,6 +80,8 @@ Scene *SceneFactory::createScene(int sceneNumber) {
case 2150: return new Scene2150();
// Spaceship - AutoDoc
case 2200: return new Scene2200();
+ // Stasis Field Map
+ case 2222: return new Scene2222();
/* Scene group 4 */
@@ -548,4 +550,34 @@ void SpeakerSAL::setText(const Common::String &msg) {
Speaker::setText(msg);
}
+/*--------------------------------------------------------------------------*/
+
+SpeakerML::SpeakerML() {
+ _speakerName = "ML";
+ _newSceneNumber = 2710;
+ _textPos = Common::Point(160, 40);
+ _colour1 = 22;
+}
+
+void SpeakerML::setText(const Common::String &msg) {
+ _object1.postInit(&_objectList);
+ _object1.setVisage(2712);
+ _object1.setStrip2(2);
+ _object1.setPriority2(255);
+ _object1.changeZoom(100);
+ _object1._frame = 1;
+ _object1.setPosition(Common::Point(99, 143));
+ _object1.animate(ANIM_MODE_7, 0, NULL);
+
+ _object2.postInit(&_objectList);
+ _object2.setVisage(2712);
+ _object2.setStrip2(1);
+ _object2.setPriority2(255);
+ _object2._frame = 1;
+ _object2.setPosition(Common::Point(105, 99));
+ _object2.setAction(&_speakerAction, NULL);
+
+ Speaker::setText(msg);
+}
+
} // End of namespace tSage
diff --git a/engines/tsage/ringworld_logic.h b/engines/tsage/ringworld_logic.h
index ea0c8901ea..1524a9412a 100644
--- a/engines/tsage/ringworld_logic.h
+++ b/engines/tsage/ringworld_logic.h
@@ -203,6 +203,14 @@ public:
virtual void setText(const Common::String &msg);
};
+class SpeakerML: public AnimatedSpeaker {
+public:
+ SpeakerML();
+
+ virtual Common::String getClassName() { return "SpeakerML"; }
+ virtual void setText(const Common::String &msg);
+};
+
} // End of namespace tSage
#endif
diff --git a/engines/tsage/ringworld_scenes1.h b/engines/tsage/ringworld_scenes1.h
index 4d9c894e2a..c75fc2131e 100644
--- a/engines/tsage/ringworld_scenes1.h
+++ b/engines/tsage/ringworld_scenes1.h
@@ -462,7 +462,7 @@ public:
};
class Scene95: public Scene {
- class Action1: public Action2 {
+ class Action1: public ActionExt {
public:
virtual void signal();
};