aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/resource.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-11-01 12:49:29 +0000
committerJohannes Schickel2008-11-01 12:49:29 +0000
commit282ebbb0e54211a1a3cef5510287a7c494fce1d2 (patch)
tree5e64df5b67a4bd44161deffde232fcb537511c34 /engines/kyra/resource.cpp
parentcd3011e4088fc25846278d2e8cf6527245d5d333 (diff)
downloadscummvm-rg350-282ebbb0e54211a1a3cef5510287a7c494fce1d2.tar.gz
scummvm-rg350-282ebbb0e54211a1a3cef5510287a7c494fce1d2.tar.bz2
scummvm-rg350-282ebbb0e54211a1a3cef5510287a7c494fce1d2.zip
Commit of patch #2207782 "ARCHIVE: New method 'getMember'".
svn-id: r34871
Diffstat (limited to 'engines/kyra/resource.cpp')
-rw-r--r--engines/kyra/resource.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp
index 2b09036b4e..d4b468fed5 100644
--- a/engines/kyra/resource.cpp
+++ b/engines/kyra/resource.cpp
@@ -107,15 +107,15 @@ bool Resource::reset() {
};
for (uint i = 0; i < ARRAYSIZE(list); ++i) {
- Common::ArchiveMemberList fileList;
- listFiles(list[i], fileList);
+ Common::ArchiveMemberPtr file = _files.getMember(list[i]);
+ if (!file)
+ error("Couldn't find PAK file '%s'", list[i]);
- if (fileList.empty())
- error("Couldn't load PAK file '%s'", list[i]);
-
- Common::Archive *archive = loadArchive(list[i], *fileList.begin());
+ Common::Archive *archive = loadArchive(list[i], file);
if (archive)
_protectedFiles.add(list[i], archive, 0, false);
+ else
+ error("Couldn't load PAK file '%s'", list[i]);
}
} else {
for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) {
@@ -142,13 +142,12 @@ bool Resource::reset() {
bool Resource::loadPakFile(Common::String filename) {
filename.toUppercase();
- Common::ArchiveMemberList list;
- _files.listMatchingMembers(list, filename);
- if (list.empty())
+ Common::ArchiveMemberPtr file = _files.getMember(filename);
+ if (!file)
return false;
- return loadPakFile(filename, *list.begin());
+ return loadPakFile(filename, file);
}
bool Resource::loadPakFile(Common::String name, Common::SharedPtr<Common::ArchiveMember> file) {