diff options
-rw-r--r-- | devtools/create_cryomni3d/create_cryomni3d_dat.cpp | 2 | ||||
-rw-r--r-- | devtools/create_cryomni3d/create_cryomni3d_dat.h | 1 | ||||
-rw-r--r-- | devtools/create_cryomni3d/versailles.cpp | 1 | ||||
-rw-r--r-- | devtools/create_cryomni3d/versailles.h | 220 | ||||
-rw-r--r-- | dists/engine-data/cryomni3d.dat | bin | 11360 -> 17184 bytes | |||
-rw-r--r-- | engines/cryomni3d/datstream.cpp | 2 | ||||
-rw-r--r-- | engines/cryomni3d/detection_tables.h | 17 |
7 files changed, 243 insertions, 0 deletions
diff --git a/devtools/create_cryomni3d/create_cryomni3d_dat.cpp b/devtools/create_cryomni3d/create_cryomni3d_dat.cpp index 7fbd08f5e9..484634ec75 100644 --- a/devtools/create_cryomni3d/create_cryomni3d_dat.cpp +++ b/devtools/create_cryomni3d/create_cryomni3d_dat.cpp @@ -51,10 +51,12 @@ struct Parts { DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, FR) DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, EN) +DEFINE_GAME_PLATFORM_LANG_FUNCS(Versailles, ALL, IT) static Parts gamesParts[] = { GAME_PLATFORM_LANG_PART(Versailles, ALL, FR), GAME_PLATFORM_LANG_PART(Versailles, ALL, EN), + GAME_PLATFORM_LANG_PART(Versailles, ALL, IT), }; #define CRYOMNI3D_DAT_VER 1 // 32-bit integer diff --git a/devtools/create_cryomni3d/create_cryomni3d_dat.h b/devtools/create_cryomni3d/create_cryomni3d_dat.h index 13cc5bb3ec..e58e1287fb 100644 --- a/devtools/create_cryomni3d/create_cryomni3d_dat.h +++ b/devtools/create_cryomni3d/create_cryomni3d_dat.h @@ -40,5 +40,6 @@ size_t writeGameHeader(FILE *f, uint32 gameId, uint16 version, uint16 lang, uint #define LANG_EN MKTAG16('e', 'n') #define LANG_FR MKTAG16('f', 'r') +#define LANG_IT MKTAG16('i', 't') #endif diff --git a/devtools/create_cryomni3d/versailles.cpp b/devtools/create_cryomni3d/versailles.cpp index e59b0d4e63..1ef3db0fcf 100644 --- a/devtools/create_cryomni3d/versailles.cpp +++ b/devtools/create_cryomni3d/versailles.cpp @@ -59,3 +59,4 @@ DEFINE_FUNCS(FR) DEFINE_FUNCS(EN) +DEFINE_FUNCS(IT) diff --git a/devtools/create_cryomni3d/versailles.h b/devtools/create_cryomni3d/versailles.h index 4d41c7c0ec..b7f6407ea0 100644 --- a/devtools/create_cryomni3d/versailles.h +++ b/devtools/create_cryomni3d/versailles.h @@ -43,14 +43,24 @@ static char const *const versaillesENlocalizedFilenames[] = { "credits.GB", "LEB1_GB.WAV", }; +static char const *const versaillesITlocalizedFilenames[] = { + "DIALOG1.ITA", + "tous_doc.ita", + "lien_doc.txt", + "credits.ita", + "LEB1_IT.WAV", +}; static char const versaillesFREpilMsg[] = "FELIXFORTUNADIVINUMEXPLORATUMACTUIIT"; static char const versaillesFREpilPwd[] = "LELOUPETLATETE"; static char const versaillesENEpilMsg[] = "FELIXFORTUNADIVINUMEXPLORATUMACTUIIT"; static char const versaillesENEpilPwd[] = "FOXANDCRANE"; +static char const versaillesITEpilMsg[] = "FELIXFORTUNADIVINUMEXPLORATUMACTUIIT"; +static char const versaillesITEpilPwd[] = "LEANATREEILCANE"; static char const versaillesFRBombPwd[] = "JEMENVAISMAISLETATDEMEURERATOUJOURS"; static char const versaillesENBombPwd[] = "IT IS NOT IN THE POWER OF KINGS TO ATTAIN PERFECTION"; +static char const versaillesITBombPwd[] = "AI SOVRANI NON E DATO RAGGIUNGERE LA PERFEZIONE"; #define VERSAILLES_MESSAGES_COUNT 146 #define VERSAILLES_PAINTINGS_COUNT 48 @@ -485,4 +495,214 @@ static char const *const versaillesENpaintings[] = { "\"Christ being taken down from the cross\"\rCharles Lebrun", /* 47: 45260 */ }; +static char const *const versaillesITmessages[] = { + "Per ora " "\x8f" " vietato aprire questa porta.", /* 0 */ + "Questa porta " "\x8f" " chiusa a chiave.", /* 1 */ + "Questa porta " "\x8f" " chiusa.", /* 2 */ + "Questo cassetto " "\x8f" " vuoto.", /* 3 */ + "Non puoi raggiungere il" "\xca" "rivestimento.", /* 4 */ + "Non c" "\xd5\x8f" " niente in questo arancio.", /* 5 */ + "Questo non " "\x8f" " un arancio!", /* 6 */ + "\xe9" " troppo buio. ", /* 7 */ + "Lo scrigno " "\x8f" " chiuso. ", /* 8 */ + "Puoi aprire la porta.", /* 9 */ + "Avrai bisogno di qualcosa per poter raggiungere la bomba.", /* 10 */ + "Questo vaso " "\x8f" " vuoto.", /* 11 */ + "Ora ci puoi passare.", /* 12 */ + "Non hai tempo per studiare la Corte!", /* 13 */ + "\xe9" " troppo tardi per guardare i quadri!", /* 14 */ + "Aspetta! Dai al messo i tuoi indizi.", /* 15 */ + "Non puoi raggiungere il foglio.", /* 16 */ + "Alla farmacia.", /* 17 */ + "Attenzione: sarai in grado di raggiungere la fine di questo " + "livello, ma non hai eseguito tutte le azioni necessarie per poter " + "continuare. Ti consigliamo di SALVARE la partita ora.", /* 18 */ + "Attenzione: sarai in grado di raggiungere la fine di questo " + "livello, ma potresti non aver eseguito tutte le azioni necessarie " + "per poter continuare. Ti consigliamo di SALVARE la partita ora.", /* 19 */ + "Non puoi muoverti mentre trasporti una scala!", /* 20 */ + "Non c" "\xd5\x8f" " nient" "\xd5" "altro qui.", /* 21 */ + "Arrivederci...", /* 22 */ + "VERSAILLES,", /* 23 */ + "Complotto alla Corte del Re Sole", /* 24 */ + "Consulta lo spazio documentativo", /* 25 */ + " Continua questa partita ", /* 26 */ + " Avvia una nuova partita", /* 27 */ + " Carica una partita ", /* 28 */ + " Salva questa partita ", /* 29 */ + " Mostra sottotitoli: S" "\xea", /* 30 */ + " Mostra sottotitoli: NO", /* 31 */ + " Musica: S" "\xea", /* 32 */ + " Musica: NO", /* 33 */ + " Un brano musicale sul disco fisso (20 Mb)", /* 34 */ + " Tutta la musica sul disco fisso (92 Mb)", /* 35 */ + " Nessuna musica sul disco fisso (lettore CD)", /* 36 */ + nullptr, /* 37 */ + nullptr, /* 38 */ + "Volume", /* 39 */ + "Esci dal gioco", /* 40 */ + "", /* 41 */ + "Visita il castello", /* 42 */ + "Riconoscimenti", /* 43 */ + " Continua questa visita ", /* 44 */ + " Salva questa visita ", /* 45 */ + " Carica una visita ", /* 46 */ + nullptr, /* 47 */ + " Omni3D: standard", /* 48 */ + " Omni3D: lento", /* 49 */ + " Omni3D: molto lento", /* 50 */ + " Omni3D: veloce", /* 51 */ + " Omni3D: molto veloce", /* 52 */ + "Conferma", /* 53 */ + "Annulla", /* 54 */ + "libero", /* 55 */ + "senza nome ", /* 56 */ + "Attenzione: questa partita sta per essere annullata.", /* 57 */ + "Ritorno", /* 58 */ + "Il Castello", /* 59 */ + "Ritorna al Men" "\x9d" " Principale", /* 60 */ + "Sommario dello spazio documentativo", /* 61 */ + "Mappa del Castello e dei giardini", /* 62 */ + "Cartina interna del castello", /* 63 */ + "Impossibile scrivere sul disco fisso: disco pieno", /* 64 */ + nullptr, /* 65 */ + "Inserisci il CD ", /* 66 */ + "Inserisci il CD %d e premi un tasto", /* 67 */ + "Le Arti", /* 68 */ + "Il Regno", /* 69 */ + "La Corte", /* 70 */ + "La vita nel Castello", /* 71 */ + "Il Castello e i giardini", /* 72 */ + "Cronologia", /* 73 */ + "La fontana di Apollo", /* 74 */ + "Il castello", /* 75 */ + "Il colonnato", /* 76 */ + "Il labirinto", /* 77 */ + "Latona", /* 78 */ + "L" "\xd5" "aranceto", /* 79 */ + "Parterre d" "\xd5" "acqua", /* 80 */ + "Tapis vert", /* 81 */ + "Grande scuderia", /* 82 */ + "Piccola scuderia", /* 83 */ + "I giardini", /* 84 */ + "Corte esterna", /* 85 */ + "Gran Canale", /* 86 */ + "Parterre di sud", /* 87 */ + "Parterre di nord", /* 88 */ + "L" "\xd5" "orto del Re", /* 89 */ + "La sala da ballo", /* 90 */ + "La fontana di Nettuno", /* 91 */ + "Il lago delle guardie svizzere", /* 92 */ + "Aiguilles (Inutile!)", /* 93 */ + "Forbici", /* 94 */ + "Documento", /* 95 */ + "Libello delle arti", /* 96 */ + "Piccola chiave 1", /* 97 */ + "Documento trasformato", /* 98 */ + "Documento macchiato", /* 99 */ + "Documento dello scrigno", /* 100 */ + "Libello sulla discendenza reale", /* 101 */ + "Candela accesa ", /* 102 */ + "Candela", /* 103 */ + "Chiave ", /* 104 */ + "Cartella dei disegni ", /* 105 */ + "Cartella dei disegni", /* 106 */ + "Disegno falso", /* 107 */ + "Scala", /* 108 */ + "Disegno distrutto", /* 109 */ + "pennello", /* 110 */ + "pennello d" "\xd5" "oro", /* 111 */ + "pennello rosso", /* 112 */ + "Carboncino", /* 113 */ + "Carta", /* 114 */ + "Libello sull" "\xd5" "architettura", /* 115 */ + "Piccola chiave 2", /* 116 */ + "Archer (inutile!)", /* 117 */ + "Partitura", /* 118 */ + "Stecca da biliardo", /* 119 */ + "Autorizzazione", /* 120 */ + "Riproduzione delle medaglie", /* 121 */ + "Disegnatore con medaglie", /* 122 */ + "Chiave per la porta di Apollo", /* 123 */ + "Cibo", /* 124 */ + "Libello sulla religione", /* 125 */ + "Epigrafe", /* 126 */ + "Libello sul governo", /* 127 */ + "Penna d" "\xd5" "oca", /* 128 */ + "Appunto", /* 129 */ + "Telescopio", /* 130 */ + "Progetto di Vauban", /* 131 */ + "Progetto di Vauban", /* 132 */ + "Corda", /* 133 */ + "Incisione", /* 134 */ + "Piccola chiave 3", /* 135 */ + "Piccola chiave 4", /* 136 */ + "Memorandum", /* 137 */ + "Progetti del castello", /* 138 */ + "Progetti del castello", /* 139 */ + "Chiave dell" "\xd5" "attico", /* 140 */ + "Favole", /* 141 */ + "Progetto del labirinto", /* 142 */ + "Attrezzo", /* 143 */ + "Medicina", /* 144 */ + "Smoccolatoio", /* 145 */ +}; + +static char const *const versaillesITpaintings[] = { + "\"Entrata degli animali nell'arca\"\rGerolamo Bassano", /* 0: 41201 */ + "\"La cena di Emmaus\"\rJacopo Bassano", /* 1: 41202 */ + "\"La Maddalena ai piedi del Cristo\"", /* 2: 41203 */ + "\"Uscita dall'arca\"\rGerolamo Bassano", /* 3: 41204 */ + "\"Scalfittura della roccia\"\rJacopo Bassano", /* 4: 41205 */ + "\"La battaglia di Arbelles\"\rJoseph Parrocel", /* 5: 41301 */ + "\"Alessandro il Grande, vincitore di Dario nella battaglia " + "Arbelles\"\rLe Bourguignon", /* 6: 41302 */ + "\"Il combattimento di Leuze\"\rJoseph Parrocel", /* 7: 42401 */ + "\"Santa Cecilia con un angelo che tiene una partitura " + "musicale\"\rIl Domenichino", /* 8: 42901 */ + "\"Don Francisco di Moncada\"\rVan Dyck", /* 9: 42902 */ + "\"Il giovane santo Giovanni il Battista\"\rCarracci", /* 10: 42903 */ + "\"San Matteo\"\rValentin", /* 11: 42904 */ + "\"Il rifiuto di Cesare\"\rValentin", /* 12: 42905 */ + "\"San Luca\"\rValentin", /* 13: 42906 */ + "\"Il matrimonio mistico di Santa Caterina\"\r Alessandro Turchi", /* 14: 42907 */ + "\"Convivio di bevitori\"\rNicolas Tournier", /* 15: 42908 */ + "\"L'indovina\"\rValentin", /* 16: 42909 */ + "\"Re Davide che suona l'arpa\"\rIl Domenichino", /* 17: 42910 */ + "\"Maria Maddalena\"\rIl Domenichino", /* 18: 42911 */ + "\"Autoritratto\"\rVan Dyck", /* 19: 42912 */ + "\"San Giovanni l'Evangelista\"\r Valentin", /* 20: 42913 */ + "\"Agar soccorso da un angelo\"\rGiovanni Lanfranco", /* 21: 42914 */ + "\"San Marco\"\rValentin", /* 22: 42915 */ + "\"Meleagro con la testa del cinghiale di Calidone ai suoi " + "piedi\"\r Jacques Rousseau", /* 23: 43090 */ + "\"Il Re in abito romano\"\rJean Warin", /* 24: 43091 */ + "\"Atalanta\"\rJacques Rousseau", /* 25: 43092 */ + "\"Enea che porta Anchise\"\rSpada", /* 26: 43100 */ + "\"Davide e Betsabea\"\rVeronese", /* 27: 43101 */ + "\"La fuga in Egitto\"\rGuido Reni", /* 28: 43102 */ + "\"Luigi XIV a cavallo\"\rPierre Mignard", /* 29: 43103 */ + "\"La magnificenza reale e i progressi delle Belle Arti\"\rHouasse", /* 30: 43104 */ + "\"Il sacrificio di Ifigenia\"\rCharles de La Fosse", /* 31: 43130 */ + "\"Busto di Luigi XIV\"\rsculpted by Bernini", /* 32: 43131 */ + "\"Diana scopre il pastore Endimione assopito tra le braccia di " + "Morfeo\"\rGabriel Blanchard", /* 33: 43132 */ + "\"San Pietro e la Vergine Maria\"\rIl Guercino", /* 34: 43140 */ + "\"I pellegrini di Emmaus\"\rVeronese", /* 35: 43141 */ + "\"La Sacra Famiglia\"\rVeronese", /* 36: 43142 */ + "\"La famiglia di Dario ai piedi di Alessandro\"\rCharles LeBrun", /* 37: 43143 */ + "\"San Giovanni il Battista\"\rRaphael", /* 38: 43144 */ + "\"Maria de' Medici\"\rVan Dyck", /* 39: 43150 */ + "\"Ercole in lotta con Achel" "\x98" "o\"\rGuido Reni", /* 40: 43151 */ + "\"Il Centauro Nesso che porta Deianira\"\rGuido Reni", /* 41: 43152 */ + "\"San Francesco d'Assisi confortato dopo aver ricevuto le " + "stimmate\"\rSeghers", /* 42: 43153 */ + "\"Thomiris che immerge la testa di Ciro nel sangue\"\rRubens", /* 43: 43154 */ + "\"Ercole che uccide l'Idra\"\rGuido Reni", /* 44: 43155 */ + "\"Ercole sul rogo " "\xd2" " \rGuido Reni", /* 45: 43156 */ + "\"Ritratto del Principe Palatine e di suo fratello il Principe " + "Robert\"\rVan Dyck", /* 46: 43157 */ + "\"Cristo calato dalla Croce\"\rCharles Lebrun", /* 47: 45260 */ +}; + #endif diff --git a/dists/engine-data/cryomni3d.dat b/dists/engine-data/cryomni3d.dat Binary files differindex bf1e60e873..fdcb8fbab2 100644 --- a/dists/engine-data/cryomni3d.dat +++ b/dists/engine-data/cryomni3d.dat diff --git a/engines/cryomni3d/datstream.cpp b/engines/cryomni3d/datstream.cpp index 1ee80698d2..b8af3271f8 100644 --- a/engines/cryomni3d/datstream.cpp +++ b/engines/cryomni3d/datstream.cpp @@ -121,6 +121,8 @@ uint16 DATSeekableStream::translateLanguage(Common::Language lang) { return MKTAG16('e', 'n'); case Common::FR_FRA: return MKTAG16('f', 'r'); + case Common::IT_ITA: + return MKTAG16('i', 't'); default: // Invalid language return 0; diff --git a/engines/cryomni3d/detection_tables.h b/engines/cryomni3d/detection_tables.h index f75ae14763..0ece04dd81 100644 --- a/engines/cryomni3d/detection_tables.h +++ b/engines/cryomni3d/detection_tables.h @@ -144,6 +144,23 @@ static const CryOmni3DGameDescription gameDescriptions[] = { GF_VERSAILLES_AUDIOPADDING, }, + // Versailles 1685 + // Italian DOS + // From lePhilousophe + { + { + "versailles", + "", + AD_ENTRY1s("VERSAILL.PGM", "1c992f034f43418a5da2e8ebd0b92620", 603023), + Common::IT_ITA, + Common::kPlatformDOS, + ADGF_UNSTABLE, + GUI_OPTIONS_VERSAILLES + }, + GType_VERSAILLES, + GF_VERSAILLES_AUDIOPADDING, + }, + { AD_TABLE_END_MARKER, 0, 0 } }; |