mirror of
https://github.com/libretro/RetroArch
synced 2025-03-26 11:37:30 +00:00
(RARCH_CONSOLE) Use init_drivers_pre once at startup of console
ports - use driver.video, driver.input as much as possible from then instead of explicit platform-specific drivers
This commit is contained in:
parent
9251eebe13
commit
c76ae2a8d1
@ -271,10 +271,10 @@ HRESULT CRetroArchControls::OnControlNavigate(
|
|||||||
case DPAD_EMULATION_NONE:
|
case DPAD_EMULATION_NONE:
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_LSTICK:
|
case DPAD_EMULATION_LSTICK:
|
||||||
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, controlno);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, controlno);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_RSTICK:
|
case DPAD_EMULATION_RSTICK:
|
||||||
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -295,10 +295,10 @@ HRESULT CRetroArchControls::OnControlNavigate(
|
|||||||
switch(g_settings.input.dpad_emulation[controlno])
|
switch(g_settings.input.dpad_emulation[controlno])
|
||||||
{
|
{
|
||||||
case DPAD_EMULATION_NONE:
|
case DPAD_EMULATION_NONE:
|
||||||
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_LSTICK:
|
case DPAD_EMULATION_LSTICK:
|
||||||
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, controlno);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, controlno);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_RSTICK:
|
case DPAD_EMULATION_RSTICK:
|
||||||
break;
|
break;
|
||||||
@ -681,7 +681,6 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
|
|||||||
{
|
{
|
||||||
bool aspectratio_changed = false;
|
bool aspectratio_changed = false;
|
||||||
int current_index;
|
int current_index;
|
||||||
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
|
|
||||||
|
|
||||||
current_index = m_quickmenulist.GetCurSel();
|
current_index = m_quickmenulist.GetCurSel();
|
||||||
|
|
||||||
@ -706,7 +705,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
|
|||||||
rarch_settings_change(S_ROTATION_DECREMENT);
|
rarch_settings_change(S_ROTATION_DECREMENT);
|
||||||
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
||||||
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
||||||
video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
driver.video->set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -731,7 +730,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
|
|||||||
rarch_settings_change(S_ROTATION_INCREMENT);
|
rarch_settings_change(S_ROTATION_INCREMENT);
|
||||||
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
||||||
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
||||||
video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
driver.video->set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -805,7 +804,7 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
|
|||||||
rarch_settings_default(S_DEF_ROTATION);
|
rarch_settings_default(S_DEF_ROTATION);
|
||||||
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
|
||||||
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
|
||||||
video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
driver.video->set_rotation(driver.video_data, g_extern.console.screen.orientation);
|
||||||
break;
|
break;
|
||||||
case MENU_ITEM_RESIZE_MODE:
|
case MENU_ITEM_RESIZE_MODE:
|
||||||
g_extern.console.rmenu.input_loop = INPUT_LOOP_RESIZE_MODE;
|
g_extern.console.rmenu.input_loop = INPUT_LOOP_RESIZE_MODE;
|
||||||
|
@ -776,9 +776,9 @@ static void rgui_settings_toggle_setting(rgui_file_type_t setting, rgui_action_t
|
|||||||
else if (action == RGUI_ACTION_RIGHT)
|
else if (action == RGUI_ACTION_RIGHT)
|
||||||
g_settings.input.device[port]++;
|
g_settings.input.device[port]++;
|
||||||
g_settings.input.device[port] %= RARCH_DEVICE_LAST;
|
g_settings.input.device[port] %= RARCH_DEVICE_LAST;
|
||||||
input_gx.set_default_keybind_lut(g_settings.input.device[port], port);
|
driver.input->set_default_keybind_lut(g_settings.input.device[port], port);
|
||||||
rarch_input_set_default_keybinds(port);
|
rarch_input_set_default_keybinds(port);
|
||||||
input_gx.set_analog_dpad_mapping(g_settings.input.device[port], g_settings.input.dpad_emulation[port], port);
|
driver.input->set_analog_dpad_mapping(g_settings.input.device[port], g_settings.input.dpad_emulation[port], port);
|
||||||
break;
|
break;
|
||||||
case RGUI_SETTINGS_BIND_DPAD_EMULATION:
|
case RGUI_SETTINGS_BIND_DPAD_EMULATION:
|
||||||
g_settings.input.dpad_emulation[port] += DPAD_EMULATION_LAST;
|
g_settings.input.dpad_emulation[port] += DPAD_EMULATION_LAST;
|
||||||
@ -789,7 +789,7 @@ static void rgui_settings_toggle_setting(rgui_file_type_t setting, rgui_action_t
|
|||||||
else if (action == RGUI_ACTION_RIGHT)
|
else if (action == RGUI_ACTION_RIGHT)
|
||||||
g_settings.input.dpad_emulation[port]++;
|
g_settings.input.dpad_emulation[port]++;
|
||||||
g_settings.input.dpad_emulation[port] %= DPAD_EMULATION_LAST;
|
g_settings.input.dpad_emulation[port] %= DPAD_EMULATION_LAST;
|
||||||
input_gx.set_analog_dpad_mapping(g_settings.input.device[port], g_settings.input.dpad_emulation[port], port);
|
driver.input->set_analog_dpad_mapping(g_settings.input.device[port], g_settings.input.dpad_emulation[port], port);
|
||||||
break;
|
break;
|
||||||
case RGUI_SETTINGS_BIND_UP:
|
case RGUI_SETTINGS_BIND_UP:
|
||||||
case RGUI_SETTINGS_BIND_DOWN:
|
case RGUI_SETTINGS_BIND_DOWN:
|
||||||
|
@ -1573,10 +1573,10 @@ static void set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
|||||||
case DPAD_EMULATION_NONE:
|
case DPAD_EMULATION_NONE:
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_LSTICK:
|
case DPAD_EMULATION_LSTICK:
|
||||||
input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, currently_selected_controller_menu);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, currently_selected_controller_menu);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_RSTICK:
|
case DPAD_EMULATION_RSTICK:
|
||||||
input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1586,10 +1586,10 @@ static void set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
|||||||
switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
|
switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
|
||||||
{
|
{
|
||||||
case DPAD_EMULATION_NONE:
|
case DPAD_EMULATION_NONE:
|
||||||
input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_LSTICK:
|
case DPAD_EMULATION_LSTICK:
|
||||||
input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, currently_selected_controller_menu);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, currently_selected_controller_menu);
|
||||||
break;
|
break;
|
||||||
case DPAD_EMULATION_RSTICK:
|
case DPAD_EMULATION_RSTICK:
|
||||||
break;
|
break;
|
||||||
@ -1597,7 +1597,7 @@ static void set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||||
input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
driver.input->set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
|
||||||
break;
|
break;
|
||||||
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_UP:
|
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_UP:
|
||||||
set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP, input);
|
set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP, input);
|
||||||
@ -2292,10 +2292,10 @@ void rmenu_input_poll(void *data, void *state)
|
|||||||
uint64_t input_state = 0;
|
uint64_t input_state = 0;
|
||||||
static bool first_held = false;
|
static bool first_held = false;
|
||||||
|
|
||||||
input_ptr.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
|
|
||||||
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
|
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
|
||||||
input_state |= input_ptr.input_state(NULL, rmenu_nav_binds, 0,
|
input_state |= driver.input->input_state(NULL, rmenu_nav_binds, 0,
|
||||||
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
||||||
|
|
||||||
//set first button input frame as trigger
|
//set first button input frame as trigger
|
||||||
@ -2305,11 +2305,11 @@ void rmenu_input_poll(void *data, void *state)
|
|||||||
|
|
||||||
//second button input frame
|
//second button input frame
|
||||||
input_state = 0;
|
input_state = 0;
|
||||||
input_ptr.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
|
|
||||||
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
|
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
|
||||||
{
|
{
|
||||||
input_state |= input_ptr.input_state(NULL, rmenu_nav_binds, 0,
|
input_state |= driver.input->input_state(NULL, rmenu_nav_binds, 0,
|
||||||
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,15 +19,8 @@
|
|||||||
|
|
||||||
#if defined(HAVE_OPENGL)
|
#if defined(HAVE_OPENGL)
|
||||||
#define DEVICE_CAST gl_t*
|
#define DEVICE_CAST gl_t*
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__CELLOS_LV2__)
|
|
||||||
#define input_ptr input_ps3
|
|
||||||
#elif defined(ANDROID)
|
|
||||||
#define input_ptr input_android
|
|
||||||
#elif defined(_XBOX1)
|
#elif defined(_XBOX1)
|
||||||
#define DEVICE_CAST xdk_d3d_video_t*
|
#define DEVICE_CAST xdk_d3d_video_t*
|
||||||
#define input_ptr input_xinput
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
2
driver.c
2
driver.c
@ -169,7 +169,7 @@ static void find_audio_driver(void)
|
|||||||
rarch_fail(1, "find_audio_driver()");
|
rarch_fail(1, "find_audio_driver()");
|
||||||
}
|
}
|
||||||
|
|
||||||
void find_video_driver(void)
|
static void find_video_driver(void)
|
||||||
{
|
{
|
||||||
for (unsigned i = 0; i < ARRAY_SIZE(video_drivers); i++)
|
for (unsigned i = 0; i < ARRAY_SIZE(video_drivers); i++)
|
||||||
{
|
{
|
||||||
|
2
driver.h
2
driver.h
@ -319,8 +319,6 @@ void init_drivers(void);
|
|||||||
void init_drivers_pre(void);
|
void init_drivers_pre(void);
|
||||||
void uninit_drivers(void);
|
void uninit_drivers(void);
|
||||||
|
|
||||||
void find_video_driver(void);
|
|
||||||
|
|
||||||
void init_video_input(void);
|
void init_video_input(void);
|
||||||
void uninit_video_input(void);
|
void uninit_video_input(void);
|
||||||
void init_audio(void);
|
void init_audio(void);
|
||||||
|
@ -284,13 +284,11 @@ static bool rmenu_iterate(void)
|
|||||||
|
|
||||||
uint16_t input_state = 0;
|
uint16_t input_state = 0;
|
||||||
|
|
||||||
input_gx.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
|
|
||||||
for (unsigned i = 0; i < GX_DEVICE_NAV_LAST; i++)
|
for (unsigned i = 0; i < GX_DEVICE_NAV_LAST; i++)
|
||||||
{
|
input_state |= driver.input->input_state(NULL, gx_nav_binds, 0,
|
||||||
input_state |= input_gx.input_state(NULL, gx_nav_binds, 0,
|
|
||||||
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
RETRO_DEVICE_JOYPAD, 0, i) ? (1ULL << i) : 0;
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t trigger_state = input_state & ~old_input_state;
|
uint16_t trigger_state = input_state & ~old_input_state;
|
||||||
bool do_held = (input_state & ((1ULL << GX_DEVICE_NAV_UP) | (1ULL << GX_DEVICE_NAV_DOWN) | (1ULL << GX_DEVICE_NAV_LEFT) | (1ULL << GX_DEVICE_NAV_RIGHT))) && !(input_state & ((1ULL << GX_DEVICE_NAV_MENU) | (1ULL << GX_DEVICE_NAV_QUIT)));
|
bool do_held = (input_state & ((1ULL << GX_DEVICE_NAV_UP) | (1ULL << GX_DEVICE_NAV_DOWN) | (1ULL << GX_DEVICE_NAV_LEFT) | (1ULL << GX_DEVICE_NAV_RIGHT))) && !(input_state & ((1ULL << GX_DEVICE_NAV_MENU) | (1ULL << GX_DEVICE_NAV_QUIT)));
|
||||||
@ -499,9 +497,10 @@ int main(int argc, char *argv[])
|
|||||||
get_environment_settings();
|
get_environment_settings();
|
||||||
make_directories();
|
make_directories();
|
||||||
config_set_defaults();
|
config_set_defaults();
|
||||||
input_gx.init();
|
|
||||||
|
|
||||||
find_video_driver();
|
init_drivers_pre();
|
||||||
|
|
||||||
|
driver.input->init();
|
||||||
driver.video->start();
|
driver.video->start();
|
||||||
|
|
||||||
gx_video_t *gx = (gx_video_t*)driver.video_data;
|
gx_video_t *gx = (gx_video_t*)driver.video_data;
|
||||||
@ -510,24 +509,23 @@ int main(int argc, char *argv[])
|
|||||||
char tmp_path[PATH_MAX];
|
char tmp_path[PATH_MAX];
|
||||||
const char *extension = default_paths.executable_extension;
|
const char *extension = default_paths.executable_extension;
|
||||||
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
||||||
const input_driver_t *input = &input_gx;
|
|
||||||
const char *path_prefix = tmp_path;
|
const char *path_prefix = tmp_path;
|
||||||
|
|
||||||
char full_path[1024];
|
char full_path[1024];
|
||||||
snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension);
|
snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension);
|
||||||
|
|
||||||
bool find_libretro_file = rarch_configure_libretro_core(full_path, path_prefix, path_prefix,
|
|
||||||
g_extern.config_path, extension);
|
|
||||||
|
|
||||||
rarch_settings_set_default();
|
rarch_settings_set_default();
|
||||||
rarch_input_set_controls_default(input);
|
rarch_input_set_controls_default(driver.input);
|
||||||
rarch_config_load();
|
rarch_config_load();
|
||||||
|
|
||||||
if (find_libretro_file)
|
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
||||||
|
if (rarch_configure_libretro_core(full_path, path_prefix, path_prefix,
|
||||||
|
g_extern.config_path, extension))
|
||||||
{
|
{
|
||||||
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
||||||
config_save_file(g_extern.config_path);
|
config_save_file(g_extern.config_path);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
char core_name[64];
|
char core_name[64];
|
||||||
rarch_console_name_from_id(core_name, sizeof(core_name));
|
rarch_console_name_from_id(core_name, sizeof(core_name));
|
||||||
@ -537,7 +535,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
init_libretro_sym();
|
init_libretro_sym();
|
||||||
|
|
||||||
input_gx.post_init();
|
driver.input->post_init();
|
||||||
|
|
||||||
menu_init();
|
menu_init();
|
||||||
|
|
||||||
@ -562,7 +560,7 @@ int main(int argc, char *argv[])
|
|||||||
begin_loop:
|
begin_loop:
|
||||||
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
||||||
{
|
{
|
||||||
input_gx.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
|
|
||||||
video_set_aspect_ratio_func(g_settings.video.aspect_ratio_idx);
|
video_set_aspect_ratio_func(g_settings.video.aspect_ratio_idx);
|
||||||
|
|
||||||
@ -606,7 +604,7 @@ begin_shutdown:
|
|||||||
if(g_extern.main_is_init)
|
if(g_extern.main_is_init)
|
||||||
rarch_main_deinit();
|
rarch_main_deinit();
|
||||||
|
|
||||||
input_gx.free(NULL);
|
driver.input->free(NULL);
|
||||||
driver.video->stop();
|
driver.video->stop();
|
||||||
menu_free();
|
menu_free();
|
||||||
|
|
||||||
|
@ -266,37 +266,34 @@ int main(int argc, char *argv[])
|
|||||||
get_environment_settings(argc, argv);
|
get_environment_settings(argc, argv);
|
||||||
|
|
||||||
config_set_defaults();
|
config_set_defaults();
|
||||||
input_ps3.init();
|
|
||||||
|
init_drivers_pre();
|
||||||
|
driver.input->init();
|
||||||
|
|
||||||
char tmp_path[PATH_MAX];
|
char tmp_path[PATH_MAX];
|
||||||
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
||||||
const char *path_prefix = tmp_path;
|
const char *path_prefix = tmp_path;
|
||||||
const char *extension = default_paths.executable_extension;
|
const char *extension = default_paths.executable_extension;
|
||||||
const input_driver_t *input = &input_ps3;
|
|
||||||
|
|
||||||
char core_exe_path[1024];
|
char core_exe_path[1024];
|
||||||
snprintf(core_exe_path, sizeof(core_exe_path), "%sCORE%s", path_prefix, extension);
|
snprintf(core_exe_path, sizeof(core_exe_path), "%sCORE%s", path_prefix, extension);
|
||||||
|
|
||||||
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
|
||||||
bool find_libretro_file = rarch_configure_libretro_core(core_exe_path, path_prefix, path_prefix,
|
|
||||||
g_extern.config_path, extension);
|
|
||||||
#else
|
|
||||||
bool find_libretro_file = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rarch_settings_set_default();
|
rarch_settings_set_default();
|
||||||
rarch_input_set_controls_default(input);
|
rarch_input_set_controls_default(driver.input);
|
||||||
rarch_config_load();
|
rarch_config_load();
|
||||||
|
|
||||||
if (find_libretro_file)
|
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
||||||
|
if (rarch_configure_libretro_core(core_exe_path, path_prefix, path_prefix,
|
||||||
|
g_extern.config_path, extension))
|
||||||
{
|
{
|
||||||
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
||||||
config_save_file(g_extern.config_path);
|
config_save_file(g_extern.config_path);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
init_libretro_sym();
|
init_libretro_sym();
|
||||||
|
|
||||||
input_ps3.post_init();
|
driver.input->post_init();
|
||||||
|
|
||||||
#if (CELL_SDK_VERSION > 0x340000) && !defined(__PSL1GHT__)
|
#if (CELL_SDK_VERSION > 0x340000) && !defined(__PSL1GHT__)
|
||||||
if (g_extern.console.screen.state.screenshots.enable)
|
if (g_extern.console.screen.state.screenshots.enable)
|
||||||
@ -319,7 +316,6 @@ int main(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
find_video_driver();
|
|
||||||
driver.video->start();
|
driver.video->start();
|
||||||
|
|
||||||
#ifdef HAVE_OSKUTIL
|
#ifdef HAVE_OSKUTIL
|
||||||
@ -348,7 +344,7 @@ int main(int argc, char *argv[])
|
|||||||
begin_loop:
|
begin_loop:
|
||||||
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
||||||
{
|
{
|
||||||
input_ps3.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
||||||
while(rarch_main_iterate());
|
while(rarch_main_iterate());
|
||||||
}
|
}
|
||||||
@ -386,7 +382,7 @@ begin_shutdown:
|
|||||||
if(g_extern.main_is_init)
|
if(g_extern.main_is_init)
|
||||||
rarch_main_deinit();
|
rarch_main_deinit();
|
||||||
|
|
||||||
input_ps3.free(NULL);
|
driver.input->free(NULL);
|
||||||
driver.video->stop();
|
driver.video->stop();
|
||||||
menu_free();
|
menu_free();
|
||||||
|
|
||||||
|
@ -127,39 +127,35 @@ int main(int argc, char *argv[])
|
|||||||
get_environment_settings(argc, argv);
|
get_environment_settings(argc, argv);
|
||||||
|
|
||||||
config_set_defaults();
|
config_set_defaults();
|
||||||
input_psp.init();
|
|
||||||
|
init_drivers_pre();
|
||||||
|
driver.input->init();
|
||||||
|
|
||||||
char tmp_path[PATH_MAX];
|
char tmp_path[PATH_MAX];
|
||||||
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
||||||
const char *path_prefix = tmp_path;
|
const char *path_prefix = tmp_path;
|
||||||
const char *extension = default_paths.executable_extension;
|
const char *extension = default_paths.executable_extension;
|
||||||
const input_driver_t *input = &input_psp;
|
|
||||||
|
|
||||||
char core_exe_path[1024];
|
char core_exe_path[1024];
|
||||||
snprintf(core_exe_path, sizeof(core_exe_path), "%sCORE%s", path_prefix, extension);
|
snprintf(core_exe_path, sizeof(core_exe_path), "%sCORE%s", path_prefix, extension);
|
||||||
|
|
||||||
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
|
||||||
bool find_libretro_file = rarch_configure_libretro_core(core_exe_path, path_prefix, path_prefix,
|
|
||||||
g_extern.config_path, extension);
|
|
||||||
#else
|
|
||||||
bool find_libretro_file = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rarch_settings_set_default();
|
rarch_settings_set_default();
|
||||||
rarch_input_set_controls_default(input);
|
rarch_input_set_controls_default(input);
|
||||||
rarch_config_load();
|
rarch_config_load();
|
||||||
|
|
||||||
if (find_libretro_file)
|
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
||||||
|
if (rarch_configure_libretro_core(core_exe_path, path_prefix, path_prefix,
|
||||||
|
g_extern.config_path, extension))
|
||||||
{
|
{
|
||||||
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
||||||
config_save_file(g_extern.config_path);
|
config_save_file(g_extern.config_path);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
init_libretro_sym();
|
init_libretro_sym();
|
||||||
|
|
||||||
input_psp.post_init();
|
driver.input->post_init();
|
||||||
|
|
||||||
find_video_driver();
|
|
||||||
driver.video->start();
|
driver.video->start();
|
||||||
|
|
||||||
menu_init();
|
menu_init();
|
||||||
@ -167,7 +163,7 @@ int main(int argc, char *argv[])
|
|||||||
begin_loop:
|
begin_loop:
|
||||||
if (g_extern.console.rmenu.mode == MODE_EMULATION)
|
if (g_extern.console.rmenu.mode == MODE_EMULATION)
|
||||||
{
|
{
|
||||||
input_psp.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
||||||
|
|
||||||
while(rarch_main_iterate());
|
while(rarch_main_iterate());
|
||||||
@ -206,7 +202,7 @@ begin_shutdown:
|
|||||||
if(g_extern.main_is_init)
|
if(g_extern.main_is_init)
|
||||||
rarch_main_deinit();
|
rarch_main_deinit();
|
||||||
|
|
||||||
input_psp.free(NULL);
|
driver.input->free(NULL);
|
||||||
driver.video->stop();
|
driver.video->stop();
|
||||||
menu_free();
|
menu_free();
|
||||||
|
|
||||||
|
@ -144,7 +144,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
config_set_defaults();
|
config_set_defaults();
|
||||||
|
|
||||||
input_xinput.init();
|
init_drivers_pre();
|
||||||
|
driver.input->init();
|
||||||
|
|
||||||
#ifdef _XBOX1
|
#ifdef _XBOX1
|
||||||
char path_prefix[256];
|
char path_prefix[256];
|
||||||
@ -153,29 +154,26 @@ int main(int argc, char *argv[])
|
|||||||
const char *path_prefix = default_paths.filesystem_root_dir;
|
const char *path_prefix = default_paths.filesystem_root_dir;
|
||||||
#endif
|
#endif
|
||||||
const char *extension = default_paths.executable_extension;
|
const char *extension = default_paths.executable_extension;
|
||||||
const input_driver_t *input = &input_xinput;
|
|
||||||
|
|
||||||
char full_path[1024];
|
char full_path[1024];
|
||||||
snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension);
|
snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension);
|
||||||
|
|
||||||
bool find_libretro_file = rarch_configure_libretro_core(full_path, path_prefix, path_prefix,
|
|
||||||
g_extern.config_path, extension);
|
|
||||||
|
|
||||||
rarch_settings_set_default();
|
rarch_settings_set_default();
|
||||||
rarch_input_set_controls_default(input);
|
rarch_input_set_controls_default(driver.input);
|
||||||
rarch_config_load();
|
rarch_config_load();
|
||||||
|
|
||||||
if (find_libretro_file)
|
#ifdef HAVE_LIBRETRO_MANAGEMENT
|
||||||
|
if (rarch_configure_libretro_core(full_path, path_prefix, path_prefix,
|
||||||
|
g_extern.config_path, extension))
|
||||||
{
|
{
|
||||||
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
RARCH_LOG("New default libretro core saved to config file: %s.\n", g_settings.libretro);
|
||||||
config_save_file(g_extern.config_path);
|
config_save_file(g_extern.config_path);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
init_libretro_sym();
|
init_libretro_sym();
|
||||||
|
|
||||||
input_xinput.post_init();
|
driver.input->init();
|
||||||
|
|
||||||
find_video_driver();
|
|
||||||
driver.video->start();
|
driver.video->start();
|
||||||
|
|
||||||
system_init();
|
system_init();
|
||||||
@ -186,8 +184,7 @@ begin_loop:
|
|||||||
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
if(g_extern.console.rmenu.mode == MODE_EMULATION)
|
||||||
{
|
{
|
||||||
|
|
||||||
input_xinput.poll(NULL);
|
driver.input->poll(NULL);
|
||||||
|
|
||||||
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
|
||||||
|
|
||||||
while(rarch_main_iterate());
|
while(rarch_main_iterate());
|
||||||
@ -225,7 +222,7 @@ begin_shutdown:
|
|||||||
|
|
||||||
menu_free();
|
menu_free();
|
||||||
driver.video->stop();
|
driver.video->stop();
|
||||||
input_xinput.free(NULL);
|
driver.input->free(NULL);
|
||||||
|
|
||||||
if(g_extern.console.external_launch.enable)
|
if(g_extern.console.external_launch.enable)
|
||||||
rarch_console_exec(g_extern.console.external_launch.launch_app);
|
rarch_console_exec(g_extern.console.external_launch.launch_app);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user