From 69a2013a0f7987cd16cc20dd6e7750409869bcaf Mon Sep 17 00:00:00 2001 From: Antoine Pilote Date: Sun, 5 Mar 2023 20:09:57 -0500 Subject: [PATCH] Added some serialization and added shader functionallity --- Editor/src/ComponentsPanel/TransformPanel.h | 3 ++- Nuake/src/Core/Physics/PhysicsManager.cpp | 1 - Nuake/src/Rendering/Shaders/Shader.cpp | 8 ++++++++ Nuake/src/Rendering/Shaders/Shader.h | 1 + Nuake/src/Scene/Entities/Entity.cpp | 2 ++ Nuake/src/Scene/Scene.cpp | 2 +- 6 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Editor/src/ComponentsPanel/TransformPanel.h b/Editor/src/ComponentsPanel/TransformPanel.h index 097a5447..a73c6b15 100644 --- a/Editor/src/ComponentsPanel/TransformPanel.h +++ b/Editor/src/ComponentsPanel/TransformPanel.h @@ -42,7 +42,8 @@ public: ImGuiHelper::DrawVec3("Rotation", &eulerDegrees); Vector3 eulerAnglesDelta = Vector3(glm::radians(eulerDegrees.x), glm::radians(eulerDegrees.y), glm::radians(eulerDegrees.z)); - if (eulerAngles != eulerAnglesDelta) + float delta = glm::length(eulerAngles - eulerAnglesDelta); + if (delta > 0.f) { Quat rotation = QuatFromEuler(eulerAnglesDelta.x, eulerAnglesDelta.y, eulerAnglesDelta.z); //component.SetLocalRotation(rotation); diff --git a/Nuake/src/Core/Physics/PhysicsManager.cpp b/Nuake/src/Core/Physics/PhysicsManager.cpp index 725876f4..8f4261cd 100644 --- a/Nuake/src/Core/Physics/PhysicsManager.cpp +++ b/Nuake/src/Core/Physics/PhysicsManager.cpp @@ -63,7 +63,6 @@ namespace Nuake m_World = new Physics::DynamicWorld(); m_World->SetGravity(glm::vec3(0, -3, 0)); - m_IsRunning = false; } } diff --git a/Nuake/src/Rendering/Shaders/Shader.cpp b/Nuake/src/Rendering/Shaders/Shader.cpp index 1ee00048..f4b99993 100644 --- a/Nuake/src/Rendering/Shaders/Shader.cpp +++ b/Nuake/src/Rendering/Shaders/Shader.cpp @@ -261,6 +261,14 @@ namespace Nuake glUniform1iv(addr, size, value); } + void Shader::SetUniform1fv(const std::string& name, int size, float* value) + { + int addr = FindUniformLocation(name); + //ASSERT(addr != -1); + if (addr != -1) + glUniform1fv(addr, size, value); + } + void Shader::SetUniformMat3f(const std::string& name, Matrix3 mat) { int addr = FindUniformLocation(name); diff --git a/Nuake/src/Rendering/Shaders/Shader.h b/Nuake/src/Rendering/Shaders/Shader.h index 4b7923e0..f022f451 100644 --- a/Nuake/src/Rendering/Shaders/Shader.h +++ b/Nuake/src/Rendering/Shaders/Shader.h @@ -44,6 +44,7 @@ namespace Nuake void SetUniform1i(const std::string& name, int v0); void SetUniform1iv(const std::string& name, int size, int* value); + void SetUniform1fv(const std::string& name, int size, float* value); void SetUniformMat3f(const std::string& name, Matrix3 mat); void SetUniformMat4f(const std::string& name, Matrix4 mat); diff --git a/Nuake/src/Scene/Entities/Entity.cpp b/Nuake/src/Scene/Entities/Entity.cpp index c6eaf063..aa29beb0 100644 --- a/Nuake/src/Scene/Entities/Entity.cpp +++ b/Nuake/src/Scene/Entities/Entity.cpp @@ -51,6 +51,8 @@ namespace Nuake SERIALIZE_OBJECT_REF_LBL("ModelComponent", GetComponent()); if (HasComponent()) SERIALIZE_OBJECT_REF_LBL("BSPBrushComponent", GetComponent()); + if (HasComponent()) + SERIALIZE_OBJECT_REF_LBL("QuakeMapComponent", GetComponent()); END_SERIALIZE(); } diff --git a/Nuake/src/Scene/Scene.cpp b/Nuake/src/Scene/Scene.cpp index db5990db..6faf4fd8 100644 --- a/Nuake/src/Scene/Scene.cpp +++ b/Nuake/src/Scene/Scene.cpp @@ -346,7 +346,7 @@ namespace Nuake { CopyComponent(sceneCopy->m_Registry, this->m_Registry); CopyComponent(sceneCopy->m_Registry, this->m_Registry); CopyComponent(sceneCopy->m_Registry, this->m_Registry); - + CopyComponent(sceneCopy->m_Registry, this->m_Registry); return sceneCopy; }