[Scummvm-cvs-logs] SF.net SVN: scummvm:[49826] scummvm/trunk/engines/sci
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Tue Jun 15 14:16:17 CEST 2010
Revision: 49826
http://scummvm.svn.sourceforge.net/scummvm/?rev=49826&view=rev
Author: fingolfin
Date: 2010-06-15 12:16:17 +0000 (Tue, 15 Jun 2010)
Log Message:
-----------
SCI: Make ResourceSource::_resourceFile const
Modified Paths:
--------------
scummvm/trunk/engines/sci/resource.cpp
scummvm/trunk/engines/sci/resource.h
scummvm/trunk/engines/sci/resource_intern.h
Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp 2010-06-15 12:15:52 UTC (rev 49825)
+++ scummvm/trunk/engines/sci/resource.cpp 2010-06-15 12:16:17 UTC (rev 49826)
@@ -168,10 +168,9 @@
}
-ResourceSource::ResourceSource(ResSourceType type, const Common::String &name, int volNum)
- : _sourceType(type), _name(name), _volumeNumber(volNum) {
+ResourceSource::ResourceSource(ResSourceType type, const Common::String &name, int volNum, const Common::FSNode *resFile)
+ : _sourceType(type), _name(name), _volumeNumber(volNum), _resourceFile(resFile) {
_scanned = false;
- _resourceFile = 0;
_associatedMap = NULL;
_audioCompressionType = 0;
_audioCompressionOffsetMapping = NULL;
@@ -202,10 +201,8 @@
}
ResourceSource *ResourceManager::addExternalMap(const Common::FSNode *mapFile, int volume_nr) {
- ResourceSource *newsrc = new ExtMapResourceSource(mapFile->getName(), volume_nr);
+ ResourceSource *newsrc = new ExtMapResourceSource(mapFile->getName(), volume_nr, mapFile);
- newsrc->_resourceFile = mapFile;
-
_sources.push_back(newsrc);
return newsrc;
}
@@ -225,22 +222,6 @@
return newsrc;
}
-ResourceSource *ResourceManager::addSource(ResourceSource *newsrc, const Common::FSNode *resFile) {
- assert(newsrc);
-
- newsrc->_resourceFile = resFile;
- if (newsrc->getSourceType() == kSourceAudioVolume) {
- // TODO: Move this call into the AudioVolumeResourceSource constructor.
- // Need to verify if this is safe, though; in particular, whether this
- // method may be called before the new AudioVolumeResourceSource has been
- // added to the _sources lists.
- checkIfAudioVolumeIsCompressed(newsrc);
- }
-
- _sources.push_back(newsrc);
- return newsrc;
-}
-
ResourceSource *ResourceManager::addPatchDir(const Common::String &dirname) {
ResourceSource *newsrc = new DirectoryResourceSource(dirname);
@@ -594,7 +575,7 @@
#ifdef ENABLE_SCI32
if (sci21PatchMap && sci21PatchRes)
- addSource(new VolumeResourceSource(sci21PatchRes->getName(), sci21PatchMap, 100), sci21PatchRes);
+ addSource(new VolumeResourceSource(sci21PatchRes->getName(), sci21PatchMap, 100, sci21PatchRes));
#endif
// Now find all the resource.0?? files
@@ -609,7 +590,7 @@
const char *dot = strrchr(filename.c_str(), '.');
int number = atoi(dot + 1);
- addSource(new VolumeResourceSource(file->getName(), map, number), file);
+ addSource(new VolumeResourceSource(file->getName(), map, number, file));
}
}
Modified: scummvm/trunk/engines/sci/resource.h
===================================================================
--- scummvm/trunk/engines/sci/resource.h 2010-06-15 12:15:52 UTC (rev 49825)
+++ scummvm/trunk/engines/sci/resource.h 2010-06-15 12:16:17 UTC (rev 49826)
@@ -347,8 +347,6 @@
*/
ResourceSource *addSource(ResourceSource *source);
- ResourceSource *addSource(ResourceSource *source, const Common::FSNode *resFile);
-
/**
* Add an external (i.e., separate file) map resource to the resource
* manager's list of sources.
Modified: scummvm/trunk/engines/sci/resource_intern.h
===================================================================
--- scummvm/trunk/engines/sci/resource_intern.h 2010-06-15 12:15:52 UTC (rev 49825)
+++ scummvm/trunk/engines/sci/resource_intern.h 2010-06-15 12:16:17 UTC (rev 49826)
@@ -54,14 +54,14 @@
public:
bool _scanned;
- const Common::FSNode *_resourceFile;
+ const Common::FSNode * const _resourceFile;
const int _volumeNumber;
ResourceSource *_associatedMap; // TODO: Move to VolumeResourceSource
uint32 _audioCompressionType; // TODO: Move to AudioVolumeResourceSource
int32 *_audioCompressionOffsetMapping; // TODO: Move to AudioVolumeResourceSource
protected:
- ResourceSource(ResSourceType type, const Common::String &name, int volNum = 0);
+ ResourceSource(ResSourceType type, const Common::String &name, int volNum = 0, const Common::FSNode *resFile = 0);
public:
virtual ~ResourceSource();
@@ -112,6 +112,11 @@
_associatedMap = map;
}
+ VolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum, const Common::FSNode *resFile)
+ : ResourceSource(kSourceVolume, name, volNum, resFile) {
+ _associatedMap = map;
+ }
+
virtual ResourceSource *findVolume(ResourceSource *map, int volNum) {
if (_associatedMap == map && _volumeNumber == volNum)
return this;
@@ -121,8 +126,8 @@
class ExtMapResourceSource : public ResourceSource {
public:
- ExtMapResourceSource(const Common::String &name, int volNum)
- : ResourceSource(kSourceExtMap, name, volNum) {
+ ExtMapResourceSource(const Common::String &name, int volNum, const Common::FSNode *resFile = 0)
+ : ResourceSource(kSourceExtMap, name, volNum, resFile) {
}
virtual void scanSource(ResourceManager *resMan);
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