diff --git a/Editor/src/ComponentsPanel/CharacterControllerPanel.h b/Editor/src/ComponentsPanel/CharacterControllerPanel.h index 7739efd3..6e7a1a8c 100644 --- a/Editor/src/ComponentsPanel/CharacterControllerPanel.h +++ b/Editor/src/ComponentsPanel/CharacterControllerPanel.h @@ -50,7 +50,7 @@ public: { ImGui::Text("Stick to floor step down"); ImGui::TableNextColumn(); - ImGui::DragFloat("##StickToFloorStepDown", &component.StickToFloorStepDown.y, -10.0f, 0.01, 0.0f); + ImGui::DragFloat("##StickToFloorStepDown", &component.StickToFloorStepDown.y, -10.0f, 0.01f, 0.0f); ImGui::TableNextColumn(); ComponentTableReset(component.StickToFloorStepDown.y, -0.5f); } @@ -58,7 +58,7 @@ public: { ImGui::Text("Step down extra"); ImGui::TableNextColumn(); - ImGui::DragFloat("##StepDownExtra", &component.StepDownExtra.y, -10.0f, 0.01, 0.0f); + ImGui::DragFloat("##StepDownExtra", &component.StepDownExtra.y, -10.0f, 0.01f, 0.0f); ImGui::TableNextColumn(); ComponentTableReset(component.StepDownExtra.y, 0.0f); } @@ -66,7 +66,7 @@ public: { ImGui::Text("Step up"); ImGui::TableNextColumn(); - ImGui::DragFloat("##StepUp", &component.SteppingStepUp.y, 0.0f, 0.01, 10.0f); + ImGui::DragFloat("##StepUp", &component.SteppingStepUp.y, 0.0f, 0.01f, 10.0f); ImGui::TableNextColumn(); ComponentTableReset(component.SteppingStepUp.y, 0.4f); } diff --git a/Editor/src/ComponentsPanel/ComponentPanel.h b/Editor/src/ComponentsPanel/ComponentPanel.h index b6e9baa0..0ed64a4d 100644 --- a/Editor/src/ComponentsPanel/ComponentPanel.h +++ b/Editor/src/ComponentsPanel/ComponentPanel.h @@ -26,7 +26,7 @@ ImGui::Text(##name); bool removed = false; \ bool headerOpened = ImGui::CollapsingHeader(#name, ImGuiTreeNodeFlags_DefaultOpen); \ ImGui::PopStyleVar(); \ - if (#name != "TRANSFORM" && ImGui::BeginPopupContextItem()) \ + if (strcmp(#name, "TRANSFORM") != 0 && ImGui::BeginPopupContextItem()) \ { \ if (ImGui::Selectable("Remove")) { removed = true; } \ ImGui::EndPopup(); \ @@ -42,7 +42,7 @@ ImGui::Text(##name); { \ delete boldFont; \ ImGui::PopStyleVar(); \ - ImGui::Indent(); \ + ImGui::Indent(); \ if (ImGui::BeginTable(#name, 3, ImGuiTableFlags_SizingStretchProp)) \ { \ ImGui::TableSetupColumn("name", 0, 0.25f); \ diff --git a/Editor/src/ComponentsPanel/SkinnedModelPanel.h b/Editor/src/ComponentsPanel/SkinnedModelPanel.h index 12d3c73e..9083d2cd 100644 --- a/Editor/src/ComponentsPanel/SkinnedModelPanel.h +++ b/Editor/src/ComponentsPanel/SkinnedModelPanel.h @@ -129,7 +129,7 @@ public: auto animations = model->GetAnimations(); if (ImGui::BeginCombo("Type", model->GetCurrentAnimation()->GetName().c_str())) { - for (int n = 0; n < model->GetAnimationsCount(); n++) + for (uint32_t n = 0; n < model->GetAnimationsCount(); n++) { bool is_selected = (animIndex == n); std::string animName = animations[n]->GetName(); diff --git a/Editor/src/Misc/ImGuiTextHelper.h b/Editor/src/Misc/ImGuiTextHelper.h index 87dde8df..1235abf5 100644 --- a/Editor/src/Misc/ImGuiTextHelper.h +++ b/Editor/src/Misc/ImGuiTextHelper.h @@ -6,7 +6,7 @@ void ImGuiTextSTD(const std::string& label, std::string& value) { char buffer[256]; memset(buffer, 0, sizeof(buffer)); - std::strncpy(buffer, value.c_str(), sizeof(buffer)); + strncpy_s(buffer, value.c_str(), sizeof(buffer)); if (ImGui::InputText(label.c_str(), buffer, sizeof(buffer))) { @@ -18,7 +18,7 @@ void ImGuiTextMultiline(const std::string& label, std::string& value) { char buffer[256]; memset(buffer, 0, sizeof(buffer)); - std::strncpy(buffer, value.c_str(), sizeof(buffer)); + strncpy_s(buffer, value.c_str(), sizeof(buffer)); if (ImGui::InputTextMultiline(label.c_str(), buffer, sizeof(buffer))) { value = std::string(buffer); diff --git a/Editor/src/Windows/EditorInterface.cpp b/Editor/src/Windows/EditorInterface.cpp index 0f4aedd6..d660fff4 100644 --- a/Editor/src/Windows/EditorInterface.cpp +++ b/Editor/src/Windows/EditorInterface.cpp @@ -645,12 +645,12 @@ namespace Nuake { float frameTime = 1000.0f / io.Framerate; int fps = (int)io.Framerate; ImGui::PushStyleVar(ImGuiStyleVar_ChildBorderSize, 0.0f); - ImGui::PushStyleColor(ImGuiCol_ChildBg, ImVec4(0.1, 0.1, 0.1, 1)); + ImGui::PushStyleColor(ImGuiCol_ChildBg, ImVec4(0.1f, 0.1f, 0.1f, 1)); ImGui::BeginChild("FPS", ImVec2(70, 30), false); std::string text = std::to_string(fps) + " fps"; - ImGui::SetCursorPosX(ImGui::GetCursorPosX() + ImGui::GetContentRegionAvail().x / 1.25 - ImGui::CalcTextSize(text.c_str()).x - - ImGui::GetScrollX() - 2 * ImGui::GetStyle().ItemSpacing.x); + ImGui::SetCursorPosX(ImGui::GetCursorPosX() + ImGui::GetContentRegionAvail().x / 1.25f - ImGui::CalcTextSize(text.c_str()).x + - ImGui::GetScrollX() - 2.f * ImGui::GetStyle().ItemSpacing.x); ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 15 - (ImGui::CalcTextSize(text.c_str()).y) / 2.0); ImGui::Text(text.c_str()); @@ -953,9 +953,9 @@ namespace Nuake { BEGIN_COLLAPSE_HEADER(SKY); if (ImGui::BeginTable("EnvTable", 3, ImGuiTableFlags_BordersInner | ImGuiTableFlags_SizingStretchProp)) { - ImGui::TableSetupColumn("name", 0, 0.3); - ImGui::TableSetupColumn("set", 0, 0.6); - ImGui::TableSetupColumn("reset", 0, 0.1); + ImGui::TableSetupColumn("name", 0, 0.3f); + ImGui::TableSetupColumn("set", 0, 0.6f); + ImGui::TableSetupColumn("reset", 0, 0.1f); ImGui::TableNextColumn(); { @@ -1169,9 +1169,9 @@ namespace Nuake { BEGIN_COLLAPSE_HEADER(BLOOM) if (ImGui::BeginTable("BloomTable", 3, ImGuiTableFlags_BordersInner | ImGuiTableFlags_SizingStretchProp)) { - ImGui::TableSetupColumn("name", 0, 0.3); - ImGui::TableSetupColumn("set", 0, 0.6); - ImGui::TableSetupColumn("reset", 0, 0.1); + ImGui::TableSetupColumn("name", 0, 0.3f); + ImGui::TableSetupColumn("set", 0, 0.6f); + ImGui::TableSetupColumn("reset", 0, 0.1f); ImGui::TableNextColumn(); { @@ -1236,9 +1236,9 @@ namespace Nuake { BEGIN_COLLAPSE_HEADER(VOLUMETRIC) if (ImGui::BeginTable("EnvTable", 3, ImGuiTableFlags_BordersInner | ImGuiTableFlags_SizingStretchProp)) { - ImGui::TableSetupColumn("name", 0, 0.3); - ImGui::TableSetupColumn("set", 0, 0.6); - ImGui::TableSetupColumn("reset", 0, 0.1); + ImGui::TableSetupColumn("name", 0, 0.3f); + ImGui::TableSetupColumn("set", 0, 0.6f); + ImGui::TableSetupColumn("reset", 0, 0.1f); ImGui::TableNextColumn(); { @@ -1318,9 +1318,9 @@ namespace Nuake { BEGIN_COLLAPSE_HEADER(SSAO) if (ImGui::BeginTable("EnvTable", 3, ImGuiTableFlags_BordersInner | ImGuiTableFlags_SizingStretchProp)) { - ImGui::TableSetupColumn("name", 0, 0.3); - ImGui::TableSetupColumn("set", 0, 0.6); - ImGui::TableSetupColumn("reset", 0, 0.1); + ImGui::TableSetupColumn("name", 0, 0.3f); + ImGui::TableSetupColumn("set", 0, 0.6f); + ImGui::TableSetupColumn("reset", 0, 0.1f); ImGui::TableNextColumn(); { @@ -1810,9 +1810,9 @@ namespace Nuake { BEGIN_COLLAPSE_HEADER(BARREL_DISTORTION) if (ImGui::BeginTable("EnvTable", 3, ImGuiTableFlags_BordersInner | ImGuiTableFlags_SizingStretchProp)) { - ImGui::TableSetupColumn("name", 0, 0.3); - ImGui::TableSetupColumn("set", 0, 0.6); - ImGui::TableSetupColumn("reset", 0, 0.1); + ImGui::TableSetupColumn("name", 0, 0.3f); + ImGui::TableSetupColumn("set", 0, 0.6f); + ImGui::TableSetupColumn("reset", 0, 0.1f); { ImGui::TableNextColumn(); diff --git a/Editor/src/Windows/EditorSelectionPanel.cpp b/Editor/src/Windows/EditorSelectionPanel.cpp index e4a438d8..6b581a2a 100644 --- a/Editor/src/Windows/EditorSelectionPanel.cpp +++ b/Editor/src/Windows/EditorSelectionPanel.cpp @@ -77,7 +77,7 @@ void EditorSelectionPanel::Draw(EditorSelection selection) ImGui::SetCursorPosX((windowWidth - textWidth) * 0.5f); ImGui::SetCursorPosY((windowHeight - textHeight) * 0.5f); - ImGui::TextColored({1, 0.1, 0.1, 1.0}, text.c_str()); + ImGui::TextColored({1.f, 0.1f, 0.1f, 1.0f}, text.c_str()); } DrawFile(selection.File); diff --git a/Editor/src/Windows/NewProjectWindow.cpp b/Editor/src/Windows/NewProjectWindow.cpp index 4b7b07ce..848b9d29 100644 --- a/Editor/src/Windows/NewProjectWindow.cpp +++ b/Editor/src/Windows/NewProjectWindow.cpp @@ -53,7 +53,7 @@ namespace Nuake ImGui::PopStyleVar(); } - ImGui::PushStyleColor(ImGuiCol_ChildBg, ImVec4(0.1, 0.1, 0.1, 0.2f)); + ImGui::PushStyleColor(ImGuiCol_ChildBg, ImVec4(0.1f, 0.1f, 0.1f, 0.2f)); ImGui::BeginChild("TemplateContainer", { ImGui::GetContentRegionAvail().x - 64.0f, ImGui::GetContentRegionAvail().y }, true, ImGuiChildFlags_AlwaysUseWindowPadding); { ImGui::Dummy({ 4, 4 }); @@ -94,7 +94,7 @@ namespace Nuake if (showTitleEmptyWarning && projectTitle.empty()) { ImGui::SameLine(); - ImGui::TextColored({ 1.0, 0.1, 0.1, 1.0 }, ICON_FA_EXCLAMATION_TRIANGLE); + ImGui::TextColored({ 1.0f, 0.1f, 0.1f, 1.0f }, ICON_FA_EXCLAMATION_TRIANGLE); Nuake::UI::Tooltip("Title required"); } diff --git a/Editor/src/Windows/ProjectSettings/ProjectSettingsWindow.cpp b/Editor/src/Windows/ProjectSettings/ProjectSettingsWindow.cpp index 94d74d7d..24c0ca99 100644 --- a/Editor/src/Windows/ProjectSettings/ProjectSettingsWindow.cpp +++ b/Editor/src/Windows/ProjectSettings/ProjectSettingsWindow.cpp @@ -184,11 +184,11 @@ void ProjectSettingsCategoryPhysics::Draw() Engine::SetPhysicsStep(Engine::GetProject()->Settings.PhysicsStep); } - ImGui::DragInt("Maximum SubSteps", &Engine::GetProject()->Settings.MaxPhysicsSubStep, 1.0f, 8.0f, 128); + ImGui::DragInt("Maximum SubSteps", &Engine::GetProject()->Settings.MaxPhysicsSubStep, 1, 8, 128); - ImGui::DragInt("Maximum Bodies", &Engine::GetProject()->Settings.MaxPhysicsBodies, 1.0f, 256.0f, 8000); - ImGui::DragInt("Maximum Body Pair", &Engine::GetProject()->Settings.MaxPhysicsBodyPair, 1.0f, 256.0f, 4096.0f); - ImGui::DragInt("Maximum Contact Constraint", &Engine::GetProject()->Settings.MaxPhysicsContactConstraints, 1.0f, 256.0f, 4096.0f); + ImGui::DragInt("Maximum Bodies", &Engine::GetProject()->Settings.MaxPhysicsBodies, 1.0f, 256, 8000); + ImGui::DragInt("Maximum Body Pair", &Engine::GetProject()->Settings.MaxPhysicsBodyPair, 1.0f, 256, 4096); + ImGui::DragInt("Maximum Contact Constraint", &Engine::GetProject()->Settings.MaxPhysicsContactConstraints, 1.0f, 256, 4096); } ProjectSettingsCategoryAudio::ProjectSettingsCategoryAudio(Ref project) : diff --git a/Nuake/dependencies/assimp_p5.lua b/Nuake/dependencies/assimp_p5.lua index 76fc36f2..659610d9 100644 --- a/Nuake/dependencies/assimp_p5.lua +++ b/Nuake/dependencies/assimp_p5.lua @@ -119,6 +119,13 @@ project 'assimp' 'ASSIMP_BUILD_NO_3MF_EXPORTER', 'ASSIMP_BUILD_NO_ASSJSON_EXPORTER' } + + -- When building any Visual Studio solution + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } filter "configurations:Debug" runtime "Debug" diff --git a/Nuake/dependencies/freetype_p5.lua b/Nuake/dependencies/freetype_p5.lua index 3ba9ee8a..61ed7905 100644 --- a/Nuake/dependencies/freetype_p5.lua +++ b/Nuake/dependencies/freetype_p5.lua @@ -60,7 +60,14 @@ project "Freetype" filter "system:windows" - systemversion "latest" + systemversion "latest" + + -- warning C4244: 'function': conversion from '__int64' to 'const unsigned int', possible loss of data + -- warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead + -- warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. + -- warning C4267: '=': conversion from 'size_t' to 'FT_Int', possible loss of data + -- warning C4312: 'type cast': conversion from 'unsigned long' to 'void *' of greater size + disablewarnings { "4996", "4267", "4244", "4312" } defines { diff --git a/Nuake/dependencies/glfw_p5.lua b/Nuake/dependencies/glfw_p5.lua index d5472985..2b9b96ac 100644 --- a/Nuake/dependencies/glfw_p5.lua +++ b/Nuake/dependencies/glfw_p5.lua @@ -40,6 +40,8 @@ project "GLFW" { "_GLFW_WIN32", } + + disablewarnings { "4996" } filter "system:linux" diff --git a/Nuake/dependencies/jolt_p5.lua b/Nuake/dependencies/jolt_p5.lua index baa49950..97675a6d 100644 --- a/Nuake/dependencies/jolt_p5.lua +++ b/Nuake/dependencies/jolt_p5.lua @@ -36,6 +36,14 @@ project 'JoltPhysics' prebuildcommands { "cp %{prj.location}./Jolt.cpp %{prj.location}/" } + + -- When building any Visual Studio solution + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } + filter "configurations:Debug" cppdialect "C++17" runtime "Debug" diff --git a/Nuake/dependencies/msdf-atlas-gen_p5.lua b/Nuake/dependencies/msdf-atlas-gen_p5.lua index ac5907fc..bea4d5b4 100644 --- a/Nuake/dependencies/msdf-atlas-gen_p5.lua +++ b/Nuake/dependencies/msdf-atlas-gen_p5.lua @@ -32,6 +32,13 @@ project 'msdf-gen' defines { } + + -- When building any Visual Studio solution + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } filter "configurations:Debug" runtime "Debug" diff --git a/Nuake/dependencies/yoga_p5.lua b/Nuake/dependencies/yoga_p5.lua index 64e2fb80..530dcd24 100644 --- a/Nuake/dependencies/yoga_p5.lua +++ b/Nuake/dependencies/yoga_p5.lua @@ -25,6 +25,13 @@ project 'yoga' defines { } + -- When building any Visual Studio solution + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } + filter "configurations:Debug" runtime "Debug" symbols "on" diff --git a/Nuake/src/Rendering/Renderer.h b/Nuake/src/Rendering/Renderer.h index 4c2fb838..9d1c7885 100644 --- a/Nuake/src/Rendering/Renderer.h +++ b/Nuake/src/Rendering/Renderer.h @@ -15,9 +15,6 @@ namespace Nuake { - struct TransformComponent; - struct LightComponent; - struct Light { TransformComponent transform; diff --git a/premake5.lua b/premake5.lua index d7256f2e..e78e21cc 100644 --- a/premake5.lua +++ b/premake5.lua @@ -210,7 +210,12 @@ project "Nuake" { "NK_WIN" } - + + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } filter "configurations:Debug" runtime "Debug" @@ -308,6 +313,12 @@ project "NuakeRuntime" '{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/Coral.Managed/Coral.Managed.runtimeconfig.json" "%{wks.location}/%{prj.name}"' } + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } + filter "system:linux" links { @@ -471,6 +482,11 @@ project "Editor" '{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/Coral.Managed/bin/%{cfg.buildcfg}/Coral.Managed.dll" "%{wks.location}/%{prj.name}"' } + filter { "system:windows", "action:vs*"} + flags + { + "MultiProcessorCompile", + } filter "system:linux" links