[Scummvm-git-logs] scummvm master -> e7c98ffda0107af56435f8048d000c1cdc139bf6
dreammaster
dreammaster at scummvm.org
Sat Nov 25 01:20:32 CET 2017
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:
e7c98ffda0 XEEN: Toggle UI buttons when hotkey is pressed
Commit: e7c98ffda0107af56435f8048d000c1cdc139bf6
https://github.com/scummvm/scummvm/commit/e7c98ffda0107af56435f8048d000c1cdc139bf6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-11-24T19:20:25-05:00
Commit Message:
XEEN: Toggle UI buttons when hotkey is pressed
Changed paths:
engines/xeen/dialogs.cpp
engines/xeen/dialogs_items.cpp
diff --git a/engines/xeen/dialogs.cpp b/engines/xeen/dialogs.cpp
index b890aa7..f1c1032 100644
--- a/engines/xeen/dialogs.cpp
+++ b/engines/xeen/dialogs.cpp
@@ -63,6 +63,7 @@ void ButtonContainer::addPartyButtons(XeenEngine *vm) {
bool ButtonContainer::checkEvents(XeenEngine *vm) {
EventsManager &events = *vm->_events;
+ Screen &screen = *vm->_screen;
_buttonValue = 0;
if (events._leftButton) {
@@ -74,11 +75,11 @@ bool ButtonContainer::checkEvents(XeenEngine *vm) {
events.debounceMouse();
_buttonValue = _buttons[i]._value;
- return true;
+ break;
}
}
- if (Common::Rect(8, 8, 224, 135).contains(pt)) {
+ if (!_buttonValue && Common::Rect(8, 8, 224, 135).contains(pt)) {
_buttonValue = 1;
return true;
}
@@ -95,8 +96,35 @@ bool ButtonContainer::checkEvents(XeenEngine *vm) {
_buttonValue = Common::KEYCODE_RETURN;
_buttonValue |= (keyState.flags & ~Common::KBD_CAPS) << 16;
- if (_buttonValue)
- return true;
+ }
+
+ if (_buttonValue) {
+ // Check for a button matching the selected _buttonValue
+ Window &win = screen._windows[39];
+ for (uint btnIndex = 0; btnIndex < _buttons.size(); ++btnIndex) {
+ UIButton &btn = _buttons[btnIndex];
+ if (btn._draw && btn._value == _buttonValue) {
+ // Found the correct button
+ // Draw button depressed
+ btn._sprites->draw(screen, btnIndex * 2 + 1,
+ Common::Point(btn._bounds.left, btn._bounds.top));
+ win.setBounds(btn._bounds);
+ win.update();
+
+ // Slight delay
+ screen.update();
+ events.wait(4);
+
+ // Redraw button in it's original non-depressed form
+ btn._sprites->draw(screen, btnIndex * 2,
+ Common::Point(btn._bounds.left, btn._bounds.top));
+ win.setBounds(btn._bounds);
+ win.update();
+ break;
+ }
+ }
+
+ return true;
}
return false;
diff --git a/engines/xeen/dialogs_items.cpp b/engines/xeen/dialogs_items.cpp
index fa130da..5f0a2fe 100644
--- a/engines/xeen/dialogs_items.cpp
+++ b/engines/xeen/dialogs_items.cpp
@@ -466,13 +466,14 @@ Character *ItemsDialog::execute(Character *c, ItemsMode mode) {
}
break;
- case Common::KEYCODE_n:
- // Misc category
+ case Common::KEYCODE_m:
+ // Misc
category = CATEGORY_MISC;
redrawFlag = REDRAW_TEXT;
break;
case Common::KEYCODE_q:
+ // Quests
if (mode == ITEMMODE_CHAR_INFO) {
Quests::show(_vm);
redrawFlag = REDRAW_TEXT;
More information about the Scummvm-git-logs
mailing list