settings: Fix Debug controller type options

This commit is contained in:
german77 2021-10-31 10:41:44 -05:00 committed by Narr the Reg
parent 2b1b0c2a30
commit 730f078302
13 changed files with 77 additions and 95 deletions

View file

@ -166,9 +166,10 @@ void EmulatedConsole::SetTouch(Common::Input::CallbackStatus callback,
return;
}
// TODO(german77): Remap touch id in sequential order
console.touch_state[index] = {
.position = {console.touch_values[index].x.value, console.touch_values[index].y.value},
.id = console.touch_values[index].id,
.id = static_cast<u32>(console.touch_values[index].id),
.pressed = console.touch_values[index].pressed.value,
};

View file

@ -77,7 +77,12 @@ void EmulatedController::ReloadFromSettings() {
controller.colors_state.fullkey = controller.colors_state.left;
SetNpadType(MapSettingsTypeToNPad(player.controller_type));
// Other or debug controller should always be a pro controller
if (npad_id_type != NpadIdType::Other) {
SetNpadType(MapSettingsTypeToNPad(player.controller_type));
} else {
SetNpadType(NpadType::ProController);
}
if (player.connected) {
Connect();
@ -606,12 +611,12 @@ void EmulatedController::SetTrigger(Common::Input::CallbackStatus callback, std:
switch (index) {
case Settings::NativeTrigger::LTrigger:
controller.gc_trigger_state.left = static_cast<s32>(trigger.analog.value * HID_TRIGGER_MAX);
controller.npad_button_state.zl.Assign(trigger.pressed);
controller.npad_button_state.zl.Assign(trigger.pressed.value);
break;
case Settings::NativeTrigger::RTrigger:
controller.gc_trigger_state.right =
static_cast<s32>(trigger.analog.value * HID_TRIGGER_MAX);
controller.npad_button_state.zr.Assign(trigger.pressed);
controller.npad_button_state.zr.Assign(trigger.pressed.value);
break;
}

View file

@ -53,7 +53,7 @@ Common::Input::ButtonStatus TransformToButton(const Common::Input::CallbackStatu
switch (callback.type) {
case Common::Input::InputType::Analog:
case Common::Input::InputType::Trigger:
status.value = TransformToTrigger(callback).pressed;
status.value = TransformToTrigger(callback).pressed.value;
break;
case Common::Input::InputType::Button:
status = callback.button_status;
@ -222,7 +222,7 @@ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackSta
// Set button status
if (calculate_button_value) {
status.pressed = value > properties.threshold;
status.pressed.value = value > properties.threshold;
}
// Adjust if value is inverted