switcher/tile_compiler.py

33 lines
795 B
Python
Executable File

#!python
import sys
with open(sys.argv[1], 'r') as f:
lines = [line.rstrip('\n') for line in f]
colours = {}
colour_lines = True
data = []
for i, line in enumerate(lines):
linenum = i + 1
if colour_lines and line == '----------':
colour_lines = False
continue
if colour_lines:
char = line[0]
colour = line[1:]
colours[char] = colour
elif len(line) != 10:
print(f'{sys.argv[0]}: {sys.argv[1]}: line {linenum} is {len(line)} wide, expected 10', file=sys.stderr)
sys.exit(1)
else:
data.append(line)
if len(data) != 10:
print(f'{sys.argv[0]}: {sys.argv[1]}: {len(data)} lines of data, expected 10', file=sys.stderr)
print(f'enum palette {sys.argv[1].rsplit(".", 1)[0]}[] = {{')
for line in data:
print('\t' + ', '.join(colours[char] for char in line) + ',')
print('};')