From 41f8c152eb506ce9b8fd1e8162400a7510eff255 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sun, 4 Jun 2023 13:02:41 +0200 Subject: [PATCH] really bad controls --- include/render/WorldRenderer.h | 2 +- src/render/Renderer.cpp | 9 +++------ src/render/WorldRenderer.cpp | 17 +++++------------ 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/include/render/WorldRenderer.h b/include/render/WorldRenderer.h index bbdc38d..aed88cd 100644 --- a/include/render/WorldRenderer.h +++ b/include/render/WorldRenderer.h @@ -55,7 +55,7 @@ public: void SetCamPos(float camX, float camY); - void MoveCam(float relativeX, float relativeY, float aspectRatio); + void MoveCam(float relativeX, float relativeY); void ChangeZoom(float zoom); // WorldListener diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 58633d9..42987f6 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -86,15 +86,12 @@ void Renderer::Resize(int width, int height) { } void Renderer::SetZoom(float zoom) { - m_WorldShader->Start(); - //m_WorldShader->SetZoom(zoom); - m_EntityShader->Start(); - //m_EntityShader->SetZoom(zoom); + m_Camera.CamPos.y = std::max(1.0f, m_Camera.CamPos.y + zoom); } void Renderer::SetCamMovement(const Vec2f& mov) { - m_Camera.CamPos.x += mov.x; - m_Camera.CamPos.y += -mov.y; + m_Camera.CamPos.x -= mov.x / m_Camera.CamPos.y * 5000.0f; + m_Camera.CamPos.z -= mov.y / m_Camera.CamPos.y * 5000.0f; SetCamPos(m_Camera.CamPos); } diff --git a/src/render/WorldRenderer.cpp b/src/render/WorldRenderer.cpp index a26acd5..d843725 100644 --- a/src/render/WorldRenderer.cpp +++ b/src/render/WorldRenderer.cpp @@ -53,7 +53,7 @@ void WorldRenderer::Update() { ImVec2 mouseDelta = ImGui::GetIO().MouseDelta; const float relativeX = mouseDelta.x / (float)Display::GetWindowWidth() * 2; const float relativeY = mouseDelta.y / (float)Display::GetWindowHeight() * 2; - MoveCam(relativeX, relativeY, Display::GetAspectRatio()); + MoveCam(relativeX, relativeY); } if (io.MouseWheel != 0) { ChangeZoom(io.MouseWheel); @@ -135,24 +135,17 @@ void WorldRenderer::RenderTooltips() const { RenderCastleTooltip(); } -void WorldRenderer::MoveCam(float relativeX, float relativeY, float aspectRatio) { +void WorldRenderer::MoveCam(float relativeX, float relativeY) { if (m_WorldVao == nullptr) return; - float movementX = -relativeX / m_Zoom * aspectRatio; - float movementY = relativeY / m_Zoom; - m_Renderer->SetCamMovement({ movementX, movementY }); + m_Renderer->SetCamMovement({ relativeX, relativeY }); } void WorldRenderer::ChangeZoom(float zoomStep) { if (m_WorldVao == nullptr) return; - static float sensibility = 1.5f; - if (zoomStep < 0) { - m_Zoom /= -zoomStep * sensibility; - } else { - m_Zoom *= zoomStep * sensibility; - } - m_Renderer->SetZoom(m_Zoom); + + m_Renderer->SetZoom(zoomStep); m_Renderer->SetCamMovement({}); }