~adrian-arroyocalle/freerct/freerct

« back to all changes in this revision

Viewing changes to graphics/sprites/terrain/foundation/mask/IJM_GenerateFoundationMasks.txt

  • Committer: charlespigott at googlemail
  • Date: 2013-07-09 17:30:05 UTC
  • Revision ID: svn-v4:d3bf82d2-0c16-e458-5408-27be57bd1276:trunk:780
-Codechange: Reorganise the project files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
path=getDirectory("");
 
2
 
 
3
tilew=newArray(64, 128, 256);
 
4
slfac=0.25;
 
5
borderfac=8;
 
6
boffs=newArray(0, 0, 0, 0, 0);
 
7
dotdensity=4;
 
8
 
 
9
nlayouts=3;
 
10
simgs=newArray(nlayouts);
 
11
timgs=newArray(nlayouts);
 
12
 
 
13
//setBatchMode(true);
 
14
for (i=0; i<lengthOf(tilew); i++) {
 
15
        for (j=0; j<nlayouts; j++) {
 
16
                newImage("Temp1", "8-bit Black", tilew[i], tilew[i], 5*2);
 
17
                simgs[j]=getImageID();
 
18
        }
 
19
        for (c=0; c<5; c++) {
 
20
                for (o=0; o<2; o++) {
 
21
                        selectImage(simgs[0]);
 
22
                        setSlice(c*2+o+1);
 
23
                        makeSele(tilew[i], slfac, 0, 0, 255, o, c);
 
24
                        selectImage(simgs[1]);
 
25
                        setSlice(c*2+o+1);
 
26
                        makeSele(tilew[i], slfac, 0, 0, 255, o, c);
 
27
                        twtmp=tilew[i]-2*tilew[i]/borderfac;
 
28
                        twxoff=tilew[i]/borderfac;
 
29
                        if (o==0) {
 
30
                                twxoff+=0.5*tilew[i]/borderfac;
 
31
                        } else {
 
32
                                twxoff-=0.5*tilew[i]/borderfac;
 
33
                        }
 
34
                        twyoff=(boffs[c]+0.5)*tilew[i]/borderfac;
 
35
                        makeSele(twtmp, slfac, twxoff, twyoff, 0, o, c);
 
36
                        run("Select All");
 
37
                        run("Copy");
 
38
                        selectImage(simgs[2]);
 
39
                        setSlice(c*2+o+1);
 
40
                        run("Paste");
 
41
                        makeSele(twtmp, slfac, twxoff, twyoff, 128, o, c);
 
42
                        for (x=0; x<getWidth(); x++) {
 
43
                                for (y=0; y<getHeight(); y++) {
 
44
                                        if (x%dotdensity==0 && y%dotdensity==0 && getPixel(x, y)==128) {
 
45
                                                setPixel(x, y, 255);
 
46
                                        }
 
47
                                }
 
48
                        }
 
49
                        changeValues(0, 254, 0);
 
50
                }
 
51
        }
 
52
        for (j=0; j<nlayouts; j++) {
 
53
                selectImage(simgs[j]);
 
54
                run("Flip Vertically", "stack");
 
55
                newImage("Temp1", "8-bit Black", tilew[i]*2, tilew[i]*5, 1);
 
56
                timgs[j]=getImageID();
 
57
        }
 
58
        for (c=0; c<5; c++) {
 
59
                for (o=0; o<2; o++) {
 
60
                        for (j=0; j<nlayouts; j++) {
 
61
                                selectImage(simgs[j]);
 
62
                                setSlice(c*2+o+1);
 
63
                                run("Select All");
 
64
                                run("Copy");
 
65
                                setPasteMode("Copy");
 
66
                                selectImage(timgs[j]);
 
67
                                makeRectangle(o*tilew[i], c*tilew[i], tilew[i], tilew[i]);
 
68
                                run("Paste");
 
69
                        }
 
70
                }
 
71
        }
 
72
        for (j=0; j<nlayouts; j++) {
 
73
                selectImage(simgs[j]);
 
74
                close();
 
75
                selectImage(timgs[j]);
 
76
                if (j==0) {
 
77
                        str="";
 
78
                } else {
 
79
                        str=j;
 
80
                }
 
81
                saveAs("PNG", path+tilew[i]+"px"+str+".png");
 
82
                close();
 
83
        }
 
84
}
 
85
 
 
86
function makeSele(tilew, slfac, xoffs, yoffs, col, o, c) {
 
87
        slshift=tilew*slfac;
 
88
        xs=newArray(4);
 
89
        ys=newArray(4);
 
90
        xs[0]=tilew/2;
 
91
        xs[1]=tilew/2;
 
92
        ys[0]=0;
 
93
        ys[1]=slshift;
 
94
        ys[2]=tilew/4+slshift;
 
95
        ys[3]=tilew/4;
 
96
        if (o==0) {
 
97
                xs[2]=tilew;
 
98
                xs[3]=tilew;
 
99
        } else {
 
100
                xs[2]=0;
 
101
                xs[3]=0;
 
102
        }
 
103
        if (c==1) {
 
104
                ys[0]+=slshift;
 
105
        } else if (c==2) {
 
106
                ys[3]+=slshift;
 
107
        } else if (c==3) {
 
108
                ys[1]-=slshift;
 
109
        } else if (c==4) {
 
110
                ys[2]-=slshift;
 
111
        }
 
112
        for (i=0; i<lengthOf(xs); i++) {
 
113
                xs[i]+=xoffs;
 
114
                ys[i]+=yoffs;
 
115
        }
 
116
        makeSelection("polygon", xs, ys);
 
117
        setColor(col);
 
118
        getRawStatistics(area);
 
119
        if (area!=0) {
 
120
                fill();
 
121
        }
 
122
        run("Select None");
 
123
}