From 3eef93d97b1db452f940ba97370f843e3520b02b Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 18 Jun 2006 09:00:58 +0000 Subject: [PATCH] (bestownedpath): Fix for impassable end sector. Broken in rev. 1.23. --- src/lib/common/bestpath.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/common/bestpath.c b/src/lib/common/bestpath.c index 0733ef90..fe250192 100644 --- a/src/lib/common/bestpath.c +++ b/src/lib/common/bestpath.c @@ -114,6 +114,8 @@ bestownedpath(char *bpath, char *bigmap, if (!valid(x, y) || !valid(ex, ey)) return NULL; + if (!owned_and_navigable(bigmap, ex, ey, own)) + return NULL; for (i = 0; i < WORLD_X; i++) for (j = 0; j < WORLD_Y; j++) @@ -145,6 +147,8 @@ bestownedpath(char *bpath, char *bigmap, ty = YNORM(ty); if (mapindex[tx][ty] == 0xFFFF) { if (owned_and_navigable(bigmap, tx, ty, own)) { + if (CANT_HAPPEN(i < DIR_FIRST || i > DIR_LAST)) + i = DIR_STOP; mapindex[tx][ty] = ((i - DIR_FIRST + 1) << 13) + routelen; markedsectors++;