diff --git a/rpcs3/Emu/RSX/Overlays/overlays.cpp b/rpcs3/Emu/RSX/Overlays/overlays.cpp index db63d24862..c87105547f 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlays.cpp @@ -250,7 +250,8 @@ namespace rsx { // LDD pads get passed input data from the game itself. - if (pad->ldd_data.len > CELL_PAD_BTN_OFFSET_DIGITAL1) + // NOTE: Rock Band 3 doesn't seem to care about the len. It's always 0. + //if (pad->ldd_data.len > CELL_PAD_BTN_OFFSET_DIGITAL1) { const u16 digital1 = pad->ldd_data.button[CELL_PAD_BTN_OFFSET_DIGITAL1]; @@ -264,7 +265,7 @@ namespace rsx handle_button_press(pad_button::start, !!(digital1 & CELL_PAD_CTRL_START), pad_index); } - if (pad->ldd_data.len > CELL_PAD_BTN_OFFSET_DIGITAL2) + //if (pad->ldd_data.len > CELL_PAD_BTN_OFFSET_DIGITAL2) { const u16 digital2 = pad->ldd_data.button[CELL_PAD_BTN_OFFSET_DIGITAL2]; @@ -281,10 +282,7 @@ namespace rsx const auto handle_ldd_stick_input = [&](s32 offset, pad_button id_small, pad_button id_large) { - if (pad->ldd_data.len <= offset) - { - return; - } + //if (pad->ldd_data.len <= offset) return; constexpr u16 threshold = 20; // Let's be careful and use some threshold here const u16 value = pad->ldd_data.button[offset]; diff --git a/rpcs3/Input/pad_thread.cpp b/rpcs3/Input/pad_thread.cpp index f7a9b7c427..f166da51c9 100644 --- a/rpcs3/Input/pad_thread.cpp +++ b/rpcs3/Input/pad_thread.cpp @@ -400,7 +400,8 @@ void pad_thread::operator()() continue; // Check if an LDD pad pressed the PS button (bit 0 of the first button) - if (pad->ldd && pad->ldd_data.len >= 1 && !!(pad->ldd_data.button[0] & CELL_PAD_CTRL_LDD_PS)) + // NOTE: Rock Band 3 doesn't seem to care about the len. It's always 0. + if (pad->ldd /*&& pad->ldd_data.len >= 1 */&& !!(pad->ldd_data.button[0] & CELL_PAD_CTRL_LDD_PS)) { ps_button_pressed = true; break;