[Scummvm-cvs-logs] SF.net SVN: scummvm: [30836] scummvm/trunk/engines/kyra/resource.cpp

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Feb 9 16:33:05 CET 2008


Revision: 30836
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30836&view=rev
Author:   lordhoto
Date:     2008-02-09 07:33:04 -0800 (Sat, 09 Feb 2008)

Log Message:
-----------
Changed some asserts to errors.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/resource.cpp

Modified: scummvm/trunk/engines/kyra/resource.cpp
===================================================================
--- scummvm/trunk/engines/kyra/resource.cpp	2008-02-09 15:18:35 UTC (rev 30835)
+++ scummvm/trunk/engines/kyra/resource.cpp	2008-02-09 15:33:04 UTC (rev 30836)
@@ -132,30 +132,35 @@
 	if (iter == _map.end())
 		return false;
 
+	if (iter->_value.preload)
+		return true;
+
+	const ResArchiveLoader *loader = getLoader(iter->_value.type);
+	if (!loader) {
+		error("no archive loader for file '%s' found which is of type %d", filename.c_str(), iter->_value.type);
+		return false;
+	}
+
 	iter->_value.loadable = true;
 
-	if (!isAccessable(filename))
+	if (!isAccessable(filename)) {
+		iter->_value.loadable = false;
 		return false;
+	}
 
-	if (iter->_value.preload)
-		return true;
-
 	Common::SeekableReadStream *stream = getFileStream(filename);
-	assert(stream);
+	if (!stream) {
+		iter->_value.loadable = false;
+		error("archive file '%s' not found", filename.c_str());
+		return false;
+	}
 
-	const ResArchiveLoader *loader = getLoader(iter->_value.type);
-	assert(loader);
-
+	iter->_value.preload = true;
 	loader->loadFile(filename, *stream, _map);
 	delete stream;
 	stream = 0;
 
-	iter = _map.find(filename);
-	if (iter == _map.end())
-		return false;
-	iter->_value.preload = true;
 	detectFileTypes();
-
 	return true;
 }
 


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