aboutsummaryrefslogtreecommitdiff
path: root/frontend/main.c
diff options
context:
space:
mode:
authorneonloop2021-03-14 07:26:51 +0000
committerneonloop2021-03-14 07:26:51 +0000
commite401112deb4d2118835e263f5895b2c4ece992b7 (patch)
treeb718f5ccedd883847d8b79402da72d30b1b7725c /frontend/main.c
parentfbac0d5692c5343dd163ba289f80d167dd8582c7 (diff)
downloadpcsx_rearmed-e401112deb4d2118835e263f5895b2c4ece992b7.tar.gz
pcsx_rearmed-e401112deb4d2118835e263f5895b2c4ece992b7.tar.bz2
pcsx_rearmed-e401112deb4d2118835e263f5895b2c4ece992b7.zip
Config and saves go in ~/.pcsx
Diffstat (limited to 'frontend/main.c')
-rw-r--r--frontend/main.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/frontend/main.c b/frontend/main.c
index cf45475..0266992 100644
--- a/frontend/main.c
+++ b/frontend/main.c
@@ -54,12 +54,15 @@ enum sched_action emu_action, emu_action_old;
char hud_msg[64];
int hud_new_msg;
-static void make_path(char *buf, size_t size, const char *dir, const char *fname)
+void make_path(char *buf, size_t size, const char *dir, const char *fname)
{
+ char root_dir[MAXPATHLEN];
+ plat_get_root_dir(root_dir, MAXPATHLEN);
+
if (fname)
- snprintf(buf, size, ".%s%s", dir, fname);
+ snprintf(buf, size, "%s%s%s", root_dir, dir, fname);
else
- snprintf(buf, size, ".%s", dir);
+ snprintf(buf, size, "%s%s", root_dir, dir);
}
#define MAKE_PATH(buf, dir, fname) \
make_path(buf, sizeof(buf), dir, fname)
@@ -103,7 +106,7 @@ void set_cd_image(const char *fname)
static void set_default_paths(void)
{
#ifndef NO_FRONTEND
- snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR);
+ MAKE_PATH(Config.PatchesDir, PATCHES_DIR, NULL);
MAKE_PATH(Config.Mcd1, MEMCARD_DIR, "card1.mcd");
MAKE_PATH(Config.Mcd2, MEMCARD_DIR, "card2.mcd");
strcpy(Config.BiosDir, "bios");
@@ -477,17 +480,13 @@ static void create_profile_dir(const char *directory) {
}
static void check_profile(void) {
- // make sure that ~/.pcsx exists
- create_profile_dir(PCSX_DOT_DIR);
-
- create_profile_dir(BIOS_DIR);
create_profile_dir(MEMCARD_DIR);
create_profile_dir(STATES_DIR);
create_profile_dir(PLUGINS_DIR);
create_profile_dir(PLUGINS_CFG_DIR);
create_profile_dir(CHEATS_DIR);
create_profile_dir(PATCHES_DIR);
- create_profile_dir(PCSX_DOT_DIR "cfg");
+ create_profile_dir("/cfg/");
create_profile_dir("/screenshots/");
}
@@ -601,7 +600,7 @@ int main(int argc, char *argv[])
// FIXME: this recovery doesn't work, just delete bad config and bail out
// SysMessage("could not load plugins, retrying with defaults\n");
set_default_paths();
- snprintf(path, sizeof(path), "." PCSX_DOT_DIR "%s", cfgfile_basename);
+ MAKE_PATH(path, cfgfile_basename, NULL);
remove(path);
SysMessage("Failed loading plugins!");
return 1;
@@ -757,8 +756,10 @@ void SysUpdate() {
}
int get_state_filename(char *buf, int size, int i) {
- return get_gameid_filename(buf, size,
- "." STATES_DIR "%.32s-%.9s.%3.3d", i);
+ char fname[MAXPATHLEN];
+ MAKE_PATH(fname, STATES_DIR, "%.32s-%.9s.%3.3d");
+
+ return get_gameid_filename(buf, size, fname, i);
}
int emu_check_state(int slot)