Import of Empire 4.2.12
This commit is contained in:
commit
d8b7fdfae1
817 changed files with 126589 additions and 0 deletions
66
scripts/mapper/pgmmap.awk
Normal file
66
scripts/mapper/pgmmap.awk
Normal file
|
@ -0,0 +1,66 @@
|
|||
#!/bin/awk -f
|
||||
|
||||
#
|
||||
# Convert a deity dump file into a Portable GreyMap of country numbers
|
||||
#
|
||||
|
||||
function abs(x) {
|
||||
if (x>0) return x;
|
||||
return -x;
|
||||
}
|
||||
|
||||
/own +sect/ {
|
||||
getline;
|
||||
while (NF>2) {
|
||||
own[$2]=$1;
|
||||
des[$2]=substr($3,0,1);
|
||||
if ($1>max) max=$1;
|
||||
getline;
|
||||
}
|
||||
}
|
||||
|
||||
/own x y des/ {
|
||||
getline;
|
||||
while (NF>2) {
|
||||
own[$2,$3]=$1;
|
||||
des[$2,$3]=$4;
|
||||
if ($1>max) max=$1;
|
||||
if ($2 < left) left=$2;
|
||||
if ($2 > right) right=$2;
|
||||
if ($3 < top) top=$3;
|
||||
if ($3 > bottom) bottom=$3;
|
||||
getline;
|
||||
}
|
||||
}
|
||||
|
||||
/^World size is [0-9]+ by [0-9]+./ {
|
||||
width = $4;
|
||||
height= $6 + 0;
|
||||
left=-width/2;
|
||||
right=width/2-1;
|
||||
top= -height/2;
|
||||
bottom = height/2-1;
|
||||
}
|
||||
|
||||
END {
|
||||
printf("P2\n%d %d\n255\n",right-left+2,bottom-top+1);
|
||||
for (y=top;y<=bottom;y++) {
|
||||
printf("\n");
|
||||
if (y%2) {
|
||||
color=own[right,y];
|
||||
if (color==0 && des[right,y]!=".") color=254;
|
||||
printf("%d\n",color);
|
||||
}
|
||||
for (x=left + abs(y%2);x<=right;x+=2) {
|
||||
color=own[x,y];
|
||||
if (color==0 && des[x,y]!=".") color=254;
|
||||
printf("%d %d\n",color,color);
|
||||
}
|
||||
if (!(y%2)) {
|
||||
color=own[left,y];
|
||||
if (color==0 && des[left,y]!=".") color=254;
|
||||
printf("%d\n",color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue