diff options
| -rw-r--r-- | engines/scumm/boxes.cpp | 12 | ||||
| -rw-r--r-- | engines/scumm/script_v5.cpp | 7 | ||||
| -rw-r--r-- | engines/scumm/scumm.cpp | 3 | ||||
| -rw-r--r-- | engines/scumm/verbs.cpp | 20 | 
4 files changed, 19 insertions, 23 deletions
| diff --git a/engines/scumm/boxes.cpp b/engines/scumm/boxes.cpp index 051cba5a13..faba99d509 100644 --- a/engines/scumm/boxes.cpp +++ b/engines/scumm/boxes.cpp @@ -1043,11 +1043,11 @@ bool ScummEngine::areBoxesNeighbours(int box1nr, int box2nr) {  	box2 = getBoxCoordinates(box1nr);  	box = getBoxCoordinates(box2nr); -	// Roughly, the idea of this algorithm is to check if we can find -	// two sides of the two given boxes which touch. +	// Roughly, the idea of this algorithm is to search for sies of the given +	// boxes that touch each other.  	// In order to keep te code simple, we only match the upper sides;  	// then, we "rotate" the box coordinates four times each, for a total -	// of 16 comparisions (four sides compared with four sides each). +	// of 16 comparisions.  	for (int j = 0; j < 4; j++) {  		for (int k = 0; k < 4; k++) {  			// Are the "upper" sides of the boxes on a single vertical line @@ -1165,9 +1165,9 @@ void Actor::findPathTowardsOld(byte box1, byte box2, byte finalBox, Common::Poin   * Compute the "gate" between two boxes. The gate is a pair of two lines which   * both start on box 'box1' and end on 'box2'. For both lines, one of its   * end points is the corner point of one of the two boxes. The other end point - * is a point on the other point closest to first end point. - * This way the lines bound a 'corridor' between the two boxes, through which - * the actor has to walk to get from box1 to box2. + * is the point on the other box closest to the first end point. + * This way the lines form the boundary of a 'corridor' between the two boxes, + * through which the actor has to walk to get from box1 to box2.   */  void getGates(const BoxCoords &box1, const BoxCoords &box2, Common::Point gateA[2], Common::Point gateB[2]) {  	int i, j; diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp index 99e45137de..5db60d1180 100644 --- a/engines/scumm/script_v5.cpp +++ b/engines/scumm/script_v5.cpp @@ -2161,7 +2161,6 @@ void ScummEngine_v5::o5_startSound() {  	// WORKAROUND: In the scene where Largo is talking to Mad Marty, the  	// Woodtick music often resumes before Largo's theme has finished. As  	// far as I can tell, this is a script bug. -  	if (_game.id == GID_MONKEY2 && sound == 110 && _sound->isSoundRunning(151)) {  		debug(1, "Delaying Woodtick music until Largo's theme has finished\n");  		_scriptPointer = oldaddr; @@ -2230,8 +2229,8 @@ void ScummEngine_v5::o5_startScript() {  	getWordVararg(data); -	// FIXME: Script 171 loads a complete room resource, instead of the actual script. -	// Causing invalid opcode cases, see bug #1290485 +	// WORKAROUND bug #1290485: Script 171 loads a complete room resource, +	// instead of the actual script, causing invalid opcode cases  	if (_game.id == GID_ZAK && _game.platform == Common::kPlatformFMTowns && script == 171)  		return; @@ -2379,7 +2378,7 @@ void ScummEngine_v5::o5_verbOps() {  		case 5:		// SO_VERB_AT  			vs->curRect.left = getVarOrDirectWord(PARAM_1);  			vs->curRect.top = getVarOrDirectWord(PARAM_2); -			// Macintosh verison of indy3ega used different interface, so adjust values. +			// Macintosh version of indy3ega used different interface, so adjust values.  			if ((_game.platform == Common::kPlatformMacintosh) && (_game.id == GID_INDY3)) {  				switch (verb) {  				case 1: diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 9dc8bce477..7b4331bca6 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -2215,9 +2215,8 @@ GUI::Debugger *ScummEngine::getDebugger() {  void ScummEngine::errorString(const char *buf1, char *buf2) {  	if (_currentScript != 0xFF) { -		ScriptSlot *ss = &vm.slot[_currentScript];  		sprintf(buf2, "(%d:%d:0x%lX): %s", _roomResource, -			ss->number, (long)(_scriptPointer - _scriptOrgPointer), buf1); +			vm.slot[_currentScript].number, (long)(_scriptPointer - _scriptOrgPointer), buf1);  	} else {  		strcpy(buf2, buf1);  	} diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp index 8272795e6b..0efb37ea19 100644 --- a/engines/scumm/verbs.cpp +++ b/engines/scumm/verbs.cpp @@ -619,17 +619,15 @@ void ScummEngine::verbMouseOver(int verb) {  	if (_game.id == GID_FT)  		return; -	if (_verbMouseOver == verb) -		return; - -	if (_verbs[_verbMouseOver].type != kImageVerbType) { -		drawVerb(_verbMouseOver, 0); -		_verbMouseOver = verb; -	} - -	if (_verbs[verb].type != kImageVerbType && _verbs[verb].hicolor) { -		drawVerb(verb, 1); -		_verbMouseOver = verb; +	if (_verbMouseOver != verb) { +		if (_verbs[_verbMouseOver].type != kImageVerbType) { +			drawVerb(_verbMouseOver, 0); +		} +	 +		if (_verbs[verb].type != kImageVerbType && _verbs[verb].hicolor) { +			drawVerb(verb, 1); +			_verbMouseOver = verb; +		}  	}  } | 
