diff options
author | Filippos Karapetis | 2011-02-10 12:40:48 +0000 |
---|---|---|
committer | Filippos Karapetis | 2011-02-10 12:40:48 +0000 |
commit | d915560f4475a30ab7ff961b3af8e109e3e8ffa7 (patch) | |
tree | de6a487c7e5ec908a1aca05f1b2e4342379a9615 /engines/sci/resource.cpp | |
parent | 24eab0ac73f293f5f05344c3278ca5dcfd76dacd (diff) | |
download | scummvm-rg350-d915560f4475a30ab7ff961b3af8e109e3e8ffa7.tar.gz scummvm-rg350-d915560f4475a30ab7ff961b3af8e109e3e8ffa7.tar.bz2 scummvm-rg350-d915560f4475a30ab7ff961b3af8e109e3e8ffa7.zip |
SCI: Moved some audio resource code to resource_audio.cpp
svn-id: r55865
Diffstat (limited to 'engines/sci/resource.cpp')
-rw-r--r-- | engines/sci/resource.cpp | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 1530cc2c58..a4d4b31597 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -558,75 +558,6 @@ Common::SeekableReadStream *ResourceSource::getVolumeFile(ResourceManager *resMa return fileStream; } -void WaveResourceSource::loadResource(ResourceManager *resMan, Resource *res) { - Common::SeekableReadStream *fileStream = getVolumeFile(resMan, res); - if (!fileStream) - return; - - fileStream->seek(res->_fileOffset, SEEK_SET); - res->loadFromWaveFile(fileStream); - if (_resourceFile) - delete fileStream; -} - -void AudioVolumeResourceSource::loadResource(ResourceManager *resMan, Resource *res) { - Common::SeekableReadStream *fileStream = getVolumeFile(resMan, res); - if (!fileStream) - return; - - if (_audioCompressionType) { - // this file is compressed, so lookup our offset in the offset-translation table and get the new offset - // also calculate the compressed size by using the next offset - int32 *mappingTable = _audioCompressionOffsetMapping; - int32 compressedOffset = 0; - - do { - if (*mappingTable == res->_fileOffset) { - mappingTable++; - compressedOffset = *mappingTable; - // Go to next compressed offset and use that to calculate size of compressed sample - switch (res->getType()) { - case kResourceTypeSync: - case kResourceTypeSync36: - // we should already have a (valid) size - break; - default: - mappingTable += 2; - res->size = *mappingTable - compressedOffset; - } - break; - } - mappingTable += 2; - } while (*mappingTable); - - if (!compressedOffset) - error("could not translate offset to compressed offset in audio volume"); - fileStream->seek(compressedOffset, SEEK_SET); - - switch (res->getType()) { - case kResourceTypeAudio: - case kResourceTypeAudio36: - // Directly read the stream, compressed audio wont have resource type id and header size for SCI1.1 - res->loadFromAudioVolumeSCI1(fileStream); - if (_resourceFile) - delete fileStream; - return; - default: - break; - } - } else { - // original file, directly seek to given offset and get SCI1/SCI1.1 audio resource - fileStream->seek(res->_fileOffset, SEEK_SET); - } - if (getSciVersion() < SCI_VERSION_1_1) - res->loadFromAudioVolumeSCI1(fileStream); - else - res->loadFromAudioVolumeSCI11(fileStream); - - if (_resourceFile) - delete fileStream; -} - void ResourceSource::loadResource(ResourceManager *resMan, Resource *res) { Common::SeekableReadStream *fileStream = getVolumeFile(resMan, res); if (!fileStream) |