diff --git a/.gitignore b/.gitignore index cb22b9f..42bee2d 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,8 @@ Makefile **/Engine.txt **/GLAD.txt -**/Sandbox.txt \ No newline at end of file +**/Sandbox.txt + +**/Logs/** +**.ini +!**/default_gui_layout.ini \ No newline at end of file diff --git a/Engine/src/Engine/Base.h b/Engine/src/Engine/Base.h index 691164d..076be6e 100644 --- a/Engine/src/Engine/Base.h +++ b/Engine/src/Engine/Base.h @@ -14,8 +14,7 @@ #define LT_VERSION "0.7.5b" ///*** [ CHANGE_LOG ] ***/// // -------------------------------------------------------------------- -// Note: change log starts from 2021-07-21, the starting version is 0.7.0a, -// I came up with that version because of: +// Note: change log starts from 2021-07-21, the starting version is 0.7.0a: // projects: 'Engine', 'Sandbox', 'Mirror' [+0.3] // graphics apis: 'OpenGL', 'DirectX11' [+0.2] // platforms: 'Windows', 'Linux' [+0.2] diff --git a/Engine/src/Engine/Debug/Logger.h b/Engine/src/Engine/Debug/Logger.h index c0bbbe2..4a643cc 100644 --- a/Engine/src/Engine/Debug/Logger.h +++ b/Engine/src/Engine/Debug/Logger.h @@ -6,7 +6,7 @@ // LOGGER MACROS // -#define LT_LOG_FILE_LOCATION "Log.txt"; +#define LT_LOG_FILE_LOCATION "Logs/Logger.txt"; // #todo: log function signature // File diff --git a/Engine/src/Platform/GraphicsAPI/DirectX/dxUserInterface.cpp b/Engine/src/Platform/GraphicsAPI/DirectX/dxUserInterface.cpp index 41b0ca7..ddb204b 100644 --- a/Engine/src/Platform/GraphicsAPI/DirectX/dxUserInterface.cpp +++ b/Engine/src/Platform/GraphicsAPI/DirectX/dxUserInterface.cpp @@ -28,6 +28,12 @@ namespace Light { io.ConfigFlags |= ImGuiBackendFlags_PlatformHasViewports; io.ConfigFlags |= ImGuiBackendFlags_RendererHasViewports; + // #todo: handle this in a better way + if(std::filesystem::exists("user_gui_layout.ini")) + io.IniFilename = "user_gui_layout.ini"; + else + io.IniFilename = "default_gui_layout.ini"; + // style ImGui::StyleColorsDark(); @@ -38,6 +44,12 @@ namespace Light { dxUserInterface::~dxUserInterface() { + // #todo: handle this in a better way + ImGuiIO& io = ImGui::GetIO(); + + if (io.IniFilename == "default_gui_layout.ini") + io.IniFilename = "user_gui_layout.ini"; + ImGui_ImplDX11_Shutdown(); ImGui_ImplWin32_Shutdown(); ImGui::DestroyContext(); diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glUserInterface.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glUserInterface.cpp index 9db08b0..7fcf69d 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glUserInterface.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glUserInterface.cpp @@ -25,6 +25,12 @@ namespace Light { io.ConfigFlags |= ImGuiBackendFlags_PlatformHasViewports; io.ConfigFlags |= ImGuiBackendFlags_RendererHasViewports; + // #todo: handle this in a better way + if (std::filesystem::exists("user_gui_layout.ini")) + io.IniFilename = "user_gui_layout.ini"; + else + io.IniFilename = "default_gui_layout.ini"; + // style color ImGui::StyleColorsDark(); @@ -35,6 +41,12 @@ namespace Light { glUserInterface::~glUserInterface() { + // #todo: handle this in a better way + ImGuiIO& io = ImGui::GetIO(); + + if (io.IniFilename == "default_gui_layout.ini") + io.IniFilename = "user_gui_layout.ini"; + ImGui_ImplOpenGL3_Shutdown(); ImGui_ImplGlfw_Shutdown(); ImGui::DestroyContext(); diff --git a/Mirror/default_gui_layout.ini b/Mirror/default_gui_layout.ini new file mode 100644 index 0000000..b412e99 --- /dev/null +++ b/Mirror/default_gui_layout.ini @@ -0,0 +1,22 @@ +[Window][Debug##Default] +ViewportPos=484,507 +ViewportId=0x9F5F46A1 +Size=400,400 +Collapsed=1 + +[Window][Dear ImGui Demo] +Pos=86,24 +Size=247,278 +Collapsed=1 + +[Window][GameView] +Pos=203,64 +Size=563,512 +Collapsed=1 + +[Window][DockSpace Demo] +Size=1594,811 +Collapsed=1 + +[Docking][Data] + diff --git a/Mirror/src/MirrorApp.cpp b/Mirror/src/MirrorApp.cpp index ab4e5b2..50aae79 100644 --- a/Mirror/src/MirrorApp.cpp +++ b/Mirror/src/MirrorApp.cpp @@ -9,11 +9,11 @@ class Mirror : public Light::Application public: Mirror() { - LT_CLIENT_TRACE("Sandbox::Sandbox"); + LT_CLIENT_TRACE("Mirror::Mirror"); // Set window properties Light::WindowProperties properties; - properties.title = "Sandbox"; + properties.title = "Mirror"; properties.size = glm::uvec2(800u, 600u); properties.vsync = true; @@ -25,7 +25,7 @@ public: ~Mirror() { - LT_CLIENT_TRACE("Sandbox::~Sandbox"); + LT_CLIENT_TRACE("Mirror::~Mirror"); } }; diff --git a/Sandbox/Log.txt b/Sandbox/Log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Sandbox/imgui.ini b/Sandbox/imgui.ini deleted file mode 100644 index 3abfb98..0000000 --- a/Sandbox/imgui.ini +++ /dev/null @@ -1,83 +0,0 @@ -[Window][Debug##Default] -Pos=60,-18 -Size=400,400 -Collapsed=0 - -[Window][Dear ImGui Demo] -Pos=-4,0 -Size=529,418 -Collapsed=0 - -[Window][Dear ImGui Metrics/Debugger] -Pos=-1,859 -Size=359,115 -Collapsed=0 - -[Table][0xC9935533,3] -Column 0 Weight=1.0000 -Column 1 Weight=1.0000 -Column 2 Weight=1.0000 - -[Table][0x64418101,3] -RefScale=13 -Column 0 Width=63 -Column 1 Width=63 -Column 2 Width=63 - -[Table][0x47600645,3] -RefScale=13 -Column 0 Width=63 -Column 1 Width=63 -Column 2 Weight=1.0000 - -[Table][0xDE6957FF,6] -RefScale=13 -Column 0 Width=63 -Column 1 Width=63 -Column 2 Width=-1 -Column 3 Weight=1.0000 -Column 4 Weight=1.0000 -Column 5 Weight=-1.0000 - -[Table][0x861D378E,3] -Column 0 Weight=1.0000 -Column 1 Weight=1.0000 -Column 2 Weight=1.0000 - -[Table][0x1F146634,3] -RefScale=13 -Column 0 Width=63 -Column 1 Width=63 -Column 2 Width=63 - -[Table][0x8DFA6E86,2] -Column 0 Weight=1.0000 -Column 1 Weight=1.0000 - -[Table][0xFABAAEF7,2] -Column 0 Weight=1.0000 -Column 1 Weight=1.0000 - -[Table][0xA43C3885,3] -RefScale=13 -Column 0 Width=56 -Column 1 Width=56 -Column 2 Width=56 - -[Table][0x49F8DCEA,3] -RefScale=13 -Column 0 Weight=1.0000 -Column 1 Width=84 -Column 2 Width=126 - -[Table][0x82CBB907,3] -Column 0 Weight=1.0000 -Column 1 Weight=1.0000 -Column 2 Weight=1.0000 - -[Table][0x49D11DC0,3] -RefScale=13 -Column 0 Width=86 -Column 1 Width=86 -Column 2 Width=86 -