diff options
author | Matthew Hoops | 2010-06-07 11:44:52 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-06-07 11:44:52 +0000 |
commit | d5b5a8dbaeac596d02ad6063a61f566c6c092de0 (patch) | |
tree | 9b115546e8668d05497e142b948d7cbe040191b0 /engines/sci | |
parent | 62402e743ece682c19f986ab25c9941686262ef7 (diff) | |
download | scummvm-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.cpp | 17 |
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(); |