From 3f5eb0f976e3e6cf0d8e4306ffd3767759eb707f Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 21 Jun 2007 01:47:00 +0000 Subject: Add Italian DOS version of Elvira 2. svn-id: r27573 --- engines/agos/charset.cpp | 106 +++++++++++++++++++++++++++++++++++++++- engines/agos/detection_tables.h | 25 ++++++++++ 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 { { -- cgit v1.2.3