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

agent-q at users.sourceforge.net agent-q at users.sourceforge.net
Tue Jul 3 01:02:54 CEST 2007


Revision: 27875
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27875&view=rev
Author:   agent-q
Date:     2007-07-02 16:02:54 -0700 (Mon, 02 Jul 2007)

Log Message:
-----------
Optimisation for resource loading in Kyra engine

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

Modified: scummvm/trunk/engines/kyra/resource.cpp
===================================================================
--- scummvm/trunk/engines/kyra/resource.cpp	2007-07-02 22:48:39 UTC (rev 27874)
+++ scummvm/trunk/engines/kyra/resource.cpp	2007-07-02 23:02:54 UTC (rev 27875)
@@ -195,15 +195,22 @@
 			if (!(*cur)->isOpen())
 				continue;
 
-			uint32 fileSize = (*cur)->getFileSize(fileHash);
 
-			if (!fileSize)
-				continue;
+			uint8* result = (*cur)->getFile(fileHash);
 
-			if (size)
-				*size = fileSize;
+			if (result) {
+				uint32 fileSize = (*cur)->getFileSize(fileHash);
 
-			return (*cur)->getFile(fileHash);
+				if (!fileSize)
+					continue;
+
+				if (size)
+					*size = fileSize;
+
+				return result;
+			}
+
+
 		}
 	}
 
@@ -221,13 +228,15 @@
 		if (!(*start)->isOpen())
 			continue;
 
-		*size = (*start)->getFileSize(fileHash);
+		if ((*start)->getFileHandle(fileHash, filehandle)) {
+
+			*size = (*start)->getFileSize(fileHash);
 		
-		if (!(*size))
-			continue;
+			if (!(*size))
+				continue;
 
-		if ((*start)->getFileHandle(fileHash, filehandle))
 			return true;
+		}
 	}
 	
 	return 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