summaryrefslogtreecommitdiff
path: root/memory.c
diff options
context:
space:
mode:
authornotaz2011-09-07 23:45:45 +0300
committernotaz2011-09-08 00:48:33 +0300
commitd0944fc942fad418aed45245e4259780f2fc0697 (patch)
treebba39c77c1c9e8fde1fcf63e253dbac71e0cc522 /memory.c
parenta88b04319e4e8a00fb955ee085929039f0c34a49 (diff)
downloadpicogpsp-d0944fc942fad418aed45245e4259780f2fc0697.tar.gz
picogpsp-d0944fc942fad418aed45245e4259780f2fc0697.tar.bz2
picogpsp-d0944fc942fad418aed45245e4259780f2fc0697.zip
store saves and configs in gpsp dir
Don't like ROM dir littering. Still looking there for .sav and .cht files though.
Diffstat (limited to 'memory.c')
-rw-r--r--memory.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/memory.c b/memory.c
index 103e85a..db05001 100644
--- a/memory.c
+++ b/memory.c
@@ -2022,11 +2022,7 @@ s32 load_game_config(char *gamepak_title, char *gamepak_code, char *gamepak_make
translation_gate_targets = 0;
flash_device_id = FLASH_DEVICE_MACRONIX_64KB;
-#if (defined(PSP_BUILD) || defined(ARM_ARCH)) && !defined(_WIN32_WCE)
- sprintf(config_path, "%s/%s", main_path, CONFIG_FILENAME);
-#else
- sprintf(config_path, "%s\\%s", main_path, CONFIG_FILENAME);
-#endif
+ sprintf(config_path, "%s" PATH_SEPARATOR "%s", main_path, CONFIG_FILENAME);
config_file = fopen(config_path, "rb");
@@ -2113,6 +2109,9 @@ s32 load_game_config(char *gamepak_title, char *gamepak_code, char *gamepak_make
fclose(config_file);
}
+#ifndef PSP_BUILD
+ printf("game config missing\n");
+#endif
return -1;
}
@@ -2182,11 +2181,17 @@ u32 load_gamepak(char *name)
{
gamepak_size = (file_size + 0x7FFF) & ~0x7FFF;
- strcpy(backup_filename, name);
- strncpy(gamepak_filename, name, 512);
- change_ext(gamepak_filename, backup_filename, ".sav");
+ strncpy(gamepak_filename, name, sizeof(gamepak_filename));
+ gamepak_filename[sizeof(gamepak_filename) - 1] = 0;
- load_backup(backup_filename);
+ make_rpath(backup_filename, sizeof(backup_filename), ".sav");
+ if (!load_backup(backup_filename))
+ {
+ // try path used by older versions
+ strcpy(backup_filename, name);
+ change_ext(gamepak_filename, backup_filename, ".sav");
+ load_backup(backup_filename);
+ }
memcpy(gamepak_title, gamepak_rom + 0xA0, 12);
memcpy(gamepak_code, gamepak_rom + 0xAC, 4);