From d91e57f146b74b840ef7ac450cba4b0c4c64226a Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 4 Mar 2025 18:03:28 -0500 Subject: [PATCH] colors consts added to export from atrview v2 :] --- art/lumberjack_export.py | 53 +++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/art/lumberjack_export.py b/art/lumberjack_export.py index 614ea8e..006126a 100644 --- a/art/lumberjack_export.py +++ b/art/lumberjack_export.py @@ -1,11 +1,24 @@ import json +color_labels_used = set() + + def load_atrview(filename: str, page: int = 1) -> list[str]: with open(filename, 'rb') as f: - dta = json.loads(f.read().decode('utf-8-sig'))['Pages'][page-1]['View'] - return [dta[i*80:(i+1)*80][:64] for i in range(len(dta)//80)] + full_json = json.loads(f.read().decode('utf-8-sig')) + dta = full_json['Pages'][page - 1]['View'] + # very unpythonic side effect - printing colors consts + const_name = filename.replace('.atrview', '') + cols = full_json['Colors'] + for i, val in enumerate([cols[i:i + 2] for i in range(0, len(cols), 2)]): + color_label = const_name + 'p' + str(page) + 'c' + str(i) + if color_label not in color_labels_used: + print(color_label + ' = $' + val) + color_labels_used.add(color_label) + return [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] -def print_lines(dta, line_from: int, line_to:int): + +def print_lines(dta, line_from: int, line_to: int): for d in dta[line_from:line_to]: print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) @@ -13,31 +26,31 @@ def print_lines(dta, line_from: int, line_to:int): print('gamescreen_upper') dta = load_atrview('sky.atrview') print("power_bar") -print_lines(dta, 0,2) +print_lines(dta, 0, 2) print("branch0") -print_lines(dta, 2,7) +print_lines(dta, 2, 7) print("branch1") -print_lines(dta, 7,12) +print_lines(dta, 7, 12) print("branch2") -print_lines(dta, 12,17) -#print("branch3") -#print_lines(dta, 17,22) +print_lines(dta, 12, 17) +# print("branch3") +# print_lines(dta, 17,22) print() print('last_line_r') dta = load_atrview('phase1r.atrview') d = dta[-1] -print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('last_line_l') dta = load_atrview('phase1l.atrview') d = dta[-1] -print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('last_line_RIP') dta = load_atrview('rip.atrview') d = dta[-1] -print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print(""" .align $100 @@ -45,7 +58,7 @@ print(""" gamescreen_r_ph1p1 ; phase 1 page 1""") dta = load_atrview('phase1r.atrview') for l, d in enumerate(dta[-9:-1], 1): - print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('gamescreen_r_ph1p2 ; phase 1 page 2') dta = load_atrview('phase1r.atrview', page=2) @@ -54,7 +67,7 @@ print_lines(dta, -9, -1) print("gamescreen_r_ph2p1 ; phase 2 page 1") dta = load_atrview('phase2r.atrview') for l, d in enumerate(dta[-9:-1], 1): - print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('gamescreen_r_ph2p2 ; phase 2 page 2') dta = load_atrview('phase2r.atrview', page=2) @@ -146,11 +159,11 @@ gamescreen_l_ph1p1 ; phase 1 page 1""") # pj = load_atrview('phase1l.atrview') # print_lines(dta, -9, -1) with open('phase1l.atrview', 'rb') as f: - pj=json.loads(f.read().decode('utf-8-sig')) + pj = json.loads(f.read().decode('utf-8-sig')) dta = pj['Pages'][0]['View'] -dta = [dta[i*80:(i+1)*80][:64] for i in range(len(dta)//80)] +dta = [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] for l, d in enumerate(dta[-9:-1], 1): - print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('gamescreen_l_ph1p2 ; phase 1 page 2') dta = load_atrview('phase1l.atrview', page=2) @@ -248,11 +261,11 @@ print(""" ; RIP screens RIPscreen_l_nobranch ; page 1""") with open('rip.atrview', 'rb') as f: - pj=json.loads(f.read().decode('utf-8-sig')) + pj = json.loads(f.read().decode('utf-8-sig')) dta = pj['Pages'][0]['View'] -dta = [dta[i*80:(i+1)*80][:64] for i in range(len(dta)//80)] +dta = [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] for l, d in enumerate(dta[-9:-1], 1): - print(f' dta '+','.join([f'${d[i:i+2]}' for i in range(0, len(d), 2)])) + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) print('RIPscreen_r_nobranch ; page 2') dta = load_atrview('rip.atrview', page=2)