Description
Your suggestion
Hello,
With every new sdl version and/or every new windows update, the name of xbox controllers or other controllers in case of sdl update can change, thus making bytes 2 and 3 of the joystick guid change.
This makes it very hard to keep controller profiles working correctly when anything updates.
Most emulators are now using the sdl guid but replacing the bytes 2 and 3 with 0000 to avoid this from happening, eg 0300fa675e040000130b000015057801 becomes 030000005e040000130b000015057801 when saved in controller profile xml file.
This would efficiently avoid having to re-create profiles everytime sdl changes the way to compute their crc.
This is what other emulators do:
Common::UUID GetGUID(SDL_Joystick* joystick) {
const SDL_JoystickGUID guid = SDL_JoystickGetGUID(joystick);
std::array<u8, 16> data{};
std::memcpy(data.data(), guid.data, sizeof(data));
// Clear controller name crc
std::memset(data.data() + 2, 0, sizeof(u16));
return Common::UUID{data};
}
Could Cemu implement a similar change in the way the uuid is used and stored ?