diff options
author | Nipun Garg | 2019-06-07 21:07:36 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:16:44 +0200 |
commit | f512307f70840439dcd85739bd6190ec21bfbaf9 (patch) | |
tree | 7dacbb4ca359420f52c5f8344a2a79cfa88d0175 | |
parent | c110733371ba6051f0041e78e5e4d20a44dac56d (diff) | |
download | scummvm-rg350-f512307f70840439dcd85739bd6190ec21bfbaf9.tar.gz scummvm-rg350-f512307f70840439dcd85739bd6190ec21bfbaf9.tar.bz2 scummvm-rg350-f512307f70840439dcd85739bd6190ec21bfbaf9.zip |
HDB: Add findFiles to file-manager
It finds all MPC files of a common DataType that
consist of a substring.
-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); }; |