aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMatthew Hoops2010-06-07 11:44:52 +0000
committerMatthew Hoops2010-06-07 11:44:52 +0000
commitd5b5a8dbaeac596d02ad6063a61f566c6c092de0 (patch)
tree9b115546e8668d05497e142b948d7cbe040191b0 /engines/sci
parent62402e743ece682c19f986ab25c9941686262ef7 (diff)
downloadscummvm-rg350-d5b5a8dbaeac596d02ad6063a61f566c6c092de0.tar.gz
scummvm-rg350-d5b5a8dbaeac596d02ad6063a61f566c6c092de0.tar.bz2
scummvm-rg350-d5b5a8dbaeac596d02ad6063a61f566c6c092de0.zip
Allow for the other audio36 patch naming schemes (Mac and some Torin ones).
svn-id: r49482
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/resource.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 5d60438f7f..d700513817 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1150,18 +1150,23 @@ void ResourceManager::readResourcePatchesBase36(ResourceSource *source) {
// folder of GK1CD, and are like this file: @0CS0M00.0X1. GK1CD is the first game where these
// have been observed. The actual audio36 and sync36 resources exist in SCI1.1 as well, but the
// first game where external patch files for them have been found is GK1CD. The names of these
- // files are base36 encoded, and we handle their decoding here. audio36 files start with a "@",
- // whereas sync36 start with a "#"
+ // files are base36 encoded, and we handle their decoding here. audio36 files start with a '@',
+ // whereas sync36 start with a '#'. Mac versions begin with 'A' (probably meaning AIFF). Torin
+ // has several that begin with 'B'.
- Common::String mask, name, inputName;
+ Common::String name, inputName;
Common::ArchiveMemberList files;
//ResourceSource *psrcPatch;
for (int i = kResourceTypeAudio36; i <= kResourceTypeSync36; ++i) {
- // audio36 resources start with a @
+ // audio36 resources start with a @, A, or B
// sync36 resources start with a #
- mask = (i == kResourceTypeAudio36) ? "@*.*" : "#*.*";
- SearchMan.listMatchingMembers(files, mask);
+ if (i == kResourceTypeAudio36) {
+ SearchMan.listMatchingMembers(files, "@???????.???");
+ SearchMan.listMatchingMembers(files, "A???????.???");
+ SearchMan.listMatchingMembers(files, "B???????.???");
+ } else
+ SearchMan.listMatchingMembers(files, "#???????.???");
for (Common::ArchiveMemberList::const_iterator x = files.begin(); x != files.end(); ++x) {
name = (*x)->getName();