From 846f12cd65dd68d5ef6d635c220442dde561f08a Mon Sep 17 00:00:00 2001 From: Allanis Date: Sat, 3 Aug 2013 16:35:09 +0100 Subject: [PATCH] [Add] You can now target unknown system nodes to fly to them. --- src/map.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/map.c b/src/map.c index 6f6f3e7..a0ed2e4 100644 --- a/src/map.c +++ b/src/map.c @@ -687,14 +687,8 @@ StarSystem** map_getJumpPath(int* njumps, char* sysstart, char* sysend, int igno ssys = system_get(sysstart); /* Start. */ esys = system_get(sysend); /* End. */ - /* System target must be known. */ - if(!ignore_known && !sys_isKnown(esys)) { - if(space_sysReachable(esys)) { /* Can we still reach it? */ - res = malloc(sizeof(StarSystem*)); - (*njumps) = 1; - res[0] = esys; - return res; - } + /* System target must be known and reachable. */ + if(!ignore_known && !sys_isKnown(esys) && !space_sysReachable(esys)) { /* Can't reach - Don't make path. */ (*njumps) = 0; return NULL; @@ -714,7 +708,9 @@ StarSystem** map_getJumpPath(int* njumps, char* sysstart, char* sysend, int igno for(i = 0; i < cur->sys->njumps; i++) { sys = &systems_stack[cur->sys->jumps[i]]; - if(!ignore_known && !sys_isKnown(sys)) continue; + /* Make sure it's reachable. */ + if(!ignore_known && (!sys_isKnown(sys) && !space_sysReachable(esys))) + continue; neighbour = A_newNode(sys, NULL);