diff options
author | Eugene Sandulenko | 2014-01-09 23:37:00 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-10 00:42:20 +0200 |
commit | 10c17077542138830d903fb39733b515d57aa384 (patch) | |
tree | 74b00f16d92c4cf8494f72a8947d23f160332edc /engines/fullpipe/scenes | |
parent | 919aca7f9be168fb7ba39ed76ec0d3b7fd51577e (diff) | |
download | scummvm-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.cpp | 44 |
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) { |