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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Tue Jun 15 14:17:05 CEST 2010


Revision: 49828
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49828&view=rev
Author:   fingolfin
Date:     2010-06-15 12:17:05 +0000 (Tue, 15 Jun 2010)

Log Message:
-----------
SCI: Get rid of ugly resMan params to ResourceSource methods

We might want to add a ResourceSource::_resMan member, but for
now I am not adding one on purpose; many more things might still
move between ResourceSource and ResourceManager, so we should
wait till the refactoring is complete.

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 12:16:42 UTC (rev 49827)
+++ scummvm/trunk/engines/sci/resource.cpp	2010-06-15 12:17:05 UTC (rev 49828)
@@ -315,21 +315,23 @@
 static uint32 resTypeToMacTag(ResourceType type);
 
 void ResourceManager::loadResource(Resource *res) {
-	res->_source->loadResource(res, this);
+	res->_source->loadResource(res);
 }
 
 
-void PatchResourceSource::loadResource(Resource *res, ResourceManager *resMan) {
+void PatchResourceSource::loadResource(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
 	bool result = resMan->loadFromPatchFile(res);
 	if (!result) {
 		// TODO: We used to fallback to the "default" code here if loadFromPatchFile
 		// failed, but I am not sure whether that is really appropriate.
 		// In fact it looks like a bug to me, so I commented this out for now.
-		//ResourceSource::loadResource(res, resMan);
+		//ResourceSource::loadResource(res);
 	}
 }
 
-void MacResourceForkResourceSource::loadResource(Resource *res, ResourceManager *resMan) {
+void MacResourceForkResourceSource::loadResource(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
 	Common::SeekableReadStream *stream = _macResMan->getResource(resTypeToMacTag(res->_id.type), res->_id.number);
 
 	if (!stream)
@@ -343,7 +345,8 @@
 	}
 }
 
-Common::SeekableReadStream *ResourceSource::getVolumeFile(Resource *res, ResourceManager *resMan) {
+Common::SeekableReadStream *ResourceSource::getVolumeFile(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
 	Common::SeekableReadStream *fileStream = resMan->getVolumeFile(this);
 
 	if (!fileStream) {
@@ -354,8 +357,9 @@
 	return fileStream;
 }
 
-void WaveResourceSource::loadResource(Resource *res, ResourceManager *resMan) {
-	Common::SeekableReadStream *fileStream = getVolumeFile(res, resMan);
+void WaveResourceSource::loadResource(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
+	Common::SeekableReadStream *fileStream = getVolumeFile(res);
 	if (!fileStream)
 		return;
 
@@ -365,8 +369,9 @@
 		delete fileStream;
 }
 
-void AudioVolumeResourceSource::loadResource(Resource *res, ResourceManager *resMan) {
-	Common::SeekableReadStream *fileStream = getVolumeFile(res, resMan);
+void AudioVolumeResourceSource::loadResource(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
+	Common::SeekableReadStream *fileStream = getVolumeFile(res);
 	if (!fileStream)
 		return;
 
@@ -423,8 +428,9 @@
 		delete fileStream;
 }
 
-void ResourceSource::loadResource(Resource *res, ResourceManager *resMan) {
-	Common::SeekableReadStream *fileStream = getVolumeFile(res, resMan);
+void ResourceSource::loadResource(Resource *res) {
+	ResourceManager *resMan = g_sci->getResMan();
+	Common::SeekableReadStream *fileStream = getVolumeFile(res);
 	if (!fileStream)
 		return;
 
@@ -616,12 +622,13 @@
 
 		if (!source->_scanned) {
 			source->_scanned = true;
-			source->scanSource(this);
+			source->scanSource();
 		}
 	}
 }
 
-void DirectoryResourceSource::scanSource(ResourceManager *resMan) {
+void DirectoryResourceSource::scanSource() {
+	ResourceManager *resMan = g_sci->getResMan();
 	resMan->readResourcePatches(this);
 
 	// We can't use getSciVersion() at this point, thus using _volVersion
@@ -631,18 +638,21 @@
 	resMan->readWaveAudioPatches();
 }
 
-void ExtMapResourceSource::scanSource(ResourceManager *resMan) {
+void ExtMapResourceSource::scanSource() {
+	ResourceManager *resMan = g_sci->getResMan();
 	if (resMan->_mapVersion < ResourceManager::kResVersionSci1Late)
 		resMan->readResourceMapSCI0(this);
 	else
 		resMan->readResourceMapSCI1(this);
 }
 
-void ExtAudioMapResourceSource::scanSource(ResourceManager *resMan) {
+void ExtAudioMapResourceSource::scanSource() {
+	ResourceManager *resMan = g_sci->getResMan();
 	resMan->readAudioMapSCI1(this);
 }
 
-void IntMapResourceSource::scanSource(ResourceManager *resMan) {
+void IntMapResourceSource::scanSource() {
+	ResourceManager *resMan = g_sci->getResMan();
 	resMan->readAudioMapSCI11(this);
 }
 
@@ -1447,7 +1457,8 @@
 	return 0;
 }
 
-void MacResourceForkResourceSource::scanSource(ResourceManager *resMan) {
+void MacResourceForkResourceSource::scanSource() {
+	ResourceManager *resMan = g_sci->getResMan();
 	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 12:16:42 UTC (rev 49827)
+++ scummvm/trunk/engines/sci/resource_intern.h	2010-06-15 12:17:05 UTC (rev 49828)
@@ -69,7 +69,7 @@
 	const Common::String &getLocationName() const { return _name; }
 
 	// Auxiliary method, used by loadResource implementations.
-	Common::SeekableReadStream *getVolumeFile(Resource *res, ResourceManager *resMan);
+	Common::SeekableReadStream *getVolumeFile(Resource *res);
 
 	/**
 	 * TODO: Document this
@@ -80,29 +80,27 @@
 
 	/**
 	 * Scan this source for TODO.
-	 * TODO: The resMan param for now is just a hack.
 	 */
-	virtual void scanSource(ResourceManager *resMan) {}
+	virtual void scanSource() {}
 
 	/**
 	 * Load a resource.
-	 * TODO: The resMan param for now is just a hack.
 	 */
-	virtual void loadResource(Resource *res, ResourceManager *resMan);
+	virtual void loadResource(Resource *res);
 };
 
 class DirectoryResourceSource : public ResourceSource {
 public:
 	DirectoryResourceSource(const Common::String &name) : ResourceSource(kSourceDirectory, name) {}
 
-	virtual void scanSource(ResourceManager *resMan);
+	virtual void scanSource();
 };
 
 class PatchResourceSource : public ResourceSource {
 public:
 	PatchResourceSource(const Common::String &name) : ResourceSource(kSourcePatch, name) {}
 
-	virtual void loadResource(Resource *res, ResourceManager *resMan);
+	virtual void loadResource(Resource *res);
 };
 
 class VolumeResourceSource : public ResourceSource {
@@ -130,7 +128,7 @@
 		: ResourceSource(kSourceExtMap, name, volNum, resFile) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	virtual void scanSource();
 };
 
 class IntMapResourceSource : public ResourceSource {
@@ -139,14 +137,14 @@
 		: ResourceSource(kSourceIntMap, name, volNum) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	virtual void scanSource();
 };
 
 class AudioVolumeResourceSource : public VolumeResourceSource {
 public:
 	AudioVolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum);
 
-	virtual void loadResource(Resource *res, ResourceManager *resMan);
+	virtual void loadResource(Resource *res);
 };
 
 class ExtAudioMapResourceSource : public ResourceSource {
@@ -155,14 +153,14 @@
 		: ResourceSource(kSourceExtAudioMap, name, volNum) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	virtual void scanSource();
 };
 
 class WaveResourceSource : public ResourceSource {
 public:
 	WaveResourceSource(const Common::String &name) : ResourceSource(kSourceWave, name) {}
 
-	virtual void loadResource(Resource *res, ResourceManager *resMan);
+	virtual void loadResource(Resource *res);
 };
 
 class MacResourceForkResourceSource : public ResourceSource {
@@ -176,9 +174,9 @@
 	/**
 	 * Reads the SCI1.1+ resource file from a Mac resource fork.
 	 */
-	virtual void scanSource(ResourceManager *resMan);
+	virtual void scanSource();
 
-	virtual void loadResource(Resource *res, ResourceManager *resMan);
+	virtual void loadResource(Resource *res);
 };
 
 } // End of namespace Sci


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