FreeSteering fixed

This commit is contained in:
ViktorLjung
2014-04-24 20:09:46 +02:00
parent 613610d5b1
commit 824b31ff6b
+6 -6
View File
@@ -20,8 +20,8 @@ void Systems::FreeSteeringSystem::UpdateEntity(double dt, EntityID entity, Entit
{ {
auto transform = m_World->GetComponent<Components::Transform>(entity, "Transform"); auto transform = m_World->GetComponent<Components::Transform>(entity, "Transform");
glm::vec3 Camera_Right = glm::vec3(glm::vec4(1, 0, 0, 0) * transform->Orientation); glm::vec3 Camera_Right = glm::vec3(transform->Orientation * glm::vec4(1, 0, 0, 0));
glm::vec3 Camera_Forward = glm::vec3(glm::vec4(0, 0, 1, 0) * transform->Orientation); glm::vec3 Camera_Forward = glm::vec3(transform->Orientation * glm::vec4(0, 0, -1, 0));
float speed = steering->Speed; float speed = steering->Speed;
if (input->KeyState[GLFW_KEY_LEFT_SHIFT]) if (input->KeyState[GLFW_KEY_LEFT_SHIFT])
@@ -42,11 +42,11 @@ void Systems::FreeSteeringSystem::UpdateEntity(double dt, EntityID entity, Entit
} }
if (input->KeyState[GLFW_KEY_W]) if (input->KeyState[GLFW_KEY_W])
{ {
transform->Position -= Camera_Forward * (float)dt * speed; transform->Position += Camera_Forward * (float)dt * speed;
} }
if (input->KeyState[GLFW_KEY_S]) if (input->KeyState[GLFW_KEY_S])
{ {
transform->Position += Camera_Forward * (float)dt * speed; transform->Position -= Camera_Forward * (float)dt * speed;
} }
if (input->KeyState[GLFW_KEY_SPACE]) if (input->KeyState[GLFW_KEY_SPACE])
{ {
@@ -61,9 +61,9 @@ void Systems::FreeSteeringSystem::UpdateEntity(double dt, EntityID entity, Entit
{ {
// TOUCHING THIS CODE MIGHT CAUSE THE UNIVERSE TO IMPLODE, ALSO DRAGONS // spelling tobias :3 // TOUCHING THIS CODE MIGHT CAUSE THE UNIVERSE TO IMPLODE, ALSO DRAGONS // spelling tobias :3
//--------------------------------------------------------------------- //---------------------------------------------------------------------
transform->Orientation = glm::angleAxis<float>(input->dY / 300.f, glm::vec3(1, 0, 0)) * transform->Orientation; transform->Orientation = glm::angleAxis<float>(input->dX / 300.f, glm::vec3(0, -1, 0)) * transform->Orientation;
transform->Orientation = transform->Orientation * glm::angleAxis<float>(input->dY / 300.f, glm::vec3(-1, 0, 0));
transform->Orientation = transform->Orientation * glm::angleAxis<float>(input->dX / 300.f, glm::vec3(0, 1, 0));
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// TOUCHING THIS CODE MIGHT CAUSE THE UNIVERSE TO IMPLODE, ALSO DRAGONS // TOUCHING THIS CODE MIGHT CAUSE THE UNIVERSE TO IMPLODE, ALSO DRAGONS
} }