Merge updated Nether portals, https://git.minetest.land/Wuzzy/MineClone2/issues/804
[MineClone/MineClone2.git] / tools / create_texture__mcl_portals_portal.py
blobf2b1e1524ef27c8f7847fb7f2c69818c6899c615
1 import png
2 w, h = 64, 256;
3 s = [[int(0) for c in range(w)] for c in range(h)]
5 def line(y1, x1, y2, x2, v):
6 signx = 1
7 signy = 1
8 dx = x2 - x1
9 dy = y2 - y1
10 if dx < 0:
11 dx = - dx
12 signx = -1
13 if dy < 0:
14 dy = - dy
15 signy = -1
16 offsx = dx/2
17 offsy = dy/2
18 dir1 = 0
19 if dx >= dy:
20 dir1 = 1
21 for i in range(max(dx, dy)+1):
22 if v==2:
23 s[x1][y1]=1-s[x1][y1]
24 else:
25 s[x1][y1] = v
26 if dir1 == 1:
27 x1 += signx
28 offsy += dy
29 if offsy >= dx:
30 y1 += signy
31 offsy -= dx
32 else:
33 y1 += signy
34 offsx += dx
35 if offsx >= dy:
36 x1 += signx
37 offsx -= dy
39 # R, G, B, Alpha (0xFF = opaque):
40 palette=[(0x00,0x00,0xaf,0xa0), (0x7f,0x0f,0xaf,0xb8)]
42 for j in range(16):
43 i = j * 4
44 line(i, 0, 63-i, 63, 2)
45 line(63, i, 0, 63-i, 2)
46 i+=1
47 line(i, 64, 63-i, 127, 2)
48 line(63, 64+i, 0, 127-i, 2)
49 i+=1
50 line(i, 128, 63-i, 191, 2)
51 line(63, 128+i, 0, 191-i, 2)
52 i+=1
53 line(i, 192, 63-i, 255, 2)
54 line(63, 192+i, 0, 255-i, 2)
56 w = png.Writer(len(s[0]), len(s), palette=palette, bitdepth=1)
57 f = open('mcl_portals_portal.png', 'wb')
58 w.write(f, s)