X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Flibretro.c;h=c4d61339b13e0733461adb7f79790e2250148626;hb=5f315a8f633819a318d45c1986412ada64d05652;hp=a5ec2c254d88a3a751928772fa661f00c5bc9b9b;hpb=186cd6a4469c82d5e7be0cf919eec97c4f304432;p=pcsx_rearmed.git diff --git a/frontend/libretro.c b/frontend/libretro.c index a5ec2c25..c4d61339 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -500,6 +500,7 @@ void retro_set_environment(retro_environment_t cb) { "pcsx_rearmed_show_bios_bootlogo", "Show Bios Bootlogo(Breaks some games); disabled|enabled" }, { "pcsx_rearmed_spu_reverb", "Sound: Reverb; enabled|disabled" }, { "pcsx_rearmed_spu_interpolation", "Sound: Interpolation; simple|gaussian|cubic|off" }, + { "pcsx_rearmed_idiablofix", "Diablo Music Fix; disabled|enabled" }, { "pcsx_rearmed_pe2_fix", "Parasite Eve 2/Vandal Hearts 1/2 Fix; disabled|enabled" }, { "pcsx_rearmed_inuyasha_fix", "InuYasha Sengoku Battle Fix; disabled|enabled" }, { NULL, NULL }, @@ -1296,10 +1297,7 @@ bool retro_load_game(const struct retro_game_info *info) return false; } - /* TODO: Calling SysReset() outside retro_run for some system - * causes RetroArch to freeze, e.g Ludo */ - //SysReset(); - rebootemu = 1; + SysReset(); if (LoadCdrom() == -1) { log_cb(RETRO_LOG_INFO, "could not load CD\n"); @@ -1557,6 +1555,17 @@ static void update_variables(bool in_flight) Config.RCntFix = 1; } + var.value = "NULL"; + var.key = "pcsx_rearmed_idiablofix"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + { + if (strcmp(var.value, "disabled") == 0) + spu_config.idiablofix = 0; + else if (strcmp(var.value, "enabled") == 0) + spu_config.idiablofix = 1; + } + var.value = "NULL"; var.key = "pcsx_rearmed_inuyasha_fix";