From a67b7f487c47fa833a5fa273d96f531708557edf Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 3 Feb 2014 22:58:08 +0200 Subject: FULLPIPE: Implement sceneHandler27_batCalcDistance() --- engines/fullpipe/scenes/scene27.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 3d5106690b..e8c9db0fb7 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -339,9 +339,13 @@ bool sceneHandler27_batFallLogic(int bat) { } bool sceneHandler27_batCalcDistance(int bat1, int bat2) { - warning("STUB: sceneHandler27_batCalcDistance()"); + double at = atan2(g_vars->scene27_bats[bat1]->currX - g_vars->scene27_bats[bat2]->currX, g_vars->scene27_bats[bat1]->currY - g_vars->scene27_bats[bat2]->currY); + double dy = g_vars->scene27_bats[bat1]->currY - g_vars->scene27_bats[bat2]->currY; + double dx = g_vars->scene27_bats[bat1]->currX - g_vars->scene27_bats[bat2]->currX; + double ay = cos(at); + double ax = sin(at); - return false; + return sqrt(ax * ax * 0.25 + ay * ay) * 54.0 > sqrt(dx * dx + dy * dy); } void sceneHandler27_knockBats(int bat1, int bat2) { -- cgit v1.2.3