X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=15e2be40e2419ac44b51364dfa14e7976592bb00;hp=372fdf1d7965fa94267fce3412cf71823ad0d810;hb=cd6e8d0f6f7596fc25c30b352d4785e74af3edf6;hpb=47bf65ab6163fb70eb2ad309c9487229832bcaed diff --git a/frontend/main.c b/frontend/main.c index 372fdf1d..15e2be40 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -54,18 +54,7 @@ static void CheckSubDir() { create_profile_dir(PLUGINS_CFG_DIR); create_profile_dir(CHEATS_DIR); create_profile_dir(PATCHES_DIR); -} - -static void CreateMemcard(char *filename, char *conf_mcd) { - struct stat buf; - - make_path(conf_mcd, MAXPATHLEN, MEMCARD_DIR, filename); - - /* Only create a memory card if an existing one does not exist */ - if (stat(conf_mcd, &buf) == -1) { - SysPrintf(_("Creating memory card: %s\n"), conf_mcd); - CreateMcd(conf_mcd); - } + create_profile_dir(PCSX_DOT_DIR "cfg"); } void set_cd_image(const char *fname) @@ -176,6 +165,8 @@ int main(int argc, char *argv[]) CheckSubDir(); // ScanAllPlugins(); + MAKE_PATH(Config.Mcd1, MEMCARD_DIR, "card1.mcd"); + MAKE_PATH(Config.Mcd2, MEMCARD_DIR, "card2.mcd"); strcpy(Config.Bios, "HLE"); strcpy(Config.BiosDir, "./"); @@ -185,21 +176,7 @@ int main(int argc, char *argv[]) strcpy(Config.Cdr, "builtin_cdr"); strcpy(Config.Pad1, "builtin_pad"); strcpy(Config.Pad2, "builtin_pad"); - - // try to load config - // if the config file doesn't exist - if (LoadConfig() == -1) { - // Uh oh, no config file found, use some defaults - Config.PsxAuto = 1; - - // create & load default memcards if they don't exist - CreateMemcard("card1.mcd", Config.Mcd1); - CreateMemcard("card2.mcd", Config.Mcd2); - - LoadMcds(Config.Mcd1, Config.Mcd2); - - SaveConfig(); - } + Config.PsxAuto = 1; snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR); /* @@ -297,6 +274,9 @@ void StartGui() { void SysReset() { EmuReset(); + + // hmh core forgets this + CDR_stop(); } void SysClose() { @@ -317,7 +297,9 @@ void UpdateMenuSlots() { } void OnFile_Exit() { - printf("OnFile_Exit\n"); + printf("OnFile_Exit\n"); + plat_finish(); + SysClose(); exit(0); } @@ -451,6 +433,13 @@ void *SysLoadLibrary(const char *lib) { return (void *)(long)(PLUGIN_DL_BASE + builtin_plugin_ids[i]); } +#if defined(__x86_64__) || defined(__i386__) + // convenience hack + char name[MAXPATHLEN]; + snprintf(name, sizeof(name), "%s.x86", lib); + lib = name; +#endif + return dlopen(lib, RTLD_NOW); }