MOHAWK: Add archive functions to get type/id lists

This will be needed for CarmenTQ
This commit is contained in:
Matthew Hoops 2011-06-28 13:54:14 -04:00
parent cc818b444c
commit ddd83da48b
2 changed files with 25 additions and 0 deletions

View file

@ -131,6 +131,28 @@ Common::String Archive::getName(uint32 tag, uint16 id) const {
return resMap[id].name;
}
Common::Array<uint32> Archive::getResourceTypeList() const {
Common::Array<uint32> typeList;
for (TypeMap::const_iterator it = _types.begin(); it != _types.end(); it++)
typeList.push_back(it->_key);
return typeList;
}
Common::Array<uint16> Archive::getResourceIDList(uint32 type) const {
Common::Array<uint16> idList;
if (!_types.contains(type))
return idList;
const ResourceMap &resMap = _types[type];
for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++)
idList.push_back(it->_key);
return idList;
}
// Mohawk Archive code

View file

@ -148,6 +148,9 @@ public:
uint16 findResourceID(uint32 tag, const Common::String &resName) const;
Common::String getName(uint32 tag, uint16 id) const;
Common::Array<uint32> getResourceTypeList() const;
Common::Array<uint16> getResourceIDList(uint32 type) const;
protected:
Common::SeekableReadStream *_stream;