diff options
author | Matthew Hoops | 2010-11-21 00:02:25 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-11-21 00:02:25 +0000 |
commit | 5616bde4e7ec28f886aeb2c98c6a2fec52f9fa9d (patch) | |
tree | ff98642c251f828d52ccce5b29c5a2e43cbbdabe /engines | |
parent | 0f2bcd2f9fcc6d5c8ba67b75f625290db126d231 (diff) | |
download | scummvm-rg350-5616bde4e7ec28f886aeb2c98c6a2fec52f9fa9d.tar.gz scummvm-rg350-5616bde4e7ec28f886aeb2c98c6a2fec52f9fa9d.tar.bz2 scummvm-rg350-5616bde4e7ec28f886aeb2c98c6a2fec52f9fa9d.zip |
MOHAWK: Fix Living Books v1 sound (courtesy of fuzzie)
svn-id: r54397
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mohawk/resource.cpp | 4 | ||||
-rw-r--r-- | engines/mohawk/sound.cpp | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/engines/mohawk/resource.cpp b/engines/mohawk/resource.cpp index 11e2226847..1ae069e459 100644 --- a/engines/mohawk/resource.cpp +++ b/engines/mohawk/resource.cpp @@ -376,8 +376,8 @@ void LivingBooksArchive_v1::open(Common::SeekableReadStream *stream) { for (uint16 j = 0; j < _types[i].resTable.resources; j++) { _types[i].resTable.entries[j].id = _mhk->readUint16LE(); _types[i].resTable.entries[j].offset = _mhk->readUint32LE(); - _types[i].resTable.entries[j].size = _mhk->readUint16LE(); - _mhk->readUint32LE(); // Unknown (always 0?) + _types[i].resTable.entries[j].size = _mhk->readUint32LE(); + _mhk->readUint16LE(); // Unknown (always 0?) debug (4, "Entry[%02x]: ID = %04x (%d)\tOffset = %08x, Size = %08x", j, _types[i].resTable.entries[j].id, _types[i].resTable.entries[j].id, _types[i].resTable.entries[j].offset, _types[i].resTable.entries[j].size); } diff --git a/engines/mohawk/sound.cpp b/engines/mohawk/sound.cpp index f03fd71005..27a5a828dd 100644 --- a/engines/mohawk/sound.cpp +++ b/engines/mohawk/sound.cpp @@ -462,11 +462,12 @@ Audio::AudioStream *Sound::makeOldMohawkWaveStream(Common::SeekableReadStream *s if (header == 'Wv') { // Big Endian rate = stream->readUint16BE(); - stream->skip(10); // Loop chunk, like the newer format? + stream->skip(10); // Unknown size = stream->readUint32BE(); } else if (header == 'vW') { // Little Endian + stream->readUint16LE(); // Unknown rate = stream->readUint16LE(); - stream->skip(10); // Loop chunk, like the newer format? + stream->skip(8); // Unknown size = stream->readUint32LE(); } else error("Could not find Old Mohawk Sound header"); |