[Scummvm-git-logs] scummvm master -> c6705ae47bef2323d86f3660b5d984a246dad9d0
bluegr
bluegr at gmail.com
Tue Apr 6 08:15:45 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ef0048fa77 COMMON: Add standard actions for mouse button clicks
c6705ae47b PARALLACTION: Add keymapper support
Commit: ef0048fa77562a4b0d7193d29346b5b268272739
https://github.com/scummvm/scummvm/commit/ef0048fa77562a4b0d7193d29346b5b268272739
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2021-04-06T11:15:42+03:00
Commit Message:
COMMON: Add standard actions for mouse button clicks
Changed paths:
backends/keymapper/standard-actions.cpp
backends/keymapper/standard-actions.h
backends/platform/maemo/maemo.cpp
engines/dragons/metaengine.cpp
engines/hdb/metaengine.cpp
engines/kyra/engine/eobcommon.cpp
engines/kyra/engine/lol.cpp
engines/metaengine.cpp
engines/nancy/input.cpp
engines/sky/metaengine.cpp
engines/ultima/ultima4/meta_engine.cpp
engines/ultima/ultima8/meta_engine.cpp
engines/wintermute/keymapper_tables.h
engines/zvision/metaengine.cpp
diff --git a/backends/keymapper/standard-actions.cpp b/backends/keymapper/standard-actions.cpp
index a0ed94eee5..9bb13eed91 100644
--- a/backends/keymapper/standard-actions.cpp
+++ b/backends/keymapper/standard-actions.cpp
@@ -24,6 +24,9 @@
namespace Common {
+const char *kStandardActionLeftClick = "LCLK";
+const char *kStandardActionMiddleClick = "MCLK";
+const char *kStandardActionRightClick = "RCLK";
const char *kStandardActionInteract = "INTRCT";
const char *kStandardActionSkip = "SKIP";
const char *kStandardActionPause = "PAUSE";
diff --git a/backends/keymapper/standard-actions.h b/backends/keymapper/standard-actions.h
index dc2a58862a..8b5b5f1205 100644
--- a/backends/keymapper/standard-actions.h
+++ b/backends/keymapper/standard-actions.h
@@ -23,6 +23,8 @@
#ifndef BACKENDS_KEYMAPPER_STANDARD_ACTIONS_H
#define BACKENDS_KEYMAPPER_STANDARD_ACTIONS_H
+#include "common/scummsys.h"
+
/**
* @file
* @brief A set of well known keymapper actions.
@@ -36,6 +38,9 @@
namespace Common {
+extern const char *kStandardActionLeftClick;
+extern const char *kStandardActionMiddleClick;
+extern const char *kStandardActionRightClick;
extern const char *kStandardActionInteract;
extern const char *kStandardActionSkip;
extern const char *kStandardActionPause;
diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp
index 5b11ee735f..031d5ca4d4 100644
--- a/backends/platform/maemo/maemo.cpp
+++ b/backends/platform/maemo/maemo.cpp
@@ -159,15 +159,15 @@ Common::KeymapArray OSystem_SDL_Maemo::getGlobalKeymaps() {
act->setCustomBackendActionEvent(Maemo::kEventClickMode);
globalMap->addAction(act);
- act = new Action("LCLK", _("Left Click"));
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
act->setLeftClickEvent();
globalMap->addAction(act);
- act = new Action("MCLK", _("Middle Click"));
+ act = new Action(kStandardActionMiddleClick, _("Middle Click"));
act->setMiddleClickEvent();
globalMap->addAction(act);
- act = new Action("RCLK", _("Right Click"));
+ act = new Action(kStandardActionRightClick, _("Right Click"));
act->setRightClickEvent();
globalMap->addAction(act);
@@ -202,7 +202,7 @@ Common::KeymapperDefaultBindings *OSystem_SDL_Maemo::getKeymapperDefaultBindings
keymapperDefaultBindings->setDefaultBinding("gui", "CLOS", "ESCAPE");
- keymapperDefaultBindings->setDefaultBinding("maemo", "RCLK", "ZOOMPLUS");
+ keymapperDefaultBindings->setDefaultBinding("maemo", kStandardActionRightClick, "ZOOMPLUS");
keymapperDefaultBindings->setDefaultBinding("maemo", "CLKM", "ZOOMMINUS");
return keymapperDefaultBindings;
diff --git a/engines/dragons/metaengine.cpp b/engines/dragons/metaengine.cpp
index 0ee2ca9016..d841644a09 100644
--- a/engines/dragons/metaengine.cpp
+++ b/engines/dragons/metaengine.cpp
@@ -137,7 +137,7 @@ Common::KeymapArray DragonsMetaEngine::initKeymaps(const char *target) const {
Action *act;
- act = new Action("LCLK", _("Action"));
+ act = new Action(kStandardActionLeftClick, _("Action"));
act->setCustomEngineActionEvent(Dragons::kDragonsActionSelect);
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
diff --git a/engines/hdb/metaengine.cpp b/engines/hdb/metaengine.cpp
index b50513a95b..4f05083506 100644
--- a/engines/hdb/metaengine.cpp
+++ b/engines/hdb/metaengine.cpp
@@ -184,7 +184,7 @@ Common::KeymapArray HDBMetaEngine::initKeymaps(const char *target) const {
Action *act;
- act = new Action("LCLK", _("Left Click"));
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 0e7a835213..79300979a5 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -38,6 +38,7 @@
#include "backends/keymapper/action.h"
#include "backends/keymapper/keymapper.h"
+#include "backends/keymapper/standard-actions.h"
namespace Kyra {
@@ -364,8 +365,8 @@ EoBCoreEngine::~EoBCoreEngine() {
Common::KeymapArray EoBCoreEngine::initKeymaps(const Common::String &gameId) {
Common::Keymap *const keyMap = new Common::Keymap(Common::Keymap::kKeymapTypeGame, kKeymapName, "Eye of the Beholder");
- addKeymapAction(keyMap, "LCLK", _("Interact via Left Click"), &Common::Action::setLeftClickEvent, "MOUSE_LEFT", "JOY_A");
- addKeymapAction(keyMap, "RCLK", _("Interact via Right Click"), &Common::Action::setRightClickEvent, "MOUSE_RIGHT", "JOY_B");
+ addKeymapAction(keyMap, Common::kStandardActionLeftClick, _("Interact via Left Click"), &Common::Action::setLeftClickEvent, "MOUSE_LEFT", "JOY_A");
+ addKeymapAction(keyMap, Common::kStandardActionRightClick, _("Interact via Right Click"), &Common::Action::setRightClickEvent, "MOUSE_RIGHT", "JOY_B");
addKeymapAction(keyMap, "MVF", _("Move Forward"), Common::KeyState(Common::KEYCODE_UP), "UP", "JOY_UP");
addKeymapAction(keyMap, "MVB", _("Move Back"), Common::KeyState(Common::KEYCODE_DOWN), "DOWN", "JOY_DOWN");
addKeymapAction(keyMap, "MVL", _("Move Left"), Common::KeyState(Common::KEYCODE_LEFT), "LEFT", "JOY_LEFT_TRIGGER");
diff --git a/engines/kyra/engine/lol.cpp b/engines/kyra/engine/lol.cpp
index 5e96c8368e..5062fc40d4 100644
--- a/engines/kyra/engine/lol.cpp
+++ b/engines/kyra/engine/lol.cpp
@@ -38,6 +38,7 @@
#include "backends/keymapper/action.h"
#include "backends/keymapper/keymapper.h"
+#include "backends/keymapper/standard-actions.h"
namespace Kyra {
@@ -466,8 +467,8 @@ Common::Error LoLEngine::init() {
Common::KeymapArray LoLEngine::initKeymaps() {
Common::Keymap *keyMap = new Common::Keymap(Common::Keymap::kKeymapTypeGame, kKeymapName, "Lands of Lore");
- addKeymapAction(keyMap, "LCLK", _("Interact via Left Click"), &Common::Action::setLeftClickEvent, "MOUSE_LEFT", "JOY_A");
- addKeymapAction(keyMap, "RCLK", _("Interact via Right Click"), &Common::Action::setRightClickEvent, "MOUSE_RIGHT", "JOY_B");
+ addKeymapAction(keyMap, Common::kStandardActionLeftClick, _("Interact via Left Click"), &Common::Action::setLeftClickEvent, "MOUSE_LEFT", "JOY_A");
+ addKeymapAction(keyMap, Common::kStandardActionRightClick, _("Interact via Right Click"), &Common::Action::setRightClickEvent, "MOUSE_RIGHT", "JOY_B");
addKeymapAction(keyMap, "AT1", _("Attack 1"), Common::KeyState(Common::KEYCODE_F1, Common::ASCII_F1), "F1", "JOY_X");
addKeymapAction(keyMap, "AT2", _("Attack 2"), Common::KeyState(Common::KEYCODE_F2, Common::ASCII_F2), "F2", "JOY_Y");
addKeymapAction(keyMap, "AT3", _("Attack 3"), Common::KeyState(Common::KEYCODE_F3, Common::ASCII_F3), "F3", "JOY_LEFT_SHOULDER");
diff --git a/engines/metaengine.cpp b/engines/metaengine.cpp
index f7e7d96927..47a383e33d 100644
--- a/engines/metaengine.cpp
+++ b/engines/metaengine.cpp
@@ -56,18 +56,18 @@ Common::KeymapArray MetaEngine::initKeymaps(const char *target) const {
Action *act;
- act = new Action("LCLK", _("Left Click"));
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
engineKeyMap->addAction(act);
- act = new Action("MCLK", _("Middle Click"));
+ act = new Action(kStandardActionMiddleClick, _("Middle Click"));
act->addDefaultInputMapping("MOUSE_MIDDLE");
act->setMiddleClickEvent();
engineKeyMap->addAction(act);
- act = new Action("RCLK", _("Right Click"));
+ act = new Action(kStandardActionRightClick, _("Right Click"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT");
act->addDefaultInputMapping("JOY_B");
diff --git a/engines/nancy/input.cpp b/engines/nancy/input.cpp
index bba54a3dcd..f103c9e455 100644
--- a/engines/nancy/input.cpp
+++ b/engines/nancy/input.cpp
@@ -163,14 +163,14 @@ void InputManager::initKeymaps(Common::KeymapArray &keymaps) {
Keymap *debugKeymap = new Keymap(Keymap::kKeymapTypeGame, "nancy-debug", "Nancy Drew - Debug/Cheat Shortcuts");
Action *act;
- act = new Action(kStandardActionInteract, _("Left Click Interact"));
+ act = new Action(kStandardActionLeftClick, _("Left Click Interact"));
act->setLeftClickEvent();
act->setCustomEngineActionEvent(kNancyActionLeftClick);
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
mainKeymap->addAction(act);
- act = new Action("RCLK", _("Right Click Interact"));
+ act = new Action(kStandardActionRightClick, _("Right Click Interact"));
act->setRightClickEvent();
act->setCustomEngineActionEvent(kNancyActionRightClick);
act->addDefaultInputMapping("MOUSE_RIGHT");
diff --git a/engines/sky/metaengine.cpp b/engines/sky/metaengine.cpp
index c1ba427048..85326ad453 100644
--- a/engines/sky/metaengine.cpp
+++ b/engines/sky/metaengine.cpp
@@ -73,13 +73,13 @@ Common::KeymapArray SkyMetaEngine::initKeymaps(const char *target) const {
Action *act;
- act = new Action("LCLK", _("Walk / Look / Talk"));
+ act = new Action(kStandardActionLeftClick, _("Walk / Look / Talk"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
mainKeymap->addAction(act);
- act = new Action("RCLK", _("Use"));
+ act = new Action(kStandardActionRightClick, _("Use"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT");
act->addDefaultInputMapping("JOY_B");
diff --git a/engines/ultima/ultima4/meta_engine.cpp b/engines/ultima/ultima4/meta_engine.cpp
index c7ca1afe73..6c7660772c 100644
--- a/engines/ultima/ultima4/meta_engine.cpp
+++ b/engines/ultima/ultima4/meta_engine.cpp
@@ -25,6 +25,7 @@
#include "ultima/ultima4/ultima4.h"
#include "common/translation.h"
#include "backends/keymapper/action.h"
+#include "backends/keymapper/standard-actions.h"
namespace Ultima {
namespace Ultima4 {
@@ -221,13 +222,13 @@ Common::KeymapArray MetaEngine::initKeymaps(KeybindingMode mode) {
void MetaEngine::addMouseClickActions(Common::Keymap &keyMap) {
Common::Action *act;
- act = new Common::Action("LCLK", _("Interact via Left Click"));
+ act = new Common::Action(Common::kStandardActionLeftClick, _("Interact via Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
keyMap.addAction(act);
- act = new Common::Action("RCLK", _("Interact via Right Click"));
+ act = new Common::Action(Common::kStandardActionRightClick, _("Interact via Right Click"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT");
act->addDefaultInputMapping("JOY_B");
diff --git a/engines/ultima/ultima8/meta_engine.cpp b/engines/ultima/ultima8/meta_engine.cpp
index 3e1fe4ce3b..a364bb307c 100644
--- a/engines/ultima/ultima8/meta_engine.cpp
+++ b/engines/ultima/ultima8/meta_engine.cpp
@@ -25,6 +25,7 @@
#include "ultima/ultima8/ultima8.h"
#include "common/translation.h"
#include "backends/keymapper/action.h"
+#include "backends/keymapper/standard-actions.h"
namespace Ultima {
namespace Ultima8 {
@@ -192,13 +193,13 @@ Common::KeymapArray MetaEngine::initKeymaps(const Common::String &gameId, bool i
Common::Action *act;
- act = new Common::Action("LCLK", _("Interact via Left Click"));
+ act = new Common::Action(Common::kStandardActionLeftClick, _("Interact via Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
keyMap->addAction(act);
- act = new Common::Action("RCLK", _("Interact via Right Click"));
+ act = new Common::Action(Common::kStandardActionRightClick, _("Interact via Right Click"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT");
act->addDefaultInputMapping("JOY_B");
diff --git a/engines/wintermute/keymapper_tables.h b/engines/wintermute/keymapper_tables.h
index 8ae95be730..62141001f0 100644
--- a/engines/wintermute/keymapper_tables.h
+++ b/engines/wintermute/keymapper_tables.h
@@ -40,13 +40,13 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
Action *act;
- act = new Action("LCLK", _("Left Click"));
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT"); // original mouse
act->addDefaultInputMapping("JOY_A"); // extra joy
engineKeyMap->addAction(act);
- act = new Action("RCLK", _("Right Click"));
+ act = new Action(kStandardActionRightClick, _("Right Click"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT"); // original mouse
act->addDefaultInputMapping("JOY_B"); // extra joy
@@ -246,7 +246,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
act->addDefaultInputMapping("JOY_Y"); // extra joy
gameKeyMap->addAction(act);
} else if (gameId == "bookofgron") {
- act = new Action("MCLK", _("Middle Click"));
+ act = new Action(kStandardActionMiddleClick, _("Middle Click"));
act->setMiddleClickEvent();
act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
act->addDefaultInputMapping("JOY_Y"); // extra joy
@@ -290,7 +290,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
act->addDefaultInputMapping("JOY_DOWN"); // extra joy
gameKeyMap->addAction(act);
- act = new Action("MCLK", _("Middle Click"));
+ act = new Action(kStandardActionMiddleClick, _("Middle Click"));
act->setMiddleClickEvent();
act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
gameKeyMap->addAction(act);
@@ -1713,7 +1713,7 @@ inline Common::KeymapArray getWintermuteKeymaps(const char *target, const Common
act->addDefaultInputMapping("JOY_DOWN"); // extra joy
gameKeyMap->addAction(act);
- act = new Action("MCLK", _("Middle Click"));
+ act = new Action(kStandardActionMiddleClick, _("Middle Click"));
act->setMiddleClickEvent();
act->addDefaultInputMapping("MOUSE_MIDDLE"); // original mouse
gameKeyMap->addAction(act);
diff --git a/engines/zvision/metaengine.cpp b/engines/zvision/metaengine.cpp
index bcdc9afa38..69e6370c65 100644
--- a/engines/zvision/metaengine.cpp
+++ b/engines/zvision/metaengine.cpp
@@ -112,13 +112,13 @@ Common::KeymapArray ZVisionMetaEngine::initKeymaps(const char *target) const {
Action *act;
- act = new Action("LCLK", _("Left Click"));
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
act->setLeftClickEvent();
act->addDefaultInputMapping("MOUSE_LEFT");
act->addDefaultInputMapping("JOY_A");
mainKeymap->addAction(act);
- act = new Action("RCLK", _("Right Click"));
+ act = new Action(kStandardActionRightClick, _("Right Click"));
act->setRightClickEvent();
act->addDefaultInputMapping("MOUSE_RIGHT");
act->addDefaultInputMapping("JOY_B");
Commit: c6705ae47bef2323d86f3660b5d984a246dad9d0
https://github.com/scummvm/scummvm/commit/c6705ae47bef2323d86f3660b5d984a246dad9d0
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2021-04-06T11:15:42+03:00
Commit Message:
PARALLACTION: Add keymapper support
Changed paths:
engines/parallaction/POTFILES
engines/parallaction/metaengine.cpp
diff --git a/engines/parallaction/POTFILES b/engines/parallaction/POTFILES
index f3b1c45afa..f27d04d9e5 100644
--- a/engines/parallaction/POTFILES
+++ b/engines/parallaction/POTFILES
@@ -1 +1,2 @@
+engines/parallaction/metaengine.cpp
engines/parallaction/saveload.cpp
diff --git a/engines/parallaction/metaengine.cpp b/engines/parallaction/metaengine.cpp
index 085e7409b1..acfd9f2ce6 100644
--- a/engines/parallaction/metaengine.cpp
+++ b/engines/parallaction/metaengine.cpp
@@ -26,6 +26,11 @@
#include "engines/advancedDetector.h"
#include "common/system.h"
#include "common/textconsole.h"
+#include "common/translation.h"
+
+#include "backends/keymapper/action.h"
+#include "backends/keymapper/keymap.h"
+#include "backends/keymapper/standard-actions.h"
#include "parallaction/parallaction.h"
#include "parallaction/detection.h"
@@ -45,8 +50,9 @@ public:
return "parallaction";
}
- bool hasFeature(MetaEngineFeature f) const override;
+ bool hasFeature(MetaEngineFeature f) const override;
Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+ Common::KeymapArray initKeymaps(const char *target) const override;
SaveStateList listSaves(const char *target) const override;
int getMaximumSaveSlot() const override;
@@ -81,6 +87,68 @@ Common::Error ParallactionMetaEngine::createInstance(OSystem *syst, Engine **eng
return Common::kNoError;
}
+Common::KeymapArray ParallactionMetaEngine::initKeymaps(const char *target) const {
+ using namespace Common;
+
+ Common::String gameId = ConfMan.get("gameid", target);
+ Keymap *engineKeymap;
+
+ if (gameId == "nippon")
+ engineKeymap = new Keymap(Keymap::kKeymapTypeGame, "parallaction", "Nippon Safes Inc.");
+ else if (gameId == "bra")
+ engineKeymap = new Keymap(Keymap::kKeymapTypeGame, "parallaction", "The Big Red Adventure");
+ else
+ return AdvancedMetaEngine::initKeymaps(target);
+
+ Action *act;
+
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
+ act->setLeftClickEvent();
+ act->addDefaultInputMapping("MOUSE_LEFT");
+ act->addDefaultInputMapping("JOY_A");
+ engineKeymap->addAction(act);
+
+ act = new Action(kStandardActionRightClick, _("Right Click"));
+ act->setRightClickEvent();
+ act->addDefaultInputMapping("MOUSE_RIGHT");
+ act->addDefaultInputMapping("JOY_B");
+ engineKeymap->addAction(act);
+
+ if (gameId == "nippon") {
+ act = new Action(kStandardActionLoad, _("Load"));
+ act->setKeyEvent(KeyState(KEYCODE_l, 'l'));
+ act->addDefaultInputMapping("l");
+ act->addDefaultInputMapping("JOY_LEFT_SHOULDER");
+ engineKeymap->addAction(act);
+
+ act = new Action(kStandardActionSave, _("Save"));
+ act->setKeyEvent(KeyState(KEYCODE_s, 's'));
+ act->addDefaultInputMapping("s");
+ act->addDefaultInputMapping("JOY_RIGHT_SHOULDER");
+ engineKeymap->addAction(act);
+ } else if (gameId == "bra") {
+ act = new Action(kStandardActionOpenMainMenu, _("Game menu"));
+ act->setKeyEvent(KeyState(KEYCODE_F5, ASCII_F5));
+ act->addDefaultInputMapping("F5");
+ act->addDefaultInputMapping("JOY_LEFT_SHOULDER");
+ engineKeymap->addAction(act);
+
+ act = new Action("YES", _("Yes"));
+ act->setKeyEvent(KeyState(KEYCODE_y, 'y'));
+ act->addDefaultInputMapping("y");
+ act->addDefaultInputMapping("JOY_Y");
+ engineKeymap->addAction(act);
+
+ act = new Action("NO", _("No"));
+ act->setKeyEvent(KeyState(KEYCODE_n, 'n'));
+ act->addDefaultInputMapping("n");
+ act->addDefaultInputMapping("JOY_X");
+ engineKeymap->addAction(act);
+ }
+
+ return Keymap::arrayOf(engineKeymap);
+}
+
SaveStateList ParallactionMetaEngine::listSaves(const char *target) const {
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
More information about the Scummvm-git-logs
mailing list