You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
2.9 KiB
147 lines
2.9 KiB
import os |
|
|
|
tiles = { |
|
"floor": [ |
|
"00000000", |
|
"00010000", |
|
"00100000", |
|
"00000000", |
|
"00000001", |
|
"00000010", |
|
"00000000", |
|
"00001000", |
|
], |
|
"hedge": [ |
|
"12121121", |
|
"22322322", |
|
"12112112", |
|
"23223223", |
|
"11212112", |
|
"22322322", |
|
"12112121", |
|
"23223223", |
|
], |
|
"hedge_top": [ |
|
"00000000", |
|
"01111111", |
|
"12121121", |
|
"22322322", |
|
"11212112", |
|
"23223223", |
|
"12112121", |
|
"22322322", |
|
], |
|
"frame_tl": [ |
|
"33333333", |
|
"31111111", |
|
"31222222", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
], |
|
"frame_tr": [ |
|
"33333333", |
|
"11111113", |
|
"22222213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
], |
|
"frame_bl": [ |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31222222", |
|
"31111111", |
|
"33333333", |
|
], |
|
"frame_br": [ |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"22222213", |
|
"11111113", |
|
"33333333", |
|
], |
|
"frame_t": [ |
|
"33333333", |
|
"11111111", |
|
"22222222", |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
], |
|
"frame_b": [ |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
"00000000", |
|
"22222222", |
|
"11111111", |
|
"33333333", |
|
], |
|
"frame_l": [ |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
"31200000", |
|
], |
|
"frame_r": [ |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
"00000213", |
|
], |
|
} |
|
|
|
def to_gb_format(lines): |
|
bytes_arr = [] |
|
for line in lines: |
|
lo = 0 |
|
hi = 0 |
|
for i, char in enumerate(line): |
|
val = int(char) |
|
if val & 1: |
|
lo |= (1 << (7 - i)) |
|
if val & 2: |
|
hi |= (1 << (7 - i)) |
|
bytes_arr.append(lo) |
|
bytes_arr.append(hi) |
|
return bytes_arr |
|
|
|
with open("src/mockup_gfx.c", "w") as f: |
|
f.write('#include "mockup_gfx.h"\n\n') |
|
f.write('const unsigned char MockupTileData[] = {\n') |
|
|
|
for name, art in tiles.items(): |
|
b = to_gb_format(art) |
|
f.write(' // ' + name + '\n') |
|
f.write(' ' + ', '.join(f"0x{val:02X}" for val in b) + ',\n') |
|
|
|
f.write('};\n') |
|
|
|
with open("src/mockup_gfx.h", "w") as f: |
|
f.write('#ifndef MOCKUP_GFX_H\n#define MOCKUP_GFX_H\n\n') |
|
f.write('extern const unsigned char MockupTileData[];\n') |
|
f.write('#endif\n') |
|
|
|
print("Generato mockup_gfx.c e .h")
|
|
|