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