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=b3a56c606d2963c242f0488f350ea7b35b01ea0e;hb=fba064572196c69de43e3c69245369d94d3be929;hpb=7e400e1c1d60c94128b3b44019be9e9ad52a033c diff --git a/frontend/main.c b/frontend/main.c index b3a56c60..643d6fe1 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -54,6 +54,7 @@ static void CheckSubDir() { create_profile_dir(PLUGINS_CFG_DIR); create_profile_dir(CHEATS_DIR); create_profile_dir(PATCHES_DIR); + create_profile_dir(PCSX_DOT_DIR "cfg"); } void set_cd_image(const char *fname) @@ -162,7 +163,6 @@ 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"); @@ -208,8 +208,8 @@ int main(int argc, char *argv[]) return 1; } - SysReset(); CheckCdrom(); + SysReset(); if (file[0] != '\0') { if (Load(file) != -1) @@ -422,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++) @@ -432,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) {