SCI: Added a stub for a new subop in kString, and disabled trackOriginAndFindWorkaround() for SCI3 games for now

svn-id: r54352
This commit is contained in:
Filippos Karapetis 2010-11-18 22:46:29 +00:00
parent 4609f11137
commit 34272e2529
2 changed files with 12 additions and 0 deletions

View File

@ -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());
}

View File

@ -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);