2022-01-16 13:32:51 +00:00
|
|
|
#!/usr/bin/env python3
|
2022-01-15 15:21:30 +00:00
|
|
|
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)
|
|
|
|
|
2022-01-15 17:27:23 +00:00
|
|
|
name = sys.argv[1].rsplit(".", 1)[0]
|
|
|
|
if len(sys.argv) == 3 and sys.argv[2] == 'reversed':
|
|
|
|
data = [''.join(reversed(line)) for line in data]
|
|
|
|
name = name + '_reversed'
|
|
|
|
|
|
|
|
print(f'enum palette {name}[] = {{')
|
2022-01-15 15:21:30 +00:00
|
|
|
for line in data:
|
|
|
|
print('\t' + ', '.join(colours[char] for char in line) + ',')
|
|
|
|
print('};')
|