mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
Get rid of global->patch
This commit is contained in:
parent
538aec6386
commit
89505fa011
@ -1172,11 +1172,11 @@ static void config_set_defaults(void)
|
||||
*settings->directory.audio_filter = '\0';
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_UPS_PREF))
|
||||
global->patch.ups_pref = false;
|
||||
rarch_ctl(RARCH_CTL_UNSET_UPS_PREF, NULL);
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_BPS_PREF))
|
||||
global->patch.bps_pref = false;
|
||||
rarch_ctl(RARCH_CTL_UNSET_BPS_PREF, NULL);
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_IPS_PREF))
|
||||
global->patch.ips_pref = false;
|
||||
rarch_ctl(RARCH_CTL_UNSET_IPS_PREF, NULL);
|
||||
|
||||
*global->record.output_dir = '\0';
|
||||
*global->record.config_dir = '\0';
|
||||
@ -1772,17 +1772,26 @@ static bool config_load_file(const char *path, bool set_defaults,
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_UPS_PREF))
|
||||
{
|
||||
CONFIG_GET_BOOL_BASE(conf, global, patch.ups_pref, "ups_pref");
|
||||
if (config_get_bool(conf, "ups_pref", &tmp_bool))
|
||||
rarch_ctl(RARCH_CTL_SET_UPS_PREF, NULL);
|
||||
else
|
||||
rarch_ctl(RARCH_CTL_UNSET_UPS_PREF, NULL);
|
||||
}
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_BPS_PREF))
|
||||
{
|
||||
CONFIG_GET_BOOL_BASE(conf, global, patch.bps_pref, "bps_pref");
|
||||
if (config_get_bool(conf, "bps_pref", &tmp_bool))
|
||||
rarch_ctl(RARCH_CTL_SET_BPS_PREF, NULL);
|
||||
else
|
||||
rarch_ctl(RARCH_CTL_UNSET_BPS_PREF, NULL);
|
||||
}
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_IPS_PREF))
|
||||
{
|
||||
CONFIG_GET_BOOL_BASE(conf, global, patch.ips_pref, "ips_pref");
|
||||
if (config_get_bool(conf, "ips_pref", &tmp_bool))
|
||||
rarch_ctl(RARCH_CTL_SET_IPS_PREF, NULL);
|
||||
else
|
||||
rarch_ctl(RARCH_CTL_UNSET_IPS_PREF, NULL);
|
||||
}
|
||||
|
||||
#ifdef HAVE_NETPLAY
|
||||
@ -2971,11 +2980,11 @@ bool config_save_file(const char *path)
|
||||
#endif
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_UPS_PREF))
|
||||
config_set_bool(conf, "ups_pref", global->patch.ups_pref);
|
||||
config_set_bool(conf, "ups_pref", rarch_ctl(RARCH_CTL_IS_UPS_PREF, NULL));
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_BPS_PREF))
|
||||
config_set_bool(conf, "bps_pref", global->patch.bps_pref);
|
||||
config_set_bool(conf, "bps_pref", rarch_ctl(RARCH_CTL_IS_BPS_PREF, NULL));
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_IPS_PREF))
|
||||
config_set_bool(conf, "ips_pref", global->patch.ips_pref);
|
||||
config_set_bool(conf, "ips_pref", rarch_ctl(RARCH_CTL_IS_IPS_PREF, NULL));
|
||||
config_set_bool(conf, "log_verbosity",
|
||||
verbosity_is_enabled());
|
||||
config_set_bool(conf, "perfcnt_enable",
|
||||
|
15
patch.c
15
patch.c
@ -32,6 +32,7 @@
|
||||
|
||||
#include "msg_hash.h"
|
||||
#include "patch.h"
|
||||
#include "retroarch.h"
|
||||
#include "runloop.h"
|
||||
#include "verbosity.h"
|
||||
|
||||
@ -555,7 +556,7 @@ error:
|
||||
static bool try_bps_patch(uint8_t **buf, ssize_t *size)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
bool allow_bps = !global->patch.ups_pref && !global->patch.ips_pref;
|
||||
bool allow_bps = !rarch_ctl(RARCH_CTL_IS_UPS_PREF, NULL) && !rarch_ctl(RARCH_CTL_IS_IPS_PREF, NULL);
|
||||
|
||||
if (!allow_bps || string_is_empty(global->name.bps))
|
||||
return false;
|
||||
@ -567,7 +568,7 @@ static bool try_bps_patch(uint8_t **buf, ssize_t *size)
|
||||
static bool try_ups_patch(uint8_t **buf, ssize_t *size)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
bool allow_ups = !global->patch.bps_pref && !global->patch.ips_pref;
|
||||
bool allow_ups = !rarch_ctl(RARCH_CTL_IS_BPS_PREF, NULL) && !rarch_ctl(RARCH_CTL_IS_IPS_PREF, NULL);
|
||||
|
||||
if (!allow_ups || string_is_empty(global->name.ups))
|
||||
return false;
|
||||
@ -579,7 +580,7 @@ static bool try_ups_patch(uint8_t **buf, ssize_t *size)
|
||||
static bool try_ips_patch(uint8_t **buf, ssize_t *size)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
bool allow_ips = !global->patch.ups_pref && !global->patch.bps_pref;
|
||||
bool allow_ips = !rarch_ctl(RARCH_CTL_IS_UPS_PREF, NULL) && !rarch_ctl(RARCH_CTL_IS_BPS_PREF, NULL);
|
||||
|
||||
if (!allow_ips || string_is_empty(global->name.ips))
|
||||
return false;
|
||||
@ -598,11 +599,9 @@ static bool try_ips_patch(uint8_t **buf, ssize_t *size)
|
||||
**/
|
||||
void patch_content(uint8_t **buf, ssize_t *size)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
if ( global->patch.ips_pref
|
||||
+ global->patch.bps_pref
|
||||
+ global->patch.ups_pref > 1)
|
||||
if ( (unsigned)rarch_ctl(RARCH_CTL_IS_IPS_PREF, NULL)
|
||||
+ (unsigned)rarch_ctl(RARCH_CTL_IS_BPS_PREF, NULL)
|
||||
+ (unsigned)rarch_ctl(RARCH_CTL_IS_UPS_PREF, NULL) > 1)
|
||||
{
|
||||
RARCH_WARN("%s\n",
|
||||
msg_hash_to_str(MSG_SEVERAL_PATCHES_ARE_EXPLICITLY_DEFINED));
|
||||
|
15
retroarch.c
15
retroarch.c
@ -473,10 +473,9 @@ static void retroarch_parse_input(int argc, char *argv[])
|
||||
retroarch_override_setting_free_state();
|
||||
|
||||
rarch_ctl(RARCH_CTL_USERNAME_UNSET, NULL);
|
||||
|
||||
global->patch.ups_pref = false;
|
||||
global->patch.bps_pref = false;
|
||||
global->patch.ips_pref = false;
|
||||
rarch_ctl(RARCH_CTL_UNSET_UPS_PREF, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_IPS_PREF, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_BPS_PREF, NULL);
|
||||
*global->name.ups = '\0';
|
||||
*global->name.bps = '\0';
|
||||
*global->name.ips = '\0';
|
||||
@ -693,26 +692,26 @@ static void retroarch_parse_input(int argc, char *argv[])
|
||||
case RA_OPT_BPS:
|
||||
strlcpy(global->name.bps, optarg,
|
||||
sizeof(global->name.bps));
|
||||
global->patch.bps_pref = true;
|
||||
rarch_ctl(RARCH_CTL_SET_BPS_PREF, NULL);
|
||||
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_BPS_PREF);
|
||||
break;
|
||||
|
||||
case 'U':
|
||||
strlcpy(global->name.ups, optarg,
|
||||
sizeof(global->name.ups));
|
||||
global->patch.ups_pref = true;
|
||||
rarch_ctl(RARCH_CTL_SET_UPS_PREF, NULL);
|
||||
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_UPS_PREF);
|
||||
break;
|
||||
|
||||
case RA_OPT_IPS:
|
||||
strlcpy(global->name.ips, optarg,
|
||||
sizeof(global->name.ips));
|
||||
global->patch.ips_pref = true;
|
||||
rarch_ctl(RARCH_CTL_SET_IPS_PREF, NULL);
|
||||
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_IPS_PREF);
|
||||
break;
|
||||
|
||||
case RA_OPT_NO_PATCH:
|
||||
global->patch.block_patch = true;
|
||||
rarch_ctl(RARCH_CTL_SET_PATCH_BLOCKED, NULL);
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
|
@ -744,6 +744,10 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
|
||||
rarch_ctl(RARCH_CTL_UNSET_SRAM_LOAD_DISABLED, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_SRAM_SAVE_DISABLED, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_SRAM_ENABLE, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_BPS_PREF, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_IPS_PREF, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_UPS_PREF, NULL);
|
||||
rarch_ctl(RARCH_CTL_UNSET_PATCH_BLOCKED, NULL);
|
||||
path_clear_content();
|
||||
runloop_overrides_active = false;
|
||||
|
||||
|
@ -154,14 +154,6 @@ typedef struct global
|
||||
char remapfile[PATH_MAX_LENGTH];
|
||||
} name;
|
||||
|
||||
struct
|
||||
{
|
||||
bool block_patch;
|
||||
bool ups_pref;
|
||||
bool bps_pref;
|
||||
bool ips_pref;
|
||||
} patch;
|
||||
|
||||
#ifdef HAVE_NETPLAY
|
||||
/* Netplay. */
|
||||
struct
|
||||
|
@ -329,12 +329,11 @@ static bool load_content_into_memory(unsigned i, const char *path, void **buf,
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
/* First content file is significant, attempt to do patching,
|
||||
* CRC checking, etc. */
|
||||
|
||||
/* Attempt to apply a patch. */
|
||||
if (!global->patch.block_patch)
|
||||
if (!rarch_ctl(RARCH_CTL_IS_PATCH_BLOCKED, NULL))
|
||||
patch_content(&ret_buf, length);
|
||||
|
||||
content_get_crc(&content_crc_ptr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user