remove stuff we won't need
[pcsx_rearmed.git] / win32 / gui / ConfigurePlugins.c
diff --git a/win32/gui/ConfigurePlugins.c b/win32/gui/ConfigurePlugins.c
deleted file mode 100644 (file)
index 6f734a1..0000000
+++ /dev/null
@@ -1,649 +0,0 @@
-/*  Pcsx - Pc Psx Emulator\r
- *  Copyright (C) 1999-2003  Pcsx Team\r
- *\r
- *  This program is free software; you can redistribute it and/or modify\r
- *  it under the terms of the GNU General Public License as published by\r
- *  the Free Software Foundation; either version 2 of the License, or\r
- *  (at your option) any later version.\r
- *\r
- *  This program is distributed in the hope that it will be useful,\r
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *  GNU General Public License for more details.\r
- *\r
- *  You should have received a copy of the GNU General Public License\r
- *  along with this program; if not, write to the Free Software\r
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA\r
- */\r
-\r
-#include <windows.h>\r
-#include <windowsx.h>\r
-#include <stdio.h>\r
-#include "psxcommon.h"\r
-#include "plugin.h"\r
-#include "plugins.h"\r
-#include "resource.h"\r
-#include "Win32.h"\r
-\r
-#define QueryKeyV(name, var) \\r
-       size = sizeof(DWORD); \\r
-       if (RegQueryValueEx(myKey, name, 0, &type, (LPBYTE)&tmp, &size) != 0) { if (err) { RegCloseKey(myKey); return -1; } } \\r
-       var = tmp;\r
-\r
-#define QueryKey(s, name, var) \\r
-       size = s; \\r
-       if (RegQueryValueEx(myKey, name, 0, &type, (LPBYTE)var, &size) != 0) { if (err) { RegCloseKey(myKey); return -1; } }\r
-\r
-#define SetKeyV(name, var) \\r
-       tmp = var; \\r
-       RegSetValueEx(myKey, name, 0, REG_DWORD, (LPBYTE)&tmp, sizeof(DWORD));\r
-\r
-#define SetKey(name, var, s, t) \\r
-       RegSetValueEx(myKey, name, 0, t, (LPBYTE)var, s);\r
-\r
-int LoadConfig() {\r
-       HKEY myKey;\r
-       DWORD type, size, tmp;\r
-       PcsxConfig *Conf = &Config;\r
-       int err;\r
-#ifdef ENABLE_NLS\r
-       char text[256];\r
-#endif\r
-\r
-       if (RegOpenKeyEx(HKEY_CURRENT_USER,cfgfile,0,KEY_ALL_ACCESS,&myKey)!=ERROR_SUCCESS) return -1;\r
-\r
-       err = 1;\r
-       QueryKey(256, "Bios", Conf->Bios);\r
-       QueryKey(256, "Gpu",  Conf->Gpu);\r
-       QueryKey(256, "Spu",  Conf->Spu);\r
-       QueryKey(256, "Cdr",  Conf->Cdr);\r
-       QueryKey(256, "Pad1", Conf->Pad1);\r
-       QueryKey(256, "Pad2", Conf->Pad2);\r
-       QueryKey(256, "Mcd1", Conf->Mcd1);\r
-       QueryKey(256, "Mcd2", Conf->Mcd2);\r
-       QueryKey(256, "PluginsDir", Conf->PluginsDir);\r
-       QueryKey(256, "BiosDir",    Conf->BiosDir);\r
-       err = 0;\r
-       QueryKey(256, "Net",  Conf->Net);\r
-       QueryKey(256, "Lang", Conf->Lang);\r
-\r
-       QueryKeyV("Xa",       Conf->Xa);\r
-       QueryKeyV("Sio",      Conf->Sio);\r
-       QueryKeyV("Mdec",     Conf->Mdec);\r
-       QueryKeyV("PsxAuto",  Conf->PsxAuto);\r
-       QueryKeyV("Cdda",     Conf->Cdda);\r
-       QueryKeyV("Debug",    Conf->Debug);\r
-       QueryKeyV("PsxOut",   Conf->PsxOut);\r
-       QueryKeyV("SpuIrq",   Conf->SpuIrq);\r
-       QueryKeyV("RCntFix",  Conf->RCntFix);\r
-       QueryKeyV("VSyncWA",  Conf->VSyncWA);\r
-\r
-       QueryKeyV("Cpu",      Conf->Cpu);\r
-       QueryKeyV("PsxType",  Conf->PsxType);\r
-\r
-       if (Config.Cpu == CPU_DYNAREC) {\r
-               Config.Debug = 0; // don't enable debugger if using dynarec core\r
-       }\r
-\r
-       RegCloseKey(myKey);\r
-\r
-#ifdef ENABLE_NLS\r
-       sprintf(text, "LANGUAGE=%s", Conf->Lang);\r
-       gettext_putenv(text);\r
-#endif\r
-\r
-       return 0;\r
-}\r
-\r
-/////////////////////////////////////////////////////////\r
-\r
-void SaveConfig() {\r
-       HKEY myKey;\r
-       DWORD myDisp, tmp;\r
-       PcsxConfig *Conf = &Config;\r
-\r
-       RegCreateKeyEx(HKEY_CURRENT_USER, cfgfile, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &myKey, &myDisp);\r
-\r
-       SetKey("Bios", Conf->Bios, strlen(Conf->Bios), REG_SZ);\r
-       SetKey("Gpu",  Conf->Gpu,  strlen(Conf->Gpu),  REG_SZ);\r
-       SetKey("Spu",  Conf->Spu,  strlen(Conf->Spu),  REG_SZ);\r
-       SetKey("Cdr",  Conf->Cdr,  strlen(Conf->Cdr),  REG_SZ);\r
-       SetKey("Pad1", Conf->Pad1, strlen(Conf->Pad1), REG_SZ);\r
-       SetKey("Pad2", Conf->Pad2, strlen(Conf->Pad2), REG_SZ);\r
-       SetKey("Net",  Conf->Net,  strlen(Conf->Net),  REG_SZ);\r
-       SetKey("Mcd1", Conf->Mcd1, strlen(Conf->Mcd1), REG_SZ);\r
-       SetKey("Mcd2", Conf->Mcd2, strlen(Conf->Mcd2), REG_SZ);\r
-       SetKey("Lang", Conf->Lang, strlen(Conf->Lang), REG_SZ);\r
-       SetKey("PluginsDir", Conf->PluginsDir, strlen(Conf->PluginsDir), REG_SZ);\r
-       SetKey("BiosDir",    Conf->BiosDir,    strlen(Conf->BiosDir), REG_SZ);\r
-\r
-       SetKeyV("Xa",      Conf->Xa);\r
-       SetKeyV("Sio",     Conf->Sio);\r
-       SetKeyV("Mdec",    Conf->Mdec);\r
-       SetKeyV("PsxAuto", Conf->PsxAuto);\r
-       SetKeyV("Cdda",    Conf->Cdda);\r
-       SetKeyV("Debug",   Conf->Debug);\r
-       SetKeyV("PsxOut",  Conf->PsxOut);\r
-       SetKeyV("SpuIrq",  Conf->SpuIrq);\r
-       SetKeyV("RCntFix", Conf->RCntFix);\r
-       SetKeyV("VSyncWA", Conf->VSyncWA);\r
-\r
-       SetKeyV("Cpu",     Conf->Cpu);\r
-       SetKeyV("PsxType", Conf->PsxType);\r
-\r
-       RegCloseKey(myKey);\r
-}\r
-\r
-/////////////////////////////////////////////////////////\r
-\r
-#define ComboAddPlugin(hw, str) { \\r
-       lp = (char *)malloc(strlen(FindData.cFileName)+8); \\r
-       sprintf(lp, "%s", FindData.cFileName); \\r
-       i = ComboBox_AddString(hw, tmpStr); \\r
-       ComboBox_SetItemData(hw, i, lp); \\r
-       if (stricmp(str, lp)==0) \\r
-               ComboBox_SetCurSel(hw, i); \\r
-}\r
-\r
-BOOL OnConfigurePluginsDialog(HWND hW) {\r
-       WIN32_FIND_DATA FindData;\r
-       HANDLE Find;\r
-       HANDLE Lib;\r
-       PSEgetLibType    PSE_GetLibType;\r
-       PSEgetLibName    PSE_GetLibName;\r
-       PSEgetLibVersion PSE_GetLibVersion;\r
-       HWND hWC_GPU=GetDlgItem(hW,IDC_LISTGPU);\r
-       HWND hWC_SPU=GetDlgItem(hW,IDC_LISTSPU);\r
-       HWND hWC_CDR=GetDlgItem(hW,IDC_LISTCDR);\r
-       HWND hWC_PAD1=GetDlgItem(hW,IDC_LISTPAD1);\r
-       HWND hWC_PAD2=GetDlgItem(hW,IDC_LISTPAD2);\r
-       HWND hWC_BIOS=GetDlgItem(hW,IDC_LISTBIOS);\r
-       char tmpStr[256];\r
-       char *lp;\r
-       int i;\r
-\r
-       strcpy(tmpStr, Config.PluginsDir);\r
-       strcat(tmpStr, "*.dll");\r
-       Find = FindFirstFile(tmpStr, &FindData);\r
-\r
-       do {\r
-               if (Find == INVALID_HANDLE_VALUE) break;\r
-               sprintf(tmpStr,"%s%s", Config.PluginsDir, FindData.cFileName);\r
-               Lib = LoadLibrary(tmpStr);\r
-               if (Lib != NULL) {\r
-                       PSE_GetLibType = (PSEgetLibType) GetProcAddress((HMODULE)Lib,"PSEgetLibType");\r
-                       PSE_GetLibName = (PSEgetLibName) GetProcAddress((HMODULE)Lib,"PSEgetLibName");\r
-                       PSE_GetLibVersion = (PSEgetLibVersion) GetProcAddress((HMODULE)Lib,"PSEgetLibVersion");\r
-\r
-                       if (PSE_GetLibType != NULL && PSE_GetLibName != NULL && PSE_GetLibVersion != NULL) {\r
-                               unsigned long version = PSE_GetLibVersion();\r
-                               long type;\r
-\r
-                               sprintf(tmpStr, "%s %d.%d", PSE_GetLibName(), (int)(version>>8)&0xff, (int)version&0xff);\r
-                               type = PSE_GetLibType();\r
-                               if (type & PSE_LT_CDR) {\r
-                                       ComboAddPlugin(hWC_CDR, Config.Cdr);\r
-                               }\r
-\r
-                               if (type & PSE_LT_SPU) {\r
-                                       ComboAddPlugin(hWC_SPU, Config.Spu);\r
-                               }\r
-\r
-                               if (type & PSE_LT_GPU) {\r
-                                       ComboAddPlugin(hWC_GPU, Config.Gpu);\r
-                               }\r
-\r
-                               if (type & PSE_LT_PAD) {\r
-                                       PADquery query;\r
-\r
-                                       query = (PADquery)GetProcAddress((HMODULE)Lib, "PADquery");\r
-                                       if (query != NULL) {\r
-                                               if (query() & 0x1)\r
-                                                       ComboAddPlugin(hWC_PAD1, Config.Pad1);\r
-                                               if (query() & 0x2)\r
-                                                       ComboAddPlugin(hWC_PAD2, Config.Pad2);\r
-                                       } else { // just a guess\r
-                                               ComboAddPlugin(hWC_PAD1, Config.Pad1);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       } while (FindNextFile(Find,&FindData));\r
-\r
-       if (Find != INVALID_HANDLE_VALUE) FindClose(Find);\r
-\r
-// BIOS\r
-\r
-       lp = (char *)malloc(strlen("HLE") + 1);\r
-       sprintf(lp, "HLE");\r
-       i = ComboBox_AddString(hWC_BIOS, _("Simulate Psx Bios"));\r
-       ComboBox_SetItemData(hWC_BIOS, i, lp);\r
-       if (stricmp(Config.Bios, lp)==0)\r
-               ComboBox_SetCurSel(hWC_BIOS, i);\r
-\r
-       strcpy(tmpStr, Config.BiosDir);\r
-       strcat(tmpStr, "*");\r
-       Find=FindFirstFile(tmpStr, &FindData);\r
-\r
-       do {\r
-               if (Find==INVALID_HANDLE_VALUE) break;\r
-               if (!strcmp(FindData.cFileName, ".")) continue;\r
-               if (!strcmp(FindData.cFileName, "..")) continue;\r
-               if (FindData.nFileSizeLow != 1024 * 512) continue;\r
-               lp = (char *)malloc(strlen(FindData.cFileName)+8);\r
-               sprintf(lp, "%s", (char *)FindData.cFileName);\r
-               i = ComboBox_AddString(hWC_BIOS, FindData.cFileName);\r
-               ComboBox_SetItemData(hWC_BIOS, i, lp);\r
-               if (Config.Bios[0]=='\0') {\r
-                       ComboBox_SetCurSel(hWC_BIOS, i);\r
-                       strcpy(Config.Bios, FindData.cFileName);\r
-               } else if (stricmp(Config.Bios, FindData.cFileName)==0)\r
-                       ComboBox_SetCurSel(hWC_BIOS, i);\r
-       } while (FindNextFile(Find,&FindData));\r
-\r
-       if (Find!=INVALID_HANDLE_VALUE) FindClose(Find);\r
-\r
-       if (ComboBox_GetCurSel(hWC_CDR ) == -1)\r
-               ComboBox_SetCurSel(hWC_CDR,  0);\r
-       if (ComboBox_GetCurSel(hWC_GPU ) == -1)\r
-               ComboBox_SetCurSel(hWC_GPU,  0);\r
-       if (ComboBox_GetCurSel(hWC_SPU ) == -1)\r
-               ComboBox_SetCurSel(hWC_SPU,  0);\r
-       if (ComboBox_GetCurSel(hWC_PAD1) == -1)\r
-               ComboBox_SetCurSel(hWC_PAD1, 0);\r
-       if (ComboBox_GetCurSel(hWC_PAD2) == -1)\r
-               ComboBox_SetCurSel(hWC_PAD2, 0);\r
-       if (ComboBox_GetCurSel(hWC_BIOS) == -1)\r
-               ComboBox_SetCurSel(hWC_BIOS, 0);\r
-\r
-       return TRUE;\r
-}\r
-       \r
-#define CleanCombo(item) \\r
-       hWC = GetDlgItem(hW, item); \\r
-       iCnt = ComboBox_GetCount(hWC); \\r
-       for (i=0; i<iCnt; i++) { \\r
-               lp = (char *)ComboBox_GetItemData(hWC, i); \\r
-               if (lp) free(lp); \\r
-       } \\r
-       ComboBox_ResetContent(hWC);\r
-\r
-void CleanUpCombos(HWND hW) {\r
-       int i,iCnt;HWND hWC;char * lp;\r
-\r
-       CleanCombo(IDC_LISTGPU);\r
-       CleanCombo(IDC_LISTSPU);\r
-       CleanCombo(IDC_LISTCDR);\r
-       CleanCombo(IDC_LISTPAD1);\r
-       CleanCombo(IDC_LISTPAD2);\r
-       CleanCombo(IDC_LISTBIOS);\r
-}\r
-\r
-void OnCancel(HWND hW) {\r
-       CleanUpCombos(hW);\r
-       EndDialog(hW,FALSE);\r
-}\r
-\r
-char *GetSelDLL(HWND hW,int id) {\r
-       HWND hWC = GetDlgItem(hW,id);\r
-       int iSel;\r
-       iSel = ComboBox_GetCurSel(hWC);\r
-       if (iSel<0) return NULL;\r
-       return (char *)ComboBox_GetItemData(hWC, iSel);\r
-}\r
-\r
-void OnOK(HWND hW) {\r
-       char *gpuDLL=GetSelDLL(hW,IDC_LISTGPU);\r
-       char *spuDLL=GetSelDLL(hW,IDC_LISTSPU);\r
-       char *cdrDLL=GetSelDLL(hW,IDC_LISTCDR);\r
-       char *pad1DLL=GetSelDLL(hW,IDC_LISTPAD1);\r
-       char *pad2DLL=GetSelDLL(hW,IDC_LISTPAD2);\r
-       char *biosFILE=GetSelDLL(hW,IDC_LISTBIOS);\r
-\r
-    if (gpuDLL == NULL || spuDLL == NULL || cdrDLL == NULL || pad1DLL == NULL ||\r
-               pad2DLL == NULL || biosFILE == NULL) {\r
-               MessageBox(hW, _("Configuration not OK!"), _("Error"), MB_OK | MB_ICONERROR);\r
-               return;\r
-       }\r
-\r
-       strcpy(Config.Bios, biosFILE);\r
-       strcpy(Config.Gpu,  gpuDLL);\r
-       strcpy(Config.Spu,  spuDLL);\r
-       strcpy(Config.Cdr,  cdrDLL);\r
-       strcpy(Config.Pad1, pad1DLL);\r
-       strcpy(Config.Pad2, pad2DLL);\r
-\r
-       SaveConfig();\r
-\r
-       CleanUpCombos(hW);\r
-\r
-       if (!ConfPlug) {\r
-               LoadPlugins();\r
-       }\r
-       EndDialog(hW,TRUE);\r
-}\r
-\r
-\r
-#define ConfPlugin(src, confs, name) \\r
-       void *drv; \\r
-       src conf; \\r
-       char * pDLL = GetSelDLL(hW, confs); \\r
-       char file[256]; \\r
-       if(pDLL==NULL) return; \\r
-       strcpy(file, Config.PluginsDir); \\r
-       strcat(file, pDLL); \\r
-       drv = SysLoadLibrary(file); \\r
-       if (drv == NULL) return; \\r
-       conf = (src) SysLoadSym(drv, name); \\r
-       if (SysLibError() == NULL) conf(); \\r
-       SysCloseLibrary(drv);\r
-\r
-void ConfigureGPU(HWND hW) {\r
-       ConfPlugin(GPUconfigure, IDC_LISTGPU, "GPUconfigure");\r
-}\r
-\r
-void ConfigureSPU(HWND hW) {\r
-       ConfPlugin(SPUconfigure, IDC_LISTSPU, "SPUconfigure");\r
-}\r
-\r
-void ConfigureCDR(HWND hW) {\r
-       ConfPlugin(CDRconfigure, IDC_LISTCDR, "CDRconfigure");\r
-}\r
-\r
-void ConfigureNET(HWND hW) {\r
-       ConfPlugin(NETconfigure, IDC_LISTNET, "NETconfigure");\r
-}\r
-\r
-void ConfigurePAD1(HWND hW) {\r
-       ConfPlugin(PADconfigure, IDC_LISTPAD1, "PADconfigure");\r
-}\r
-\r
-void ConfigurePAD2(HWND hW) {\r
-       ConfPlugin(PADconfigure, IDC_LISTPAD2, "PADconfigure");\r
-}\r
-\r
-\r
-void AboutGPU(HWND hW) {\r
-       ConfPlugin(GPUabout, IDC_LISTGPU, "GPUabout");\r
-}\r
-\r
-void AboutSPU(HWND hW) {\r
-       ConfPlugin(SPUabout, IDC_LISTSPU, "SPUabout");\r
-}\r
-\r
-void AboutCDR(HWND hW) {\r
-       ConfPlugin(CDRabout, IDC_LISTCDR, "CDRabout");\r
-}\r
-\r
-void AboutNET(HWND hW) {\r
-       ConfPlugin(NETabout, IDC_LISTNET, "NETabout");\r
-}\r
-\r
-void AboutPAD1(HWND hW) {\r
-       ConfPlugin(PADabout, IDC_LISTPAD1, "PADabout");\r
-}\r
-\r
-void AboutPAD2(HWND hW) {\r
-       ConfPlugin(PADabout, IDC_LISTPAD2, "PADabout");\r
-}\r
-\r
-\r
-#define TestPlugin(src, confs, name) \\r
-       void *drv; \\r
-       src conf; \\r
-       int ret = 0; \\r
-       char * pDLL = GetSelDLL(hW, confs); \\r
-       char file[256]; \\r
-       if (pDLL== NULL) return; \\r
-       strcpy(file, Config.PluginsDir); \\r
-       strcat(file, pDLL); \\r
-       drv = SysLoadLibrary(file); \\r
-       if (drv == NULL) return; \\r
-       conf = (src) SysLoadSym(drv, name); \\r
-       if (SysLibError() == NULL) { \\r
-               ret = conf(); \\r
-               if (ret == 0) \\r
-                        SysMessage(_("This plugin reports that should work correctly")); \\r
-               else SysMessage(_("This plugin reports that should not work correctly")); \\r
-       } \\r
-       SysCloseLibrary(drv);\r
-\r
-void TestGPU(HWND hW) {\r
-       TestPlugin(GPUtest, IDC_LISTGPU, "GPUtest");\r
-}\r
-\r
-void TestSPU(HWND hW) {\r
-       TestPlugin(SPUtest, IDC_LISTSPU, "SPUtest");\r
-}\r
-\r
-void TestCDR(HWND hW) {\r
-       TestPlugin(CDRtest, IDC_LISTCDR, "CDRtest");\r
-}\r
-\r
-void TestNET(HWND hW) {\r
-       TestPlugin(NETtest, IDC_LISTNET, "NETtest");\r
-}\r
-\r
-void TestPAD1(HWND hW) {\r
-       TestPlugin(PADtest, IDC_LISTPAD1, "PADtest");\r
-}\r
-\r
-void TestPAD2(HWND hW) {\r
-       TestPlugin(PADtest, IDC_LISTPAD2, "PADtest");\r
-}\r
-\r
-#include <shlobj.h>\r
-\r
-int SelectPath(HWND hW, char *Title, char *Path) {\r
-       LPITEMIDLIST pidl;\r
-       BROWSEINFO bi;\r
-       char Buffer[256];\r
-\r
-       bi.hwndOwner = hW;\r
-       bi.pidlRoot = NULL;\r
-       bi.pszDisplayName = Buffer;\r
-       bi.lpszTitle = Title;\r
-       bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;\r
-       bi.lpfn = NULL;\r
-       bi.lParam = 0;\r
-       if ((pidl = SHBrowseForFolder(&bi)) != NULL) {\r
-               if (SHGetPathFromIDList(pidl, Path)) {\r
-                       int len = strlen(Path);\r
-\r
-                       if (Path[len - 1] != '\\') { strcat(Path,"\\"); }\r
-                       return 0;\r
-               }\r
-       }\r
-       return -1;\r
-}\r
-\r
-void SetPluginsDir(HWND hW) {\r
-       char Path[256];\r
-\r
-       if (SelectPath(hW, _("Select Plugins Directory"), Path) == -1) return;\r
-       strcpy(Config.PluginsDir, Path);\r
-       CleanUpCombos(hW);\r
-       OnConfigurePluginsDialog(hW);\r
-}\r
-\r
-void SetBiosDir(HWND hW) {\r
-       char Path[256];\r
-\r
-       if (SelectPath(hW, _("Select Bios Directory"), Path) == -1) return;\r
-       strcpy(Config.BiosDir, Path);\r
-       CleanUpCombos(hW);\r
-       OnConfigurePluginsDialog(hW);\r
-}\r
-\r
-BOOL CALLBACK ConfigurePluginsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       switch(uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Configuration"));\r
-\r
-                       Button_SetText(GetDlgItem(hW, IDOK), _("OK"));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("Cancel"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_GRAPHICS), _("Graphics"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_FIRSTCONTROLLER), _("First Controller"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_SECONDCONTROLLER), _("Second Controller"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_SOUND), _("Sound"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_CDROM), _("Cdrom"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_BIOS), _("Bios"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_BIOSDIR), _("Set Bios Directory"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_PLUGINSDIR), _("Set Plugins Directory"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGGPU), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTGPU), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTGPU), _("About..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGSPU), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTSPU), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTSPU), _("About..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGCDR), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTCDR), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTCDR), _("About..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGPAD1), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTPAD1), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTPAD1), _("About..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGPAD2), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTPAD2), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTPAD2), _("About..."));\r
-\r
-                       return OnConfigurePluginsDialog(hW);\r
-\r
-               case WM_COMMAND:\r
-                       switch(LOWORD(wParam)) {\r
-                               case IDC_CONFIGGPU:  ConfigureGPU(hW); return TRUE;\r
-                               case IDC_CONFIGSPU:  ConfigureSPU(hW); return TRUE;\r
-                               case IDC_CONFIGCDR:  ConfigureCDR(hW); return TRUE;\r
-                               case IDC_CONFIGPAD1: ConfigurePAD1(hW); return TRUE;\r
-                               case IDC_CONFIGPAD2: ConfigurePAD2(hW); return TRUE;\r
-\r
-                               case IDC_TESTGPU:    TestGPU(hW);   return TRUE;\r
-                               case IDC_TESTSPU:    TestSPU(hW);   return TRUE;\r
-                               case IDC_TESTCDR:    TestCDR(hW);   return TRUE;\r
-                               case IDC_TESTPAD1:   TestPAD1(hW);  return TRUE;\r
-                               case IDC_TESTPAD2:   TestPAD2(hW);  return TRUE;\r
-\r
-                               case IDC_ABOUTGPU:   AboutGPU(hW);  return TRUE;\r
-                               case IDC_ABOUTSPU:   AboutSPU(hW);  return TRUE;\r
-                case IDC_ABOUTCDR:   AboutCDR(hW);  return TRUE;\r
-               case IDC_ABOUTPAD1:  AboutPAD1(hW); return TRUE;\r
-                   case IDC_ABOUTPAD2:  AboutPAD2(hW); return TRUE;\r
-\r
-                               case IDC_PLUGINSDIR: SetPluginsDir(hW); return TRUE;\r
-                               case IDC_BIOSDIR:        SetBiosDir(hW);        return TRUE;\r
-\r
-                               case IDCANCEL: \r
-                                       OnCancel(hW); \r
-                                       if (CancelQuit) {\r
-                                               SysClose(); exit(1);\r
-                                       }\r
-                                       return TRUE;\r
-                               case IDOK:     \r
-                                       OnOK(hW);     \r
-                                       return TRUE;\r
-                       }\r
-       }\r
-       return FALSE;\r
-}\r
-\r
-\r
-void ConfigurePlugins(HWND hWnd) {\r
-    DialogBox(gApp.hInstance,\r
-              MAKEINTRESOURCE(IDD_CONFIG),\r
-              hWnd,  \r
-              (DLGPROC)ConfigurePluginsDlgProc);\r
-}\r
-\r
-// NetPlay Config Dialog\r
-\r
-BOOL OnConfigureNetPlayDialog(HWND hW) {\r
-       WIN32_FIND_DATA FindData;\r
-       HANDLE Find;\r
-       HANDLE Lib;\r
-       PSEgetLibType    PSE_GetLibType;\r
-       PSEgetLibName    PSE_GetLibName;\r
-       PSEgetLibVersion PSE_GetLibVersion;\r
-       HWND hWC_NET=GetDlgItem(hW,IDC_LISTNET);\r
-       char tmpStr[256];\r
-       char *lp;\r
-       int i;\r
-\r
-       strcpy(tmpStr, Config.PluginsDir);\r
-       strcat(tmpStr, "*.dll");\r
-       Find = FindFirstFile(tmpStr, &FindData);\r
-\r
-       lp = (char *)malloc(strlen("Disabled")+8);\r
-       sprintf(lp, "Disabled");\r
-       i = ComboBox_AddString(hWC_NET, "Disabled");\r
-       ComboBox_SetItemData(hWC_NET, i, lp);\r
-       ComboBox_SetCurSel(hWC_NET,  0);\r
-\r
-       do {\r
-               if (Find==INVALID_HANDLE_VALUE) break;\r
-               sprintf(tmpStr,"%s%s", Config.PluginsDir, FindData.cFileName);\r
-               Lib = LoadLibrary(tmpStr);\r
-               if (Lib!=NULL) {\r
-                       PSE_GetLibType = (PSEgetLibType) GetProcAddress((HMODULE)Lib,"PSEgetLibType");\r
-                       PSE_GetLibName = (PSEgetLibName) GetProcAddress((HMODULE)Lib,"PSEgetLibName");\r
-                       PSE_GetLibVersion = (PSEgetLibVersion) GetProcAddress((HMODULE)Lib,"PSEgetLibVersion");\r
-\r
-                       if (PSE_GetLibType != NULL && PSE_GetLibName != NULL && PSE_GetLibVersion != NULL) {\r
-                               unsigned long version = PSE_GetLibVersion();\r
-                               long type;\r
-\r
-                               sprintf(tmpStr, "%s %d.%d", PSE_GetLibName(), (int)(version>>8)&0xff, (int)version&0xff);\r
-                               type = PSE_GetLibType();\r
-                               if (type & PSE_LT_NET  && ((version >> 16) == 2)) {\r
-                                       ComboAddPlugin(hWC_NET, Config.Net);\r
-                               }\r
-                       }\r
-               }\r
-       } while (FindNextFile(Find,&FindData));\r
-\r
-       if (Find!=INVALID_HANDLE_VALUE) FindClose(Find);\r
-\r
-       return TRUE;\r
-}\r
-\r
-BOOL CALLBACK ConfigureNetPlayDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       int i,iCnt;HWND hWC;char * lp;\r
-\r
-       switch(uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("NetPlay Configuration"));\r
-\r
-                       Button_SetText(GetDlgItem(hW, IDOK), _("OK"));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("Cancel"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_NETPLAY), _("NetPlay"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_CONFIGNET), _("Configure..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TESTNET), _("Test..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_ABOUTNET), _("About..."));\r
-                       Static_SetText(GetDlgItem(hW, IDC_NETPLAYNOTE), _("Note: The NetPlay Plugin Directory should be the same as the other Plugins."));\r
-\r
-                       OnConfigureNetPlayDialog(hW);\r
-                       return TRUE;\r
-\r
-               case WM_COMMAND: {\r
-               switch (LOWORD(wParam)) {\r
-                               case IDC_CONFIGNET:  ConfigureNET(hW); return TRUE;\r
-                               case IDC_TESTNET:    TestNET(hW);   return TRUE;\r
-                               case IDC_ABOUTNET:   AboutNET(hW);  return TRUE;\r
-\r
-                               case IDCANCEL: \r
-                                       CleanCombo(IDC_LISTNET);\r
-                                       EndDialog(hW,FALSE); \r
-                                       return TRUE;\r
-\r
-                               case IDOK:\r
-                                       strcpy(Config.Net, GetSelDLL(hW, IDC_LISTNET));\r
-                                       SaveConfig();\r
-                                       CleanUpCombos(hW);\r
-                                       LoadPlugins();\r
-                                       CleanCombo(IDC_LISTNET);\r
-                                       EndDialog(hW,TRUE);\r
-                                       return TRUE;\r
-                       }\r
-               }\r
-       }\r
-\r
-       return FALSE;\r
-}\r