aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld2
diff options
context:
space:
mode:
authorPaul Gilbert2011-10-31 11:35:04 +1100
committerPaul Gilbert2011-10-31 11:35:04 +1100
commitb6239f3b3da789fc996ff3f2310777be9de1e298 (patch)
tree783471845087a0f43681c17126be9d7a969911a7 /engines/tsage/ringworld2
parentef1f96b674fe4840c553e915f02eae45666cdf3b (diff)
downloadscummvm-rg350-b6239f3b3da789fc996ff3f2310777be9de1e298.tar.gz
scummvm-rg350-b6239f3b3da789fc996ff3f2310777be9de1e298.tar.bz2
scummvm-rg350-b6239f3b3da789fc996ff3f2310777be9de1e298.zip
TSAGE: Display UI cursor correctly in R2RW
Diffstat (limited to 'engines/tsage/ringworld2')
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.cpp16
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.h7
2 files changed, 23 insertions, 0 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index f9ac2efcbf..642d265e42 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -224,6 +224,22 @@ void SceneExt::refreshBackground(int xAmount, int yAmount) {
/*--------------------------------------------------------------------------*/
+void SceneHandlerExt::postInit(SceneObjectList *OwnerList) {
+ SceneHandler::postInit(OwnerList);
+}
+
+void SceneHandlerExt::process(Event &event) {
+ if (T2_GLOBALS._uiElements._active) {
+ T2_GLOBALS._uiElements.process(event);
+ if (event.handled)
+ return;
+ }
+
+ SceneHandler::process(event);
+}
+
+/*--------------------------------------------------------------------------*/
+
DisplayHotspot::DisplayHotspot(int regionId, ...) {
_sceneRegionId = regionId;
diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h
index b12978344c..b0f388a2ae 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.h
+++ b/engines/tsage/ringworld2/ringworld2_logic.h
@@ -73,6 +73,13 @@ public:
void clearScreen();
};
+class SceneHandlerExt: public SceneHandler {
+public:
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void process(Event &event);
+};
+
+
class DisplayHotspot : public SceneObject {
private:
Common::Array<int> _actions;