aboutsummaryrefslogtreecommitdiff
path: root/engines/director/archive.h
diff options
context:
space:
mode:
authorstevenhoefel2017-01-09 09:31:27 +1100
committerEugene Sandulenko2017-01-09 00:00:04 +0100
commit3359ea9c99eba7f7e630a2b8057ec4df55fed83c (patch)
tree141e4bfe65634c043fa646cf59ff6ac1077a4537 /engines/director/archive.h
parent4dc6aa2d93a3e166891713549d73c4e40fe9f4f2 (diff)
downloadscummvm-rg350-3359ea9c99eba7f7e630a2b8057ec4df55fed83c.tar.gz
scummvm-rg350-3359ea9c99eba7f7e630a2b8057ec4df55fed83c.tar.bz2
scummvm-rg350-3359ea9c99eba7f7e630a2b8057ec4df55fed83c.zip
DIRECTOR: CASt members have Children in D4.
Diffstat (limited to 'engines/director/archive.h')
-rw-r--r--engines/director/archive.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/engines/director/archive.h b/engines/director/archive.h
index 93f4ce7ee9..b77bace9ba 100644
--- a/engines/director/archive.h
+++ b/engines/director/archive.h
@@ -33,6 +33,15 @@ class MacResManager;
namespace Director {
// Completely ripped off of Mohawk's Archive code
+
+struct Resource {
+ uint32 index;
+ uint32 offset;
+ uint32 size;
+ uint32 castId;
+ Common::String name;
+ Common::Array<Resource> children;
+};
class Archive {
public:
@@ -50,6 +59,7 @@ public:
bool hasResource(uint32 tag, uint16 id) const;
bool hasResource(uint32 tag, const Common::String &resName) const;
virtual Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id);
+ virtual Resource getResourceDetail(uint32 tag, uint16 id);
uint32 getOffset(uint32 tag, uint16 id) const;
uint16 findResourceID(uint32 tag, const Common::String &resName) const;
Common::String getName(uint32 tag, uint16 id) const;
@@ -61,11 +71,6 @@ public:
protected:
Common::SeekableReadStream *_stream;
- struct Resource {
- uint32 offset;
- uint32 size;
- Common::String name;
- };
typedef Common::HashMap<uint16, Resource> ResourceMap;
typedef Common::HashMap<uint32, ResourceMap> TypeMap;
TypeMap _types;
@@ -103,6 +108,7 @@ public:
bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0);
Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id);
+ Resource getResourceDetail(uint32 tag, uint16 id);
};
} // End of namespace Director