aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2010-06-15 12:18:07 +0000
committerMax Horn2010-06-15 12:18:07 +0000
commitb9a3a9c12d04ab0886cedc2dec81689d5458d4ca (patch)
treedd2c1b3694dacc46dfdab0287ccaecef02d7da39
parent6667a7102738cda6e36e928bb7a9b4ca8f128e78 (diff)
downloadscummvm-rg350-b9a3a9c12d04ab0886cedc2dec81689d5458d4ca.tar.gz
scummvm-rg350-b9a3a9c12d04ab0886cedc2dec81689d5458d4ca.tar.bz2
scummvm-rg350-b9a3a9c12d04ab0886cedc2dec81689d5458d4ca.zip
SCI: Move _associatedMap to VolumeResourceSource and make it const
svn-id: r49831
-rw-r--r--engines/sci/resource.cpp1
-rw-r--r--engines/sci/resource_audio.cpp2
-rw-r--r--engines/sci/resource_intern.h10
3 files changed, 6 insertions, 7 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index b37f89ae5b..df33ec6b89 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -175,7 +175,6 @@ uint32 AudioVolumeResourceSource::getAudioCompressionType() const {
ResourceSource::ResourceSource(ResSourceType type, const Common::String &name, int volNum, const Common::FSNode *resFile)
: _sourceType(type), _name(name), _volumeNumber(volNum), _resourceFile(resFile) {
_scanned = false;
- _associatedMap = NULL;
}
ResourceSource::~ResourceSource() {
diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp
index 81ea99e17a..4df2f6515b 100644
--- a/engines/sci/resource_audio.cpp
+++ b/engines/sci/resource_audio.cpp
@@ -417,7 +417,7 @@ void ResourceManager::setAudioLanguage(int language) {
Common::List<ResourceSource *>::iterator it = _sources.begin();
while (it != _sources.end()) {
ResourceSource *src = *it;
- if (src->_associatedMap == _audioMapSCI1) {
+ if (src->findVolume(_audioMapSCI1, src->_volumeNumber)) {
it = _sources.erase(it);
delete src;
} else {
diff --git a/engines/sci/resource_intern.h b/engines/sci/resource_intern.h
index c58fc72ff2..209f3720b1 100644
--- a/engines/sci/resource_intern.h
+++ b/engines/sci/resource_intern.h
@@ -56,7 +56,6 @@ public:
bool _scanned;
const Common::FSNode * const _resourceFile;
const int _volumeNumber;
- ResourceSource *_associatedMap; // TODO: Move to VolumeResourceSource
protected:
ResourceSource(ResSourceType type, const Common::String &name, int volNum = 0, const Common::FSNode *resFile = 0);
@@ -105,15 +104,16 @@ public:
};
class VolumeResourceSource : public ResourceSource {
+protected:
+ ResourceSource * const _associatedMap;
+
public:
VolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum, ResSourceType type = kSourceVolume)
- : ResourceSource(type, name, volNum) {
- _associatedMap = map;
+ : ResourceSource(type, name, volNum), _associatedMap(map) {
}
VolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum, const Common::FSNode *resFile)
- : ResourceSource(kSourceVolume, name, volNum, resFile) {
- _associatedMap = map;
+ : ResourceSource(kSourceVolume, name, volNum, resFile), _associatedMap(map) {
}
virtual ResourceSource *findVolume(ResourceSource *map, int volNum) {