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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Sep 13 15:47:57 CEST 2010


Revision: 52703
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52703&view=rev
Author:   thebluegr
Date:     2010-09-13 13:47:56 +0000 (Mon, 13 Sep 2010)

Log Message:
-----------
SCI: Changed the script protection code to be a hack for Hoyle 3 only

This shouldn't be happening normally, but apparently it does, which would indicate
a potential issue with the object locking code

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

Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp	2010-09-13 13:17:55 UTC (rev 52702)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp	2010-09-13 13:47:56 UTC (rev 52703)
@@ -1070,10 +1070,15 @@
 					if (scr->getLockers())
 						scr->decrementLockers();  // Decrease lockers if this is us ourselves
 				} else {
-					// Uninstantiate superclass, but never uninstantiate
-					// system scripts, i.e. script 0 and scripts 900-999 - bug #3038837
-					if (superclass_script != 0 && superclass_script < 900)
+					if (g_sci->getGameId() == GID_HOYLE3 && (superclass_script == 0 || superclass_script >= 990)) {
+						// HACK for Hoyle 3: when exiting Checkers or Pachisi, scripts 0, 999 and some others
+						// are deleted but are never instantiated again. We ignore deletion of these scripts
+						// here for Hoyle 3 - bug #3038837
+						// TODO/FIXME: find out why this happens, seems like there is a problem with the object
+						// lock code
+					} else {
 						uninstantiateScript(superclass_script);
+					}
 				}
 				// Recurse to assure that the superclass lockers number gets decreased
 			}


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