From f512307f70840439dcd85739bd6190ec21bfbaf9 Mon Sep 17 00:00:00 2001 From: Nipun Garg Date: Fri, 7 Jun 2019 21:07:36 +0530 Subject: HDB: Add findFiles to file-manager It finds all MPC files of a common DataType that consist of a substring. --- engines/hdb/file-manager.cpp | 17 +++++++++++++++++ engines/hdb/file-manager.h | 1 + 2 files changed, 18 insertions(+) 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 *FileMan::findFiles(const char *string, DataType type) { + Common::Array *result = new Common::Array; + 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 *findFiles(const char *string, DataType type); }; -- cgit v1.2.3