diff options
author | Eugene Sandulenko | 2014-02-01 13:45:22 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-02-01 16:55:44 +0200 |
commit | b5182581eb9828c9edc0aebdc5e8dafc946f6e3e (patch) | |
tree | 32ad92b975b830b7f3a1fdea88d19013305f39d9 | |
parent | 3b1f60943990ee8ee0ff8f447287a72bdc014fe8 (diff) | |
download | scummvm-rg350-b5182581eb9828c9edc0aebdc5e8dafc946f6e3e.tar.gz scummvm-rg350-b5182581eb9828c9edc0aebdc5e8dafc946f6e3e.tar.bz2 scummvm-rg350-b5182581eb9828c9edc0aebdc5e8dafc946f6e3e.zip |
FULLPIPE: Implement lift_hoverButton(). This completes the lift.
-rw-r--r-- | engines/fullpipe/fullpipe.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/lift.cpp | 9 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene03.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene06.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene10.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene14.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene15.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene30.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene32.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene34.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene35.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene38.cpp | 2 |
12 files changed, 18 insertions, 13 deletions
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index dc27f738e8..3a43f69fb1 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -290,7 +290,7 @@ public: void lift_goAnimation(); void lift_animateButton(StaticANIObject *button); void lift_startExitQueue(); - void lift_sub05(ExCommand *ex); + void lift_hoverButton(ExCommand *ex); bool lift_checkButton(const char *varname); void lift_openLift(); diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp index 54d3bb65c5..8acea6a59d 100644 --- a/engines/fullpipe/lift.cpp +++ b/engines/fullpipe/lift.cpp @@ -479,8 +479,13 @@ void FullpipeEngine::lift_startExitQueue() { mq->chain(0); } -void FullpipeEngine::lift_sub05(ExCommand *ex) { - warning("STUB: FullpipeEngine::lift_sub05()"); +void FullpipeEngine::lift_hoverButton(ExCommand *cmd) { + if (_lastLiftButton) { + if (!(cmd->_keyCode & 2) || _liftX != cmd->_x || _liftY != cmd->_y) { + _lastLiftButton->_statics = _lastLiftButton->getStaticsById(lift_getButtonIdN(_lastLiftButton->_statics->_staticsId)); + _lastLiftButton = 0; + } + } } bool FullpipeEngine::lift_checkButton(const char *varName) { diff --git a/engines/fullpipe/scenes/scene03.cpp b/engines/fullpipe/scenes/scene03.cpp index b2b9180942..5d22931fb7 100644 --- a/engines/fullpipe/scenes/scene03.cpp +++ b/engines/fullpipe/scenes/scene03.cpp @@ -239,7 +239,7 @@ int sceneHandler03(ExCommand *ex) { break; case 64: - g_fp->lift_sub05(ex); + g_fp->lift_hoverButton(ex); break; case 29: diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp index fa2712d91e..83b98c2722 100644 --- a/engines/fullpipe/scenes/scene06.cpp +++ b/engines/fullpipe/scenes/scene06.cpp @@ -622,7 +622,7 @@ int sceneHandler06(ExCommand *ex) { break; case 64: - g_fp->lift_sub05(ex); + g_fp->lift_hoverButton(ex); break; case MSG_SC6_TAKEBALL: diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp index 2a694e188c..4f9e627fa4 100644 --- a/engines/fullpipe/scenes/scene10.cpp +++ b/engines/fullpipe/scenes/scene10.cpp @@ -170,7 +170,7 @@ int sceneHandler10(ExCommand *ex) { break; case 64: - g_fp->lift_sub05(ex); + g_fp->lift_hoverButton(ex); break; case 29: diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 543522ee5b..28f054fd32 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -749,7 +749,7 @@ int sceneHandler14(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case 33: diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp index 588868a934..9e11df92e4 100644 --- a/engines/fullpipe/scenes/scene15.cpp +++ b/engines/fullpipe/scenes/scene15.cpp @@ -156,7 +156,7 @@ int sceneHandler15(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case 29: diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp index d305da8eae..39a51deeef 100644 --- a/engines/fullpipe/scenes/scene30.cpp +++ b/engines/fullpipe/scenes/scene30.cpp @@ -111,7 +111,7 @@ int sceneHandler30(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case MSG_LIFT_GO: diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp index 383df0dc84..be7c983277 100644 --- a/engines/fullpipe/scenes/scene32.cpp +++ b/engines/fullpipe/scenes/scene32.cpp @@ -339,7 +339,7 @@ int sceneHandler32(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case MSG_SC6_INSTHANDLE: diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp index 82c6e6d43d..0e690f4703 100644 --- a/engines/fullpipe/scenes/scene34.cpp +++ b/engines/fullpipe/scenes/scene34.cpp @@ -392,7 +392,7 @@ int sceneHandler34(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case MSG_LIFT_GO: diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp index b800f9c602..a42849eeb5 100644 --- a/engines/fullpipe/scenes/scene35.cpp +++ b/engines/fullpipe/scenes/scene35.cpp @@ -199,7 +199,7 @@ int sceneHandler35(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case 29: diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp index 4dc6f2142b..7fb0be8509 100644 --- a/engines/fullpipe/scenes/scene38.cpp +++ b/engines/fullpipe/scenes/scene38.cpp @@ -368,7 +368,7 @@ int sceneHandler38(ExCommand *cmd) { break; case 64: - g_fp->lift_sub05(cmd); + g_fp->lift_hoverButton(cmd); break; case 29: |