[Scummvm-git-logs] scummvm master -> e2bbef55b3071992ec1236102c0ecf765fe2dd72
OMGPizzaGuy
noreply at scummvm.org
Thu Aug 8 03:39:01 UTC 2024
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:
e2bbef55b3 ULTIMA8 Move keybinding action handers to engine.
Commit: e2bbef55b3071992ec1236102c0ecf765fe2dd72
https://github.com/scummvm/scummvm/commit/e2bbef55b3071992ec1236102c0ecf765fe2dd72
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2024-08-07T22:38:44-05:00
Commit Message:
ULTIMA8 Move keybinding action handers to engine.
The engine still uses the debugger commands, but they can be transitioned in sections if desired.
Changed paths:
engines/ultima/ultima8/metaengine.cpp
engines/ultima/ultima8/metaengine.h
engines/ultima/ultima8/ultima8.cpp
engines/ultima/ultima8/ultima8.h
diff --git a/engines/ultima/ultima8/metaengine.cpp b/engines/ultima/ultima8/metaengine.cpp
index 7631b31f96c..b16f6ff6bcf 100644
--- a/engines/ultima/ultima8/metaengine.cpp
+++ b/engines/ultima/ultima8/metaengine.cpp
@@ -210,18 +210,6 @@ Common::KeymapArray MetaEngine::initKeymaps(const Common::String &gameId) {
return keymapArray;
}
-void MetaEngine::pressAction(KeybindingAction keyAction) {
- Common::String methodName = getMethod(keyAction, true);
- if (!methodName.empty())
- g_debugger->executeCommand(methodName);
-}
-
-void MetaEngine::releaseAction(KeybindingAction keyAction) {
- Common::String methodName = getMethod(keyAction, false);
- if (!methodName.empty())
- g_debugger->executeCommand(methodName);
-}
-
Common::String MetaEngine::getMethod(KeybindingAction keyAction, bool isPress) {
#ifdef RELEASE_BUILD
const KeybindingRecord *KEY_ARRAYS[] = { COMMON_KEYS, U8_KEYS, CRUSADER_KEYS, CHEAT_KEYS, nullptr };
diff --git a/engines/ultima/ultima8/metaengine.h b/engines/ultima/ultima8/metaengine.h
index d577cb9d9fb..bd0469d121b 100644
--- a/engines/ultima/ultima8/metaengine.h
+++ b/engines/ultima/ultima8/metaengine.h
@@ -57,12 +57,6 @@ enum KeybindingAction {
};
class MetaEngine {
-private:
- /**
- * Get the method to execute
- */
- static Common::String getMethod(KeybindingAction keyAction, bool isPress);
-
public:
/**
* Initialize keymaps
@@ -70,14 +64,9 @@ public:
static Common::KeymapArray initKeymaps(const Common::String &gameId);
/**
- * Execute an engine keymap press action
- */
- static void pressAction(KeybindingAction keyAction);
-
- /**
- * Execute an engine keymap release action
+ * Get the method to execute
*/
- static void releaseAction(KeybindingAction keyAction);
+ static Common::String getMethod(KeybindingAction keyAction, bool isPress);
/**
* Return meta information from the specified save state for saves that do not have ExtendedSavegameHeader
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index d9c2c75ab55..20f16e33ae2 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -848,11 +848,11 @@ void Ultima8Engine::handleEvent(const Common::Event &event) {
}
case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
- MetaEngine::pressAction((KeybindingAction)event.customType);
+ handleActionDown((KeybindingAction)event.customType);
break;
case Common::EVENT_CUSTOM_ENGINE_ACTION_END:
- MetaEngine::releaseAction((KeybindingAction)event.customType);
+ handleActionUp((KeybindingAction)event.customType);
break;
case Common::EVENT_QUIT:
@@ -871,6 +871,18 @@ void Ultima8Engine::handleDelayedEvents() {
_mouse->handleDelayedEvents();
}
+void Ultima8Engine::handleActionDown(KeybindingAction action) {
+ Common::String methodName = MetaEngine::getMethod(action, true);
+ if (!methodName.empty())
+ g_debugger->executeCommand(methodName);
+}
+
+void Ultima8Engine::handleActionUp(KeybindingAction action) {
+ Common::String methodName = MetaEngine::getMethod(action, false);
+ if (!methodName.empty())
+ g_debugger->executeCommand(methodName);
+}
+
void Ultima8Engine::writeSaveInfo(Common::WriteStream *ws) {
TimeDate timeInfo;
g_system->getTimeAndDate(timeInfo);
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index 3062b85b117..97566e1a7ea 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -32,6 +32,7 @@
#include "ultima/ultima8/misc/common_types.h"
#include "ultima/ultima8/games/game_info.h"
#include "ultima/ultima8/gfx/render_surface.h"
+#include "ultima/ultima8/metaengine.h"
#include "ultima/detection.h"
namespace Ultima {
@@ -197,6 +198,9 @@ public:
Common::Error runGame();
virtual void handleEvent(const Common::Event &event);
+ void handleActionDown(KeybindingAction action);
+ void handleActionUp(KeybindingAction action);
+
void paint();
static const int U8_DEFAULT_SCREEN_WIDTH = 320;
More information about the Scummvm-git-logs
mailing list