aboutsummaryrefslogtreecommitdiff
path: root/engines/cryomni3d
diff options
context:
space:
mode:
authorLe Philousophe2019-06-30 18:29:08 +0200
committerLe Philousophe2019-07-05 07:52:44 +0200
commit70eca7190573ad43d78c75c9ea0f4207b4ecbf62 (patch)
tree480be344a811644fcea43c54965a2335726ffcd1 /engines/cryomni3d
parent5309672bea7a7e25f58e16c717ae738a9f02308e (diff)
downloadscummvm-rg350-70eca7190573ad43d78c75c9ea0f4207b4ecbf62.tar.gz
scummvm-rg350-70eca7190573ad43d78c75c9ea0f4207b4ecbf62.tar.bz2
scummvm-rg350-70eca7190573ad43d78c75c9ea0f4207b4ecbf62.zip
CRYOMNI3D: Add Spanish version of Versailles
Diffstat (limited to 'engines/cryomni3d')
-rw-r--r--engines/cryomni3d/datstream.cpp2
-rw-r--r--engines/cryomni3d/detection_tables.h51
-rw-r--r--engines/cryomni3d/versailles/menus.cpp9
3 files changed, 59 insertions, 3 deletions
diff --git a/engines/cryomni3d/datstream.cpp b/engines/cryomni3d/datstream.cpp
index f679467ca8..f1e10feb9f 100644
--- a/engines/cryomni3d/datstream.cpp
+++ b/engines/cryomni3d/datstream.cpp
@@ -121,6 +121,8 @@ uint16 DATSeekableStream::translateLanguage(Common::Language lang) {
return MKTAG16('d', 'e');
case Common::EN_ANY:
return MKTAG16('e', 'n');
+ case Common::ES_ESP:
+ return MKTAG16('e', 's');
case Common::FR_FRA:
return MKTAG16('f', 'r');
case Common::IT_ITA:
diff --git a/engines/cryomni3d/detection_tables.h b/engines/cryomni3d/detection_tables.h
index 5f824f16a7..f6791fa19a 100644
--- a/engines/cryomni3d/detection_tables.h
+++ b/engines/cryomni3d/detection_tables.h
@@ -178,6 +178,57 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
GF_VERSAILLES_AUDIOPADDING,
},
+ // Versailles 1685
+ // Spanish Windows 95 from hybrid Win95/DOS CD
+ // From lePhilousophe
+ {
+ {
+ "versailles",
+ "",
+ AD_ENTRY1s("VERSAILL.EXE", "78d90d656ec3b76f158721d38bc68083", 346112),
+ Common::ES_ESP,
+ Common::kPlatformWindows,
+ ADGF_UNSTABLE,
+ GUI_OPTIONS_VERSAILLES
+ },
+ GType_VERSAILLES,
+ GF_VERSAILLES_NUMERICFONTS | GF_VERSAILLES_AUDIOPADDING,
+ },
+
+ // Versailles 1685
+ // Spanish Windows 95 compressed from hybrid Win95/DOS CD
+ // From lePhilousophe
+ {
+ {
+ "versailles",
+ "",
+ AD_ENTRY1s("PROGRAM.Z", "9e7c0c3125124010d45dde9dc62744ef", 346112),
+ Common::ES_ESP,
+ Common::kPlatformWindows,
+ ADGF_UNSTABLE,
+ GUI_OPTIONS_VERSAILLES
+ },
+ GType_VERSAILLES,
+ GF_VERSAILLES_NUMERICFONTS | GF_VERSAILLES_AUDIOPADDING,
+ },
+
+ // Versailles 1685
+ // Spanish DOS from hybrid Win95/DOS CD
+ // From lePhilousophe
+ {
+ {
+ "versailles",
+ "",
+ AD_ENTRY1s("VERSAILL.PGM", "1c992f034f43418a5da2e8ebd0b92620", 715887),
+ Common::ES_ESP,
+ Common::kPlatformDOS,
+ ADGF_UNSTABLE,
+ GUI_OPTIONS_VERSAILLES
+ },
+ GType_VERSAILLES,
+ GF_VERSAILLES_NUMERICFONTS | GF_VERSAILLES_AUDIOPADDING,
+ },
+
{ AD_TABLE_END_MARKER, 0, 0 }
};
diff --git a/engines/cryomni3d/versailles/menus.cpp b/engines/cryomni3d/versailles/menus.cpp
index a6490dc05d..bec962e094 100644
--- a/engines/cryomni3d/versailles/menus.cpp
+++ b/engines/cryomni3d/versailles/menus.cpp
@@ -47,7 +47,8 @@ void CryOmni3DEngine_Versailles::drawMenuTitle(Graphics::ManagedSurface *surface
int oldFont = _fontManager.getCurrentFont();
int titleX, titleY, subtitleX, subtitleY;
- if (getLanguage() == Common::FR_FRA) {
+ if (getLanguage() == Common::FR_FRA ||
+ getLanguage() == Common::ES_ESP) {
titleX = 144;
titleY = 160;
subtitleX = 305;
@@ -73,7 +74,8 @@ void CryOmni3DEngine_Versailles::drawMenuTitle(Graphics::ManagedSurface *surface
offY = _fontManager.getFontMaxHeight();
_fontManager.displayStr(subtitleX, subtitleY - offY, _messages[24]);
- if (getLanguage() == Common::FR_FRA) {
+ if (getLanguage() == Common::FR_FRA ||
+ getLanguage() == Common::ES_ESP) {
surface->vLine(100, 146, 172, color);
surface->hLine(100, 172, 168, color); // minus 1 because hLine draws inclusive
}
@@ -325,7 +327,8 @@ uint CryOmni3DEngine_Versailles::displayOptions() {
Common::Rect rct;
if (getLanguage() == Common::DE_DEU) {
rct = Common::Rect(286, 433, 555, 475);
- } else if (getLanguage() == Common::IT_ITA) {
+ } else if (getLanguage() == Common::ES_ESP ||
+ getLanguage() == Common::IT_ITA) {
rct = Common::Rect(250, 420, 530, 465);
} else {
rct = Common::Rect(235, 420, 505, 465);