aboutsummaryrefslogtreecommitdiff
path: root/engines/director/archive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/archive.cpp')
-rw-r--r--engines/director/archive.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 593fb638e4..496f47cc23 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -66,10 +66,13 @@ void Archive::close() {
_stream = 0;
}
-bool Archive::hasResource(uint32 tag, uint16 id) const {
+bool Archive::hasResource(uint32 tag, int id) const {
if (!_types.contains(tag))
return false;
+ if (id == -1)
+ return true;
+
return _types[tag].contains(id);
}
@@ -408,7 +411,7 @@ bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOff
keyRes = &resources[resources.size() - 1];
else if (tag == MKTAG('C', 'A', 'S', '*'))
casRes = &resources[resources.size() - 1];
- //or the children of
+ //or the children of
else if (tag == MKTAG('S', 'T', 'X', 'T') ||
tag == MKTAG('B', 'I', 'T', 'D') ||
tag == MKTAG('D', 'I', 'B', ' '))