diff options
author | gameblabla | 2019-03-07 20:47:17 +0100 |
---|---|---|
committer | gameblabla | 2019-03-07 20:54:58 +0100 |
commit | 210476c77ec6d0160e66ab6e9a45ad64fe5e50ce (patch) | |
tree | 31cc5c66894565def02e861c227ca5c3960987c4 | |
parent | bebe989ba22f0bac230a0b8a75617ae895ea274f (diff) | |
download | pcsx_rearmed-210476c77ec6d0160e66ab6e9a45ad64fe5e50ce.tar.gz pcsx_rearmed-210476c77ec6d0160e66ab6e9a45ad64fe5e50ce.tar.bz2 pcsx_rearmed-210476c77ec6d0160e66ab6e9a45ad64fe5e50ce.zip |
Diablo Music fix for PCSX Rearmed. (optional hack)
Let's also allow it to be changed from the menu.
Set to off by default as it could cause issues in some other games.
-rw-r--r-- | frontend/main.c | 1 | ||||
-rw-r--r-- | frontend/menu.c | 2 | ||||
-rw-r--r-- | maemo/main.c | 2 | ||||
-rw-r--r-- | plugins/dfsound/registers.c | 2 | ||||
-rw-r--r-- | plugins/dfsound/spu_config.h | 1 |
5 files changed, 6 insertions, 2 deletions
diff --git a/frontend/main.c b/frontend/main.c index a824fdc..43a5548 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -138,6 +138,7 @@ void emu_set_default_config(void) pl_rearmed_cbs.gpu_peopsgl.iTexGarbageCollection = 1; spu_config.iUseReverb = 1; + spu_config.idiablofix = 0; spu_config.iUseInterpolation = 1; spu_config.iXAPitch = 0; spu_config.iVolume = 768; diff --git a/frontend/menu.c b/frontend/menu.c index cf9382a..0b3f553 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -443,6 +443,7 @@ static const struct { CE_INTVAL_P(gpu_peopsgl.iTexGarbageCollection), CE_INTVAL_P(gpu_peopsgl.dwActFixes), CE_INTVAL(spu_config.iUseReverb), + CE_INTVAL(spu_config.idiablofix), CE_INTVAL(spu_config.iXAPitch), CE_INTVAL(spu_config.iUseInterpolation), CE_INTVAL(spu_config.iTempo), @@ -1454,6 +1455,7 @@ static menu_entry e_menu_plugin_spu[] = mee_range_h ("Volume boost", 0, volume_boost, -5, 30, h_spu_volboost), mee_onoff ("Reverb", 0, spu_config.iUseReverb, 1), mee_enum ("Interpolation", 0, spu_config.iUseInterpolation, men_spu_interp), + mee_onoff ("Diablo Music fix", 0, spu_config.idiablofix, 1), mee_onoff ("Adjust XA pitch", 0, spu_config.iXAPitch, 1), mee_onoff_h ("Adjust tempo", 0, spu_config.iTempo, 1, h_spu_tempo), mee_end, diff --git a/maemo/main.c b/maemo/main.c index 85db400..c382c51 100644 --- a/maemo/main.c +++ b/maemo/main.c @@ -197,7 +197,7 @@ int main(int argc, char **argv) strcpy(Config.Bios, "HLE"); spu_config.iUseReverb = 1; spu_config.iUseInterpolation = 1; - + spu_config.idiablofix = 0; in_type1 = PSE_PAD_TYPE_STANDARD; in_type2 = PSE_PAD_TYPE_STANDARD; diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index 91bcaf8..bb64658 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -352,7 +352,7 @@ static void SoundOn(int start,int end,unsigned short val) if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?!
{
spu.s_chan[ch].pCurr=spu.spuMemC+((regAreaGet(ch,6)&~1)<<3); // must be block aligned
- spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3);
+ if (spu_config.idiablofix == 0) spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3);
spu.dwNewChannel|=(1<<ch);
}
}
diff --git a/plugins/dfsound/spu_config.h b/plugins/dfsound/spu_config.h index 3e88a2c..6b46bf3 100644 --- a/plugins/dfsound/spu_config.h +++ b/plugins/dfsound/spu_config.h @@ -7,6 +7,7 @@ typedef struct int iUseReverb; int iUseInterpolation; int iTempo; + int idiablofix; int iUseThread; int iUseFixedUpdates; // output fixed number of samples/frame |