| #!/bin/rc |
| |
| rfork en |
| |
| # F FEATUREs, M map files, A other arguments |
| FEATURE=no |
| |
| if (~ $MAPPROG '') |
| MAPPROG=/bin/aux/mapd |
| |
| if (~ $MAPDIR '') |
| MAPDIR=/lib/map |
| |
| F=(); M=(); A=(); |
| for (i) { |
| switch ($FEATURE) { |
| case no |
| switch ($i) { |
| case -f |
| FEATURE=yes |
| F=($F) |
| case * |
| A=($A $i) |
| } |
| case yes |
| switch ($i) { |
| case -f |
| case -* |
| A=($A $i) |
| FEATURE=no |
| case riv*2 |
| F=($F 201 202) |
| case riv*3 |
| F=($F 201 202 203) |
| case riv*4 |
| F=($F 201 202 203 204) |
| case riv* |
| F=($F 201) |
| case iriv*2 |
| F=($F 206 207) |
| case iriv*[34] |
| F=($F 206 207 208) |
| case iriv* |
| F=($F 206) |
| case coast*2 shore*2 lake*2 |
| F=($F 102) |
| case coast*3 shore*3 lake*3 |
| F=($F 102 103) |
| case coast*4 shore*4 lake*4 |
| F=($F 102 103 104) |
| case coast* shore* lake* |
| case ilake*[234] ishore*[234] |
| F=($F 106 107) |
| case ilake* ishore* |
| F=($F 106) |
| case reef* |
| F=($F 108) |
| case canal*2 |
| F=($F 210 211) |
| case canal*[34] |
| F=($F 210 211 212) |
| case canal* |
| F=($F 210) |
| case glacier* |
| F=($F 115) |
| case state* province* |
| F=($F 401) |
| case countr*2 |
| F=($F 301 302) |
| case countr*[34] |
| F=($F 301 302 303) |
| case countr* |
| F=($F 301) |
| case salt*[234] |
| F=($F 109 110) |
| case salt* |
| F=($F 109) |
| case ice*[234] shel*[234] |
| F=($F 113 114) |
| case ice* shel* |
| F=($F 113) |
| case * |
| echo map: unknown feature $i >[1=2] |
| exits "unknown feature" |
| } |
| } |
| } |
| |
| for (j in $F) { |
| if (test -r $MAPDIR/$j) |
| M=($M $MAPDIR/$j) |
| } |
| |
| if (~ $F ?*) { |
| if (test -r $MAPDIR/101) |
| M=(101 $M) |
| M=(-m $M) |
| } |
| |
| if (~ $MAP '') |
| MAP=world |
| |
| MAP=$MAP MAPDIR=$MAPDIR $MAPPROG $A $M |