Revert "(RARCH_CONSOLE) Can finally get rid of global_driver_init"

Spoke too soon - we really need to refactor this mess so that
consoles, mobile and PC all follow the SAME basic initing/deiniting
structure. This kind of backwardsness is going to scale very, very
badly.

This reverts commit 540fad51a6d9f5b993adfff178b3179bbc439297.
This commit is contained in:
twinaphex 2014-05-10 03:33:11 +02:00
parent 05a3b4e4b7
commit d7c1ea5ece
3 changed files with 35 additions and 15 deletions

View File

@ -713,6 +713,18 @@ bool driver_update_system_av_info(const struct retro_system_av_info *info)
return true;
}
// Only called once on init and deinit.
// Video and input drivers need to be active (owned)
// before retroarch core starts.
// Core handles audio.
void global_init_drivers(void)
{
find_audio_driver();
find_input_driver();
init_video_input();
}
void global_uninit_drivers(void)
{
if (driver.video && driver.video_data)

View File

@ -540,6 +540,7 @@ void init_drivers(void);
void init_drivers_pre(void);
void uninit_drivers(void);
void global_init_drivers(void);
void global_uninit_drivers(void);
void init_video_input(void);

View File

@ -32,7 +32,23 @@ frontend_ctx_driver_t *frontend_ctx;
#ifdef RARCH_CONSOLE
#include "../config.def.h"
default_paths_t default_paths;
static void rarch_get_environment_console(void)
{
path_mkdir(default_paths.port_dir);
path_mkdir(default_paths.system_dir);
path_mkdir(default_paths.savestate_dir);
path_mkdir(default_paths.sram_dir);
config_load();
init_libretro_sym(false);
rarch_init_system_info();
global_init_drivers();
}
#endif
#if defined(ANDROID)
@ -73,24 +89,27 @@ default_paths_t default_paths;
#define ra_preinited false
#endif
#if defined(HAVE_BB10)
#if defined(HAVE_BB10) || defined(RARCH_CONSOLE)
#define attempt_load_game false
#else
#define attempt_load_game true
#endif
#if defined(HAVE_BB10) || defined(ANDROID)
#if defined(RARCH_CONSOLE) || defined(HAVE_BB10) || defined(ANDROID)
#define initial_menu_lifecycle_state (1ULL << MODE_LOAD_GAME)
#else
#define initial_menu_lifecycle_state (1ULL << MODE_GAME)
#endif
#if !defined(HAVE_BB10) && !defined(ANDROID)
#if !defined(RARCH_CONSOLE) && !defined(HAVE_BB10) && !defined(ANDROID)
#define attempt_load_game_push_history true
#else
#define attempt_load_game_push_history false
#endif
#ifndef RARCH_CONSOLE
#define rarch_get_environment_console() (void)0
#endif
#if defined(RARCH_CONSOLE) || defined(__QNX__) || defined(ANDROID)
#define attempt_load_game_fails (1ULL << MODE_MENU_PREINIT)
@ -100,18 +119,6 @@ default_paths_t default_paths;
static retro_keyboard_event_t key_event;
static void rarch_get_environment_console(void)
{
#ifdef RARCH_CONSOLE
path_mkdir(default_paths.port_dir);
path_mkdir(default_paths.system_dir);
path_mkdir(default_paths.savestate_dir);
path_mkdir(default_paths.sram_dir);
config_load();
#endif
}
#ifdef HAVE_MENU
static int main_entry_iterate_clear_input(args_type() args)
{