Resize ImGui windows automatically + Move "Tools" menu after "Enhancements" (#232)

* Resize ImGui windows automatically + Move "Tools" menu after "Enhancements"

* Oops, forgot one of those

* Always resize Tools menu

* Moved hotkeys to allow fullscreen & reset to be done without the menu open
This commit is contained in:
MelonSpeedruns
2026-04-05 14:30:48 -04:00
committed by GitHub
parent 7920a6144a
commit adf22e69c1
7 changed files with 22 additions and 21 deletions
-2
View File
@@ -26,8 +26,6 @@ namespace dusk {
}
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300.f * ImGuiScale(), 0),
ImVec2(FLT_MAX, FLT_MAX));
if (!ImGui::Begin("Camera Debug", nullptr, windowFlags)) {
ImGui::End();
+14 -1
View File
@@ -182,6 +182,17 @@ namespace dusk {
m_isLaunchInitialized = true;
}
if ((ImGui::IsKeyDown(ImGuiKey_LeftCtrl) || ImGui::IsKeyDown(ImGuiKey_RightCtrl)) &&
ImGui::IsKeyPressed(ImGuiKey_R))
{
JUTGamePad::C3ButtonReset::sResetSwitchPushing = true;
}
if (ImGui::IsKeyPressed(ImGuiKey_F11)) {
getSettings().video.enableFullscreen = !getSettings().video.enableFullscreen;
VISetWindowFullscreen(getSettings().video.enableFullscreen);
}
if (CheckMenuViewToggle(ImGuiKey_F1, m_isHidden)) {
ShowToasts();
return;
@@ -192,9 +203,11 @@ namespace dusk {
if (ImGui::BeginMainMenuBar()) {
m_menuGame.draw();
m_menuTools.draw();
m_menuEnhancements.draw();
// Keep always last
m_menuTools.draw();
ImGui::SetCursorPosX(ImGui::GetWindowWidth() - 80.0f * ImGuiScale());
ImGuiIO& io = ImGui::GetIO();
ImGuiStringViewText(fmt::format(FMT_STRING("FPS: {:.2f}\n"), io.Framerate));
+4 -1
View File
@@ -31,10 +31,13 @@ private:
bool m_isHidden = true;
bool m_isLaunchInitialized = false;
std::deque<Toast> m_toasts;
ImGuiMenuGame m_menuGame;
ImGuiMenuTools m_menuTools;
ImGuiMenuEnhancements m_menuEnhancements;
// Keep always last
ImGuiMenuTools m_menuTools;
void ShowToasts();
void ShowPipelineProgress();
};
-2
View File
@@ -17,8 +17,6 @@ namespace dusk {
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300.f * ImGuiScale(), 0),
ImVec2(FLT_MAX, FLT_MAX));
if (!ImGui::Begin("Map Loader", &m_showMapLoader, windowFlags)) {
ImGui::End();
-11
View File
@@ -73,15 +73,6 @@ namespace dusk {
windowInputViewer();
windowControllerConfig();
if ((ImGui::IsKeyDown(ImGuiKey_LeftCtrl) || ImGui::IsKeyDown(ImGuiKey_RightCtrl)) && ImGui::IsKeyPressed(ImGuiKey_R)) {
JUTGamePad::C3ButtonReset::sResetSwitchPushing = true;
}
if (ImGui::IsKeyPressed(ImGuiKey_F11)) {
getSettings().video.enableFullscreen = !getSettings().video.enableFullscreen;
VISetWindowFullscreen(getSettings().video.enableFullscreen);
}
}
static void drawVirtualStick(const char* id, const ImVec2& stick) {
@@ -147,8 +138,6 @@ namespace dusk {
ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(850 * scale, 400 * scale),
ImVec2(850 * scale, 400 * scale));
if (!ImGui::Begin("Controller Config", &m_showControllerConfig, windowFlags)) {
ImGui::End();
+2 -2
View File
@@ -146,10 +146,10 @@ namespace dusk {
}
ImGuiIO& io = ImGui::GetIO();
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoResize;
ImGuiWindowFlags windowFlags =
ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(300, 200));
if (ImGui::Begin("Player Info", &m_showPlayerInfo, windowFlags)) {
daAlink_c* player = (daAlink_c*)dComIfGp_getPlayer(0);
+2 -2
View File
@@ -284,10 +284,10 @@ namespace dusk {
void ImGuiSaveEditor::draw(bool& open) {
ImGuiIO& io = ImGui::GetIO();
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoResize;
ImGuiWindowFlags windowFlags =
ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(600, 700), ImVec2(600, 700));
if (ImGui::Begin("Save Editor", &open, windowFlags)) {
if (ImGui::BeginTabBar("SaveEditorTabBar", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) {