[Scummvm-git-logs] scummvm master -> bc89ecbc49dc99b92c9df4b09f7407e67fbdf278
OMGPizzaGuy
noreply at scummvm.org
Sun Jan 8 19:50:34 UTC 2023
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:
bc89ecbc49 ULTIMA8: Workaround for #12098 - handle keys when reading books and scrolls
Commit: bc89ecbc49dc99b92c9df4b09f7407e67fbdf278
https://github.com/scummvm/scummvm/commit/bc89ecbc49dc99b92c9df4b09f7407e67fbdf278
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-01-08T13:48:55-06:00
Commit Message:
ULTIMA8: Workaround for #12098 - handle keys when reading books and scrolls
Changed paths:
engines/ultima/ultima8/gumps/book_gump.cpp
engines/ultima/ultima8/gumps/book_gump.h
engines/ultima/ultima8/gumps/scroll_gump.cpp
engines/ultima/ultima8/gumps/scroll_gump.h
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 1e1e5dad305..aa94f37b644 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "common/keyboard.h"
#include "ultima/ultima8/gumps/book_gump.h"
#include "ultima/ultima8/gumps/widgets/text_widget.h"
#include "ultima/ultima8/games/game_data.h"
@@ -105,6 +106,21 @@ void BookGump::onMouseDouble(int button, int32 mx, int32 my) {
Close();
}
+bool BookGump::OnKeyDown(int key, int mod) {
+ switch (key) {
+ case Common::KEYCODE_ESCAPE:
+ Close();
+ break;
+ case Common::KEYCODE_SPACE:
+ NextText();
+ break;
+ default:
+ break;
+ }
+
+ return true;
+}
+
uint32 BookGump::I_readBook(const uint8 *args, unsigned int /*argsize*/) {
ARG_ITEM_FROM_PTR(item);
ARG_STRING(str);
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index 29183c3d621..606bde2dfba 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -49,6 +49,8 @@ public:
// Close on double click
void onMouseDouble(int button, int32 mx, int32 my) override;
+ bool OnKeyDown(int key, int mod) override;
+
// Init the gump, call after construction
void InitGump(Gump *newparent, bool take_focus = true) override;
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.cpp b/engines/ultima/ultima8/gumps/scroll_gump.cpp
index e11fc3ca5f5..dcf5a004cab 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scroll_gump.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "common/keyboard.h"
#include "ultima/ultima8/gumps/scroll_gump.h"
#include "ultima/ultima8/gumps/widgets/text_widget.h"
#include "ultima/ultima8/games/game_data.h"
@@ -80,6 +81,21 @@ void ScrollGump::onMouseDouble(int button, int32 mx, int32 my) {
Close();
}
+bool ScrollGump::OnKeyDown(int key, int mod) {
+ switch (key) {
+ case Common::KEYCODE_ESCAPE:
+ Close();
+ break;
+ case Common::KEYCODE_SPACE:
+ NextText();
+ break;
+ default:
+ break;
+ }
+
+ return true;
+}
+
uint32 ScrollGump::I_readScroll(const uint8 *args, unsigned int /*argsize*/) {
ARG_ITEM_FROM_PTR(item);
ARG_STRING(str);
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index 6d26a819937..bfbbc890592 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -48,6 +48,8 @@ public:
// Close on double click
void onMouseDouble(int button, int32 mx, int32 my) override;
+ bool OnKeyDown(int key, int mod) override;
+
// Init the gump, call after construction
void InitGump(Gump *newparent, bool take_focus = true) override;
More information about the Scummvm-git-logs
mailing list