[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