From: Ian Jackson Date: Sun, 25 Jul 2010 14:08:28 +0000 (+0100) Subject: use invented icons for unknown ship classes X-Git-Tag: 6.6.0~1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=commitdiff_plain;h=a3b33e44585826206ea6ccd78cac39f452bf0daf use invented icons for unknown ship classes --- diff --git a/yarrg/where-vessels b/yarrg/where-vessels index 5af2dfa..092e8da 100755 --- a/yarrg/where-vessels +++ b/yarrg/where-vessels @@ -275,8 +275,6 @@ proc vesselclasses-init {} { manyset $vessel_class_data classinfos subclassinfos set vc_codes {} - set vc_code2abbrev(zz) vcunk - load-icon vcunk foreach {game code abbrev full} $classinfos { if {![regexp {^[a-z][a-z]$} $code code]} { error "bad code" } if {![regexp {^[a-z][a-z]$} $abbrev abbrev]} { error "bad abbrev" } @@ -363,8 +361,14 @@ proc code2canvas {code canvas x yvar qty qtylen bind} { incr stackx } + upvar #0 vc_code2abbrev($class) vcabb + if {![info exists vcabb]} { + set vcabb vc-$class + image create bitmap icon/$vcabb -data \ + [exec pbmtext -builtin fixed $class | pnminvert | pnmcrop >t.pnm] + } canvas-horiz-stack stackx -1 $imy $bind \ - image -anchor nw -image icon/$vc_code2abbrev($class) + image -anchor nw -image icon/$vcabb if {[string length $subclass]} { canvas-horiz-stack stackx 0 $y $bind \ @@ -604,11 +608,19 @@ proc vessel {vin} { set gameclass [errexpect-arrayget vi vesselClass] upvar #0 vc_game2code($gameclass) class - if {[info exists class]} { - lappend codel $class - } else { - lappend codel zz + if {![info exists class]} { + set class "($gameclass)" + upvar #0 vc_code2abbrev($class) vcabb + set vcabb vc-$class + set data [exec pbmtext -builtin fixed " $gameclass " \ + | pnminvert | pnmcrop | pbmtoxbm] + debug "INVENTED ICON $vcabb $data" + image create bitmap icon/$vcabb -data $data + + global vc_code2full + set vc_code2full($class) "Type \"$gameclass\"" } + lappend codel $class set gamesubclass [errexpect-arrayget vi vesselSubclass] upvar #0 vsc_game2code($gamesubclass) subclass