X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=gpsp.git;a=blobdiff_plain;f=memory.c;fp=memory.c;h=db05001ae8e0e34c3d8afc0985b6a046c2e2df2f;hp=103e85ab4ddf410dce41f53ec362e48810b65834;hb=d0944fc942fad418aed45245e4259780f2fc0697;hpb=a88b04319e4e8a00fb955ee085929039f0c34a49 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);