[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