def read(self, reader: ByteIO):
    (self.triangle_count, self.triangle_offset, self.skin_ref, self.normal_count, self.normal_offset) = reader.read_fmt('5i')
    with reader.save_current_pos():
        reader.seek(self.triangle_offset)
        for _ in range((self.triangle_count * 3)):
            trivert = StudioTrivert()
            trivert.read(reader)
            self.triangles.append(trivert)
def read(self, reader: ByteIO):
    (self.triangle_count, self.triangle_offset, self.skin_ref, self.normal_count, self.normal_offset) = reader.read_fmt('5i')
    with reader.save_current_pos():
        reader.seek(self.triangle_offset)
        for _ in range((self.triangle_count * 3)):
            trivert = StudioTrivert()
            trivert.read(reader)
            self.triangles.append(trivert)