@@ -1384,13 +1384,14 @@ struct FStaticLODModel4
1384
1384
{
1385
1385
// todo
1386
1386
appError (" SkeletalMesh: LOD data in bulk" );
1387
+ // bulk, then bDiscardBulkData, then SerializeAvailabilityInfo
1387
1388
}
1388
1389
}
1389
1390
1390
1391
unguard;
1391
1392
}
1392
1393
1393
- // UE4.23 + serializer for most of LOD data
1394
+ // UE4.24 + serializer for most of LOD data
1394
1395
void SerializeStreamedData (FArchive& Ar)
1395
1396
{
1396
1397
guard (FStaticLODModel4::SerializeStreamedData);
@@ -1423,14 +1424,8 @@ struct FStaticLODModel4
1423
1424
if (HasClothData ())
1424
1425
Ar << ClothVertexBuffer;
1425
1426
1426
- // !! Try to share code with SerializeRenderItem_Legacy(), in this case Ar.Game >= GAME_UE4(23) will
1427
- // !! become usedful. The difference is that "Legacy" function also serializes Sections. ActiveBoneIndices
1428
- // !! and RequiredBones, plus it has extra "if" for vertex buffer serialization.
1429
- if (Ar.Game >= GAME_UE4 (23 ))
1430
- {
1431
- FSkinWeightProfilesData SkinWeightProfilesData;
1432
- Ar << SkinWeightProfilesData;
1433
- }
1427
+ FSkinWeightProfilesData SkinWeightProfilesData;
1428
+ Ar << SkinWeightProfilesData;
1434
1429
1435
1430
// todo: this is a copy-paste of SerializeRenderItem_Legacy code!
1436
1431
guard (BuildVertexData);
@@ -2025,12 +2020,15 @@ struct FStaticMeshLODModel4
2025
2020
DBG_STAT (" Serialize from bulk\n " );
2026
2021
FByteBulkData Bulk;
2027
2022
Bulk.Serialize (Ar);
2028
- // perform SerializeBuffers on bulk array
2029
- Bulk.SerializeData (UObject::GLoadingObj);
2023
+ if (Bulk.ElementCount > 0 )
2024
+ {
2025
+ // perform SerializeBuffers on bulk array
2026
+ Bulk.SerializeData (UObject::GLoadingObj);
2030
2027
2031
- FMemReader Reader (Bulk.BulkData , Bulk.ElementCount ); // ElementCount is the same as data size, for byte bulk data
2032
- Reader.SetupFrom (*UObject::GLoadingObj->GetPackageArchive ());
2033
- SerializeBuffers (Reader, Lod);
2028
+ FMemReader Reader (Bulk.BulkData , Bulk.ElementCount ); // ElementCount is the same as data size, for byte bulk data
2029
+ Reader.SetupFrom (*UObject::GLoadingObj->GetPackageArchive ());
2030
+ SerializeBuffers (Reader, Lod);
2031
+ }
2034
2032
2035
2033
// FStaticMeshLODResources::SerializeAvailabilityInfo()
2036
2034
uint32 DepthOnlyNumTriangles, PackedData;
0 commit comments