diff --git a/imgui.ini b/imgui.ini index 28ad34c..37fcd39 100644 --- a/imgui.ini +++ b/imgui.ini @@ -80,8 +80,8 @@ Collapsed=0 DockId=0x0000001F,0 [Window][Performance##performance] -Pos=8,762 -Size=322,407 +Pos=8,746 +Size=322,423 Collapsed=0 DockId=0x0000001C,0 @@ -105,7 +105,7 @@ DockId=0x0000000F,0 [Window][Scene Window##SceneWindow] Pos=8,30 -Size=322,730 +Size=322,714 Collapsed=0 DockId=0x0000001B,0 @@ -134,8 +134,26 @@ Collapsed=0 DockId=0x0000001E,0 [Window][ Logger##logger] -Pos=332,462 -Size=1158,341 +Pos=332,828 +Size=1187,341 +Collapsed=0 +DockId=0x00000020,1 + +[Window][ Editor##EditorWindow] +Pos=332,30 +Size=1187,796 +Collapsed=0 +DockId=0x0000001F,0 + +[Window][ Inspector##InspectorWindow] +Pos=1521,30 +Size=391,1139 +Collapsed=0 +DockId=0x00000022,0 + +[Window][ Profiler] +Pos=332,828 +Size=1187,341 Collapsed=0 DockId=0x00000020,0 @@ -145,39 +163,47 @@ Column 1 Weight=1.0439 Column 2 Weight=0.6474 Column 3 Weight=1.0088 -[Docking][Data] -DockSpace ID=0x14621557 Window=0x3DA2F1DE Pos=8,53 Size=1904,1139 Split=X Selected=0xF7365A5A - DockNode ID=0x00000013 Parent=0x14621557 SizeRef=322,1142 Split=Y Selected=0x818D04BB - DockNode ID=0x0000001B Parent=0x00000013 SizeRef=264,456 HiddenTabBar=1 Selected=0x1D5D92B6 - DockNode ID=0x0000001C Parent=0x00000013 SizeRef=264,254 HiddenTabBar=1 Selected=0x818D04BB - DockNode ID=0x00000014 Parent=0x14621557 SizeRef=1580,1142 Split=X - DockNode ID=0x00000015 Parent=0x00000014 SizeRef=1158,1142 Split=X - DockNode ID=0x00000011 Parent=0x00000015 SizeRef=265,1142 Selected=0x1D5D92B6 - DockNode ID=0x00000012 Parent=0x00000015 SizeRef=1259,1142 Split=X - DockNode ID=0x00000009 Parent=0x00000012 SizeRef=364,1142 Split=Y Selected=0x3DC5AC3F - DockNode ID=0x00000005 Parent=0x00000009 SizeRef=364,745 Split=Y Selected=0x3DC5AC3F - DockNode ID=0x0000000B Parent=0x00000005 SizeRef=364,452 HiddenTabBar=1 Selected=0x3DC5AC3F - DockNode ID=0x0000000C Parent=0x00000005 SizeRef=364,291 Selected=0xAE3C694A - DockNode ID=0x00000006 Parent=0x00000009 SizeRef=364,395 HiddenTabBar=1 Selected=0x726D8899 - DockNode ID=0x0000000A Parent=0x00000012 SizeRef=1538,1142 Split=X - DockNode ID=0x00000007 Parent=0x0000000A SizeRef=357,1142 Selected=0x7737E8B2 - DockNode ID=0x00000008 Parent=0x0000000A SizeRef=1545,1142 Split=X - DockNode ID=0x00000001 Parent=0x00000008 SizeRef=1202,1142 Split=Y Selected=0xDF0EC458 - DockNode ID=0x00000003 Parent=0x00000001 SizeRef=1202,849 Split=Y Selected=0xDF0EC458 - DockNode ID=0x0000000D Parent=0x00000003 SizeRef=1202,571 Split=Y Selected=0xDFF75B3F - DockNode ID=0x00000017 Parent=0x0000000D SizeRef=1202,776 Split=Y Selected=0xDFF75B3F - DockNode ID=0x0000001D Parent=0x00000017 SizeRef=518,720 Split=Y Selected=0xDFF75B3F - DockNode ID=0x0000001F Parent=0x0000001D SizeRef=518,796 CentralNode=1 Selected=0xDFF75B3F - DockNode ID=0x00000020 Parent=0x0000001D SizeRef=518,341 Selected=0x1F29F1F5 - DockNode ID=0x0000001E Parent=0x00000017 SizeRef=518,417 Selected=0xC74E1AEE - DockNode ID=0x00000018 Parent=0x0000000D SizeRef=1202,364 Split=X Selected=0x1C0788A1 - DockNode ID=0x00000019 Parent=0x00000018 SizeRef=601,364 Selected=0x1C0788A1 - DockNode ID=0x0000001A Parent=0x00000018 SizeRef=599,364 Selected=0x9B5D3198 - DockNode ID=0x0000000E Parent=0x00000003 SizeRef=1202,569 Selected=0xE98146C5 - DockNode ID=0x00000004 Parent=0x00000001 SizeRef=1202,291 Selected=0x9DD4E196 - DockNode ID=0x00000002 Parent=0x00000008 SizeRef=334,1142 HiddenTabBar=1 Selected=0x36DC96AB - DockNode ID=0x00000016 Parent=0x00000014 SizeRef=420,1142 Selected=0x8D0E8380 -DockSpace ID=0xC6145A92 Pos=8,27 Size=1904,1142 Split=X - DockNode ID=0x0000000F Parent=0xC6145A92 SizeRef=301,1142 Selected=0xA8433A03 - DockNode ID=0x00000010 Parent=0xC6145A92 SizeRef=1601,1142 CentralNode=1 +[Table][0x08173DEA,4] +Column 0 Weight=1.0000 +Column 1 Weight=1.0000 +Column 2 Weight=1.0000 +Column 3 Weight=1.0000 + +[Docking][Data] +DockSpace ID=0x14621557 Window=0x3DA2F1DE Pos=8,53 Size=1904,1139 Split=X Selected=0xF7365A5A + DockNode ID=0x00000021 Parent=0x14621557 SizeRef=871,1139 Split=X + DockNode ID=0x00000013 Parent=0x00000021 SizeRef=322,1142 Split=Y Selected=0x818D04BB + DockNode ID=0x0000001B Parent=0x00000013 SizeRef=264,714 HiddenTabBar=1 Selected=0x1D5D92B6 + DockNode ID=0x0000001C Parent=0x00000013 SizeRef=264,423 HiddenTabBar=1 Selected=0x818D04BB + DockNode ID=0x00000014 Parent=0x00000021 SizeRef=547,1142 Split=X + DockNode ID=0x00000015 Parent=0x00000014 SizeRef=1158,1142 Split=X + DockNode ID=0x00000011 Parent=0x00000015 SizeRef=265,1142 Selected=0x1D5D92B6 + DockNode ID=0x00000012 Parent=0x00000015 SizeRef=1259,1142 Split=X + DockNode ID=0x00000009 Parent=0x00000012 SizeRef=364,1142 Split=Y Selected=0x3DC5AC3F + DockNode ID=0x00000005 Parent=0x00000009 SizeRef=364,745 Split=Y Selected=0x3DC5AC3F + DockNode ID=0x0000000B Parent=0x00000005 SizeRef=364,452 HiddenTabBar=1 Selected=0x3DC5AC3F + DockNode ID=0x0000000C Parent=0x00000005 SizeRef=364,291 Selected=0xAE3C694A + DockNode ID=0x00000006 Parent=0x00000009 SizeRef=364,395 HiddenTabBar=1 Selected=0x726D8899 + DockNode ID=0x0000000A Parent=0x00000012 SizeRef=1538,1142 Split=X + DockNode ID=0x00000007 Parent=0x0000000A SizeRef=357,1142 Selected=0x7737E8B2 + DockNode ID=0x00000008 Parent=0x0000000A SizeRef=1545,1142 Split=X + DockNode ID=0x00000001 Parent=0x00000008 SizeRef=1202,1142 Split=Y Selected=0xDF0EC458 + DockNode ID=0x00000003 Parent=0x00000001 SizeRef=1202,849 Split=Y Selected=0xDF0EC458 + DockNode ID=0x0000000D Parent=0x00000003 SizeRef=1202,571 Split=Y Selected=0xDFF75B3F + DockNode ID=0x00000017 Parent=0x0000000D SizeRef=1202,776 Split=Y Selected=0xDFF75B3F + DockNode ID=0x0000001D Parent=0x00000017 SizeRef=518,720 Split=Y Selected=0xDFF75B3F + DockNode ID=0x0000001F Parent=0x0000001D SizeRef=518,796 CentralNode=1 Selected=0x9A7B23B9 + DockNode ID=0x00000020 Parent=0x0000001D SizeRef=518,341 Selected=0x7A66B86B + DockNode ID=0x0000001E Parent=0x00000017 SizeRef=518,417 Selected=0xC74E1AEE + DockNode ID=0x00000018 Parent=0x0000000D SizeRef=1202,364 Split=X Selected=0x1C0788A1 + DockNode ID=0x00000019 Parent=0x00000018 SizeRef=601,364 Selected=0x1C0788A1 + DockNode ID=0x0000001A Parent=0x00000018 SizeRef=599,364 Selected=0x9B5D3198 + DockNode ID=0x0000000E Parent=0x00000003 SizeRef=1202,569 Selected=0xE98146C5 + DockNode ID=0x00000004 Parent=0x00000001 SizeRef=1202,291 Selected=0x9DD4E196 + DockNode ID=0x00000002 Parent=0x00000008 SizeRef=334,1142 HiddenTabBar=1 Selected=0x36DC96AB + DockNode ID=0x00000016 Parent=0x00000014 SizeRef=420,1142 Selected=0x8D0E8380 + DockNode ID=0x00000022 Parent=0x14621557 SizeRef=391,1139 Selected=0xD1D25642 +DockSpace ID=0xC6145A92 Pos=8,27 Size=1904,1142 Split=X + DockNode ID=0x0000000F Parent=0xC6145A92 SizeRef=301,1142 Selected=0xA8433A03 + DockNode ID=0x00000010 Parent=0xC6145A92 SizeRef=1601,1142 CentralNode=1 diff --git a/src/Engine.cpp b/src/Engine.cpp index fdfb2b7..daf8554 100644 --- a/src/Engine.cpp +++ b/src/Engine.cpp @@ -164,7 +164,7 @@ bool MyEngine::Init(int width, int height, const std::string &title) m_GameRunning = false; m_FirstTickGameRunning = true; - m_showProfiler = false; + m_showProfiler = true; g_LoggerWindow = m_LoggerWindow.get(); diff --git a/src/Engine.h b/src/Engine.h index df0c300..b366036 100644 --- a/src/Engine.h +++ b/src/Engine.h @@ -49,7 +49,7 @@ private: bool m_GameRunning = false; bool m_FirstTickGameRunning = true; - bool m_showProfiler = false; + bool m_showProfiler = true; // Windows std::unique_ptr m_RenderWindow; diff --git a/src/Windows/InspectorWindow.cpp b/src/Windows/InspectorWindow.cpp index 04b4c2a..a14ce85 100644 --- a/src/Windows/InspectorWindow.cpp +++ b/src/Windows/InspectorWindow.cpp @@ -23,7 +23,7 @@ void InspectorWindow::Show() ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(6, 4)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(10, 10)); - if (ImGui::Begin(ICON_FA_MAGNIFYING_GLASS " Inspector##InspectorWindow")) + if (ImGui::Begin(ICON_FA_MAGNIFYING_GLASS " Inspector##InspectorWindow")) { // Title label (white text) if (g_SelectedObject) @@ -90,7 +90,7 @@ void InspectorWindow::Show() // Create a Combo Box for component selection - ImGui::Combo("##ComponentCombo", &selectedComponent, componentOptions, componentCount); + ImGui::Combo(" ##ComponentCombo", &selectedComponent, componentOptions, componentCount); // Add Button to add the selected component if (ImGui::Button("Add")) @@ -175,7 +175,7 @@ void InspectorWindow::Show() { ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 1.0f, 1.0f, 1.0f)); - bool transformOpen = ImGui::CollapsingHeader("Transform##Main", ImGuiTreeNodeFlags_DefaultOpen); + bool transformOpen = ImGui::CollapsingHeader(ICON_FA_CIRCLE_NODES " Transform##Main", ImGuiTreeNodeFlags_DefaultOpen); ImGui::PopStyleColor(); // Transform* transform = &g_SelectedObject->transform; // printf("%p\n", &transform); @@ -201,6 +201,8 @@ void InspectorWindow::Show() static const ImVec4 colYActive = ImVec4(0.2f, 1.0f, 0.2f, 1.0f); static const ImVec4 colZActive = ImVec4(0.2f, 0.2f, 1.0f, 1.0f); + int ittr = 0; + auto drawTransformRow = [&](const char *label, float *values) { ImGui::TextUnformatted(label); @@ -216,7 +218,7 @@ void InspectorWindow::Show() ImGui::PushStyleColor(ImGuiCol_Button, colors[i][0]); ImGui::PushStyleColor(ImGuiCol_ButtonHovered, colors[i][1]); ImGui::PushStyleColor(ImGuiCol_ButtonActive, colors[i][2]); - std::string name = std::string(axisNames[i]) + "##" + std::string(axisNames[i]); + std::string name = std::string(axisNames[i]) + "##" + std::to_string(ittr); if (ImGui::Button(name.c_str(), ImVec2(20, 0))) { // No action on click @@ -234,9 +236,11 @@ void InspectorWindow::Show() // Position Row drawTransformRow("Position", glm::value_ptr(transform->position)); + ittr += 1; // Rotation Row drawTransformRow("Rotation", glm::value_ptr(transform->rotation)); + ittr += 1; // Scale Row drawTransformRow("Scale", glm::value_ptr(transform->scale)); @@ -249,7 +253,7 @@ void InspectorWindow::Show() ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 1.0f, 1.0f, 1.0f)); // Create a collapsing header for the Camera component - bool cameraOpen = ImGui::CollapsingHeader("Camera##CamerInspector", ImGuiTreeNodeFlags_DefaultOpen); + bool cameraOpen = ImGui::CollapsingHeader(ICON_FA_CAMERA "Camera##CamerInspector", ImGuiTreeNodeFlags_DefaultOpen); ImGui::PopStyleColor(); // Revert text color if (cameraOpen) @@ -406,7 +410,7 @@ void InspectorWindow::Show() ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 1.0f, 1.0f, 1.0f)); // Create a collapsing header for the MeshComponent - bool meshOpen = ImGui::CollapsingHeader("Mesh##Main", ImGuiTreeNodeFlags_DefaultOpen); + bool meshOpen = ImGui::CollapsingHeader(ICON_FA_CUBE " Mesh##Main", ImGuiTreeNodeFlags_DefaultOpen); ImGui::PopStyleColor(); if (meshOpen) @@ -434,6 +438,8 @@ void InspectorWindow::Show() if (mesh) { // Iterate through each Submesh + ImGui::Indent(); + for (size_t sm = 0; sm < mesh->submeshes.size(); ++sm) { const Submesh &submesh = mesh->submeshes[sm]; @@ -442,6 +448,10 @@ void InspectorWindow::Show() // Create a collapsing header for each Submesh if (ImGui::CollapsingHeader(header.c_str(), ImGuiTreeNodeFlags_None)) { + ImGui::Indent(); + size = ImGui::GetContentRegionAvail(); + + // --- Submesh VAO (Read-Only) --- ImGui::Text("VAO: %d", static_cast(submesh.vao)); @@ -484,10 +494,12 @@ void InspectorWindow::Show() ImGui::Separator(); } } + ImGui::Unindent(); ImGui::Separator(); } } + ImGui::Unindent(); } else { @@ -495,15 +507,13 @@ void InspectorWindow::Show() } } ImGui::Unindent(); - } - ImGui::Separator(); } if (script && g_SelectedObject) { ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 1.0f, 1.0f, 1.0f)); - bool scriptOpen = ImGui::CollapsingHeader("Script##Main", ImGuiTreeNodeFlags_DefaultOpen); + bool scriptOpen = ImGui::CollapsingHeader(ICON_FA_SCROLL " Script##Main", ImGuiTreeNodeFlags_DefaultOpen); ImGui::PopStyleColor(); if (scriptOpen)