[Scummvm-cvs-logs] SF.net SVN: scummvm:[54352] scummvm/trunk/engines/sci/engine

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Nov 18 23:46:29 CET 2010


Revision: 54352
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54352&view=rev
Author:   thebluegr
Date:     2010-11-18 22:46:29 +0000 (Thu, 18 Nov 2010)

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

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kstring.cpp
    scummvm/trunk/engines/sci/engine/workarounds.cpp

Modified: scummvm/trunk/engines/sci/engine/kstring.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kstring.cpp	2010-11-18 22:27:56 UTC (rev 54351)
+++ scummvm/trunk/engines/sci/engine/kstring.cpp	2010-11-18 22:46:29 UTC (rev 54352)
@@ -780,6 +780,9 @@
 		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());
 	}

Modified: scummvm/trunk/engines/sci/engine/workarounds.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/workarounds.cpp	2010-11-18 22:27:56 UTC (rev 54351)
+++ scummvm/trunk/engines/sci/engine/workarounds.cpp	2010-11-18 22:46:29 UTC (rev 54352)
@@ -437,6 +437,15 @@
 };
 
 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);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list