[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