public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteInt32(m_bitsPerIndex);
     bw.WriteInt32(m_bitsPerWIndex);
     bw.WriteInt32(m_wIndexMask);
     bw.WriteInt32(m_indexMask);
     bw.WriteSingle(m_radius);
     bw.WriteByte((byte)m_weldingType);
     bw.WriteByte((byte)m_materialType);
     bw.WriteUInt16(0);
     s.WriteUInt32Array(bw, m_materials);
     s.WriteUInt16Array(bw, m_materials16);
     s.WriteByteArray(bw, m_materials8);
     s.WriteQSTransformArray(bw, m_transforms);
     s.WriteVector4Array(bw, m_bigVertices);
     s.WriteClassArray <hkpCompressedMeshShapeBigTriangle>(bw, m_bigTriangles);
     s.WriteClassArray <hkpCompressedMeshShapeChunk>(bw, m_chunks);
     s.WriteClassArray <hkpCompressedMeshShapeConvexPiece>(bw, m_convexPieces);
     bw.WriteSingle(m_error);
     bw.WriteUInt32(0);
     m_bounds.Write(s, bw);
     bw.WriteUInt32(m_defaultCollisionFilterInfo);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(m_materialStriding);
     bw.WriteUInt16(m_numMaterials);
     bw.WriteUInt32(0);
     s.WriteClassArray <hkpNamedMeshMaterial>(bw, m_namedMaterials);
     bw.WriteUInt64(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_aabb.Write(s, bw);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
 }
示例#3
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteInt32(m_numLevelsOfDetail);
     m_infos_0.Write(s, bw);
     m_infos_1.Write(s, bw);
     m_infos_2.Write(s, bw);
     m_infos_3.Write(s, bw);
     m_infos_4.Write(s, bw);
     m_infos_5.Write(s, bw);
     m_infos_6.Write(s, bw);
     m_infos_7.Write(s, bw);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_0);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_1);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_2);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_3);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_4);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_5);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_6);
     s.WriteClassPointer <hknpShape>(bw, m_shapes_7);
     bw.WriteUInt32(m_shapesMemorySizes_0);
     bw.WriteUInt32(m_shapesMemorySizes_1);
     bw.WriteUInt32(m_shapesMemorySizes_2);
     bw.WriteUInt32(m_shapesMemorySizes_3);
     bw.WriteUInt32(m_shapesMemorySizes_4);
     bw.WriteUInt32(m_shapesMemorySizes_5);
     bw.WriteUInt32(m_shapesMemorySizes_6);
     bw.WriteUInt32(m_shapesMemorySizes_7);
     bw.WriteInt32(m_indexCurrentShapeOnSpu);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hknpShape>(bw, m_currentShapePpuAddress);
     bw.WriteUInt64(0);
     m_maximumAabb.Write(s, bw);
 }
示例#4
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     m_aabb.Write(s, bw);
     bw.WriteUInt64(m_parent);
     bw.WriteUInt64(m_children_0);
     bw.WriteUInt64(m_children_1);
     bw.WriteUInt64(0);
 }
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     m_aabb.Write(s, bw);
     s.WriteClassPointer <hknpShape>(bw, m_shape);
     bw.WriteUInt64(0);
     s.WriteTransform(bw, m_transform);
     s.WriteVector4(bw, m_to);
 }
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteInt32(m_bodyBufferCapacity);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteInt32(m_motionBufferCapacity);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteInt32(m_constraintBufferCapacity);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hknpMaterialLibrary>(bw, m_materialLibrary);
     s.WriteClassPointer <hknpMotionPropertiesLibrary>(bw, m_motionPropertiesLibrary);
     s.WriteClassPointer <hknpBodyQualityLibrary>(bw, m_qualityLibrary);
     bw.WriteByte((byte)m_simulationType);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteInt32(m_numSplitterCells);
     bw.WriteUInt64(0);
     s.WriteVector4(bw, m_gravity);
     bw.WriteBoolean(m_enableContactCaching);
     bw.WriteBoolean(m_mergeEventsBeforeDispatch);
     bw.WriteByte((byte)m_leavingBroadPhaseBehavior);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
     m_broadPhaseAabb.Write(s, bw);
     s.WriteClassPointer <hknpBroadPhaseConfig>(bw, m_broadPhaseConfig);
     s.WriteClassPointer <hknpCollisionFilter>(bw, m_collisionFilter);
     s.WriteClassPointer <hknpShapeTagCodec>(bw, m_shapeTagCodec);
     bw.WriteSingle(m_collisionTolerance);
     bw.WriteSingle(m_relativeCollisionAccuracy);
     bw.WriteBoolean(m_enableWeldingForDefaultObjects);
     bw.WriteBoolean(m_enableWeldingForCriticalObjects);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_solverTau);
     bw.WriteSingle(m_solverDamp);
     bw.WriteInt32(m_solverIterations);
     bw.WriteInt32(m_solverMicrosteps);
     bw.WriteSingle(m_defaultSolverTimestep);
     bw.WriteSingle(m_maxApproachSpeedForHighQualitySolver);
     bw.WriteBoolean(m_enableDeactivation);
     bw.WriteBoolean(m_deleteCachesOnDeactivation);
     bw.WriteUInt16(0);
     bw.WriteInt32(m_largeIslandSize);
     bw.WriteBoolean(m_enableSolverDynamicScheduling);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteInt32(m_contactSolverType);
     bw.WriteSingle(m_unitScale);
     bw.WriteBoolean(m_applyUnitScaleToStaticConstants);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
示例#7
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteSingle(m_characterHeight);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     s.WriteVector4(bw, m_up);
     bw.WriteSingle(m_quantizationGridSize);
     bw.WriteSingle(m_maxWalkableSlope);
     bw.WriteByte((byte)m_triangleWinding);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_degenerateAreaThreshold);
     bw.WriteSingle(m_degenerateWidthThreshold);
     bw.WriteSingle(m_convexThreshold);
     bw.WriteInt32(m_maxNumEdgesPerFace);
     m_edgeMatchingParams.Write(s, bw);
     bw.WriteUInt32((uint)m_edgeMatchingMetric);
     bw.WriteInt32(m_edgeConnectionIterations);
     bw.WriteUInt32(0);
     m_regionPruningSettings.Write(s, bw);
     m_wallClimbingSettings.Write(s, bw);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     m_boundsAabb.Write(s, bw);
     s.WriteClassPointerArray <hkaiCarver>(bw, m_carvers);
     s.WriteClassPointerArray <hkaiMaterialPainter>(bw, m_painters);
     bw.WriteUInt64(0);
     bw.WriteUInt32(m_defaultConstructionProperties);
     bw.WriteUInt32(0);
     s.WriteClassArray <hkaiNavMeshGenerationSettingsMaterialConstructionPair>(bw, m_materialMap);
     bw.WriteBoolean(m_fixupOverlappingTriangles);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_overlappingTrianglesSettings.Write(s, bw);
     bw.WriteBoolean(m_weldInputVertices);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_weldThreshold);
     bw.WriteSingle(m_minCharacterWidth);
     bw.WriteByte((byte)m_characterWidthUsage);
     bw.WriteBoolean(m_enableSimplification);
     bw.WriteUInt16(0);
     m_simplificationSettings.Write(s, bw);
     bw.WriteInt32(m_carvedMaterialDeprecated);
     bw.WriteInt32(m_carvedCuttingMaterialDeprecated);
     bw.WriteBoolean(m_setBestFaceCenters);
     bw.WriteBoolean(m_checkEdgeGeometryConsistency);
     bw.WriteBoolean(m_saveInputSnapshot);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
     s.WriteStringPointer(bw, m_snapshotFilename);
     s.WriteClassArray <hkaiNavMeshGenerationSettingsOverrideSettings>(bw, m_overrideSettings);
     bw.WriteUInt64(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteVector4Array(bw, m_planeEquations);
     bw.WriteUInt64(0);
     s.WriteTransform(bw, m_localFromWorld);
     s.WriteTransform(bw, m_worldFromLocal);
     m_objAabb.Write(s, bw);
     s.WriteVector4(bw, m_geomCentroid);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteVector4Array(bw, m_planes);
     m_geometry.Write(s, bw);
     bw.WriteBoolean(m_isInverted);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_aabb.Write(s, bw);
 }
示例#10
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_localAabb.Write(s, bw);
     s.WriteVector4Array(bw, m_localPoints);
     s.WriteInt32Array(bw, m_silhouetteSizes);
     bw.WriteSingle(m_weldTolerance);
     bw.WriteByte((byte)m_silhouetteDetailLevel);
     bw.WriteByte(m_flags);
     bw.WriteBoolean(m_localPointsChanged);
     bw.WriteBoolean(m_isEnabled);
     bw.WriteUInt64(0);
 }
示例#11
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteSingle(m_accuracy);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     m_domain.Write(s, bw);
     s.WriteVector4(bw, m_origin);
     s.WriteVector4(bw, m_scale);
     bw.WriteSingle(m_range_0);
     bw.WriteSingle(m_range_1);
     s.WriteUInt32Array(bw, m_nodes);
     s.WriteUInt16Array(bw, m_voxels);
     bw.WriteUInt64(0);
 }
示例#12
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_instances.Write(s, bw);
     bw.WriteUInt64(0);
     m_aabb.Write(s, bw);
     bw.WriteBoolean(m_isMutable);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteClassArray <hkaiNavVolumeCell>(bw, m_cells);
     s.WriteClassArray <hkaiNavVolumeEdge>(bw, m_edges);
     s.WriteClassArray <hkaiStreamingSet>(bw, m_streamingSets);
     m_aabb.Write(s, bw);
     s.WriteVector4(bw, m_quantizationScale);
     s.WriteVector4(bw, m_quantizationOffset);
     bw.WriteInt32(m_res_0);
     bw.WriteInt32(m_res_1);
     bw.WriteInt32(m_res_2);
     bw.WriteUInt32(0);
     bw.WriteUInt64(m_userData);
     bw.WriteUInt64(0);
 }
示例#14
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteUInt16Array(bw, m_tetrahedraGrid);
     s.WriteByteArray(bw, m_gridCells);
     s.WriteMatrix4Array(bw, m_tetrahedraEquations);
     bw.WriteUInt64(0);
     s.WriteTransform(bw, m_localFromWorld);
     s.WriteTransform(bw, m_worldFromLocal);
     m_objAabb.Write(s, bw);
     s.WriteVector4(bw, m_geomCentroid);
     s.WriteVector4(bw, m_invCellSize);
     bw.WriteUInt16(m_gridRes);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_aabb.Write(s, bw);
     s.WriteVector4(bw, m_floatToIntScale);
     s.WriteVector4(bw, m_intToFloatScale);
     bw.WriteInt32(m_intSizeX);
     bw.WriteInt32(m_intSizeZ);
     bw.WriteInt32(m_numBitsX);
     bw.WriteInt32(m_numBitsZ);
     m_minMaxTree.Write(s, bw);
     bw.WriteInt32(m_minMaxTreeCoarseness);
     bw.WriteBoolean(m_includeShapeKeyInSdfContacts);
     bw.WriteUInt64(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_movementProperties.Write(s, bw);
     bw.WriteByte((byte)m_nearbyBoundariesSearchType);
     bw.WriteUInt64(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_localSensorAabb.Write(s, bw);
     bw.WriteSingle(m_wallFollowingAngle);
     bw.WriteSingle(m_dodgingPenalty);
     bw.WriteSingle(m_velocityHysteresis);
     bw.WriteSingle(m_sidednessChangingPenalty);
     bw.WriteSingle(m_collisionPenalty);
     bw.WriteSingle(m_penetrationPenalty);
     bw.WriteInt32(m_maxNeighbors);
     bw.WriteUInt32(0);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteClassArray <hkaiNavMeshFace>(bw, m_faces);
     s.WriteClassArray <hkaiNavMeshEdge>(bw, m_edges);
     s.WriteVector4Array(bw, m_vertices);
     s.WriteClassArray <hkaiStreamingSet>(bw, m_streamingSets);
     s.WriteInt32Array(bw, m_faceData);
     s.WriteInt32Array(bw, m_edgeData);
     bw.WriteInt32(m_faceDataStriding);
     bw.WriteInt32(m_edgeDataStriding);
     bw.WriteByte(m_flags);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_aabb.Write(s, bw);
     bw.WriteSingle(m_erosionRadius);
     bw.WriteUInt32(0);
     bw.WriteUInt64(m_userData);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_volumeAabb.Write(s, bw);
     bw.WriteSingle(m_maxHorizontalRange);
     bw.WriteSingle(m_maxVerticalRange);
     bw.WriteUInt64(0);
     s.WriteVector4(bw, m_up);
     bw.WriteSingle(m_characterHeight);
     bw.WriteSingle(m_characterDepth);
     bw.WriteSingle(m_characterWidth);
     bw.WriteSingle(m_cellWidth);
     bw.WriteByte((byte)m_resolutionRoundingMode);
     bw.WriteByte(0);
     m_chunkSettings.Write(s, bw);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_border);
     bw.WriteBoolean(m_useBorderCells);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_mergingSettings.Write(s, bw);
     bw.WriteSingle(m_minRegionVolume);
     bw.WriteSingle(m_minDistanceToSeedPoints);
     bw.WriteUInt32(0);
     s.WriteVector4Array(bw, m_regionSeedPoints);
     m_defaultConstructionInfo.Write(s, bw);
     bw.WriteUInt32(0);
     s.WriteClassArray <hkaiNavVolumeGenerationSettingsMaterialConstructionInfo>(bw, m_materialMap);
     s.WriteClassPointerArray <hkaiCarver>(bw, m_carvers);
     s.WriteClassPointerArray <hkaiMaterialPainter>(bw, m_painters);
     bw.WriteBoolean(m_saveInputSnapshot);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     s.WriteStringPointer(bw, m_snapshotFilename);
 }
示例#19
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_aabb.Write(s, bw);
     m_geometry.Write(s, bw);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_domain.Write(s, bw);
 }
示例#21
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteVector4(bw, m_gravity);
     bw.WriteInt32(m_broadPhaseQuerySize);
     bw.WriteSingle(m_contactRestingVelocity);
     bw.WriteSByte((sbyte)m_broadPhaseType);
     bw.WriteSByte((sbyte)m_broadPhaseBorderBehaviour);
     bw.WriteBoolean(m_mtPostponeAndSortBroadPhaseBorderCallbacks);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
     m_broadPhaseWorldAabb.Write(s, bw);
     bw.WriteSingle(m_collisionTolerance);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hkpCollisionFilter>(bw, m_collisionFilter);
     s.WriteClassPointer <hkpConvexListFilter>(bw, m_convexListFilter);
     bw.WriteSingle(m_expectedMaxLinearVelocity);
     bw.WriteInt32(m_sizeOfToiEventQueue);
     bw.WriteSingle(m_expectedMinPsiDeltaTime);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hkWorldMemoryAvailableWatchDog>(bw, m_memoryWatchDog);
     bw.WriteInt32(m_broadPhaseNumMarkers);
     bw.WriteSByte((sbyte)m_contactPointGeneration);
     bw.WriteBoolean(m_allowToSkipConfirmedCallbacks);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_solverTau);
     bw.WriteSingle(m_solverDamp);
     bw.WriteInt32(m_solverIterations);
     bw.WriteInt32(m_solverMicrosteps);
     bw.WriteSingle(m_maxConstraintViolation);
     bw.WriteBoolean(m_forceCoherentConstraintOrderingInSolver);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_snapCollisionToConvexEdgeThreshold);
     bw.WriteSingle(m_snapCollisionToConcaveEdgeThreshold);
     bw.WriteBoolean(m_enableToiWeldRejection);
     bw.WriteBoolean(m_enableDeprecatedWelding);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_iterativeLinearCastEarlyOutDistance);
     bw.WriteInt32(m_iterativeLinearCastMaxIterations);
     bw.WriteByte(m_deactivationNumInactiveFramesSelectFlag0);
     bw.WriteByte(m_deactivationNumInactiveFramesSelectFlag1);
     bw.WriteByte(m_deactivationIntegrateCounter);
     bw.WriteBoolean(m_shouldActivateOnRigidBodyTransformChange);
     bw.WriteSingle(m_deactivationReferenceDistance);
     bw.WriteSingle(m_toiCollisionResponseRotateNormal);
     bw.WriteBoolean(m_useCompoundSpuElf);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteInt32(m_maxSectorsPerMidphaseCollideTask);
     bw.WriteInt32(m_maxSectorsPerNarrowphaseCollideTask);
     bw.WriteBoolean(m_processToisMultithreaded);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteInt32(m_maxEntriesPerToiMidphaseCollideTask);
     bw.WriteInt32(m_maxEntriesPerToiNarrowphaseCollideTask);
     bw.WriteInt32(m_maxNumToiCollisionPairsSinglethreaded);
     bw.WriteSingle(m_numToisTillAllowedPenetrationSimplifiedToi);
     bw.WriteSingle(m_numToisTillAllowedPenetrationToi);
     bw.WriteSingle(m_numToisTillAllowedPenetrationToiHigher);
     bw.WriteSingle(m_numToisTillAllowedPenetrationToiForced);
     bw.WriteBoolean(m_enableDeactivation);
     bw.WriteSByte((sbyte)m_simulationType);
     bw.WriteBoolean(m_enableSimulationIslands);
     bw.WriteByte(0);
     bw.WriteUInt32(m_minDesiredIslandSize);
     bw.WriteBoolean(m_processActionsInSingleThread);
     bw.WriteBoolean(m_allowIntegrationOfIslandsWithoutConstraintsInASeparateJob);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_frameMarkerPsiSnap);
     bw.WriteBoolean(m_fireCollisionCallbacks);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     m_aabb.Write(s, bw);
 }
示例#23
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_localAabb.Write(s, bw);
 }