From ac30fcab606fdce98ddee0bf61598fdb1f520993 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 3 Jun 2014 17:34:25 +0200 Subject: [PATCH] (PSP) Update platform_psp to use new argc/argv system --- frontend/platform/platform_ps3.c | 2 +- frontend/platform/platform_psp.c | 32 ++++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/frontend/platform/platform_ps3.c b/frontend/platform/platform_ps3.c index 2966eecc0d..129233e283 100644 --- a/frontend/platform/platform_ps3.c +++ b/frontend/platform/platform_ps3.c @@ -217,7 +217,7 @@ static void frontend_ps3_get_environment_settings(int *argc, char *argv[], args->config_path = NULL; args->sram_path = NULL; args->state_path = NULL; - args->rom_path = path; + args->rom_path = strdup(path); args->libretro_path = NULL; RARCH_LOG("argv[0]: %s\n", argv[0]); diff --git a/frontend/platform/platform_psp.c b/frontend/platform/platform_psp.c index afba3b4d17..d9703d0955 100644 --- a/frontend/platform/platform_psp.c +++ b/frontend/platform/platform_psp.c @@ -68,6 +68,32 @@ static void frontend_psp_get_environment_settings(int *argc, char *argv[], fill_pathname_join(default_paths.sram_dir, default_paths.core_dir, "savefiles", sizeof(default_paths.sram_dir)); fill_pathname_join(default_paths.system_dir, default_paths.core_dir, "system", sizeof(default_paths.system_dir)); fill_pathname_join(default_paths.config_path, default_paths.port_dir, "retroarch.cfg", sizeof(default_paths.config_path)); + + if (argv[1] && (argv[1][0] != '\0')) + { + char path[PATH_MAX]; + struct rarch_main_wrap *args = (struct rarch_main_wrap*)params_data; + + if (args) + { + strlcpy(path, argv[1], sizeof(path)); + + args->touched = true; + args->no_rom = false; + args->verbose = false; + args->config_path = NULL; + args->sram_path = NULL; + args->state_path = NULL; + args->rom_path = strdup(path); + args->libretro_path = NULL; + + RARCH_LOG("argv[0]: %s\n", argv[0]); + RARCH_LOG("argv[1]: %s\n", argv[1]); + RARCH_LOG("argv[2]: %s\n", argv[2]); + + RARCH_LOG("Auto-start game %s.\n", argv[1]); + } + } } int callback_thread(SceSize args, void *argp) @@ -113,12 +139,6 @@ static int frontend_psp_process_args(int *argc, char *argv[], void *args) (void)argc; (void)args; - if (argv[1] && (argv[1][0])) - { - strlcpy(g_extern.fullpath, argv[1], sizeof(g_extern.fullpath)); - g_extern.lifecycle_state |= (1ULL << MODE_LOAD_GAME); - return 0; - } return 1; }