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

waltervn at users.sourceforge.net waltervn at users.sourceforge.net
Sun Apr 25 00:02:32 CEST 2010


Revision: 48790
          http://scummvm.svn.sourceforge.net/scummvm/?rev=48790&view=rev
Author:   waltervn
Date:     2010-04-24 22:02:31 +0000 (Sat, 24 Apr 2010)

Log Message:
-----------
SCI: Don't error() out when autodetection fails

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

Modified: scummvm/trunk/engines/sci/engine/features.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/features.cpp	2010-04-24 21:45:17 UTC (rev 48789)
+++ scummvm/trunk/engines/sci/engine/features.cpp	2010-04-24 22:02:31 UTC (rev 48790)
@@ -71,6 +71,9 @@
 	// Look up the script address
 	reg_t addr = getDetectionAddr("Sound", _kernel->_selectorCache.play);
 
+	if (!addr.segment)
+		return false;
+
 	uint16 offset = addr.offset;
 	Script *script = _segMan->getScript(addr.segment);
 	uint16 intParam = 0xFFFF;
@@ -206,6 +209,9 @@
 	// Look up the script address
 	reg_t addr = getDetectionAddr("Game", -1, methodNum);
 
+	if (!addr.segment)
+		return false;
+
 	uint16 offset = addr.offset;
 	Script *script = _segMan->getScript(addr.segment);
 
@@ -289,6 +295,9 @@
 	// Look up the script address
 	reg_t addr = getDetectionAddr("Rm", _kernel->_selectorCache.overlay, methodNum);
 
+	if (!addr.segment)
+		return false;
+
 	uint16 offset = addr.offset;
 	Script *script = _segMan->getScript(addr.segment);
 
@@ -379,6 +388,9 @@
 	// Look up the script address
 	reg_t addr = getDetectionAddr("Sound", _kernel->_selectorCache.play);
 
+	if (!addr.segment)
+		return false;
+
 	uint16 offset = addr.offset;
 	Script *script = _segMan->getScript(addr.segment);
 
@@ -428,6 +440,9 @@
 	// Look up the script address
 	reg_t addr = getDetectionAddr("Motion", _kernel->_selectorCache.doit);
 
+	if (!addr.segment)
+		return false;
+
 	uint16 offset = addr.offset;
 	Script *script = _segMan->getScript(addr.segment);
 	bool foundTarget = false;


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