|
|
|
@ -339,26 +339,6 @@ private: |
|
|
|
static_assert(sizeof(NfcXcdDeviceHandleStateImpl) == 0x18, |
|
|
|
"NfcXcdDeviceHandleStateImpl is an invalid size"); |
|
|
|
|
|
|
|
// nn::hid::detail::NfcXcdDeviceHandleStateImplAtomicStorage |
|
|
|
struct NfcXcdDeviceHandleStateImplAtomicStorage { |
|
|
|
u64 sampling_number; |
|
|
|
NfcXcdDeviceHandleStateImpl nfc_xcd_device_handle_state; |
|
|
|
}; |
|
|
|
static_assert(sizeof(NfcXcdDeviceHandleStateImplAtomicStorage) == 0x20, |
|
|
|
"NfcXcdDeviceHandleStateImplAtomicStorage is an invalid size"); |
|
|
|
|
|
|
|
// This is nn::hid::detail::NfcXcdDeviceHandleState |
|
|
|
struct NfcXcdDeviceHandleState { |
|
|
|
// TODO(german77): Make this struct a ring lifo object |
|
|
|
INSERT_PADDING_BYTES(0x8); // Unused |
|
|
|
s64 total_buffer_count = max_buffer_size; |
|
|
|
s64 buffer_tail{}; |
|
|
|
s64 buffer_count{}; |
|
|
|
std::array<NfcXcdDeviceHandleStateImplAtomicStorage, 2> nfc_xcd_device_handle_storage; |
|
|
|
}; |
|
|
|
static_assert(sizeof(NfcXcdDeviceHandleState) == 0x60, |
|
|
|
"NfcXcdDeviceHandleState is an invalid size"); |
|
|
|
|
|
|
|
// This is nn::hid::system::AppletFooterUiAttributesSet |
|
|
|
struct AppletFooterUiAttributes { |
|
|
|
INSERT_PADDING_BYTES(0x4); |
|
|
|
@ -433,32 +413,32 @@ private: |
|
|
|
NpadJoyAssignmentMode assignment_mode; |
|
|
|
NpadFullKeyColorState fullkey_color; |
|
|
|
NpadJoyColorState joycon_color; |
|
|
|
Lifo<NPadGenericState> fullkey_lifo; |
|
|
|
Lifo<NPadGenericState> handheld_lifo; |
|
|
|
Lifo<NPadGenericState> joy_dual_lifo; |
|
|
|
Lifo<NPadGenericState> joy_left_lifo; |
|
|
|
Lifo<NPadGenericState> joy_right_lifo; |
|
|
|
Lifo<NPadGenericState> palma_lifo; |
|
|
|
Lifo<NPadGenericState> system_ext_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_fullkey_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_handheld_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_dual_left_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_dual_right_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_left_lifo; |
|
|
|
Lifo<SixAxisSensorState> sixaxis_right_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> fullkey_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> handheld_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> joy_dual_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> joy_left_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> joy_right_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> palma_lifo; |
|
|
|
Lifo<NPadGenericState, hid_entry_count> system_ext_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_fullkey_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_handheld_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_dual_left_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_dual_right_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_left_lifo; |
|
|
|
Lifo<SixAxisSensorState, hid_entry_count> sixaxis_right_lifo; |
|
|
|
DeviceType device_type; |
|
|
|
INSERT_PADDING_BYTES(0x4); // Reserved |
|
|
|
NPadSystemProperties system_properties; |
|
|
|
NpadSystemButtonProperties button_properties; |
|
|
|
Core::HID::BatteryLevel battery_level_dual; |
|
|
|
Core::HID::BatteryLevel battery_level_left; |
|
|
|
Core::HID::BatteryLevel battery_level_right; |
|
|
|
Core::HID::NpadBatteryLevel battery_level_dual; |
|
|
|
Core::HID::NpadBatteryLevel battery_level_left; |
|
|
|
Core::HID::NpadBatteryLevel battery_level_right; |
|
|
|
union { |
|
|
|
NfcXcdDeviceHandleState nfc_xcd_device_handle; |
|
|
|
Lifo<NfcXcdDeviceHandleStateImpl, 0x2> nfc_xcd_device_lifo{}; |
|
|
|
AppletFooterUi applet_footer; |
|
|
|
}; |
|
|
|
INSERT_PADDING_BYTES(0x20); // Unknown |
|
|
|
Lifo<NpadGcTriggerState> gc_trigger_lifo; |
|
|
|
Lifo<NpadGcTriggerState, hid_entry_count> gc_trigger_lifo; |
|
|
|
NpadLarkType lark_type_l_and_main; |
|
|
|
NpadLarkType lark_type_r; |
|
|
|
NpadLuciaType lucia_type; |
|
|
|
|