mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
1. Fixed the unbearable noise in "Resident Evil: Umbrella Chronicles", "Resident Evil: Dark Chronicles", and many other games.
No need to use "Sound Loop Hack", so I just removed it. 2. Fixed the WAD game loading issue. What can I say, I have to go though and patch all the WII_IPC_HLE devices to take care of this. 3. Applied tomman's Linux keyboard patch, but I can't test here, no suitable environment. 4. Disabled configuration dialogs when game is running, you have to pause game first to be able to change any configuration. (Which prevents some accidental crash to happen.) 5. Other trivial fixes, no need to mention. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4632 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -191,9 +191,7 @@ inline void MixAddVoice(ParamBlockType &pb, int *templbuffer, int *temprbuffer,
|
||||
break;
|
||||
|
||||
case AUDIOFORMAT_ADPCM:
|
||||
u32 toSamplePos;
|
||||
toSamplePos = (newSamplePos > sampleEnd) ? sampleEnd : newSamplePos;
|
||||
sample = ADPCM_Step(pb.adpcm, samplePos, toSamplePos, frac);
|
||||
sample = ADPCM_Step(pb.adpcm, samplePos, newSamplePos, frac);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -248,24 +246,10 @@ inline void MixAddVoice(ParamBlockType &pb, int *templbuffer, int *temprbuffer,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!g_Config.m_EnableLoopFix && Wii && (_uCode == UCODE_AXWII))
|
||||
{
|
||||
// This accurate boundary wrapping will fix the hangup in many AXWii games like:
|
||||
// New Super Mario Bros.Wii, Fatal Frame 4, Resident Evil Darkside Chronicles
|
||||
samplePos = newSamplePos - sampleEnd + loopPos;
|
||||
|
||||
// And these AXWii games check this flag and will turn it off when necessary
|
||||
// So DSP should not touch it
|
||||
//
|
||||
//pb.running = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pb.running = 0;
|
||||
}
|
||||
// not sure if this will mute the unwanted over looping sound
|
||||
pb.mixer.volume_left = 0;
|
||||
pb.mixer.volume_right = 0;
|
||||
pb.running = 0;
|
||||
samplePos = samplePos - sampleEnd + loopPos;
|
||||
memset(&pb.updates, 0, sizeof(pb.updates));
|
||||
memset(pb.src.last_samples, 0, 8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user