diff --git a/Editor/src/ComponentsPanel/AudioEmitterPanel.h b/Editor/src/ComponentsPanel/AudioEmitterPanel.h index 85f925fa..1083a53f 100644 --- a/Editor/src/ComponentsPanel/AudioEmitterPanel.h +++ b/Editor/src/ComponentsPanel/AudioEmitterPanel.h @@ -50,7 +50,8 @@ public: ImGui::Text("Playing"); ImGui::TableNextColumn(); - ImGui::Checkbox("##Playing", &component.IsPlaying); + UI::ToggleButton("##Player", &component.IsPlaying); + //ImGui::Checkbox("##Playing", &component.IsPlaying); ImGui::TableNextColumn(); ComponentTableReset(component.IsPlaying, false); diff --git a/Editor/src/ComponentsPanel/ComponentPanel.h b/Editor/src/ComponentsPanel/ComponentPanel.h index e0314d58..be85bb29 100644 --- a/Editor/src/ComponentsPanel/ComponentPanel.h +++ b/Editor/src/ComponentsPanel/ComponentPanel.h @@ -3,6 +3,7 @@ #include "../Misc/InterfaceFonts.h" +#include "src/UI/ImUI.h" #include #include diff --git a/Editor/src/Windows/EditorInterface.cpp b/Editor/src/Windows/EditorInterface.cpp index 97f724e8..981dd997 100644 --- a/Editor/src/Windows/EditorInterface.cpp +++ b/Editor/src/Windows/EditorInterface.cpp @@ -1540,9 +1540,48 @@ namespace Nuake { { if (UI::PrimaryButton("Add Entity")) { - ImGui::OpenPopup("create_entity_popup"); + ImGui::OpenPopup("create_entity_new_popup"); } + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 8, 8 }); + + if (ImGui::BeginPopup("create_entity_new_popup")) + { + ImGui::BeginChild("entity_child", ImVec2(442, 442), ImGuiChildFlags_AlwaysUseWindowPadding); + + std::string searchQuery = ""; + + ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x); + ImGui::InputTextWithHint("##search", "Search entity", &searchQuery, 0, 0, 0); + ImGui::PopItemWidth(); + + ImGui::Button("Empty", { 130, 130 }); + ImGui::SameLine(); + ImGui::Button("3D", { 130, 130 }); + ImGui::SameLine(); + ImGui::Button("Lights", { 130, 130 }); + + ImGui::Button("Physics", { 130, 130 }); + ImGui::SameLine(); + ImGui::Button("Shapes", { 130, 130 }); + ImGui::SameLine(); + ImGui::Button("Scripts", { 130, 130 }); + + ImGui::Button("Prefabs", { 130, 130 }); + ImGui::SameLine(); + ImGui::Button("Utilities", { 130, 130 }); + ImGui::SameLine(); + + ImGui::BeginDisabled(); + ImGui::Button("Addons", { 130, 130 }); + ImGui::EndDisabled(); + + ImGui::EndChild(); + ImGui::EndPopup(); + } + ImGui::PopStyleVar(); + + if (ImGui::BeginPopup("create_entity_popup")) { if (ImGui::MenuItem("Empty")) diff --git a/Nuake/src/Rendering/SceneRenderer.cpp b/Nuake/src/Rendering/SceneRenderer.cpp index 8fe1b9a3..65f02280 100644 --- a/Nuake/src/Rendering/SceneRenderer.cpp +++ b/Nuake/src/Rendering/SceneRenderer.cpp @@ -20,9 +20,14 @@ namespace Nuake mGBuffer->SetTexture(CreateRef(defaultResolution, GL_RGB), GL_COLOR_ATTACHMENT0); // Albedo mGBuffer->SetTexture(CreateRef(defaultResolution, GL_RGB), GL_COLOR_ATTACHMENT1); // Normal mGBuffer->SetTexture(CreateRef(defaultResolution, GL_RGBA), GL_COLOR_ATTACHMENT2); // Material + unlit - mGBuffer->SetTexture(CreateRef(defaultResolution, GL_RED_INTEGER, GL_R32I, GL_INT), GL_COLOR_ATTACHMENT3); // Entity ID + + auto entityTexture = CreateRef(defaultResolution, GL_RED_INTEGER, GL_R32I, GL_INT); + entityTexture->SetParameter(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); + mGBuffer->SetTexture(entityTexture, GL_COLOR_ATTACHMENT3); // Entity ID mGBuffer->SetTexture(CreateRef(defaultResolution, GL_RED, GL_R16F, GL_FLOAT), GL_COLOR_ATTACHMENT4); // Emissive + + mShadingBuffer = CreateScope(true, defaultResolution); mShadingBuffer->SetTexture(CreateRef(defaultResolution, GL_RGB, GL_RGB16F, GL_FLOAT)); @@ -262,33 +267,31 @@ namespace Nuake framebuffer.Unbind(); } - if (sceneEnv->VignetteEnabled) + mVignetteBuffer->QueueResize(framebuffer.GetSize()); + mVignetteBuffer->Bind(); { - mVignetteBuffer->QueueResize(framebuffer.GetSize()); - mVignetteBuffer->Bind(); - { - RenderCommand::Clear(); - Shader* shader = ShaderManager::GetShader("Resources/Shaders/vignette.shader"); - shader->Bind(); + RenderCommand::Clear(); + Shader* shader = ShaderManager::GetShader("Resources/Shaders/vignette.shader"); + shader->Bind(); - shader->SetUniform1f("u_Intensity", sceneEnv->VignetteIntensity); - shader->SetUniform1f("u_Extend", sceneEnv->VignetteExtend); - shader->SetUniformTex("u_Source", finalOutput.get(), 0); - Renderer::DrawQuad(); - } - mVignetteBuffer->Unbind(); - - framebuffer.Bind(); - { - RenderCommand::Clear(); - Shader* shader = ShaderManager::GetShader("Resources/Shaders/copy.shader"); - shader->Bind(); - - shader->SetUniformTex("u_Source", mVignetteBuffer->GetTexture().get(), 0); - Renderer::DrawQuad(); - } - framebuffer.Unbind(); + shader->SetUniform1f("u_Intensity", sceneEnv->VignetteIntensity); + shader->SetUniform1f("u_Extend", sceneEnv->VignetteEnabled ? sceneEnv->VignetteExtend : 0.0f); + shader->SetUniformTex("u_Source", finalOutput.get(), 0); + Renderer::DrawQuad(); } + mVignetteBuffer->Unbind(); + + framebuffer.Bind(); + { + RenderCommand::Clear(); + Shader* shader = ShaderManager::GetShader("Resources/Shaders/copy.shader"); + shader->Bind(); + + shader->SetUniformTex("u_Source", mVignetteBuffer->GetTexture().get(), 0); + Renderer::DrawQuad(); + } + framebuffer.Unbind(); + { mOutlineBuffer->QueueResize(framebuffer.GetSize()); @@ -316,14 +319,8 @@ namespace Nuake Shader* shader = ShaderManager::GetShader("Resources/Shaders/combine.shader"); shader->Bind(); - if (sceneEnv->VignetteEnabled) - { - shader->SetUniformTex("u_Source", mVignetteBuffer->GetTexture().get(), 0); - } - else - { - shader->SetUniformTex("u_Source", finalOutput.get(), 0); - } + shader->SetUniformTex("u_Source", mVignetteBuffer->GetTexture().get(), 0); + shader->SetUniformTex("u_Source2", mOutlineBuffer->GetTexture(GL_COLOR_ATTACHMENT0).get(), 1); Renderer::DrawQuad(); } diff --git a/Nuake/src/Rendering/Shaders/ShaderManager.cpp b/Nuake/src/Rendering/Shaders/ShaderManager.cpp index 25be053d..77b3570b 100644 --- a/Nuake/src/Rendering/Shaders/ShaderManager.cpp +++ b/Nuake/src/Rendering/Shaders/ShaderManager.cpp @@ -30,7 +30,7 @@ namespace Nuake LoadEmbeddedShader(Resources_Shaders_gbuffer_skinned_shader); LoadEmbeddedShader(Resources_Shaders_gizmo_shader); LoadEmbeddedShader(Resources_Shaders_line_shader); - LoadEmbeddedShader(Resources_Shaders_pbr_shader); + //LoadEmbeddedShader(Resources_Shaders_pbr_shader); LoadEmbeddedShader(Resources_Shaders_sdf_text_shader); LoadEmbeddedShader(Resources_Shaders_shadowMap_shader); LoadEmbeddedShader(Resources_Shaders_shadowMap_skinned_shader); diff --git a/Nuake/src/Resource/StaticResources.cpp b/Nuake/src/Resource/StaticResources.cpp index f6f37e48..74a73b43 100644 --- a/Nuake/src/Resource/StaticResources.cpp +++ b/Nuake/src/Resource/StaticResources.cpp @@ -107163,6 +107163,72 @@ const std::string Resources_Images_nuake_logo_png_path = R"(Resources/Images/nua }; unsigned int Resources_Images_nuake_logo_png_len = 1675; +// Data for file: Resources_Images_project_icon_png_path +const std::string Resources_Images_project_icon_png_path = R"(Resources/Images/project_icon.png)"; + unsigned char Resources_Images_project_icon_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x70, 0xe2, 0x95, 0x54, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52, + 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x04, 0x67, + 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1, 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, + 0x00, 0x02, 0x64, 0x49, 0x44, 0x41, 0x54, 0x78, 0x01, 0xed, 0xd7, 0x81, + 0x71, 0xda, 0x30, 0x14, 0x80, 0x61, 0xd1, 0xeb, 0x00, 0xde, 0x00, 0xba, + 0x01, 0x1b, 0x34, 0x23, 0xb0, 0x01, 0x74, 0x02, 0xd8, 0x80, 0x76, 0x02, + 0xb2, 0x81, 0xaf, 0x13, 0xd0, 0x0d, 0xcc, 0x06, 0x4d, 0x27, 0x80, 0x0d, + 0xec, 0x0d, 0x54, 0xa9, 0x3c, 0x35, 0x8f, 0x17, 0xd9, 0x24, 0x57, 0xd7, + 0xe0, 0xcb, 0xff, 0xdd, 0xe9, 0x6c, 0xcb, 0x7a, 0x4f, 0x8e, 0x84, 0x25, + 0xc7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf7, 0xca, 0x7b, 0x3f, 0x0b, 0x65, 0x1b, 0x8f, 0x0e, + 0xb7, 0x17, 0x26, 0xa2, 0xf2, 0x67, 0x7b, 0xd7, 0xa3, 0x90, 0xaf, 0x90, + 0xc9, 0x9e, 0x39, 0xbc, 0x5e, 0x18, 0xb0, 0x45, 0x9c, 0x8c, 0x50, 0x1e, + 0x5c, 0x8f, 0x62, 0x3e, 0x99, 0x68, 0xef, 0x06, 0xf2, 0xd1, 0x0d, 0x20, + 0xfd, 0xc2, 0x26, 0x93, 0xc9, 0x29, 0xfe, 0xea, 0xc2, 0xe9, 0x3c, 0x94, + 0x53, 0xbc, 0x56, 0x6d, 0x62, 0x7d, 0x2c, 0x8d, 0x54, 0x5d, 0xb4, 0x51, + 0x71, 0xd1, 0x53, 0xa8, 0x6f, 0x54, 0x17, 0x87, 0x58, 0xa7, 0x62, 0x75, + 0xce, 0x99, 0xe4, 0xb5, 0x31, 0xb9, 0x36, 0xb6, 0xbf, 0xc2, 0xfc, 0x0d, + 0x4d, 0x2e, 0xc7, 0xa8, 0xc8, 0x2b, 0x9f, 0x6c, 0x42, 0xa9, 0xd5, 0xf5, + 0x4e, 0xb5, 0x2b, 0xa5, 0xae, 0x0a, 0xe5, 0x28, 0xe7, 0x4b, 0xb9, 0xf7, + 0xe8, 0x2f, 0xc5, 0xfb, 0x9b, 0x4c, 0x6c, 0xa9, 0xea, 0x6c, 0x5f, 0xd1, + 0x57, 0xf3, 0x6c, 0xad, 0x6d, 0xc2, 0x71, 0xe5, 0x5f, 0xda, 0xba, 0xb1, + 0x33, 0x13, 0x72, 0x8c, 0x93, 0xa0, 0x06, 0x50, 0x0f, 0x7a, 0xaa, 0xab, + 0xa5, 0xfc, 0x59, 0x82, 0xd4, 0x64, 0xd4, 0x99, 0xd8, 0x07, 0x13, 0x5b, + 0xca, 0xf5, 0x42, 0x0f, 0x62, 0x28, 0x6b, 0xff, 0x72, 0x92, 0xf5, 0x80, + 0x97, 0x52, 0xd2, 0xe4, 0x2c, 0x43, 0x99, 0x9b, 0xbe, 0xb6, 0xbe, 0xe7, + 0x25, 0xf1, 0x26, 0xcc, 0x84, 0x2c, 0x55, 0x7d, 0x25, 0x75, 0x95, 0x5c, + 0x97, 0x6a, 0xd2, 0xf4, 0x52, 0x51, 0x77, 0xc4, 0xee, 0x4d, 0x6c, 0x9a, + 0x90, 0xbd, 0x5c, 0xeb, 0x37, 0x70, 0x61, 0xfa, 0xab, 0x74, 0x8c, 0xd4, + 0x6d, 0xa4, 0xff, 0x94, 0x67, 0xf0, 0x3d, 0xe4, 0x83, 0x1b, 0xd6, 0x2f, + 0x75, 0xfe, 0x43, 0x8e, 0x33, 0xd3, 0xe6, 0xef, 0x5a, 0xef, 0xcf, 0xeb, + 0x76, 0xd1, 0x11, 0x3b, 0x77, 0x79, 0xa9, 0x7e, 0x25, 0x03, 0x7c, 0x0c, + 0xe7, 0x3b, 0xd3, 0x5f, 0x3a, 0x1e, 0x52, 0x50, 0xe8, 0xf7, 0x31, 0x94, + 0x4f, 0xa1, 0x7c, 0x71, 0x37, 0x32, 0xc8, 0xa6, 0xae, 0xd4, 0xea, 0xbc, + 0x68, 0x69, 0xd3, 0xbc, 0x21, 0xf6, 0xda, 0x06, 0x7b, 0x70, 0xe7, 0xcd, + 0xbe, 0x2b, 0x7f, 0xe1, 0xee, 0xc8, 0xd0, 0x6f, 0xc8, 0x2a, 0x73, 0xfe, + 0xd4, 0xd6, 0x58, 0xbe, 0x78, 0x9a, 0x4c, 0xec, 0xe2, 0x4a, 0x6c, 0xaa, + 0x8f, 0x5f, 0x45, 0xdf, 0x62, 0x09, 0xe7, 0xdf, 0x25, 0x57, 0x7a, 0xd3, + 0x4e, 0x26, 0x97, 0x5e, 0xfa, 0x7a, 0xfd, 0x7f, 0xe6, 0xae, 0x98, 0x3d, + 0xa4, 0x96, 0xb5, 0xbb, 0xb2, 0xfb, 0x8a, 0xcf, 0x7c, 0x29, 0x49, 0xfd, + 0x46, 0xb5, 0xdd, 0x9b, 0xd8, 0x59, 0x2e, 0x56, 0xaf, 0xfd, 0x12, 0xb3, + 0xf3, 0xcf, 0x7b, 0xd1, 0x2e, 0xd3, 0xe6, 0x67, 0xcb, 0x33, 0xe9, 0x67, + 0xaf, 0xbc, 0xda, 0xc7, 0x46, 0xcb, 0xfc, 0x51, 0x0b, 0xff, 0xfc, 0xb5, + 0x13, 0x07, 0x68, 0xad, 0xda, 0x95, 0x7a, 0x50, 0x4d, 0x8e, 0xad, 0xbf, + 0xfc, 0x3c, 0x8d, 0x39, 0x3e, 0x77, 0xc5, 0x9a, 0xbe, 0x52, 0x7f, 0x5b, + 0x93, 0x37, 0xd7, 0x66, 0x9d, 0xe9, 0xdb, 0xb7, 0x3d, 0xdb, 0xe8, 0x98, + 0x09, 0x99, 0x4a, 0xdd, 0xd4, 0xab, 0x2f, 0xa9, 0x37, 0xe4, 0x9a, 0xa6, + 0x1c, 0xa6, 0x7e, 0xdf, 0x31, 0x99, 0xd3, 0x6b, 0xfd, 0xb5, 0xe5, 0x55, + 0xf7, 0x8b, 0xae, 0xfb, 0xa3, 0x92, 0x9b, 0x90, 0x9e, 0xf3, 0x97, 0x2a, + 0xff, 0xf8, 0x97, 0x94, 0xff, 0x6d, 0x80, 0x09, 0x39, 0xca, 0x52, 0xb3, + 0x73, 0x78, 0x9d, 0x6b, 0x4b, 0xc2, 0x3f, 0xe6, 0xbe, 0xab, 0xcf, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x8e, 0xfd, 0x06, 0x49, 0x23, 0x01, 0x2c, 0x30, 0xd4, 0xa8, 0x50, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 + }; + unsigned int Resources_Images_project_icon_png_len = 719; + // Data for file: Resources_Images_screenshot_png_path const std::string Resources_Images_screenshot_png_path = R"(Resources/Images/screenshot.png)"; unsigned char Resources_Images_screenshot_png[] = { @@ -235409,7 +235475,7 @@ const std::string Resources_Shaders_pbr_shader_path = R"(Resources/Shaders/pbr.s unsigned char Resources_Shaders_pbr_shader[] = { 0x23, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0d, 0x0a, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x34, 0x34, 0x30, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x0d, 0x0a, 0x0d, + 0x20, 0x34, 0x36, 0x30, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x0d, 0x0a, 0x0d, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, diff --git a/Nuake/src/Resource/StaticResources.h b/Nuake/src/Resource/StaticResources.h index a4596ae1..f5c2cd73 100644 --- a/Nuake/src/Resource/StaticResources.h +++ b/Nuake/src/Resource/StaticResources.h @@ -57,6 +57,9 @@ extern unsigned char Resources_Images_logo_white_png[]; extern const std::string Resources_Images_nuake_logo_png_path; extern unsigned int Resources_Images_nuake_logo_png_len; extern unsigned char Resources_Images_nuake_logo_png[]; +extern const std::string Resources_Images_project_icon_png_path; +extern unsigned int Resources_Images_project_icon_png_len; +extern unsigned char Resources_Images_project_icon_png[]; extern const std::string Resources_Images_screenshot_png_path; extern unsigned int Resources_Images_screenshot_png_len; extern unsigned char Resources_Images_screenshot_png[]; diff --git a/Nuake/src/UI/ImUI.cpp b/Nuake/src/UI/ImUI.cpp index 1567d7d7..0fe22ef9 100644 --- a/Nuake/src/UI/ImUI.cpp +++ b/Nuake/src/UI/ImUI.cpp @@ -1,4 +1,5 @@ #include "ImUI.h" +#include namespace Nuake { @@ -137,5 +138,28 @@ namespace Nuake { return value; } + + void ToggleButton(const char* str_id, bool* v) + { + ImVec4* colors = ImGui::GetStyle().Colors; + ImVec2 p = ImGui::GetCursorScreenPos(); + ImDrawList* draw_list = ImGui::GetWindowDrawList(); + + float height = ImGui::GetFrameHeight(); + float width = height * 1.55f; + float radius = height * 0.50f; + + ImGui::InvisibleButton(str_id, ImVec2(width, height)); + if (ImGui::IsItemClicked()) *v = !*v; + ImGuiContext& gg = *GImGui; + float ANIM_SPEED = 0.085f; + if (gg.LastActiveId == gg.CurrentWindow->GetID(str_id))// && g.LastActiveIdTimer < ANIM_SPEED) + float t_anim = ImSaturate(gg.LastActiveIdTimer / ANIM_SPEED); + if (ImGui::IsItemHovered()) + draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), ImGui::GetColorU32(*v ? colors[ImGuiCol_ButtonActive] : ImVec4(0.78f, 0.78f, 0.78f, 1.0f)), height * 0.5f); + else + draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), ImGui::GetColorU32(*v ? colors[ImGuiCol_Button] : ImVec4(0.85f, 0.85f, 0.85f, 1.0f)), height * 0.50f); + draw_list->AddCircleFilled(ImVec2(p.x + radius + (*v ? 1 : 0) * (width - radius * 2.0f), p.y + radius), radius - 1.5f, IM_COL32(255, 255, 255, 255)); + } } } \ No newline at end of file diff --git a/Nuake/src/UI/ImUI.h b/Nuake/src/UI/ImUI.h index 75cc66ec..9e656091 100644 --- a/Nuake/src/UI/ImUI.h +++ b/Nuake/src/UI/ImUI.h @@ -29,5 +29,7 @@ namespace Nuake bool FloatSlider(const std::string& name, float& input, float min = 0.0f, float max = 1.0f, float speed = 0.01f); bool CheckBox(const std::string& name, bool& value); + + void ToggleButton(const char* str_id, bool* v); } } \ No newline at end of file diff --git a/premake5.lua b/premake5.lua index 5fb47c0a..f4c6f1d6 100644 --- a/premake5.lua +++ b/premake5.lua @@ -340,7 +340,8 @@ project "Editor" } defines { - "NK_WIN" + "NK_WIN", + "IMGUI_DEFINE_MATH_OPERATORS" } externalincludedirs { "%{prj.name}/../Nuake/dependencies/Coral/Coral.Native/Include/" } @@ -365,7 +366,7 @@ project "Editor" "asound" } - buildoptions { "`pkg-config --cflags glib-2.0 pango gdk-pixbuf-2.0 gtk-3 atk tk-3.0 glib-2.0`" } + buildoptions { "`pkg-config --cflags glib-2.0 pango gdk-pixbuf-2.0 gtk-3 atk tk-3.0 glib-2.0`" } linkoptions { "`pkg-config --libs glib-2.0 pango gdk-pixbuf-2.0 gtk-3 glib-2.0 lgobject-2.0`" } @@ -389,7 +390,8 @@ project "Editor" symbols "on" defines { - "WIN32_LEAN_AND_MEAN" + "WIN32_LEAN_AND_MEAN", + "IMGUI_DEFINE_MATH_OPERATORS" } filter "configurations:Release" @@ -401,7 +403,8 @@ project "Editor" optimize "on" defines { - "WIN32_LEAN_AND_MEAN" + "WIN32_LEAN_AND_MEAN", + "IMGUI_DEFINE_MATH_OPERATORS" } -- Removes the console for windows