X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=643d6fe162e10e0c1d90885ba0c240e9e1495798;hp=36b6a6a1ce98ae11ee40b01a598a6264b8b7c76c;hb=bbd837c6d8a14e76c19028c84ef62a3b8cf0c1f0;hpb=4f3639fab62fa95f4bdc620b2e3500e717a0fcf3 diff --git a/frontend/main.c b/frontend/main.c index 36b6a6a1..643d6fe1 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) @@ -174,8 +163,9 @@ int main(int argc, char *argv[]) strcpy(Config.Net, "Disabled"); 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, "./"); @@ -218,8 +208,8 @@ int main(int argc, char *argv[]) return 1; } - SysReset(); CheckCdrom(); + SysReset(); if (file[0] != '\0') { if (Load(file) != -1) @@ -432,9 +422,11 @@ static const int builtin_plugin_ids[] = { void *SysLoadLibrary(const char *lib) { const char *tmp = strrchr(lib, '/'); + void *ret; int i; - printf("dlopen %s\n", lib); + printf("plugin: %s\n", lib); + if (tmp != NULL) { tmp++; for (i = 0; i < ARRAY_SIZE(builtin_plugins); i++) @@ -442,7 +434,17 @@ void *SysLoadLibrary(const char *lib) { return (void *)(long)(PLUGIN_DL_BASE + builtin_plugin_ids[i]); } - return dlopen(lib, RTLD_NOW); +#if defined(__x86_64__) || defined(__i386__) + // convenience hack + char name[MAXPATHLEN]; + snprintf(name, sizeof(name), "%s.x86", lib); + lib = name; +#endif + + ret = dlopen(lib, RTLD_NOW); + if (ret == NULL) + fprintf(stderr, "dlopen: %s\n", dlerror()); + return ret; } void *SysLoadSym(void *lib, const char *sym) {