diff --git a/Editor/src/Misc/InterfaceFonts.h b/Editor/src/Misc/InterfaceFonts.h index ae107492..e4a99ce6 100644 --- a/Editor/src/Misc/InterfaceFonts.h +++ b/Editor/src/Misc/InterfaceFonts.h @@ -6,7 +6,7 @@ enum Fonts { Normal, Bold, LargeBold, Icons, BigIcon, Title, SubTitle }; -class ImFont; +struct ImFont; // Help class that automatically push and pops itself when // Reaching end of scope diff --git a/Nuake/Engine.cpp b/Nuake/Engine.cpp index 9e15d22c..cce332a0 100644 --- a/Nuake/Engine.cpp +++ b/Nuake/Engine.cpp @@ -76,7 +76,7 @@ namespace Nuake Input::Update(); } - + } void Engine::EnterPlayMode() diff --git a/Nuake/src/AI/NavManager.cpp b/Nuake/src/AI/NavManager.cpp index 833426e9..4421c256 100644 --- a/Nuake/src/AI/NavManager.cpp +++ b/Nuake/src/AI/NavManager.cpp @@ -56,7 +56,7 @@ namespace Nuake { indices.push_back(currentVertexOffset + index); } - currentVertexOffset = std::size(vertices); + currentVertexOffset = static_cast(std::size(vertices)); } float bmin[3] = { config.Position.x - config.Bound.x, config.Position.y - config.Bound.y, config.Position.z - config.Bound.z }; @@ -64,16 +64,16 @@ namespace Nuake { rcConfig recastConfig; recastConfig.cs = config.CellSize; recastConfig.ch = config.CellHeight; - recastConfig.tileSize = config.TileSize; + recastConfig.tileSize = static_cast(config.TileSize); recastConfig.walkableSlopeAngle = config.WalkableSlopeAngle; - recastConfig.maxEdgeLen = config.MaxEdgeLength; - recastConfig.maxVertsPerPoly = config.MaxVertsPerPoly; - recastConfig.walkableHeight = config.WalkableHeight; - recastConfig.walkableClimb = config.WalkableClimb; - recastConfig.walkableRadius = config.WalkableRadius; + recastConfig.maxEdgeLen = static_cast(config.MaxEdgeLength); + recastConfig.maxVertsPerPoly = static_cast(config.MaxVertsPerPoly); + recastConfig.walkableHeight = static_cast(config.WalkableHeight); + recastConfig.walkableClimb = static_cast(config.WalkableClimb); + recastConfig.walkableRadius = static_cast(config.WalkableRadius); recastConfig.maxSimplificationError = config.MaxSimplificationError; - recastConfig.minRegionArea = config.MinRegionArea; - recastConfig.mergeRegionArea = config.MergeRegionArea; + recastConfig.minRegionArea = static_cast(config.MinRegionArea); + recastConfig.mergeRegionArea = static_cast(config.MergeRegionArea); recastConfig.detailSampleDist = config.DetailSampleDistance; recastConfig.detailSampleMaxError = config.DetailsampleMaxError; @@ -101,8 +101,8 @@ namespace Nuake { float* verts = reinterpret_cast(vertices.data()); int* tris = reinterpret_cast(indices.data()); - rcMarkWalkableTriangles(m_RecastContext.get(), config.WalkableSlopeAngle, verts, std::size(vertices), tris, std::size(indices) / 3, m_triareas); - if (!rcRasterizeTriangles(m_RecastContext.get(), verts, std::size(vertices), tris, m_triareas, std::size(indices) / 3, *voxelHeightField, recastConfig.walkableClimb)) + rcMarkWalkableTriangles(m_RecastContext.get(), config.WalkableSlopeAngle, verts, static_cast(std::size(vertices)), tris, static_cast(std::size(indices)) / 3, m_triareas); + if (!rcRasterizeTriangles(m_RecastContext.get(), verts, static_cast(std::size(vertices)), tris, m_triareas, static_cast(std::size(indices)) / 3, *voxelHeightField, recastConfig.walkableClimb)) { Logger::Log("buildNavigation: Could not rasterize triangles.", "NavManager", CRITICAL); } diff --git a/Nuake/src/AI/NavManager.h b/Nuake/src/AI/NavManager.h index 21aaef01..d6bd1ac3 100644 --- a/Nuake/src/AI/NavManager.h +++ b/Nuake/src/AI/NavManager.h @@ -12,7 +12,7 @@ class dtNavMeshQuery; namespace Nuake { - struct RecastConfig; + class RecastConfig; struct MeshTransformKeyPair { diff --git a/Nuake/src/Core/OS.cpp b/Nuake/src/Core/OS.cpp index 9b0fbadb..234883e0 100644 --- a/Nuake/src/Core/OS.cpp +++ b/Nuake/src/Core/OS.cpp @@ -24,6 +24,7 @@ #include #include #include +#include namespace Nuake { @@ -119,7 +120,8 @@ namespace Nuake { if (SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, appDataPath) >= 0) { std::wstring wideString(appDataPath); - path = std::string(wideString.begin(), wideString.end()); + auto wideStringPath = std::filesystem::path(wideString); + path = wideStringPath.string(); // Now, 'appDataPath' contains the path to the AppData folder path.erase(std::remove_if(path.begin(), path.end(), [](char c) { diff --git a/Nuake/src/Physics/DynamicWorld.cpp b/Nuake/src/Physics/DynamicWorld.cpp index 1aefefca..2c11c618 100644 --- a/Nuake/src/Physics/DynamicWorld.cpp +++ b/Nuake/src/Physics/DynamicWorld.cpp @@ -551,7 +551,7 @@ namespace Nuake Vector3(hitPosition.GetX(), hitPosition.GetY(), hitPosition.GetZ()), hitFraction, Vector3(surfaceNormal.GetX(), surfaceNormal.GetY(), surfaceNormal.GetZ()), - layer + static_cast(layer) }; shapecastResults.push_back(std::move(result)); @@ -680,7 +680,7 @@ namespace Nuake #ifdef NK_DEBUG //Logger::Log("Large step detected: " + std::to_string(ts), "physics", WARNING); #endif - collisionSteps = static_cast(ts) / minStepDuration; + collisionSteps = static_cast(static_cast(ts) / minStepDuration); } #ifdef NK_DEBUG diff --git a/Nuake/src/Rendering/Buffers/Framebuffer.cpp b/Nuake/src/Rendering/Buffers/Framebuffer.cpp index 6a880876..cb28e249 100644 --- a/Nuake/src/Rendering/Buffers/Framebuffer.cpp +++ b/Nuake/src/Rendering/Buffers/Framebuffer.cpp @@ -17,7 +17,7 @@ namespace Nuake { glGenRenderbuffers(1, &m_RenderBuffer); glBindRenderbuffer(GL_RENDERBUFFER, m_RenderBuffer); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, m_Size.x, m_Size.y); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, static_cast(m_Size.x), static_cast(m_Size.y)); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_RenderBuffer); } else @@ -74,7 +74,7 @@ namespace Nuake glBindFramebuffer(GL_FRAMEBUFFER, m_FramebufferID); - glViewport(0, 0, m_Size.x, m_Size.y); + glViewport(0, 0, static_cast(m_Size.x), static_cast(m_Size.y)); } void FrameBuffer::Unbind() @@ -118,7 +118,7 @@ namespace Nuake { glGenRenderbuffers(1, &m_RenderBuffer); glBindRenderbuffer(GL_RENDERBUFFER, m_RenderBuffer); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, m_Size.x, m_Size.y); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, static_cast(m_Size.x), static_cast(m_Size.y)); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_RenderBuffer); } diff --git a/Nuake/src/Rendering/Buffers/GBuffer.cpp b/Nuake/src/Rendering/Buffers/GBuffer.cpp deleted file mode 100644 index dedcbc7e..00000000 --- a/Nuake/src/Rendering/Buffers/GBuffer.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include "GBuffer.h" -#include - -GBuffer::GBuffer(glm::vec2 size) -{ - m_Size = size; - - glGenFramebuffers(1, &m_FramebufferID); - glBindFramebuffer(GL_FRAMEBUFFER, m_FramebufferID); - - // - normal color buffer - glGenTextures(1, &gAlbedo); - glBindTexture(GL_TEXTURE_2D, gAlbedo); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_Size.x, m_Size.y, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gAlbedo, 0); - - // - color - glGenTextures(1, &gNormal); - glBindTexture(GL_TEXTURE_2D, gNormal); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_Size.x, m_Size.y, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, gNormal, 0); - - // - normal color buffer - glGenTextures(1, &gMaterial); - glBindTexture(GL_TEXTURE_2D, gMaterial); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_Size.x, m_Size.y, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT2, GL_TEXTURE_2D, gMaterial, 0); - - // - normal color buffer - glGenTextures(1, &gDepth); - glBindTexture(GL_TEXTURE_2D, gDepth); - glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, m_Size.x, m_Size.y, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, gDepth, 0); - - // - tell OpenGL which color attachments we'll use (of this framebuffer) for rendering - unsigned int attachments[3] = { GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2 }; - glDrawBuffers(3, attachments); - // - //glGenRenderbuffers(1, &m_RenderBuffer); - //glBindRenderbuffer(GL_RENDERBUFFER, m_RenderBuffer); - //glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, m_Size.x, m_Size.y); - //glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_RenderBuffer); - - // Unbind - glBindFramebuffer(GL_FRAMEBUFFER, 0); -} - -void GBuffer::Bind() -{ - glBindFramebuffer(GL_FRAMEBUFFER, m_FramebufferID); - glClearColor(0.0f, 0.0f, 0.0f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, m_Size.x, m_Size.y); -} - -void GBuffer::Unbind() -{ - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); -} - -void GBuffer::Resize(glm::vec2 size) -{ - -} -glm::vec2 GBuffer::GetSize() { return m_Size; } \ No newline at end of file diff --git a/Nuake/src/Rendering/Buffers/GBuffer.h b/Nuake/src/Rendering/Buffers/GBuffer.h deleted file mode 100644 index a299dd04..00000000 --- a/Nuake/src/Rendering/Buffers/GBuffer.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once -#include "glm/vec2.hpp" - - -class GBuffer -{ -public: - unsigned int m_FramebufferID; - unsigned int m_RenderBuffer; - - unsigned int gDepth; - unsigned int gAlbedo; - unsigned int gNormal; - unsigned int gMaterial; - glm::vec2 m_Size; - - GBuffer(glm::vec2 size); - - void Bind(); - - void Unbind(); - - void Resize(glm::vec2 size); - glm::vec2 GetSize(); -}; \ No newline at end of file diff --git a/Nuake/src/Rendering/Buffers/MSAAFramebuffer.cpp b/Nuake/src/Rendering/Buffers/MSAAFramebuffer.cpp deleted file mode 100644 index 53406814..00000000 --- a/Nuake/src/Rendering/Buffers/MSAAFramebuffer.cpp +++ /dev/null @@ -1,124 +0,0 @@ -#include "MSAAFramebuffer.h" -#include - -namespace Nuake -{ - MSAAFrameBuffer::MSAAFrameBuffer(bool hasRenderBuffer, Vector2 size) - { - m_Textures = std::map>(); - m_Size = size; - - glGenFramebuffers(1, &m_FramebufferID); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_FramebufferID); - - // Create render buffer and attach to frame buffer. - if (hasRenderBuffer) - { - glGenRenderbuffers(1, &m_RenderBuffer); - glBindRenderbuffer(GL_RENDERBUFFER, m_RenderBuffer); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_DEPTH24_STENCIL8, m_Size.x, m_Size.y); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_RenderBuffer); - } - else - { - m_RenderBuffer = -1; - } - - // Unbind - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - } - - void MSAAFrameBuffer::SetTexture(Ref texture, GLenum attachment) - { - m_Textures[attachment] = texture; - // Attach texture to the framebuffer. - Bind(); - texture->AttachToFramebuffer(attachment); - - // Set draw buffer with dynamic amount of render target. - // Surely, this can be optimized. - int size = 0; - std::vector keys = std::vector(); - for (auto s : m_Textures) - { - if (s.first != GL_DEPTH_ATTACHMENT) - { - keys.push_back(s.first); - size += 1; - } - } - - if (size > 0) - glDrawBuffers(size, &keys[0]); - - Unbind(); - } - - - void MSAAFrameBuffer::Bind() - { - if (ResizeQueued) - UpdateSize(m_Size); - - glBindFramebuffer(GL_READ_FRAMEBUFFER, m_FramebufferID); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - glBlitFramebuffer(0, 0, m_Size.x, m_Size.y, 0, 0, m_Size.x, m_Size.y, GL_COLOR_BUFFER_BIT, GL_NEAREST); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, m_Size.x, m_Size.y); - } - - void MSAAFrameBuffer::Unbind() - { - glBindFramebuffer(GL_FRAMEBUFFER, 0); - } - - void MSAAFrameBuffer::QueueResize(Vector2 size) - { - ResizeQueued = true; - m_Size = size; - } - - void MSAAFrameBuffer::UpdateSize(Vector2 size) - { - m_Size = size; - - // Delete frame buffer and render buffer. - glDeleteFramebuffers(1, &m_FramebufferID); - glDeleteRenderbuffers(1, &m_RenderBuffer); - - // Recreate resized texture. - for (auto t : m_Textures) - t.second->Resize(size); - - // New FBO and RBO. - glGenFramebuffers(1, &m_FramebufferID); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_FramebufferID); - - // Recreate resized texture. - for (auto t : m_Textures) - t.second->AttachToFramebuffer(t.first); - - // Recreate render buffer - glGenRenderbuffers(1, &m_RenderBuffer); - glBindRenderbuffer(GL_RENDERBUFFER, m_RenderBuffer); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, m_Size.x, m_Size.y); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_RenderBuffer); - - // Unbind. - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - } - - void MSAAFrameBuffer::SetDrawBuffer(GLenum draw) - { - Bind(); - //glReadBuffer(draw); - Unbind(); - } - - void MSAAFrameBuffer::SetReadBuffer(GLenum read) - { - Bind(); - //glReadBuffer(read); - Unbind(); - } -} diff --git a/Nuake/src/Rendering/Buffers/MSAAFramebuffer.h b/Nuake/src/Rendering/Buffers/MSAAFramebuffer.h deleted file mode 100644 index e358d08f..00000000 --- a/Nuake/src/Rendering/Buffers/MSAAFramebuffer.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -#include "src/Core/Maths.h" -#include -#include "src/Core/Core.h" - -#include -#include - -namespace Nuake -{ - class MSAAFrameBuffer - { - private: - unsigned int m_FramebufferID; - unsigned int m_RenderBuffer; - - Vector2 m_Size; - bool ResizeQueued = false; - - std::map> m_Textures; - Ref m_Texture; - - public: - MSAAFrameBuffer(bool hasRenderBuffer, Vector2 size); - ~MSAAFrameBuffer() { } - - // 0x8CE0 = color attachment 0. - // TODO: Remove blackbox crap - Ref GetTexture(GLenum attachment = 0x8CE0) { return m_Textures[(int)attachment]; } - void SetTexture(Ref texture, GLenum attachment = 0x8CE0); - - - void Bind(); - void Unbind(); - void QueueResize(Vector2 size); - Vector2 GetSize() const { return m_Size; } - void UpdateSize(Vector2 size); - - void SetDrawBuffer(GLenum draw); - void SetReadBuffer(GLenum read); - }; -} diff --git a/Nuake/src/Rendering/Mesh/Mesh.cpp b/Nuake/src/Rendering/Mesh/Mesh.cpp index 682609a6..e162ae82 100644 --- a/Nuake/src/Rendering/Mesh/Mesh.cpp +++ b/Nuake/src/Rendering/Mesh/Mesh.cpp @@ -187,7 +187,7 @@ namespace Nuake m_Indices.push_back(i); } - m_IndicesCount = m_Indices.size(); + m_IndicesCount = static_cast(m_Indices.size()); std::vector vertices; diff --git a/Nuake/src/Rendering/SceneRenderer.cpp b/Nuake/src/Rendering/SceneRenderer.cpp index a6afd526..77a284e6 100644 --- a/Nuake/src/Rendering/SceneRenderer.cpp +++ b/Nuake/src/Rendering/SceneRenderer.cpp @@ -227,7 +227,7 @@ namespace Nuake shader->SetUniform1i("autofocus", sceneEnv->DOFAutoFocus); shader->SetUniform1i("samples", sceneEnv->DOFSamples); shader->SetUniform1i("manualdof", sceneEnv->DOFManualFocus); - shader->SetUniform1f("rings", sceneEnv->DOFrings); + shader->SetUniform1f("rings", static_cast(sceneEnv->DOFrings)); shader->SetUniform1f("ndofstart", sceneEnv->DOFStart); shader->SetUniform1f("ndofdist", sceneEnv->DOFDist); shader->SetUniform1f("fdofstart", sceneEnv->DOFStart); @@ -242,8 +242,8 @@ namespace Nuake shader->SetUniform1f("dbsize", sceneEnv->DOFDbSize); shader->SetUniform1f("feather", sceneEnv->DOFFeather); shader->SetUniform1f("u_Distortion", sceneEnv->BarrelDistortion); - shader->SetUniform1f("height", finalOutput->GetHeight()); - shader->SetUniform1f("width", finalOutput->GetWidth()); + shader->SetUniform1f("height", static_cast(finalOutput->GetHeight())); + shader->SetUniform1f("width", static_cast(finalOutput->GetWidth())); shader->SetUniformTex("depthTex", mGBuffer->GetTexture(GL_DEPTH_ATTACHMENT).get(), 0); shader->SetUniformTex("renderTex", finalOutput.get(), 1); Renderer::DrawQuad(); diff --git a/Nuake/src/Rendering/Textures/MultiSampledTexture.cpp b/Nuake/src/Rendering/Textures/MultiSampledTexture.cpp deleted file mode 100644 index 1493dc24..00000000 --- a/Nuake/src/Rendering/Textures/MultiSampledTexture.cpp +++ /dev/null @@ -1,109 +0,0 @@ -#include "MultiSampledTexture.h" -#include -#include - -namespace Nuake -{ - MultiSampledTexture::MultiSampledTexture(const std::string& path) - { - m_RendererId = 0; - m_FilePath = path; - m_LocalBuffer = nullptr; - m_Width = 0; - m_Height = 0; - m_BPP = 0; - - stbi_set_flip_vertically_on_load(1); - - m_LocalBuffer = stbi_load(path.c_str(), &m_Width, &m_Height, &m_BPP, 4); - - glGenTextures(1, &m_RendererId); - glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, m_RendererId); - glGenerateMipmap(GL_TEXTURE_2D); - //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_LOD_BIAS, -1.0f); - //glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 4, format, size.x, size.y, GL_TRUE); - glGenerateMipmap(GL_TEXTURE_2D); - if (m_LocalBuffer) - stbi_image_free(m_LocalBuffer); - else - std::cout << "Error: failed to load texture: " << path << std::endl; - } - - // Empty texture not from file. - MultiSampledTexture::MultiSampledTexture(glm::vec2 size, GLenum format) - { - m_Format = format; - - m_Width = size.x; - m_Height = size.y; - - glGenTextures(1, &m_RendererId); - glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, m_RendererId); - glTexImage2D(GL_TEXTURE_2D, 0, format, size.x, size.y, 0, format, GL_UNSIGNED_BYTE, NULL); - glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 4, format, size.x, size.y, GL_TRUE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glGenerateMipmap(GL_TEXTURE_2D); - } - - - MultiSampledTexture::MultiSampledTexture(glm::vec2 size, msdfgen::BitmapConstRef& bitmap, bool t) - { - m_Width = size.x; - m_Height = size.y; - - glGenTextures(1, &m_RendererId); - glBindTexture(GL_TEXTURE_2D, m_RendererId); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - - auto pixel = bitmap(0, bitmap.height - 0 - 1); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_Width, m_Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (unsigned char*)bitmap.pixels); - } - - void MultiSampledTexture::Resize(glm::vec2 size) - { - glDeleteTextures(1, &m_RendererId); - m_Width = size.x; - m_Height = size.y; - glGenTextures(1, &m_RendererId); - glBindTexture(GL_TEXTURE_2D, m_RendererId); - glTexImage2D(GL_TEXTURE_2D, 0, m_Format, size.x, size.y, 0, m_Format, GL_UNSIGNED_BYTE, NULL); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - } - - MultiSampledTexture::~MultiSampledTexture() - { - glDeleteTextures(1, &m_RendererId); - } - - void MultiSampledTexture::AttachToFramebuffer(GLenum attachment) - { - glFramebufferTexture2D(GL_FRAMEBUFFER, attachment, GL_TEXTURE_2D_MULTISAMPLE, m_RendererId, 0); - - //glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, attachment, GL_TEXTURE_2D, m_RendererId, 0); - } - - - void MultiSampledTexture::Bind(unsigned int slot) const - { - glActiveTexture(GL_TEXTURE0 + slot); - glBindTexture(GL_TEXTURE_2D, m_RendererId); - } - - void MultiSampledTexture::Unbind() const - { - glBindTexture(GL_TEXTURE_2D, 0); - } -} - - diff --git a/Nuake/src/Rendering/Textures/MultiSampledTexture.h b/Nuake/src/Rendering/Textures/MultiSampledTexture.h deleted file mode 100644 index 90c93dc9..00000000 --- a/Nuake/src/Rendering/Textures/MultiSampledTexture.h +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once -#include "stb_image/stb_image.h" -#include -#include "glm/vec2.hpp" -#include "msdfgen/core/BitmapRef.hpp" - -namespace Nuake -{ - typedef unsigned int GLenum; - class MultiSampledTexture - { - private: - unsigned int m_RendererId; - std::string m_FilePath; - unsigned char* m_LocalBuffer; - GLenum m_Format; - - int m_Width; - int m_Height; - int m_BPP; // byte per pixel. - - public: - MultiSampledTexture(const std::string& path); - MultiSampledTexture(glm::vec2 size, msdfgen::BitmapConstRef& bitmap, bool t); - MultiSampledTexture(glm::vec2 size, GLenum format); - - ~MultiSampledTexture(); - - void Resize(glm::vec2 size); - void AttachToFramebuffer(GLenum attachment); - - void Bind(unsigned int slot = 0) const; - void Unbind() const; - - unsigned int GetID() const { return m_RendererId; } - - inline int GetWidth() const { return m_Width; } - inline int GetHeight() const { return m_Height; } - }; -} \ No newline at end of file diff --git a/Nuake/src/Resource/Animator.cpp b/Nuake/src/Resource/Animator.cpp index c369bf19..a2e5cc1a 100644 --- a/Nuake/src/Resource/Animator.cpp +++ b/Nuake/src/Resource/Animator.cpp @@ -6,7 +6,7 @@ namespace Nuake { Animator::Animator(std::vector& animations) { - m_AnimationCount = animations.size(); + m_AnimationCount = static_cast(animations.size()); m_CurrentAnimation = 0; m_Animations = animations; diff --git a/Nuake/src/Resource/FGD/FGDFile.h b/Nuake/src/Resource/FGD/FGDFile.h index a604dc93..b0c2f74d 100644 --- a/Nuake/src/Resource/FGD/FGDFile.h +++ b/Nuake/src/Resource/FGD/FGDFile.h @@ -65,28 +65,32 @@ namespace Nuake { return true; } - FGDBrushEntity& GetBrushEntity(const std::string& name) + FGDBrushEntity* GetBrushEntity(const std::string& name) { for (auto& b : BrushEntities) { if (String::ToLower(name) == String::ToLower(b.Name)) - return b; + return &b; } assert(false && "Brush entity not found!"); + + return nullptr; } - FGDPointEntity& GetPointEntity(const std::string& name) + FGDPointEntity* GetPointEntity(const std::string& name) { for (auto& p : PointEntities) { if (String::ToLower(name) == String::ToLower(p.Name)) { - return p; + return &p; } } assert(false && "Point entity not found!"); + + return nullptr; } EntityType GetTypeOfEntity(const std::string& className) diff --git a/Nuake/src/Resource/SkeletonNode.h b/Nuake/src/Resource/SkeletonNode.h index e5c22555..87695a35 100644 --- a/Nuake/src/Resource/SkeletonNode.h +++ b/Nuake/src/Resource/SkeletonNode.h @@ -10,7 +10,7 @@ namespace Nuake Matrix4 Transform; Matrix4 Offset; std::string Name; - int ChildrenCount; + uint32_t ChildrenCount; std::vector Children; Matrix4 FinalTransform = Matrix4(1.0f); int32_t Id = -1; diff --git a/Nuake/src/Scene/Components/CameraComponent.cpp b/Nuake/src/Scene/Components/CameraComponent.cpp index 528dd56d..6b51be9d 100644 --- a/Nuake/src/Scene/Components/CameraComponent.cpp +++ b/Nuake/src/Scene/Components/CameraComponent.cpp @@ -9,11 +9,4 @@ namespace Nuake { CameraInstance = CreateRef(); } - void CameraComponent::DrawEditor() - { - ImGui::Text("Camera"); - ImGui::SliderFloat("Exposure", &CameraInstance->Exposure, 0.0f, 2.0f, "%.2f", 1.0f); - ImGui::SliderFloat("FOV", &CameraInstance->Fov, 1.0f, 180.0f, "%.2f", 1.0f); - ImGui::SliderFloat("Speed", &CameraInstance->Speed, 0.1f, 5.0f, "%.2f", 1.0f); - } } diff --git a/Nuake/src/Scene/Components/CameraComponent.h b/Nuake/src/Scene/Components/CameraComponent.h index 9f9771de..6bd1ede6 100644 --- a/Nuake/src/Scene/Components/CameraComponent.h +++ b/Nuake/src/Scene/Components/CameraComponent.h @@ -14,8 +14,6 @@ namespace Nuake CameraComponent(); - void DrawEditor(); - json Serialize() { BEGIN_SERIALIZE(); diff --git a/Nuake/src/Scene/Components/NavMeshVolumeComponent.h b/Nuake/src/Scene/Components/NavMeshVolumeComponent.h index 5e4a9411..7c8f829e 100644 --- a/Nuake/src/Scene/Components/NavMeshVolumeComponent.h +++ b/Nuake/src/Scene/Components/NavMeshVolumeComponent.h @@ -67,7 +67,7 @@ namespace Nuake bool Deserialize(const json& j) { - if (j.contains("VolumeSize")); + if (j.contains("VolumeSize")) { DESERIALIZE_VEC3(j["VolumeSize"], VolumeSize); } diff --git a/Nuake/src/Scene/Scene.cpp b/Nuake/src/Scene/Scene.cpp index 30d73297..410d4996 100644 --- a/Nuake/src/Scene/Scene.cpp +++ b/Nuake/src/Scene/Scene.cpp @@ -509,7 +509,7 @@ namespace Nuake std::vector entities = std::vector(); for (Entity e : GetAllEntities()) { - std::async(std::launch::async, [&]() { + auto returnValue = std::async(std::launch::async, [&]() { entities.push_back(e.Serialize()); }); } diff --git a/Nuake/src/Scene/Systems/ParticleEmitter.cpp b/Nuake/src/Scene/Systems/ParticleEmitter.cpp index d207f358..dfdebe5f 100644 --- a/Nuake/src/Scene/Systems/ParticleEmitter.cpp +++ b/Nuake/src/Scene/Systems/ParticleEmitter.cpp @@ -78,7 +78,7 @@ namespace Nuake // Delete all dead particles. int shiftOffset = 0; - for (int d = deletionQueue.size() - 1; d > 0; d--) + for (int d = static_cast(deletionQueue.size()) - 1; d > 0; d--) { // Erase shifts the elements const auto it = d; diff --git a/Nuake/src/Scene/Systems/QuakeMapBuilder.cpp b/Nuake/src/Scene/Systems/QuakeMapBuilder.cpp index bbd738ad..e7468358 100644 --- a/Nuake/src/Scene/Systems/QuakeMapBuilder.cpp +++ b/Nuake/src/Scene/Systems/QuakeMapBuilder.cpp @@ -416,8 +416,8 @@ namespace Nuake { std::string target = ""; std::string targetname = ""; - FGDBrushEntity fgdBrush; - FGDPointEntity pointEntity; + FGDBrushEntity* fgdBrush; + FGDPointEntity* pointEntity; bool isEntity = false; bool isWorldSpawn = false; bool isPointEntity = false; @@ -449,7 +449,7 @@ namespace Nuake { { fgdBrush = file->GetBrushEntity(value); - if(fgdBrush.Name != "") + if(fgdBrush->Name != "") isEntity = true; else isWorldSpawn = true; @@ -486,19 +486,19 @@ namespace Nuake { { if (isPointEntity) { - if (pointEntities.find(pointEntity.Name) == pointEntities.end()) + if (pointEntities.find(pointEntity->Name) == pointEntities.end()) { - Entity pointEntityParent = Engine::GetCurrentScene()->CreateEntity(pointEntity.Name); - pointEntities[pointEntity.Name] = pointEntityParent; + Entity pointEntityParent = Engine::GetCurrentScene()->CreateEntity(pointEntity->Name); + pointEntities[pointEntity->Name] = pointEntityParent; ent.AddChild(pointEntityParent); } - Entity newPrefab = Engine::GetCurrentScene()->CreateEntity(pointEntity.Name); + Entity newPrefab = Engine::GetCurrentScene()->CreateEntity(pointEntity->Name); - pointEntities[pointEntity.Name].AddChild(newPrefab); + pointEntities[pointEntity->Name].AddChild(newPrefab); auto& prefabComponent = newPrefab.AddComponent(); - prefabComponent.SetPrefab(Prefab::New(pointEntity.Prefab)); + prefabComponent.SetPrefab(Prefab::New(pointEntity->Prefab)); newPrefab.GetComponent().SetLocalPosition(brushLocalPosition); for (auto& e : prefabComponent.PrefabInstance->Entities) diff --git a/Nuake/src/Scene/Systems/ScriptingSystem.cpp b/Nuake/src/Scene/Systems/ScriptingSystem.cpp index 83d0e330..9281ef78 100644 --- a/Nuake/src/Scene/Systems/ScriptingSystem.cpp +++ b/Nuake/src/Scene/Systems/ScriptingSystem.cpp @@ -181,7 +181,7 @@ namespace Nuake if (wren.mWrenScript != nullptr) wren.mWrenScript->CallExit(); } - catch (std::exception* e) + catch (std::exception* /*e*/) { } } diff --git a/Nuake/src/Scripting/Modules/SceneModule.h b/Nuake/src/Scripting/Modules/SceneModule.h index bd0cd224..3504ebfa 100644 --- a/Nuake/src/Scripting/Modules/SceneModule.h +++ b/Nuake/src/Scripting/Modules/SceneModule.h @@ -283,7 +283,7 @@ namespace Nuake const auto& result = PhysicsManager::Get().GetWorld()->Raycast(from, to); // We multiply by 3 since we have 3 floats per hit result: vector3. - wrenEnsureSlots(vm, static_cast(result.size() * 3)); + wrenEnsureSlots(vm, static_cast(result.size() * 3)); wrenSetSlotNewList(vm, 0); uint32_t index = 1; diff --git a/Nuake/src/Scripting/NetModules/SceneNetAPI.cpp b/Nuake/src/Scripting/NetModules/SceneNetAPI.cpp index 7ced023c..cc538e3a 100644 --- a/Nuake/src/Scripting/NetModules/SceneNetAPI.cpp +++ b/Nuake/src/Scripting/NetModules/SceneNetAPI.cpp @@ -56,6 +56,7 @@ namespace Nuake { auto instance = scriptingEngine.GetEntityScript(entity); return instance; } + } Coral::ManagedObject GetEntityScriptFromHandle(int entityHandle) @@ -87,7 +88,7 @@ namespace Nuake { return prefab->Root.GetHandle(); } - static enum ComponentTypes + enum ComponentTypes { Unknown = -1, PARENT = 0, @@ -314,7 +315,7 @@ namespace Nuake { auto waypoints = navMesh->FindStraightPath(startPosition, endPosition); // Convert Vector3 array into float array - Coral::Array returnResult = Coral::Array::New(waypoints.size() * 3); + Coral::Array returnResult = Coral::Array::New(static_cast(waypoints.size()) * 3); for (int i = 0; i < waypoints.size(); i++) { returnResult[i * 3 + 0] = waypoints[i].x; diff --git a/Nuake/src/UI/ImUI.cpp b/Nuake/src/UI/ImUI.cpp index 54ea27a0..06e3fde0 100644 --- a/Nuake/src/UI/ImUI.cpp +++ b/Nuake/src/UI/ImUI.cpp @@ -60,7 +60,7 @@ namespace Nuake { ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 4.0f); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, IconButtonPadding); - const float height = ImGui::GetTextLineHeight() + ButtonPadding.y * 2.0; + const float height = ImGui::GetTextLineHeight() + ButtonPadding.y * 2.0f; const bool isPressed = ImGui::Button(icon.c_str(), ImVec2(height, height)); ImGui::PopStyleVar(2); @@ -89,7 +89,7 @@ namespace Nuake { bool CheckBox(const std::string& name, bool& value) { - const float height = ImGui::GetTextLineHeight() + ButtonPadding.y * 2.0; + const float height = ImGui::GetTextLineHeight() + ButtonPadding.y * 2.0f; if (!value) { diff --git a/Nuake/src/Vendors/imgui/ImGuizmo.cpp b/Nuake/src/Vendors/imgui/ImGuizmo.cpp index bfbd768a..60a2865b 100644 --- a/Nuake/src/Vendors/imgui/ImGuizmo.cpp +++ b/Nuake/src/Vendors/imgui/ImGuizmo.cpp @@ -1202,7 +1202,7 @@ namespace ImGuizmo float angleStart = atan2f(cameraToModelNormalized[(4 - axis) % 3], cameraToModelNormalized[(3 - axis) % 3]) + ZPI * 0.5f + 0.25f; - for (unsigned int i = 0; i < circleMul * halfCircleSegmentCount + 1; i++) + for (int i = 0; i < circleMul * halfCircleSegmentCount + 1; i++) { float ng = angleStart + circleMul * ZPI * ((float)i / (float)halfCircleSegmentCount); vec_t axisPos = makeVect(cosf(ng), sinf(ng), 0.f); diff --git a/Nuake/src/Window.cpp b/Nuake/src/Window.cpp index 7cbfac10..4540a4d7 100644 --- a/Nuake/src/Window.cpp +++ b/Nuake/src/Window.cpp @@ -191,15 +191,15 @@ namespace Nuake void Window::SetSize(const Vector2& size) { - m_Width = size.x; - m_Height = size.y; - glfwSetWindowSize(m_Window, size.x, size.y); + m_Width = static_cast(size.x); + m_Height = static_cast(size.y); + glfwSetWindowSize(m_Window, m_Width, m_Height); } void Window::SetPosition(const Vector2& position) { m_Position = position; - glfwSetWindowPos(m_Window, position.x, position.y); + glfwSetWindowPos(m_Window, static_cast(position.x), static_cast(position.y)); } void Window::SetMonitor(int monitorIdx) @@ -220,8 +220,8 @@ namespace Nuake glfwGetMonitorPhysicalSize(monitor, &monitorWidth, &monitorHeight); // Convert physical size to pixels (assuming a DPI scale factor of 1.0) - monitorWidth = monitorWidth * 96 / 25.4; - monitorHeight = monitorHeight * 96 / 25.4; + monitorWidth = static_cast(monitorWidth * 96.0f / 25.4f); + monitorHeight = static_cast(monitorHeight * 96.0f / 25.4f); // Center the window on the new monitor int windowX = monitorX + (monitorWidth - m_Width) / 2; @@ -349,7 +349,7 @@ namespace Nuake colors[ImGuiCol_FrameBgHovered] = ImVec4(0.09f, 0.09f, 0.09f, 1.00f); colors[ImGuiCol_FrameBgActive] = ImVec4(0.13f, 0.13f, 0.13f, 1.00f); colors[ImGuiCol_TitleBg] = ImVec4(0.08f, 0.08f, 0.08f, 1.00f); - colors[ImGuiCol_TitleBgActive] = ImVec4(0.078, 0.078, 0.078, 1.00f); + colors[ImGuiCol_TitleBgActive] = ImVec4(0.078f, 0.078f, 0.078f, 1.00f); colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.00f, 0.00f, 0.00f, 0.51f); colors[ImGuiCol_MenuBarBg] = ImVec4(0.08f, 0.08f, 0.08f, 1.00f); colors[ImGuiCol_ScrollbarBg] = ImVec4(0.08f, 0.08f, 0.08f, 0.00f);