* Some fixes to linear interpolation
* Adds interpolation to ADPCM samples
* Relaxed a volume limit in ADPCM_Vol
— Frac rolls over one iteration before samplePos advances. Can introduce noise similar to flipping samples (1234 => 1214). Introduced oldFrac to fix this. This isn’t as noticeable as it probably should be because of below.
— When samplePos doesn’t advance it interpolates between two copies of the same sample which actually does nothing. Changed it to always use the current and next sample.
— When frac is 0 you should get 100% of yn2 instead of ~99% added a +yn2 to balance it.
— Added linear interpolation for ADPCM. Sounds like a good idea.
— Set ADPCM_Vol to clamp to x8000 instead of x4e20. Some games will play some sounds at x8000 volume anyways since the volume is applied before this. Lower limit can result in quiet music (x4e20) but some loud ambient sounds (0x8000).
MMMU Speed Optimisations:
* Optimised the memory bounds check in MMU and MMU speed hack games.
Stub out glGetError() calls from the release build of the OpenGL plug-in (found by ector, code by LordMark). Gives a speed-up in the OpenGL plug-in.