aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene14.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/scenes/scene14.cpp')
-rw-r--r--engines/fullpipe/scenes/scene14.cpp29
1 files changed, 24 insertions, 5 deletions
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()");
}