[Add] You can now target unknown system nodes to fly to them.

This commit is contained in:
Allanis 2013-08-03 16:35:09 +01:00
parent 6ebb90dc23
commit 846f12cd65

View File

@ -687,14 +687,8 @@ StarSystem** map_getJumpPath(int* njumps, char* sysstart, char* sysend, int igno
ssys = system_get(sysstart); /* Start. */ ssys = system_get(sysstart); /* Start. */
esys = system_get(sysend); /* End. */ esys = system_get(sysend); /* End. */
/* System target must be known. */ /* System target must be known and reachable. */
if(!ignore_known && !sys_isKnown(esys)) { if(!ignore_known && !sys_isKnown(esys) && !space_sysReachable(esys)) {
if(space_sysReachable(esys)) { /* Can we still reach it? */
res = malloc(sizeof(StarSystem*));
(*njumps) = 1;
res[0] = esys;
return res;
}
/* Can't reach - Don't make path. */ /* Can't reach - Don't make path. */
(*njumps) = 0; (*njumps) = 0;
return NULL; 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++) { for(i = 0; i < cur->sys->njumps; i++) {
sys = &systems_stack[cur->sys->jumps[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); neighbour = A_newNode(sys, NULL);