[Scummvm-git-logs] scummvm master -> c9f90b23ceebabe6dab7523626f5bea379091a85
dreammaster
paulfgilbert at gmail.com
Sat Apr 11 03:30:20 UTC 2020
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:
4d71cf2635 ULTIMA4: Fix key entry with modifier keys
c9f90b23ce ULTIMA4: Faster exit quitting during intro sequence
Commit: 4d71cf2635544ae9a88dcb5e0db88edc53345acf
https://github.com/scummvm/scummvm/commit/4d71cf2635544ae9a88dcb5e0db88edc53345acf
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-04-10T20:25:46-07:00
Commit Message:
ULTIMA4: Fix key entry with modifier keys
Changed paths:
engines/ultima/ultima4/events/event.cpp
engines/ultima/ultima4/events/event.h
engines/ultima/ultima4/events/event_scummvm.cpp
diff --git a/engines/ultima/ultima4/events/event.cpp b/engines/ultima/ultima4/events/event.cpp
index 1490381c3b..94cbcee84c 100644
--- a/engines/ultima/ultima4/events/event.cpp
+++ b/engines/ultima/ultima4/events/event.cpp
@@ -147,13 +147,10 @@ ReadStringController::ReadStringController(int maxlen, TextView *view, const Com
}
bool ReadStringController::keyPressed(int key) {
- int valid = true,
- len = _value.size();
+ int valid = true, len = _value.size();
size_t pos = Common::String::npos;
-#ifdef TODO
if (key < U4_ALT)
-#endif
pos = _accepted.findFirstOf(key);
if (pos != Common::String::npos) {
diff --git a/engines/ultima/ultima4/events/event.h b/engines/ultima/ultima4/events/event.h
index b8bc530e81..fd44a2aca0 100644
--- a/engines/ultima/ultima4/events/event.h
+++ b/engines/ultima/ultima4/events/event.h
@@ -46,17 +46,17 @@ namespace Ultima4 {
#define U4_ESC 27
#define U4_ENTER 13
#define U4_ALT 128
-#define U4_KEYPAD_ENTER 271
+#define U4_KEYPAD_ENTER Common::KEYCODE_KP_ENTER
#define U4_META 323
#define U4_FKEY 282
-#define U4_RIGHT_SHIFT 303
-#define U4_LEFT_SHIFT 304
-#define U4_RIGHT_CTRL 305
-#define U4_LEFT_CTRL 306
-#define U4_RIGHT_ALT 307
-#define U4_LEFT_ALT 308
-#define U4_RIGHT_META 309
-#define U4_LEFT_META 310
+#define U4_RIGHT_SHIFT Common::KEYCODE_RSHIFT
+#define U4_LEFT_SHIFT Common::KEYCODE_LSHIFT
+#define U4_RIGHT_CTRL Common::KEYCODE_RCTRL
+#define U4_LEFT_CTRL Common::KEYCODE_LCTRL
+#define U4_RIGHT_ALT Common::KEYCODE_RALT
+#define U4_LEFT_ALT Common::KEYCODE_LALT
+#define U4_RIGHT_META Common::KEYCODE_RMETA
+#define U4_LEFT_META Common::KEYCODE_LMETA
struct MouseArea;
class EventHandler;
diff --git a/engines/ultima/ultima4/events/event_scummvm.cpp b/engines/ultima/ultima4/events/event_scummvm.cpp
index 10db18268e..26f55e4b45 100644
--- a/engines/ultima/ultima4/events/event_scummvm.cpp
+++ b/engines/ultima/ultima4/events/event_scummvm.cpp
@@ -176,14 +176,8 @@ static void handleMouseButtonDownEvent(const Common::Event &event, Controller *c
}
static void handleKeyDownEvent(const Common::Event &event, Controller *controller, updateScreenCallback updateScreen) {
- int processed;
- int key = event.kbd.keycode;
-
- if (event.kbd.flags & Common::KBD_ALT)
- key += U4_ALT;
-
- if (event.kbd.flags & Common::KBD_META)
- key += U4_META;
+ int key;
+ bool processed;
if (event.kbd.keycode == Common::KEYCODE_UP)
key = U4_UP;
@@ -196,6 +190,17 @@ static void handleKeyDownEvent(const Common::Event &event, Controller *controlle
else if (event.kbd.keycode == Common::KEYCODE_BACKSPACE ||
event.kbd.keycode == Common::KEYCODE_DELETE)
key = U4_BACKSPACE;
+ else {
+ key = event.kbd.ascii;
+ if (!key)
+ return;
+
+ if (event.kbd.flags & Common::KBD_ALT)
+ key += U4_ALT;
+
+ if (event.kbd.flags & Common::KBD_META)
+ key += U4_META;
+ }
debug(1, "key event: sym = %d, mod = %d; translated = %d",
event.kbd.keycode, event.kbd.flags, key);
@@ -208,7 +213,6 @@ static void handleKeyDownEvent(const Common::Event &event, Controller *controlle
(*updateScreen)();
g_screen->update();
}
-
}
void EventHandler::sleep(unsigned int msec) {
Commit: c9f90b23ceebabe6dab7523626f5bea379091a85
https://github.com/scummvm/scummvm/commit/c9f90b23ceebabe6dab7523626f5bea379091a85
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-04-10T20:30:03-07:00
Commit Message:
ULTIMA4: Faster exit quitting during intro sequence
Changed paths:
engines/ultima/ultima4/game/intro.cpp
diff --git a/engines/ultima/ultima4/game/intro.cpp b/engines/ultima/ultima4/game/intro.cpp
index db805ee5d2..3694bc6bb7 100644
--- a/engines/ultima/ultima4/game/intro.cpp
+++ b/engines/ultima/ultima4/game/intro.cpp
@@ -756,7 +756,7 @@ void IntroController::showStory() {
_questionArea.setCursorFollowsText(true);
- for (int storyInd = 0; storyInd < 24; storyInd++) {
+ for (int storyInd = 0; storyInd < 24 && !g_ultima->shouldQuit(); storyInd++) {
if (storyInd == 0)
_backgroundArea.draw(BKGD_TREE);
else if (storyInd == 3)
More information about the Scummvm-git-logs
mailing list