From cf3c1f099759df4e6c6787949bffbd707bad328b Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 21 Aug 2019 19:24:29 +0200 Subject: HDB: Added optional length parameter for querying from FindFirstData --- engines/hdb/file-manager.cpp | 5 ++++- engines/hdb/file-manager.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'engines/hdb') diff --git a/engines/hdb/file-manager.cpp b/engines/hdb/file-manager.cpp index e38d44f40e..bc751749f5 100644 --- a/engines/hdb/file-manager.cpp +++ b/engines/hdb/file-manager.cpp @@ -96,7 +96,7 @@ void FileMan::seek(int32 offset, int flag) { _mpcFile->seek(offset, flag); } -Common::SeekableReadStream *FileMan::findFirstData(const char *string, DataType type) { +Common::SeekableReadStream *FileMan::findFirstData(const char *string, DataType type, int *length) { Common::String fileString; MPCEntry *file = NULL; @@ -135,6 +135,9 @@ Common::SeekableReadStream *FileMan::findFirstData(const char *string, DataType _mpcFile->read(buffer, file->length); + if (length) + *length = file->ulength; + // Return buffer wrapped in a MemoryReadStream, automatically // uncompressed if it is zlib-compressed return Common::wrapCompressedReadStream(new Common::MemoryReadStream(buffer, file->length, DisposeAfterUse::NO), file->length); diff --git a/engines/hdb/file-manager.h b/engines/hdb/file-manager.h index 62caaadf84..f3a65bb1b4 100644 --- a/engines/hdb/file-manager.h +++ b/engines/hdb/file-manager.h @@ -72,7 +72,7 @@ public: void closeMPC(); void seek(int32 offset, int flag); - Common::SeekableReadStream *findFirstData(const char *string, DataType type); + Common::SeekableReadStream *findFirstData(const char *string, DataType type, int *length = NULL); int32 getLength(const char *string, DataType type); int getCount(const char *subString, DataType type); Common::Array *findFiles(const char *string, DataType type); -- cgit v1.2.3