mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-09 19:02:37 +00:00
Create CORE_CTL_RETRO_SYMBOLS_INIT
This commit is contained in:
parent
eb503e0464
commit
7f81d7a4a8
@ -410,8 +410,6 @@ static void event_deinit_core(bool reinit)
|
||||
config_unload_override();
|
||||
runloop_ctl(RUNLOOP_CTL_UNSET_OVERRIDES_ACTIVE, NULL);
|
||||
}
|
||||
|
||||
uninit_libretro_sym(&core);
|
||||
}
|
||||
|
||||
static void event_init_cheats(void)
|
||||
@ -573,12 +571,10 @@ static bool event_init_core(void *data)
|
||||
{
|
||||
retro_ctx_environ_info_t info;
|
||||
settings_t *settings = config_get_ptr();
|
||||
enum rarch_core_type *core_type = (enum rarch_core_type*)data;
|
||||
|
||||
if (!core_type)
|
||||
if (!core_ctl(CORE_CTL_RETRO_SYMBOLS_INIT, data))
|
||||
return false;
|
||||
|
||||
init_libretro_sym(*core_type, &core);
|
||||
runloop_ctl(RUNLOOP_CTL_SYSTEM_INFO_INIT, NULL);
|
||||
|
||||
/* auto overrides: apply overrides */
|
||||
|
@ -174,6 +174,15 @@ bool core_ctl(enum core_ctl_state state, void *data)
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case CORE_CTL_RETRO_SYMBOLS_INIT:
|
||||
{
|
||||
enum rarch_core_type *core_type = (enum rarch_core_type*)data;
|
||||
|
||||
if (!core_type)
|
||||
return false;
|
||||
init_libretro_sym(*core_type, &core);
|
||||
}
|
||||
break;
|
||||
case CORE_CTL_RETRO_SET_CONTROLLER_PORT_DEVICE:
|
||||
{
|
||||
retro_ctx_controller_info_t *pad = (retro_ctx_controller_info_t*)data;
|
||||
@ -278,6 +287,7 @@ bool core_ctl(enum core_ctl_state state, void *data)
|
||||
video_driver_callback_destroy_context();
|
||||
video_driver_unset_callback();
|
||||
core.retro_deinit();
|
||||
uninit_libretro_sym(&core);
|
||||
break;
|
||||
case CORE_CTL_RETRO_UNLOAD_GAME:
|
||||
core.retro_unload_game();
|
||||
|
@ -75,6 +75,8 @@ enum core_ctl_state
|
||||
|
||||
CORE_CTL_RETRO_UNSERIALIZE,
|
||||
|
||||
CORE_CTL_RETRO_SYMBOLS_INIT,
|
||||
|
||||
/* Compare libretro core API version against API version
|
||||
* used by RetroArch.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user