aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLe Philousophe2019-10-20 17:51:55 +0200
committerLe Philousophe2019-11-16 20:43:41 +0100
commit18ee9fbc32f1af20fbf06f101e677a55dbc627da (patch)
treef61b474bb8f4c867c628d9a3117535d509778800
parent8254524d9ed8c33cb1a5c22a65c281372fac4c69 (diff)
downloadscummvm-rg350-18ee9fbc32f1af20fbf06f101e677a55dbc627da.tar.gz
scummvm-rg350-18ee9fbc32f1af20fbf06f101e677a55dbc627da.tar.bz2
scummvm-rg350-18ee9fbc32f1af20fbf06f101e677a55dbc627da.zip
CRYOMNI3D: Fix loading links with German Windows version
-rw-r--r--engines/cryomni3d/cryomni3d.h5
-rw-r--r--engines/cryomni3d/detection_tables.h46
-rw-r--r--engines/cryomni3d/versailles/engine.cpp4
3 files changed, 30 insertions, 25 deletions
diff --git a/engines/cryomni3d/cryomni3d.h b/engines/cryomni3d/cryomni3d.h
index f28a28fdd6..d1b2e36d3d 100644
--- a/engines/cryomni3d/cryomni3d.h
+++ b/engines/cryomni3d/cryomni3d.h
@@ -75,7 +75,10 @@ enum CryOmni3DGameFeatures {
GF_VERSAILLES_FONTS_SET_C = (3 << 0), // Fonts for Italian version (Helvet12 is used for docs texts)
GF_VERSAILLES_AUDIOPADDING_NO = (0 << 2), // Audio files have underscore padding before extension
- GF_VERSAILLES_AUDIOPADDING_YES = (1 << 2) // Audio files have underscore padding before extension
+ GF_VERSAILLES_AUDIOPADDING_YES = (1 << 2), // Audio files have underscore padding before extension
+
+ GF_VERSAILLES_LINK_STANDARD = (0 << 3), // Links file is lien_doc.txt
+ GF_VERSAILLES_LINK_LOCALIZED = (1 << 3) // Links file is taken from cryomni3d.dat
};
struct CryOmni3DGameDescription;
diff --git a/engines/cryomni3d/detection_tables.h b/engines/cryomni3d/detection_tables.h
index 01fce77d81..69c6ac4db5 100644
--- a/engines/cryomni3d/detection_tables.h
+++ b/engines/cryomni3d/detection_tables.h
@@ -56,7 +56,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -73,7 +73,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -90,7 +90,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -107,7 +107,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -124,7 +124,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -141,7 +141,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -158,7 +158,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_A | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_A | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -175,7 +175,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -192,7 +192,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -209,7 +209,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -226,7 +226,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -243,7 +243,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_NO | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -260,7 +260,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -277,7 +277,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_C | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_C | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -294,7 +294,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_C | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_C | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -311,7 +311,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_SET_B | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_LOCALIZED,
},
// Versailles 1685
@@ -321,14 +321,14 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
{
"versailles",
"",
- VERSAILLES_ENTRY("PROGRAM.Z", "2e1a40237f8b28cb6ef29cff137fa561", 238041, "ALM"),
+ VERSAILLES_ENTRY_DEF("PROGRAM.Z", "2e1a40237f8b28cb6ef29cff137fa561", 238041),
Common::DE_DEU,
Common::kPlatformWindows,
ADGF_NO_FLAGS,
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -345,7 +345,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -362,7 +362,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -379,7 +379,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -396,7 +396,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
// Versailles 1685
@@ -413,7 +413,7 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GUI_OPTIONS_VERSAILLES
},
GType_VERSAILLES,
- GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES,
+ GF_VERSAILLES_FONTS_NUMERIC | GF_VERSAILLES_AUDIOPADDING_YES | GF_VERSAILLES_LINK_STANDARD,
},
{ AD_TABLE_END_MARKER, 0, 0 }
};
diff --git a/engines/cryomni3d/versailles/engine.cpp b/engines/cryomni3d/versailles/engine.cpp
index e8f7728359..307722bc11 100644
--- a/engines/cryomni3d/versailles/engine.cpp
+++ b/engines/cryomni3d/versailles/engine.cpp
@@ -127,7 +127,9 @@ Common::Error CryOmni3DEngine_Versailles::run() {
initDocPeopleRecord();
_docManager.init(&_sprites, &_fontManager, &_messages, this,
_localizedFilenames[LocalizedFilenames::kAllDocs],
- _localizedFilenames[LocalizedFilenames::kLinksDocs]);
+ getFeatures() & GF_VERSAILLES_LINK_LOCALIZED ?
+ _localizedFilenames[LocalizedFilenames::kLinksDocs] :
+ "lien_doc.txt");
_countdownSurface.create(40, 15, Graphics::PixelFormat::createFormatCLUT8());