Import of Empire 4.2.12

This commit is contained in:
Markus Armbruster 2003-08-23 12:23:04 +00:00
commit d8b7fdfae1
817 changed files with 126589 additions and 0 deletions

85
scripts/mapper/over.awk Normal file
View file

@ -0,0 +1,85 @@
#!/bin/awk -f
# Parse report and generate pbmtext commands for each country
# Now generates new positions as an average of all sectors.
BEGIN {
if (scale=="") scale=1;
FS="[ \t\n,]+";
}
/^World size is [0-9]+ by [0-9]+./ {
width = $4;
height= $6;
system("ppmmake white " (width+1)*scale " " height*scale " | ppmtopgm | pgmtopbm >over.pbm");
}
/.*#.*name.*tech.*research.*education.*happiness.*cap-location/ {
getline;
while (NF>4) {
if ($2>0 && $2<90) {
name[$2]=substr($0,8,15);
capx[$2]= $(NF-1);
capy[$2]= $NF;
}
getline;
}
}
/own +sect/ {
getline;
while (NF>2) {
if ($2 in name) {
if (!count[$2]) {
cx[$2] = $3;
cy[$2] = $4;
} else {
dx = $3 - cx[$2];
dy = $4 - cy[$2];
if (dx>=width/2) dx -= width;
if (dy>=height/2) dy -= height;
if (dx<-width/2) dx += width;
if (dy<-height/2) dy += height;
cx[$2] += dx/(1+count[$2]);
cy[$2] += dy/(1+count[$2]);
}
count[$2]++;
}
getline;
}
}
END {
for (i in name) {
if (count[i]) {
system("pbmtext \"" name[i] "\" | pnmcrop >text.pbm");
system("pnmfile text.pbm >text.size");
getline < "text.size";
close("text.size");
h=$NF;
w=$(NF-2);
x = cx[i] + width/2;
y = cy[i] + height/2;
while (x<0) x += width;
while (y<0) y += height;
while (x>=width) x -= width;
while (y>=height) y -= height;
x = int(x*scale);
y = int(y*scale);
x -= w/2;
y -= h/2;
if (x<0) x=0;
if (y<0) y=0;
if (x+w>=width*scale) x=width*scale-w-1;
if (y+h>=height*scale) y=height*scale-h-1;
system("pnmpaste text.pbm " x " " y " over.pbm > over2.pbm");
system("cp over2.pbm over.pbm");
}
}
}