diff options
author | hizzlekizzle | 2019-06-10 20:15:20 -0500 |
---|---|---|
committer | GitHub | 2019-06-10 20:15:20 -0500 |
commit | 2945189addb952d1b01eb1ea28de61adf96635aa (patch) | |
tree | 177be0091084c94e4d4d908c63b3928843743fd1 /frontend | |
parent | 3db9ba184ee35968e381dd4cc5c80f931869b2e4 (diff) | |
parent | decba348a49c50232fc706d0f860d3f910a06453 (diff) | |
download | pcsx_rearmed-2945189addb952d1b01eb1ea28de61adf96635aa.tar.gz pcsx_rearmed-2945189addb952d1b01eb1ea28de61adf96635aa.tar.bz2 pcsx_rearmed-2945189addb952d1b01eb1ea28de61adf96635aa.zip |
Merge pull request #296 from retro-wertz/dynarec_speedhacks
Allow dynarec speedhacks to be applied on-the-fly
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/libretro.c | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c index 9f7c4fe..ccf1433 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -1626,6 +1626,38 @@ static void update_variables(bool in_flight) Config.Cdda = 0; } +#ifndef DRC_DISABLE + var.value = NULL; + var.key = "pcsx_rearmed_nosmccheck"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + if (strcmp(var.value, "enabled") == 0) + new_dynarec_hacks |= NDHACK_NO_SMC_CHECK; + else + new_dynarec_hacks &= ~NDHACK_NO_SMC_CHECK; + } + + var.value = NULL; + var.key = "pcsx_rearmed_gteregsunneeded"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + if (strcmp(var.value, "enabled") == 0) + new_dynarec_hacks |= NDHACK_GTE_UNNEEDED; + else + new_dynarec_hacks &= ~NDHACK_GTE_UNNEEDED; + } + + var.value = NULL; + var.key = "pcsx_rearmed_nogteflags"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + if (strcmp(var.value, "enabled") == 0) + new_dynarec_hacks |= NDHACK_GTE_NO_FLAGS; + else + new_dynarec_hacks &= ~NDHACK_GTE_NO_FLAGS; + } +#endif + if (in_flight) { // inform core things about possible config changes plugin_call_rearmed_cbs(); @@ -1664,36 +1696,6 @@ static void update_variables(bool in_flight) int psxclock = atoi(var.value); cycle_multiplier = 10000 / psxclock; } - - var.value = NULL; - var.key = "pcsx_rearmed_nosmccheck"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - if (strcmp(var.value, "enabled") == 0) - new_dynarec_hacks |= NDHACK_NO_SMC_CHECK; - else - new_dynarec_hacks &= ~NDHACK_NO_SMC_CHECK; - } - - var.value = NULL; - var.key = "pcsx_rearmed_gteregsunneeded"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - if (strcmp(var.value, "enabled") == 0) - new_dynarec_hacks |= NDHACK_GTE_UNNEEDED; - else - new_dynarec_hacks &= ~NDHACK_GTE_UNNEEDED; - } - - var.value = NULL; - var.key = "pcsx_rearmed_nogteflags"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - if (strcmp(var.value, "enabled") == 0) - new_dynarec_hacks |= NDHACK_GTE_NO_FLAGS; - else - new_dynarec_hacks &= ~NDHACK_GTE_NO_FLAGS; - } #endif } } |