[Scummvm-cvs-logs] SF.net SVN: scummvm:[49863] scummvm/trunk/engines/sci

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Tue Jun 15 18:50:10 CEST 2010


Revision: 49863
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49863&view=rev
Author:   fingolfin
Date:     2010-06-15 16:50:10 +0000 (Tue, 15 Jun 2010)

Log Message:
-----------
SCI: Pass resman to scanSource() methods

Modified Paths:
--------------
    scummvm/trunk/engines/sci/resource.cpp
    scummvm/trunk/engines/sci/resource_intern.h

Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp	2010-06-15 16:36:09 UTC (rev 49862)
+++ scummvm/trunk/engines/sci/resource.cpp	2010-06-15 16:50:10 UTC (rev 49863)
@@ -437,15 +437,14 @@
 	fileStream->seek(res->_fileOffset, SEEK_SET);
 
 	int error = res->decompress(fileStream);
-
-	if (_resourceFile)
-		delete fileStream;
-
 	if (error) {
 		warning("Error %d occurred while reading %s from resource file: %s",
 				error, res->_id.toString().c_str(), sci_error_types[error]);
 		res->unalloc();
 	}
+
+	if (_resourceFile)
+		delete fileStream;
 }
 
 Resource *ResourceManager::testResource(ResourceId id) {
@@ -623,13 +622,12 @@
 
 		if (!source->_scanned) {
 			source->_scanned = true;
-			source->scanSource();
+			source->scanSource(this);
 		}
 	}
 }
 
-void DirectoryResourceSource::scanSource() {
-	ResourceManager *resMan = g_sci->getResMan();
+void DirectoryResourceSource::scanSource(ResourceManager *resMan) {
 	resMan->readResourcePatches();
 
 	// We can't use getSciVersion() at this point, thus using _volVersion
@@ -639,21 +637,18 @@
 	resMan->readWaveAudioPatches();
 }
 
-void ExtMapResourceSource::scanSource() {
-	ResourceManager *resMan = g_sci->getResMan();
+void ExtMapResourceSource::scanSource(ResourceManager *resMan) {
 	if (resMan->_mapVersion < kResVersionSci1Late)
 		resMan->readResourceMapSCI0(this);
 	else
 		resMan->readResourceMapSCI1(this);
 }
 
-void ExtAudioMapResourceSource::scanSource() {
-	ResourceManager *resMan = g_sci->getResMan();
+void ExtAudioMapResourceSource::scanSource(ResourceManager *resMan) {
 	resMan->readAudioMapSCI1(this);
 }
 
-void IntMapResourceSource::scanSource() {
-	ResourceManager *resMan = g_sci->getResMan();
+void IntMapResourceSource::scanSource(ResourceManager *resMan) {
 	resMan->readAudioMapSCI11(this);
 }
 
@@ -1441,8 +1436,7 @@
 	return 0;
 }
 
-void MacResourceForkResourceSource::scanSource() {
-	ResourceManager *resMan = g_sci->getResMan();
+void MacResourceForkResourceSource::scanSource(ResourceManager *resMan) {
 	if (!_macResMan->open(getLocationName().c_str()))
 		error("%s is not a valid Mac resource fork", getLocationName().c_str());
 

Modified: scummvm/trunk/engines/sci/resource_intern.h
===================================================================
--- scummvm/trunk/engines/sci/resource_intern.h	2010-06-15 16:36:09 UTC (rev 49862)
+++ scummvm/trunk/engines/sci/resource_intern.h	2010-06-15 16:50:10 UTC (rev 49863)
@@ -78,7 +78,7 @@
 	/**
 	 * Scan this source for TODO.
 	 */
-	virtual void scanSource() {}
+	virtual void scanSource(ResourceManager *resMan) {}
 
 	/**
 	 * Load a resource.
@@ -95,7 +95,7 @@
 public:
 	DirectoryResourceSource(const Common::String &name) : ResourceSource(kSourceDirectory, name) {}
 
-	virtual void scanSource();
+	virtual void scanSource(ResourceManager *resMan);
 };
 
 class PatchResourceSource : public ResourceSource {
@@ -131,7 +131,7 @@
 		: ResourceSource(kSourceExtMap, name, volNum, resFile) {
 	}
 
-	virtual void scanSource();
+	virtual void scanSource(ResourceManager *resMan);
 };
 
 class IntMapResourceSource : public ResourceSource {
@@ -140,7 +140,7 @@
 		: ResourceSource(kSourceIntMap, name, volNum) {
 	}
 
-	virtual void scanSource();
+	virtual void scanSource(ResourceManager *resMan);
 };
 
 class AudioVolumeResourceSource : public VolumeResourceSource {
@@ -162,7 +162,7 @@
 		: ResourceSource(kSourceExtAudioMap, name, volNum) {
 	}
 
-	virtual void scanSource();
+	virtual void scanSource(ResourceManager *resMan);
 };
 
 class WaveResourceSource : public ResourceSource {
@@ -183,7 +183,7 @@
 	MacResourceForkResourceSource(const Common::String &name, int volNum);
 	~MacResourceForkResourceSource();
 
-	virtual void scanSource();
+	virtual void scanSource(ResourceManager *resMan);
 
 	virtual void loadResource(Resource *res);
 };


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