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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sat Jul 10 20:31:12 CEST 2010


Revision: 50787
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50787&view=rev
Author:   m_kiewitz
Date:     2010-07-10 18:31:11 +0000 (Sat, 10 Jul 2010)

Log Message:
-----------
SCI: adding workaround for script error when leaving ulence flats bar in sq1

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

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2010-07-10 18:21:09 UTC (rev 50786)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2010-07-10 18:31:11 UTC (rev 50787)
@@ -247,6 +247,12 @@
 	SCI_WORKAROUNDENTRY_TERMINATOR
 };
 
+//    gameID,       scriptNr,lvl,         object-name, method-name,    call, index,   replace
+static const SciWorkaroundEntry kUnLoad_workarounds[] = {
+	{ GID_SQ1,           303,  0,            "slotGuy", "dispose",        -1,    0, { 1,    0 } }, // parameter 1 is not passed, script error when leaving ulence flats bar
+	SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
 struct SciKernelMapSubEntry {
 	SciVersion fromVersion;
 	SciVersion toVersion;
@@ -552,8 +558,7 @@
     { MAP_CALL(TimesSin),          SIG_EVERYWHERE,           "ii",                    NULL,            NULL },
     { "SinMult", kTimesSin,        SIG_EVERYWHERE,           "ii",                    NULL,            NULL },
     { MAP_CALL(TimesTan),          SIG_EVERYWHERE,           "ii",                    NULL,            NULL },
-    { MAP_CALL(UnLoad),            SIG_EVERYWHERE,           "i[ri]",                 NULL,            NULL },
-	//  ^^ - in SQ1 when leaving ulence flats bar, kUnLoad is called with just one argument (FIXME?)
+    { MAP_CALL(UnLoad),            SIG_EVERYWHERE,           "i[ri]",                 NULL,            kUnLoad_workarounds },
     { MAP_CALL(ValidPath),         SIG_EVERYWHERE,           "r",                     NULL,            NULL },
     { MAP_CALL(Wait),              SIG_EVERYWHERE,           "i",                     NULL,            NULL },
 


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