diff options
author | Travis Howell | 2004-03-03 08:17:21 +0000 |
---|---|---|
committer | Travis Howell | 2004-03-03 08:17:21 +0000 |
commit | 306d16441ee30e5cf8e1c9af5f754c81d03b43cf (patch) | |
tree | 200440ae0c562628c06222ce1fe1a797e6c21897 | |
parent | 1db5ef710ebf6278eeb9627c6fdfc810fab10aeb (diff) | |
download | scummvm-rg350-306d16441ee30e5cf8e1c9af5f754c81d03b43cf.tar.gz scummvm-rg350-306d16441ee30e5cf8e1c9af5f754c81d03b43cf.tar.bz2 scummvm-rg350-306d16441ee30e5cf8e1c9af5f754c81d03b43cf.zip |
Add back HE sound differences for AKOS.
Remove old define
Avoid crash if using demo script in maniac (Enchanced)
svn-id: r13166
-rw-r--r-- | scumm/akos.cpp | 7 | ||||
-rw-r--r-- | scumm/script_v2.cpp | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/scumm/akos.cpp b/scumm/akos.cpp index 6d7653bba0..98731c6b44 100644 --- a/scumm/akos.cpp +++ b/scumm/akos.cpp @@ -1217,7 +1217,10 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const a->flip = GW(2) != 0; continue; case AKC_CmdQue3: - tmp = GB(2) - 1; + if (_features & GF_HUMONGOUS) + tmp = GB(2); + else + tmp = GB(2) - 1; if ((uint) tmp < 8) akos_queCommand(3, a, a->sound[tmp], 0); continue; @@ -1240,6 +1243,8 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const akos_queCommand(5, a, GB(2), 0); continue; case AKC_SoundStuff: + if (_features & GF_HUMONGOUS) + continue; tmp = GB(2) - 1; if (tmp >= 8) continue; diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index df4277dec4..f0cf8edede 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -771,6 +771,10 @@ void ScummEngine_v2::o2_resourceRoutines() { if ((opcode & 0x0f) == 0 || type == rtNumTypes) return; + // HACK V2 Maniac Mansion tries to load an invalid sound resource in demo script. + if (_gameId == GID_MANIAC && _version == 2 && vm.slot[_currentScript].number == 9 && type == rtSound && resid == 1) + return; + if ((opcode & 0x0f) == 1) { ensureResourceLoaded(type, resid); } else { @@ -1092,10 +1096,6 @@ void ScummEngine_v2::o2_putActor() { a->putActor(x, y, a->room); } -#ifndef BYPASS_COPY_PROT -#define BYPASS_COPY_PROT -#endif - void ScummEngine_v2::o2_startScript() { int script = getVarOrDirectByte(PARAM_1); |