From 5616bde4e7ec28f886aeb2c98c6a2fec52f9fa9d Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sun, 21 Nov 2010 00:02:25 +0000 Subject: MOHAWK: Fix Living Books v1 sound (courtesy of fuzzie) svn-id: r54397 --- engines/mohawk/resource.cpp | 4 ++-- engines/mohawk/sound.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'engines/mohawk') 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"); -- cgit v1.2.3