summaryrefslogtreecommitdiff
path: root/python_convert.py
diff options
context:
space:
mode:
Diffstat (limited to 'python_convert.py')
-rw-r--r--python_convert.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/python_convert.py b/python_convert.py
new file mode 100644
index 000000000..eca14bf12
--- /dev/null
+++ b/python_convert.py
@@ -0,0 +1,35 @@
+import re
+import argparse
+
+def convert(file):
+ open_file = open(file, 'r')
+ lines = open_file.readlines()
+ lines_out = []
+ for line in lines:
+ if re.match(r" *\{\{ *-*\d+, *-*\d+, *-*\d+\}, *\{ *-*\d+, *-*\d+\}, *\{.*, *.*, *.*, *.*\}\},\n", line):
+ get_number:str = re.findall(r"\{\{ *-*\d+, *-*\d+, *-*\d+\}, *\{ *-*\d+, *-*\d+}, *\{(.*, *.*, *.*), *.*\}\},", line)
+ if get_number[0].startswith("MACRO_COLOR_FLAG"):
+ lines_out.append(line)
+ continue
+ r, g, b = get_number[0].split(',')
+ r = int(r.strip(), 16)
+ g = int(g.strip(), 16)
+ b = int(b.strip(), 16)
+ flag = r & 0b11 | (g<<2) & 0b1100
+ r = r & ~0b11
+ g = g & ~0b11
+ out = f"MACRO_COLOR_FLAG({r:#04x}, {g:#04x}, {b:#04x}, {flag})"
+ lines_out.append(re.sub(r"( *\{\{ *-*\d+, *-*\d+, *-*\d+\}, *\{ *-*\d+, *-*\d+\}, *\{).*, *.*, *.*(, *.*\}\},\n)", fr"\1{out}\2", line))
+ else:
+ lines_out.append(line)
+
+ return lines_out
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description='Convert colors')
+ parser.add_argument('file', metavar='file', type=str, help='input file', nargs='+')
+ args = parser.parse_args()
+ for file in args.file:
+ lines = convert(file)
+ open_file = open(file, 'w')
+ open_file.writelines(lines) \ No newline at end of file