aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/sound.cpp
diff options
context:
space:
mode:
authorjohndoe1232014-01-14 19:53:33 +0100
committerjohndoe1232014-01-14 19:53:33 +0100
commitbe55f3277c9c3123dae9fc24750348b837101262 (patch)
tree55aba5979754c1cede1682576a2f7f984f9977c7 /engines/neverhood/sound.cpp
parent2438c5582b96af74a1003ff3948192aee656714d (diff)
downloadscummvm-rg350-be55f3277c9c3123dae9fc24750348b837101262.tar.gz
scummvm-rg350-be55f3277c9c3123dae9fc24750348b837101262.tar.bz2
scummvm-rg350-be55f3277c9c3123dae9fc24750348b837101262.zip
NEVERHOOD: Fix for bug #6493: "NEVERHOOD: Many sounds playback as loud static (Wii)"
Diffstat (limited to 'engines/neverhood/sound.cpp')
-rw-r--r--engines/neverhood/sound.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/neverhood/sound.cpp b/engines/neverhood/sound.cpp
index 04043692f8..023eda4c02 100644
--- a/engines/neverhood/sound.cpp
+++ b/engines/neverhood/sound.cpp
@@ -558,8 +558,10 @@ int NeverhoodAudioStream::readBuffer(int16 *buffer, const int numSamples) {
*buffer++ = _prevValue << _shiftValue;
}
} else {
- memcpy(buffer, _buffer, bytesRead);
- buffer += samplesRead;
+ while (samplesRead--) {
+ *buffer++ = READ_LE_UINT16(src);
+ src += 2;
+ }
}
if (bytesRead < bytesToRead || _stream->pos() >= _stream->size() || _stream->err() || _stream->eos()) {