From 55254b20dbaf66be7f860e9ea2c2601aa44c16b4 Mon Sep 17 00:00:00 2001 From: Allanis Date: Mon, 13 Nov 2017 22:30:54 +0000 Subject: [PATCH] [Fix] Fixed broken system info view. [Fix] Fixed mouse screw up in system view. --- src/main.cpp | 4 +++- src/system_info_view.cpp | 5 +++++ src/system_view.cpp | 9 +++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 46c2027..44af530 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -171,7 +171,9 @@ void L3D::HandleEvents(void) { event.button.x, event.button.y); break; case SDL_MOUSEMOTION: - SDL_GetRelativeMouseState(&L3D::mouseMotion[0], &L3D::mouseMotion[1]); + L3D::mouseMotion[0] += event.motion.xrel; + L3D::mouseMotion[1] += event.motion.yrel; + //SDL_GetRelativeMouseState(&L3D::mouseMotion[0], &L3D::mouseMotion[1]); break; case SDL_QUIT: L3D::Quit(); diff --git a/src/system_info_view.cpp b/src/system_info_view.cpp index 190bca0..55e73d0 100644 --- a/src/system_info_view.cpp +++ b/src/system_info_view.cpp @@ -94,6 +94,11 @@ void SystemInfoView::SystemChanged(StarSystem* s) { } void SystemInfoView::Draw3D(void) { + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glClearColor(0, 0, 0, 0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GenericSystemView::Draw3D(); } diff --git a/src/system_view.cpp b/src/system_view.cpp index 35af569..df16318 100644 --- a/src/system_view.cpp +++ b/src/system_view.cpp @@ -197,15 +197,16 @@ void SystemView::Draw3D(void) { } void SystemView::Update(void) { + const float ft = L3D::GetFrameTime(); if(L3D::KeyState(SDLK_EQUALS) || - m_zoomInButton->IsPressed()) m_zoom *= 1.01; + m_zoomInButton->IsPressed()) m_zoom *= pow(4, ft); if(L3D::KeyState(SDLK_MINUS) || - m_zoomOutButton->IsPressed()) m_zoom *= 0.99; + m_zoomOutButton->IsPressed()) m_zoom *= pow(0.25, ft); if(L3D::MouseButtonState(3)) { int motion[2]; L3D::GetMouseMotion(motion); - m_rot_x += motion[1]/4.0; - m_rot_z += motion[0]/4.0; + m_rot_x += motion[1]*20*ft; + m_rot_z += motion[0]*20*ft; } }