diff --git a/include/controller/nin/seadNinJoyNpadDevice.h b/include/controller/nin/seadNinJoyNpadDevice.h index 52bd4143..22b7066a 100644 --- a/include/controller/nin/seadNinJoyNpadDevice.h +++ b/include/controller/nin/seadNinJoyNpadDevice.h @@ -33,15 +33,19 @@ class NinJoyNpadDevice : public ControlDevice static_assert(sizeof(VibrationThread) == 0x298); + struct SixAxisState + { + nn::hid::SixAxisSensorState state[16]; + }; + static_assert(sizeof(SixAxisState) == 0x600); + struct NpadState { - nn::hid::NpadBaseState mState; - u8 _28[0x258]; + SafeArray mStates; s32 mSixAxisDeviceNum; s32 mVibrationDeviceNum; SafeArray mSixAxisSensorHandles; - SafeArray mSixAxisSensorStates; - u8 _288[0xb40]; + SafeArray mSixAxisSensorStates; SafeArray mVibrationDeviceHandles; }; @@ -63,6 +67,8 @@ class NinJoyNpadDevice : public ControlDevice void disconnectNpad(s32); void sendVibrationValue(s32, s32, const nn::hid::VibrationValue&); + nn::hid::NpadJoyHoldType getNpadJoyHoldType() const { return mNpadJoyHoldType; } + const NpadState& getNpadState(s32 idx) { return mNpadStates[idx]; } private: