[Scummvm-cvs-logs] SF.net SVN: scummvm:[51450] scummvm/trunk/engines/sci/engine/kpathing.cpp
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Thu Jul 29 01:31:00 CEST 2010
Revision: 51450
http://scummvm.svn.sourceforge.net/scummvm/?rev=51450&view=rev
Author: thebluegr
Date: 2010-07-28 23:30:59 +0000 (Wed, 28 Jul 2010)
Log Message:
-----------
SCI: Break out instead of continuing when an end point is contained in multiple polygons, while running the avoidpath algorithm (or we'll end up in an infinite loop). Fixes bug #3036299 - "LB2CD: Game Hangs at Speakeasy"
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/kpathing.cpp
Modified: scummvm/trunk/engines/sci/engine/kpathing.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kpathing.cpp 2010-07-28 23:24:35 UTC (rev 51449)
+++ scummvm/trunk/engines/sci/engine/kpathing.cpp 2010-07-28 23:30:59 UTC (rev 51450)
@@ -988,8 +988,13 @@
if (cont != CONT_OUTSIDE) {
if (s->_appendPoint != NULL) {
// We shouldn't get here twice
+ // Happens in LB2CD, inside the speakeasy when walking from the
+ // speakeasy (room 310) into the bathroom (room 320), after having
+ // consulted the notebook (bug #3036299).
+ // We need to break in this case, otherwise we'll end in an infinite
+ // loop.
warning("AvoidPath: end point is contained in multiple polygons");
- continue;
+ break;
}
// The original end position is in an invalid location, so we move the point
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list