aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2007-06-26 13:38:24 +0000
committerFilippos Karapetis2007-06-26 13:38:24 +0000
commitbf24bff17e1f6c69e59fbdcc58dcdd487be44d3b (patch)
tree63069e8a3c10dd3f9c4c3b45de12cefce23df3f4 /engines/saga
parent11fccdbff242ec238d9ccd86525bfa5a41be01bc (diff)
downloadscummvm-rg350-bf24bff17e1f6c69e59fbdcc58dcdd487be44d3b.tar.gz
scummvm-rg350-bf24bff17e1f6c69e59fbdcc58dcdd487be44d3b.tar.bz2
scummvm-rg350-bf24bff17e1f6c69e59fbdcc58dcdd487be44d3b.zip
Move to the correct file offset when using compressed sounds in ITE
svn-id: r27729
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/sndres.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/saga/sndres.cpp b/engines/saga/sndres.cpp
index 31fab58657..ceb1ebf630 100644
--- a/engines/saga/sndres.cpp
+++ b/engines/saga/sndres.cpp
@@ -282,16 +282,17 @@ bool SndRes::load(ResourceContext *context, uint32 resourceId, SoundBuffer &buff
ResourceData *resourceData;
resourceData = _vm->_resource->getResourceData(context, resourceId);
+ // Read compressed sfx header
readS.seek(1); // Skip compression identifier byte
-
buffer.frequency = readS.readUint16LE();
- buffer.size = soundResourceLength;
buffer.originalSize = readS.readUint32LE();
buffer.sampleBits = readS.readByte();
buffer.stereo = (readS.readByte() == char(0)) ? false : true;
+
+ buffer.size = soundResourceLength;
buffer.soundType = resourceType;
buffer.soundFile = context->getFile(resourceData);
- buffer.fileOffset = resourceData->offset;
+ buffer.fileOffset = resourceData->offset + 9; // skip compressed sfx header: byte + uint16 + uint32 + byte + byte
buffer.buffer = NULL;