[Scummvm-git-logs] scummvm master -> ef593ed8e33891200f80410a5aef6bd3e87f0a0a

bonki bonki at users.noreply.github.com
Mon Mar 19 23:32:19 CET 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
ef593ed8e3 TUCKER: Work around original game bug when using the map in the mall in part three


Commit: ef593ed8e33891200f80410a5aef6bd3e87f0a0a
    https://github.com/scummvm/scummvm/commit/ef593ed8e33891200f80410a5aef6bd3e87f0a0a
Author: Adrian Frühwirth (bonki at users.noreply.github.com)
Date: 2018-03-19T23:31:19+01:00

Commit Message:
TUCKER: Work around original game bug when using the map in the mall in part three

If you don't have the appointment card yet and use the map to go to
Seedy Street Bud ends up being teleported back to the mall.
Because of the destination coordinates which warp Bud past x==583
Violet's logic, which makes him refuse Bud entrance to the dentist,
triggers. On top of that the graphics end up all garbled which
indicates that even worse things happen under the hood.
To work around this we only trigger Violet if Bud actually _walked_
past the trigger coordinates (as opposed to using the map).

This fixes Trac#10452.

Changed paths:
    engines/tucker/locations.cpp


diff --git a/engines/tucker/locations.cpp b/engines/tucker/locations.cpp
index 28fca11..93f2451 100644
--- a/engines/tucker/locations.cpp
+++ b/engines/tucker/locations.cpp
@@ -2893,7 +2893,19 @@ void TuckerEngine::updateSprite_locationNum66_4(int i) {
 }
 
 void TuckerEngine::execData3PreUpdate_locationNum66() {
-	// FIXME: shouldn't be executed after using the map
+	// WORKAROUND
+	// If you don't have the appointment card yet and use the map to go to
+	// Seedy Street Bud ends up being teleported back to the mall.
+	// Because of the destination coordinates which warp Bud past x==583 the
+	// below 'if' triggers and automatically makes Violet refuse Bud entrance
+	// to the dentist. On top of that the graphics end up all garbled which
+	// indicates that even worse things happen under the hood.
+	// To work around this we only trigger Violet if Bud actually _walked_ past
+	// the trigger coordinates (as opposed to using the map).
+	// Fixes Trac#10452.
+	if (_nextLocationNum != 0)
+		return;
+
 	_flagsTable[137] = 0;
 	if (_xPosCurrent > 583 && _flagsTable[191] == 0 && _nextAction == 0 && _locationMaskType == 0) {
 		_panelLockedFlag = false;





More information about the Scummvm-git-logs mailing list