aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-03-03 08:17:21 +0000
committerTravis Howell2004-03-03 08:17:21 +0000
commit306d16441ee30e5cf8e1c9af5f754c81d03b43cf (patch)
tree200440ae0c562628c06222ce1fe1a797e6c21897
parent1db5ef710ebf6278eeb9627c6fdfc810fab10aeb (diff)
downloadscummvm-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.cpp7
-rw-r--r--scumm/script_v2.cpp8
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);