[Scummvm-git-logs] scummvm master -> 12145ac50c6d1571b9871c84c6a1453767a6e78e
bluegr
bluegr at gmail.com
Sun Jan 12 22:42:48 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5e05f43919 MOHAWK: RIVEN: Add keymapper support
afa23d3378 MOHAWK: RIVEN: Improve keymapper support
12145ac50c MOHAWK: RIVEN: Do not call initKeymap() from within the engine
Commit: 5e05f439194afc0c948f00903e230f3aa447a17d
https://github.com/scummvm/scummvm/commit/5e05f439194afc0c948f00903e230f3aa447a17d
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-01-13T00:42:44+02:00
Commit Message:
MOHAWK: RIVEN: Add keymapper support
Changed paths:
engines/mohawk/riven.cpp
engines/mohawk/riven.h
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 68c463a..4c9e993 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -26,6 +26,7 @@
#include "common/keyboard.h"
#include "common/translation.h"
#include "common/system.h"
+#include "backends/keymapper/keymapper.h"
#include "graphics/scaler.h"
#include "gui/saveload.h"
#include "gui/message.h"
@@ -151,6 +152,8 @@ Common::Error MohawkEngine_Riven::run() {
_cursor = new MacCursorManager("Riven");
initVars();
+ initKeymap();
+
// Check the user has copied all the required datafiles
if (!checkDatafiles()) {
@@ -871,6 +874,41 @@ void MohawkEngine_Riven::runOptionsDialog() {
_card->initializeZipMode();
}
+void MohawkEngine_Riven::initKeymap() {
+#ifdef ENABLE_KEYMAPPER
+ static const char *const kKeymapName = "riven";
+ Common::Keymapper *const mapper = _eventMan->getKeymapper();
+
+ // Do not try to recreate same keymap over again
+ if (mapper->getKeymap(kKeymapName) != 0)
+ return;
+
+ Common::Keymap *const engineKeyMap = new Common::Keymap(kKeymapName);
+
+ const Common::KeyActionEntry keyActionEntries[] = {
+ { Common::KEYCODE_UP, "UP", _("Move Forward") },
+ { Common::KEYCODE_DOWN, "DWN", _("Move Back") },
+ { Common::KEYCODE_LEFT, "TL", _("Turn Left") },
+ { Common::KEYCODE_RIGHT, "TR", _("Turn Right") },
+ { Common::KEYCODE_PAGEUP, "LKUP", _("Look Up") },
+ { Common::KEYCODE_PAGEDOWN, "LKDN", _("Look Down") },
+ { Common::KEYCODE_F5, "OPTS", _("Show/Hide Options Menu") },
+ { Common::KeyState(Common::KEYCODE_o, 'o', Common::KBD_CTRL), "LOAD", _("Load Game State") },
+ { Common::KeyState(Common::KEYCODE_s, 's', Common::KBD_CTRL), "SAVE", _("Save Game State") },
+ { Common::KeyState(Common::KEYCODE_r, 'r', Common::KBD_CTRL), "RMM", _("Return To Main Menu") },
+ { Common::KeyState(Common::KEYCODE_p, 'p', Common::KBD_CTRL), "INTV", _("Play Intro Videos") }
+ };
+
+ for (uint i = 0; i < ARRAYSIZE(keyActionEntries); i++) {
+ Common::Action *const act = new Common::Action(engineKeyMap, keyActionEntries[i].id, keyActionEntries[i].description);
+ act->addKeyEvent(keyActionEntries[i].ks);
+ }
+
+ mapper->addGameKeymap(engineKeyMap);
+ mapper->pushKeymap(kKeymapName, true);
+#endif
+}
+
bool ZipMode::operator== (const ZipMode &z) const {
return z.name == name && z.id == id;
}
diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h
index fa82f92..525248c 100644
--- a/engines/mohawk/riven.h
+++ b/engines/mohawk/riven.h
@@ -134,6 +134,7 @@ private:
// Variables
void initVars();
+ void initKeymap();
void pauseEngineIntern(bool) override;
uint32 sanitizeTransitionMode(uint32 mode);
public:
Commit: afa23d3378a431f7bfa44e28fa13caae133af8f9
https://github.com/scummvm/scummvm/commit/afa23d3378a431f7bfa44e28fa13caae133af8f9
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2020-01-13T00:42:44+02:00
Commit Message:
MOHAWK: RIVEN: Improve keymapper support
Changed paths:
engines/mohawk/riven.cpp
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 4c9e993..08d7fcb 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -893,8 +893,12 @@ void MohawkEngine_Riven::initKeymap() {
{ Common::KEYCODE_PAGEUP, "LKUP", _("Look Up") },
{ Common::KEYCODE_PAGEDOWN, "LKDN", _("Look Down") },
{ Common::KEYCODE_F5, "OPTS", _("Show/Hide Options Menu") },
+ { Common::KEYCODE_SPACE, "PAUS", _("Pause") },
{ Common::KeyState(Common::KEYCODE_o, 'o', Common::KBD_CTRL), "LOAD", _("Load Game State") },
- { Common::KeyState(Common::KEYCODE_s, 's', Common::KBD_CTRL), "SAVE", _("Save Game State") },
+ { Common::KeyState(Common::KEYCODE_s, 's', Common::KBD_CTRL), "SAVE", _("Save Game State") }
+ };
+
+ const Common::KeyActionEntry keyActionEntriesDemo[] = {
{ Common::KeyState(Common::KEYCODE_r, 'r', Common::KBD_CTRL), "RMM", _("Return To Main Menu") },
{ Common::KeyState(Common::KEYCODE_p, 'p', Common::KBD_CTRL), "INTV", _("Play Intro Videos") }
};
@@ -904,6 +908,21 @@ void MohawkEngine_Riven::initKeymap() {
act->addKeyEvent(keyActionEntries[i].ks);
}
+ if (getFeatures() & GF_DEMO) {
+ for (uint i = 0; i < ARRAYSIZE(keyActionEntriesDemo); i++) {
+ Common::Action* const act = new Common::Action(engineKeyMap, keyActionEntriesDemo[i].id, keyActionEntriesDemo[i].description);
+ act->addKeyEvent(keyActionEntriesDemo[i].ks);
+ }
+ }
+
+ if (getFeatures() & GF_25TH) {
+ Common::Action* const act = new Common::Action(engineKeyMap, "SMNU", _("Skip / Open main menu"));
+ act->addKeyEvent(Common::KEYCODE_ESCAPE);
+ } else {
+ Common::Action* const act = new Common::Action(engineKeyMap, "SKIP", _("Skip"));
+ act->addKeyEvent(Common::KEYCODE_ESCAPE);
+ }
+
mapper->addGameKeymap(engineKeyMap);
mapper->pushKeymap(kKeymapName, true);
#endif
Commit: 12145ac50c6d1571b9871c84c6a1453767a6e78e
https://github.com/scummvm/scummvm/commit/12145ac50c6d1571b9871c84c6a1453767a6e78e
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2020-01-13T00:42:44+02:00
Commit Message:
MOHAWK: RIVEN: Do not call initKeymap() from within the engine
This is meant to be called from the base engine code (base/main.cpp)
Changed paths:
engines/mohawk/riven.cpp
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 08d7fcb..a8a9487 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -152,8 +152,6 @@ Common::Error MohawkEngine_Riven::run() {
_cursor = new MacCursorManager("Riven");
initVars();
- initKeymap();
-
// Check the user has copied all the required datafiles
if (!checkDatafiles()) {
More information about the Scummvm-git-logs
mailing list