aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/riven.cpp')
-rw-r--r--engines/mohawk/riven.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 57d7da3770..4285ef7382 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -400,8 +400,19 @@ void MohawkEngine_Riven::changeToStack(uint16 stackId) {
Common::String languageDatafile = getLanguageDatafile(prefix);
if (!languageDatafile.empty()) {
MohawkArchive *mhk = new MohawkArchive();
- if (mhk->openFile(languageDatafile))
+ if (mhk->openFile(languageDatafile)) {
+
+ if (stackId == kStackOspit && (getLanguage() != Common::EN_ANY || getLanguage() != Common::RU_RUS)) {
+ // WORKAROUND: The international CD versions were repacked for the 25th anniversary release
+ // so they share the same resources as the English DVD version. The resource IDs for the DVD
+ // version resources have a delta of 1 in their numbering when compared the the CD version
+ // resources for Gehn's office. Unfortunately this delta was not compensated when repacking
+ // the archives. We need to do it here at run time...
+ mhk->offsetResourceIDs(ID_TBMP, 196, 1);
+ }
+
_mhk.push_back(mhk);
+ }
else
delete mhk;
}