|
|
@@ -72,9 +72,16 @@ namespace Ryujinx.HLE.HOS.Applets
|
|
|
|
|
|
int playerMin = argHeader.PlayerCountMin;
|
|
|
int playerMax = argHeader.PlayerCountMax;
|
|
|
+ bool singleMode = argHeader.EnableSingleMode != 0;
|
|
|
|
|
|
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"ControllerApplet Arg {playerMin} {playerMax} {argHeader.EnableTakeOverConnection} {argHeader.EnableSingleMode}");
|
|
|
|
|
|
+ if (singleMode)
|
|
|
+ {
|
|
|
+ // Applications can set an arbitrary player range even with SingleMode, so clamp it
|
|
|
+ playerMin = playerMax = 1;
|
|
|
+ }
|
|
|
+
|
|
|
int configuredCount = 0;
|
|
|
PlayerIndex primaryIndex = PlayerIndex.Unknown;
|
|
|
while (!_system.Device.Hid.Npads.Validate(playerMin, playerMax, (ControllerType)privateArg.NpadStyleSet, out configuredCount, out primaryIndex))
|