aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/charset.cpp106
-rw-r--r--engines/agos/detection_tables.h25
2 files changed, 129 insertions, 2 deletions
diff --git a/engines/agos/charset.cpp b/engines/agos/charset.cpp
index ce772b46e6..298805ba2d 100644
--- a/engines/agos/charset.cpp
+++ b/engines/agos/charset.cpp
@@ -744,6 +744,7 @@ static const byte *hebrew_simonFont;
static const byte *italian_simonFont;
static const byte *spanish_simonFont;
static const byte *english_simonFont;
+static const byte *italian_commonFont;
static const byte *french_commonFont;
static const byte *english_commonFont;
#else
@@ -1854,6 +1855,107 @@ static const byte english_simonFont[] = {
240, 240, 240, 240, 240, 240, 240, 240,
};
+static const byte italian_commonFont[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20,
+ 0x00, 0x50, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x90, 0x00, 0x60, 0x90, 0x90, 0x68, 0x00,
+ 0x00, 0x90, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
+ 0x40, 0x20, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
+ 0x00, 0x10, 0x28, 0x10, 0x2A, 0x44, 0x3A, 0x00,
+ 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x00,
+ 0x00, 0x20, 0x10, 0x10, 0x10, 0x10, 0x20, 0x00,
+ 0x00, 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14, 0x00,
+ 0x40, 0x20, 0x00, 0x60, 0x20, 0x28, 0x30, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
+ 0x10, 0x20, 0x00, 0x78, 0x70, 0x40, 0x38, 0x00,
+ 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00,
+ 0x00, 0x20, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00,
+ 0x00, 0x70, 0x88, 0x10, 0x20, 0x48, 0xF8, 0x00,
+ 0x00, 0x70, 0x88, 0x30, 0x08, 0x88, 0x70, 0x00,
+ 0x00, 0x10, 0x20, 0x40, 0x90, 0xF8, 0x10, 0x00,
+ 0x00, 0xF8, 0x80, 0x70, 0x08, 0x88, 0x70, 0x00,
+ 0x00, 0x70, 0x88, 0x80, 0xF0, 0x88, 0x70, 0x00,
+ 0x00, 0xF8, 0x08, 0x10, 0x20, 0x40, 0x40, 0x00,
+ 0x00, 0x70, 0x88, 0x70, 0x88, 0x88, 0x70, 0x00,
+ 0x00, 0x70, 0x88, 0x78, 0x08, 0x88, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00,
+ 0x40, 0x20, 0x00, 0x60, 0x90, 0x90, 0x68, 0x00,
+ 0x40, 0x20, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
+ 0x20, 0x10, 0x00, 0x78, 0x70, 0x40, 0x38, 0x00,
+ 0x20, 0x50, 0x00, 0x78, 0x70, 0x40, 0x38, 0x00,
+ 0x00, 0x3C, 0x42, 0x04, 0x08, 0x00, 0x08, 0x00,
+ 0x20, 0x50, 0x00, 0x60, 0x20, 0x28, 0x30, 0x00,
+ 0x20, 0x50, 0x50, 0x70, 0x50, 0x50, 0x88, 0x00,
+ 0xF0, 0x48, 0x48, 0x70, 0x48, 0x48, 0xF0, 0x00,
+ 0x30, 0x48, 0x80, 0x80, 0x80, 0x48, 0x30, 0x00,
+ 0xF0, 0x48, 0x48, 0x48, 0x48, 0x48, 0xF0, 0x00,
+ 0xF8, 0x40, 0x40, 0x70, 0x40, 0x40, 0xF8, 0x00,
+ 0xF8, 0x40, 0x40, 0x70, 0x40, 0x40, 0xE0, 0x00,
+ 0x38, 0x40, 0x80, 0x98, 0x88, 0x48, 0x30, 0x00,
+ 0xC8, 0x48, 0x48, 0x78, 0x48, 0x48, 0xC8, 0x00,
+ 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
+ 0x78, 0x10, 0x10, 0x10, 0x90, 0x90, 0x60, 0x00,
+ 0xC8, 0x50, 0x60, 0x40, 0x60, 0x50, 0xC8, 0x00,
+ 0xE0, 0x40, 0x40, 0x40, 0x40, 0x48, 0xF8, 0x00,
+ 0x88, 0xD8, 0xA8, 0x88, 0x88, 0x88, 0x88, 0x00,
+ 0xC8, 0x48, 0x68, 0x58, 0x58, 0x48, 0xC8, 0x00,
+ 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00,
+ 0xF0, 0x48, 0x48, 0x70, 0x40, 0x40, 0xC0, 0x00,
+ 0x60, 0x90, 0x90, 0x90, 0xB0, 0x90, 0x68, 0x00,
+ 0xF0, 0x48, 0x48, 0x70, 0x50, 0x48, 0xC8, 0x00,
+ 0x70, 0x88, 0x80, 0x60, 0x10, 0x88, 0x70, 0x00,
+ 0xF8, 0xA8, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
+ 0x88, 0x50, 0x50, 0x50, 0x50, 0x50, 0x20, 0x00,
+ 0x88, 0x88, 0x88, 0x50, 0x50, 0x50, 0x20, 0x00,
+ 0x88, 0x88, 0x88, 0x88, 0xA8, 0xD8, 0x88, 0x00,
+ 0x88, 0x50, 0x70, 0x20, 0x70, 0x50, 0x88, 0x00,
+ 0x88, 0x48, 0x30, 0x20, 0x40, 0x80, 0xC0, 0x00,
+ 0xF8, 0x88, 0x10, 0x20, 0x40, 0x80, 0xF8, 0x00,
+ 0x00, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x0E, 0x00,
+ 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00,
+ 0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00,
+ 0x00, 0x30, 0x48, 0x40, 0x48, 0x30, 0x10, 0x30,
+ 0x00, 0x50, 0x00, 0x60, 0x20, 0x28, 0x30, 0x00,
+ 0x20, 0x10, 0x00, 0x98, 0x90, 0x90, 0xE8, 0x00,
+ 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x68, 0x00,
+ 0x40, 0x40, 0x50, 0x68, 0x48, 0x48, 0xF0, 0x00,
+ 0x00, 0x00, 0x30, 0x48, 0x40, 0x48, 0x30, 0x00,
+ 0x10, 0x10, 0x70, 0x90, 0x90, 0x90, 0x68, 0x00,
+ 0x00, 0x00, 0x70, 0x48, 0x70, 0x40, 0x38, 0x00,
+ 0x10, 0x38, 0x20, 0x70, 0x20, 0x20, 0x20, 0x40,
+ 0x00, 0x00, 0x78, 0x90, 0x90, 0x90, 0x70, 0x10,
+ 0xC0, 0x40, 0x58, 0x68, 0x48, 0x48, 0xC8, 0x00,
+ 0x20, 0x00, 0x60, 0x20, 0x20, 0x28, 0x30, 0x00,
+ 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x10, 0x60,
+ 0x40, 0x40, 0x70, 0x48, 0x70, 0x50, 0xC8, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x50, 0x60, 0x00,
+ 0x00, 0x00, 0xA8, 0xF8, 0xA8, 0xA8, 0xA8, 0x00,
+ 0x00, 0x00, 0xD8, 0x68, 0x48, 0x48, 0x48, 0x00,
+ 0x00, 0x00, 0x30, 0x48, 0x48, 0x48, 0x30, 0x00,
+ 0x00, 0x00, 0xF0, 0x48, 0x48, 0x70, 0x40, 0xC0,
+ 0x00, 0x00, 0x70, 0x90, 0x90, 0x70, 0x18, 0x10,
+ 0x00, 0x00, 0xD8, 0x68, 0x40, 0x40, 0xE0, 0x00,
+ 0x00, 0x00, 0x38, 0x40, 0x30, 0x08, 0x70, 0x00,
+ 0x20, 0x20, 0x70, 0x20, 0x20, 0x28, 0x30, 0x00,
+ 0x00, 0x00, 0x98, 0x90, 0x90, 0x90, 0xE8, 0x00,
+ 0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x00,
+ 0x00, 0x00, 0xA8, 0xA8, 0xA8, 0xF8, 0xA8, 0x00,
+ 0x00, 0x00, 0x88, 0x50, 0x20, 0x50, 0x88, 0x00,
+ 0x00, 0x00, 0x98, 0x90, 0x90, 0x70, 0x10, 0x60,
+ 0x00, 0x00, 0x78, 0x10, 0x20, 0x40, 0x78, 0x00,
+ 0x20, 0x50, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
+ 0x00, 0x0E, 0x08, 0x30, 0x08, 0x08, 0x0E, 0x00,
+ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x70, 0x10, 0x0C, 0x10, 0x10, 0x70, 0x00,
+ 0x00, 0x14, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC,
+ 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00,
+};
+
static const byte french_commonFont[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20,
@@ -2113,13 +2215,13 @@ void AGOSEngine::windowDrawChar(WindowBlock *window, uint x, uint y, byte chr) {
h = 8;
w = 6;
- // TODO: Add font tables for German, Italian and Spanish
+ // TODO: Add font tables for German and Spanish
switch (_language) {
case Common::ES_ESP:
src = english_commonFont + (chr - 0x20) * 8;
break;
case Common::IT_ITA:
- src = english_commonFont + (chr - 0x20) * 8;
+ src = italian_commonFont + (chr - 0x20) * 8;
break;
case Common::FR_FRA:
src = french_commonFont + (chr - 0x20) * 8;
diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h
index 379b666939..6e499d2724 100644
--- a/engines/agos/detection_tables.h
+++ b/engines/agos/detection_tables.h
@@ -466,6 +466,31 @@ static const AGOSGameDescription gameDescriptions[] = {
GF_OLD_BUNDLE
},
+ // Elvira 2 - Italian DOS Floppy
+ {
+ {
+ "elvira2",
+ "Floppy",
+
+ {
+ { "gamepc", GAME_BASEFILE, "09a3f1087f2977ff462ad2417bde0a5c", -1},
+ { "icon.dat", GAME_ICONFILE, "83a7278bff55c82fbb3aef92981866c9", -1},
+ { "menus.dat", GAME_MENUFILE, "a2fdc88a77c8bdffec6b36cbeda4d955", -1},
+ { "start", GAME_RESTFILE, "016107aced82d0cc5d758a9fba716270", -1},
+ { "stripped.txt", GAME_STRFILE, "c3a8f644551a27c8a2fec0f8070b46b7", -1},
+ { "tbllist", GAME_TBLFILE, "8252660df0edbdbc3e6377e155bbd0c5", -1},
+ { NULL, 0, NULL, 0}
+ },
+ Common::IT_ITA,
+ Common::kPlatformPC,
+ Common::ADGF_NO_FLAGS
+ },
+
+ GType_ELVIRA2,
+ GID_ELVIRA2,
+ GF_OLD_BUNDLE
+ },
+
// Elvira 2 - Spanish DOS Floppy
{
{