[Scummvm-git-logs] scummvm master -> 4246af95905cc33b789dc74489afe53b521487ee
sev-
sev at scummvm.org
Mon May 18 21:24:21 UTC 2020
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d8951b2aa1 COMMON: Add Persian language & CP1256 encoding
8ea74fd00f WINTERMUTE: Add Informer Alavi to engines, detection and keymapper tables
388ae895a1 WINTERMUTE: Add CP1256 support
4246af9590 WINTERMUTE: Fix game crash on missing system font
Commit: d8951b2aa1b2ba948db48ef0d67066a185529009
https://github.com/scummvm/scummvm/commit/d8951b2aa1b2ba948db48ef0d67066a185529009
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2020-05-18T23:24:15+02:00
Commit Message:
COMMON: Add Persian language & CP1256 encoding
Changed paths:
common/language.cpp
common/language.h
common/str-enc.cpp
common/str-enc.h
diff --git a/common/language.cpp b/common/language.cpp
index 60409a0582..7f2ac5e355 100644
--- a/common/language.cpp
+++ b/common/language.cpp
@@ -50,6 +50,7 @@ const LanguageDescription g_languages[] = {
{ "kr", "ko_KR", "Korean", KO_KOR },
{ "lv", "lv_LV", "Latvian", LV_LAT },
{ "nb", "nb_NO", "Norwegian Bokm\xE5l", NB_NOR },
+ { "fa", "fa_IR", "Persian (Iran)", FA_IRN },
{ "pl", "pl_PL", "Polish", PL_POL },
{ "br", "pt_BR", "Portuguese (Brazil)", PT_BRA },
{ "pt", "pt_PT", "Portuguese (Portugal)", PT_POR },
diff --git a/common/language.h b/common/language.h
index 99719f60e2..8c7369a8a3 100644
--- a/common/language.h
+++ b/common/language.h
@@ -55,6 +55,7 @@ enum Language {
KO_KOR,
LV_LAT,
NB_NOR,
+ FA_IRN,
PL_POL,
PT_BRA,
PT_POR,
diff --git a/common/str-enc.cpp b/common/str-enc.cpp
index e1bb332648..3a099e48ef 100644
--- a/common/str-enc.cpp
+++ b/common/str-enc.cpp
@@ -249,6 +249,23 @@ static const uint32 g_windows1255ConversionTable[] = {0x20AC, 0x0081, 0x201A, 0x
0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7,
0x05E8, 0x05E9, 0x05EA, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x00FF};
+static const uint32 g_windows1256ConversionTable[] = {0x20AC, 0x067E, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
+ 0x02C6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
+ 0x06AF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
+ 0x06A9, 0x2122, 0x0691, 0x203A, 0x0153, 0x200C, 0x200D, 0x06BA,
+ 0x00A0, 0x060C, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
+ 0x00A8, 0x00A9, 0x06BE, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
+ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
+ 0x00B8, 0x00B9, 0x061B, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061F,
+ 0x06C1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
+ 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
+ 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7,
+ 0x0637, 0x0638, 0x0639, 0x063A, 0x0640, 0x0641, 0x0642, 0x0643,
+ 0x00E0, 0x0644, 0x00E2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00E7,
+ 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0649, 0x064A, 0x00EE, 0x00EF,
+ 0x064B, 0x064C, 0x064D, 0x064E, 0x00F4, 0x064F, 0x0650, 0x00F7,
+ 0x0651, 0x00F9, 0x0652, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x06D2};
+
static const uint32 g_windows1257ConversionTable[] = {0x20AC, 0x0081, 0x201A, 0x0083, 0x201E, 0x2026, 0x2020, 0x2021,
0x0088, 0x2030, 0x008A, 0x2039, 0x008C, 0x00A8, 0x02C7, 0x00B8,
0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
@@ -276,6 +293,7 @@ static char const *const g_codePageMap[] = {
"WINDOWS-1253", /* kWindows1253 */
"WINDOWS-1254", /* kWindows1254 */
"WINDOWS-1255", /* kWindows1255 */
+ "WINDOWS-1256", /* kWindows1256 */
"WINDOWS-1257", /* kWindows1257 */
"MS932", /* kWindows932 */
"MSCP949", /* kWindows949 */
@@ -310,6 +328,9 @@ void String::decodeOneByte(U32String &dst, CodePage page) const {
case kWindows1255:
dst += g_windows1255ConversionTable[index];
break;
+ case kWindows1256:
+ dst += g_windows1256ConversionTable[index];
+ break;
case kWindows1257:
dst += g_windows1257ConversionTable[index];
break;
@@ -363,6 +384,9 @@ void U32String::encodeOneByte(String &dst, CodePage page) const {
case kWindows1255:
conversionTable = g_windows1255ConversionTable;
break;
+ case kWindows1256:
+ conversionTable = g_windows1256ConversionTable;
+ break;
case kWindows1257:
conversionTable = g_windows1257ConversionTable;
break;
diff --git a/common/str-enc.h b/common/str-enc.h
index 796cf963f0..0e2a7ba8a6 100644
--- a/common/str-enc.h
+++ b/common/str-enc.h
@@ -37,6 +37,7 @@ enum CodePage {
kWindows1253,
kWindows1254,
kWindows1255,
+ kWindows1256,
kWindows1257,
kWindows932,
kWindows949,
Commit: 8ea74fd00fd61efb559db3a0d53cf89c893247e9
https://github.com/scummvm/scummvm/commit/8ea74fd00fd61efb559db3a0d53cf89c893247e9
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2020-05-18T23:24:15+02:00
Commit Message:
WINTERMUTE: Add Informer Alavi to engines, detection and keymapper tables
Changed paths:
engines/wintermute/base/base_engine.h
engines/wintermute/detection_tables.h
engines/wintermute/keymapper_tables.h
diff --git a/engines/wintermute/base/base_engine.h b/engines/wintermute/base/base_engine.h
index bb67a600d4..4253782529 100644
--- a/engines/wintermute/base/base_engine.h
+++ b/engines/wintermute/base/base_engine.h
@@ -78,6 +78,10 @@ enum WMETargetExecutable {
WME_1_8_8, // DEAD:CODE 2008, released as "1.8.8 beta"
WME_1_8_9, // DEAD:CODE 2008, released as "1.8.9 beta"
WME_1_8_10, // DEAD:CODE 2009
+
+ // fork of WME_1_8_10
+ WME_ANDISHE_VARAN, // Andishe Varan Engine 1.0.0.0
+
WME_1_8_11, // DEAD:CODE 2009
WME_1_9_0, // DEAD:CODE 2009, released as "1.9.0 beta"
diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index 3a79771550..d4f8e1f240 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -30,6 +30,7 @@ static const PlainGameDescriptor wintermuteGames[] = {
{"5ma", "Five Magical Amulets"},
{"actualdest", "Actual Destination"},
{"agustin", "Boredom of Agustin Cordes"},
+ {"alavi", "Informer Alavi - Murder of Miss Rojan"},
{"alimardan1", "Alimardan's Mischief"},
{"alimardan2", "Alimardan Meets Merlin"},
{"alphapolaris", "Alpha Polaris"},
@@ -238,6 +239,11 @@ static const WMEGameDescription gameDescriptions[] = {
WME_WINENTRY("actualdest", "",
WME_ENTRY1s("data.dcp", "6926f44b26f21ceb1d840eaab9aeb510", 9081740), Common::EN_ANY, ADGF_UNSTABLE, WME_1_8_11),
+ // Informer Alavi - Murder of Miss Rojan (Persian) (Try version)
+ // NOTE: This is a 2.5D game that is out of ScummVM scope
+ WME_WINENTRY("alavi", "Try version",
+ WME_ENTRY1s("data.dcp", "07b847ebafbf8e58daa341d60598c84b", 36628230), Common::FA_IRN, ADGF_UNSTABLE | ADGF_DEMO, WME_ANDISHE_VARAN),
+
// Alimardan's Mischief
WME_WINENTRY("alimardan1", "",
WME_ENTRY1s("data.dcp", "55c28b8d4f49120f980d237951a6c73f", 1834957694), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
diff --git a/engines/wintermute/keymapper_tables.h b/engines/wintermute/keymapper_tables.h
index 033f162eef..19e5f92e0b 100644
--- a/engines/wintermute/keymapper_tables.h
+++ b/engines/wintermute/keymapper_tables.h
@@ -64,6 +64,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
if (gameId == "actualdest" ||
gameId == "artofmurder1" ||
+ gameId == "alavi" ||
gameId == "agustin" ||
gameId == "bickadoodle" ||
gameId == "bthreshold" ||
Commit: 388ae895a1418e2cc099eae6e3c4bcabc730cd51
https://github.com/scummvm/scummvm/commit/388ae895a1418e2cc099eae6e3c4bcabc730cd51
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2020-05-18T23:24:15+02:00
Commit Message:
WINTERMUTE: Add CP1256 support
Changed paths:
engines/wintermute/utils/string_util.cpp
diff --git a/engines/wintermute/utils/string_util.cpp b/engines/wintermute/utils/string_util.cpp
index b17c5446b7..ad1313a20f 100644
--- a/engines/wintermute/utils/string_util.cpp
+++ b/engines/wintermute/utils/string_util.cpp
@@ -118,6 +118,9 @@ Common::CodePage StringUtil::mapCodePage(TTextCharset charset) {
case CHARSET_HEBREW:
return Common::kWindows1255;
+ case CHARSET_ARABIC:
+ return Common::kWindows1256;
+
case CHARSET_BALTIC:
return Common::kWindows1257;
@@ -167,6 +170,10 @@ Common::CodePage StringUtil::mapCodePage(TTextCharset charset) {
case Common::HE_ISR:
return Common::kWindows1255;
+ //cp1256: Arabic
+ case Common::FA_IRN:
+ return Common::kWindows1256;
+
//cp1257: Baltic
case Common::ET_EST:
case Common::LV_LAT:
@@ -190,7 +197,6 @@ Common::CodePage StringUtil::mapCodePage(TTextCharset charset) {
case CHARSET_SYMBOL:
case CHARSET_VIETNAMESE:
case CHARSET_JOHAB:
- case CHARSET_ARABIC:
case CHARSET_THAI:
default:
warning("Unsupported charset: %d", charset);
Commit: 4246af95905cc33b789dc74489afe53b521487ee
https://github.com/scummvm/scummvm/commit/4246af95905cc33b789dc74489afe53b521487ee
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2020-05-18T23:24:15+02:00
Commit Message:
WINTERMUTE: Fix game crash on missing system font
Changed paths:
engines/wintermute/ui/ui_button.cpp
diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp
index eaa853e37b..eb8137ce3e 100644
--- a/engines/wintermute/ui/ui_button.cpp
+++ b/engines/wintermute/ui/ui_button.cpp
@@ -625,11 +625,11 @@ void UIButton::correctSize() {
}
if (_text) {
- int textHeight;
- if (_font) {
- textHeight = _font->getTextHeight((byte *)_text, _width);
- } else {
- textHeight = _gameRef->getSystemFont()->getTextHeight((byte *)_text, _width);
+ int textHeight = 0;
+ BaseFont *font = _font ? _font : _gameRef->getSystemFont();
+
+ if (font) {
+ textHeight = font->getTextHeight((byte *)_text, _width);
}
if (textHeight > _height) {
More information about the Scummvm-git-logs
mailing list