void rarch_set_paths(const char *path) { settings_t *settings = config_get_ptr(); global_t *global = global_get_ptr(); set_basename(path); if (!global->has_set_save_path) fill_pathname_noext(global->savefile_name, global->basename, ".srm", sizeof(global->savefile_name)); if (!global->has_set_state_path) fill_pathname_noext(global->savestate_name, global->basename, ".state", sizeof(global->savestate_name)); fill_pathname_noext(global->cheatfile_name, global->basename, ".cht", sizeof(global->cheatfile_name)); set_paths_redirect(path); /* If this is already set, do not overwrite it * as this was initialized before in a menu or otherwise. */ if (*settings->system_directory) return; fill_pathname_basedir(settings->system_directory, path, sizeof(settings->system_directory)); }
bool retro_load_game(const struct retro_game_info *info) { if (failed_init) return false; overscan = false; environ_cb(RETRO_ENVIRONMENT_GET_OVERSCAN, &overscan); set_basename(info->path); game = MDFNI_LoadGame(MEDNAFEN_CORE_NAME_MODULE, info->path); if (!game) return false; MDFN_PixelFormat pix_fmt(MDFN_COLORSPACE_RGB, 16, 8, 0, 24); memset(&last_pixel_format, 0, sizeof(MDFN_PixelFormat)); surf = new MDFN_Surface(NULL, FB_WIDTH, FB_HEIGHT, FB_WIDTH, pix_fmt); hookup_ports(true); check_variables(); return game; }
void rarch_set_paths(const char *path) { global_t *global = global_get_ptr(); set_basename(path); if (!global->has_set.save_path) fill_pathname_noext(global->name.savefile, global->name.base, ".srm", sizeof(global->name.savefile)); if (!global->has_set.state_path) fill_pathname_noext(global->name.savestate, global->name.base, ".state", sizeof(global->name.savestate)); fill_pathname_noext(global->name.cheatfile, global->name.base, ".cht", sizeof(global->name.cheatfile)); set_paths_redirect(path); }
static void set_special_paths(char **argv, unsigned num_content) { unsigned i; union string_list_elem_attr attr; global_t *global = global_get_ptr(); settings_t *settings = config_get_ptr(); /* First content file is the significant one. */ set_basename(argv[0]); global->subsystem_fullpaths = string_list_new(); rarch_assert(global->subsystem_fullpaths); attr.i = 0; for (i = 0; i < num_content; i++) string_list_append(global->subsystem_fullpaths, argv[i], attr); /* We defer SRAM path updates until we can resolve it. * It is more complicated for special content types. */ if (!global->has_set.state_path) fill_pathname_noext(global->name.savestate, global->name.base, ".state", sizeof(global->name.savestate)); if (path_is_directory(global->name.savestate)) { fill_pathname_dir(global->name.savestate, global->name.base, ".state", sizeof(global->name.savestate)); RARCH_LOG("%s \"%s\".\n", msg_hash_to_str(MSG_REDIRECTING_SAVESTATE_TO), global->name.savestate); } /* If this is already set, * do not overwrite it as this was initialized before in * a menu or otherwise. */ if (settings->system_directory[0] == '\0') { RARCH_WARN("SYSTEM DIR is empty, assume CONTENT DIR %s\n",argv[0]); /*fill_pathname_basedir(settings->system_directory, argv[0], sizeof(settings->system_directory));*/ } }
static void set_special_paths(char **argv, unsigned num_content) { unsigned i; union string_list_elem_attr attr; global_t *global = global_get_ptr(); settings_t *settings = config_get_ptr(); /* First content file is the significant one. */ set_basename(argv[0]); global->subsystem_fullpaths = string_list_new(); rarch_assert(global->subsystem_fullpaths); attr.i = 0; for (i = 0; i < num_content; i++) string_list_append(global->subsystem_fullpaths, argv[i], attr); /* We defer SRAM path updates until we can resolve it. * It is more complicated for special content types. */ if (!global->has_set_state_path) fill_pathname_noext(global->savestate_name, global->basename, ".state", sizeof(global->savestate_name)); if (path_is_directory(global->savestate_name)) { fill_pathname_dir(global->savestate_name, global->basename, ".state", sizeof(global->savestate_name)); RARCH_LOG("Redirecting save state to \"%s\".\n", global->savestate_name); } /* If this is already set, * do not overwrite it as this was initialized before in * a menu or otherwise. */ if (!*settings->system_directory) fill_pathname_basedir(settings->system_directory, argv[0], sizeof(settings->system_directory)); }