aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorgameblabla2019-03-07 20:47:17 +0100
committergameblabla2019-03-07 20:54:58 +0100
commit210476c77ec6d0160e66ab6e9a45ad64fe5e50ce (patch)
tree31cc5c66894565def02e861c227ca5c3960987c4 /plugins
parentbebe989ba22f0bac230a0b8a75617ae895ea274f (diff)
downloadpcsx_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.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfsound/registers.c2
-rw-r--r--plugins/dfsound/spu_config.h1
2 files changed, 2 insertions, 1 deletions
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