summaryrefslogtreecommitdiff
path: root/win32/gui
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-02-24 21:38:24 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-02-24 21:38:24 +0000
commit707443684fc0b2d268b3288ea52f4d33ef93fc05 (patch)
tree0cf255aa9643df7979cdacd4226b3fc844d1308c /win32/gui
parenta0c49bddfad957d260bdb2c26b4cf21b86f63bdf (diff)
downloadpcsxr-707443684fc0b2d268b3288ea52f4d33ef93fc05.tar.gz
link cable plugin for Windows;
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83125 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'win32/gui')
-rwxr-xr-xwin32/gui/ConfigurePlugins.c49
-rwxr-xr-xwin32/gui/WndMain.c13
-rwxr-xr-xwin32/gui/plugin.c2
3 files changed, 62 insertions, 2 deletions
diff --git a/win32/gui/ConfigurePlugins.c b/win32/gui/ConfigurePlugins.c
index 1c8080f5..ac578a2b 100755
--- a/win32/gui/ConfigurePlugins.c
+++ b/win32/gui/ConfigurePlugins.c
@@ -59,6 +59,9 @@ int LoadConfig() {
QueryKey(256, "Cdr", Conf->Cdr);
QueryKey(256, "Pad1", Conf->Pad1);
QueryKey(256, "Pad2", Conf->Pad2);
+#ifdef ENABLE_SIO1API
+ QueryKey(256, "Sio1", Conf->Sio1);
+#endif
QueryKey(256, "Mcd1", Conf->Mcd1);
QueryKey(256, "Mcd2", Conf->Mcd2);
QueryKey(256, "PluginsDir", Conf->PluginsDir);
@@ -112,6 +115,7 @@ void SaveConfig() {
SetKey("Cdr", Conf->Cdr, strlen(Conf->Cdr), REG_SZ);
SetKey("Pad1", Conf->Pad1, strlen(Conf->Pad1), REG_SZ);
SetKey("Pad2", Conf->Pad2, strlen(Conf->Pad2), REG_SZ);
+ SetKey("Sio1", Conf->Sio1, strlen(Conf->Sio1), REG_SZ);
SetKey("Net", Conf->Net, strlen(Conf->Net), REG_SZ);
SetKey("Mcd1", Conf->Mcd1, strlen(Conf->Mcd1), REG_SZ);
SetKey("Mcd2", Conf->Mcd2, strlen(Conf->Mcd2), REG_SZ);
@@ -161,6 +165,7 @@ BOOL OnConfigurePluginsDialog(HWND hW) {
HWND hWC_CDR=GetDlgItem(hW,IDC_LISTCDR);
HWND hWC_PAD1=GetDlgItem(hW,IDC_LISTPAD1);
HWND hWC_PAD2=GetDlgItem(hW,IDC_LISTPAD2);
+ HWND hWC_SIO1=GetDlgItem(hW,IDC_LISTSIO1);
HWND hWC_BIOS=GetDlgItem(hW,IDC_LISTBIOS);
char tmpStr[256];
char *lp;
@@ -210,6 +215,10 @@ BOOL OnConfigurePluginsDialog(HWND hW) {
ComboAddPlugin(hWC_PAD1, Config.Pad1);
}
}
+
+ if (type & PSE_LT_SIO1) {
+ ComboAddPlugin(hWC_SIO1, Config.Sio1);
+ }
}
}
} while (FindNextFile(Find,&FindData));
@@ -257,6 +266,8 @@ BOOL OnConfigurePluginsDialog(HWND hW) {
ComboBox_SetCurSel(hWC_PAD1, 0);
if (ComboBox_GetCurSel(hWC_PAD2) == -1)
ComboBox_SetCurSel(hWC_PAD2, 0);
+ if (ComboBox_GetCurSel(hWC_SIO1 ) == -1)
+ ComboBox_SetCurSel(hWC_SIO1, 0);
if (ComboBox_GetCurSel(hWC_BIOS) == -1)
ComboBox_SetCurSel(hWC_BIOS, 0);
@@ -280,6 +291,7 @@ void CleanUpCombos(HWND hW) {
CleanCombo(IDC_LISTCDR);
CleanCombo(IDC_LISTPAD1);
CleanCombo(IDC_LISTPAD2);
+ CleanCombo(IDC_LISTSIO1);
CleanCombo(IDC_LISTBIOS);
}
@@ -302,10 +314,17 @@ void OnOK(HWND hW) {
char *cdrDLL=GetSelDLL(hW,IDC_LISTCDR);
char *pad1DLL=GetSelDLL(hW,IDC_LISTPAD1);
char *pad2DLL=GetSelDLL(hW,IDC_LISTPAD2);
+#ifdef ENABLE_SIO1API
+ char *sio1DLL=GetSelDLL(hW,IDC_LISTSIO1);
+#endif
char *biosFILE=GetSelDLL(hW,IDC_LISTBIOS);
if (gpuDLL == NULL || spuDLL == NULL || cdrDLL == NULL || pad1DLL == NULL ||
- pad2DLL == NULL || biosFILE == NULL) {
+ pad2DLL == NULL || biosFILE == NULL
+#ifdef ENABLE_SIO1API
+ || sio1DLL == NULL
+#endif
+ ) {
MessageBox(hW, _("Configuration not OK!"), _("Error"), MB_OK | MB_ICONERROR);
return;
}
@@ -316,6 +335,9 @@ void OnOK(HWND hW) {
strcpy(Config.Cdr, cdrDLL);
strcpy(Config.Pad1, pad1DLL);
strcpy(Config.Pad2, pad2DLL);
+#ifdef ENABLE_SIO1API
+ strcpy(Config.Sio1, sio1DLL);
+#endif
SaveConfig();
@@ -366,6 +388,11 @@ void ConfigurePAD2(HWND hW) {
ConfPlugin(PADconfigure, IDC_LISTPAD2, "PADconfigure");
}
+void ConfigureSIO1(HWND hW) {
+#ifdef ENABLE_SIO1API
+ ConfPlugin(SIO1configure, IDC_LISTSIO1, "SIO1configure");
+#endif
+}
void AboutGPU(HWND hW) {
ConfPlugin(GPUabout, IDC_LISTGPU, "GPUabout");
@@ -391,6 +418,12 @@ void AboutPAD2(HWND hW) {
ConfPlugin(PADabout, IDC_LISTPAD2, "PADabout");
}
+void AboutSIO1(HWND hW) {
+#ifdef ENABLE_SIO1API
+ ConfPlugin(SIO1about, IDC_LISTSIO1, "SIO1about");
+#endif
+}
+
#define TestPlugin(src, confs, name) \
void *drv; \
@@ -436,6 +469,13 @@ void TestPAD2(HWND hW) {
TestPlugin(PADtest, IDC_LISTPAD2, "PADtest");
}
+void TestSIO1(HWND hW) {
+#ifdef ENABLE_SIO1API
+ TestPlugin(SIO1test, IDC_LISTSIO1, "SIO1test");
+#endif
+}
+
+
#include <shlobj.h>
int SelectPath(HWND hW, char *Title, char *Path) {
@@ -491,6 +531,7 @@ BOOL CALLBACK ConfigurePluginsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM
Static_SetText(GetDlgItem(hW, IDC_SECONDCONTROLLER), _("Second Controller"));
Static_SetText(GetDlgItem(hW, IDC_SOUND), _("Sound"));
Static_SetText(GetDlgItem(hW, IDC_CDROM), _("Cdrom"));
+ Static_SetText(GetDlgItem(hW, IDC_LINKCABLE), _("Link cable"));
Static_SetText(GetDlgItem(hW, IDC_BIOS), _("Bios"));
Button_SetText(GetDlgItem(hW, IDC_BIOSDIR), _("Set Bios Directory"));
Button_SetText(GetDlgItem(hW, IDC_PLUGINSDIR), _("Set Plugins Directory"));
@@ -509,6 +550,9 @@ BOOL CALLBACK ConfigurePluginsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM
Button_SetText(GetDlgItem(hW, IDC_CONFIGPAD2), _("Configure..."));
Button_SetText(GetDlgItem(hW, IDC_TESTPAD2), _("Test..."));
Button_SetText(GetDlgItem(hW, IDC_ABOUTPAD2), _("About..."));
+ Button_SetText(GetDlgItem(hW, IDC_CONFIGSIO1), _("Configure..."));
+ Button_SetText(GetDlgItem(hW, IDC_TESTSIO1), _("Test..."));
+ Button_SetText(GetDlgItem(hW, IDC_ABOUTSIO1), _("About..."));
return OnConfigurePluginsDialog(hW);
@@ -519,18 +563,21 @@ BOOL CALLBACK ConfigurePluginsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM
case IDC_CONFIGCDR: ConfigureCDR(hW); return TRUE;
case IDC_CONFIGPAD1: ConfigurePAD1(hW); return TRUE;
case IDC_CONFIGPAD2: ConfigurePAD2(hW); return TRUE;
+ case IDC_CONFIGSIO1: ConfigureSIO1(hW); return TRUE;
case IDC_TESTGPU: TestGPU(hW); return TRUE;
case IDC_TESTSPU: TestSPU(hW); return TRUE;
case IDC_TESTCDR: TestCDR(hW); return TRUE;
case IDC_TESTPAD1: TestPAD1(hW); return TRUE;
case IDC_TESTPAD2: TestPAD2(hW); return TRUE;
+ case IDC_TESTSIO1: TestSIO1(hW); return TRUE;
case IDC_ABOUTGPU: AboutGPU(hW); return TRUE;
case IDC_ABOUTSPU: AboutSPU(hW); return TRUE;
case IDC_ABOUTCDR: AboutCDR(hW); return TRUE;
case IDC_ABOUTPAD1: AboutPAD1(hW); return TRUE;
case IDC_ABOUTPAD2: AboutPAD2(hW); return TRUE;
+ case IDC_ABOUTSIO1: AboutSIO1(hW); return TRUE;
case IDC_PLUGINSDIR: SetPluginsDir(hW); return TRUE;
case IDC_BIOSDIR: SetBiosDir(hW); return TRUE;
diff --git a/win32/gui/WndMain.c b/win32/gui/WndMain.c
index b3d45b2e..171b9d9a 100755
--- a/win32/gui/WndMain.c
+++ b/win32/gui/WndMain.c
@@ -671,6 +671,12 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
if (CDR_configure) CDR_configure();
return TRUE;
+ case ID_CONFIGURATION_LINKCABLE:
+#ifdef ENABLE_SIO1API
+ if (SIO1_configure) SIO1_configure();
+#endif
+ return TRUE;
+
case ID_CONFIGURATION_NETPLAY:
DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_NETPLAY), hWnd, (DLGPROC)ConfigureNetPlayDlgProc);
return TRUE;
@@ -1687,6 +1693,7 @@ void CreateMainMenu() {
ADDSEPARATOR(0);
ADDMENUITEM(0, _("&NetPlay..."), ID_CONFIGURATION_NETPLAY);
ADDSEPARATOR(0);
+ ADDMENUITEM(0, _("&Link cable..."), ID_CONFIGURATION_LINKCABLE);
ADDMENUITEM(0, _("&Controllers..."), ID_CONFIGURATION_CONTROLLERS);
ADDMENUITEM(0, _("CD-&ROM..."), ID_CONFIGURATION_CDROM);
ADDMENUITEM(0, _("&Sound..."), ID_CONFIGURATION_SOUND);
@@ -1889,6 +1896,7 @@ void SysRunGui() {
void UpdateMenuItems() {
if (CdromId[0] != '\0') {
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_NETPLAY, MF_BYCOMMAND | MF_GRAYED);
+ EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_LINKCABLE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_CONTROLLERS, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_CDROM, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_SOUND, MF_BYCOMMAND | MF_GRAYED);
@@ -1926,10 +1934,15 @@ void UpdateMenuItems() {
EnableMenuItem(gApp.hMenu, ID_FILE_STATES_SAVE_OTHER, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_CHEATSEARCH, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_NETPLAY, MF_BYCOMMAND | MF_ENABLED);
+ EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_LINKCABLE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_CONTROLLERS, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_CDROM, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_SOUND, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_GRAPHICS, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION, MF_BYCOMMAND | MF_ENABLED);
}
+
+#ifndef ENABLE_SIO1API
+ EnableMenuItem(gApp.hMenu, ID_CONFIGURATION_LINKCABLE, MF_BYCOMMAND | MF_GRAYED);
+#endif
}
diff --git a/win32/gui/plugin.c b/win32/gui/plugin.c
index e5b9ad77..35b14acf 100755
--- a/win32/gui/plugin.c
+++ b/win32/gui/plugin.c
@@ -291,7 +291,7 @@ int _OpenPlugins(HWND hWnd) {
PAD2_registerVibration(GPU_visualVibration);
PAD2_registerCursor(GPU_cursor);
#ifdef ENABLE_SIO1API
- ret = SIO1_open();
+ ret = SIO1_open(hWnd);
if (ret < 0) { SysMessage (_("Error Opening SIO1 plugin (%d)"), ret); return -1; }
SIO1_registerCallback(SIO1irq);
#endif