mirror of https://github.com/PCSX2/pcsx2.git
Merge pull request #607 from TheLastRar/dev9settings
dev9ghz: Use .ini for saving settings and delete old registry keys
This commit is contained in:
commit
eb0f6eb953
|
@ -81,7 +81,7 @@ u32 CALLBACK PS2EgetLibVersion2(u32 type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//string s_strIniPath = "inis";
|
std::string s_strIniPath = "inis";
|
||||||
std::string s_strLogPath = "logs";
|
std::string s_strLogPath = "logs";
|
||||||
// Warning: The below log function is SLOW. Better fix it before attempting to use it.
|
// Warning: The below log function is SLOW. Better fix it before attempting to use it.
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
@ -627,7 +627,7 @@ void CALLBACK DEV9setSettingsDir(const char* dir)
|
||||||
{
|
{
|
||||||
// Grab the ini directory.
|
// Grab the ini directory.
|
||||||
// TODO: Use
|
// TODO: Use
|
||||||
// s_strIniPath = (dir == NULL) ? "inis" : dir;
|
s_strIniPath = (dir == NULL) ? "inis" : dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CALLBACK DEV9setLogDir(const char* dir)
|
void CALLBACK DEV9setLogDir(const char* dir)
|
||||||
|
|
|
@ -128,7 +128,8 @@ EXTERN DEV9callback DEV9irq;
|
||||||
//void DEV9thread();
|
//void DEV9thread();
|
||||||
|
|
||||||
EXTERN PluginLog DEV9Log;
|
EXTERN PluginLog DEV9Log;
|
||||||
//Yes this is meant to be a lowercase extern
|
//Yes these are meant to be a lowercase extern
|
||||||
|
extern std::string s_strIniPath;
|
||||||
extern std::string s_strLogPath;
|
extern std::string s_strLogPath;
|
||||||
void __Log(char *fmt, ...);
|
void __Log(char *fmt, ...);
|
||||||
|
|
||||||
|
|
|
@ -26,24 +26,87 @@
|
||||||
#define GetKeyVdw(name, var) \
|
#define GetKeyVdw(name, var) \
|
||||||
GetKeyV(name, var, 4, REG_DWORD);
|
GetKeyV(name, var, 4, REG_DWORD);
|
||||||
|
|
||||||
#define SetKeyV(name, var, s, t) \
|
//#define SetKeyV(name, var, s, t) \
|
||||||
RegSetValueEx(myKey, name, 0, t, (LPBYTE) var, s);
|
// RegSetValueEx(myKey, name, 0, t, (LPBYTE) var, s);
|
||||||
|
|
||||||
#define SetKeyVdw(name, var) \
|
//#define SetKeyVdw(name, var) \
|
||||||
SetKeyV(name, var, 4, REG_DWORD);
|
// SetKeyV(name, var, 4, REG_DWORD);
|
||||||
|
|
||||||
|
BOOL WritePrivateProfileInt(LPCSTR lpAppName, LPCSTR lpKeyName, int intvar, LPCSTR lpFileName)
|
||||||
|
{
|
||||||
|
return WritePrivateProfileString(lpAppName, lpKeyName, std::to_string(intvar).c_str(), lpFileName);
|
||||||
|
}
|
||||||
|
bool FileExists(std::string szPath)
|
||||||
|
{
|
||||||
|
DWORD dwAttrib = GetFileAttributes(szPath.c_str());
|
||||||
|
return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
|
||||||
|
!(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
|
||||||
|
}
|
||||||
|
|
||||||
void SaveConf() {
|
void SaveConf() {
|
||||||
|
const std::string file(s_strIniPath + "/dev9ghz.ini");
|
||||||
|
DeleteFile(file.c_str());
|
||||||
|
|
||||||
|
WritePrivateProfileString("DEV9", "Eth", config.Eth, file.c_str());
|
||||||
|
WritePrivateProfileString("DEV9", "Hdd", config.Hdd, file.c_str());
|
||||||
|
WritePrivateProfileInt("DEV9", "HddSize", config.HddSize, file.c_str());
|
||||||
|
WritePrivateProfileInt("DEV9", "ethEnable", config.ethEnable, file.c_str());
|
||||||
|
WritePrivateProfileInt("DEV9", "hddEnable", config.hddEnable, file.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
void DeleteRegConf() {
|
||||||
HKEY myKey;
|
HKEY myKey;
|
||||||
DWORD myDisp;
|
//DWORD type, size;
|
||||||
|
|
||||||
RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin\\DEV9\\DEV9linuz", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &myKey, &myDisp);
|
|
||||||
SetKeyV("Eth", config.Eth, strlen(config.Eth), REG_SZ);
|
|
||||||
SetKeyV("Hdd", config.Hdd, strlen(config.Hdd), REG_SZ);
|
|
||||||
SetKeyVdw("HddSize", &config.HddSize);
|
|
||||||
SetKeyVdw("ethEnable", &config.ethEnable);
|
|
||||||
SetKeyVdw("hddEnable", &config.hddEnable);
|
|
||||||
|
|
||||||
|
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin\\DEV9\\DEV9linuz", 0, KEY_ALL_ACCESS, &myKey) != ERROR_SUCCESS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RegDeleteKey(myKey, "Eth");
|
||||||
|
RegDeleteKey(myKey, "Hdd");
|
||||||
|
RegDeleteKey(myKey, "HddSize");
|
||||||
|
RegDeleteKey(myKey, "ethEnable");
|
||||||
|
RegDeleteKey(myKey, "hddEnable");
|
||||||
RegCloseKey(myKey);
|
RegCloseKey(myKey);
|
||||||
|
//Delete Key Software\PS2Eplugin\DEV9\DEV9linuz
|
||||||
|
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin\\DEV9", 0, KEY_ALL_ACCESS, &myKey) != ERROR_SUCCESS) {
|
||||||
|
emu_printf("Error Opening Key DEV9\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (RegDeleteKey(myKey, "DEV9linuz") != ERROR_SUCCESS) {
|
||||||
|
emu_printf("Error Removing Key DEV9linuz\n");
|
||||||
|
RegCloseKey(myKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RegCloseKey(myKey);
|
||||||
|
//Delete Key Software\PS2Eplugin\DEV9
|
||||||
|
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin", 0, KEY_ALL_ACCESS, &myKey) != ERROR_SUCCESS) {
|
||||||
|
emu_printf("Error Opening Key PS2Eplugin\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (RegDeleteKey(myKey, "DEV9") != ERROR_SUCCESS) {
|
||||||
|
emu_printf("Error Removing Key DEV9\n");
|
||||||
|
RegCloseKey(myKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RegCloseKey(myKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LoadIniConf() {
|
||||||
|
//memset(&config, 0, sizeof(config));
|
||||||
|
//strcpy(config.Hdd, HDD_DEF);
|
||||||
|
//config.HddSize = 8 * 1024;
|
||||||
|
//strcpy(config.Eth, ETH_DEF);
|
||||||
|
|
||||||
|
const std::string file(s_strIniPath + "/dev9ghz.ini");
|
||||||
|
if (FileExists(file.c_str()) == false) {
|
||||||
|
SaveConf();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
GetPrivateProfileString("DEV9", "Eth", ETH_DEF, config.Eth, sizeof(config.Eth), file.c_str());
|
||||||
|
GetPrivateProfileString("DEV9", "Hdd", HDD_DEF, config.Hdd, sizeof(config.Hdd), file.c_str());
|
||||||
|
config.HddSize = GetPrivateProfileInt("DEV9", "HddSize", config.HddSize, file.c_str());
|
||||||
|
config.ethEnable = GetPrivateProfileInt("DEV9", "ethEnable", config.ethEnable, file.c_str());
|
||||||
|
config.hddEnable = GetPrivateProfileInt("DEV9", "hddEnable", config.hddEnable, file.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadConf() {
|
void LoadConf() {
|
||||||
|
@ -56,8 +119,11 @@ void LoadConf() {
|
||||||
strcpy(config.Eth, ETH_DEF);
|
strcpy(config.Eth, ETH_DEF);
|
||||||
|
|
||||||
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin\\DEV9\\DEV9linuz", 0, KEY_ALL_ACCESS, &myKey)!=ERROR_SUCCESS) {
|
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\PS2Eplugin\\DEV9\\DEV9linuz", 0, KEY_ALL_ACCESS, &myKey)!=ERROR_SUCCESS) {
|
||||||
SaveConf(); return;
|
LoadIniConf();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
printf("Importing Settings\n");
|
||||||
|
//Import old settings if user has upgraded this plugin
|
||||||
GetKeyV("Eth", config.Eth, sizeof(config.Eth), REG_SZ);
|
GetKeyV("Eth", config.Eth, sizeof(config.Eth), REG_SZ);
|
||||||
GetKeyV("Hdd", config.Hdd, sizeof(config.Hdd), REG_SZ);
|
GetKeyV("Hdd", config.Hdd, sizeof(config.Hdd), REG_SZ);
|
||||||
GetKeyVdw("HddSize", &config.HddSize);
|
GetKeyVdw("HddSize", &config.HddSize);
|
||||||
|
@ -65,5 +131,7 @@ void LoadConf() {
|
||||||
GetKeyVdw("hddEnable", &config.hddEnable);
|
GetKeyVdw("hddEnable", &config.hddEnable);
|
||||||
|
|
||||||
RegCloseKey(myKey);
|
RegCloseKey(myKey);
|
||||||
|
SaveConf();
|
||||||
|
DeleteRegConf();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue