aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes.h1
-rw-r--r--engines/fullpipe/scenes/scene14.cpp29
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()");
}