aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-09 23:37:00 +0200
committerEugene Sandulenko2014-01-10 00:42:20 +0200
commit10c17077542138830d903fb39733b515d57aa384 (patch)
tree74b00f16d92c4cf8494f72a8947d23f160332edc /engines/fullpipe/scenes
parent919aca7f9be168fb7ba39ed76ec0d3b7fd51577e (diff)
downloadscummvm-rg350-10c17077542138830d903fb39733b515d57aa384.tar.gz
scummvm-rg350-10c17077542138830d903fb39733b515d57aa384.tar.bz2
scummvm-rg350-10c17077542138830d903fb39733b515d57aa384.zip
FULLPIPE: Implement sceneHandler33_zoneClickProcess()
Diffstat (limited to 'engines/fullpipe/scenes')
-rw-r--r--engines/fullpipe/scenes/scene33.cpp44
1 files changed, 42 insertions, 2 deletions
diff --git a/engines/fullpipe/scenes/scene33.cpp b/engines/fullpipe/scenes/scene33.cpp
index 35446f8fea..75192c4840 100644
--- a/engines/fullpipe/scenes/scene33.cpp
+++ b/engines/fullpipe/scenes/scene33.cpp
@@ -87,7 +87,7 @@ void sceneHandler33_processVents() {
warning("STUB: sceneHandler33_processVents(");
}
-void sceneHandler33_switchVent() {
+void sceneHandler33_switchVent(StaticANIObject *ani) {
warning("STUB: sceneHandler33_switchVent(");
}
@@ -104,7 +104,47 @@ void sceneHandler33_handleDown() {
}
void sceneHandler33_zoneClickProcess(StaticANIObject *ani) {
- warning("STUB: sceneHandler33_zoneClickProcess()");
+ if (!ani->_movement) {
+ sceneHandler33_switchVent(ani);
+
+ StaticANIObject *vent1 = 0;
+ StaticANIObject *vent2 = 0;
+
+ switch (ani->_okeyCode) {
+ case 0:
+ vent1 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 2);
+ vent2 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 3);
+ break;
+
+ case 1:
+ vent1 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 3);
+ vent2 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 4);
+ break;
+
+ case 2:
+ vent1 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 4);
+ vent2 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 0);
+ break;
+
+ case 3:
+ vent1 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 0);
+ vent2 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 1);
+ break;
+
+ case 4:
+ vent1 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 1);
+ vent2 = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT_33, 2);
+ break;
+
+ default:
+ return;
+ }
+
+ if (vent1) {
+ sceneHandler33_switchVent(vent1);
+ sceneHandler33_switchVent(vent2);
+ }
+ }
}
void sceneHandler33_clickZones(ExCommand *cmd) {