From 5e34a4eb478a820512fb9d24d5cd7d368ee05da5 Mon Sep 17 00:00:00 2001 From: briaguya <70942617+briaguya-ai@users.noreply.github.com> Date: Sun, 1 Dec 2024 13:16:25 -0500 Subject: [PATCH] multiplayer disconnected controller fixes (#725) * wip fixes * remove commented out stuff * clang format --- .../deviceindex/ControllerDisconnectedWindow.cpp | 13 ++++--------- .../deviceindex/ShipDeviceIndexMappingManager.cpp | 4 +++- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/controller/deviceindex/ControllerDisconnectedWindow.cpp b/src/controller/deviceindex/ControllerDisconnectedWindow.cpp index a2c3741..b706f8a 100644 --- a/src/controller/deviceindex/ControllerDisconnectedWindow.cpp +++ b/src/controller/deviceindex/ControllerDisconnectedWindow.cpp @@ -139,15 +139,10 @@ void ControllerDisconnectedWindow::DrawElement() { return; } - ImGui::OpenPopup("Controller Disconnected"); - if (ImGui::BeginPopupModal("Controller Disconnected", NULL, ImGuiWindowFlags_AlwaysAutoResize)) { - // todo: don't use UINT8_MAX-1 to mean we don't know what controller was disconnected - if (mPortIndexOfDisconnectedController == UINT8_MAX - 1) { - DrawUnknownOrMultipleControllersDisconnected(); - } else { - DrawKnownControllerDisconnected(); - } - ImGui::EndPopup(); + if (mPortIndexOfDisconnectedController == UINT8_MAX - 1) { + DrawUnknownOrMultipleControllersDisconnected(); + } else { + DrawKnownControllerDisconnected(); } } diff --git a/src/controller/deviceindex/ShipDeviceIndexMappingManager.cpp b/src/controller/deviceindex/ShipDeviceIndexMappingManager.cpp index 95a2baa..8fbf318 100644 --- a/src/controller/deviceindex/ShipDeviceIndexMappingManager.cpp +++ b/src/controller/deviceindex/ShipDeviceIndexMappingManager.cpp @@ -409,6 +409,8 @@ void ShipDeviceIndexMappingManager::HandlePhysicalDeviceDisconnectSinglePlayer(i } void ShipDeviceIndexMappingManager::HandlePhysicalDeviceDisconnectMultiplayer(int32_t sdlJoystickInstanceId) { + auto portIndexOfPhysicalDeviceThatHasBeenDisconnected = + GetPortIndexOfDisconnectedPhysicalDevice(sdlJoystickInstanceId); auto lusIndexOfPhysicalDeviceThatHasBeenDisconnected = GetShipDeviceIndexOfDisconnectedPhysicalDevice(sdlJoystickInstanceId); @@ -439,7 +441,7 @@ void ShipDeviceIndexMappingManager::HandlePhysicalDeviceDisconnectMultiplayer(in Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Controller Disconnected")); if (controllerDisconnectedWindow != nullptr) { controllerDisconnectedWindow->SetPortIndexOfDisconnectedController( - GetPortIndexOfDisconnectedPhysicalDevice(sdlJoystickInstanceId)); + portIndexOfPhysicalDeviceThatHasBeenDisconnected); controllerDisconnectedWindow->Show(); } continue;