[Scummvm-git-logs] scummvm master -> ab53345dc8d3cce2374e6d1835294b1e516cf58e

lolbot-iichan lolbot_iichan at mail.ru
Thu Jul 9 22:43:01 UTC 2020


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:
ab53345dc8 WINTERMUTE: Update keymap and detection tables (#2363)


Commit: ab53345dc8d3cce2374e6d1835294b1e516cf58e
    https://github.com/scummvm/scummvm/commit/ab53345dc8d3cce2374e6d1835294b1e516cf58e
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2020-07-10T01:42:57+03:00

Commit Message:
WINTERMUTE: Update keymap and detection tables (#2363)

* WINTERMUTE: Add Sunrise demo tables

* WINTERMUTE: Add Strange Change tables

* WINTERMUTE: Update Conspiracao Dumont tables

* WINTERMUTE: Update War tables

* WINTERMUTE: Update Zilm tables

* WINTERMUTE: Update Qajary Cat tables

* WINTERMUTE: Update Life in 3 minutes tables

* WINTERMUTE: Use gameKeyMap where needed

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 901a678ed1..5888b84a5e 100644
--- a/engines/wintermute/base/base_engine.h
+++ b/engines/wintermute/base/base_engine.h
@@ -66,6 +66,7 @@ enum WMETargetExecutable {
 	WME_1_7_1,  // DEAD:CODE 2007
 	WME_1_7_2,  // DEAD:CODE 2007
 	WME_1_7_3,  // DEAD:CODE 2007
+	WME_1_7_93, // DEAD:CODE 2007
 	WME_1_7_94, // DEAD:CODE 2007
 	WME_1_8_0,  // DEAD:CODE 2007
 	WME_1_8_1,  // DEAD:CODE 2007
diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index f5d9937482..4b9ba0e5ac 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -130,6 +130,8 @@ static const PlainGameDescriptor wintermuteGames[] = {
 	{"sofiasdebt",      "Sofia's Debt"},
 	{"sotv1",           "Shadows on the Vatican - Act I: Greed"},
 	{"sotv2",           "Shadows on the Vatican - Act II: Wrath"},
+	{"strangechange",   "Strange Change"},
+	{"sunrise",         "Sunrise: The game"},
 	{"tanya1",          "Tanya Grotter and the Magical Double Bass"},
 	{"tanya2",          "Tanya Grotter and the Disappearing Floor"},
 	{"tehran1933",      "Murder In Tehran's Alleys 1933"},
@@ -591,7 +593,7 @@ static const WMEGameDescription gameDescriptions[] = {
 
 	// Conspiracao Dumont (Demo)
 	WME_WINENTRY("conspiracao", "Demo",
-		WME_ENTRY1s("ConspiracaoDumont.exe", "106f3f2c8f18bb5ffffeed634ace256c", 32908032), Common::EN_ANY, ADGF_UNSTABLE | ADGF_DEMO, LATEST_VERSION),
+		WME_ENTRY1s("ConspiracaoDumont.exe", "106f3f2c8f18bb5ffffeed634ace256c", 32908032), Common::EN_ANY, ADGF_UNSTABLE | ADGF_DEMO, WME_1_7_0),
 
 	// Corrosion: Cold Winter Waiting
 	WME_WINENTRY("corrosion", "",
@@ -1404,7 +1406,7 @@ static const WMEGameDescription gameDescriptions[] = {
 
 	// Life In 3 Minutes
 	WME_WINENTRY("lifein3minutes", "",
-		WME_ENTRY1s("data.dcp", "c6368950e37a95bf098b02b4eaa5b929", 141787214), Common::EN_ANY, ADGF_UNSTABLE, LATEST_VERSION),
+		WME_ENTRY1s("data.dcp", "c6368950e37a95bf098b02b4eaa5b929", 141787214), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
 
 	// Looky Demo (English)
 	WME_WINENTRY("looky", "Demo",
@@ -4865,6 +4867,16 @@ static const WMEGameDescription gameDescriptions[] = {
 		WME_ENTRY2s("data.dcp", "5c88a51d010ad24225dee432ed38b238", 25987377,
 					"lang-german.dcp", "78d06de2b4a8c68517eb6df3ded86d82", 1524330), Common::DE_DEU, ADGF_UNSTABLE, WME_1_9_1),
 
+	// Strange Change
+	// NOTE: This is a 2.5D game that is out of ScummVM scope
+	WME_WINENTRY("strangechange", "",
+		WME_ENTRY1s("data.dcp", "818e53c1584dac28f336195d7dcfb97d", 3762512), Common::EN_ANY, ADGF_UNSTABLE | GF_3D, WME_1_8_6),
+
+	// Sunrise: The game (Demo) (German)
+	// NOTE: This is a 2.5D game that is out of ScummVM scope
+	WME_WINENTRY("sunrise", "",
+		WME_ENTRY1s("data.dcp", "3bac4da87472d2e7676e9548970d521a", 52095549), Common::DE_DEU, ADGF_UNSTABLE | GF_3D, WME_1_7_93),
+
 	// Tanya Grotter and the Magical Double Bass
 	WME_WINENTRY("tanya1", "",
 		WME_ENTRY1s("data.dcp", "035bbdaff078cc4053ecf4b518c0d0fd", 1007507786), Common::RU_RUS, ADGF_UNSTABLE, WME_1_8_0),
@@ -5000,7 +5012,7 @@ static const WMEGameDescription gameDescriptions[] = {
 
 	// War
 	WME_WINENTRY("war", "",
-		WME_ENTRY1s("data.dcp", "003e317cda6d0137bbd5e5d7f089ee4d", 32591890), Common::EN_ANY, ADGF_UNSTABLE, LATEST_VERSION),
+		WME_ENTRY1s("data.dcp", "003e317cda6d0137bbd5e5d7f089ee4d", 32591890), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
 
 	// Wintermute Engine Technology Demo (1.2)
 	WME_WINENTRY("wmedemo", "1.2",
@@ -5025,11 +5037,11 @@ static const WMEGameDescription gameDescriptions[] = {
 
 	// Zilm: A Game of Reflex
 	WME_WINENTRY("zilm", "",
-		WME_ENTRY1s("data.dcp", "81cece0c8105b4725fc35064a32b4b52", 351726), Common::EN_ANY, ADGF_UNSTABLE, LATEST_VERSION),
+		WME_ENTRY1s("data.dcp", "81cece0c8105b4725fc35064a32b4b52", 351726), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_3),
 
 	// Zilm: A Game of Reflex 1.0
 	WME_WINENTRY("zilm", "1.0",
-		WME_ENTRY1s("data.dcp", "098dffaf03d8adbb4cb5633e4733e63c", 351726), Common::EN_ANY, ADGF_UNSTABLE, LATEST_VERSION),
+		WME_ENTRY1s("data.dcp", "098dffaf03d8adbb4cb5633e4733e63c", 351726), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_3),
 
 	// Zbang! The Game (Demo)
 	// NOTE: This is a 2.5D game that is out of ScummVM scope
diff --git a/engines/wintermute/keymapper_tables.h b/engines/wintermute/keymapper_tables.h
index 118ad738ad..f65030661f 100644
--- a/engines/wintermute/keymapper_tables.h
+++ b/engines/wintermute/keymapper_tables.h
@@ -76,6 +76,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		gameId == "carolreed7" ||
 		gameId == "carolreed8" ||
 		gameId == "colorsoncanvas" ||
+		gameId == "conspiracao" ||
 		gameId == "corrosion" ||
 		gameId == "deadcity" ||
 		gameId == "darkfallls" ||
@@ -101,12 +102,14 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		gameId == "sofiasdebt" ||
 		gameId == "spaceinvaders" ||
 		gameId == "spacemadness" ||
+		gameId == "strangechange" ||
 		gameId == "tanya1" ||
 		gameId == "tanya2" ||
 		gameId == "theancientmark1" ||
 		gameId == "thebox" ||
 		gameId == "thekite" ||
 		gameId == "tradestory" ||
+		gameId == "war" ||
 		gameId == "wmedemo"
 	) {
 		/* no game-specific keymap */
@@ -223,6 +226,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		gameId == "carolreed11" ||
 		gameId == "carolreed12" ||
 		gameId == "kulivocko" ||
+		gameId == "sunrise" ||
 		gameId == "rebeccacarlson1"
 	) {
 		act = new Action("HINT", _("Show hints"));
@@ -246,7 +250,56 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->setMiddleClickEvent();
 		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
 		act->addDefaultInputMapping("JOY_Y"); // extra joy
-		engineKeyMap->addAction(act);
+		gameKeyMap->addAction(act);
+	} else if (gameId == "qajarycat") {
+		act = new Action("HINT", _("Show hints"));
+		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
+		act->addDefaultInputMapping("SPACE"); // original keyboard
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // extra mouse
+		act->addDefaultInputMapping("JOY_Y"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("GUIA", _("GUI variant A"));
+		act->setKeyEvent(KEYCODE_F10);
+		act->addDefaultInputMapping("F10"); // original keyboard
+		act->addDefaultInputMapping("MOUSE_WHEEL_UP"); // extra mouse
+		act->addDefaultInputMapping("JOY_LEFT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("GUIB", _("GUI variant B"));
+		act->setKeyEvent(KEYCODE_F11);
+		act->addDefaultInputMapping("F11"); // original keyboard
+		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN"); // extra mouse
+		act->addDefaultInputMapping("JOY_RIGHT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONEX", _("Phone cancel button"));
+		act->setKeyEvent(KeyState(KEYCODE_BACKSPACE, ASCII_BACKSPACE));
+		act->addDefaultInputMapping("BACKSPACE"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONEU", _("Phone up button"));
+		act->setKeyEvent(KEYCODE_UP);
+		act->addDefaultInputMapping("UP"); // original keyboard
+		act->addDefaultInputMapping("JOY_UP"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONED", _("Phone down button"));
+		act->setKeyEvent(KEYCODE_DOWN);
+		act->addDefaultInputMapping("DOWN"); // original keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("MCLK", _("Middle Click"));
+		act->setMiddleClickEvent();
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
+		gameKeyMap->addAction(act);
+
+		act = new Action("WTF", _("???"));
+		act->setKeyEvent(KEYCODE_HOME);
+		act->addDefaultInputMapping("HOME"); // original keyboard
+		//TODO: extra joy control, e.g. "JOY_R+JOY_B"
+		gameKeyMap->addAction(act);
 	} else if (gameId == "alimardan1") {
 		act = new Action("HINT", _("Show hints"));
 		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
@@ -1420,6 +1473,51 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->addDefaultInputMapping("MOUSE_MIDDLE"); // extra mouse
 		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
 		gameKeyMap->addAction(act);
+	} else if (gameId == "zilm") {
+		act = new Action("P1UP", _("Player 1: Up"));
+		act->setKeyEvent(KeyState(KEYCODE_w, 'w'));
+		act->addDefaultInputMapping("w"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P1LT", _("Player 1: Left"));
+		act->setKeyEvent(KeyState(KEYCODE_a, 'a'));
+		act->addDefaultInputMapping("a"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P1DN", _("Player 1: Down"));
+		act->setKeyEvent(KeyState(KEYCODE_s, 's'));
+		act->addDefaultInputMapping("s"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P1RT", _("Player 1: Right"));
+		act->setKeyEvent(KeyState(KEYCODE_d, 'd'));
+		act->addDefaultInputMapping("d"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P2UP", _("Player 2: Up"));
+		act->setKeyEvent(KEYCODE_UP);
+		act->addDefaultInputMapping("UP"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P2LT", _("Player 2: Left"));
+		act->setKeyEvent(KEYCODE_LEFT);
+		act->addDefaultInputMapping("LEFT"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P2DN", _("Player 2: Down"));
+		act->setKeyEvent(KEYCODE_DOWN);
+		act->addDefaultInputMapping("DOWN"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("P2RT", _("Player 2: Right"));
+		act->setKeyEvent(KEYCODE_RIGHT);
+		act->addDefaultInputMapping("RIGHT"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("DBGFPS", _("Debug FPS"));
+		act->setKeyEvent(KEYCODE_F2);
+		act->addDefaultInputMapping("F2"); // original keyboard
+		gameKeyMap->addAction(act);
 	} else if (gameId == "zbang") {
 		act = new Action("ACTNXT", _("Next action"));
 		act->setMouseWheelUpEvent();
@@ -1501,7 +1599,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act = new Action("MCLK", _("Middle Click"));
 		act->setMiddleClickEvent();
 		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
-		engineKeyMap->addAction(act);
+		gameKeyMap->addAction(act);
 
 		act = new Action("SCRLUP", _("Scroll up"));
 		act->setMouseWheelUpEvent();




More information about the Scummvm-git-logs mailing list