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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sun Jun 27 13:19:23 CEST 2010


Revision: 50373
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50373&view=rev
Author:   m_kiewitz
Date:     2010-06-27 11:19:23 +0000 (Sun, 27 Jun 2010)

Log Message:
-----------
SCI: adding uninit workaround for lsl6 (Narrator::startText)

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

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-27 11:16:49 UTC (rev 50372)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-27 11:19:23 UTC (rev 50373)
@@ -199,6 +199,7 @@
 	{ GID_FREDDYPHARKAS,  24,              "gcWin", "open",           -1,    5, 0xf }, // is used as priority for game menu
 	{ GID_FREDDYPHARKAS,  31,            "quitWin", "open",           -1,    5, 0xf }, // is used as priority for game menu
 	{ GID_LSL1,          720,              "rm720", "init",           -1,    0,   0 }, // age check room
+	{ GID_LSL6,          928,                  "*", "startText",      -1,    0,   0 }, // used by various objects that are even translated in foreign versions (actually Narrator::startText)
 	{ GID_ISLANDBRAIN,   140,              "piece", "init",           -1,    3,   1 }, // first puzzle right at the start, some initialization variable. bnt is done on it, and it should be non-0
 	{ GID_ISLANDBRAIN,   268,          "anElement", "select",         -1,    0,   0 }, // elements puzzle, gets used before super TextIcon
 	{ GID_KQ5,             0,                   "", "export 29",      -1,    3,   0 }, // called when playing harp for the harpies, is used for kDoAudio
@@ -249,7 +250,7 @@
 			// Search if this is a known uninitialized read
 			const UninitializedReadWorkaround *workaround = uninitializedReadWorkarounds;
 			while (workaround->objectName) {
-				if (workaround->gameId == gameId && workaround->scriptNr == curScriptNr && workaround->objectName == curObjectName
+				if (workaround->gameId == gameId && workaround->scriptNr == curScriptNr && ((workaround->objectName == curObjectName) || (*workaround->objectName == '*'))
 						&& workaround->methodName == curMethodName && workaround->localCallOffset == lastCall->localCallOffset && workaround->index == index) {
 					// Workaround found
 					r[index] = make_reg(0, workaround->newValue);


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