mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-09-20 17:51:13 +02:00
[HLE] Added "null" check for isAtRest
If an npad device was checking for if the device was at rest, we called `GetSixAxisSensorLifo()` -- if the npad was of type `None`, it triggered the `NotImplementedException` in that method because `None` doesn't have a gyroscope, and therefore no data attached to it.
This commit is contained in:
@@ -584,8 +584,13 @@ namespace Ryujinx.HLE.HOS.Services.Hid
|
|||||||
|
|
||||||
public bool isAtRest(int playerNumber)
|
public bool isAtRest(int playerNumber)
|
||||||
{
|
{
|
||||||
|
|
||||||
ref NpadInternalState currentNpad = ref _device.Hid.SharedMemory.Npads[playerNumber].InternalState;
|
ref NpadInternalState currentNpad = ref _device.Hid.SharedMemory.Npads[playerNumber].InternalState;
|
||||||
|
|
||||||
|
if (currentNpad.StyleSet == NpadStyleTag.None)
|
||||||
|
{
|
||||||
|
return true; // it will always be at rest because it cannot move.
|
||||||
|
}
|
||||||
|
|
||||||
ref SixAxisSensorState storage = ref GetSixAxisSensorLifo(ref currentNpad, false).GetCurrentEntryRef();
|
ref SixAxisSensorState storage = ref GetSixAxisSensorLifo(ref currentNpad, false).GetCurrentEntryRef();
|
||||||
|
|
||||||
float acceleration = Math.Abs(storage.Acceleration.X)
|
float acceleration = Math.Abs(storage.Acceleration.X)
|
||||||
|
|||||||
Reference in New Issue
Block a user