From 3b9def962c53a9aa9e0a2bd1a7de4d1cb24788e7 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 12 Sep 2004 02:25:12 +0000 Subject: Add some change to start later HE99 hames. svn-id: r15017 --- scumm/script_v6he.cpp | 1 - scumm/script_v72he.cpp | 11 ++++++++++- scumm/script_v7he.cpp | 5 +++-- scumm/script_v90he.cpp | 3 +++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp index 6beec82fef..7b21b02128 100644 --- a/scumm/script_v6he.cpp +++ b/scumm/script_v6he.cpp @@ -807,7 +807,6 @@ void ScummEngine_v6he::o6_kernelSetFunctions() { break; default: error("o6_kernelSetFunctions: default case %d (param count %d)", args[0], num); - break; } } diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 366f55e22d..639c2ac06c 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -551,6 +551,15 @@ void ScummEngine_v72he::decodeScriptString(byte *dst, bool scriptString) { len = copyScriptString(string); } + // The boot script in some HE games just set data file name + // to a bunch to spaces for some odd reason. + // We work around that. + if (!strcmp((char *)string,"%s.he3")) { + memset(string, 0, sizeof(string)); + sprintf((char *)string, "%s.he3", _gameName.c_str()); + len = resStrLen(string); + } + while (len--) { chr = string[num++]; if (chr == 0x25) { @@ -867,7 +876,7 @@ void ScummEngine_v72he::o72_actorOps() { _actorClipOverride.top = pop(); _actorClipOverride.left = pop(); break; - case 65: // HE 90+ + case 65: // HE 98+ i = pop(); j = pop(); debug(1,"o72_actorOps: case 65 (%d, %d)", i, j); diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp index 3f6a993ae4..9a8afa5820 100644 --- a/scumm/script_v7he.cpp +++ b/scumm/script_v7he.cpp @@ -801,9 +801,10 @@ void ScummEngine_v7he::o7_kernelSetFunctions() { a = derefActor(args[1], "o7_kernelSetFunctions: 30"); a->clipOverride.bottom = args[2]; break; - default: - error("o6_kernelSetFunctions: default case %d (param count %d)", args[0], num); + case 714: break; + default: + error("o7_kernelSetFunctions: default case %d (param count %d)", args[0], num); } } diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index d26c3303f6..a6f6adfff2 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -641,6 +641,9 @@ void ScummEngine_v90he::o90_unknown26() { case 48: pop(); break; + case 52: // HE 98+ + pop(); + break; case 64: pop(); break; -- cgit v1.2.3