From acb8349a91ae0262e6fee7b9457eeb76e4eacdac Mon Sep 17 00:00:00 2001 From: Le Philousophe Date: Thu, 7 Mar 2019 18:57:04 +0100 Subject: 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 --- engines/cryomni3d/detection_tables.h | 19 ++++++++++++ engines/cryomni3d/versailles/engine.cpp | 54 ++++++++++++++++++++++++++------- 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 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); } -- cgit v1.2.3