def read(self, reader: ByteIO): self.file_hash = reader.read_uint32() self.type_hash = reader.read_uint32() self.fileNo = reader.read_uint16() self.part_count = reader.read_uint16() self.unk4 = reader.read_uint32() self.size1 = reader.read_uint64() self.total_size = reader.read_uint64()
def read(self, reader: ByteIO): self.name_offset = reader.read_uint32() self.hash = reader.read_uint32() self.type = reader.read_uint16() self.loader_index = reader.read_uint16() self.name = reader.read_from_offset(0x90 + self.name_offset, reader.read_ascii_string)
def read(self, reader: ByteIO): self.hash = reader.read_uint32() self.name_offset = reader.read_uint32() self.name = reader.read_from_offset(0x90 + self.name_offset, reader.read_ascii_string) self.unknown08 = reader.read_uint32() self.unknown0C = reader.read_uint32() self.unknown10 = reader.read_uint32()
def read(self, reader: ByteIO): self.name = reader.read_ascii_string() self.index = reader.read_uint32() self.offset = reader.read_uint32() self.size = reader.read_uint32() self.type_map_elements = reader.read_uint32() self.types = [reader.read_uint32() for _ in range(self.type_map_elements)] return self
def read(self, reader: ByteIO): self.name_hash = reader.read_uint32() self.type_hash = reader.read_uint32() self.fileNo = reader.read_uint16() self.size = reader.read_uint16() self.unk4 = reader.read_uint32() self.size1 = reader.read_uint64() self.size2 = reader.read_uint64()
def read(self, reader: ByteIO, is_x64=True): if is_x64: self.name_offset = reader.read_uint64() else: self.name_offset = reader.read_uint32() self.type_hash = reader.read_uint32() self.loader_type = reader.read_uint32() self.symbol_start = reader.read_uint32() self.symbols_to_resolve = reader.read_uint32() self.name = reader.read_from_offset(0x90 + self.name_offset, reader.read_ascii_string)
def read(self, reader: ByteIO): self.unk1 = reader.read_uint32() self.unk2 = reader.read_uint32() self.size = reader.read_uint32() self.offset = reader.read_uint32() self.file_hash = reader.read_uint32() self.unk6 = reader.read_uint32() self.type_hash = reader.read_uint32() self.unk8 = reader.read_uint32()
def read(self, reader: ByteIO): self.magic = reader.read_uint32() self.magic_s = "%X" % self.magic self.version = reader.read_uint32() self.face_count = reader.read_uint32() self.vertex_count = reader.read_uint32() self.vertex_size = reader.read_uint32() self.texture_count = reader.read_uint32() self.shader_count = reader.read_uint32() self.attrib_count = reader.read_uint32() self.read_attributes(reader) self.read_textures(reader) self.read_shaders(reader) self.read_indexes(reader) self.read_vertexes(reader)
def read(self, reader: ByteIO): items = reader.get_items() for item in items: item.seek_to() if item.type == 20: self.chunk_name = reader.read_ascii_string(reader.read_int32()) if item.type == 21: self.name = reader.read_ascii_string(reader.read_int32()) if item.type == 100: self.temp_path = reader.read_ascii_string(reader.read_int32()) if item.type == 1: items2 = item.get_items() for item2 in items2: item2.seek_to() if item2.type == 30: item2.seek_to() self.size = reader.read_uint32() if item2.type == 31: self.data = reader.read_bytes(self.size)
def read(self, reader: ByteIO): self.unknown00 = reader.read_uint32() self.unknown08 = reader.read_uint64()
def read(self, reader: ByteIO): items = reader.get_items() for item in items: item.seek_to() if item.type == 20: self.chunk_name = reader.read_ascii_string(reader.read_int32()) if item.type == 21: self.name = reader.read_ascii_string(reader.read_int32()) print(self.name) if item.type == 1: items2 = item.get_items() for item2 in items2: item2.seek_to() if item2.type == 10: reader.skip(3) items4 = item2.get_items() for item4 in items4: item4.seek_to() flag = reader.read_fmt('BBBB') print(flag) if flag == (7, 0, 65, 0): #bone items5 = item4.get_items() for item5 in items5: print(item5) item5.seek_to() if item5.type == 20: b_name = reader.read_ascii_string( reader.read_int32()) print('\t', b_name) self.bone_names.append(b_name) if item5.type == 24: items6 = item5.get_items() for item6 in items6: item6.seek_to() if item6.type == 21: self.frame_count = reader.read_uint32( ) if item6.type == 22: self.frame_offset = reader.tell( ) if self.frame_offset and self.frame_count: for _ in range(self.frame_count): self.anim_data.append( reader.read_bytes(16)) if item5.type == 25: items6 = item5.get_items() for item6 in items6: item6.seek_to() if item6.type == 21: items7 = item5.get_items() for item7 in items7: item7.seek_to() if item7.type == 22: self.frame_count = reader.read_uint32( ) if item7.type == 23: self.frame_offset = reader.tell( ) if item7.type == 30: self.frame_count2 = reader.read_uint32( ) if item7.type == 31: self.frame_offset2 = reader.tell( ) if self.frame_offset and self.frame_count: reader.seek(self.frame_offset) for _ in range(self.frame_count): self.anim_data2.append( reader.read_bytes(6)) if self.frame_offset2 and self.frame_count2: reader.seek(self.frame_offset2) for _ in range(self.frame_count2): self.anim_data3.append( reader.read_bytes(8))
def read(self, reader: ByteIO): self.name_offset = reader.read_uint32() self.name = reader.read_from_offset(0x90 + self.name_offset, reader.read_ascii_string)
def read(self, reader: ByteIO, archive_name_table_offset): self.nameIndex = reader.read_uint32() self.Block1a = reader.read_uint16() self.Block1b = reader.read_uint16() self.Block2a = reader.read_uint16() self.Block2b = reader.read_uint16() self.sub_header_count = reader.read_uint32() self.file_data_header_count = reader.read_uint16() self.file_type_header_count = reader.read_uint16() self.Block5a = reader.read_uint16() self.Block5b = reader.read_uint16() self.embedded_file_count = reader.read_uint32() self.relocation_num = reader.read_uint32() self.asset_count = reader.read_uint32() self.ovs_offset = reader.read_uint32() self.size_extra = reader.read_uint32() self.packed_size = reader.read_uint32() self.unpacked_size = reader.read_uint32() self.Unknown2 = reader.read_uint32() self.Unknown3 = reader.read_uint32() self.Header2Size = reader.read_uint32() self.Unknown5 = reader.read_uint32() self.name = reader.read_from_offset( archive_name_table_offset + self.nameIndex, reader.read_ascii_string)
def read(self, reader: ByteIO, archive_name_table_offset): self.name_offset = reader.read_uint32() self.name = reader.read_from_offset( archive_name_table_offset + self.name_offset, reader.read_ascii_string) self.unknown04 = reader.read_uint32() self.unknown08 = reader.read_uint32() self.fh2_count = reader.read_uint32() self.fh3_count = reader.read_uint16() self.headerTypeCnt = reader.read_uint16() self.zero14 = reader.read_uint32() self.unknown18 = reader.read_uint32() self.file_count = reader.read_uint32() self.symbol_count = reader.read_uint32() self.compressed_data_start = reader.read_uint32() self.unknown28 = reader.read_uint32() self.comp_size = reader.read_uint32() self.uncomp_size = reader.read_uint32() self.zero34 = reader.read_uint32() self.unknown38 = reader.read_uint32() self.header2_size = reader.read_uint32() self.unknown40 = reader.read_uint32()
def read(self, reader: ByteIO): self.file_hash = reader.read_uint32() self.local_type_hash = reader.read_uint32() self.chunk_id = reader.read_int32() self.offset = reader.read_int32()
def read(self, reader: ByteIO): self.name_hash = reader.read_uint32() self.type_hash = reader.read_uint32() self.chunk_id = reader.read_int32() self.offset = reader.read_int32()
def read(self, reader: ByteIO): self.unknown00 = reader.read_uint32() self.data_size = reader.read_uint32()
def read(self, reader: ByteIO): self.section1 = reader.read_uint32() self.offset1 = reader.read_uint32() self.section2 = reader.read_int32() self.offset2 = reader.read_int32()
def read(self, reader: ByteIO): self.sig = reader.read_fourcc() assert self.sig == 'FRES' self.flags, self.version, self.need_bswap, self.unknown07 = reader.read_fmt( '4B') self.flags2 = reader.read_uint32() self.unknown0C = reader.read_uint32() self.names_length = reader.read_uint32() self.unknown2_count = reader.read_uint32() self.other_count = reader.read_uint32() self.dir_count = reader.read_uint16() self.type_count = reader.read_uint16() self.file_count = reader.read_uint32() self.file_count2 = reader.read_uint32() self.part_count = reader.read_uint32() self.archive_count = reader.read_uint32() self.unknown30 = reader.read_uint32() self.unknown34 = reader.read_uint32() self.unknown38 = reader.read_uint32() self.unknown3C = reader.read_uint32() self.unknown_count = reader.read_uint32() self.unknown44 = reader.read_uint32() self.unknown48 = reader.read_uint32() self.unknown4C = reader.read_uint32() self.archive_names_length = reader.read_uint32() self.file_count3 = reader.read_uint32() self.type_names_length = reader.read_uint32() self.zero0C = reader.read_uint32() self.zero10 = reader.read_uint32() self.zero14 = reader.read_uint32() self.zero18 = reader.read_uint32() self.zero1C = reader.read_uint32() self.zero20 = reader.read_uint32() self.zero24 = reader.read_uint32() self.zero28 = reader.read_uint32() self.zero2C = reader.read_uint32() self.zero30 = reader.read_uint32() self.zero34 = reader.read_uint32() self.zero38 = reader.read_uint32() self.zero3C = reader.read_uint32()
def read_indexes(self, reader: ByteIO): self.indexes = [(reader.read_uint32(), reader.read_uint32(), reader.read_uint32()) for _ in range(self.face_count)]