aboutsummaryrefslogtreecommitdiff
path: root/engines/cryomni3d
diff options
context:
space:
mode:
authorLe Philousophe2019-03-07 18:57:04 +0100
committerEugene Sandulenko2019-06-01 22:43:48 +0200
commitacb8349a91ae0262e6fee7b9457eeb76e4eacdac (patch)
treecf02de3160b0cf6ca707ef05357703160fa2bc06 /engines/cryomni3d
parentdb85320bcc2deaa1753be24462d768a535b84b1c (diff)
downloadscummvm-rg350-acb8349a91ae0262e6fee7b9457eeb76e4eacdac.tar.gz
scummvm-rg350-acb8349a91ae0262e6fee7b9457eeb76e4eacdac.tar.bz2
scummvm-rg350-acb8349a91ae0262e6fee7b9457eeb76e4eacdac.zip
CRYOMNI3D: Add Macintosh support to Versailles
There is still some work to do on fonts to make them match what it's used by the original executable
Diffstat (limited to 'engines/cryomni3d')
-rw-r--r--engines/cryomni3d/detection_tables.h19
-rw-r--r--engines/cryomni3d/versailles/engine.cpp54
2 files changed, 62 insertions, 11 deletions
diff --git a/engines/cryomni3d/detection_tables.h b/engines/cryomni3d/detection_tables.h
index 49a7cb00da..d791a34ad8 100644
--- a/engines/cryomni3d/detection_tables.h
+++ b/engines/cryomni3d/detection_tables.h
@@ -81,6 +81,24 @@ static const CryOmni3DGameDescription gameDescriptions[] = {
0,
},
+ // Versailles 1685
+ // French Macintosh
+ // From criezy
+ {
+ {
+ "versailles",
+ "",
+ AD_ENTRY1s("Versailles", "f81935517b1bbb58acf70f25efa5c7f3", 375868),
+ Common::FR_FRA,
+ Common::kPlatformMacintosh,
+ ADGF_UNSTABLE,
+ GUIO1(GUIO_NOASPECT)
+ },
+ GType_VERSAILLES,
+ 0,
+ 0,
+ },
+
{ AD_TABLE_END_MARKER, 0, 0, 0 }
};
@@ -108,6 +126,7 @@ static const CryOmni3DGameDescription fallbackDescs[] = {
static const ADFileBasedFallback fileBased[] = {
{ &fallbackDescs[0].desc, { "VERSAILL.EXE", 0 } },
{ &fallbackDescs[0].desc, { "VERSAILL.PGM", 0 } },
+ { &fallbackDescs[0].desc, { "Versailles", 0 } },
{ 0, { 0 } }
};
diff --git a/engines/cryomni3d/versailles/engine.cpp b/engines/cryomni3d/versailles/engine.cpp
index 48c63d339a..c3b04827f2 100644
--- a/engines/cryomni3d/versailles/engine.cpp
+++ b/engines/cryomni3d/versailles/engine.cpp
@@ -221,17 +221,49 @@ Common::Error CryOmni3DEngine_Versailles::run() {
void CryOmni3DEngine_Versailles::setupFonts() {
Common::Array<Common::String> fonts;
- fonts.push_back("font01.CRF");
- fonts.push_back("font02.CRF");
- fonts.push_back("font03.CRF");
- fonts.push_back("font04.CRF");
- fonts.push_back("font05.CRF");
- fonts.push_back("font06.CRF");
- fonts.push_back("font07.CRF");
- fonts.push_back("font08.CRF");
- fonts.push_back("font09.CRF");
- fonts.push_back("font10.CRF");
- fonts.push_back("font11.CRF");
+
+ if (getPlatform() == Common::kPlatformMacintosh) {
+ // TODO: Disassemble MacOS executable to find which 11 fonts are used
+ fonts.push_back("MPW12.CRF");
+ fonts.push_back("MPW9.CRF");
+ fonts.push_back("arial11.CRF");
+ fonts.push_back("fruitL10.CRF");
+ fonts.push_back("fruitL11.CRF");
+ fonts.push_back("fruitL12.CRF");
+ fonts.push_back("fruitL13.CRF");
+ fonts.push_back("fruitL14.CRF");
+ fonts.push_back("fruitL16.CRF");
+ fonts.push_back("fruitL18.CRF");
+ fonts.push_back("fruitL9.CRF");
+ fonts.push_back("garamB18.CRF");
+ fonts.push_back("garamB20.CRF");
+ fonts.push_back("garamB22.CRF");
+ fonts.push_back("geneva10.CRF");
+ fonts.push_back("geneva12.CRF");
+ fonts.push_back("geneva13.CRF");
+ fonts.push_back("geneva14.CRF");
+ fonts.push_back("geneva15.CRF");
+ fonts.push_back("geneva9.CRF");
+ fonts.push_back("helvet11.CRF");
+ fonts.push_back("helvet12.CRF");
+ fonts.push_back("helvet13.CRF");
+ fonts.push_back("helvet14.CRF");
+ fonts.push_back("helvet16.CRF");
+ fonts.push_back("helvet24.CRF");
+ fonts.push_back("helvet9.CRF");
+ } else {
+ fonts.push_back("font01.CRF");
+ fonts.push_back("font02.CRF");
+ fonts.push_back("font03.CRF");
+ fonts.push_back("font04.CRF");
+ fonts.push_back("font05.CRF");
+ fonts.push_back("font06.CRF");
+ fonts.push_back("font07.CRF");
+ fonts.push_back("font08.CRF");
+ fonts.push_back("font09.CRF");
+ fonts.push_back("font10.CRF");
+ fonts.push_back("font11.CRF");
+ }
_fontManager.loadFonts(fonts);
}