[Scummvm-cvs-logs] scummvm master -> d236ddca4db10b0c9c477da06eed1089ce67db15

m-kiewitz m_kiewitz at users.sourceforge.net
Thu Oct 8 17:17:00 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d236ddca4d SHERLOCK: RT: multilingual cleanup + French text


Commit: d236ddca4db10b0c9c477da06eed1089ce67db15
    https://github.com/scummvm/scummvm/commit/d236ddca4db10b0c9c477da06eed1089ce67db15
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-10-08T17:19:36+02:00

Commit Message:
SHERLOCK: RT: multilingual cleanup + French text

Moved people names to fixed text class
Changed order of inventory names + inventory descriptions
Fixed German umlauts
Added French text

Changed paths:
    engines/sherlock/tattoo/tattoo.cpp
    engines/sherlock/tattoo/tattoo_fixed_text.cpp
    engines/sherlock/tattoo/tattoo_fixed_text.h
    engines/sherlock/tattoo/tattoo_resources.cpp
    engines/sherlock/tattoo/tattoo_resources.h



diff --git a/engines/sherlock/tattoo/tattoo.cpp b/engines/sherlock/tattoo/tattoo.cpp
index bfb3556..3131df7 100644
--- a/engines/sherlock/tattoo/tattoo.cpp
+++ b/engines/sherlock/tattoo/tattoo.cpp
@@ -65,10 +65,15 @@ void TattooEngine::initialize() {
 	_res->addToCache("walk.lib");
 	
 	// Set up list of people
+	TattooFixedText &fixedText = *(TattooFixedText *)_fixedText;
+	const char *peopleNamePtr = nullptr;
+
 	for (int idx = 0; idx < TATTOO_MAX_PEOPLE; ++idx) {
+		peopleNamePtr = fixedText.getText(PEOPLE_DATA[idx].fixedTextId);
+
 		_people->_characters.push_back(PersonData(
-			getLanguage() == Common::FR_FRA ? FRENCH_NAMES[idx] : ENGLISH_NAMES[idx],
-			PORTRAITS[idx], nullptr, nullptr));
+			peopleNamePtr,
+			PEOPLE_DATA[idx].portrait, nullptr, nullptr));
 	}
 
 	// Load the inventory
diff --git a/engines/sherlock/tattoo/tattoo_fixed_text.cpp b/engines/sherlock/tattoo/tattoo_fixed_text.cpp
index c9345e4..571a697 100644
--- a/engines/sherlock/tattoo/tattoo_fixed_text.cpp
+++ b/engines/sherlock/tattoo/tattoo_fixed_text.cpp
@@ -27,23 +27,22 @@ namespace Sherlock {
 
 namespace Tattoo {
 
-static const char *const FIXED_TEXT_ENGLISH[] = {
+static const char *const fixedTextEN[] = {
 	"Money",
-	"Card",
-	"Tobacco",
-	"Timetable",
-	"Summons",
-	"Foolscap",
-	"Damp Paper",
-	"Bull's Eye",
-
 	"Money",
 	"Card",
+	"Card",
+	"Tobacco",
 	"Tobacco",
 	"Timetable",
+	"Timetable",
+	"Summons",
 	"Summons",
 	"Foolscap",
 	"Foolscap",
+	"Damp Paper",
+	"Foolscap",
+	"Bull's Eye",
 	"Bull's Eye Lantern",
 
 	"Open",
@@ -71,19 +70,19 @@ static const char *const FIXED_TEXT_ENGLISH[] = {
 	"Holmes",
 	"Jock",
 	"Bull",
-	"Round",
-	"Turn Total",
-	"Dart",
+	"Round: %d",
+	"Turn Total: %d",
+	"Dart # %d",
 	"to start",
 	"Hit a key",
 	"Press a key",
-	"bullseye",
+	"bullseye", // ??
 	"GAME OVER",
 	"BUSTED",
 	"Wins",
-	"Scored",
-	"points",
-	"Hit",
+	"Scored %d points",
+	"points", // ??
+	"Hit %s %d",
 	"Double",
 	"Triple",
 
@@ -106,65 +105,167 @@ static const char *const FIXED_TEXT_ENGLISH[] = {
 	"Yes",
 	"No",
 	"Enter Password",
-	"Going East"
+	"Going East", // correct password, was not and should not to be translated
+	// SH2: People names
+	"Sherlock Holmes",
+	"Dr. Watson",
+	"Mrs. Hudson",
+	"Stanley Forbes",
+	"Mycroft Holmes",
+	"Wiggins",
+	"Police Constable Burns",
+	"Augustus Trimble",
+	"Police Constable Daley",
+	"Matron",
+	"Sister Grace",
+	"Preston McCabe",
+	"Bob Colleran",
+	"Jonas Rigby",
+	"Police Constable Roach",
+	"James Dewar",
+	"Sergeant Jeremy Duncan",
+	"Inspector Gregson",
+	"Inspector Lestrade",
+	"Jesse Needhem",
+	"Arthur Fleming",
+	"Mr. Thomas Pratt",
+	"Mathilda (Tillie) Mason",
+	"Adrian Russell",
+	"Eldridge Whitney",
+	"Hepplethwaite",
+	"Horace Silverbridge",
+	"Old Sherman",
+	"Maxwell Verner",
+	"Millicent Redding",
+	"Virgil Silverbridge",
+	"George O'Keeffe",
+	"Lord Denys Lawton",
+	"Jenkins",
+	"Jock Mahoney",
+	"Bartender",
+	"Lady Cordelia Lockridge",
+	"Pettigrew",
+	"Sir Avery Fanshawe",
+	"Hodgkins",
+	"Wilbur \"Birdy\" Heywood",
+	"Jacob Farthington",
+	"Philip Bledsoe",
+	"Sidney Fowler",
+	"Professor Theodore Totman",
+	"Rose Hinchem",
+	"Tallboy",
+	"Ethlebert \"Stitch\" Rumsey",
+	"Charles Freedman",
+	"Nigel Hemmings",
+	"Fairfax Carter",
+	"Wilhelm II",
+	"Wachthund",
+	"Jonathan Wilson",
+	"David Lloyd-Jones",
+	"Edward Hargrove",
+	"Misteray",
+	"The Lascar",
+	"Parrot",
+	"Vincent Scarrett",
+	"Alexandra",
+	"Queen Victoria",
+	"John Brown",
+	"A Patient",
+	"A Patient",
+	"Patron",
+	"Queen Victoria",
+	"Patient in white",
+	"Lush",
+	"Drunk",
+	"Prostitute",
+	"Mudlark",
+	"Grinder",
+	"Bouncer",
+	"Agnes Ratchet",
+	"Aloysius Ratchet",
+	"Real Estate Agent",
+	"Candy Clerk",
+	"Beadle",
+	"Prussian",
+	"Mrs. Rowbottom",
+	"Miss Lloyd-Jones",
+	"Tavern patron",
+	"User",
+	"Toby",
+	"Stationer",
+	"Law Clerk",
+	"Ministry Clerk",
+	"Bather",
+	"Maid",
+	"Lady Fanshawe",
+	"Sidney Ratchet",
+	"Boy",
+	"Patron",
+	"Constable Brit",
+	"Wagon Driver"
 };
 
-static const char *const FIXED_TEXT_GERMAN[] = {
+// sharp-s       : 0xE1 / octal 341
+// small a-umlaut: 0x84 / octal 204
+// small o-umlaut: 0x94 / octal 224
+// small u-umlaut: 0x81 / octal 201
+// large O-umlaut: 0x99 / octal 231
+static const char *const fixedTextDE[] = {
 	"Geld",
-	"S. Holmes",
-	"Tabak",
-	"Plan",
-	"Aufforderg.",
-	"Blatt pap.",
-	"Dunstig pap",
-	"Handlampe",
-
 	"Geld",
 	"S. Holmes",
+	"S. Holmes",
+	"Tabak",
 	"Tabak",
 	"Plan",
+	"Plan",
+	"Aufforderg.",
 	"Aufforderg.",
+	"Blatt pap.",
 	"Pergament",
 	"Dunstig pap",
+	"Dunstig pap",
+	"Handlampe",
 	"Handlampe",
 
-	"ffne",
+	"\231ffne",
 	"Schau",
 	"Rede",
 	"Benutze",
-	"Journal",
-	"Inventory",
-	"Options",
-	"Losen",
+	"Tagebuch",
+	"Tasche",
+	"Optionen",
+	"L\224osen",
 	"mit",
 	"Keine Wirkung...",
-	"Diese Person weic im Augenblick nichts zu berichten.",
+	"Diese Person wei\341 im Augenblick nichts zu berichten.",
+	"Picked up", // <-- ??
 
 	"Seite %d",
-	"Schliecen",
-	"Lessen",
+	"Schlie\341en",
+	"Lessen", // <--
 	"In Datei sichern",
 	"Suche abbrechen",
-	"Rbckwarts suchen ",
+	"R\201ckw\204rts suchen ",
 	"Vorwarts suchen ",
 	"Text nicht gefunden",
 
 	"Holmes",
 	"Jock",
 	"Bull",
-	"Runde",
-	"Gesamt",
-	"Pfeil",
+	"Runde: %d",
+	"Gesamt: %d",
+	"Pfeil # %d",
 	"zum Starten",
-	"Taste dracken",
-	"Taste dracken",
-	"Bullseye",
-	"SPIEL BEENDET",
-	"VERLOREN",
-	"Gewinnt",
-	"Erzielte",
-	"Punkte",
-	"Treffer",
+	"Taste dr\201cken",
+	"Taste dr\201cken",
+	"Bullseye", // ??
+	"SPIEL BEENDET!",
+	"VERLOREN!",
+	"Gewinnt!", // "Holmes Gewinnt!", "%s Gewinnt!"
+	"Erzielte %d Punkte",
+	"Punkte", // ??
+	"Treffer %s %d",
 	"Doppel",
 	"Dreifach",
 
@@ -177,7 +278,7 @@ static const char *const FIXED_TEXT_GERMAN[] = {
 	"Soundeffekte",
 	"Voices",
 	"Textfenster",
-	"Transparente Menbs",
+	"Transparente Men\201s",
 	"Schriftart andern",
 	"Aus",
 	"An",
@@ -186,19 +287,315 @@ static const char *const FIXED_TEXT_GERMAN[] = {
 	"Sind Sie sicher ?",
 	"Ja",
 	"Nein",
-	"Pacwort eingeben",
-	"Going East"
+	"Pa\341wort eingeben",
+	"Going East", // correct password, was not and should not to be translated
+	// SH2: People names
+	"Sherlock Holmes", // note: People names were not translated in the German interpreter
+	"Dr. Watson",
+	"Mrs. Hudson",
+	"Stanley Forbes",
+	"Mycroft Holmes",
+	"Wiggins",
+	"Police Constable Burns",
+	"Augustus Trimble",
+	"Police Constable Daley",
+	"Matron",
+	"Sister Grace",
+	"Preston McCabe",
+	"Bob Colleran",
+	"Jonas Rigby",
+	"Police Constable Roach",
+	"James Dewar",
+	"Sergeant Jeremy Duncan",
+	"Inspector Gregson",
+	"Inspector Lestrade",
+	"Jesse Needhem",
+	"Arthur Fleming",
+	"Mr. Thomas Pratt",
+	"Mathilda (Tillie) Mason",
+	"Adrian Russell",
+	"Eldridge Whitney",
+	"Hepplethwaite",
+	"Horace Silverbridge",
+	"Old Sherman",
+	"Maxwell Verner",
+	"Millicent Redding",
+	"Virgil Silverbridge",
+	"George O'Keeffe",
+	"Lord Denys Lawton",
+	"Jenkins",
+	"Jock Mahoney",
+	"Bartender",
+	"Lady Cordelia Lockridge",
+	"Pettigrew",
+	"Sir Avery Fanshawe",
+	"Hodgkins",
+	"Wilbur \"Birdy\" Heywood",
+	"Jacob Farthington",
+	"Philip Bledsoe",
+	"Sidney Fowler",
+	"Professor Theodore Totman",
+	"Rose Hinchem",
+	"Tallboy",
+	"Ethlebert \"Stitch\" Rumsey",
+	"Charles Freedman",
+	"Nigel Hemmings",
+	"Fairfax Carter",
+	"Wilhelm II",
+	"Wachthund",
+	"Jonathan Wilson",
+	"David Lloyd-Jones",
+	"Edward Hargrove",
+	"Misteray",
+	"The Lascar",
+	"Parrot",
+	"Vincent Scarrett",
+	"Alexandra",
+	"Queen Victoria",
+	"John Brown",
+	"A Patient",
+	"A Patient",
+	"Patron",
+	"Queen Victoria",
+	"Patient in white",
+	"Lush",
+	"Drunk",
+	"Prostitute",
+	"Mudlark",
+	"Grinder",
+	"Bouncer",
+	"Agnes Ratchet",
+	"Aloysius Ratchet",
+	"Real Estate Agent",
+	"Candy Clerk",
+	"Beadle",
+	"Prussian",
+	"Mrs. Rowbottom",
+	"Miss Lloyd-Jones",
+	"Tavern patron",
+	"User",
+	"Toby",
+	"Stationer",
+	"Law Clerk",
+	"Ministry Clerk",
+	"Bather",
+	"Maid",
+	"Lady Fanshawe",
+	"Sidney Ratchet",
+	"Boy",
+	"Patron",
+	"Constable Brit",
+	"Wagon Driver"
+};
+
+// small a w/ accent grave: 0x85 / octal 205
+// small e w/ accent acute: 0x82 / octal 202
+// small e w/ accent grave: 0x8A / octal 212
+// small e w/ circonflexe:  0x88 / octal 210
+// small cedilla:           0x87 / octal 207
+static const char *const fixedTextFR[] = {
+	"Argent",
+	"Argent",
+	"S. Holmes",
+	"S. Holmes",
+	"Tabac",
+	"Tabac",
+	"Horaire",
+	"Horaire",
+	"Convocation",
+	"Convocation",
+	"Feuille",
+	"Feuille",
+	"F. humide",
+	"Feuille",
+	"Lanterne",
+	"Lanterne",
+
+	"Ouvrir",
+	"Regarder",
+	"Parler",
+	"Utiliser",
+	"Journal", // <--
+	"Inventaire",
+	"Options",
+	"R\202soudre",
+	"avec",
+	"Sans effet...",
+	"Cette personne n'a rien \205 ajouter pour le moment.",
+	"Picked up", // <-- ??
+
+	"Page %d",
+	"Fermer",
+	"Lessen", // <--
+	"Sauvegarder",
+	"Annuler ",
+	"Chercher avant",
+	"Chercher apr\212s",
+	"Texte introuvable !",
+
+	"Holmes",
+	"Jock",
+	"Bull",
+	"Tour: %d",
+	"Total: %d",
+	"Fl\202chette # %d",
+	"pour commencer",
+	"Appuyez sur C",
+	"Appuyez sur C",
+	"Bullseye", // ??
+	"FIN DE LA PARTIE!", // original: "Fin de la partie!"
+	"FIASCO!",
+	"Gagnant!", // "Holmes Gagnant!", "%s Gagnant!"
+	"Total des points: %d",
+	"Punkte", // ??
+	"Treffer %s %d",
+	"double",
+	"triple",
+
+	"Mouillez",
+	"Puis",
+	"Chauffez",
+	"Charger",
+	"Sauvegarder",
+	"Musique",
+	"Sons",
+	"Voix",
+	"Fen\210tres de texte", // 0x88
+	"Menu Transparent",
+	"Changer la fonte",
+	"Aus", // ???
+	"An", // ???
+	"Quitter",
+	"Voulez-vous quitter?",
+	"Sind Sie sicher ?", // ???
+	"Oui",
+	"Non",
+	"Entrez le mot de passe",
+	"Going East", // correct password, was not and should not to be translated
+	// SH2: People names
+	"Sherlock Holmes",
+	"Dr. Watson",
+	"Mme. Hudson",
+	"Stanley Forbes",
+	"Mycroft Holmes",
+	"Wiggins",
+	"Sergent Burns",
+	"Augustus Trimble",
+	"Sergent Daley",
+	"Infirmi\212re chef",
+	"Mme. Grace",
+	"Preston McCabe",
+	"Bob Colleran",
+	"Jonas Rigby",
+	"Sergent Roach",
+	"James Dewar",
+	"Sergent Jeremy Duncan",
+	"Inspecteur Gregson",
+	"Inspecteur Lestrade",
+	"Jesse Needhem",
+	"Arthur Fleming",
+	"M. Thomas Pratt",
+	"Mathilda (Tillie) Mason",
+	"Adrian Russell",
+	"Eldridge Whitney",
+	"Hepplethwaite",
+	"Horace Silverbridge",
+	"Sherman",
+	"Maxwell Verner",
+	"Millicent Redding",
+	"Virgil Silverbridge",
+	"George O'Keeffe",
+	"Lord Denys Lawton",
+	"Jenkins",
+	"Jock Mahoney",
+	"Serveur",
+	"Lady Cordelia Lockridge",
+	"Pettigrew",
+	"Sir Avery Fanshawe",
+	"Hodgkins",
+	"Wilbur \"Birdy\" Heywood",
+	"Jacob Farthington",
+	"Philip Bledsoe",
+	"Sidney Fowler",
+	"Professeur Theodore Totman",
+	"Rose Hinchem",
+	"Tallboy",
+	"Ethlebert \"Stitch\" Rumsey",
+	"Charles Freedman",
+	"Nigel Hemmings",
+	"Fairfax Carter",
+	"Wilhelm II",
+	"Wachthund",
+	"Jonathan Wilson",
+	"David Lloyd-Jones",
+	"Edward Hargrove",
+	"Misteray",
+	"Le Lascar",
+	"Oiseau",
+	"Vincent Scarrett",
+	"Alexandra",
+	"Queen Victoria",
+	"John Brown",
+	"Patient",
+	"Patient",
+	"Client",
+	"Queen Victoria",
+	"Patient en blanc",
+	"Ivrogne",
+	"Ivrogne",
+	"Belle femme",
+	"Mudlark",
+	"Broyeur",
+	"Videur",
+	"Agnes Ratchet",
+	"Aloysius Ratchet",
+	"Immobilier",
+	"Gar\207on",
+	"Beadle",
+	"Prussian",
+	"Mme. Rowbottom",
+	"Mme Lloyd-Jones",
+	"Tavern Client",
+	"User",
+	"Toby",
+	"Papeterie",
+	"Law Clerc",
+	"Ministry Employ\202",
+	"Clint du thermes",
+	"Bonne",
+	"Lady Fanshawe",
+	"Sidney Ratchet",
+	"Gar\207on",
+	"Client",
+	"Sergent Brit",
+	"Wagon Driver"
+};
+
+// TODO: There also was a Spanish version of Sherlock Holmes 2
+static const FixedTextLanguageEntry fixedTextLanguages[] = {
+	{ Common::DE_DEU,   fixedTextDE },
+	// { Common::ES_ESP,   fixedTextES },
+	{ Common::EN_ANY,   fixedTextEN },
+	{ Common::FR_FRA,   fixedTextFR },
+	{ Common::UNK_LANG, fixedTextEN }
 };
 
 TattooFixedText::TattooFixedText(SherlockEngine *vm) : FixedText(vm) {
-	if (vm->getLanguage() == Common::DE_DEU)
-		_fixedText = FIXED_TEXT_GERMAN;
-	else
-		_fixedText = FIXED_TEXT_ENGLISH;
+	// Figure out which fixed texts to use
+	Common::Language curLanguage = _vm->getLanguage();
+
+	const FixedTextLanguageEntry *curLanguageEntry = fixedTextLanguages;
+
+	while (curLanguageEntry->language != Common::UNK_LANG) {
+		if (curLanguageEntry->language == curLanguage)
+			break; // found current language
+		curLanguageEntry++;
+	}
+	_curLanguageEntry = curLanguageEntry;
 }
 
 const char *TattooFixedText::getText(int fixedTextId) {
-	return _fixedText[fixedTextId];
+	return _curLanguageEntry->fixedTextArray[fixedTextId];
 }
 
 const Common::String TattooFixedText::getActionMessage(FixedTextActionId actionId, int messageIndex) {
diff --git a/engines/sherlock/tattoo/tattoo_fixed_text.h b/engines/sherlock/tattoo/tattoo_fixed_text.h
index 3f43678..48d237d 100644
--- a/engines/sherlock/tattoo/tattoo_fixed_text.h
+++ b/engines/sherlock/tattoo/tattoo_fixed_text.h
@@ -31,20 +31,20 @@ namespace Tattoo {
 
 enum FixedTextId {
 	kFixedText_Inv1,
-	kFixedText_Inv2,
-	kFixedText_Inv3,
-	kFixedText_Inv4,
-	kFixedText_Inv5,
-	kFixedText_Inv6,
-	kFixedText_Inv7,
-	kFixedText_Inv8,
 	kFixedText_InvDesc1,
+	kFixedText_Inv2,
 	kFixedText_InvDesc2,
+	kFixedText_Inv3,
 	kFixedText_InvDesc3,
+	kFixedText_Inv4,
 	kFixedText_InvDesc4,
+	kFixedText_Inv5,
 	kFixedText_InvDesc5,
+	kFixedText_Inv6,
 	kFixedText_InvDesc6,
+	kFixedText_Inv7,
 	kFixedText_InvDesc7,
+	kFixedText_Inv8,
 	kFixedText_InvDesc8,
 	kFixedText_Open,
 	kFixedText_Look,
@@ -106,12 +106,114 @@ enum FixedTextId {
 	kFixedText_Yes,
 	kFixedText_No,
 	kFixedText_EnterPassword,
-	kFixedText_CorrectPassword
+	kFixedText_CorrectPassword,
+	// SH2: People names
+	kFixedText_People_SherlockHolmes,
+	kFixedText_People_DrWatson,
+	kFixedText_People_MrsHudson,
+	kFixedText_People_StanleyForbes,
+	kFixedText_People_MycroftHolmes,
+	kFixedText_People_Wiggins,
+	kFixedText_People_PoliceConstableBurns,
+	kFixedText_People_AugustusTrimble,
+	kFixedText_People_PoliceConstableDaley,
+	kFixedText_People_Matron,
+	kFixedText_People_SisterGrace,
+	kFixedText_People_PrestonMcCabe,
+	kFixedText_People_BobColleran,
+	kFixedText_People_JonasRigby,
+	kFixedText_People_PoliceConstableRoach,
+	kFixedText_People_JamesDewar,
+	kFixedText_People_SergeantJeremyDuncan,
+	kFixedText_People_InspectorGregson,
+	kFixedText_People_InspectorLestrade,
+	kFixedText_People_JesseNeedhem,
+	kFixedText_People_ArthurFleming,
+	kFixedText_People_MrThomasPratt,
+	kFixedText_People_MathildaTillieMason,
+	kFixedText_People_AdrianRussell,
+	kFixedText_People_EldridgeWhitney,
+	kFixedText_People_Hepplethwaite,
+	kFixedText_People_HoraceSilverbridge,
+	kFixedText_People_OldSherman,
+	kFixedText_People_MaxwellVerner,
+	kFixedText_People_MillicentRedding,
+	kFixedText_People_VirgilSilverbridge,
+	kFixedText_People_GeorgeOKeeffe,
+	kFixedText_People_LordDenysLawton,
+	kFixedText_People_Jenkins,
+	kFixedText_People_JockMahoney,
+	kFixedText_People_Bartender,
+	kFixedText_People_LadyCordeliaLockridge,
+	kFixedText_People_Pettigrew,
+	kFixedText_People_SirAveryFanshawe,
+	kFixedText_People_Hodgkins,
+	kFixedText_People_WilburBirdyHeywood,
+	kFixedText_People_JacobFarthington,
+	kFixedText_People_PhilipBledsoe,
+	kFixedText_People_SidneyFowler,
+	kFixedText_People_ProfessorTheodoreTotman,
+	kFixedText_People_RoseHinchem,
+	kFixedText_People_Tallboy,
+	kFixedText_People_EthlebertStitchRumsey,
+	kFixedText_People_CharlesFreedman,
+	kFixedText_People_NigelHemmings,
+	kFixedText_People_FairfaxCarter,
+	kFixedText_People_WilhelmII,
+	kFixedText_People_Wachthund,
+	kFixedText_People_JonathanWilson,
+	kFixedText_People_DavidLloydJones,
+	kFixedText_People_EdwardHargrove,
+	kFixedText_People_Misteray,
+	kFixedText_People_TheLascar,
+	kFixedText_People_Parrot,
+	kFixedText_People_VincentScarrett,
+	kFixedText_People_Alexandra,
+	kFixedText_People_QueenVictoria,
+	kFixedText_People_JohnBrown,
+	kFixedText_People_APatient1,
+	kFixedText_People_APatient2,
+	kFixedText_People_Patron,
+	kFixedText_People_QueenVictoria2,
+	kFixedText_People_PatientInWhite,
+	kFixedText_People_Lush,
+	kFixedText_People_Drunk,
+	kFixedText_People_Prostitute,
+	kFixedText_People_Mudlark,
+	kFixedText_People_Grinder,
+	kFixedText_People_Bouncer,
+	kFixedText_People_AgnesRatchet,
+	kFixedText_People_AloysiusRatchet,
+	kFixedText_People_RealEstateAgent,
+	kFixedText_People_CandyClerk,
+	kFixedText_People_Beadle,
+	kFixedText_People_Prussian,
+	kFixedText_People_MrsRowbottom,
+	kFixedText_People_MissLloydJones,
+	kFixedText_People_TavernPatron,
+	kFixedText_People_User,
+	kFixedText_People_Toby,
+	kFixedText_People_Stationer,
+	kFixedText_People_LawClerk,
+	kFixedText_People_MinistryClerk,
+	kFixedText_People_Bather,
+	kFixedText_People_Maid,
+	kFixedText_People_LadyFanshawe,
+	kFixedText_People_SidneyRatchet,
+	kFixedText_People_Boy,
+	kFixedText_People_Patron2,
+	kFixedText_People_ConstableBrit,
+	kFixedText_People_WagonDriver
+};
+
+struct FixedTextLanguageEntry {
+	Common::Language language;
+	const char *const *fixedTextArray;
 };
 
 class TattooFixedText: public FixedText {
 private:
-	const char *const *_fixedText;
+	const FixedTextLanguageEntry *_curLanguageEntry;
 public:
 	TattooFixedText(SherlockEngine *vm);
 	virtual ~TattooFixedText() {}
diff --git a/engines/sherlock/tattoo/tattoo_resources.cpp b/engines/sherlock/tattoo/tattoo_resources.cpp
index 3be41e2..4b73356 100644
--- a/engines/sherlock/tattoo/tattoo_resources.cpp
+++ b/engines/sherlock/tattoo/tattoo_resources.cpp
@@ -21,309 +21,111 @@
  */
 
 #include "sherlock/tattoo/tattoo_resources.h"
+#include "sherlock/tattoo/tattoo_fixed_text.h"
 
 namespace Sherlock {
 
 namespace Tattoo {
 
-const char PORTRAITS[TATTOO_MAX_PEOPLE][5] = { 
-	{ "HOLM" },		//  Sherlock Holmes
-	{ "WATS" },		//  Dr. Watson
-	{ "HUDS" },		//  Mrs. Hudson
-	{ "FORB" },		//  Stanley Forbes
-	{ "MYCR" },		//  Mycroft Holmes
-	{ "WIGG" },		//  Wiggins
-	{ "BURN" },		//  Police Constable Burns
-	{ "TRIM" },		//  Augustus Trimble
-	{ "DALE" },		//  Police Constable Daley
-	{ "MATR" },		//  Matron
-	{ "GRAC" },		//  Sister Grace
-	{ "MCCA" },		//  Preston McCabe
-	{ "COLL" },		//  Bob Colleran
-	{ "JONA" },		//  Jonas Rigby
-	{ "ROAC" },		//  Police Constable Roach
-	{ "DEWA" },		//  James Dewar
-	{ "JERE" },		//  Sergeant Jeremy Duncan
-	{ "GREG" },		//  Inspector Gregson
-	{ "LEST" },		//  Inspector Lestrade
-	{ "NEED" },		//  Jesse Needhem
-	{ "FLEM" },		//  Arthur Fleming
-	{ "PRAT" },		//  Mr. Thomas Pratt
-	{ "TILL" },		//  Mathilda (Tillie) Mason
-	{ "RUSS" },		//  Adrian Russell
-	{ "WHIT" },		//  Eldridge Whitney
-	{ "HEPP" },		//  Hepplethwaite
-	{ "HORA" },		//  Horace Silverbridge
-	{ "SHER" },		//  Old Sherman
-	{ "VERN" },		//  Maxwell Verner
-	{ "REDD" },		//  Millicent Redding
-	{ "VIRG" },		//  Virgil Silverbridge
-	{ "GEOR" },		//  George O'Keeffe
-	{ "LAWT" },		//  Lord Denys Lawton
-	{ "JENK" },		//  Jenkins
-	{ "JOCK" },		//  Jock Mahoney
-	{ "BART" },		//  Bartender
-	{ "LADY" },		//  Lady Cordelia Lockridge
-	{ "PETT" },		//  Pettigrew
-	{ "FANS" },		//  Sir Avery Fanshawe
-	{ "HODG" },		//  Hodgkins
-	{ "WILB" },		//  Wilbur "Birdy" Heywood
-	{ "JACO" },		//  Jacob Farthington
-	{ "BLED" },		//  Philip Bledsoe
-	{ "FOWL" },		//  Sidney Fowler
-	{ "PROF" },		//  Professor Theodore Totman
-	{ "ROSE" },		//  Rose Hinchem
-	{ "TALL" },		//  Tallboy
-	{ "STIT" },		//  Ethlebert "Stitch" Rumsey
-	{ "FREE" },		//  Charles Freedman
-	{ "HEMM" },		//  Nigel Hemmings
-	{ "CART" },		//  Fairfax Carter
-	{ "WILH" },		//  Wilhelm II
-	{ "WACH" },		//  Wachthund
-	{ "WILS" },		//  Jonathan Wilson
-	{ "DAVE" },		//  David Lloyd-Jones
-	{ "HARG" },		//  Edward Hargrove
-	{ "MORI" },		//  Professor James Moriarty
-	{ "LASC" },		//  The Lascar
-	{ "PARR" },		//  Parrot
-	{ "SCAR" },		//  Vincent Scarrett
-	{ "ALEX" },		//  Alexandra
-	{ "QUEE" },		//  Queen Victoria
-	{ "JOHN" },		//  John Brown
-	{ "PAT1" },		//  Patient #1
-	{ "PAT2" },		//  Patient #2
-	{ "PATR" },		//  Patron
-	{ "QUEN" },		//  Queen Victoria
-	{ "WITE" },		//  Patient in White
-	{ "LUSH" },		//  Lush
-	{ "DRNK" },		//  Drunk
-	{ "PROS" },		//  Prostitute
-	{ "MUDL" },		//  Mudlark
-	{ "GRIN" },		//  Grinder
-	{ "BOUN" },		//  Bouncer
-	{ "RATC" },		//  Agnes Ratchet
-	{ "ALOY" },		//  Aloysius Ratchet
-	{ "REAL" },		//  Real Estate Agent
-	{ "CAND" },		//  Candy Clerk
-	{ "BEAD" },		//  Beadle
-	{ "PRUS" },		//  Prussian
-	{ "ROWB" },		//  Mrs. Rowbottom
-	{ "MSLJ" },		//  Miss Lloyd-Jones
-	{ "TPAT" },		//  Tavern patron
-	{ "USER" },		//  User
-	{ "TOBY" },		//  Toby
-	{ "STAT" },		//  Stationer
-	{ "CLRK" },		//  Law Clerk
-	{ "CLER" },		//  Ministry Clerk
-	{ "BATH" },		//  Bather
-	{ "MAID" },		//  Maid
-	{ "LADF" },		//  Lady Fanshawe
-	{ "SIDN" },		//  Sidney Ratchet
-	{ "BOYO" },		//  Boy
-	{ "PTR2" },		//  Second Patron
-	{ "BRIT" },		//  Constable Brit
-	{ "DROV" }		//  Wagon Driver
+const PeopleData PEOPLE_DATA[TATTOO_MAX_PEOPLE] = { 
+	{ "HOLM", kFixedText_People_SherlockHolmes },
+	{ "WATS", kFixedText_People_DrWatson },
+	{ "HUDS", kFixedText_People_MrsHudson },
+	{ "FORB", kFixedText_People_StanleyForbes },
+	{ "MYCR", kFixedText_People_MycroftHolmes },
+	{ "WIGG", kFixedText_People_Wiggins },
+	{ "BURN", kFixedText_People_PoliceConstableBurns },
+	{ "TRIM", kFixedText_People_AugustusTrimble },
+	{ "DALE", kFixedText_People_PoliceConstableDaley },
+	{ "MATR", kFixedText_People_Matron },
+	{ "GRAC", kFixedText_People_SisterGrace },
+	{ "MCCA", kFixedText_People_PrestonMcCabe },
+	{ "COLL", kFixedText_People_BobColleran },
+	{ "JONA", kFixedText_People_JonasRigby },
+	{ "ROAC", kFixedText_People_PoliceConstableRoach },
+	{ "DEWA", kFixedText_People_JamesDewar },
+	{ "JERE", kFixedText_People_SergeantJeremyDuncan },
+	{ "GREG", kFixedText_People_InspectorGregson },
+	{ "LEST", kFixedText_People_InspectorLestrade },
+	{ "NEED", kFixedText_People_JesseNeedhem },
+	{ "FLEM", kFixedText_People_ArthurFleming },
+	{ "PRAT", kFixedText_People_MrThomasPratt },
+	{ "TILL", kFixedText_People_MathildaTillieMason },
+	{ "RUSS", kFixedText_People_AdrianRussell },
+	{ "WHIT", kFixedText_People_EldridgeWhitney },
+	{ "HEPP", kFixedText_People_Hepplethwaite },
+	{ "HORA", kFixedText_People_HoraceSilverbridge },
+	{ "SHER", kFixedText_People_OldSherman },
+	{ "VERN", kFixedText_People_MaxwellVerner },
+	{ "REDD", kFixedText_People_MillicentRedding },
+	{ "VIRG", kFixedText_People_VirgilSilverbridge },
+	{ "GEOR", kFixedText_People_GeorgeOKeeffe },
+	{ "LAWT", kFixedText_People_LordDenysLawton },
+	{ "JENK", kFixedText_People_Jenkins },
+	{ "JOCK", kFixedText_People_JockMahoney },
+	{ "BART", kFixedText_People_Bartender },
+	{ "LADY", kFixedText_People_LadyCordeliaLockridge },
+	{ "PETT", kFixedText_People_Pettigrew },
+	{ "FANS", kFixedText_People_SirAveryFanshawe },
+	{ "HODG", kFixedText_People_Hodgkins },
+	{ "WILB", kFixedText_People_WilburBirdyHeywood },
+	{ "JACO", kFixedText_People_JacobFarthington },
+	{ "BLED", kFixedText_People_PhilipBledsoe },
+	{ "FOWL", kFixedText_People_SidneyFowler },
+	{ "PROF", kFixedText_People_ProfessorTheodoreTotman },
+	{ "ROSE", kFixedText_People_RoseHinchem },
+	{ "TALL", kFixedText_People_Tallboy },
+	{ "STIT", kFixedText_People_EthlebertStitchRumsey },
+	{ "FREE", kFixedText_People_CharlesFreedman },
+	{ "HEMM", kFixedText_People_NigelHemmings },
+	{ "CART", kFixedText_People_FairfaxCarter },
+	{ "WILH", kFixedText_People_WilhelmII },
+	{ "WACH", kFixedText_People_Wachthund },
+	{ "WILS", kFixedText_People_JonathanWilson },
+	{ "DAVE", kFixedText_People_DavidLloydJones },
+	{ "HARG", kFixedText_People_EdwardHargrove },
+	{ "MORI", kFixedText_People_Misteray },
+	{ "LASC", kFixedText_People_TheLascar },
+	{ "PARR", kFixedText_People_Parrot },
+	{ "SCAR", kFixedText_People_VincentScarrett },
+	{ "ALEX", kFixedText_People_Alexandra },
+	{ "QUEE", kFixedText_People_QueenVictoria },
+	{ "JOHN", kFixedText_People_JohnBrown },
+	{ "PAT1", kFixedText_People_APatient1 },
+	{ "PAT2", kFixedText_People_APatient2 },
+	{ "PATR", kFixedText_People_Patron },
+	{ "QUEN", kFixedText_People_QueenVictoria },
+	{ "WITE", kFixedText_People_PatientInWhite },
+	{ "LUSH", kFixedText_People_Lush },
+	{ "DRNK", kFixedText_People_Drunk },
+	{ "PROS", kFixedText_People_Prostitute },
+	{ "MUDL", kFixedText_People_Mudlark },
+	{ "GRIN", kFixedText_People_Grinder },
+	{ "BOUN", kFixedText_People_Bouncer },
+	{ "RATC", kFixedText_People_AgnesRatchet },
+	{ "ALOY", kFixedText_People_AloysiusRatchet },
+	{ "REAL", kFixedText_People_RealEstateAgent },
+	{ "CAND", kFixedText_People_CandyClerk },
+	{ "BEAD", kFixedText_People_Beadle },
+	{ "PRUS", kFixedText_People_Prussian },
+	{ "ROWB", kFixedText_People_MrsRowbottom },
+	{ "MSLJ", kFixedText_People_MissLloydJones },
+	{ "TPAT", kFixedText_People_TavernPatron },
+	{ "USER", kFixedText_People_User },
+	{ "TOBY", kFixedText_People_Toby },
+	{ "STAT", kFixedText_People_Stationer },
+	{ "CLRK", kFixedText_People_LawClerk },
+	{ "CLER", kFixedText_People_MinistryClerk },
+	{ "BATH", kFixedText_People_Bather },
+	{ "MAID", kFixedText_People_Maid },
+	{ "LADF", kFixedText_People_LadyFanshawe },
+	{ "SIDN", kFixedText_People_SidneyRatchet },
+	{ "BOYO", kFixedText_People_Boy },
+	{ "PTR2", kFixedText_People_Patron2 },
+	{ "BRIT", kFixedText_People_ConstableBrit },
+	{ "DROV", kFixedText_People_WagonDriver }
 };
 
-const char *const FRENCH_NAMES[TATTOO_MAX_PEOPLE] = {
-	"Sherlock Holmes",
-	"Dr. Watson",
-	"Mme. Hudson",
-	"Stanley Forbes",
-	"Mycroft Holmes",
-	"Wiggins",
-	"Sergent Burns",
-	"Augustus Trimble",
-	"Sergent Daley",
-	"Infirmi?re chef",
-	"Mme. Grace",
-	"Preston McCabe",
-	"Bob Colleran",
-	"Jonas Rigby",
-	"Sergent Roach",
-	"James Dewar",
-	"Sergent Jeremy Duncan",
-	"Inspecteur Gregson",
-	"Inspecteur Lestrade",
-	"Jesse Needhem",
-	"Arthur Fleming",
-	"M. Thomas Pratt",
-	"Mathilda (Tillie) Mason",
-	"Adrian Russell",
-	"Eldridge Whitney",
-	"Hepplethwaite",
-	"Horace Silverbridge",
-	"Sherman",
-	"Maxwell Verner",
-	"Millicent Redding",
-	"Virgil Silverbridge",
-	"George O'Keeffe",
-	"Lord Denys Lawton",
-	"Jenkins",
-	"Jock Mahoney",
-	"Serveur",
-	"Lady Cordelia Lockridge",
-	"Pettigrew",
-	"Sir Avery Fanshawe",
-	"Hodgkins",
-	"Wilbur \"Birdy\" Heywood",
-	"Jacob Farthington",
-	"Philip Bledsoe",
-	"Sidney Fowler",
-	"Professeur Theodore Totman",
-	"Rose Hinchem",
-	"Tallboy",
-	"Ethlebert \"Stitch\" Rumsey",
-	"Charles Freedman",
-	"Nigel Hemmings",
-	"Fairfax Carter",
-	"Wilhelm II",
-	"Wachthund",
-	"Jonathan Wilson",
-	"David Lloyd-Jones",
-	"Edward Hargrove",
-	"Misteray",
-	"Le Lascar",
-	"Oiseau",
-	"Vincent Scarrett",
-	"Alexandra",
-	"Queen Victoria",
-	"John Brown",
-	"Patient",
-	"Patient",
-	"Client",
-	"Queen Victoria",
-	"Patient en blanc",
-	"Ivrogne",
-	"Ivrogne",
-	"Belle femme",
-	"Mudlark",
-	"Broyeur",
-	"Videur",
-	"Agnes Ratchet",
-	"Aloysius Ratchet",
-	"Immobilier",
-	"Gar?on",
-	"Beadle",
-	"Prussian",
-	"Mme. Rowbottom",
-	"Mme Lloyd-Jones",
-	"Tavern Client",
-	"User",
-	"Toby",
-	"Papeterie",
-	"Law Clerc",
-	"Ministry Employ?",
-	"Clint du thermes",
-	"Bonne",
-	"Lady Fanshawe",
-	"Sidney Ratchet",
-	"Gar?on",
-	"Client",
-	"Sergent Brit",
-	"Wagon Driver"
-};
-
-const char *const ENGLISH_NAMES[TATTOO_MAX_PEOPLE] = {
-	"Sherlock Holmes",
-	"Dr. Watson",
-	"Mrs. Hudson",
-	"Stanley Forbes",
-	"Mycroft Holmes",
-	"Wiggins",
-	"Police Constable Burns",
-	"Augustus Trimble",
-	"Police Constable Daley",
-	"Matron",
-	"Sister Grace",
-	"Preston McCabe",
-	"Bob Colleran",
-	"Jonas Rigby",
-	"Police Constable Roach",
-	"James Dewar",
-	"Sergeant Jeremy Duncan",
-	"Inspector Gregson",
-	"Inspector Lestrade",
-	"Jesse Needhem",
-	"Arthur Fleming",
-	"Mr. Thomas Pratt",
-	"Mathilda (Tillie) Mason",
-	"Adrian Russell",
-	"Eldridge Whitney",
-	"Hepplethwaite",
-	"Horace Silverbridge",
-	"Old Sherman",
-	"Maxwell Verner",
-	"Millicent Redding",
-	"Virgil Silverbridge",
-	"George O'Keeffe",
-	"Lord Denys Lawton",
-	"Jenkins",
-	"Jock Mahoney",
-	"Bartender",
-	"Lady Cordelia Lockridge",
-	"Pettigrew",
-	"Sir Avery Fanshawe",
-	"Hodgkins",
-	"Wilbur \"Birdy\" Heywood",
-	"Jacob Farthington",
-	"Philip Bledsoe",
-	"Sidney Fowler",
-	"Professor Theodore Totman",
-	"Rose Hinchem",
-	"Tallboy",
-	"Ethlebert \"Stitch\" Rumsey",
-	"Charles Freedman",
-	"Nigel Hemmings",
-	"Fairfax Carter",
-	"Wilhelm II",
-	"Wachthund",
-	"Jonathan Wilson",
-	"David Lloyd-Jones",
-	"Edward Hargrove",
-	"Misteray",
-	"The Lascar",
-	"Parrot",
-	"Vincent Scarrett",
-	"Alexandra",
-	"Queen Victoria",
-	"John Brown",
-	"A Patient",
-	"A Patient",
-	"Patron",
-	"Queen Victoria",
-	"Patient in white",
-	"Lush",
-	"Drunk",
-	"Prostitute",
-	"Mudlark",
-	"Grinder",
-	"Bouncer",
-	"Agnes Ratchet",
-	"Aloysius Ratchet",
-	"Real Estate Agent",
-	"Candy Clerk",
-	"Beadle",
-	"Prussian",
-	"Mrs. Rowbottom",
-	"Miss Lloyd-Jones",
-	"Tavern patron",
-	"User",
-	"Toby",
-	"Stationer",
-	"Law Clerk",
-	"Ministry Clerk",
-	"Bather",
-	"Maid",
-	"Lady Fanshawe",
-	"Sidney Ratchet",
-	"Boy",
-	"Patron",
-	"Constable Brit",
-	"Wagon Driver"
-};
-
-
 } // End of namespace Tattoo
 
 } // End of namespace Sherlock
diff --git a/engines/sherlock/tattoo/tattoo_resources.h b/engines/sherlock/tattoo/tattoo_resources.h
index b706d90..85a7873 100644
--- a/engines/sherlock/tattoo/tattoo_resources.h
+++ b/engines/sherlock/tattoo/tattoo_resources.h
@@ -31,9 +31,12 @@ namespace Tattoo {
 
 #define TATTOO_MAX_PEOPLE 96
 
-extern const char PORTRAITS[TATTOO_MAX_PEOPLE][5];
-extern const char *const FRENCH_NAMES[TATTOO_MAX_PEOPLE];
-extern const char *const ENGLISH_NAMES[TATTOO_MAX_PEOPLE];
+struct PeopleData {
+	const char *portrait;
+	int fixedTextId;
+};
+
+extern const PeopleData PEOPLE_DATA[TATTOO_MAX_PEOPLE];
 
 } // End of namespace Tattoo
 






More information about the Scummvm-git-logs mailing list