diff --git a/vendor/clouds3d.js b/vendor/clouds3d.js index 1396ceb..7fb270c 100644 --- a/vendor/clouds3d.js +++ b/vendor/clouds3d.js @@ -3620,9 +3620,14 @@ function selectEmergencyRoutes() { if (used[usedKey]) continue; used[usedKey] = true; var route = emergencyChainAt(cand.net, cand.ci); - if (cand.reverse) route.reverse(); - var base = route.length ? route[0].d : 0; - for (var rp = 0; rp < route.length; rp++) route[rp].d -= base; + if (cand.reverse) { + route.reverse(); + var maxD = route.length ? route[0].d : 0; + for (var rp = 0; rp < route.length; rp++) route[rp].d = maxD - route[rp].d; + } else if (route.length) { + var base = route[0].d; + for (var rp2 = 0; rp2 < route.length; rp2++) route[rp2].d -= base; + } var len = route.length ? route[route.length - 1].d : 0; if (len <= 0) { routeFailures.push({