[Scummvm-git-logs] scummvm master -> 8d33ae2a954891ee3827470b374af76f5961bd93

lolbot-iichan lolbot_iichan at mail.ru
Sat Jun 12 21:25:59 UTC 2021


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

Summary:
0975ab0eaf COMMON: Rename "Persian (Iran)" to "Persian", since there are no other regions in the list
e759181955 JANITORIAL: Fix misprints and marks some games as English
73ff3751eb WINTERMUTE: Add detection for 6 Persian games
d4d42ad8fe WINTERMUTE: Display BiDi strings if _textRTL is set
40de9fd929 WINTERMUTE: Fix 2d sprites placement in 3d render
8d33ae2a95 WINTERMUTE: Support games with unpacked packages


Commit: 0975ab0eafda5f11ae4b09f73698e0c9da5d80b3
    https://github.com/scummvm/scummvm/commit/0975ab0eafda5f11ae4b09f73698e0c9da5d80b3
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
COMMON: Rename "Persian (Iran)" to "Persian", since there are no other regions in the list

Changed paths:
    common/language.cpp


diff --git a/common/language.cpp b/common/language.cpp
index 7f2ac5e355..da46152ea4 100644
--- a/common/language.cpp
+++ b/common/language.cpp
@@ -50,7 +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 },
+	{    "fa", "fa_IR", "Persian", FA_IRN },
 	{    "pl", "pl_PL", "Polish", PL_POL },
 	{    "br", "pt_BR", "Portuguese (Brazil)", PT_BRA },
 	{    "pt", "pt_PT", "Portuguese (Portugal)", PT_POR },


Commit: e759181955836c51d27c70119615ba87afa21a73
    https://github.com/scummvm/scummvm/commit/e759181955836c51d27c70119615ba87afa21a73
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
JANITORIAL: Fix misprints and marks some games as English

Changed paths:
    engines/wintermute/detection_tables.h


diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index db9329a72f..1d78ac6d92 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -262,15 +262,15 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("alavi", "Try version",
 		WME_ENTRY1s("data.dcp", "07b847ebafbf8e58daa341d60598c84b", 36628230), Common::FA_IRN, ADGF_UNSTABLE | ADGF_DEMO | GF_3D, WME_ANDISHE_VARAN),
 
-	// Alimardan's Mischief
+	// Alimardan's Mischief (English)
 	WME_WINENTRY("alimardan1", "",
 		WME_ENTRY1s("data.dcp", "55c28b8d4f49120f980d237951a6c73f", 1834957694), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
 
-	// Alimardan's Mischief (Steam, August 2017)
+	// Alimardan's Mischief (Steam, August 2017) (English)
 	WME_WINENTRY("alimardan1", "",
 		WME_ENTRY1s("data.dcp", "ef27d8483d6f19d5398fc81ea05e5320", 1258766332), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_3),
 
-	// Alimardan's Mischief (Steam, October 2017)
+	// Alimardan's Mischief (Steam, October 2017) (English)
 	WME_WINENTRY("alimardan1", "",
 		WME_ENTRY1s("data.dcp", "d74f56d9ce3b7442b921393af7fb6167", 1258761838), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_3),
 
@@ -942,11 +942,11 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("findinghope", "",
 		WME_ENTRY1s("default.game", "57db79e9de62b9d1c7a335822f6242ff", 742), Common::RU_RUS, ADGF_UNSTABLE, WME_1_9_1),
 
-	// Forgotten Sound 1 - Revelation (Steam, January 2018)
+	// Forgotten Sound 1 - Revelation (Steam, January 2018) (English)
 	WME_WINENTRY("forgottensound1", "",
 		WME_ENTRY1s("data.dcp", "01b8b2b4c55c2d83071f5730269cb313", 937507449), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),
 
-	// Forgotten Sound 2 - Destiny (Steam, January 2018)
+	// Forgotten Sound 2 - Destiny (Steam, January 2018) (English)
 	WME_WINENTRY("forgottensound2", "",
 		WME_ENTRY1s("data.dcp", "d743f4ffee2a7cc939e314f29a1a0cd6", 1244439717), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),
 
@@ -1255,12 +1255,12 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("framed", "Beta",
 		WME_ENTRY1s("data.dcp", "e7259fb36f2c6f9f28242291e0c3de98", 34690568), Common::EN_ANY, ADGF_UNSTABLE | ADGF_DEMO, WME_1_8_11),
 
-	// Ghost in the Sheet (Engligh, v1.00)
+	// Ghost in the Sheet (English, v1.00)
 	WME_WINENTRY("ghostsheet", "",
 		WME_ENTRY2s("english.dcp", "f53acdc5510aa184f6f968e38d8c9ad7", 12008908,
 					"data.dcp", "5e7f7d98680825bb81fca11e5493c1ad", 168658), Common::EN_ANY, ADGF_UNSTABLE, WME_1_8_0),
 
-	// Ghost in the Sheet (Engligh, BigFish)
+	// Ghost in the Sheet (BigFish) (English)
 	WME_WINENTRY("ghostsheet", "",
 		WME_ENTRY2s("english.dcp", "e6d0aad2c89996bcabe416105a3d6d3a", 12221017,
 					"data.dcp", "b2f8b05328e4881e15e98e845b63f451", 168003), Common::EN_ANY, ADGF_UNSTABLE, WME_1_8_0),
@@ -5176,11 +5176,11 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("tanya2", "",
 		WME_ENTRY1s("data.dcp", "9c15f14990f630177e063da885d03e6d", 936959767), Common::RU_RUS, ADGF_UNSTABLE, WME_1_8_3),
 
-	// Murder In Tehran's Alleys 1933 (Steam, June 2017)
+	// Murder In Tehran's Alleys 1933 (Steam, June 2017) (English)
 	WME_WINENTRY("tehran1933", "",
 		WME_ENTRY1s("data.dcp", "7d74999f8a926bce367b2f851a06bc1c", 890506879), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),
 
-	// Murder In Tehran's Alleys 2016 (Steam, June 2017)
+	// Murder In Tehran's Alleys 2016 (Steam, June 2017) (English)
 	WME_WINENTRY("tehran2016", "",
 		WME_ENTRY1s("data.dcp", "952346c4d7a08986688b3cc583215d33", 1163612836), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),
 
@@ -5293,7 +5293,7 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("war", "",
 		WME_ENTRY1s("data.dcp", "003e317cda6d0137bbd5e5d7f089ee4d", 32591890), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
 
-	// The Way Of Love: Sub Zero (Engligh)
+	// The Way Of Love: Sub Zero (English)
 	WME_WINENTRY("wayoflove", "",
 		WME_ENTRY2s("data.dcp", "201d74cce6b89ce6d5b61a24b5e88809", 1224687223,
 					"language.dcp", "97ae6c028be982ca419416fab77efc76", 663912), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),


Commit: 73ff3751eb4fc7353da75dc96aa217a24d1d7941
    https://github.com/scummvm/scummvm/commit/73ff3751eb4fc7353da75dc96aa217a24d1d7941
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
WINTERMUTE: Add detection for 6 Persian games

Changed paths:
    engines/wintermute/detection_tables.h


diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index 1d78ac6d92..fd9ec416b0 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -31,7 +31,7 @@ static const PlainGameDescriptor wintermuteGames[] = {
 	{"8squares",        "Eight Squares in The Garden"},
 	{"actualdest",      "Actual Destination"},
 	{"agustin",         "Boredom of Agustin Cordes"},
-	{"alavi",           "Informer Alavi - Murder of Miss Rojan"},
+	{"alavi",           "Alavi Detective - Murder of Miss Rojan"},
 	{"alimardan1",      "Alimardan's Mischief"},
 	{"alimardan2",      "Alimardan Meets Merlin"},
 	{"alphapolaris",    "Alpha Polaris"},
@@ -254,14 +254,22 @@ 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) (Beta version -old version-, between 1387/12 to 1392/6)
+	// Alavi Detective - Murder of Miss Rojan (Persian) (Beta version -old version-, between 1387/12 to 1392/6)
 	WME_WINENTRY("alavi", "Beta version",
 		WME_ENTRY1s("data.dcp", "587b46baa3f82dfe09bdb51f01231fa2", 37191939), Common::FA_IRN, ADGF_UNSTABLE | ADGF_DEMO | GF_3D, WME_ANDISHE_VARAN),
 
-	// Informer Alavi - Murder of Miss Rojan (Persian) (Try version, between 1388/8)
+	// Alavi Detective - Murder of Miss Rojan (Persian) (Try version, between 1388/8)
 	WME_WINENTRY("alavi", "Try version",
 		WME_ENTRY1s("data.dcp", "07b847ebafbf8e58daa341d60598c84b", 36628230), Common::FA_IRN, ADGF_UNSTABLE | ADGF_DEMO | GF_3D, WME_ANDISHE_VARAN),
 
+	// Alavi Detective - Murder of Miss Rojan (Persian)
+	WME_WINENTRY("alavi", "",
+		WME_ENTRY1s("data.dcp", "bffb07282d27b6c5351ed4fce92db4da", 516186290), Common::FA_IRN, ADGF_UNSTABLE | GF_3D, WME_ANDISHE_VARAN),
+
+	// Alimardan's Mischief (Persian)
+	WME_WINENTRY("alimardan1", "",
+		WME_ENTRY1s("data.dcp", "ab1aa5f3d6d5f10d3f131a78be80bf34", 1747086434), Common::FA_IRN, ADGF_UNSTABLE, WME_1_9_1),
+
 	// Alimardan's Mischief (English)
 	WME_WINENTRY("alimardan1", "",
 		WME_ENTRY1s("data.dcp", "55c28b8d4f49120f980d237951a6c73f", 1834957694), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
@@ -942,6 +950,10 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("findinghope", "",
 		WME_ENTRY1s("default.game", "57db79e9de62b9d1c7a335822f6242ff", 742), Common::RU_RUS, ADGF_UNSTABLE, WME_1_9_1),
 
+	// Forgotten Sound 1 - Revelation (Persian)
+	WME_WINENTRY("forgottensound1", "",
+		WME_ENTRY1s("data.dcp", "1c5871ad711430663b1848f0f2362b44", 2030321701), Common::FA_IRN, ADGF_UNSTABLE | GF_3D, WME_1_9_1),
+
 	// Forgotten Sound 1 - Revelation (Steam, January 2018) (English)
 	WME_WINENTRY("forgottensound1", "",
 		WME_ENTRY1s("data.dcp", "01b8b2b4c55c2d83071f5730269cb313", 937507449), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),
@@ -1741,6 +1753,10 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("lonelyrobot", "Beta",
 		WME_ENTRY1s("data.dcp", "a0cf7ad5bab957416dcda454e9f28ef0", 3420120), Common::EN_ANY, ADGF_UNSTABLE | ADGF_DEMO, WME_1_9_0),
 
+	// Qajary Cat (Persian)
+	WME_WINENTRY("qajarycat", "",
+		WME_ENTRY1s("data.dcp", "f2b6bf3daf6324e58042f214cdc075ca", 1782529732), Common::FA_IRN, ADGF_UNSTABLE, WME_1_9_1),
+
 	// Qajary Cat (Steam, November 2017) (English)
 	WME_WINENTRY("qajarycat", "",
 		WME_ENTRY1s("data.dcp", "3e47e3cd94133bdd5facf30ee84389ea", 447760816), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_3),
@@ -4485,6 +4501,11 @@ static const WMEGameDescription gameDescriptions[] = {
 					"data_hd.dcp", "05ce36b4c7b947c503496a1d895671e5", 197431006,
 					"i18n_ru_strings.dcp", "ebf28ca1475b3be9754a323966807683", 45546), Common::RU_RUS, ADGF_UNSTABLE | GF_IGNORE_SD_FILES | GF_3D, WME_1_9_3),
 
+	// Shadows on the Vatican - Act I: Greed (Legacy Version) (NewTech) (Persian)
+	// NOTE: this game distribution contained unpacked game files instead of usual game.dcp package
+	WME_WINENTRY("sotv1", "Legacy Version",
+		WME_ENTRY1s("default.game", "2631e8ba12cdd7ef08c5ee72391ad703", 968), Common::FA_IRN, ADGF_UNSTABLE | GF_3D, WME_1_9_1),
+
 	// Shadows on the Vatican - Act II: Wrath (Legacy Version) (Steam, Oct 26th 2015) (English)
 	WME_WINENTRY("sotv2", "Legacy Version",
 		WME_ENTRY3s("data.dcp", "cfea0d6c7e4a96627d16887c3480266a", 273132663,
@@ -5176,6 +5197,10 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("tanya2", "",
 		WME_ENTRY1s("data.dcp", "9c15f14990f630177e063da885d03e6d", 936959767), Common::RU_RUS, ADGF_UNSTABLE, WME_1_8_3),
 
+	// Murder In Tehran's Alleys 1933 (Persian)
+	WME_WINENTRY("tehran1933", "",
+		WME_ENTRY1s("data.dcp", "0ab314e014b5e9d45411fee436d98dfd", 1921736252), Common::FA_IRN, ADGF_UNSTABLE | GF_3D, WME_1_9_1),
+
 	// Murder In Tehran's Alleys 1933 (Steam, June 2017) (English)
 	WME_WINENTRY("tehran1933", "",
 		WME_ENTRY1s("data.dcp", "7d74999f8a926bce367b2f851a06bc1c", 890506879), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_9_3),


Commit: d4d42ad8fe1920f661c3cbd483f820b2c6b5ba47
    https://github.com/scummvm/scummvm/commit/d4d42ad8fe1920f661c3cbd483f820b2c6b5ba47
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
WINTERMUTE: Display BiDi strings if _textRTL is set

Changed paths:
    engines/wintermute/base/font/base_font_truetype.cpp


diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp
index a5a5c10155..eca3bfc3dc 100644
--- a/engines/wintermute/base/font/base_font_truetype.cpp
+++ b/engines/wintermute/base/font/base_font_truetype.cpp
@@ -38,6 +38,7 @@
 #include "engines/wintermute/wintermute.h"
 #include "graphics/fonts/ttf.h"
 #include "graphics/fontman.h"
+#include "common/unicode-bidi.h"
 #include "common/unzip.h"
 
 namespace Wintermute {
@@ -276,7 +277,11 @@ BaseSurface *BaseFontTT::renderTextToTexture(const WideString &text, int width,
 	Common::Array<WideString>::iterator it;
 	int heightOffset = 0;
 	for (it = lines.begin(); it != lines.end(); ++it) {
-		_font->drawString(surface, *it, 0, heightOffset, width, useColor, alignment);
+		if (_gameRef->_textRTL) {
+			_font->drawString(surface, Common::convertBiDiU32String(*it), 0, heightOffset, width, useColor, alignment);
+		} else {
+			_font->drawString(surface, *it, 0, heightOffset, width, useColor, alignment);
+		}
 		heightOffset += (int)_lineHeight;
 	}
 


Commit: 40de9fd9292c3087ec025a2cf857898baa5907b5
    https://github.com/scummvm/scummvm/commit/40de9fd9292c3087ec025a2cf857898baa5907b5
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
WINTERMUTE: Fix 2d sprites placement in 3d render

Changed paths:
    engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp


diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
index 89639d9723..acde945419 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
@@ -668,20 +668,20 @@ bool BaseRenderOpenGL3D::drawSpriteEx(BaseSurfaceOpenGL3D &tex, const Wintermute
 	vertices[3].v = texBottom;
 
 	// position coords
-	vertices[0].x = pos.x - 0.5f;
-	vertices[0].y = correctedYPos - 0.5f;
+	vertices[0].x = pos.x;
+	vertices[0].y = correctedYPos;
 	vertices[0].z = -0.9f;
 
-	vertices[1].x = pos.x - 0.5f;
-	vertices[1].y = correctedYPos - height - 0.5f;
+	vertices[1].x = pos.x;
+	vertices[1].y = correctedYPos - height;
 	vertices[1].z = -0.9f;
 
-	vertices[2].x = pos.x + width - 0.5f;
-	vertices[2].y = correctedYPos - 0.5f;
+	vertices[2].x = pos.x + width;
+	vertices[2].y = correctedYPos;
 	vertices[2].z = -0.9f;
 
-	vertices[3].x = pos.x + width - 0.5f;
-	vertices[3].y = correctedYPos - height - 0.5;
+	vertices[3].x = pos.x + width;
+	vertices[3].y = correctedYPos - height;
 	vertices[3].z = -0.9f;
 
 	// not exactly sure about the color format, but this seems to work


Commit: 8d33ae2a954891ee3827470b374af76f5961bd93
    https://github.com/scummvm/scummvm/commit/8d33ae2a954891ee3827470b374af76f5961bd93
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-13T00:25:53+03:00

Commit Message:
WINTERMUTE: Support games with unpacked packages

Changed paths:
    engines/wintermute/base/file/base_disk_file.cpp
    engines/wintermute/wintermute.cpp


diff --git a/engines/wintermute/base/file/base_disk_file.cpp b/engines/wintermute/base/file/base_disk_file.cpp
index 7735672955..df5096e2fb 100644
--- a/engines/wintermute/base/file/base_disk_file.cpp
+++ b/engines/wintermute/base/file/base_disk_file.cpp
@@ -61,8 +61,10 @@ static Common::FSNode getNodeForRelativePath(const Common::String &filename) {
 	}
 
 	// Relative path:
-	if (filename.contains('/')) {
-		Common::StringTokenizer path(filename, "/");
+	Common::String fixedFilename = filename;
+	correctSlashes(fixedFilename);
+	if (fixedFilename.contains('/')) {
+		Common::StringTokenizer path(fixedFilename, "/");
 
 		// Start traversing relative to the game-data-dir
 		const Common::FSNode gameDataDir(ConfMan.get("path"));
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index dc106d229c..4b0d1fc0a5 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -215,7 +215,8 @@ int WintermuteEngine::init() {
 
 	#ifdef ENABLE_WME3D
 	Common::ArchiveMemberList actors3d;
-	_game->_playing3DGame = BaseEngine::instance().getFileManager()->listMatchingPackageMembers(actors3d, "*.act3d");
+	_game->_playing3DGame = instance.getFlags() & GF_3D;
+	_game->_playing3DGame |= BaseEngine::instance().getFileManager()->listMatchingPackageMembers(actors3d, "*.act3d");
 	#endif
 	instance.setGameRef(_game);
 	BasePlatform::initialize(this, _game, 0, nullptr);




More information about the Scummvm-git-logs mailing list