diff options
author | Filippos Karapetis | 2010-11-18 22:46:29 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-11-18 22:46:29 +0000 |
commit | 34272e2529faf823097280706f699e966290870c (patch) | |
tree | ce70f8f978995ecd336aa4033c79b994923f18c6 /engines/sci | |
parent | 4609f1113796fc5ae8f3b9177d1568b414a71971 (diff) | |
download | scummvm-rg350-34272e2529faf823097280706f699e966290870c.tar.gz scummvm-rg350-34272e2529faf823097280706f699e966290870c.tar.bz2 scummvm-rg350-34272e2529faf823097280706f699e966290870c.zip |
SCI: Added a stub for a new subop in kString, and disabled trackOriginAndFindWorkaround() for SCI3 games for now
svn-id: r54352
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kstring.cpp | 3 | ||||
-rw-r--r-- | engines/sci/engine/workarounds.cpp | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp index 5ea3178ae5..276f121edf 100644 --- a/engines/sci/engine/kstring.cpp +++ b/engines/sci/engine/kstring.cpp @@ -780,6 +780,9 @@ reg_t kString(EngineState *s, int argc, reg_t *argv) { Common::String string = s->_segMan->getString(argv[1]); return make_reg(0, (uint16)atoi(string.c_str())); } + case 14: // Unknown (SCI3) + warning("Unknown kString subop %d", argv[0].toUint16()); + return NULL_REG; default: error("Unknown kString subop %d", argv[0].toUint16()); } diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index ace9f6d9ac..bed057979e 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -437,6 +437,15 @@ const SciWorkaroundEntry kUnLoad_workarounds[] = { }; SciWorkaroundSolution trackOriginAndFindWorkaround(int index, const SciWorkaroundEntry *workaroundList, SciTrackOriginReply *trackOrigin) { + // HACK for SCI3: Temporarily ignore this + if (getSciVersion() == SCI_VERSION_3) { + warning("SCI3 HACK: trackOriginAndFindWorkaround() called, ignoring"); + SciWorkaroundSolution sci3IgnoreForNow; + sci3IgnoreForNow.type = WORKAROUND_FAKE; + sci3IgnoreForNow.value = 0; + return sci3IgnoreForNow; + } + EngineState *state = g_sci->getEngineState(); ExecStack *lastCall = state->xs; Script *local_script = state->_segMan->getScriptIfLoaded(lastCall->local_segment); |