fixed converter to handle the new format
[supertux.git] / contrib / 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",    77],
11    ['X', "brick0.png",    77],
12    ['y', "brick1.png",    78],
13    ['Y', "brick1.png",    78],
14    ['A', "box-full.png",  83],
15    ['B', "box-full.png",  83],
16    ['!', "box-full.png",  83],
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    ['g', "bkgd-00.png",   93],
27    ['h', "bkgd-01.png",   94],
28    ['i', "bkgd-02.png",   95],
29    ['j', "bkgd-03.png",   96],
30    ['G', "bkgd-10.png",   97],
31    ['H', "bkgd-11.png",   98],
32    ['I', "bkgd-12.png",   99],
33    ['J', "bkgd-13.png",  100],
34    ['#', "solid0.png",    11],
35    ['[', "solid1.png",    13], 
36    ['=', "solid2.png",    14],
37    [']', "solid3.png",    15],
38    ['$', "distro",        82],
39    ['^', "water",         76],
40    ['*', "poletop.png",   80],
41    ['|', "pole.png",      79],
42    ['\\',"flag.png",      81],
43    ['&', "water.png",     75]]
44
45 def translate(c):
46     for i in translate_array:
47         if c == i[0]:
48             return i[2]
49     print >>sys.stderr, "Couldn't translate tile %s" % c
50     return 0
51
52 if len(sys.argv) != 2:
53     print "Usage: %s FILENAME" % sys.argv[0]
54     sys.exit()
55
56 print ";; Converting:", sys.argv[1]
57
58 f = open(sys.argv[1], 'r')
59 mycontent = f.readlines()
60
61 content = []
62
63 for i in mycontent:
64     content.append(i[:-1])
65
66 name       = content[0]
67 theme      = content[1]
68 time       = content[2]
69 music      = content[3]
70 background = content[4]
71 red        = content[5]
72 green      = content[6]
73 blue       = content[7]
74 width      = content[8]
75 height     = "15"
76 gravity    = content[9]
77
78 print "(supertux-level"
79 print "  (name \"%s\")" % name
80 print "  (theme \"%s\")" % theme
81 print "  (music \"%s\")" % music
82 print "  (background \"%s\")" % background
83 print "  (bkgd_red   %s)" % red
84 print "  (bkgd_green %s)" % green
85 print "  (bkgd_blue  %s)" % blue
86 print "  (time %s)" % time
87 print "  (width %s)" % width
88 print "  (gravity %s)" % gravity
89 print "  (interactive-tm "
90 for i in content[10:]:
91     for x in i:
92         sys.stdout.write("%3d" % translate(x))
93         sys.stdout.write(" ")
94     print ""
95 print "   )"
96 print ")"
97
98 # EOF #