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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Nov 17 22:49:21 CET 2010


Revision: 54307
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54307&view=rev
Author:   thebluegr
Date:     2010-11-17 21:49:19 +0000 (Wed, 17 Nov 2010)

Log Message:
-----------
SCI: Added hacks in kClone/kDisposeClone for SCI3

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

Modified: scummvm/trunk/engines/sci/engine/kscripts.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kscripts.cpp	2010-11-17 21:47:05 UTC (rev 54306)
+++ scummvm/trunk/engines/sci/engine/kscripts.cpp	2010-11-17 21:49:19 UTC (rev 54307)
@@ -175,6 +175,11 @@
 	// extend the internal storage size.
 	if (infoSelector & kInfoFlagClone)
 		parentObj = s->_segMan->getObject(parentAddr);
+	
+	// HACK: Since the info selector can't be read correctly for SCI3 yet,
+	// always refresh the parent object pointer
+	if (getSciVersion() == SCI_VERSION_3)
+		parentObj = s->_segMan->getObject(parentAddr);
 
 	*cloneObj = *parentObj;
 
@@ -216,6 +221,11 @@
 	if ((infoSelector & 3) == kInfoFlagClone)
 		object->markAsFreed();
 
+	// HACK: Since the info selector can't be read correctly for SCI3 yet,
+	// always mark the object as freed
+	if (getSciVersion() == SCI_VERSION_3)
+		object->markAsFreed();
+
 	return s->r_acc;
 }
 


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