5 package require "elite" "1.0.1"
6 package require "vector" "1.0.0"
7 package require "graph" "1.0.0"
9 set gg {1 2 3 4 5 6 7 8}
13 for {set i 0} {$i < [llength $argv]} {incr i} {
14 set a [lindex $argv $i]
18 set maxdist [expr {int([lindex $argv $i] * 10)}]
22 set minratio [lindex $argv $i]
29 puts stderr "usage: $argv0 \[-maxdist DIST\] \[-minratio RATIO\] \[GALAXY\] ..."
38 if {[llength $argv] > $i} {
39 set gg [lrange $argv $i end]
43 destructure {. gs} [parse-galaxy-spec $g]
44 set l [elite-galaxylist $gs]
51 set v [vector {256 256} -1]
54 foreach {ww xx yy} $a($w) {
56 $v set $i $j [elite-distance $x $y $xx $yy]
60 destructure {lv pv} [graph-shortest-path $v]
62 elite-adjacency b $l $maxdist
65 foreach {ww xx yy} $b($w) {
66 set d [elite-distance $x $y $xx $yy]
67 if {$d <= 70 || [string compare $w $ww] > 0} { continue }
69 set dd [$lv get $i $j]
70 set r [expr {$dd/"$d.0"}]
71 if {$r >= $minratio} {
72 puts [format "%14s %s -> %s %4.1f %5.1f (%4.1f)" \
73 $g [world-brief $w] [world-brief $ww] \
74 [expr {$d/10.0}] [expr {$dd/10.0}] $r]