aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base/file/base_package.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wintermute/base/file/base_package.cpp')
-rw-r--r--engines/wintermute/base/file/base_package.cpp10
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...