diff options
Diffstat (limited to 'engines/wintermute/base/file/base_package.cpp')
-rw-r--r-- | engines/wintermute/base/file/base_package.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/wintermute/base/file/base_package.cpp b/engines/wintermute/base/file/base_package.cpp index b80547f509..2ed27e2c32 100644 --- a/engines/wintermute/base/file/base_package.cpp +++ b/engines/wintermute/base/file/base_package.cpp @@ -26,6 +26,7 @@ * Copyright (c) 2011 Jan Nedoma */ +#include "engines/wintermute/base/base_engine.h" #include "engines/wintermute/base/file/base_package.h" #include "engines/wintermute/base/file/base_file_entry.h" #include "engines/wintermute/base/file/dcpackage.h" @@ -90,6 +91,15 @@ void TPackageHeader::readFromStream(Common::ReadStream *stream) { _gameVersion = stream->readUint32LE(); _priority = stream->readByte(); + + // HACK: reversion1 and reversion2 for Linux & Mac use some hacked Wintermute + // They provide "xlanguage_*.dcp" packages with 0x00 priority and change priority for a single package in runtime + // We already filter unwanted "xlanguage_*.dcp" packages at BaseFileManager::registerPackages() + // So, let's just raise the priority for all "xlanguage_*.dcp" here to the value of Windows version packages + if (_priority == 0 && BaseEngine::instance().getGameId().hasPrefix("reversion")) { + _priority = 0x02; + } + _cd = stream->readByte(); _masterIndex = stream->readByte(); stream->readByte(); // To align the next byte... |