X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2Fui.cpp;h=2fffcbdec19d1a9b8a40639255d31921823c1066;hb=1a8974bcfeb6f6c937f2ec523e52fdc4a3785f1e;hp=89c34109be2340b9214a6f3e8854cddb49672b06;hpb=3e7901a804ef85eea01adfb60274218748c0337b;p=blank.git diff --git a/src/ui/ui.cpp b/src/ui/ui.cpp index 89c3410..2fffcbd 100644 --- a/src/ui/ui.cpp +++ b/src/ui/ui.cpp @@ -10,7 +10,6 @@ #include "../app/Config.hpp" #include "../app/Environment.hpp" #include "../app/FrameCounter.hpp" -#include "../app/init.hpp" #include "../audio/Audio.hpp" #include "../audio/SoundBank.hpp" #include "../geometry/distance.hpp" @@ -54,8 +53,8 @@ PlayerController::~PlayerController() { } void PlayerController::SetMovement(const glm::vec3 &m) noexcept { - if (dot(m, m) > 1.0f) { - move_dir = normalize(m); + if (glm::dot(m, m) > 1.0f) { + move_dir = glm::normalize(m); } else { move_dir = m; } @@ -108,8 +107,8 @@ void PlayerController::UpdatePlayer() noexcept { if (!iszero(move_dir)) { // scale input by max velocity, apply yaw, and transform to world space steering.SetTargetVelocity(glm::vec3( - glm::vec4(rotateY(move_dir * entity.MaxVelocity(), entity.Yaw()), 0.0f) - * transpose(entity.Transform()) + glm::vec4(glm::rotateY(move_dir * entity.MaxVelocity(), entity.Yaw()), 0.0f) + * glm::transpose(entity.Transform()) )); steering.Enable(Steering::TARGET_VELOCITY); steering.Disable(Steering::HALT); @@ -217,11 +216,11 @@ void DirectInput::PlaceBlock() { // when aligned with player's up (first mode, and currently the only one implemented) // project the player's view forward onto his entity's XZ plane and // use the closest cardinal direction it's pointing in - const glm::vec3 view_forward(-GetPlayer().GetEntity().ViewTransform(GetPlayer().GetEntity().ChunkCoords())[3]); + const glm::vec3 view_forward(-GetPlayer().GetEntity().ViewTransform(GetPlayer().GetEntity().ChunkCoords())[2]); // if view is straight up or down, this will be a null vector (NaN after normalization) // in that case maybe the model forward should be used? // the current implementation implicitly falls back to TURN_NONE which is -Z - const glm::vec3 local_forward(normalize(view_forward - proj(view_forward, player_up))); + const glm::vec3 local_forward(glm::normalize(view_forward - glm::proj(view_forward, player_up))); // FIXME: I suspect this only works when player_up is positive Y if (local_forward.x > 0.707f) { new_block.SetTurn(Block::TURN_RIGHT);