diff options
author | lolbot-iichan | 2019-05-19 23:01:09 +0300 |
---|---|---|
committer | Filippos Karapetis | 2020-01-11 18:05:39 +0200 |
commit | b3901a3d57654685f81b31e25e32d6c1cc85c86e (patch) | |
tree | 85f76d13695a0c2e5e759596d96d2f1a21b13702 /engines/wintermute/base/base_file_manager.cpp | |
parent | 197a9542646ba30b33901b135ee14892a801694b (diff) | |
download | scummvm-rg350-b3901a3d57654685f81b31e25e32d6c1cc85c86e.tar.gz scummvm-rg350-b3901a3d57654685f81b31e25e32d6c1cc85c86e.tar.bz2 scummvm-rg350-b3901a3d57654685f81b31e25e32d6c1cc85c86e.zip |
WINTERMUTE: Add FoxTail game&engine version properties
FoxTail requires Game to have 2 string options with engine build and
game package version.
BuildVersion is provided with detection tables
GameVersion is extracted from data.dcp and stored in a hashmap
Diffstat (limited to 'engines/wintermute/base/base_file_manager.cpp')
-rw-r--r-- | engines/wintermute/base/base_file_manager.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index dad8b43d65..6102c10725 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -300,7 +300,7 @@ bool BaseFileManager::registerPackages() { } } debugC(kWintermuteDebugFileAccess, "Registering %s %s", fileIt->getPath().c_str(), fileIt->getName().c_str()); - registerPackage((*fileIt), "", searchSignature); + registerPackage((*fileIt), fileName, searchSignature); } } @@ -311,7 +311,8 @@ bool BaseFileManager::registerPackages() { bool BaseFileManager::registerPackage(Common::FSNode file, const Common::String &filename, bool searchSignature) { PackageSet *pack = new PackageSet(file, filename, searchSignature); - _packages.add(file.getName(), pack, pack->getPriority() , true); + _packages.add(filename, pack, pack->getPriority() , true); + _versions[filename] = pack->getVersion(); return STATUS_OK; } @@ -348,6 +349,16 @@ Common::SeekableReadStream *BaseFileManager::openPkgFile(const Common::String &f return file; } +////////////////////////////////////////////////////////////////////////// +uint32 BaseFileManager::getPackageVersion(const Common::String &filename) { + Common::HashMap<Common::String, uint32>::iterator it = _versions.find(filename); + if (it != _versions.end()) { + return it->_value; + } + return 0; +} + +////////////////////////////////////////////////////////////////////////// bool BaseFileManager::hasFile(const Common::String &filename) { if (scumm_strnicmp(filename.c_str(), "savegame:", 9) == 0) { BasePersistenceManager pm(BaseEngine::instance().getGameTargetName()); |