From 282ebbb0e54211a1a3cef5510287a7c494fce1d2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 1 Nov 2008 12:49:29 +0000 Subject: Commit of patch #2207782 "ARCHIVE: New method 'getMember'". svn-id: r34871 --- engines/kyra/resource.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'engines/kyra/resource.cpp') 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 file) { -- cgit v1.2.3