aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-03-04 03:08:42 +0000
committerTravis Howell2004-03-04 03:08:42 +0000
commitfb1e28921536759918c977885a820ab1a69b846d (patch)
tree78ce6ae6ef4be0273c72e66f4124ae8d57a3b743
parent2f60f4485da6906e82ffebecd406d9c2918b5343 (diff)
downloadscummvm-rg350-fb1e28921536759918c977885a820ab1a69b846d.tar.gz
scummvm-rg350-fb1e28921536759918c977885a820ab1a69b846d.tar.bz2
scummvm-rg350-fb1e28921536759918c977885a820ab1a69b846d.zip
Add hack for demo script in maniac (Enchanced)
svn-id: r13174
-rw-r--r--scumm/script_v2.cpp2
-rw-r--r--scumm/scummvm.cpp13
2 files changed, 14 insertions, 1 deletions
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp
index f0cf8edede..a0b64c090c 100644
--- a/scumm/script_v2.cpp
+++ b/scumm/script_v2.cpp
@@ -702,6 +702,8 @@ void ScummEngine_v2::o2_actorOps() {
case 5: // SO_TALK_COLOR
if ((_gameId == GID_MANIAC) && (_version == 1))
v1_mm_actor_speech_color[act] = arg;
+ else if (_gameId == GID_MANIAC && _demoMode)
+ a->talkColor = 15;
else
a->talkColor = arg;
break;
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index b4e25861ea..94ed7740d0 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -1045,6 +1045,17 @@ void ScummEngine::scummInit() {
_actors[i].setActorCostume(i);
}
+ // HACK Some palette changes needed for demo script
+ // in Maniac Mansion (Enchanced)
+ if (_gameId == GID_MANIAC && _version == 2 && _demoMode) {
+ _actors[3].setPalette(3, 1);
+ _actors[9].talkColor = 15;
+ _actors[10].talkColor = 7;
+ _actors[11].talkColor = 2;
+ _actors[13].talkColor = 5;
+ _actors[23].talkColor = 14;
+ }
+
vm.numNestedScripts = 0;
vm.cutSceneStackPointer = 0;
@@ -2503,7 +2514,7 @@ void ScummEngine::restart() {
int args[16];
memset(args, 0, sizeof(args));
args[0] = _bootParam;
- if (_gameId == GID_MANIAC && _version == 1 && _demoMode)
+ if (_gameId == GID_MANIAC && _demoMode)
runScript(9, 0, 0, args);
else
runScript(1, 0, 0, args);