diff options
author | Fabio Battaglia | 2009-06-08 12:37:24 +0000 |
---|---|---|
committer | Fabio Battaglia | 2009-06-08 12:37:24 +0000 |
commit | 14c85028b12088e1b169a34488ece6522c4cf4ab (patch) | |
tree | b51db5cd8a16a7b537a2b6b3b76dc1a0262e9b57 /engines/sword1/sound.cpp | |
parent | f2fe13b064731a494275ae4858c02a321468544d (diff) | |
download | scummvm-rg350-14c85028b12088e1b169a34488ece6522c4cf4ab.tar.gz scummvm-rg350-14c85028b12088e1b169a34488ece6522c4cf4ab.tar.bz2 scummvm-rg350-14c85028b12088e1b169a34488ece6522c4cf4ab.zip |
sword1: add Broken Sword PSX demo support
svn-id: r41369
Diffstat (limited to 'engines/sword1/sound.cpp')
-rw-r--r-- | engines/sword1/sound.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sword1/sound.cpp b/engines/sword1/sound.cpp index 1f2ad04f08..306d23db57 100644 --- a/engines/sword1/sound.cpp +++ b/engines/sword1/sound.cpp @@ -225,13 +225,15 @@ bool Sound::startSpeech(uint16 roomNo, uint16 localNo) { warning ("Could not open speech.inf"); return false; } + + uint16 numRooms = file.readUint16LE(); // Number of rooms file.seek(locIndex * 4 + 2); // 4 bytes per room, skip first 2 bytes uint16 numLines = file.readUint16LE(); uint16 roomOffset = file.readUint16LE(); - file.seek(0x112 + roomOffset * 2); // The offset is in terms of uint16's, so multiply by 2. Skip the 0x112 byte header too. + file.seek(2 + numRooms * 4 + roomOffset * 2); // The offset is in terms of uint16's, so multiply by 2. Skip the 0x112 byte header too. locIndex = 0xFFFFFFFF; |