diff options
author | Paul Gilbert | 2018-02-07 21:47:59 -0500 |
---|---|---|
committer | Paul Gilbert | 2018-02-07 21:47:59 -0500 |
commit | c6a705a7fec5fc676ee89a74e3c360052ca8b72e (patch) | |
tree | 7e5ded88c8ff205aec73ec3bf811b5bec93d9bd1 /engines | |
parent | 0c487423d1e47b6cc849d8f8ff13b17dd7f7c0dd (diff) | |
download | scummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.tar.gz scummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.tar.bz2 scummvm-rg350-c6a705a7fec5fc676ee89a74e3c360052ca8b72e.zip |
XEEN: Clicking on party member glyphs, show Character Info dialog
Diffstat (limited to 'engines')
-rw-r--r-- | engines/xeen/dialogs.cpp | 13 |
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(); |