aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2018-02-07 21:47:59 -0500
committerPaul Gilbert2018-02-07 21:47:59 -0500
commitc6a705a7fec5fc676ee89a74e3c360052ca8b72e (patch)
tree7e5ded88c8ff205aec73ec3bf811b5bec93d9bd1
parent0c487423d1e47b6cc849d8f8ff13b17dd7f7c0dd (diff)
downloadscummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.tar.gz
scummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.tar.bz2
scummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.zip
XEEN: Clicking on party member glyphs, show Character Info dialog
-rw-r--r--engines/xeen/dialogs.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/xeen/dialogs.cpp b/engines/xeen/dialogs.cpp
index 500f0f73f8..99f640136d 100644
--- a/engines/xeen/dialogs.cpp
+++ b/engines/xeen/dialogs.cpp
@@ -64,13 +64,24 @@ void ButtonContainer::addPartyButtons(XeenEngine *vm) {
bool ButtonContainer::checkEvents(XeenEngine *vm) {
EventsManager &events = *vm->_events;
+ Party &party = *vm->_party;
Windows &windows = *_vm->_windows;
_buttonValue = 0;
if (events._leftButton) {
- // Check whether any button is selected
Common::Point pt = events._mousePos;
+ // Check for party member glyphs being clicked
+ Common::Rect r(0, 0, 32, 32);
+ for (uint idx = 0; idx < party._activeParty.size(); ++idx) {
+ r.moveTo(Res.CHAR_FACES_X[idx], 150);
+ if (r.contains(pt)) {
+ _buttonValue = Common::KEYCODE_F1 + idx;
+ break;
+ }
+ }
+
+ // Check whether any button is selected
for (uint i = 0; i < _buttons.size(); ++i) {
if (_buttons[i]._draw && _buttons[i]._bounds.contains(pt)) {
events.debounceMouse();