Updated addon repository URL and improved debug output on download
[supertux.git] / tools / levelconverter-0.0.6_0.0.7.py
1 #!/usr/bin/python
2
3 import sys
4
5 translate_array \
6  =[['.', "none",           0],
7    ['0', "enemy0",         0],
8    ['1', "enemy1",         1],
9    ['2', "enemy2",         2],
10    ['x', "brick0.png",   105],
11    ['X', "brick0.png",    77],
12    ['y', "brick1.png",   104],
13    ['Y', "brick1.png",    78],
14    ['A', "box-full.png",  83],
15    ['B', "box-full.png", 102],
16    ['!', "box-full.png", 103],
17    ['a', "box-empty.png", 84],
18    ['C', "cloud-00.png",  85],
19    ['D', "cloud-00.png",  86],
20    ['E', "cloud-00.png",  87],
21    ['F', "cloud-00.png",  88],
22    ['c', "cloud-00.png",  89],
23    ['d', "cloud-00.png",  90],
24    ['e', "cloud-00.png",  91],
25    ['f', "cloud-00.png",  92],
26    
27    ['G', "bkgd-00.png",   93],
28    ['H', "bkgd-01.png",   94],
29    ['I', "bkgd-02.png",   95],
30    ['J', "bkgd-03.png",   96],
31    
32    ['g', "bkgd-10.png",   97],
33    ['h', "bkgd-11.png",   98],
34    ['i', "bkgd-12.png",   99],
35    ['j', "bkgd-13.png",  100],
36    
37    ['#', "solid0.png",    11],
38    ['[', "solid1.png",    13],
39    ['=', "solid2.png",    14],
40    [']', "solid3.png",    15],
41    ['$', "distro",        82],
42    ['^', "water",         76],
43    ['*', "poletop.png",   80],
44    ['|', "pole.png",      79],
45    ['\\',"flag.png",      81],
46    ['&', "water.png",     75]]
47
48 def translate(c):
49     for i in translate_array:
50         if c == i[0]:
51             return i[2]
52     print >>sys.stderr, "Couldn't translate tile %s" % c
53     return 0
54
55 if len(sys.argv) != 2:
56     print "Usage: %s FILENAME" % sys.argv[0]
57     sys.exit()
58
59 print ";; Converting:", sys.argv[1]
60
61 f = open(sys.argv[1], 'r')
62 mycontent = f.readlines()
63
64 content = []
65
66 for i in mycontent:
67     content.append(i[:-1])
68
69 name       = content[0]
70 theme      = content[1]
71 time       = content[2]
72 music      = content[3]
73 background = content[4]
74 red        = content[5]
75 green      = content[6]
76 blue       = content[7]
77 width      = content[8]
78 height     = "15"
79 gravity    = content[9]
80
81 print "(supertux-level"
82 print "  (version 1)"
83 print "  (name \"%s\")" % name
84 print "  (theme \"%s\")" % theme
85 print "  (music \"%s\")" % music
86 print "  (background \"%s\")" % background
87 print "  (bkgd_red   %s)" % red
88 print "  (bkgd_green %s)" % green
89 print "  (bkgd_blue  %s)" % blue
90 print "  (time %s)" % time
91 print "  (width %s)" % width
92 print "  (gravity %s)" % gravity
93 print "  (interactive-tm "
94 for i in content[10:]:
95     for x in i:
96         sys.stdout.write("%3d" % translate(x))
97         sys.stdout.write(" ")
98     print ""
99 print "   )"
100
101 print "  (objects"
102 for y in range(0, 15):
103     for x in range(0, int(width)):
104         val = content[10 + y][x]
105         if val == '0':
106             print "  (bsod (x %d) (y %d))" % (x*32, y*32)
107         elif val == '1':
108             print "  (laptop (x %d) (y %d))" % (x*32, y*32)
109         elif val == '2':
110             print "  (money (x %d) (y %d))" % (x*32, y*32)
111 print "   )"
112
113 print ")"
114
115 # EOF #