add save/load PSP parameters from ini file;
This commit is contained in:
parent
13f1acf80e
commit
61a7c821d2
4 changed files with 83 additions and 74 deletions
|
@ -118,8 +118,16 @@ void Config::Load(const char *iniFileName)
|
||||||
control->Get("ForceInputDevice", &iForceInputDevice, -1);
|
control->Get("ForceInputDevice", &iForceInputDevice, -1);
|
||||||
|
|
||||||
IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam");
|
IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam");
|
||||||
|
pspConfig->Get("NickName", &sNickName, "shadow");
|
||||||
pspConfig->Get("Language", &ilanguage, PSP_SYSTEMPARAM_LANGUAGE_ENGLISH);
|
pspConfig->Get("Language", &ilanguage, PSP_SYSTEMPARAM_LANGUAGE_ENGLISH);
|
||||||
pspConfig->Get("TimeFormat", &itimeformat, PSP_SYSTEMPARAM_TIME_FORMAT_24HR);
|
pspConfig->Get("TimeFormat", &itimeformat, PSP_SYSTEMPARAM_TIME_FORMAT_24HR);
|
||||||
|
pspConfig->Get("DateFormat", &iDateFormat, PSP_SYSTEMPARAM_DATE_FORMAT_YYYYMMDD);
|
||||||
|
pspConfig->Get("TimeZone", &iTimeZone, 0);
|
||||||
|
pspConfig->Get("DayLightSavings", &bDayLightSavings, PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_STD);
|
||||||
|
pspConfig->Get("ButtonPreference", &bButtonPreference, PSP_SYSTEMPARAM_BUTTON_CIRCLE);
|
||||||
|
pspConfig->Get("LockParentalLevel", &bLockParentalLevel, PSP_SYSTEMPARAM_TIME_FORMAT_24HR);
|
||||||
|
pspConfig->Get("WlanAdhocChannel", &iWlanAdhocChannel, PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC);
|
||||||
|
pspConfig->Get("WlanPowerSave", &bWlanPowerSave, PSP_SYSTEMPARAM_WLAN_POWERSAVE_OFF);
|
||||||
pspConfig->Get("EncryptSave", &bEncryptSave, true);
|
pspConfig->Get("EncryptSave", &bEncryptSave, true);
|
||||||
|
|
||||||
CleanRecent();
|
CleanRecent();
|
||||||
|
@ -187,8 +195,16 @@ void Config::Save()
|
||||||
|
|
||||||
|
|
||||||
IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam");
|
IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam");
|
||||||
|
pspConfig->Set("NickName", sNickName.c_str());
|
||||||
pspConfig->Set("Language", ilanguage);
|
pspConfig->Set("Language", ilanguage);
|
||||||
pspConfig->Set("TimeFormat", itimeformat);
|
pspConfig->Set("TimeFormat", itimeformat);
|
||||||
|
pspConfig->Set("DateFormat", iDateFormat);
|
||||||
|
pspConfig->Set("TimeZone", iTimeZone);
|
||||||
|
pspConfig->Set("DayLightSavings", bDayLightSavings);
|
||||||
|
pspConfig->Set("ButtonPreference", bButtonPreference);
|
||||||
|
pspConfig->Set("LockParentalLevel", bLockParentalLevel);
|
||||||
|
pspConfig->Set("WlanAdhocChannel", iWlanAdhocChannel);
|
||||||
|
pspConfig->Set("WlanPowerSave", bWlanPowerSave);
|
||||||
pspConfig->Set("EncryptSave", bEncryptSave);
|
pspConfig->Set("EncryptSave", bEncryptSave);
|
||||||
|
|
||||||
if (!iniFile.Save(iniFilename_.c_str())) {
|
if (!iniFile.Save(iniFilename_.c_str())) {
|
||||||
|
|
|
@ -87,9 +87,17 @@ public:
|
||||||
int iForceInputDevice;
|
int iForceInputDevice;
|
||||||
|
|
||||||
// SystemParam
|
// SystemParam
|
||||||
|
std::string sNickName;
|
||||||
int ilanguage;
|
int ilanguage;
|
||||||
int itimeformat;
|
int itimeformat;
|
||||||
|
int iDateFormat;
|
||||||
|
int iTimeZone;
|
||||||
|
bool bDayLightSavings;
|
||||||
|
bool bButtonPreference;
|
||||||
|
bool bLockParentalLevel;
|
||||||
bool bEncryptSave;
|
bool bEncryptSave;
|
||||||
|
int iWlanAdhocChannel;
|
||||||
|
bool bWlanPowerSave;
|
||||||
|
|
||||||
std::string currentDirectory;
|
std::string currentDirectory;
|
||||||
std::string memCardDirectory;
|
std::string memCardDirectory;
|
||||||
|
|
|
@ -364,58 +364,6 @@ int sceUtilityGamedataInstallGetStatus()
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PSP_SYSTEMPARAM_ID_STRING_NICKNAME 1
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL 2
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE 3
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT 4
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_TIME_FORMAT 5
|
|
||||||
//Timezone offset from UTC in minutes, (EST = -300 = -5 * 60)
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_TIMEZONE 6
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS 7
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_LANGUAGE 8
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE 9
|
|
||||||
#define PSP_SYSTEMPARAM_ID_INT_LOCK_PARENTAL_LEVEL 10
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return values for the SystemParam functions
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_RETVAL_OK 0
|
|
||||||
#define PSP_SYSTEMPARAM_RETVAL_FAIL 0x80110103
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC 0
|
|
||||||
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_1 1
|
|
||||||
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_6 6
|
|
||||||
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_11 11
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_WLAN_POWERSAVE_OFF 0
|
|
||||||
#define PSP_SYSTEMPARAM_WLAN_POWERSAVE_ON 1
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_DATE_FORMAT_YYYYMMDD 0
|
|
||||||
#define PSP_SYSTEMPARAM_DATE_FORMAT_MMDDYYYY 1
|
|
||||||
#define PSP_SYSTEMPARAM_DATE_FORMAT_DDMMYYYY 2
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_STD 0
|
|
||||||
#define PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_SAVING 1
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE
|
|
||||||
*/
|
|
||||||
#define PSP_SYSTEMPARAM_BUTTON_CIRCLE 0
|
|
||||||
#define PSP_SYSTEMPARAM_BUTTON_CROSS 1
|
|
||||||
|
|
||||||
//TODO: should save to config file
|
//TODO: should save to config file
|
||||||
u32 sceUtilitySetSystemParamString(u32 id, u32 strPtr)
|
u32 sceUtilitySetSystemParamString(u32 id, u32 strPtr)
|
||||||
{
|
{
|
||||||
|
@ -430,7 +378,7 @@ u32 sceUtilityGetSystemParamString(u32 id, u32 destaddr, u32 unknownparam)
|
||||||
char *buf = (char *)Memory::GetPointer(destaddr);
|
char *buf = (char *)Memory::GetPointer(destaddr);
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case PSP_SYSTEMPARAM_ID_STRING_NICKNAME:
|
case PSP_SYSTEMPARAM_ID_STRING_NICKNAME:
|
||||||
strcpy(buf, "shadow");
|
strcpy(buf, g_Config.sNickName.c_str());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -440,37 +388,37 @@ u32 sceUtilityGetSystemParamString(u32 id, u32 destaddr, u32 unknownparam)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Should load from config file
|
|
||||||
u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr)
|
u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr)
|
||||||
{
|
{
|
||||||
DEBUG_LOG(HLE,"sceUtilityGetSystemParamInt(%i, %08x)", id,destaddr);
|
DEBUG_LOG(HLE,"sceUtilityGetSystemParamInt(%i, %08x)", id,destaddr);
|
||||||
u32 param = 0;
|
u32 param = 0;
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL:
|
case PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL:
|
||||||
param = PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC;
|
param = g_Config.iWlanAdhocChannel;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE:
|
case PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE:
|
||||||
param = PSP_SYSTEMPARAM_WLAN_POWERSAVE_OFF;
|
param = g_Config.bWlanPowerSave?PSP_SYSTEMPARAM_WLAN_POWERSAVE_ON:PSP_SYSTEMPARAM_WLAN_POWERSAVE_OFF;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT:
|
case PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT:
|
||||||
param = PSP_SYSTEMPARAM_DATE_FORMAT_DDMMYYYY;
|
param = g_Config.iDateFormat;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_TIME_FORMAT:
|
case PSP_SYSTEMPARAM_ID_INT_TIME_FORMAT:
|
||||||
param = g_Config.itimeformat;
|
param = g_Config.itimeformat?PSP_SYSTEMPARAM_TIME_FORMAT_12HR:PSP_SYSTEMPARAM_TIME_FORMAT_24HR;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_TIMEZONE:
|
case PSP_SYSTEMPARAM_ID_INT_TIMEZONE:
|
||||||
param = 60;
|
param = g_Config.iTimeZone;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS:
|
case PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS:
|
||||||
param = PSP_SYSTEMPARAM_TIME_FORMAT_24HR;
|
param = g_Config.bDayLightSavings?PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_SAVING:PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_STD;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_LANGUAGE:
|
case PSP_SYSTEMPARAM_ID_INT_LANGUAGE:
|
||||||
param = g_Config.ilanguage;
|
param = g_Config.ilanguage;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE:
|
case PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE:
|
||||||
param = PSP_SYSTEMPARAM_BUTTON_CROSS;
|
param = g_Config.bButtonPreference?PSP_SYSTEMPARAM_BUTTON_CROSS:PSP_SYSTEMPARAM_BUTTON_CIRCLE;
|
||||||
break;
|
break;
|
||||||
case PSP_SYSTEMPARAM_ID_INT_LOCK_PARENTAL_LEVEL:
|
case PSP_SYSTEMPARAM_ID_INT_LOCK_PARENTAL_LEVEL:
|
||||||
|
// TODO
|
||||||
param = 0;
|
param = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -19,25 +19,62 @@
|
||||||
|
|
||||||
class PointerWrap;
|
class PointerWrap;
|
||||||
|
|
||||||
/**
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_LANGUAGE
|
||||||
* Valid values for PSP_SYSTEMPARAM_ID_INT_LANGUAGE
|
#define PSP_SYSTEMPARAM_LANGUAGE_JAPANESE 0
|
||||||
*/
|
#define PSP_SYSTEMPARAM_LANGUAGE_ENGLISH 1
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_JAPANESE 0
|
#define PSP_SYSTEMPARAM_LANGUAGE_FRENCH 2
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_ENGLISH 1
|
#define PSP_SYSTEMPARAM_LANGUAGE_SPANISH 3
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_FRENCH 2
|
#define PSP_SYSTEMPARAM_LANGUAGE_GERMAN 4
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_SPANISH 3
|
#define PSP_SYSTEMPARAM_LANGUAGE_ITALIAN 5
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_GERMAN 4
|
#define PSP_SYSTEMPARAM_LANGUAGE_DUTCH 6
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_ITALIAN 5
|
#define PSP_SYSTEMPARAM_LANGUAGE_PORTUGUESE 7
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_DUTCH 6
|
#define PSP_SYSTEMPARAM_LANGUAGE_RUSSIAN 8
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_PORTUGUESE 7
|
#define PSP_SYSTEMPARAM_LANGUAGE_KOREAN 9
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_RUSSIAN 8
|
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_KOREAN 9
|
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_CHINESE_TRADITIONAL 10
|
#define PSP_SYSTEMPARAM_LANGUAGE_CHINESE_TRADITIONAL 10
|
||||||
#define PSP_SYSTEMPARAM_LANGUAGE_CHINESE_SIMPLIFIED 11
|
#define PSP_SYSTEMPARAM_LANGUAGE_CHINESE_SIMPLIFIED 11
|
||||||
|
|
||||||
#define PSP_SYSTEMPARAM_TIME_FORMAT_24HR 0
|
#define PSP_SYSTEMPARAM_TIME_FORMAT_24HR 0
|
||||||
#define PSP_SYSTEMPARAM_TIME_FORMAT_12HR 1
|
#define PSP_SYSTEMPARAM_TIME_FORMAT_12HR 1
|
||||||
|
|
||||||
|
#define PSP_SYSTEMPARAM_ID_STRING_NICKNAME 1
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL 2
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE 3
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT 4
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_TIME_FORMAT 5
|
||||||
|
//Timezone offset from UTC in minutes, (EST = -300 = -5 * 60)
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_TIMEZONE 6
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS 7
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_LANGUAGE 8
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE 9
|
||||||
|
#define PSP_SYSTEMPARAM_ID_INT_LOCK_PARENTAL_LEVEL 10
|
||||||
|
|
||||||
|
// Return values for the SystemParam functions
|
||||||
|
#define PSP_SYSTEMPARAM_RETVAL_OK 0
|
||||||
|
#define PSP_SYSTEMPARAM_RETVAL_FAIL 0x80110103
|
||||||
|
|
||||||
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL
|
||||||
|
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC 0
|
||||||
|
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_1 1
|
||||||
|
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_6 6
|
||||||
|
#define PSP_SYSTEMPARAM_ADHOC_CHANNEL_11 11
|
||||||
|
|
||||||
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE
|
||||||
|
#define PSP_SYSTEMPARAM_WLAN_POWERSAVE_OFF 0
|
||||||
|
#define PSP_SYSTEMPARAM_WLAN_POWERSAVE_ON 1
|
||||||
|
|
||||||
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_DATE_FORMAT
|
||||||
|
#define PSP_SYSTEMPARAM_DATE_FORMAT_YYYYMMDD 0
|
||||||
|
#define PSP_SYSTEMPARAM_DATE_FORMAT_MMDDYYYY 1
|
||||||
|
#define PSP_SYSTEMPARAM_DATE_FORMAT_DDMMYYYY 2
|
||||||
|
|
||||||
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS
|
||||||
|
#define PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_STD 0
|
||||||
|
#define PSP_SYSTEMPARAM_DAYLIGHTSAVINGS_SAVING 1
|
||||||
|
|
||||||
|
// Valid values for PSP_SYSTEMPARAM_ID_INT_BUTTON_PREFERENCE
|
||||||
|
#define PSP_SYSTEMPARAM_BUTTON_CIRCLE 0
|
||||||
|
#define PSP_SYSTEMPARAM_BUTTON_CROSS 1
|
||||||
|
|
||||||
void __UtilityInit();
|
void __UtilityInit();
|
||||||
void __UtilityDoState(PointerWrap &p);
|
void __UtilityDoState(PointerWrap &p);
|
||||||
void __UtilityShutdown();
|
void __UtilityShutdown();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue