From 317d832e1760758ae173a35421ed2dbd33df0070 Mon Sep 17 00:00:00 2001 From: Tobias Dahl Date: Thu, 13 Mar 2014 02:02:04 +0100 Subject: [PATCH] Fixa camera pos --- Escape-the-Dawn/GameWorld.cpp | 8 ++++---- Escape-the-Dawn/Systems/PlayerSystem.cpp | 22 +++++++++++++++++++--- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Escape-the-Dawn/GameWorld.cpp b/Escape-the-Dawn/GameWorld.cpp index 278761c..eba5b6f 100644 --- a/Escape-the-Dawn/GameWorld.cpp +++ b/Escape-the-Dawn/GameWorld.cpp @@ -24,12 +24,12 @@ void GameWorld::Initialize() SetProperty(ent, "Name", std::string("Camera")); transform = AddComponent(ent, "Transform"); AddComponent(ent, "Input"); - transform->Position = glm::vec3(0.f, 2.f, 10.f); + transform->Position = glm::vec3(0.f, 10.f, 14.f); camera = AddComponent(ent, "Camera"); camera->FOV = 45.f; camera->FarClip = 1000.f; camera->NearClip = 0.01f; - transform->Orientation = glm::angleAxis(glm::radians(25.0f),glm::vec3(1,0,0)); + transform->Orientation = glm::angleAxis(glm::radians(15.0f),glm::vec3(1,0,0)); // Fucking lights ent = CreateEntity(); @@ -92,8 +92,8 @@ void GameWorld::Initialize() model->ModelFile = "ship.obj"; AddComponent(m_Player, "Input"); auto bounds = AddComponent(m_Player, "Bounds"); - bounds->Origin = glm::vec3(0.f); - bounds->VolumeVector = glm::vec3(1.0f, 2.0f, 3.0f); + bounds->Origin = glm::vec3(0.f, 0.f, 2.f); + bounds->VolumeVector = glm::vec3(3.0f, 0.5f, 2.0f); ent = CreateEntity(); transform = AddComponent(ent, "Transform"); diff --git a/Escape-the-Dawn/Systems/PlayerSystem.cpp b/Escape-the-Dawn/Systems/PlayerSystem.cpp index 361f33a..57d1ba4 100644 --- a/Escape-the-Dawn/Systems/PlayerSystem.cpp +++ b/Escape-the-Dawn/Systems/PlayerSystem.cpp @@ -75,18 +75,34 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa if(input->KeyState[GLFW_KEY_LEFT]) { transform->Position -= Ship_Right * (float)dt * speed; - if(Euler.z < 25.f) + if(Euler.z < 10.f) { - transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed,glm::vec3(0,0,1)); + transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed,glm::vec3(0,0,1)); + } + else if(Euler.z < 20.f) + { + transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed/2,glm::vec3(0,0,1)); + } + else if (Euler.z < 25.f) + { + transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed/4,glm::vec3(0,0,1)); } } else if(input->KeyState[GLFW_KEY_RIGHT]) { transform->Position += Ship_Right * (float)dt * speed; - if(Euler.z > -25.f) + if(Euler.z > -10.f) { transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed,glm::vec3(0,0,-1)); } + else if(Euler.z > -20.f) + { + transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed/2,glm::vec3(0,0,-1)); + } + else if (Euler.z > -25.f) + { + transform->Orientation = transform->Orientation * glm::angleAxis((float)dt * TurnSpeed/4,glm::vec3(0,0,-1)); + } } else {