diff options
author | Matthew Hoops | 2011-06-28 13:54:14 -0400 |
---|---|---|
committer | Matthew Hoops | 2011-06-28 13:54:14 -0400 |
commit | ddd83da48bb0aea037b9f199490b359e2d7a97e7 (patch) | |
tree | 8c5af29f3bb3af0de44904895d37781c15449066 | |
parent | cc818b444c454d2f8978655d5c29f379cbe21376 (diff) | |
download | scummvm-rg350-ddd83da48bb0aea037b9f199490b359e2d7a97e7.tar.gz scummvm-rg350-ddd83da48bb0aea037b9f199490b359e2d7a97e7.tar.bz2 scummvm-rg350-ddd83da48bb0aea037b9f199490b359e2d7a97e7.zip |
MOHAWK: Add archive functions to get type/id lists
This will be needed for CarmenTQ
-rw-r--r-- | engines/mohawk/resource.cpp | 22 | ||||
-rw-r--r-- | engines/mohawk/resource.h | 3 |
2 files changed, 25 insertions, 0 deletions
diff --git a/engines/mohawk/resource.cpp b/engines/mohawk/resource.cpp index df8271dc5a..9b39692958 100644 --- a/engines/mohawk/resource.cpp +++ b/engines/mohawk/resource.cpp @@ -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 diff --git a/engines/mohawk/resource.h b/engines/mohawk/resource.h index d4e91e0ec4..f2ead7af65 100644 --- a/engines/mohawk/resource.h +++ b/engines/mohawk/resource.h @@ -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; |