really bad controls

This commit is contained in:
2023-06-04 13:02:41 +02:00
parent 051c9d8744
commit 41f8c152eb
3 changed files with 9 additions and 19 deletions

View File

@@ -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({});
}