sdl2 guid, remove the 2 CRC bytes when creating guid

This commit is contained in:
Benoit S. 2025-03-04 21:58:47 +01:00
parent 57c22a1f32
commit d19324f687

View file

@ -50,6 +50,9 @@ namespace Ryujinx.Input.SDL2
{
Guid guid = SDL_JoystickGetDeviceGUID(joystickIndex);
// Remove the first 4 char of the guid (CRC part) to make it stable
string guidString = "0000" + guid.ToString().Substring(4);
// Add a unique identifier to the start of the GUID in case of duplicates.
if (guid == Guid.Empty)
@ -62,11 +65,11 @@ namespace Ryujinx.Input.SDL2
lock (_lock)
{
int guidIndex = 0;
id = guidIndex + "-" + guid;
id = guidIndex + "-" + guidString;
while (_gamepadsIds.Contains(id))
{
id = (++guidIndex) + "-" + guid;
id = (++guidIndex) + "-" + guidString;
}
}