def save(self, spath=None): self.__recalculate__() if spath is None: spath = self.path with open(spath, 'wb') as file: writer = FileStream(file) if len(self.omcb_header) > 0: writer.write_string(self.omcb_header) writer.write_int(self.size) writer.write_int(0) writer.write_string(self.header) writer.write_int(self.size) writer.write_int(self.text_count) writer.write_int_array(self.offsets) writer.write_string_array(self.files) for idx, text_bytes in enumerate(self.texts_raw): if self.has_extras(): extra_bytes = self.extras[idx].to_byte_array() writer.write_int_array(extra_bytes) writer.write_int_array(text_bytes) writer.write_int(0xFFFF)
def write_to_stream(self, writer: FileStream): writer.write_int_array(self.u1) writer.write_int(self.id) writer.write_int_array(self.u2) writer.write_float(self.x) writer.write_float(self.y) writer.write_int_array(self.u3) writer.write_int(self.k1) writer.write_int_array(self.u4) writer.write_string(self.type, pad_bytes=8) writer.write_int_array(self.u5)