ControllerApplet: Override player counts when SingleMode is set (#3571)
This commit is contained in:
parent
6dfb6ccf8c
commit
00e35d9bf6
1 changed files with 7 additions and 0 deletions
|
@ -72,9 +72,16 @@ namespace Ryujinx.HLE.HOS.Applets
|
||||||
|
|
||||||
int playerMin = argHeader.PlayerCountMin;
|
int playerMin = argHeader.PlayerCountMin;
|
||||||
int playerMax = argHeader.PlayerCountMax;
|
int playerMax = argHeader.PlayerCountMax;
|
||||||
|
bool singleMode = argHeader.EnableSingleMode != 0;
|
||||||
|
|
||||||
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"ControllerApplet Arg {playerMin} {playerMax} {argHeader.EnableTakeOverConnection} {argHeader.EnableSingleMode}");
|
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;
|
int configuredCount = 0;
|
||||||
PlayerIndex primaryIndex = PlayerIndex.Unknown;
|
PlayerIndex primaryIndex = PlayerIndex.Unknown;
|
||||||
while (!_system.Device.Hid.Npads.Validate(playerMin, playerMax, (ControllerType)privateArg.NpadStyleSet, out configuredCount, out primaryIndex))
|
while (!_system.Device.Hid.Npads.Validate(playerMin, playerMax, (ControllerType)privateArg.NpadStyleSet, out configuredCount, out primaryIndex))
|
||||||
|
|
Reference in a new issue