From cad237231ef0054167c29856facc20a1f7caab32 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 7 Dec 2015 15:01:53 +0100 Subject: [PATCH] Create RARCH_CTL_PREINIT --- frontend/frontend.c | 2 +- retroarch.c | 18 ++++++++---------- retroarch.h | 4 ++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/frontend/frontend.c b/frontend/frontend.c index b59c5c9e9a..89b710b650 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -261,7 +261,7 @@ int rarch_main(int argc, char *argv[], void *data) int ret = 0; settings_t *settings = NULL; - rarch_main_alloc(); + rarch_ctl(RARCH_CTL_PREINIT, NULL); frontend_driver_init_first(args); rarch_ctl(RARCH_CTL_INIT, NULL); diff --git a/retroarch.c b/retroarch.c index cede2c8c27..01cbfbf195 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1067,16 +1067,6 @@ static bool init_state(void) return true; } -void rarch_main_alloc(void) -{ - if (!config_realloc()) - return; - - event_command(EVENT_CMD_HISTORY_DEINIT); - - runloop_ctl(RUNLOOP_CTL_CLEAR_STATE, NULL); -} - void rarch_main_free(void) { runloop_ctl(RUNLOOP_CTL_MSG_QUEUE_DEINIT, NULL); @@ -1315,6 +1305,14 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) event_command(EVENT_CMD_DRIVERS_INIT); } return true; + case RARCH_CTL_PREINIT: + if (!config_realloc()) + return false; + + event_command(EVENT_CMD_HISTORY_DEINIT); + + runloop_ctl(RUNLOOP_CTL_CLEAR_STATE, NULL); + return true; case RARCH_CTL_INIT: rarch_ctl(RARCH_CTL_DEINIT, NULL); init_state(); diff --git a/retroarch.h b/retroarch.h index a51039eec7..edc44d6cb6 100644 --- a/retroarch.h +++ b/retroarch.h @@ -61,6 +61,8 @@ enum rarch_ctl_state /* Initialize all drivers. */ RARCH_CTL_INIT, + RARCH_CTL_PREINIT, + RARCH_CTL_LOAD_CONTENT, #ifdef HAVE_FFMPEG @@ -148,8 +150,6 @@ struct rarch_main_wrap bool touched; }; -void rarch_main_alloc(void); - void rarch_main_free(void); bool rarch_ctl(enum rarch_ctl_state state, void *data);