コード例 #1
0
    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)
コード例 #2
0
 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)