aboutsummaryrefslogtreecommitdiff
path: root/engines/director/archive.h
diff options
context:
space:
mode:
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