using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad { struct NpadInternalState { public NpadStyleTag StyleSet; public NpadJoyAssignmentMode JoyAssignmentMode; public NpadFullKeyColorState FullKeyColor; public NpadJoyColorState JoyColor; public RingLifo FullKey; public RingLifo Handheld; public RingLifo JoyDual; public RingLifo JoyLeft; public RingLifo JoyRight; public RingLifo Palma; public RingLifo SystemExt; public RingLifo FullKeySixAxisSensor; public RingLifo HandheldSixAxisSensor; public RingLifo JoyDualSixAxisSensor; public RingLifo JoyDualRightSixAxisSensor; public RingLifo JoyLeftSixAxisSensor; public RingLifo JoyRightSixAxisSensor; public DeviceType DeviceType; private uint _reserved1; public NpadSystemProperties SystemProperties; public NpadSystemButtonProperties SystemButtonProperties; public NpadBatteryLevel BatteryLevelJoyDual; public NpadBatteryLevel BatteryLevelJoyLeft; public NpadBatteryLevel BatteryLevelJoyRight; public uint AppletFooterUiAttributes; public byte AppletFooterUiType; private unsafe fixed byte _reserved2[0x7B]; public RingLifo GcTrigger; public NpadLarkType LarkTypeLeftAndMain; public NpadLarkType LarkTypeRight; public NpadLuciaType LuciaType; public uint Unknown43EC; public static NpadInternalState Create() { return new NpadInternalState { FullKey = RingLifo.Create(), Handheld = RingLifo.Create(), JoyDual = RingLifo.Create(), JoyLeft = RingLifo.Create(), JoyRight = RingLifo.Create(), Palma = RingLifo.Create(), SystemExt = RingLifo.Create(), FullKeySixAxisSensor = RingLifo.Create(), HandheldSixAxisSensor = RingLifo.Create(), JoyDualSixAxisSensor = RingLifo.Create(), JoyDualRightSixAxisSensor = RingLifo.Create(), JoyLeftSixAxisSensor = RingLifo.Create(), JoyRightSixAxisSensor = RingLifo.Create(), GcTrigger = RingLifo.Create(), }; } } }