diff options
-rw-r--r-- | engines/hdb/file-manager.cpp | 17 | ||||
-rw-r--r-- | engines/hdb/file-manager.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/engines/hdb/file-manager.cpp b/engines/hdb/file-manager.cpp index b3945b3456..0226f56b4d 100644 --- a/engines/hdb/file-manager.cpp +++ b/engines/hdb/file-manager.cpp @@ -159,6 +159,23 @@ int FileMan::getCount(char *subString, DataType type) { return count; } +Common::Array<const char *> *FileMan::findFiles(const char *string, DataType type) { + Common::Array<const char *> *result = new Common::Array<const char *>; + Common::String fileString; + + // Find MPC Entry + for (MPCIterator it = _dir.begin(); it != _dir.end(); it++) { + fileString = (*it)->filename; + if (fileString.contains(string)) { + if ((*it)->type == type) { + result->push_back((*it)->filename); + } + } + } + + return result; +} + #if 0 MPCEntry **FileMan::findNextData(MPCIterator begin) { Common::String fileString; diff --git a/engines/hdb/file-manager.h b/engines/hdb/file-manager.h index 492f97ed75..15558d99cd 100644 --- a/engines/hdb/file-manager.h +++ b/engines/hdb/file-manager.h @@ -77,6 +77,7 @@ public: Common::SeekableReadStream *findFirstData(const char *string, DataType type); int32 getLength(const char *string, DataType type); int getCount(char *subString, DataType type); + Common::Array<const char *> *findFiles(const char *string, DataType type); }; |