[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