diff --git a/pcsx2/gui/MainFrame.cpp b/pcsx2/gui/MainFrame.cpp index 99d38ecd0a..7229d1054b 100644 --- a/pcsx2/gui/MainFrame.cpp +++ b/pcsx2/gui/MainFrame.cpp @@ -185,10 +185,14 @@ void MainEmuFrame::ConnectMenus() ConnectMenuRange(wxID_FILE1, 20, Menu_IsoRecent_Click); - ConnectMenuRange(MenuId_Config_GS, PluginId_Count, Menu_IsoRecent_Click); + ConnectMenuRange(MenuId_Config_GS, PluginId_Count, Menu_ConfigPlugin_Click); ConnectMenuRange(MenuId_Src_Iso, 3, Menu_CdvdSource_Click); + ConnectMenu( MenuId_Video_Advanced, Menu_ConfigPlugin_Click); + ConnectMenu( MenuId_Audio_Advanced, Menu_ConfigPlugin_Click); + ConnectMenu( MenuId_Pad_Advanced, Menu_ConfigPlugin_Click); + ConnectMenu( MenuId_Boot_CDVD, Menu_BootCdvd_Click ); ConnectMenu( MenuId_Boot_ELF, Menu_OpenELF_Click ); ConnectMenu( MenuId_IsoBrowse, Menu_IsoBrowse_Click ); @@ -374,7 +378,7 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title): m_menuConfig.Append(MenuId_Config_Settings, _("General Settings") ); m_menuConfig.AppendSeparator(); - m_menuConfig.Append(MenuId_Config_CDVD, _("PAD"), &m_menuPad ); + m_menuConfig.Append(MenuId_Config_PAD, _("PAD"), &m_menuPad ); // Query installed "tertiary" plugins for name and menu options. m_menuConfig.Append(MenuId_Config_CDVD, _("CDVD"), wxEmptyString); diff --git a/pcsx2/gui/MainMenuClicks.cpp b/pcsx2/gui/MainMenuClicks.cpp index 260c3e92c0..6adfb1b205 100644 --- a/pcsx2/gui/MainMenuClicks.cpp +++ b/pcsx2/gui/MainMenuClicks.cpp @@ -196,7 +196,22 @@ void MainEmuFrame::Menu_EmuReset_Click(wxCommandEvent &event) void MainEmuFrame::Menu_ConfigPlugin_Click(wxCommandEvent &event) { typedef void (CALLBACK* PluginConfigureFnptr)(); - const PluginsEnum_t pid = (PluginsEnum_t)( event.GetId() - MenuId_Config_GS ); + const int eventId = event.GetId(); + PluginsEnum_t pid; + switch (eventId) { + case MenuId_Video_Advanced: + pid = PluginId_GS; + break; + case MenuId_Audio_Advanced: + pid = PluginId_SPU2; + break; + case MenuId_Pad_Advanced: + pid = PluginId_PAD; + break; + default: + pid = (PluginsEnum_t)( event.GetId() - MenuId_Config_GS ); + break; + } LoadPluginsImmediate(); if( g_plugins == NULL ) return; diff --git a/plugins/LilyPad/Config.cpp b/plugins/LilyPad/Config.cpp index 87c0fc50c1..0289901446 100644 --- a/plugins/LilyPad/Config.cpp +++ b/plugins/LilyPad/Config.cpp @@ -1853,6 +1853,7 @@ INT_PTR CALLBACK GeneralDialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, L "\n" "Furthermore, It uses libusb to Initialize DS3 pads. Libusb can\n" "do odd things to USB and non-USB devices when it enumerates them.\n" + "That having been said, I know of no serious problems with it.\n" "\n" "I have no idea if it works with bluetooth or not.\n" "\n" diff --git a/plugins/LilyPad/DualShock3.cpp b/plugins/LilyPad/DualShock3.cpp index 235d209a73..5a422242ad 100644 --- a/plugins/LilyPad/DualShock3.cpp +++ b/plugins/LilyPad/DualShock3.cpp @@ -60,7 +60,9 @@ void TryInitDS3(usb_device *dev) { usb_dev_handle *handle = pusb_open(dev); if (handle) { char junk[20]; - pusb_control_msg(handle, 0xa1, 1, 0x03f2, 0, junk, 17, 1000); + // This looks like HidD_GetFeature with a feature report id of 0xF2 to me and a length of 17. + // That doesn't work, however, and 17 is shorter than the report length. + pusb_control_msg(handle, 0xa1, 1, 0x03f2, dev->config->interface->altsetting->bInterfaceNumber, junk, 17, 1000); pusb_close(handle); } } diff --git a/plugins/LilyPad/LilyPad.rc b/plugins/LilyPad/LilyPad.rc index f35c37a846..1fb8c2c575 100644 --- a/plugins/LilyPad/LilyPad.rc +++ b/plugins/LilyPad/LilyPad.rc @@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include \r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -212,16 +212,17 @@ BEGIN GROUPBOX "Game Device APIs",IDC_STATIC,16,79,191,61 CONTROL "DirectInput",IDC_G_DI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,91,65,10 CONTROL "XInput (Xbox 360 controllers only)",IDC_G_XI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,103,125,10 - CONTROL "DualShock 3 (Requires libusb)",IDC_G_DS3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,115,110,10 + CONTROL "DualShock 3 native mode (Requires libusb)",IDC_G_DS3, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,115,151,10 CONTROL "Monitor when in background",IDC_BACKGROUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,127,106,10 - GROUPBOX "Mouse API",IDC_STATIC,216,16,192,85 + GROUPBOX "Mouse API",IDC_STATIC,216,16,192,86 CONTROL "Windows messaging (Recommended)",IDC_M_WM,"Button",BS_AUTORADIOBUTTON | WS_GROUP,223,27,134,10 CONTROL "Raw input (XP and later only)",IDC_M_RAW,"Button",BS_AUTORADIOBUTTON,223,39,112,10 CONTROL "DirectInput",IDC_M_DI,"Button",BS_AUTORADIOBUTTON,223,51,112,10 CONTROL "Disable",IDC_M_DISABLE,"Button",BS_AUTORADIOBUTTON,223,63,39,10 CONTROL "Start without mouse focus",IDC_MOUSE_UNFOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,223,75,97,10 CONTROL "Always hide cursor",IDC_FORCE_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,223,87,71,10 - GROUPBOX "Advanced",IDC_STATIC,216,111,192,28 + GROUPBOX "Advanced",IDC_STATIC,215,111,192,29 CONTROL "Allow binding multiple PS2 controls to one PC control",IDC_MULTIPLE_BINDING, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,223,124,182,10 GROUPBOX "Pads",IDC_STATIC,7,150,410,67 @@ -276,7 +277,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_CONFIG, DIALOG BEGIN diff --git a/plugins/LilyPad/LilyPad_VC2005.vcproj b/plugins/LilyPad/LilyPad_VC2005.vcproj index 77dc3c3097..474764ddb9 100644 --- a/plugins/LilyPad/LilyPad_VC2005.vcproj +++ b/plugins/LilyPad/LilyPad_VC2005.vcproj @@ -278,6 +278,7 @@