xref: /plan9/rc/bin/map (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier#!/bin/rc
2*3e12c5d1SDavid du Colombier
3*3e12c5d1SDavid du Colombierrfork en
4*3e12c5d1SDavid du Colombier
5*3e12c5d1SDavid du Colombier# F FEATUREs, M map files, A other arguments
6*3e12c5d1SDavid du ColombierFEATURE=no
7*3e12c5d1SDavid du Colombier
8*3e12c5d1SDavid du Colombierif (~ $MAPPROG '')
9*3e12c5d1SDavid du Colombier	MAPPROG=/bin/aux/mapd
10*3e12c5d1SDavid du Colombier
11*3e12c5d1SDavid du Colombierif (~ $MAPDIR '')
12*3e12c5d1SDavid du Colombier	MAPDIR=/lib/map
13*3e12c5d1SDavid du Colombier
14*3e12c5d1SDavid du ColombierF=(); M=(); A=();
15*3e12c5d1SDavid du Colombierfor (i) {
16*3e12c5d1SDavid du Colombier	switch ($FEATURE) {
17*3e12c5d1SDavid du Colombier	case no
18*3e12c5d1SDavid du Colombier		switch ($i) {
19*3e12c5d1SDavid du Colombier		case -f
20*3e12c5d1SDavid du Colombier			FEATURE=yes
21*3e12c5d1SDavid du Colombier			F=($F)
22*3e12c5d1SDavid du Colombier		case *
23*3e12c5d1SDavid du Colombier			A=($A $i)
24*3e12c5d1SDavid du Colombier		}
25*3e12c5d1SDavid du Colombier	case yes
26*3e12c5d1SDavid du Colombier		switch ($i) {
27*3e12c5d1SDavid du Colombier		case -f
28*3e12c5d1SDavid du Colombier		case -*
29*3e12c5d1SDavid du Colombier			A=($A $i)
30*3e12c5d1SDavid du Colombier			FEATURE=no
31*3e12c5d1SDavid du Colombier		case riv*2
32*3e12c5d1SDavid du Colombier			F=($F 201 202)
33*3e12c5d1SDavid du Colombier		case riv*3
34*3e12c5d1SDavid du Colombier			F=($F 201 202 203)
35*3e12c5d1SDavid du Colombier		case riv*4
36*3e12c5d1SDavid du Colombier			F=($F 201 202 203 204)
37*3e12c5d1SDavid du Colombier		case riv*
38*3e12c5d1SDavid du Colombier			F=($F 201)
39*3e12c5d1SDavid du Colombier		case iriv*2
40*3e12c5d1SDavid du Colombier			F=($F 206 207)
41*3e12c5d1SDavid du Colombier		case iriv*[34]
42*3e12c5d1SDavid du Colombier			F=($F 206 207 208)
43*3e12c5d1SDavid du Colombier		case iriv*
44*3e12c5d1SDavid du Colombier			F=($F 206)
45*3e12c5d1SDavid du Colombier		case coast*2 shore*2 lake*2
46*3e12c5d1SDavid du Colombier			F=($F 102)
47*3e12c5d1SDavid du Colombier		case coast*3 shore*3 lake*3
48*3e12c5d1SDavid du Colombier			F=($F 102 103)
49*3e12c5d1SDavid du Colombier		case coast*4 shore*4 lake*4
50*3e12c5d1SDavid du Colombier			F=($F 102 103 104)
51*3e12c5d1SDavid du Colombier		case coast* shore* lake*
52*3e12c5d1SDavid du Colombier		case ilake*[234] ishore*[234]
53*3e12c5d1SDavid du Colombier			F=($F 106 107)
54*3e12c5d1SDavid du Colombier		case ilake* ishore*
55*3e12c5d1SDavid du Colombier			F=($F 106)
56*3e12c5d1SDavid du Colombier		case reef*
57*3e12c5d1SDavid du Colombier			F=($F 108)
58*3e12c5d1SDavid du Colombier		case canal*2
59*3e12c5d1SDavid du Colombier			F=($F 210 211)
60*3e12c5d1SDavid du Colombier		case canal*[34]
61*3e12c5d1SDavid du Colombier			F=($F 210 211 212)
62*3e12c5d1SDavid du Colombier		case canal*
63*3e12c5d1SDavid du Colombier			F=($F 210)
64*3e12c5d1SDavid du Colombier		case glacier*
65*3e12c5d1SDavid du Colombier			F=($F 115)
66*3e12c5d1SDavid du Colombier		case state* province*
67*3e12c5d1SDavid du Colombier			F=($F 401)
68*3e12c5d1SDavid du Colombier		case countr*2
69*3e12c5d1SDavid du Colombier			F=($F 301 302)
70*3e12c5d1SDavid du Colombier		case countr*[34]
71*3e12c5d1SDavid du Colombier			F=($F 301 302 303)
72*3e12c5d1SDavid du Colombier		case countr*
73*3e12c5d1SDavid du Colombier			F=($F 301)
74*3e12c5d1SDavid du Colombier		case salt*[234]
75*3e12c5d1SDavid du Colombier			F=($F 109 110)
76*3e12c5d1SDavid du Colombier		case salt*
77*3e12c5d1SDavid du Colombier			F=($F 109)
78*3e12c5d1SDavid du Colombier		case ice*[234] shel*[234]
79*3e12c5d1SDavid du Colombier			F=($F 113 114)
80*3e12c5d1SDavid du Colombier		case ice* shel*
81*3e12c5d1SDavid du Colombier			F=($F 113)
82*3e12c5d1SDavid du Colombier		case *
83*3e12c5d1SDavid du Colombier			echo map: unknown feature $i >[1=2]
84*3e12c5d1SDavid du Colombier			exits "unknown feature"
85*3e12c5d1SDavid du Colombier		}
86*3e12c5d1SDavid du Colombier	}
87*3e12c5d1SDavid du Colombier}
88*3e12c5d1SDavid du Colombier
89*3e12c5d1SDavid du Colombierfor (j in $F) {
90*3e12c5d1SDavid du Colombier	if (test -r $MAPDIR/$j)
91*3e12c5d1SDavid du Colombier		M=($M $MAPDIR/$j)
92*3e12c5d1SDavid du Colombier}
93*3e12c5d1SDavid du Colombier
94*3e12c5d1SDavid du Colombierif (~ $F ?*) {
95*3e12c5d1SDavid du Colombier	if (test -r $MAPDIR/101)
96*3e12c5d1SDavid du Colombier		M=(101 $M)
97*3e12c5d1SDavid du Colombier	M=(-m $M)
98*3e12c5d1SDavid du Colombier}
99*3e12c5d1SDavid du Colombier
100*3e12c5d1SDavid du Colombierif (~ $MAP '')
101*3e12c5d1SDavid du Colombier	MAP=world
102*3e12c5d1SDavid du Colombier
103*3e12c5d1SDavid du ColombierMAP=$MAP MAPDIR=$MAPDIR $MAPPROG $A $M
104