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

athrxx athrxx at scummvm.org
Sun Jul 24 22:57:35 CEST 2011


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:
ec55336393 LOL: add support for Russian CD-ROM version


Commit: ec553363935b40de63052603b62eccf0d148d31e
    https://github.com/scummvm/scummvm/commit/ec553363935b40de63052603b62eccf0d148d31e
Author: athrxx (athrxx at scummvm.org)
Date: 2011-07-24T13:49:21-07:00

Commit Message:
LOL: add support for Russian CD-ROM version

Changed paths:
    devtools/create_kyradat/create_kyradat.cpp
    devtools/create_kyradat/games.cpp
    devtools/create_kyradat/tables.cpp
    dists/engine-data/kyra.dat
    engines/kyra/detection_tables.h
    engines/kyra/lol.cpp
    engines/kyra/lol.h
    engines/kyra/sequences_lol.cpp
    engines/kyra/staticres.cpp
    engines/kyra/staticres_lol.cpp



diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 86927cc..085baec 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
 #include <map>
 
 enum {
-	kKyraDatVersion = 75
+	kKyraDatVersion = 76
 };
 
 const ExtractFilename extractFilenames[] = {
diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp
index b378788..da49b2f 100644
--- a/devtools/create_kyradat/games.cpp
+++ b/devtools/create_kyradat/games.cpp
@@ -109,6 +109,7 @@ const Game lolGames[] = {
 	// DOS CD (multi language version, with no language specific strings)
 	{ kLol, { EN_ANY, FR_FRA, DE_DEU }, kPlatformPC, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "263998ec600afca1cc7b935c473df670" } },
 	{ kLol, { IT_ITA, FR_FRA, DE_DEU }, kPlatformPC, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "f2af366e00f79dbf832fa19701d71ed9" } }, // Italian fan translation
+	{ kLol, { EN_ANY, FR_FRA, RU_RUS }, kPlatformPC, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "5b33478718968676343803911dd5e3e4" } }, // Russian fan translation
 	GAME_DUMMY_ENTRY
 };
 
diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp
index 1cf1707..3c6720c 100644
--- a/devtools/create_kyradat/tables.cpp
+++ b/devtools/create_kyradat/tables.cpp
@@ -1287,6 +1287,7 @@ const ExtractEntrySearchData kLolCharacterDefsProvider[] = {
 	{ EN_ANY, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
 	{ DE_DEU, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
 	{ FR_FRA, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
+	{ RU_RUS, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
 	{ IT_ITA, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
 	{ JA_JPN, kPlatformPC98, { 0x00000492, 0x00005893, { { 0x7C, 0x7E, 0xFB, 0x80, 0xD9, 0xB6, 0x16, 0x87, 0x80, 0xB7, 0x46, 0x9B, 0x96, 0x1A, 0x6A, 0xBE } } } },
 
@@ -1737,6 +1738,7 @@ const ExtractEntrySearchData kLolCreditsProvider[] = {
 
 const ExtractEntrySearchData kLolHistoryProvider[] = {
 	{ UNK_LANG, kPlatformPC, { 0x000001D1, 0x00007F9B, { { 0x25, 0x10, 0x86, 0x40, 0xAC, 0x53, 0xFE, 0x11, 0x4D, 0xE2, 0xD9, 0x35, 0xD6, 0x89, 0xBB, 0x09 } } } },
+	//{ UNK_LANG, kPlatformPC, { 0x000001D1, 0x00007F9B, { { 0x25, 0x10, 0x86, 0x40, 0xAC, 0x53, 0xFE, 0x11, 0x4D, 0xE2, 0xD9, 0x35, 0xD6, 0x89, 0xBB, 0x09 } } } },
 
 	EXTRACT_END_ENTRY
 };
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index f6d7328..31163c1 100644
Binary files a/dists/engine-data/kyra.dat and b/dists/engine-data/kyra.dat differ
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h
index d47df47..468e82c 100644
--- a/engines/kyra/detection_tables.h
+++ b/engines/kyra/detection_tables.h
@@ -1071,6 +1071,59 @@ const KYRAGameDescription adGameDescs[] = {
 		LOL_CD_FLAGS
 	},
 
+	// Russian fan translation
+	{
+		{
+			"lol",
+			"CD",
+			{
+				{ "GENERAL.PAK", 0, "19354b0f464295c38c801d30588df062", -1 },
+				{ "L01.PAK", 0, "174d37f21e0336c5d91020f8c58717ef", -1 },
+				{ 0, 0, 0, 0 }
+			},
+			Common::EN_ANY,
+			Common::kPlatformPC,
+			ADGF_DROPLANGUAGE | ADGF_CD,
+			Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+		},
+		LOL_CD_FAN_FLAGS(Common::RU_RUS, Common::DE_DEU)
+	},
+
+	{
+		{
+			"lol",
+			"CD",
+			{
+
+				{ "GENERAL.PAK", 0, "19354b0f464295c38c801d30588df062", -1 },
+				{ "L01.PAK", 0, "174d37f21e0336c5d91020f8c58717ef", -1 },
+				{ 0, 0, 0, 0 }
+			},
+			Common::FR_FRA,
+			Common::kPlatformPC,
+			ADGF_DROPLANGUAGE | ADGF_CD,
+			Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+		},
+		LOL_CD_FAN_FLAGS(Common::RU_RUS, Common::DE_DEU)
+	},
+
+	{
+		{
+			"lol",
+			"CD",
+			{
+				{ "GENERAL.PAK", 0, "19354b0f464295c38c801d30588df062", -1 },
+				{ "L01.PAK", 0, "174d37f21e0336c5d91020f8c58717ef", -1 },
+				{ 0, 0, 0, 0 }
+			},
+			Common::RU_RUS,
+			Common::kPlatformPC,
+			ADGF_DROPLANGUAGE | ADGF_CD,
+			Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+		},
+		LOL_CD_FAN_FLAGS(Common::RU_RUS, Common::DE_DEU)
+	},
+
 	// Italian fan translation
 	{
 		{
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 8ce77d0..7d7bb0e 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -1040,7 +1040,7 @@ char *LoLEngine::getLangString(uint16 id) {
 	char *srcBuffer = _stringBuffer[_lastUsedStringBuffer];
 	if (_flags.lang == Common::JA_JPN) {
 		decodeSjis(string, srcBuffer);
-	} else if (_flags.lang == Common::RU_RUS) {
+	} else if (_flags.lang == Common::RU_RUS && !_flags.isTalkie) {
 		decodeCyrillic(string, srcBuffer);
 		Util::decodeString2(srcBuffer, srcBuffer);
 	} else {
diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h
index 705110e..3b887c2 100644
--- a/engines/kyra/lol.h
+++ b/engines/kyra/lol.h
@@ -369,7 +369,7 @@ private:
 
 	static const CharacterPrev _charPreviews[];
 	static const char *const _charPreviewNamesDefault[];
-	static const char *const _charPreviewNamesRussian[];
+	static const char *const _charPreviewNamesRussianFloppy[];
 
 	// PC98 specific data
 	static const uint16 _charPosXPC98[];
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp
index 7c28e9a..d887133 100644
--- a/engines/kyra/sequences_lol.cpp
+++ b/engines/kyra/sequences_lol.cpp
@@ -316,7 +316,7 @@ int LoLEngine::chooseCharacter() {
 		_screen->printText(_tim->getCTableEntry(53), 72, 184, 0x81, 0x00);
 		_screen->printText(_tim->getCTableEntry(55), 72, 192, 0x81, 0x00);
 	} else {
-		const char *const *previewNames = _flags.lang == Common::RU_RUS ? _charPreviewNamesRussian : _charPreviewNamesDefault;
+		const char *const *previewNames = (_flags.lang == Common::RU_RUS && !_flags.isTalkie) ? _charPreviewNamesRussianFloppy : _charPreviewNamesDefault;
 		for (int i = 0; i < 4; ++i) {
 			_screen->fprintStringIntro("%s", _charPreviews[i].x + 16, _charPreviews[i].y + 36, 0xC0, 0x00, 0x9C, 0x120, previewNames[i]);
 			_screen->fprintStringIntro("%d", _charPreviews[i].x + 21, _charPreviews[i].y + 48, 0x98, 0x00, 0x9C, 0x220, _charPreviews[i].attrib[0]);
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index 5fc4f18..6e2f8b8 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -38,7 +38,7 @@
 
 namespace Kyra {
 
-#define RESFILE_VERSION 75
+#define RESFILE_VERSION 76
 
 namespace {
 bool checkKyraDat(Common::SeekableReadStream *file) {
diff --git a/engines/kyra/staticres_lol.cpp b/engines/kyra/staticres_lol.cpp
index 2e5743d..e402950 100644
--- a/engines/kyra/staticres_lol.cpp
+++ b/engines/kyra/staticres_lol.cpp
@@ -694,7 +694,7 @@ const char *const LoLEngine::_charPreviewNamesDefault[] = {
 	"Conrad"
 };
 
-const char *const LoLEngine::_charPreviewNamesRussian[] = {
+const char *const LoLEngine::_charPreviewNamesRussianFloppy[] = {
 	"\x80\xAA\xE8\xA5\xAB\0",
 	"\x8C\xA0\xA9\xAA\xAB\0",
 	"\x8A\xA8\xE0\xA0\xAD\0",






More information about the Scummvm-git-logs mailing list