|
|
@ -339,52 +339,6 @@ void Controller_NPad::OnUpdate(u8* data, std::size_t data_len) {
|
|
|
|
npad.pokeball_states.npad[npad.pokeball_states.common.last_entry_index];
|
|
|
|
npad.pokeball_states.npad[npad.pokeball_states.common.last_entry_index];
|
|
|
|
auto& libnx_entry = npad.libnx.npad[npad.libnx.common.last_entry_index];
|
|
|
|
auto& libnx_entry = npad.libnx.npad[npad.libnx.common.last_entry_index];
|
|
|
|
|
|
|
|
|
|
|
|
if (hold_type == NpadHoldType::Horizontal) {
|
|
|
|
|
|
|
|
ControllerPadState state{};
|
|
|
|
|
|
|
|
AnalogPosition temp_lstick_entry{};
|
|
|
|
|
|
|
|
AnalogPosition temp_rstick_entry{};
|
|
|
|
|
|
|
|
if (controller_type == NPadControllerType::JoyLeft) {
|
|
|
|
|
|
|
|
state.d_down.Assign(pad_state.pad_states.d_left.Value());
|
|
|
|
|
|
|
|
state.d_left.Assign(pad_state.pad_states.d_up.Value());
|
|
|
|
|
|
|
|
state.d_right.Assign(pad_state.pad_states.d_down.Value());
|
|
|
|
|
|
|
|
state.d_up.Assign(pad_state.pad_states.d_right.Value());
|
|
|
|
|
|
|
|
state.l.Assign(pad_state.pad_states.l.Value() |
|
|
|
|
|
|
|
|
pad_state.pad_states.left_sl.Value());
|
|
|
|
|
|
|
|
state.r.Assign(pad_state.pad_states.r.Value() |
|
|
|
|
|
|
|
|
pad_state.pad_states.left_sr.Value());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state.zl.Assign(pad_state.pad_states.zl.Value());
|
|
|
|
|
|
|
|
state.plus.Assign(pad_state.pad_states.minus.Value());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
temp_lstick_entry = pad_state.l_stick;
|
|
|
|
|
|
|
|
temp_rstick_entry = pad_state.r_stick;
|
|
|
|
|
|
|
|
std::swap(temp_lstick_entry.x, temp_lstick_entry.y);
|
|
|
|
|
|
|
|
std::swap(temp_rstick_entry.x, temp_rstick_entry.y);
|
|
|
|
|
|
|
|
temp_lstick_entry.y *= -1;
|
|
|
|
|
|
|
|
} else if (controller_type == NPadControllerType::JoyRight) {
|
|
|
|
|
|
|
|
state.x.Assign(pad_state.pad_states.a.Value());
|
|
|
|
|
|
|
|
state.a.Assign(pad_state.pad_states.b.Value());
|
|
|
|
|
|
|
|
state.b.Assign(pad_state.pad_states.y.Value());
|
|
|
|
|
|
|
|
state.y.Assign(pad_state.pad_states.b.Value());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state.l.Assign(pad_state.pad_states.l.Value() |
|
|
|
|
|
|
|
|
pad_state.pad_states.right_sl.Value());
|
|
|
|
|
|
|
|
state.r.Assign(pad_state.pad_states.r.Value() |
|
|
|
|
|
|
|
|
pad_state.pad_states.right_sr.Value());
|
|
|
|
|
|
|
|
state.zr.Assign(pad_state.pad_states.zr.Value());
|
|
|
|
|
|
|
|
state.plus.Assign(pad_state.pad_states.plus.Value());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
temp_lstick_entry = pad_state.l_stick;
|
|
|
|
|
|
|
|
temp_rstick_entry = pad_state.r_stick;
|
|
|
|
|
|
|
|
std::swap(temp_lstick_entry.x, temp_lstick_entry.y);
|
|
|
|
|
|
|
|
std::swap(temp_rstick_entry.x, temp_rstick_entry.y);
|
|
|
|
|
|
|
|
temp_rstick_entry.x *= -1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
pad_state.pad_states.raw = state.raw;
|
|
|
|
|
|
|
|
pad_state.l_stick = temp_lstick_entry;
|
|
|
|
|
|
|
|
pad_state.r_stick = temp_rstick_entry;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libnx_entry.connection_status.raw = 0;
|
|
|
|
libnx_entry.connection_status.raw = 0;
|
|
|
|
|
|
|
|
|
|
|
|
switch (controller_type) {
|
|
|
|
switch (controller_type) {
|
|
|
|