diff options
| -rw-r--r-- | engines/sherlock/tattoo/tattoo_talk.cpp | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/engines/sherlock/tattoo/tattoo_talk.cpp b/engines/sherlock/tattoo/tattoo_talk.cpp index e61873ced9..d0c4bdc3b0 100644 --- a/engines/sherlock/tattoo/tattoo_talk.cpp +++ b/engines/sherlock/tattoo/tattoo_talk.cpp @@ -239,15 +239,15 @@ OpcodeReturn TattooTalk::cmdWalkHolmesToCoords(const byte *&str) {  	People &people = *_vm->_people;  	++str; -	int x = (str[0] - 1) * 256 + str[1] - 1; -	if (x > 16384) -		x = -1 * (x - 16384); -	warning("TODO: cmdWalkHolmesToCoords - call RT walkToCoords variant"); -	people[HOLMES].walkToCoords( -		Point32(x * FIXED_INT_MULTIPLIER, ((str[2] - 1) * 256 + str[3] - 1) * FIXED_INT_MULTIPLIER), -		DIRECTION_CONVERSION[str[4] - 1] -		//HOLMES -	); +	int xp = (str[0] - 1) * 256 + str[1] - 1; +	if (xp > 16384) +		// Negative X +		xp = -1 * (xp - 16384); +	int yp = (str[2] - 1) * 256 + str[3] - 1; +	 +	people[HOLMES].walkToCoords(Point32(xp * FIXED_INT_MULTIPLIER, yp * FIXED_INT_MULTIPLIER), +		DIRECTION_CONVERSION[str[4] - 1]); +  	if (_talkToAbort)  		return RET_EXIT;  | 
