diff options
author | twinaphex | 2013-05-24 03:13:24 +0200 |
---|---|---|
committer | twinaphex | 2013-05-24 03:13:24 +0200 |
commit | 2c67e0e80f01116f7ce95cbe7161a9c331516fe2 (patch) | |
tree | 335971af1aff72f872bc69f1e1f946b3f3fe188f /frontend | |
parent | 4fcb9a11c1f3d13d263bff7d39396a4c776b7e6b (diff) | |
download | pcsx_rearmed-2c67e0e80f01116f7ce95cbe7161a9c331516fe2.tar.gz pcsx_rearmed-2c67e0e80f01116f7ce95cbe7161a9c331516fe2.tar.bz2 pcsx_rearmed-2c67e0e80f01116f7ce95cbe7161a9c331516fe2.zip |
(Libretro) Add NEON interlace enable core option and region core option
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/libretro.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c index 53e7fa5..8b67f17 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -234,7 +234,9 @@ void retro_set_environment(retro_environment_t cb) { static const struct retro_variable vars[] = { { "frameskip", "Frameskip; 0|1|2|3" }, + { "region", "Region; Auto|NTSC|PAL" }, #ifdef __ARM_NEON__ + { "neon_interlace_enable", "Enable interlacing mode(s); disabled|enabled" }, { "neon_enhancement_enable", "Enhanced resolution (slow); disabled|enabled" }, #endif { NULL, NULL }, @@ -733,7 +735,33 @@ static void update_variables(void) if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) pl_rearmed_cbs.frameskip = atoi(var.value); + + var.value = NULL; + var.key = "region"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + Config.PsxAuto = 0; + if (strcmp(var.value, "Automatic") == 0) + Config.PsxAuto = 1; + else if (strcmp(var.value, "NTSC") == 0) + Config.PsxType = 0; + else if (strcmp(var.value, "PAL") == 0) + Config.PsxType = 1; + } #ifdef __ARM_NEON__ + var.value = "NULL"; + var.key = "neon_interlace_enable"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + if (strcmp(var.value, "disabled") == 0) + pl_rearmed_cbs.gpu_neon.allow_interlace = 0; + else if (strcmp(var.value, "enabled") == 0) + pl_rearmed_cbs.gpu_neon.allow_interlace = 1; + } + + var.value = NULL; var.key = "neon_enhancement_enable"; |