diff options
-rw-r--r-- | engines/neverhood/sound.cpp | 6 |
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()) { |