diff options
Diffstat (limited to 'engines/mads/screen.cpp')
-rw-r--r-- | engines/mads/screen.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/mads/screen.cpp b/engines/mads/screen.cpp index 1f1fc0a41e..7fea54a2f2 100644 --- a/engines/mads/screen.cpp +++ b/engines/mads/screen.cpp @@ -261,6 +261,8 @@ ScreenObjects::ScreenObjects(MADSEngine *vm) : _vm(vm) { _objectIndex = 0; _released = false; _uiCount = 0; + _hotspotsIndex = 0; + _selectedObject = -1; } void ScreenObjects::add(const Common::Rect &bounds, Layer layer, ScrCategory category, int descId) { @@ -282,10 +284,10 @@ void ScreenObjects::check(bool scanFlag) { _v7FECA = false; if ((_vm->_events->_vD6 || _v8332A || _vm->_game->_scene._userInterface._scrollerY || _v8333C) && scanFlag) { - scene._userInterface._selectedInvIndex = scanBackwards(_vm->_events->currentPos(), LAYER_GUI); - if (scene._userInterface._selectedInvIndex > 0) { - _category = (ScrCategory)((*this)[scene._userInterface._selectedInvIndex - 1]._category & 7); - _objectIndex = (*this)[scene._userInterface._selectedInvIndex - 1]._descId; + _selectedObject = scanBackwards(_vm->_events->currentPos(), LAYER_GUI); + if (_selectedObject > 0) { + _category = (ScrCategory)((*this)[_selectedObject - 1]._category & 7); + _objectIndex = (*this)[_selectedObject - 1]._descId; } // Handling for easy mouse |