diff options
| author | Paul Gilbert | 2014-03-26 22:22:50 -0400 | 
|---|---|---|
| committer | Paul Gilbert | 2014-03-26 22:22:50 -0400 | 
| commit | fc03e5a4fadaa30efa98902f6650eb3a98651abb (patch) | |
| tree | c30efd8ac4e86f74e621816bb5de494feb84951f | |
| parent | eeb4b940b7245aedb7056947b4f5c435a43fc136 (diff) | |
| download | scummvm-rg350-fc03e5a4fadaa30efa98902f6650eb3a98651abb.tar.gz scummvm-rg350-fc03e5a4fadaa30efa98902f6650eb3a98651abb.tar.bz2 scummvm-rg350-fc03e5a4fadaa30efa98902f6650eb3a98651abb.zip | |
MADS: Fix for selecting actions from the list
| -rw-r--r-- | engines/mads/action.cpp | 13 | ||||
| -rw-r--r-- | engines/mads/action.h | 1 | ||||
| -rw-r--r-- | engines/mads/events.cpp | 2 | ||||
| -rw-r--r-- | engines/mads/screen.cpp | 4 | 
4 files changed, 10 insertions, 10 deletions
| diff --git a/engines/mads/action.cpp b/engines/mads/action.cpp index ca29527748..07af95e341 100644 --- a/engines/mads/action.cpp +++ b/engines/mads/action.cpp @@ -31,7 +31,6 @@ namespace MADS {  MADSAction::MADSAction(MADSEngine *vm) : _vm(vm) {  	clear(); -	_currentAction = VERB_NONE;  	_startWalkFlag = false;  	_statusTextIndex = -1;  	_selectedAction = 0; @@ -124,18 +123,18 @@ void MADSAction::set() {  			if (_selectedRow >= 0) {  				if (_actionMode == ACTIONMODE_VERB) {  					// Standard verb action -					_currentAction = scene._verbList[_selectedRow]._id; +					_action._verbId = scene._verbList[_selectedRow]._id;  				} else {  					// Selected action on an inventory object  					int invIndex = userInterface._selectedInvIndex;  					InventoryObject &objEntry = _vm->_game->_objects.getItem(invIndex); -					_currentAction = objEntry._vocabList[_selectedRow]._vocabId; +					_action._verbId = objEntry._vocabList[_selectedRow]._vocabId;  				}  				appendVocab(_action._verbId, true); -				if (_currentAction == VERB_LOOK) { +				if (_action._verbId == VERB_LOOK) {  					// Add in the word 'add'  					_statusText += kAtStr;  					_statusText += " "; @@ -164,11 +163,11 @@ void MADSAction::set() {  					if (verbId > 0) {  						// Set the specified action -						_currentAction = verbId; -						appendVocab(_currentAction, true); +						_action._verbId = verbId; +						appendVocab(_action._verbId, true);  					} else {  						// Default to a standard 'walk to' -						_currentAction = VERB_WALKTO; +						_action._verbId = VERB_WALKTO;  						_statusText += kWalkToStr;  					}  				} diff --git a/engines/mads/action.h b/engines/mads/action.h index 802dfb0576..26ab062673 100644 --- a/engines/mads/action.h +++ b/engines/mads/action.h @@ -78,7 +78,6 @@ private:  	void checkCustomDest(int v);  public:  	ActionDetails _action, _activeAction; -	int _currentAction;  	int8 _flags1, _flags2;  	ActionMode _actionMode;  	ActionMode2 _actionMode2; diff --git a/engines/mads/events.cpp b/engines/mads/events.cpp index a4e1a96a5a..70ca166aab 100644 --- a/engines/mads/events.cpp +++ b/engines/mads/events.cpp @@ -128,6 +128,7 @@ void EventsManager::pollEvents() {  		case Common::EVENT_RBUTTONDOWN:  			_mouseClicked = true;  			_mouseButtons = 1; +			_mouseMoved = true;  			return;  		case Common::EVENT_LBUTTONUP:  		case Common::EVENT_RBUTTONUP: @@ -190,6 +191,7 @@ void EventsManager::initVars() {  void EventsManager::resetMouseFlags() {  	_mouseClicked = false;  	_mouseReleased = false; +	_mouseButtons = 0;  }  } // End of namespace MADS diff --git a/engines/mads/screen.cpp b/engines/mads/screen.cpp index a2cc75f381..c881e9560e 100644 --- a/engines/mads/screen.cpp +++ b/engines/mads/screen.cpp @@ -300,7 +300,7 @@ void ScreenObjects::check(bool scanFlag) {  		// Handling for easy mouse  		ScrCategory category = scene._userInterface._category; -		if (_vm->_easyMouse && !_vm->_events->_vD4 && category != _category +		if (_vm->_easyMouse && _vm->_events->_mouseButtons && category != _category  			&& scene._userInterface._category != CAT_NONE) {  			_released = true;  			if (category >= CAT_ACTION && category <= CAT_TALK_ENTRY) { @@ -310,7 +310,7 @@ void ScreenObjects::check(bool scanFlag) {  			scene._action.checkActionAtMousePos();  		} -		_released = _vm->_events->_mouseReleased; +		//_released = _vm->_events->_mouseReleased;  		if (_vm->_events->_vD2 || (_vm->_easyMouse && !_vm->_events->_vD4))  			scene._userInterface._category = _category; | 
