+set g $galaxy1
+set sortcol 0
+set usage "usage: $argv0 \[-g GALAXY\] \[-s SORT\] \[FROM TO\]"
+for {set i 0} {$i < [llength $argv]} {incr i} {
+ switch -glob -- [lindex $argv $i] {
+ "-g" {
+ incr i
+ set a [lindex $argv $i]
+ set g [parse-galaxy-spec $a]
+ if {[string equal $g ""]} {
+ puts stderr "$argv0: bad galaxy string `$a'"
+ exit 1
+ }
+ destructure {. g} $g
+ }
+ "-s" {
+ incr i
+ set a [lindex $argv $i]
+ switch -- $a {
+ "min" - "minimum" { set sortcol 1 }
+ "avg" - "average" { set sortcol 2 }
+ "max" - "maximum" { set sortcol 3 }
+ default {
+ puts stderr "$argv0: unknown sort type: `$a' (must be `min', `max' or `avg'"
+ exit 1
+ }
+ }
+ }
+ "--" {
+ incr i
+ break
+ }
+ "-*" {
+ puts stderr $usage
+ exit 1
+ }
+ default {
+ break
+ }
+ }
+}
+
+set argv [lrange $argv $i end]
+switch -exact -- [llength $argv] {
+ 0 { }
+ 2 {
+ destructure {fp tp} $argv
+ set from [get-world $fp]
+ set to [get-world $tp]
+ foreach {p s} [list $fp $from $tp $to] {
+ if {[string equal $s ""]} {
+ puts stderr "$argv0: bad planet spec `$p'"
+ exit 1
+ }
+ }
+ }
+ default {
+ puts stderr $usage
+ exit 1
+ }
+}
+
+set pp [check-profits $from $to]
+if {$sortcol} {
+ set pp [lsort -index $sortcol -real -decreasing $pp]
+}
+foreach i $pp {
+ destructure {t min avg max} $i
+ puts [format "%-15s %6.1f %5.1f %5.1f" $t \
+ [expr {$min/10.0}] [expr {$avg/10.0}] [expr {$max/10.0}]]