From: Yaman Date: Mon, 16 Feb 2015 15:56:09 +0000 (+1000) Subject: Add player direction to on-screen debug text X-Git-Tag: 0.4.13~605 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=98d80e2012ab4856b8b443ef498297e3d3eadbaa;p=oweals%2Fminetest.git Add player direction to on-screen debug text (PR Modified slightly) --- diff --git a/src/game.cpp b/src/game.cpp index 0645a7b80..7f0ac049c 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3938,6 +3938,28 @@ void Game::updateFrame(std::vector &highlight_boxes, } +inline static const char *yawToDirectionString(int yaw) +{ + // NOTE: TODO: This can be done mathematically without the else/else-if + // cascade. + + const char *player_direction; + + yaw = wrapDegrees_0_360(yaw); + + if (yaw >= 45 && yaw < 135) + player_direction = "West [-X]"; + else if (yaw >= 135 && yaw < 225) + player_direction = "South [-Z]"; + else if (yaw >= 225 && yaw < 315) + player_direction = "East [+X]"; + else + player_direction = "North [+Z]"; + + return player_direction; +} + + void Game::updateGui(float *statustext_time, const RunStats &stats, const GameRunData& runData, f32 dtime, const VolatileRunFlags &flags, const CameraOrientation &cam) @@ -3993,6 +4015,7 @@ void Game::updateGui(float *statustext_time, const RunStats &stats, << ", " << (player_position.Y / BS) << ", " << (player_position.Z / BS) << ") (yaw=" << (wrapDegrees_0_360(cam.camera_yaw)) + << " " << yawToDirectionString(cam.camera_yaw) << ") (seed = " << ((u64)client->getMapSeed()) << ")";