def __init__(self, reader: BinaryStream): self.stripFlags = FStripDataFlags(reader) self.sections = reader.readTArray_W_Arg(FStaticMeshSection, reader) self.maxDeviation = reader.readFloat() if reader.game < GAME_UE4(23): if not self.stripFlags.isDataStrippedForServer( ) and not self.stripFlags.isClassDataStripped(CDSF_MinLodData): self.serializeBuffer_legacy(reader) return self.is_lod_cooked_out = reader.readBool() self.inlined = reader.readBool() if not self.stripFlags.isDataStrippedForServer( ) and not self.is_lod_cooked_out: pos = reader.tellfake() if self.inlined: self.serializeBuffer(reader) else: bulk: FByteBulkData = FByteBulkData( reader, ubulk=reader.ubulk_stream, bulkOffset=reader.PackageReader.PackageFileSummary. BulkDataStartOffset) if bulk.Header.ElementCount > 0: tr = BinaryStream(bulk.Data) tr.game = reader.game tr.version = reader.version self.serializeBuffer(tr) reader.readUInt32() # DepthOnlyNumTriangles reader.readUInt32() # PackedData reader.seek(4 * 4 + 2 * 4 + 2 * 4 + 6 * (2 * 4), 1) """ StaticMeshVertexBuffer = 2x int32, 2x bool PositionVertexBuffer = 2x int32 ColorVertexBuffer = 2x int32 IndexBuffer = int32 + bool ReversedIndexBuffer DepthOnlyIndexBuffer ReversedDepthOnlyIndexBuffer WireframeIndexBuffer AdjacencyIndexBuffer """ # FStaticMeshBuffersSize reader.readUInt32() # SerializedBuffersSize reader.readUInt32() # DepthOnlyIBSize reader.readUInt32() # ReversedIBsSize
def __init__(self, reader: BinaryStream): # probably crash self.position = reader.base_stream.tell() self.InterpMode = ERichCurveInterpMode( int.from_bytes(reader.readByte(), byteorder="little")) self.TangentMode = ERichCurveTangentMode( int.from_bytes(reader.readByte(), byteorder="little")) self.TangentWeightMode = ERichCurveTangentWeightMode( int.from_bytes(reader.readByte(), byteorder="little")) self.KeyTime = reader.readFloat() self.KeyValue = reader.readFloat() self.ArriveTangent = reader.readFloat() self.ArriveTangentWeight = reader.readFloat() self.LeaveTangent = reader.readFloat() self.LeaveTangentWeight = reader.readFloat()
def __init__(self, reader: BinaryStream): self.position = reader.base_stream.tell() self.R = reader.readFloat() self.G = reader.readFloat() self.B = reader.readFloat() self.A = reader.readFloat()
def __init__(self, reader: BinaryStream): self.position = reader.base_stream.tell() self.Pitch = reader.readFloat() self.Yaw = reader.readFloat() self.Roll = reader.readFloat()
def __init__(self, reader: BinaryStream): super().__init__() self.Cooked = reader.readBool() self.Value = reader.readFloat()
def __init__(self, reader: BinaryStream): self.position = reader.base_stream.tell() self.X = reader.readFloat() self.Y = reader.readFloat() self.Z = reader.readFloat() self.W = reader.readFloat()
def __init__(self, reader: BinaryStream): super().__init__() self.Origin = FVector(reader) self.BoxExtent = FVector(reader) self.SphereRadius = reader.readFloat()
def __init__(self, reader: BinaryStream): self.bInitialized = reader.readBool() self.bOverrideDensities = reader.readBool() self.LocalUVDensities = [ reader.readFloat() for _ in range(TEXSTREAM_MAX_NUM_UVCHANNELS) ]
def __init__(self, reader: BinaryStream): self.Prob = reader.readTArray(reader.readFloat) self.Alias = reader.readTArray(reader.readInt32) self.TotalWeight = reader.readFloat()
def __init__(self, reader: BinaryStream): self.position = reader.base_stream.tell() self.KeyTime = reader.readFloat() self.KeyValue = reader.readFloat()