pastebin free apex coins struct FStaticMeshSection4 // Apex Legends Mobile (new2) int32 unk_index, unk_verts; Ar.Seek(Ar.Tell() + 28); Ar << unk_index; Ar.Seek(Ar.Tell() + unk_index * 2); Ar << unk_verts; Ar.Seek(Ar.Tell() + unk_verts * 16); #if DAUNTLESS pastebin free apex coins How to dowload it? pastebin free apex coins if (Ar.Game == GAME_Dauntless) Ar.Seek(Ar.Tell()+8); // 8 zero-filled bytes here #endif //?? Has editor-only data? return Ar; ---------------------------------------------------- struct FStaticMeshLODModel4 // Crackdown 3 & Apex Legends Mobile pastebin free apex coins How to dowload it? pastebin free apex coins int32 unk_size, unk; Ar << unk_size << unk; FStripDataFlags StripFlags(Ar); Ar << Lod.Sections; ... uint32 SerializedBuffersSize, DepthOnlyIBSize, ReversedIBsSize; pastebin free apex coins How to get it for free? pastebin free apex coins if (!bIsLODCookedOut) Ar << SerializedBuffersSize << DepthOnlyIBSize << ReversedIBsSize; ---------------------------------------------------- static void SerializeBuffers // Apex Legends Mobile (new2) for (int i = 0; i < 2; i++) { pastebin free apex coins How to dowload it? pastebin free apex coins FColorVertexBuffer4 DummyColorVertexBuffer; Ar << DummyColorVertexBuffer; } Ar << Lod.IndexBuffer; ---------------------------------------------------- struct FColorVertexBuffer4 pastebin free apex coins PasteShr pastebin free apex coins // Apex Legends Mobile (beta) if (S.Stride > 4) { SkipBulkArrayData(Ar); return Ar; } DBG_MESH("ColorStream: IS:%d NV:%d\n", S.Stride, S.NumVertices); ---------------------------------------------------- pastebin free apex coins PasteShr pastebin free apex coins postprocessing after Lods.Serialize2(Ar) // Apex Legends Mobile (new2) Ar.Seek(Ar.Tell() + 4); Ar << Bounds; if (Ar.Game >= GAME_UE4(15) && Ar.Game < GAME_UE4(16)) goto no_LODShareStaticLighting; pastebin free apex coins PasteShr pastebin free apex coins // Apex Legends Mobile (new) int32 Count; Ar << Count; Ar.Seek(Ar.Tell() + Count * 12); ... // Apex Legends Mobile Ar.Seek(Ar.Tell() + 4); pastebin free apex coins PasteShr pastebin free apex coins unguard; } // end of FStaticMeshRenderData ... if (bHasOccluderData) { // Apex Legends Mobile int unkSize; Ar << unkSize; pastebin free apex coins How to get it for free? pastebin free apex coins for (int i = 0; i < unkSize; i++) { Ar.Seek(Ar.Tell() + 16 * 4); int elemSize; Ar << elemSize; Ar.Seek(Ar.Tell() + elemSize * 16); } Ar << unkSize; Ar.Seek(Ar.Tell() + unkSize * 12); } pastebin free apex coins How to get it for free? pastebin free apex coins ---------------------------------------------------- scaling from ExtendedBounds (doesnt work properly from Bounds) // Apex Legends Mobile (new2) UStaticMesh4* LoadingMesh = (UStaticMesh4*)UObject::GLoadingObj; FVector Scale = LoadingMesh->ExtendedBounds.BoxExtent; Scale.Scale(2); for (FStaticMeshLODModel4& Lod : Lods) pastebin free apex coins How to use it? pastebin free apex coins { if (Lod.PositionVertexBuffer.Stride == 12) // depends on implementation of unpacking { for (FVector& V : Lod.PositionVertexBuffer.Verts) V.Scale(Scale); } } pastebin free apex coins