aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2011-08-15 19:03:14 +1000
committerPaul Gilbert2011-08-15 19:03:14 +1000
commit833c6fdb72042b593d0bc23f8b9d223234e0ad8d (patch)
tree4c1dde676aa27cbfcd744c506546e5372c313623 /engines
parentb83cf61bfb9ac386aee2cc0ce2a7f72e41725523 (diff)
downloadscummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.tar.gz
scummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.tar.bz2
scummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.zip
TSAGE: Started implementing Blue Force Scene #50
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes0.cpp47
-rw-r--r--engines/tsage/blue_force/blueforce_scenes0.h25
2 files changed, 72 insertions, 0 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes0.cpp b/engines/tsage/blue_force/blueforce_scenes0.cpp
index 9a13480d5b..b5392635a3 100644
--- a/engines/tsage/blue_force/blueforce_scenes0.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes0.cpp
@@ -191,4 +191,51 @@ void Scene20::postInit(SceneObjectList *OwnerList) {
setAction(&_action1);
}
+/*--------------------------------------------------------------------------
+ * Scene 50 - Map Screen
+ *
+ *--------------------------------------------------------------------------*/
+
+Scene50::Tooltip::Tooltip(): SavedObject() {
+ strcpy(_msg, "");
+ _field60 = _field62 = 0;
+}
+
+void Scene50::Tooltip::synchronize(Serializer &s) {
+ SavedObject::synchronize(s);
+ _bounds.synchronize(s);
+ s.syncBytes((byte *)&_msg[0], 84);
+}
+
+void Scene50::Tooltip2::signal() {
+ switch (_actionIndex++) {
+ case 0:
+ setDelay(60);
+ break;
+ case 1: {
+ Common::Point pt(410, 181);
+ NpcMover *mover = new NpcMover();
+ ((SceneObject *)_owner)->addMover(mover, &pt, this);
+ break;
+ }
+ case 2:
+ _owner->remove();
+ break;
+ default:
+ break;
+ }
+}
+
+void Scene50::Tooltip2::dispatch() {
+ Action::dispatch();
+ SceneObject *owner = (SceneObject *)_owner;
+
+ if ((_actionIndex == 2) && (owner->_percent < 100)) {
+ owner->changeZoom(owner->_percent + 1);
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+
} // End of namespace tSage_BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes0.h b/engines/tsage/blue_force/blueforce_scenes0.h
index f5535e037a..766b9f0295 100644
--- a/engines/tsage/blue_force/blueforce_scenes0.h
+++ b/engines/tsage/blue_force/blueforce_scenes0.h
@@ -53,6 +53,31 @@ public:
virtual void postInit(SceneObjectList *OwnerList = NULL);
};
+class Scene50: public SceneExt {
+ class Tooltip: public SavedObject {
+ public:
+ Rect _bounds;
+ char _msg[80];
+ int _field60;
+ int _field62;
+ public:
+ Tooltip();
+
+ virtual Common::String getClassName() { return "Scene50_Tooltip"; }
+ virtual void synchronize(Serializer &s);
+ };
+ class Tooltip2: public Action {
+ public:
+ Tooltip2(): Action() {}
+
+ virtual Common::String getClassName() { return "Scene50_Tooltip2"; }
+ virtual void signal();
+ virtual void dispatch();
+ };
+public:
+
+};
+
} // End of namespace tSage_BlueForce
#endif