diff options
-rw-r--r-- | engines/tsage/core.h | 2 | ||||
-rw-r--r-- | engines/tsage/ringworld_logic.cpp | 32 | ||||
-rw-r--r-- | engines/tsage/ringworld_logic.h | 8 | ||||
-rw-r--r-- | engines/tsage/ringworld_scenes1.h | 2 |
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(); }; |