emergency: fix reversed route distance rebase

This commit is contained in:
Richard Zink committed 2026-10-13 07:28:19 +02:00
1 parent f1dc1601a1
commit 4cb1e3a704
1 file changed
+8 -3
+8 -3
View File
@@ -3620,9 +3620,14 @@ function selectEmergencyRoutes() {
if (used[usedKey]) continue; if (used[usedKey]) continue;
used[usedKey] = true; used[usedKey] = true;
var route = emergencyChainAt(cand.net, cand.ci); var route = emergencyChainAt(cand.net, cand.ci);
if (cand.reverse) route.reverse(); if (cand.reverse) {
var base = route.length ? route[0].d : 0; route.reverse();
for (var rp = 0; rp < route.length; rp++) route[rp].d -= base; 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; var len = route.length ? route[route.length - 1].d : 0;
if (len <= 0) { if (len <= 0) {
routeFailures.push({ routeFailures.push({