From c35431e10e6921c1e3d5b0c5680ec058d058ae13 Mon Sep 17 00:00:00 2001 From: fallahn Date: Sat, 14 Sep 2024 10:51:34 +0100 Subject: [PATCH] reassign freed up controller indices on disconnection --- crogine/src/core/App.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crogine/src/core/App.cpp b/crogine/src/core/App.cpp index c8b47f3bd..3bd675c5d 100644 --- a/crogine/src/core/App.cpp +++ b/crogine/src/core/App.cpp @@ -890,7 +890,15 @@ void App::handleEvents() } SDL_GameControllerClose(m_controllers[controllerIndex].controller); - m_controllers[controllerIndex] = {}; + //m_controllers[controllerIndex] = {}; + + m_controllers[controllerIndex] = m_controllers[m_controllerCount]; + m_controllers[m_controllerCount] = {}; + + if (m_controllers[controllerIndex].controller) + { + SDL_GameControllerSetPlayerIndex(m_controllers[controllerIndex].controller, controllerIndex); + } } if (m_joysticks.count(id) > 0)