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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Jul 14 04:28:17 CEST 2010


Revision: 50865
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50865&view=rev
Author:   thebluegr
Date:     2010-07-14 02:28:17 +0000 (Wed, 14 Jul 2010)

Log Message:
-----------
SCI: Fixed script bug (invalid call to kStrCpy) in Island of Dr. Brain, room 260 (Hominy Homonym puzzle)

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-14 02:12:58 UTC (rev 50864)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2010-07-14 02:28:17 UTC (rev 50865)
@@ -271,6 +271,12 @@
     SCI_WORKAROUNDENTRY_TERMINATOR
 };
 
+//    gameID,       scriptNr,lvl,         object-name, method-name,    call, index,   replace
+static const SciWorkaroundEntry kStrCpy_workarounds[] = {
+    { GID_ISLANDBRAIN,          45,  0,    "aWord", "addOn",             -1,    0, { 0,    0 } }, // Hominy Homonym puzzle, room 260
+    SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
 struct SciKernelMapSubEntry {
 	SciVersion fromVersion;
 	SciVersion toVersion;
@@ -613,7 +619,7 @@
     { MAP_CALL(StrAt),             SIG_EVERYWHERE,           "ri(i)",                 NULL,            NULL },
     { MAP_CALL(StrCat),            SIG_EVERYWHERE,           "rr",                    NULL,            NULL },
     { MAP_CALL(StrCmp),            SIG_EVERYWHERE,           "rr(i)",                 NULL,            NULL },
-    { MAP_CALL(StrCpy),            SIG_EVERYWHERE,           "[r0]r(i)",              NULL,            NULL },
+    { MAP_CALL(StrCpy),            SIG_EVERYWHERE,           "[r0]r(i)",              NULL,            kStrCpy_workarounds },
     { MAP_CALL(StrEnd),            SIG_EVERYWHERE,           "r",                     NULL,            NULL },
     { MAP_CALL(StrLen),            SIG_EVERYWHERE,           "[r0]",                  NULL,            NULL },
     { MAP_CALL(StrSplit),          SIG_EVERYWHERE,           "rr[r0]",                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