mirror of
https://github.com/libretro/RetroArch.git
synced 2025-03-02 06:36:51 +00:00
(dynamic.c) Use rarch_system_info_get_ptr
This commit is contained in:
parent
bee3c5f11d
commit
fa8bbabce7
121
dynamic.c
121
dynamic.c
@ -514,8 +514,9 @@ void init_libretro_sym(enum rarch_core_type type)
|
||||
**/
|
||||
void uninit_libretro_sym(void)
|
||||
{
|
||||
driver_t *driver = driver_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
driver_t *driver = driver_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
rarch_system_info_t *system = rarch_system_info_get_ptr();
|
||||
|
||||
#ifdef HAVE_DYNAMIC
|
||||
if (lib_handle)
|
||||
@ -523,15 +524,15 @@ void uninit_libretro_sym(void)
|
||||
lib_handle = NULL;
|
||||
#endif
|
||||
|
||||
if (global->system.core_options)
|
||||
if (system->core_options)
|
||||
{
|
||||
core_option_flush(global->system.core_options);
|
||||
core_option_free(global->system.core_options);
|
||||
core_option_flush(system->core_options);
|
||||
core_option_free(system->core_options);
|
||||
}
|
||||
|
||||
/* No longer valid. */
|
||||
free(global->system.special);
|
||||
free(global->system.ports);
|
||||
free(system->special);
|
||||
free(system->ports);
|
||||
memset(&global->system, 0, sizeof(global->system));
|
||||
driver->camera_active = false;
|
||||
driver->location_active = false;
|
||||
@ -592,6 +593,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
driver_t *driver = driver_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
rarch_system_info_t *system = rarch_system_info_get_ptr();
|
||||
|
||||
if (ignore_environment_cb)
|
||||
return false;
|
||||
@ -614,8 +616,8 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
struct retro_variable *var = (struct retro_variable*)data;
|
||||
RARCH_LOG("Environ GET_VARIABLE %s:\n", var->key);
|
||||
|
||||
if (global->system.core_options)
|
||||
core_option_get(global->system.core_options, var);
|
||||
if (system && system->core_options)
|
||||
core_option_get(system->core_options, var);
|
||||
else
|
||||
var->value = NULL;
|
||||
|
||||
@ -624,18 +626,18 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
}
|
||||
|
||||
case RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE:
|
||||
*(bool*)data = global->system.core_options ?
|
||||
core_option_updated(global->system.core_options) : false;
|
||||
*(bool*)data = system->core_options ?
|
||||
core_option_updated(system->core_options) : false;
|
||||
break;
|
||||
|
||||
case RETRO_ENVIRONMENT_SET_VARIABLES:
|
||||
{
|
||||
RARCH_LOG("Environ SET_VARIABLES.\n");
|
||||
|
||||
if (global->system.core_options)
|
||||
if (system && system->core_options)
|
||||
{
|
||||
core_option_flush(global->system.core_options);
|
||||
core_option_free(global->system.core_options);
|
||||
core_option_flush(system->core_options);
|
||||
core_option_free(system->core_options);
|
||||
}
|
||||
|
||||
{
|
||||
@ -649,7 +651,8 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
"retroarch-core-options.cfg", sizeof(buf));
|
||||
options_path = buf;
|
||||
}
|
||||
global->system.core_options = core_option_new(options_path, vars);
|
||||
|
||||
system->core_options = core_option_new(options_path, vars);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -670,7 +673,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
if (!settings->video.allow_rotate)
|
||||
break;
|
||||
|
||||
global->system.rotation = rotation;
|
||||
system->rotation = rotation;
|
||||
|
||||
if (!video_driver_set_rotation(rotation))
|
||||
return false;
|
||||
@ -679,14 +682,14 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
|
||||
case RETRO_ENVIRONMENT_SHUTDOWN:
|
||||
RARCH_LOG("Environ SHUTDOWN.\n");
|
||||
global->system.shutdown = true;
|
||||
system->shutdown = true;
|
||||
global->core_shutdown_initiated = true;
|
||||
break;
|
||||
|
||||
case RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL:
|
||||
global->system.performance_level = *(const unsigned*)data;
|
||||
system->performance_level = *(const unsigned*)data;
|
||||
RARCH_LOG("Environ PERFORMANCE_LEVEL: %u.\n",
|
||||
global->system.performance_level);
|
||||
system->performance_level);
|
||||
break;
|
||||
|
||||
case RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY:
|
||||
@ -746,8 +749,8 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
unsigned retro_id, retro_port;
|
||||
const struct retro_input_descriptor *desc = NULL;
|
||||
|
||||
memset(global->system.input_desc_btn, 0,
|
||||
sizeof(global->system.input_desc_btn));
|
||||
memset(system->input_desc_btn, 0,
|
||||
sizeof(system->input_desc_btn));
|
||||
|
||||
desc = (const struct retro_input_descriptor*)data;
|
||||
|
||||
@ -775,12 +778,12 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
switch (desc->index)
|
||||
{
|
||||
case RETRO_DEVICE_INDEX_ANALOG_LEFT:
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_LEFT_X_PLUS] = desc->description;
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_LEFT_X_MINUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_LEFT_X_PLUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_LEFT_X_MINUS] = desc->description;
|
||||
break;
|
||||
case RETRO_DEVICE_INDEX_ANALOG_RIGHT:
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_X_PLUS] = desc->description;
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_X_MINUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_X_PLUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_X_MINUS] = desc->description;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -788,19 +791,19 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
switch (desc->index)
|
||||
{
|
||||
case RETRO_DEVICE_INDEX_ANALOG_LEFT:
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_LEFT_Y_PLUS] = desc->description;
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_LEFT_Y_MINUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_LEFT_Y_PLUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_LEFT_Y_MINUS] = desc->description;
|
||||
break;
|
||||
case RETRO_DEVICE_INDEX_ANALOG_RIGHT:
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_Y_PLUS] = desc->description;
|
||||
global->system.input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_Y_MINUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_Y_PLUS] = desc->description;
|
||||
system->input_desc_btn[retro_port][RARCH_ANALOG_RIGHT_Y_MINUS] = desc->description;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
global->system.input_desc_btn[retro_port][retro_id] = desc->description;
|
||||
system->input_desc_btn[retro_port][retro_id] = desc->description;
|
||||
}
|
||||
|
||||
static const char *libretro_btn_desc[] = {
|
||||
@ -815,7 +818,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
{
|
||||
for (retro_id = 0; retro_id < RARCH_FIRST_CUSTOM_BIND; retro_id++)
|
||||
{
|
||||
const char *description = global->system.input_desc_btn[p][retro_id];
|
||||
const char *description = system->input_desc_btn[p][retro_id];
|
||||
|
||||
if (!description)
|
||||
continue;
|
||||
@ -836,14 +839,14 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
(const struct retro_keyboard_callback*)data;
|
||||
|
||||
RARCH_LOG("Environ SET_KEYBOARD_CALLBACK.\n");
|
||||
global->system.key_event = info->callback;
|
||||
global->frontend_key_event = global->system.key_event;
|
||||
system->key_event = info->callback;
|
||||
global->frontend_key_event = system->key_event;
|
||||
break;
|
||||
}
|
||||
|
||||
case RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE:
|
||||
RARCH_LOG("Environ SET_DISK_CONTROL_INTERFACE.\n");
|
||||
global->system.disk_control =
|
||||
system->disk_control =
|
||||
*(const struct retro_disk_control_callback*)data;
|
||||
break;
|
||||
|
||||
@ -923,7 +926,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
{
|
||||
bool state = *(const bool*)data;
|
||||
RARCH_LOG("Environ SET_SUPPORT_NO_GAME: %s.\n", state ? "yes" : "no");
|
||||
global->system.no_content = state;
|
||||
system->no_content = state;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -975,7 +978,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
global->system.frame_time = *info;
|
||||
system->frame_time = *info;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1019,9 +1022,9 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
(struct retro_camera_callback*)data;
|
||||
|
||||
RARCH_LOG("Environ GET_CAMERA_INTERFACE.\n");
|
||||
cb->start = driver_camera_start;
|
||||
cb->stop = driver_camera_stop;
|
||||
global->system.camera_callback = *cb;
|
||||
cb->start = driver_camera_start;
|
||||
cb->stop = driver_camera_stop;
|
||||
system->camera_callback = *cb;
|
||||
driver->camera_active = cb->caps != 0;
|
||||
break;
|
||||
}
|
||||
@ -1032,12 +1035,12 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
(struct retro_location_callback*)data;
|
||||
|
||||
RARCH_LOG("Environ GET_LOCATION_INTERFACE.\n");
|
||||
cb->start = driver_location_start;
|
||||
cb->stop = driver_location_stop;
|
||||
cb->get_position = driver_location_get_position;
|
||||
cb->set_interval = driver_location_set_interval;
|
||||
global->system.location_callback = *cb;
|
||||
driver->location_active = true;
|
||||
cb->start = driver_location_start;
|
||||
cb->stop = driver_location_stop;
|
||||
cb->get_position = driver_location_get_position;
|
||||
cb->set_interval = driver_location_set_interval;
|
||||
system->location_callback = *cb;
|
||||
driver->location_active = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1105,16 +1108,16 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
}
|
||||
}
|
||||
|
||||
free(global->system.special);
|
||||
global->system.special = (struct retro_subsystem_info*)
|
||||
calloc(i, sizeof(*global->system.special));
|
||||
free(system->special);
|
||||
system->special = (struct retro_subsystem_info*)
|
||||
calloc(i, sizeof(*system->special));
|
||||
|
||||
if (!global->system.special)
|
||||
if (!system->special)
|
||||
return false;
|
||||
|
||||
memcpy(global->system.special, info,
|
||||
i * sizeof(*global->system.special));
|
||||
global->system.num_special = i;
|
||||
memcpy(system->special, info,
|
||||
i * sizeof(*system->special));
|
||||
system->num_special = i;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1134,15 +1137,15 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
info[i].types[j].id);
|
||||
}
|
||||
|
||||
free(global->system.ports);
|
||||
global->system.ports = (struct retro_controller_info*)
|
||||
calloc(i, sizeof(*global->system.ports));
|
||||
if (!global->system.ports)
|
||||
free(system->ports);
|
||||
system->ports = (struct retro_controller_info*)
|
||||
calloc(i, sizeof(*system->ports));
|
||||
if (!system->ports)
|
||||
return false;
|
||||
|
||||
memcpy(global->system.ports, info,
|
||||
i * sizeof(*global->system.ports));
|
||||
global->system.num_ports = i;
|
||||
memcpy(system->ports, info,
|
||||
i * sizeof(*system->ports));
|
||||
system->num_ports = i;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user