From 6667a7102738cda6e36e928bb7a9b4ca8f128e78 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 15 Jun 2010 12:17:47 +0000 Subject: SCI: Move _audioCompression(Type|OffsetMapping) to AudioVolumeResourceSource svn-id: r49830 --- engines/sci/resource.cpp | 10 ++++++---- engines/sci/resource.h | 2 +- engines/sci/resource_audio.cpp | 3 +++ engines/sci/resource_intern.h | 11 +++++++++-- 4 files changed, 19 insertions(+), 7 deletions(-) (limited to 'engines/sci') diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index df66fe0e38..b37f89ae5b 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -163,8 +163,12 @@ void Resource::writeToStream(Common::WriteStream *stream) const { stream->write(data, size); } -uint32 Resource::getAudioCompressionType() { - return _source->_audioCompressionType; +uint32 Resource::getAudioCompressionType() const { + return _source->getAudioCompressionType(); +} + +uint32 AudioVolumeResourceSource::getAudioCompressionType() const { + return _audioCompressionType; } @@ -172,8 +176,6 @@ ResourceSource::ResourceSource(ResSourceType type, const Common::String &name, i : _sourceType(type), _name(name), _volumeNumber(volNum), _resourceFile(resFile) { _scanned = false; _associatedMap = NULL; - _audioCompressionType = 0; - _audioCompressionOffsetMapping = NULL; } ResourceSource::~ResourceSource() { diff --git a/engines/sci/resource.h b/engines/sci/resource.h index 0d76a4e4a9..db8a1c2a47 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -190,7 +190,7 @@ public: * This method is used only by the "dump" debugger command. */ void writeToStream(Common::WriteStream *stream) const; - uint32 getAudioCompressionType(); + uint32 getAudioCompressionType() const; protected: int32 _fileOffset; /**< Offset in file */ diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp index 472a9773ae..81ea99e17a 100644 --- a/engines/sci/resource_audio.cpp +++ b/engines/sci/resource_audio.cpp @@ -36,6 +36,9 @@ namespace Sci { AudioVolumeResourceSource::AudioVolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum) : VolumeResourceSource(name, map, volNum, kSourceAudioVolume) { + _audioCompressionType = 0; + _audioCompressionOffsetMapping = NULL; + /* * Check if this audio volume got compressed by our tool. If that is the * case, set _audioCompressionType and read in the offset translation diff --git a/engines/sci/resource_intern.h b/engines/sci/resource_intern.h index ce5e3ac0e6..c58fc72ff2 100644 --- a/engines/sci/resource_intern.h +++ b/engines/sci/resource_intern.h @@ -57,8 +57,6 @@ public: 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, const Common::FSNode *resFile = 0); @@ -87,6 +85,9 @@ public: * Load a resource. */ virtual void loadResource(Resource *res); + + virtual uint32 getAudioCompressionType() const { return 0; } + }; class DirectoryResourceSource : public ResourceSource { @@ -141,10 +142,16 @@ public: }; class AudioVolumeResourceSource : public VolumeResourceSource { +protected: + uint32 _audioCompressionType; + int32 *_audioCompressionOffsetMapping; + public: AudioVolumeResourceSource(const Common::String &name, ResourceSource *map, int volNum); virtual void loadResource(Resource *res); + + virtual uint32 getAudioCompressionType() const; }; class ExtAudioMapResourceSource : public ResourceSource { -- cgit v1.2.3