diff options
-rw-r--r-- | engines/mads/action.cpp | 4 | ||||
-rw-r--r-- | engines/mads/events.cpp | 4 | ||||
-rw-r--r-- | engines/mads/events.h | 1 | ||||
-rw-r--r-- | engines/mads/scene.cpp | 2 | ||||
-rw-r--r-- | engines/mads/screen.cpp | 17 | ||||
-rw-r--r-- | engines/mads/screen.h | 1 |
6 files changed, 16 insertions, 13 deletions
diff --git a/engines/mads/action.cpp b/engines/mads/action.cpp index 7a95e64e04..b5c92c0d64 100644 --- a/engines/mads/action.cpp +++ b/engines/mads/action.cpp @@ -366,7 +366,7 @@ void MADSAction::checkActionAtMousePos() { scene._lookFlag = true; } - if (screenObjects._v7FECA && _vm->_events->_mouseButtons) { + if (_vm->_events->_anyStroke && _vm->_events->_mouseButtons) { switch (userInterface._category) { case CAT_COMMAND: case CAT_INV_VOCAB: @@ -507,7 +507,7 @@ void MADSAction::leftClick() { } } - if (abortFlag || (screenObjects._v7FECA && (userInterface._category == CAT_COMMAND || + if (abortFlag || (_vm->_events->_anyStroke && (userInterface._category == CAT_COMMAND || userInterface._category == CAT_INV_VOCAB))) return; diff --git a/engines/mads/events.cpp b/engines/mads/events.cpp index c61512ca90..29ea927bbc 100644 --- a/engines/mads/events.cpp +++ b/engines/mads/events.cpp @@ -46,6 +46,7 @@ EventsManager::EventsManager(MADSEngine *vm) { _vD4 = 0; _mouseMoved = false; _vD8 = 0; + _anyStroke = false; } EventsManager::~EventsManager() { @@ -129,17 +130,20 @@ void EventsManager::pollEvents() { _mouseClicked = true; _mouseButtons = 1; _mouseMoved = true; + _anyStroke = true; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: _mouseClicked = false; _mouseReleased = true; _mouseMoved = true; + _anyStroke = true; return; case Common::EVENT_MOUSEMOVE: _mousePos = event.mouse; _currentPos = event.mouse; _mouseMoved = true; + _anyStroke = true; break; default: break; diff --git a/engines/mads/events.h b/engines/mads/events.h index b0b20b4853..8537605d4c 100644 --- a/engines/mads/events.h +++ b/engines/mads/events.h @@ -58,6 +58,7 @@ public: bool _mouseClicked; bool _mouseReleased; byte _mouseButtons; + bool _anyStroke; bool _keyPressed; int _vCC; int _vD2; diff --git a/engines/mads/scene.cpp b/engines/mads/scene.cpp index 97a131a665..9e27f2724e 100644 --- a/engines/mads/scene.cpp +++ b/engines/mads/scene.cpp @@ -522,7 +522,7 @@ void Scene::updateCursor() { Player &player = _vm->_game->_player; CursorType cursorId = CURSOR_ARROW; - if (_action._interAwaiting == 1 && !_vm->_game->_screenObjects._v7FECA && + if (_action._interAwaiting == 1 && !_vm->_events->_anyStroke && _vm->_game->_screenObjects._category == CAT_HOTSPOT) { int idx = _vm->_game->_screenObjects._selectedObject - _userInterface._categoryIndexes[CAT_HOTSPOT - 1]; diff --git a/engines/mads/screen.cpp b/engines/mads/screen.cpp index f00146e1e2..b55d80c9ec 100644 --- a/engines/mads/screen.cpp +++ b/engines/mads/screen.cpp @@ -254,7 +254,6 @@ ScreenObjects::ScreenObjects(MADSEngine *vm) : _vm(vm) { _objectY = -1; _v8333C = false; _v832EC = 0; - _v7FECA = true; _v7FED6 = 0; _v8332A = 0; _category = CAT_NONE; @@ -287,7 +286,7 @@ void ScreenObjects::check(bool scanFlag) { UserInterface &userInterface = scene._userInterface; if (!_vm->_events->_mouseButtons || _v832EC) - _v7FECA = false; + _vm->_events->_anyStroke = false; if ((_vm->_events->_mouseMoved || _vm->_game->_scene._userInterface._scrollerY || _v8332A || _v8333C) && scanFlag) { @@ -474,13 +473,13 @@ void ScreenObjects::elementHighlighted() { indexEnd = 9; varA = 5; topIndex = 0; - idxP = !_v7FECA ? &userInterface._highlightedCommandIndex : + idxP = !_vm->_events->_anyStroke ? &userInterface._highlightedCommandIndex : &userInterface._selectedActionIndex; - if (_v7FECA && userInterface._selectedItemVocabIdx >= 0) + if (_vm->_events->_anyStroke && userInterface._selectedItemVocabIdx >= 0) userInterface.updateSelection(CAT_INV_VOCAB, -1, &userInterface._selectedItemVocabIdx); - var4 = _released && !_v7FECA ? 1 : 0; + var4 = _released && !_vm->_events->_anyStroke ? 1 : 0; break; case CAT_INV_LIST: @@ -506,12 +505,12 @@ void ScreenObjects::elementHighlighted() { varA = 0; topIndex = 0; - idxP = _v7FECA ? &userInterface._selectedItemVocabIdx : &userInterface._highlightedActionIndex; + idxP = _vm->_events->_anyStroke ? &userInterface._selectedItemVocabIdx : &userInterface._highlightedActionIndex; - if (_v7FECA && userInterface._selectedActionIndex >= 0) + if (_vm->_events->_anyStroke && userInterface._selectedActionIndex >= 0) userInterface.updateSelection(CAT_COMMAND, -1, &userInterface._selectedActionIndex); - var4 = _released && !_v7FECA ? 1 : 0; + var4 = _released && !_vm->_events->_anyStroke ? 1 : 0; break; case CAT_INV_ANIM: @@ -606,7 +605,7 @@ void ScreenObjects::elementHighlighted() { newIndex = -1; } - if (_released && !_vm->_game->_screenObjects._v7FECA && + if (_released && !_vm->_events->_anyStroke && (_vm->_events->_mouseReleased || !_vm->_easyMouse)) newIndex = -1; diff --git a/engines/mads/screen.h b/engines/mads/screen.h index e6e0f285c7..31fdd2a470 100644 --- a/engines/mads/screen.h +++ b/engines/mads/screen.h @@ -149,7 +149,6 @@ private: void checkScroller(); public: int _v832EC; - int _v7FECA; int _v7FED6; int _v8332A; int _v8333C; |