diff options
author | Bastien Bouclet | 2011-07-02 21:47:33 +0200 |
---|---|---|
committer | Bastien Bouclet | 2011-07-02 22:01:46 +0200 |
commit | 8e80f5690d6e7e1c7d176a258799df29e703975a (patch) | |
tree | f5a1ff2d9c548d3ba644835e7c11f8ffb206a0af /engines/mohawk/sound.cpp | |
parent | a360a64dd744c922232e1f0d9a1b35a782bd572c (diff) | |
download | scummvm-rg350-8e80f5690d6e7e1c7d176a258799df29e703975a.tar.gz scummvm-rg350-8e80f5690d6e7e1c7d176a258799df29e703975a.tar.bz2 scummvm-rg350-8e80f5690d6e7e1c7d176a258799df29e703975a.zip |
MOHAWK: Misc Mechanical fixes. Many thanks to Patrick Monnerat for the patch.
- Adds break statements where missing in Mechanical::toggleVar() and Mechanical::setVarValue()
- Restore proper numbering of Achenar and Sirrus panel state variables, which were wrongly swapped.
- When bird is singing, play sound continuously.
- When operating the fortress elevator, keep the engine sound active while the elevator is moving.
Diffstat (limited to 'engines/mohawk/sound.cpp')
-rw-r--r-- | engines/mohawk/sound.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/mohawk/sound.cpp b/engines/mohawk/sound.cpp index 6144c89e21..791b18db49 100644 --- a/engines/mohawk/sound.cpp +++ b/engines/mohawk/sound.cpp @@ -141,6 +141,19 @@ Audio::SoundHandle *Sound::replaceSoundMyst(uint16 id, byte volume, bool loop) { && name.equals(_vm->getResourceName(ID_MSND, convertMystID(_handles[i].id)))) return &_handles[i].handle; + // The original engine also forces looping for those sounds + switch (id) { + case 2205: + case 2207: + case 5378: + case 7220: + case 9119: // Elevator engine sound in mechanical age is looping. + case 9120: + case 9327: + loop = true; + break; + } + stopSound(); return playSound(id, volume, loop); } |