[Scummvm-git-logs] scummvm master -> 626c200d0314820ff922cd5891ec4e9f9e08e173
rsn8887
rsn8887 at users.noreply.github.com
Mon Mar 9 22:53:55 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:
626c200d03 KYRA: add mouse buttons and controller defaults to LOL and EOB
Commit: 626c200d0314820ff922cd5891ec4e9f9e08e173
https://github.com/scummvm/scummvm/commit/626c200d0314820ff922cd5891ec4e9f9e08e173
Author: rsn8887 (rsn8887 at users.noreply.github.com)
Date: 2020-03-09T17:53:51-05:00
Commit Message:
KYRA: add mouse buttons and controller defaults to LOL and EOB
Changed paths:
engines/kyra/engine/eobcommon.cpp
engines/kyra/engine/lol.cpp
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index e4d9f17bf3..556daf1749 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -343,36 +343,109 @@ EoBCoreEngine::~EoBCoreEngine() {
Common::KeymapArray EoBCoreEngine::initKeymaps(const Common::String &gameId) {
Common::Keymap *const engineKeyMap = new Common::Keymap(Common::Keymap::kKeymapTypeGame, kKeymapName, "Eye of the Beholder");
- const Common::KeyActionEntry keyActionEntries[] = {
- { "MVF", Common::KEYCODE_UP, "UP", _("Move Forward") },
- { "MVB", Common::KEYCODE_DOWN, "DOWN", _("Move Back") },
- { "MVL", Common::KEYCODE_LEFT, "LEFT", _("Move Left") },
- { "MVR", Common::KEYCODE_RIGHT, "RIGHT", _("Move Right") },
- { "TL", Common::KEYCODE_HOME, "HOME", _("Turn Left") },
- { "TR", Common::KEYCODE_PAGEUP, "PAGEUP", _("Turn Right") },
- { "INV", Common::KEYCODE_i, "i", _("Open/Close Inventory") },
- { "SCE", Common::KEYCODE_p, "p", _("Switch Inventory/Character screen") },
- { "CMP", Common::KEYCODE_c, "c", _("Camp") },
- { "CSP", Common::KEYCODE_SPACE, "SPACE", _("Cast Spell") },
- // TODO: Spell cursor, but this needs more thought, since different
- // game versions use different keycodes.
- { "SL1", Common::KEYCODE_1, "1", _("Spell Level 1") },
- { "SL2", Common::KEYCODE_2, "2", _("Spell Level 2") },
- { "SL3", Common::KEYCODE_3, "3", _("Spell Level 3") },
- { "SL4", Common::KEYCODE_4, "4", _("Spell Level 4") },
- { "SL5", Common::KEYCODE_5, "5", _("Spell Level 5") }
- };
-
- for (uint i = 0; i < ARRAYSIZE(keyActionEntries); ++i) {
- Common::Action *const act = new Common::Action(keyActionEntries[i].id, keyActionEntries[i].description);
- act->setKeyEvent(keyActionEntries[i].ks);
- act->addDefaultInputMapping(keyActionEntries[i].defaultHwId);
- engineKeyMap->addAction(act);
- }
+ Common::Action *act;
+
+ act = new Common::Action("LCLK", _("Interact via Left Click)"));
+ act->setLeftClickEvent();
+ act->addDefaultInputMapping("MOUSE_LEFT");
+ act->addDefaultInputMapping("JOY_A");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("RCLK", _("Interact via Right Click)"));
+ act->setRightClickEvent();
+ act->addDefaultInputMapping("MOUSE_RIGHT");
+ act->addDefaultInputMapping("JOY_B");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVF", _("Move Forward"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_UP));
+ act->addDefaultInputMapping("UP");
+ act->addDefaultInputMapping("JOY_UP");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVB", _("Move Back"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_DOWN));
+ act->addDefaultInputMapping("DOWN");
+ act->addDefaultInputMapping("JOY_DOWN");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVL", _("Move Left"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_LEFT));
+ act->addDefaultInputMapping("LEFT");
+ act->addDefaultInputMapping("JOY_LEFT_TRIGGER");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVR", _("Move Right"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_RIGHT));
+ act->addDefaultInputMapping("RIGHT");
+ act->addDefaultInputMapping("JOY_RIGHT_TRIGGER");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("TL", _("Turn Left"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_HOME));
+ act->addDefaultInputMapping("HOME");
+ act->addDefaultInputMapping("JOY_LEFT");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("TR", _("Turn Right"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_PAGEUP));
+ act->addDefaultInputMapping("PAGEUP");
+ act->addDefaultInputMapping("JOY_RIGHT");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("INV", _("Open/Close Inventory"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_i, 'i'));
+ act->addDefaultInputMapping("i");
+ act->addDefaultInputMapping("JOY_X");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SCE", _("Switch Inventory/Character screen"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_p, 'p'));
+ act->addDefaultInputMapping("p");
+ act->addDefaultInputMapping("JOY_Y");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("CMP", _("Camp"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_c, 'c'));
+ act->addDefaultInputMapping("c");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("CSP", _("Cast Spell"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_SPACE, ' '));
+ act->addDefaultInputMapping("SPACE");
+ act->addDefaultInputMapping("JOY_LEFT_SHOULDER");
+ engineKeyMap->addAction(act);
+
+ // TODO: Spell cursor, but this needs more thought, since different
+ // game versions use different keycodes.
+ act = new Common::Action("SL1", _("Spell Level 1"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_1, '1'));
+ act->addDefaultInputMapping("1");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SL2", _("Spell Level 2"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_2, '2'));
+ act->addDefaultInputMapping("2");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SL3", _("Spell Level 3"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_3, '2'));
+ act->addDefaultInputMapping("3");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SL4", _("Spell Level 4"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_4, '4'));
+ act->addDefaultInputMapping("4");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SL5", _("Spell Level 5"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_5, '5'));
+ act->addDefaultInputMapping("5");
+ engineKeyMap->addAction(act);
if (gameId == "eob2") {
- Common::Action *const act = new Common::Action("SL6", _("Spell Level 6"));
- act->setKeyEvent(Common::KeyState(Common::KEYCODE_6));
+ act = new Common::Action("SL6", _("Spell Level 6"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_6, '6'));
act->addDefaultInputMapping("6");
engineKeyMap->addAction(act);
}
diff --git a/engines/kyra/engine/lol.cpp b/engines/kyra/engine/lol.cpp
index e0f7f1542f..dafbd1189e 100644
--- a/engines/kyra/engine/lol.cpp
+++ b/engines/kyra/engine/lol.cpp
@@ -463,28 +463,88 @@ Common::Error LoLEngine::init() {
Common::KeymapArray LoLEngine::initKeymaps() {
Common::Keymap *engineKeyMap = new Common::Keymap(Common::Keymap::kKeymapTypeGame, kKeymapName, "Lands of Lore");
- const Common::KeyActionEntry keyActionEntries[] = {
- { "AT1", Common::KeyState(Common::KEYCODE_F1, Common::ASCII_F1), "F1", _("Attack 1") },
- { "AT2", Common::KeyState(Common::KEYCODE_F2, Common::ASCII_F2), "F2", _("Attack 2") },
- { "AT3", Common::KeyState(Common::KEYCODE_F3, Common::ASCII_F3), "F3", _("Attack 3") },
- { "MVF", Common::KeyState(Common::KEYCODE_UP), "UP", _("Move Forward") },
- { "MVB", Common::KeyState(Common::KEYCODE_DOWN), "DOWN", _("Move Back") },
- { "SLL", Common::KeyState(Common::KEYCODE_LEFT), "LEFT", _("Slide Left") },
- { "SLR", Common::KeyState(Common::KEYCODE_RIGHT), "RIGHT", _("Slide Right") },
- { "TL", Common::KeyState(Common::KEYCODE_HOME), "HOME", _("Turn Left") },
- { "TR", Common::KeyState(Common::KEYCODE_PAGEUP), "PAGEUP", _("Turn Right") },
- { "RST", Common::KeyState(Common::KEYCODE_r), "r", _("Rest") },
- { "OPT", Common::KeyState(Common::KEYCODE_o), "o", _("Options") },
- { "SPL", Common::KeyState(Common::KEYCODE_SLASH), "SLASH", _("Choose Spell") },
- { 0, Common::KeyState(), 0, 0 }
- };
-
- for (const Common::KeyActionEntry *entry = keyActionEntries; entry->id; ++entry) {
- Common::Action *const act = new Common::Action(entry->id, entry->description);
- act->setKeyEvent(entry->ks);
- act->addDefaultInputMapping(entry->defaultHwId);
- engineKeyMap->addAction(act);
- }
+ Common::Action *act;
+
+ act = new Common::Action("LCLK", _("Interact via Left Click)"));
+ act->setLeftClickEvent();
+ act->addDefaultInputMapping("MOUSE_LEFT");
+ act->addDefaultInputMapping("JOY_A");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("RCLK", _("Interact via Right Click)"));
+ act->setRightClickEvent();
+ act->addDefaultInputMapping("MOUSE_RIGHT");
+ act->addDefaultInputMapping("JOY_B");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("AT1", _("Attack 1"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_F1, Common::ASCII_F1));
+ act->addDefaultInputMapping("F1");
+ act->addDefaultInputMapping("JOY_X");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("AT2", _("Attack 2"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_F2, Common::ASCII_F2));
+ act->addDefaultInputMapping("F2");
+ act->addDefaultInputMapping("JOY_Y");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("AT3", _("Attack 3"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_F3, Common::ASCII_F3));
+ act->addDefaultInputMapping("F3");
+ act->addDefaultInputMapping("JOY_LEFT_SHOULDER");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVF", _("Move Forward"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_UP));
+ act->addDefaultInputMapping("UP");
+ act->addDefaultInputMapping("JOY_UP");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("MVB", _("Move Back"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_DOWN));
+ act->addDefaultInputMapping("DOWN");
+ act->addDefaultInputMapping("JOY_DOWN");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SLL", _("Slide Left"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_LEFT));
+ act->addDefaultInputMapping("LEFT");
+ act->addDefaultInputMapping("JOY_LEFT_TRIGGER");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SLR", _("Slide Right"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_RIGHT));
+ act->addDefaultInputMapping("RIGHT");
+ act->addDefaultInputMapping("JOY_RIGHT_TRIGGER");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("TL", _("Turn Left"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_HOME));
+ act->addDefaultInputMapping("HOME");
+ act->addDefaultInputMapping("JOY_LEFT");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("TR", _("Turn Right"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_PAGEUP));
+ act->addDefaultInputMapping("PAGEUP");
+ act->addDefaultInputMapping("JOY_RIGHT");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("RST", _("Rest"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_r, 'r'));
+ act->addDefaultInputMapping("r");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("OPT", _("Options"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_o, 'o'));
+ act->addDefaultInputMapping("o");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("SPL", _("Choose Spell"));
+ act->setKeyEvent(Common::KeyState(Common::KEYCODE_SLASH, '/'));
+ act->addDefaultInputMapping("SLASH");
+ engineKeyMap->addAction(act);
return Common::Keymap::arrayOf(engineKeyMap);
}
More information about the Scummvm-git-logs
mailing list