Add idle animation
This commit is contained in:
64
scripts/extract_common.py
Normal file
64
scripts/extract_common.py
Normal file
@@ -0,0 +1,64 @@
|
||||
class ExtractFileWriter:
|
||||
indent_width = 4
|
||||
indent_level = 0
|
||||
indention = ""
|
||||
|
||||
def __init__(self, name):
|
||||
self.name = name.upper()
|
||||
|
||||
def indent(self):
|
||||
self.indent_level += self.indent_width
|
||||
self.indention = " " * self.indent_level
|
||||
|
||||
def unindent(self):
|
||||
self.indent_level -= self.indent_width
|
||||
self.indention = " " * self.indent_level
|
||||
|
||||
def header_guard_start(self):
|
||||
print(f"#ifndef {self.name}")
|
||||
print(f"#define {self.name}")
|
||||
print()
|
||||
|
||||
def header_guard_stop(self):
|
||||
print(f"#endif // {self.name}")
|
||||
|
||||
def include(self, header):
|
||||
print(f"#include {header}")
|
||||
|
||||
def enum_start(self, name):
|
||||
print(f"{self.indention}typedef enum {name} {{")
|
||||
self.indent()
|
||||
|
||||
def enum_stop(self, name):
|
||||
self.unindent()
|
||||
print(f"}} {name};")
|
||||
print()
|
||||
|
||||
def enum_list(self, name, enums):
|
||||
self.enum_start(name)
|
||||
for enum in enums:
|
||||
print(f"{self.indention}{enum},")
|
||||
self.enum_stop(name)
|
||||
|
||||
def enum_dict(self, name, enums):
|
||||
self.enum_start(name)
|
||||
for enum, v in enums.items():
|
||||
print(f"{self.indention}{enum} = {v},")
|
||||
self.enum_stop(name)
|
||||
|
||||
def output(self, out):
|
||||
print(f"{self.indention}{out}", end="")
|
||||
|
||||
def output_line(self):
|
||||
print()
|
||||
|
||||
def only_output(self, out):
|
||||
print(out, end="")
|
||||
|
||||
def block_start(self):
|
||||
print(f"{{")
|
||||
self.indent()
|
||||
|
||||
def block_end(self):
|
||||
self.unindent()
|
||||
print(f"{self.indention}}}")
|
||||
Reference in New Issue
Block a user