123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- diff --git a/Src/OSD/SDL/Main.cpp b/Src/OSD/SDL/Main.cpp
- --- a/Src/OSD/SDL/Main.cpp
- +++ b/Src/OSD/SDL/Main.cpp
- @@ -307,7 +307,6 @@
- Configuration file management and input settings.
- ******************************************************************************/
-
- -#define CONFIG_FILE_PATH "Config/Supermodel.ini"
- #define CONFIG_FILE_COMMENT ";\n" \
- "; Supermodel Configuration File\n" \
- ";\n"
- @@ -315,9 +314,13 @@
- // Create and configure inputs
- static bool ConfigureInputs(CInputs *Inputs, bool configure)
- {
- + char configFilePath[512];
- +
- + sprintf(configFilePath, "%s/.supermodel/supermodel.ini", getenv("HOME"));
- +
- // Open and parse configuration file
- CINIFile INI;
- - INI.Open(CONFIG_FILE_PATH); // doesn't matter if it exists or not, will get overwritten
- + INI.Open(configFilePath); // doesn't matter if it exists or not, will get overwritten
- INI.SetDefaultSectionName("Global");
- INI.Parse();
-
- @@ -338,9 +341,9 @@
- Inputs->WriteToINIFile(&INI, "Global");
-
- if (OKAY != INI.Write(CONFIG_FILE_COMMENT))
- - ErrorLog("Unable to save configuration to '%s'.", CONFIG_FILE_PATH);
- + ErrorLog("Unable to save configuration to '%s'.", configFilePath);
- else
- - printf("Configuration successfully saved to '%s'.\n", CONFIG_FILE_PATH);
- + printf("Configuration successfully saved to '%s'.\n", configFilePath);
- }
- else
- puts("Configuration aborted...");
- @@ -412,9 +415,13 @@
- // Read settings (from a specific section) from the config file
- static void ReadConfigFile(const char *section)
- {
- + char configFilePath[512];
- +
- + sprintf(configFilePath, "%s/.supermodel/supermodel.ini", getenv("HOME"));
- +
- CINIFile INI;
-
- - INI.Open(CONFIG_FILE_PATH);
- + INI.Open(configFilePath);
- INI.SetDefaultSectionName("Global"); // required to read settings not associated with a specific section
- INI.Parse();
- ApplySettings(&INI, section);
- @@ -498,10 +505,10 @@
- static void SaveState(CModel3 *Model3)
- {
- CBlockFile SaveState;
- - char filePath[24];
- + char filePath[512];
- int fileVersion = STATE_FILE_VERSION;
-
- - sprintf(filePath, "Saves/%s.st%d", Model3->GetGameInfo()->id, saveSlot);
- + sprintf(filePath, "%s/.supermodel/saves/%s.st%d", getenv("HOME"), Model3->GetGameInfo()->id, saveSlot);
- if (OKAY != SaveState.Create(filePath, "Supermodel Save State", "Supermodel Version " SUPERMODEL_VERSION))
- {
- ErrorLog("Unable to save state to '%s'.", filePath);
- @@ -522,11 +529,11 @@
- static void LoadState(CModel3 *Model3)
- {
- CBlockFile SaveState;
- - char filePath[24];
- + char filePath[512];
- int fileVersion;
-
- // Generate file path
- - sprintf(filePath, "Saves/%s.st%d", Model3->GetGameInfo()->id, saveSlot);
- + sprintf(filePath, "%s/.supermodel/saves/%s.st%d", getenv("HOME"), Model3->GetGameInfo()->id, saveSlot);
-
- // Open and check to make sure format is correct
- if (OKAY != SaveState.Load(filePath))
- @@ -558,10 +565,10 @@
- static void SaveNVRAM(CModel3 *Model3)
- {
- CBlockFile NVRAM;
- - char filePath[24];
- + char filePath[512];
- int fileVersion = NVRAM_FILE_VERSION;
-
- - sprintf(filePath, "NVRAM/%s.nv", Model3->GetGameInfo()->id);
- + sprintf(filePath, "%s/.supermodel/NVRAM/%s.nv", getenv("HOME"), Model3->GetGameInfo()->id);
- if (OKAY != NVRAM.Create(filePath, "Supermodel NVRAM State", "Supermodel Version " SUPERMODEL_VERSION))
- {
- ErrorLog("Unable to save NVRAM to '%s'. Make sure directory exists!", filePath);
- @@ -581,11 +588,11 @@
- static void LoadNVRAM(CModel3 *Model3)
- {
- CBlockFile NVRAM;
- - char filePath[24];
- + char filePath[512];
- int fileVersion;
-
- // Generate file path
- - sprintf(filePath, "NVRAM/%s.nv", Model3->GetGameInfo()->id);
- + sprintf(filePath, "%s/.supermodel/NVRAM/%s.nv", getenv("HOME"), Model3->GetGameInfo()->id);
-
- // Open and check to make sure format is correct
- if (OKAY != NVRAM.Load(filePath))
|