|
|
@ -758,12 +758,20 @@ Core::HID::NpadStyleTag Controller_NPad::GetSupportedStyleSet() const {
|
|
|
|
return hid_core.GetSupportedStyleTag();
|
|
|
|
return hid_core.GetSupportedStyleTag();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Controller_NPad::SetSupportedNpadIdTypes(std::span<const u8> data) {
|
|
|
|
Result Controller_NPad::SetSupportedNpadIdTypes(std::span<const u8> data) {
|
|
|
|
|
|
|
|
constexpr std::size_t max_number_npad_ids = 0xa;
|
|
|
|
const auto length = data.size();
|
|
|
|
const auto length = data.size();
|
|
|
|
ASSERT(length > 0 && (length % sizeof(u32)) == 0);
|
|
|
|
ASSERT(length > 0 && (length % sizeof(u32)) == 0);
|
|
|
|
|
|
|
|
const std::size_t elements = length / sizeof(u32);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (elements > max_number_npad_ids) {
|
|
|
|
|
|
|
|
return InvalidArraySize;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
supported_npad_id_types.clear();
|
|
|
|
supported_npad_id_types.clear();
|
|
|
|
supported_npad_id_types.resize(length / sizeof(u32));
|
|
|
|
supported_npad_id_types.resize(elements);
|
|
|
|
std::memcpy(supported_npad_id_types.data(), data.data(), length);
|
|
|
|
std::memcpy(supported_npad_id_types.data(), data.data(), length);
|
|
|
|
|
|
|
|
return ResultSuccess;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Controller_NPad::GetSupportedNpadIdTypes(u32* data, std::size_t max_length) {
|
|
|
|
void Controller_NPad::GetSupportedNpadIdTypes(u32* data, std::size_t max_length) {
|
|
|
|