diff options
author | Eugene Sandulenko | 2013-12-31 23:12:16 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-31 23:12:16 +0200 |
commit | d7dac60f151f04f7f86aebe73bc4d06b5ce61eb4 (patch) | |
tree | c8d9c4f8d69f6cba9a4a28626da24a005b4dbd20 | |
parent | 9fd385f615efd69218e04e21a5a7f474ae31b475 (diff) | |
download | scummvm-rg350-d7dac60f151f04f7f86aebe73bc4d06b5ce61eb4.tar.gz scummvm-rg350-d7dac60f151f04f7f86aebe73bc4d06b5ce61eb4.tar.bz2 scummvm-rg350-d7dac60f151f04f7f86aebe73bc4d06b5ce61eb4.zip |
FULLPIPE: Implement sceneHandler14_sub03()
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene14.cpp | 29 |
3 files changed, 26 insertions, 5 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index e36b7870f8..36ef374e45 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -598,6 +598,7 @@ namespace Fullpipe { #define MSG_SC14_STARTARCADE 3252 #define MV_BAL14_SPIN 1247 #define MV_BAL14_TOGMA 3214 +#define MV_MAN14_DECLINE 1239 #define MV_MAN14_KICK 1237 #define MV_MAN14_KICKAIR 1256 #define MV_MAN14_STEPFW 1240 diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index c84a6715c3..75ce5cc6ed 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -299,6 +299,7 @@ public: int scene14_var22; int scene14_var23; int scene14_var24; + Common::Point scene14_mouseCursorPos; int scene15_chantingCountdown; StaticANIObject *scene15_plusminus; diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 1a9c87eaa8..f81bcceb54 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -375,8 +375,31 @@ void sceneHandler14_sub02() { } } +void sceneHandler14_sub05(int *arg) { + Common::Point point; + + if (g_vars->scene14_var04) { + *arg = (int)(sqrt((g_fp->_mouseVirtY - g_vars->scene14_mouseCursorPos.y) + * (g_fp->_mouseVirtY - g_vars->scene14_mouseCursorPos.y) + + (g_fp->_mouseVirtX - g_vars->scene14_mouseCursorPos.x) + * (g_fp->_mouseVirtX - g_vars->scene14_mouseCursorPos.x)) * 0.1); + + if (*arg > 11) + *arg = 11; + } else { + ++*arg; + } +} + void sceneHandler14_sub03() { - warning("STUB: sceneHandler14_sub03()"); + g_vars->scene14_mouseCursorPos.x = g_fp->_mouseVirtX; + g_vars->scene14_mouseCursorPos.y = g_fp->_mouseVirtY; + + g_fp->_aniMan->_callback2 = sceneHandler14_sub05; + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->startAnim(MV_MAN14_DECLINE, 0, -1); + + g_vars->scene14_var04 = 1; } bool sceneHandler14_sub04(ExCommand *cmd) { @@ -385,10 +408,6 @@ bool sceneHandler14_sub04(ExCommand *cmd) { return false; } -void sceneHandler14_sub05() { - warning("STUB: sceneHandler14_sub05()"); -} - void sceneHandler14_sub07() { warning("STUB: sceneHandler14_sub07()"); } |