aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorWalter van Niftrik2009-10-30 04:47:02 +0000
committerWalter van Niftrik2009-10-30 04:47:02 +0000
commit27df03a18efb31fd89ed1a4efbb057d2b302e7fa (patch)
tree685047ce3beac4bb2eab48175f1042acb8e0b1af /engines
parentdba613ecd254906c1fb4128ddecfae3121dc39d5 (diff)
downloadscummvm-rg350-27df03a18efb31fd89ed1a4efbb057d2b302e7fa.tar.gz
scummvm-rg350-27df03a18efb31fd89ed1a4efbb057d2b302e7fa.tar.bz2
scummvm-rg350-27df03a18efb31fd89ed1a4efbb057d2b302e7fa.zip
SCI: AvoidPath: Add workaround for pathfinding problem when Patti walks to
control room in LSL5, room 660. svn-id: r45522
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kpathing.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/kpathing.cpp b/engines/sci/engine/kpathing.cpp
index e64d24296e..cc47f1abef 100644
--- a/engines/sci/engine/kpathing.cpp
+++ b/engines/sci/engine/kpathing.cpp
@@ -1470,6 +1470,14 @@ static PathfindingState *convert_polygon_set(EngineState *s, reg_t poly_list, Co
return NULL;
}
+ // WORKAROUND LSL5 room 660. Priority glitch due to us choosing a different path
+ // than SSCI. Happens when Patti walks to the control room.
+ if ((s->_gameName == "lsl5") && (s->currentRoomNumber() == 660) && (Common::Point(67, 131) == *new_start) && (Common::Point(229, 101) == *new_end)) {
+ debug(1, "[avoidpath] Applying fix for priority problem in LSL5, room 660");
+ pf_s->_prependPoint = new_start;
+ new_start = new Common::Point(77, 107);
+ }
+
if (s->_gameName == "longbow" && s->currentRoomNumber() == 210)
fixLongbowRoom210(pf_s, *new_start, *new_end);