#! /bin/sh
# (next line not seen by tcl) \
exec tclsh $0 ${1+"$@"}    # goto tcl

### parms
set seed 0
set outdir .
set lut val2rgb.lut

### procs
proc random { limit } {
  return [expr int($limit.0 * rand())]
}

### help
if {$argc != 3 && $argc != 4} {
  puts ""
  puts "use: mkrandlut <minval> <maxval> <step> \[seed\]"
  puts ""
  puts "  make random color lookup table for csurf tksurfer (linear .val)"
  puts "  outfile: $lut (to current dir, e.g.,\" scripts\" or a scandir)"
  puts ""
  exit
}
set minval [lindex $argv 0]
set maxval [lindex $argv 1]
set step   [lindex $argv 2]
if {$argc == 4} { set seed [lindex $argv 3] }

### check overwrite, dir
if [file exists $lut] {
  puts "\nfile $lut exists, overwrite? (Y/n)"
  set resp [read stdin 1]
  if {"$resp" == "n" || "$resp" == "N"} { puts "$lut not overwritten"; exit }
}

### go
set i 0
cd $outdir
set id [open $lut w 0644]
expr srand($seed)
for {set val $minval} {$val <= $maxval} {set val [expr $val + $step]} {
  puts $id "$val [random 255] [random 255] [random 255]"
  incr i
}
close $id
puts "wrote $outdir/$lut ($i lines)"
