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

lolbot-iichan lolbot_iichan at mail.ru
Mon Jun 14 13:10:19 UTC 2021


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:
d540ea43ca WINTERMUTE: Check _frames size before accessing
d9cc3a7fd3 JANITORIAL: Removed unused header
75bce16a60 WINTERMUTE: Add deteciton and keymapper for Miskatonic
f792181304 WINTERMUTE: Add missing keymapper tables for ~10 games


Commit: d540ea43ca9e37103684cd80d58f031b17e84bf6
    https://github.com/scummvm/scummvm/commit/d540ea43ca9e37103684cd80d58f031b17e84bf6
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-14T16:10:14+03:00

Commit Message:
WINTERMUTE: Check _frames size before accessing

Changed paths:
    engines/wintermute/ad/ad_object.cpp


diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index a93bd42bd0..207d7ec301 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -860,7 +860,7 @@ bool AdObject::setFont(const char *filename) {
 
 //////////////////////////////////////////////////////////////////////////
 int32 AdObject::getHeight() {
-	if (!_currentSprite) {
+	if (!_currentSprite || _currentSprite->_frames.size() <= _currentSprite->_currentFrame) {
 		return 0;
 	} else {
 		BaseFrame *frame = _currentSprite->_frames[_currentSprite->_currentFrame];


Commit: d9cc3a7fd39fae495b43d8d95effad2f1ff402b5
    https://github.com/scummvm/scummvm/commit/d9cc3a7fd39fae495b43d8d95effad2f1ff402b5
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-14T16:10:14+03:00

Commit Message:
JANITORIAL: Removed unused header

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


diff --git a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
index f28e6e34a2..afb8ebd4d6 100644
--- a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
@@ -22,7 +22,6 @@
 
 #include "common/algorithm.h"
 #include "engines/wintermute/base/gfx/base_image.h"
-#include "graphics/transparent_surface.h"
 
 #if defined(USE_OPENGL_GAME) || defined(USE_OPENGL_SHADERS) || defined(USE_GLES2)
 


Commit: 75bce16a600d0f3af11025ea3e92a5647143cce1
    https://github.com/scummvm/scummvm/commit/75bce16a600d0f3af11025ea3e92a5647143cce1
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-14T16:10:14+03:00

Commit Message:
WINTERMUTE: Add deteciton and keymapper for Miskatonic

Changed paths:
    engines/wintermute/detection_tables.h
    engines/wintermute/keymapper_tables.h


diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index fd9ec416b0..920193e98c 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -101,6 +101,7 @@ static const PlainGameDescriptor wintermuteGames[] = {
 	{"machumayu",       "Machu Mayu"},
 	{"mentalrepairs",   "Mental Repairs Inc"},
 	{"mirage",          "Mirage"},
+	{"miskatonic1",     "Miskatonic. Part One"},
 	{"msos",            "Monday Starts on Saturday"},
 	{"mythguff",        "Myth: A Guff's Tale"},
 	{"nighttrain",      "Night Train"},
@@ -1633,6 +1634,10 @@ static const WMEGameDescription gameDescriptions[] = {
 	WME_WINENTRY("mirage", "",
 		WME_ENTRY1s("data.dcp", "d230b0b99c0aa77b9ecd094d8ee5573b", 17844056), Common::EN_ANY, ADGF_UNSTABLE, WME_1_8_11),
 
+	// Miskatonic. Part One
+	WME_WINENTRY("miskatonic1", "",
+		WME_ENTRY1s("Miskatonic.exe", "21d1ed0375f64c13688e2d082ed1aaa1", 340306712), Common::EN_ANY, ADGF_UNSTABLE, WME_1_9_1),
+
 	// Monday Starts on Saturday
 	WME_WINENTRY("msos", "",
 		WME_ENTRY1s("data.dcp", "2aa5ab924b05c9539a5a118bc263c2f8", 1049803074), Common::RU_RUS, ADGF_UNSTABLE, WME_1_9_1),
diff --git a/engines/wintermute/keymapper_tables.h b/engines/wintermute/keymapper_tables.h
index f7ecc828ed..941124f2f3 100644
--- a/engines/wintermute/keymapper_tables.h
+++ b/engines/wintermute/keymapper_tables.h
@@ -97,6 +97,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		gameId == "lonelyrobot" ||
 		gameId == "machumayu" ||
 		gameId == "mirage" ||
+		gameId == "miskatonic1" ||
 		gameId == "nighttrain" ||
 		gameId == "projectdoom" ||
 		gameId == "rosemary" ||


Commit: f792181304c19666e5d0a0ff39db96599a43b82a
    https://github.com/scummvm/scummvm/commit/f792181304c19666e5d0a0ff39db96599a43b82a
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-14T16:10:14+03:00

Commit Message:
WINTERMUTE: Add missing keymapper tables for ~10 games

Changed paths:
    engines/wintermute/keymapper_tables.h


diff --git a/engines/wintermute/keymapper_tables.h b/engines/wintermute/keymapper_tables.h
index 941124f2f3..838081c8f4 100644
--- a/engines/wintermute/keymapper_tables.h
+++ b/engines/wintermute/keymapper_tables.h
@@ -65,11 +65,11 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 	engineKeyMap->addAction(act);
 
 	Common::KeymapArray result = Keymap::arrayOf(engineKeyMap);
-
-	if (gameId == "actualdest" ||
+	if (gameId == "8squares" ||
+		gameId == "actualdest" ||
 		gameId == "artofmurder1" ||
-		gameId == "alavi" ||
 		gameId == "agustin" ||
+		gameId == "barrowhilldp" ||
 		gameId == "bickadoodle" ||
 		gameId == "bthreshold" ||
 		gameId == "carolreed6" ||
@@ -307,7 +307,191 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->addDefaultInputMapping("HOME"); // original keyboard
 		//TODO: extra joy control, e.g. "JOY_R+JOY_B"
 		gameKeyMap->addAction(act);
-	} else if (gameId == "alimardan1") {
+	} else if (gameId == "forgottensound1" ||
+		gameId == "forgottensound2"
+	) {
+		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(kStandardActionMoveLeft, _("Left"));
+		act->setKeyEvent(KEYCODE_LEFT);
+		act->addDefaultInputMapping("LEFT"); // original keyboard
+		act->addDefaultInputMapping("JOY_LEFT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionMoveRight, _("Right"));
+		act->setKeyEvent(KEYCODE_RIGHT);
+		act->addDefaultInputMapping("RIGHT"); // original keyboard
+		act->addDefaultInputMapping("JOY_RIGHT"); // 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_UP"); // 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_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionEE, _("???"));
+		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 == "tehran1933") {
+		act = new Action("HINT", _("Show hints"));
+		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
+		act->addDefaultInputMapping("SPACE"); // original keyboard
+		act->addDefaultInputMapping("JOY_Y"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("ALTUSE", _("Alt use item"));
+		act->setMiddleClickEvent();
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
+		act->addDefaultInputMapping("BACKSPACE"); // extra keyboard
+		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_UP"); // 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_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionEE, _("???"));
+		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 == "tehran2016") {
+		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("INV", _("Show inventory"));
+		act->setKeyEvent(KeyState(KEYCODE_i, 'i'));
+		act->addDefaultInputMapping("i"); // original keyboard
+		act->addDefaultInputMapping("JOY_LEFT"); // 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
+		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
+		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("PHONE0", _("Phone 0 button"));
+		act->setKeyEvent(KeyState(KEYCODE_0, '0'));
+		act->addDefaultInputMapping("0"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE1", _("Phone 1 button"));
+		act->setKeyEvent(KeyState(KEYCODE_1, '1'));
+		act->addDefaultInputMapping("1"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE2", _("Phone 2 button"));
+		act->setKeyEvent(KeyState(KEYCODE_2, '2'));
+		act->addDefaultInputMapping("2"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE3", _("Phone 3 button"));
+		act->setKeyEvent(KeyState(KEYCODE_3, '3'));
+		act->addDefaultInputMapping("3"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE4", _("Phone 4 button"));
+		act->setKeyEvent(KeyState(KEYCODE_4, '4'));
+		act->addDefaultInputMapping("4"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE5", _("Phone 5 button"));
+		act->setKeyEvent(KeyState(KEYCODE_5, '5'));
+		act->addDefaultInputMapping("5"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE6", _("Phone 6 button"));
+		act->setKeyEvent(KeyState(KEYCODE_6, '6'));
+		act->addDefaultInputMapping("6"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE7", _("Phone 7 button"));
+		act->setKeyEvent(KeyState(KEYCODE_7, '7'));
+		act->addDefaultInputMapping("7"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE8", _("Phone 8 button"));
+		act->setKeyEvent(KeyState(KEYCODE_8, '8'));
+		act->addDefaultInputMapping("8"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE9", _("Phone 9 button"));
+		act->setKeyEvent(KeyState(KEYCODE_9, '9'));
+		act->addDefaultInputMapping("9"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONEA", _("Phone * button"));
+		act->setKeyEvent(KeyState(KEYCODE_ASTERISK, '*'));
+		act->addDefaultInputMapping("ASTERISK"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONEH", _("Phone # button"));
+		act->setKeyEvent(KeyState(KEYCODE_HASH, '#'));
+		act->addDefaultInputMapping("HASH"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionEE, _("???"));
+		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" ||
+		gameId == "devilincapital"
+	) {
 		act = new Action("HINT", _("Show hints"));
 		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
 		act->addDefaultInputMapping("SPACE"); // original keyboard
@@ -438,6 +622,27 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->addDefaultInputMapping("HOME"); // original keyboard
 		//TODO: extra joy control, e.g. "JOY_R+JOY_B"
 		gameKeyMap->addAction(act);
+	} else if (gameId == "alavi") {
+		act = new Action("PAGEUP", _("Previous page"));
+		act->setKeyEvent(KEYCODE_PAGEUP);
+		act->addDefaultInputMapping("PAGEUP"); // original keyboard
+		act->addDefaultInputMapping("LEFT"); // original keyboard for 5ma & dirtysplit
+		act->addDefaultInputMapping("MOUSE_WHEEL_UP"); // extra mouse
+		act->addDefaultInputMapping("JOY_LEFT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("PAGEDN", _("Next page"));
+		act->setKeyEvent(KEYCODE_PAGEDOWN);
+		act->addDefaultInputMapping("PAGEDOWN"); // original keyboard
+		act->addDefaultInputMapping("RIGHT"); // original keyboard for 5ma & dirtysplit
+		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN"); // extra mouse
+		act->addDefaultInputMapping("JOY_RIGHT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("SCRS", _("Save screenshot"));
+		act->setKeyEvent(KEYCODE_F6);
+		act->addDefaultInputMapping("F6"); // original keyboard
+		gameKeyMap->addAction(act);
 	} else if (gameId == "alphapolaris") {
 		act = new Action("HINT", _("Show hints"));
 		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
@@ -1069,6 +1274,27 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->setKeyEvent(KEYCODE_F12);
 		act->addDefaultInputMapping("F12"); // original keyboard
 		gameKeyMap->addAction(act);
+	} else if (gameId == "lotl") {
+		act = new Action("SUBS", _("Toggle subtitles"));
+		act->setKeyEvent(KeyState(KEYCODE_t, 't'));
+		act->addDefaultInputMapping("t"); // original keyboard
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // extra mouse
+		act->addDefaultInputMapping("JOY_Y"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("SCRLUP", _("Scroll up"));
+		act->setMouseWheelUpEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_UP"); // original mouse
+		act->addDefaultInputMapping("PAGEUP"); // extra keyboard
+		act->addDefaultInputMapping("JOY_UP"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("SCRLDN", _("Scroll down"));
+		act->setMouseWheelDownEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN"); // original mouse
+		act->addDefaultInputMapping("PAGEDOWN"); // extra keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
 	} else if (gameId == "mentalrepairs") {
 		act = new Action("HINT", _("Show hints"));
 		act->setKeyEvent(KeyState(KEYCODE_SPACE, ASCII_SPACE));
@@ -1405,6 +1631,92 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act->addDefaultInputMapping("n"); // original keyboard
 		act->addDefaultInputMapping("JOY_RIGHT"); // extra joy
 		gameKeyMap->addAction(act);
+	} else if (gameId == "sotv1") {
+		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("MAP", _("Show map"));
+		act->setKeyEvent(KeyState(KEYCODE_m, 'm'));
+		act->addDefaultInputMapping("m"); // original keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("ACTNXT", _("Next action"));
+		act->setMouseWheelDownEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN"); // original mouse
+		act->addDefaultInputMapping("PAGEDOWN"); // extra keyboard
+		act->addDefaultInputMapping("JOY_LEFT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("ACTPRV", _("Previous action"));
+		act->setMouseWheelUpEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_UP"); // original mouse
+		act->addDefaultInputMapping("PAGEUP"); // extra keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionEE, _("???"));
+		act->setMiddleClickEvent();
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
+		//TODO: extra joy control, e.g. "JOY_R+JOY_B"
+		gameKeyMap->addAction(act);
+	} else if (gameId == "sotv2") {
+		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("MAP", _("Show map"));
+		act->setKeyEvent(KeyState(KEYCODE_m, 'm'));
+		act->addDefaultInputMapping("m"); // original keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("ACTNXT", _("Next action"));
+		act->setMouseWheelDownEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN"); // original mouse
+		act->addDefaultInputMapping("PAGEDOWN"); // extra keyboard
+		act->addDefaultInputMapping("JOY_LEFT"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("ACTPRV", _("Previous action"));
+		act->setMouseWheelUpEvent();
+		act->addDefaultInputMapping("MOUSE_WHEEL_UP"); // original mouse
+		act->addDefaultInputMapping("PAGEUP"); // extra keyboard
+		act->addDefaultInputMapping("JOY_DOWN"); // extra joy
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE1", _("Phone 1 button"));
+		act->setKeyEvent(KeyState(KEYCODE_1, '1'));
+		act->addDefaultInputMapping("1"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE2", _("Phone 2 button"));
+		act->setKeyEvent(KeyState(KEYCODE_2, '2'));
+		act->addDefaultInputMapping("2"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("PHONE3", _("Phone 3 button"));
+		act->setKeyEvent(KeyState(KEYCODE_3, '3'));
+		act->addDefaultInputMapping("3"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action("DBGTXT", _("Debug print"));
+		act->setKeyEvent(KEYCODE_F6);
+		act->addDefaultInputMapping("F6"); // original keyboard
+		gameKeyMap->addAction(act);
+
+		act = new Action(kStandardActionEE, _("???"));
+		act->setMiddleClickEvent();
+		act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
+		//TODO: extra joy control, e.g. "JOY_R+JOY_B"
+		gameKeyMap->addAction(act);
 	} else if (gameId == "tib") {
 		act = new Action("SCRS", _("Save screenshot"));
 		act->setKeyEvent(KEYCODE_F9);
@@ -1563,6 +1875,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
 		act = new Action(kStandardActionEE, _("???"));
 		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 == "wtetris") {
 		act = new Action("ROTATE", _("Rotate"));




More information about the Scummvm-git-logs mailing list