|
@@ -32,6 +32,7 @@ static const ConfigItem gConfigItems[PALCFG_ALL_MAX] = {
|
|
|
|
|
|
{ PALCFG_CD, PALCFG_STRING, "CD", 2, "OGG", NULL, NULL },
|
|
|
{ PALCFG_GAMEPATH, PALCFG_STRING, "GAMEPATH", 8, NULL, NULL, NULL },
|
|
|
+ { PALCFG_SAVEPATH, PALCFG_STRING, "SAVEPATH", 8, NULL, NULL, NULL },
|
|
|
{ PALCFG_MESSAGEFILE, PALCFG_STRING, "MESSAGEFILENAME", 15, NULL, NULL, NULL },
|
|
|
{ PALCFG_BDFFILE, PALCFG_STRING, "BDFFILENAME", 11, NULL, NULL, NULL },
|
|
|
{ PALCFG_MUSIC, PALCFG_STRING, "MUSIC", 5, "RIX", NULL, NULL },
|
|
@@ -278,6 +279,18 @@ PAL_LoadConfig(
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
+ case PALCFG_SAVEPATH:
|
|
|
+ {
|
|
|
+ int n = strlen(value.sValue);
|
|
|
+ while (n > 0 && isspace(value.sValue[n - 1])) n--;
|
|
|
+ if (n > 0)
|
|
|
+ {
|
|
|
+ gConfig.pszSavePath = (char *)realloc(gConfig.pszSavePath, n + 1);
|
|
|
+ memcpy(gConfig.pszSavePath, value.sValue, n);
|
|
|
+ gConfig.pszSavePath[n] = '\0';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
case PALCFG_CD:
|
|
|
{
|
|
|
if (PAL_HAS_MP3 && SDL_strncasecmp(value.sValue, "MP3", 3) == 0)
|
|
@@ -367,6 +380,7 @@ PAL_LoadConfig(
|
|
|
// Set configurable global options
|
|
|
//
|
|
|
if (!gConfig.pszGamePath) gConfig.pszGamePath = strdup(PAL_PREFIX);
|
|
|
+ if (!gConfig.pszSavePath) gConfig.pszSavePath = strdup(PAL_SAVE_PREFIX);
|
|
|
gConfig.eMusicType = eMusicType;
|
|
|
gConfig.eCDType = eCDType;
|
|
|
gConfig.eOPLType = eOPLType;
|
|
@@ -446,6 +460,7 @@ PAL_SaveConfig(
|
|
|
sprintf(buf, "%s=%s\n", PAL_ConfigName(PALCFG_OPL), opl_types[gConfig.eOPLType]); fputs(buf, fp);
|
|
|
|
|
|
if (gConfig.pszGamePath) { sprintf(buf, "%s=%s\n", PAL_ConfigName(PALCFG_GAMEPATH), gConfig.pszGamePath); fputs(buf, fp); }
|
|
|
+ if (gConfig.pszSavePath) { sprintf(buf, "%s=%s\n", PAL_ConfigName(PALCFG_SAVEPATH), gConfig.pszSavePath); fputs(buf, fp); }
|
|
|
if (gConfig.pszMsgFile) { sprintf(buf, "%s=%s\n", PAL_ConfigName(PALCFG_MESSAGEFILE), gConfig.pszMsgFile); fputs(buf, fp); }
|
|
|
if (gConfig.pszBdfFile) { sprintf(buf, "%s=%s\n", PAL_ConfigName(PALCFG_BDFFILE), gConfig.pszBdfFile); fputs(buf, fp); }
|
|
|
|