diff options
| -rw-r--r-- | engines/agos/charset.cpp | 106 | ||||
| -rw-r--r-- | 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  	{  		{ | 
