aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Bouclet2018-07-11 20:31:31 +0200
committerBastien Bouclet2018-07-11 20:32:08 +0200
commitde868471845e2af6151df40d3fecf910e6eaf904 (patch)
treeb66df21ad5f51706dcfea6a6483b5ae3210a842a
parentd7393a6ced4b3b74d530608afc4f89fd054cb6e4 (diff)
downloadscummvm-rg350-de868471845e2af6151df40d3fecf910e6eaf904.tar.gz
scummvm-rg350-de868471845e2af6151df40d3fecf910e6eaf904.tar.bz2
scummvm-rg350-de868471845e2af6151df40d3fecf910e6eaf904.zip
MOHAW: RIVEN: Added more localized 25th resource id workarounds
Fixes Trac#10625, Fixes Trac#10624.
-rw-r--r--engines/mohawk/riven.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 4285ef7382..5d02317ec0 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -402,13 +402,19 @@ void MohawkEngine_Riven::changeToStack(uint16 stackId) {
MohawkArchive *mhk = new MohawkArchive();
if (mhk->openFile(languageDatafile)) {
- if (stackId == kStackOspit && (getLanguage() != Common::EN_ANY || getLanguage() != Common::RU_RUS)) {
+ 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);
+ } else if (stackId == kStackJspit && getLanguage() != Common::EN_ANY && getLanguage() != Common::RU_RUS) {
+ // WORKAROUND: Same thing with Gehn's imager in the School in Jungle Island.
+ mhk->offsetResourceIDs(ID_TMOV, 342, -2);
+ } else if (stackId == kStackGspit && getLanguage() == Common::PL_POL) {
+ // WORKAROUND: Same thing for the advertisement easter egg on Garden Island.
+ mhk->offsetResourceIDs(ID_TMOV, 148, 2);
}
_mhk.push_back(mhk);