コード例 #1
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteStringPointer(bw, m_name);
     s.WriteClassPointer <hclBufferSetupObject>(bw, m_inputBufferSetupObject);
     m_inputTriangleSelection.Write(s, bw);
     s.WriteClassPointer <hclBufferSetupObject>(bw, m_outputBufferSetupObject);
     m_outputVertexSelection.Write(s, bw);
     m_influenceRadiusPerVertex.Write(s, bw);
     bw.WriteUInt32((uint)m_scaleNormalBehaviour);
     bw.WriteUInt32(m_maxTrianglesPerVertex);
     bw.WriteSingle(m_minimumTriangleWeight);
     bw.WriteBoolean(m_deformNormals);
     bw.WriteBoolean(m_deformTangents);
     bw.WriteBoolean(m_deformBiTangents);
     bw.WriteBoolean(m_useMeshTopology);
 }
コード例 #2
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteUInt64(0);
     m_atoms.Write(s, bw);
     s.WriteClassArray <hkpPoweredChainDataConstraintInfo>(bw, m_infos);
     bw.WriteSingle(m_tau);
     bw.WriteSingle(m_damping);
     bw.WriteSingle(m_cfmLinAdd);
     bw.WriteSingle(m_cfmLinMul);
     bw.WriteSingle(m_cfmAngAdd);
     bw.WriteSingle(m_cfmAngMul);
     bw.WriteSingle(m_maxErrorDistance);
     bw.WriteUInt32(0);
 }
コード例 #3
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteVector4(bw, m_scaling);
     bw.WriteInt32(m_numBitsForSubpartIndex);
     bw.WriteUInt32(0);
     s.WriteClassArray <hkpMeshShapeSubpart>(bw, m_subparts);
     s.WriteUInt16Array(bw, m_weldingInfo);
     bw.WriteByte((byte)m_weldingType);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_radius);
     bw.WriteInt32(m_pad_0);
     bw.WriteInt32(m_pad_1);
     bw.WriteInt32(m_pad_2);
     bw.WriteUInt32(0);
 }
コード例 #4
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteStringPointer(bw, m_name);
     s.WriteClassPointer <hclSimulationSetupMesh>(bw, m_simulationMesh);
     s.WriteClassPointer <hclBufferSetupObject>(bw, m_referenceBufferSetup);
     m_vertexSelection.Write(s, bw);
     m_maximumDistance.Write(s, bw);
     m_minNormalDistance.Write(s, bw);
     m_maxNormalDistance.Write(s, bw);
     bw.WriteSingle(m_stiffness);
     bw.WriteUInt32((uint)m_localRangeShape);
     bw.WriteBoolean(m_useMinNormalDistance);
     bw.WriteBoolean(m_useMaxNormalDistance);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
 }
コード例 #5
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteClassPointer <hkbGenerator>(bw, m_child);
     bw.WriteInt32((int)m_offsetType);
     bw.WriteInt32(m_taeId);
     bw.WriteInt32(m_valIndex);
     bw.WriteSingle(m_valRate);
     bw.WriteBoolean(m_enableTae);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
コード例 #6
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteByte(0);
     bw.WriteByte(m_forceCollideOntoPpu);
     bw.WriteUInt16(0);
     m_broadPhaseHandle.Write(s, bw);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteSingle(m_allowedPenetrationDepth);
     bw.WriteUInt32(0);
 }
コード例 #7
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     s.WriteClassPointer <hclTransformSetSetupObject>(bw, m_transferMotionTransformSetSetup);
     s.WriteStringPointer(bw, m_transferMotionTransformName);
     bw.WriteBoolean(m_transferTranslationMotion);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_minTranslationSpeed);
     bw.WriteSingle(m_maxTranslationSpeed);
     bw.WriteSingle(m_minTranslationBlend);
     bw.WriteSingle(m_maxTranslationBlend);
     bw.WriteBoolean(m_transferRotationMotion);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_minRotationSpeed);
     bw.WriteSingle(m_maxRotationSpeed);
     bw.WriteSingle(m_minRotationBlend);
     bw.WriteSingle(m_maxRotationBlend);
 }
 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);
 }
コード例 #9
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteUInt32(m_transformSetIndex);
     bw.WriteUInt32(m_transformIndex);
     bw.WriteBoolean(m_transferTranslationMotion);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_minTranslationSpeed);
     bw.WriteSingle(m_maxTranslationSpeed);
     bw.WriteSingle(m_minTranslationBlend);
     bw.WriteSingle(m_maxTranslationBlend);
     bw.WriteBoolean(m_transferRotationMotion);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_minRotationSpeed);
     bw.WriteSingle(m_maxRotationSpeed);
     bw.WriteSingle(m_minRotationBlend);
     bw.WriteSingle(m_maxRotationBlend);
 }
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_fromGeneratorSyncInfo.Write(s, bw);
     m_fromGeneratorPartitionInfo.Write(s, bw);
     bw.WriteUInt32(0);
     s.WriteQSTransform(bw, m_worldFromModel);
     s.WriteQSTransform(bw, m_motion);
     s.WriteQSTransformArray(bw, m_pose);
     s.WriteQSTransformArray(bw, m_additivePose);
     s.WriteSingleArray(bw, m_boneWeights);
     bw.WriteSingle(m_toGeneratorDuration);
     bw.WriteBoolean(m_isFromGeneratorActive);
     bw.WriteBoolean(m_gotPose);
     bw.WriteBoolean(m_gotAdditivePose);
     bw.WriteUInt64(0);
     bw.WriteByte(0);
 }
コード例 #11
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteUInt64(0);
     s.WriteVector4(bw, m_axisOfRotation);
     bw.WriteSingle(m_twistAngle);
     bw.WriteInt16(m_startBoneIndex);
     bw.WriteInt16(m_endBoneIndex);
     bw.WriteSByte((sbyte)m_setAngleMethod);
     bw.WriteSByte((sbyte)m_rotationAxisCoordinates);
     bw.WriteBoolean(m_isAdditive);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
 }
コード例 #12
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteSByte((sbyte)m_alignMode);
     bw.WriteSByte((sbyte)m_alignTargetMode);
     bw.WriteBoolean(m_alignSingleAxis);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
     s.WriteVector4(bw, m_alignAxis);
     s.WriteVector4(bw, m_alignTargetAxis);
     s.WriteQuaternion(bw, m_frameOfReference);
     bw.WriteSingle(m_duration);
     bw.WriteInt32(m_alignModeIndex);
     bw.WriteInt32(m_alignTargetModeIndex);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
 }
コード例 #13
0
        public void WriteSingleWorks(Single value)
        {
            for (int i = 0; i < 2; i++)
            {
                bool littleEndian = i != 0;

                using (MemoryStream ms = new MemoryStream())
                {
                    using (BinaryWriterEx writer = new BinaryWriterEx(ms, true, littleEndian))
                    {
                        writer.WriteSingle(value);
                        Assert.AreEqual(sizeof(Single), ms.Length);
                        ms.Position = 0;
                        CollectionAssert.AreEqual(ms.ToArray(), Binary.GetSingleBytes(value, littleEndian));
                    }
                }
            }
        }
コード例 #14
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteSingle(m_weightA);
     bw.WriteSingle(m_weightB);
     bw.WriteSingle(m_weightC);
     bw.WriteSingle(m_weightD);
     bw.WriteSingle(m_bendStiffness);
     bw.WriteSingle(m_restCurvature);
     bw.WriteUInt16(m_particleA);
     bw.WriteUInt16(m_particleB);
     bw.WriteUInt16(m_particleC);
     bw.WriteUInt16(m_particleD);
 }
コード例 #15
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteUInt64(0);
     s.WriteVector4(bw, m_small);
     s.WriteVector4(bw, m_big);
     s.WriteVector4(bw, m_coneApex);
     s.WriteVector4(bw, m_coneAxis);
     s.WriteVector4(bw, m_lVec);
     s.WriteVector4(bw, m_dVec);
     s.WriteVector4(bw, m_tanThetaVecNeg);
     bw.WriteSingle(m_smallRadius);
     bw.WriteSingle(m_bigRadius);
     bw.WriteSingle(m_l);
     bw.WriteSingle(m_d);
     bw.WriteSingle(m_cosTheta);
     bw.WriteSingle(m_sinTheta);
     bw.WriteSingle(m_tanTheta);
     bw.WriteSingle(m_tanThetaSqr);
 }
コード例 #16
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     s.WriteTransform(bw, m_transform);
     s.WriteVector4(bw, m_sweptTransform_0);
     s.WriteVector4(bw, m_sweptTransform_1);
     s.WriteVector4(bw, m_sweptTransform_2);
     s.WriteVector4(bw, m_sweptTransform_3);
     s.WriteVector4(bw, m_sweptTransform_4);
     s.WriteVector4(bw, m_deltaAngle);
     bw.WriteSingle(m_objectRadius);
     bw.WriteInt16(m_linearDamping);
     bw.WriteInt16(m_angularDamping);
     bw.WriteInt16(m_timeFactor);
     m_maxLinearVelocity.Write(s, bw);
     m_maxAngularVelocity.Write(s, bw);
     bw.WriteByte(m_deactivationClass);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
コード例 #17
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteVector4(bw, m_up);
     s.WriteClassPointer <hkaiStreamingCollection>(bw, m_streamingCollection);
     s.WriteClassPointer <hkaiNavMeshCutter>(bw, m_cutter);
     bw.WriteBoolean(m_performValidationChecks);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     s.WriteClassPointer <hkaiDynamicNavMeshQueryMediator>(bw, m_dynamicNavMeshMediator);
     s.WriteClassPointer <hkaiDynamicNavVolumeMediator>(bw, m_dynamicNavVolumeMediator);
     s.WriteClassPointer <hkaiOverlapManager>(bw, m_overlapManager);
     m_silhouetteGenerationParameters.Write(s, bw);
     bw.WriteSingle(m_silhouetteExtrusion);
     bw.WriteBoolean(m_forceSilhouetteUpdates);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     s.WriteClassPointerArray <hkaiSilhouetteGenerator>(bw, m_silhouetteGenerators);
     s.WriteClassPointerArray <hkaiObstacleGenerator>(bw, m_obstacleGenerators);
     s.WriteClassPointer <hkaiAvoidancePairProperties>(bw, m_avoidancePairProps);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteInt32(m_maxRequestsPerStep);
     bw.WriteInt32(m_maxEstimatedIterationsPerStep);
     bw.WriteInt32(m_priorityThreshold);
     bw.WriteInt32(m_numPathRequestsPerTask);
     bw.WriteInt32(m_numBehaviorUpdatesPerTask);
     bw.WriteInt32(m_numCharactersPerAvoidanceTask);
     bw.WriteInt32(m_maxPathSearchEdgesOut);
     bw.WriteInt32(m_maxPathSearchPointsOut);
     bw.WriteBoolean(m_precomputeNavMeshClearance);
     bw.WriteUInt64(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     m_defaultPathfindingInput.Write(s, bw);
     m_defaultVolumePathfindingInput.Write(s, bw);
 }
コード例 #18
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteByte(m_isEnabled);
     bw.WriteByte(m_forwardAxis);
     bw.WriteByte(m_sideAxis);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_maxFrictionForce);
     bw.WriteSingle(m_torque);
     bw.WriteSingle(m_radius);
     bw.WriteSingle(m_frictionImpulse_0);
     bw.WriteSingle(m_frictionImpulse_1);
     bw.WriteSingle(m_slipImpulse_0);
     bw.WriteSingle(m_slipImpulse_1);
     bw.WriteUInt32(0);
     s.WriteClassPointer <hkpWheelFrictionConstraintAtomAxle>(bw, m_axle);
 }
コード例 #19
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteByte((byte)m_vertexSelectionMethod);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteSingle(m_vertexFraction);
     bw.WriteSingle(m_areaFraction);
     bw.WriteSingle(m_minPartitionArea);
     bw.WriteInt32(m_numSmoothingIterations);
     bw.WriteSingle(m_iterationDamping);
     bw.WriteBoolean(m_addVerticesOnBoundaryEdges);
     bw.WriteBoolean(m_addVerticesOnPartitionBorders);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_boundaryEdgeSplitLength);
     bw.WriteSingle(m_partitionBordersSplitLength);
     bw.WriteSingle(m_userVertexOnBoundaryTolerance);
     s.WriteVector4Array(bw, m_userVertices);
 }
コード例 #20
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteClassArray <hkbFootIkDriverInfoLeg>(bw, m_legs);
     bw.WriteSingle(m_raycastDistanceUp);
     bw.WriteSingle(m_raycastDistanceDown);
     bw.WriteSingle(m_originalGroundHeightMS);
     bw.WriteSingle(m_verticalOffset);
     bw.WriteUInt32(m_collisionFilterInfo);
     bw.WriteSingle(m_forwardAlignFraction);
     bw.WriteSingle(m_sidewaysAlignFraction);
     bw.WriteSingle(m_sidewaysSampleWidth);
     bw.WriteBoolean(m_lockFeetWhenPlanted);
     bw.WriteBoolean(m_useCharacterUpVector);
     bw.WriteBoolean(m_isQuadrupedNarrow);
     bw.WriteBoolean(m_keepSourceFootEndAboveGround);
     bw.WriteUInt32(0);
 }
コード例 #21
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);
 }
コード例 #22
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteStringPointer(bw, m_modeller);
     s.WriteStringPointer(bw, m_asset);
     bw.WriteSingle(m_sceneLength);
     bw.WriteUInt32(m_numFrames);
     s.WriteClassPointer <hkxNode>(bw, m_rootNode);
     s.WriteClassPointerArray <hkxNodeSelectionSet>(bw, m_selectionSets);
     s.WriteClassPointerArray <hkxCamera>(bw, m_cameras);
     s.WriteClassPointerArray <hkxLight>(bw, m_lights);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     s.WriteClassPointerArray <hkxMaterial>(bw, m_materials);
     s.WriteClassPointerArray <hkxTextureInplace>(bw, m_inplaceTextures);
     s.WriteClassPointerArray <hkxTextureFile>(bw, m_externalTextures);
     s.WriteClassPointerArray <hkxSkinBinding>(bw, m_skinBindings);
     s.WriteClassPointerArray <hkxSpline>(bw, m_splines);
     s.WriteMatrix3(bw, m_appliedTransform);
 }
コード例 #23
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     s.WriteVector4(bw, m_currentPosition);
     s.WriteVector4(bw, m_currentForward);
     s.WriteVector4(bw, m_currentUp);
     s.WriteVector4(bw, m_currentVelocity);
     s.WriteVector4(bw, m_desiredVelocity);
     s.WriteVector4(bw, m_localGoalPlane);
     bw.WriteSingle(m_distToLocalGoal);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteBoolean(m_applyKinematicConstraints);
     bw.WriteBoolean(m_applyAvoidanceSteering);
     bw.WriteBoolean(m_enableLocalSteering);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteByte(0);
 }
コード例 #24
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     s.WriteClassPointer <hkbpTarget>(bw, m_targetIn);
     s.WriteVector4(bw, m_offsetInBoneSpace);
     s.WriteVector4(bw, m_alignAxisBS);
     s.WriteVector4(bw, m_targetAlignAxisTS);
     s.WriteVector4(bw, m_alignWithCharacterForwardBS);
     s.WriteVector4(bw, m_currentBonePositionOut);
     s.WriteQuaternion(bw, m_currentBoneRotationOut);
     m_eventToSendWhenTargetReached.Write(s, bw);
     s.WriteClassPointer <hkbGenerator>(bw, m_childGenerator);
     bw.WriteSingle(m_duration);
     bw.WriteInt16(m_ragdollBoneIndex);
     bw.WriteInt16(m_animationBoneIndex);
     bw.WriteSByte((sbyte)m_targetMode);
     bw.WriteSByte(m_alignMode);
     bw.WriteBoolean(m_useVelocityPrediction);
     bw.WriteBoolean(m_affectOrientation);
     bw.WriteBoolean(m_currentBoneIsValidOut);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     s.WriteVector4(bw, m_finalAnimBonePositionMS);
     s.WriteVector4(bw, m_initialAnimBonePositionMS);
     s.WriteQuaternion(bw, m_finalAnimBoneOrientationMS);
     s.WriteQuaternion(bw, m_animationFromRagdoll);
     s.WriteQSTransform(bw, m_totalMotion);
     s.WriteQSTransform(bw, m_accumulatedMotion);
     bw.WriteBoolean(m_useAnimationData);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
 }
コード例 #25
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     bw.WriteSingle(m_kP);
     bw.WriteSingle(m_kI);
     bw.WriteSingle(m_kD);
     bw.WriteBoolean(m_enableScalarDamping);
     bw.WriteBoolean(m_enableVectorDamping);
     bw.WriteUInt16(0);
     bw.WriteSingle(m_rawValue);
     bw.WriteSingle(m_dampedValue);
     s.WriteVector4(bw, m_rawVector);
     s.WriteVector4(bw, m_dampedVector);
     s.WriteVector4(bw, m_vecErrorSum);
     s.WriteVector4(bw, m_vecPreviousError);
     bw.WriteSingle(m_errorSum);
     bw.WriteSingle(m_previousError);
     bw.WriteUInt64(0);
 }
コード例 #26
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     s.WriteClassPointer <hknpShape>(bw, m_shape);
     bw.WriteUInt32(m_reservedBodyId);
     bw.WriteUInt32(m_motionId);
     bw.WriteByte(m_qualityId);
     bw.WriteByte(0);
     bw.WriteUInt16(m_materialId);
     bw.WriteUInt32(m_collisionFilterInfo);
     bw.WriteInt32(m_flags);
     bw.WriteSingle(m_collisionLookAheadDistance);
     s.WriteStringPointer(bw, m_name);
     bw.WriteUInt64(m_userData);
     s.WriteVector4(bw, m_position);
     s.WriteQuaternion(bw, m_orientation);
     bw.WriteByte(m_spuFlags);
     bw.WriteUInt32(0);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     s.WriteClassPointer <hkLocalFrame>(bw, m_localFrame);
 }
コード例 #27
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_embeddedTrianglesSubpart.Write(s, bw);
     s.WriteVector4(bw, m_aabbHalfExtents);
     s.WriteVector4(bw, m_aabbCenter);
     bw.WriteUInt64(0);
     bw.WriteInt32(m_numBitsForSubpartIndex);
     bw.WriteUInt32(0);
     s.WriteClassArray <hkpExtendedMeshShapeTrianglesSubpart>(bw, m_trianglesSubparts);
     s.WriteClassArray <hkpExtendedMeshShapeShapesSubpart>(bw, m_shapesSubparts);
     s.WriteUInt16Array(bw, m_weldingInfo);
     bw.WriteByte((byte)m_weldingType);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteUInt32(m_defaultCollisionFilterInfo);
     bw.WriteInt32(m_cachedNumChildShapes);
     bw.WriteSingle(m_triangleRadius);
     bw.WriteUInt64(0);
     bw.WriteUInt64(0);
 }
コード例 #28
0
 public virtual void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     bw.WriteSingle(m_spinVelocity);
     bw.WriteSingle(m_sumVelocity);
     bw.WriteInt32(m_numWheels);
     bw.WriteInt32(m_wheelsSolved);
     bw.WriteInt32(m_stepsSolved);
     bw.WriteSingle(m_invInertia);
     bw.WriteSingle(m_inertia);
     bw.WriteSingle(m_impulseScaling);
     bw.WriteSingle(m_impulseMax);
     bw.WriteBoolean(m_isFixed);
     bw.WriteUInt16(0);
     bw.WriteByte(0);
     bw.WriteInt32(m_numWheelsOnGround);
 }
コード例 #29
0
 public override void Write(PackFileSerializer s, BinaryWriterEx bw)
 {
     base.Write(s, bw);
     m_characterControllerSetup.Write(s, bw);
     bw.WriteUInt64(0);
     s.WriteVector4(bw, m_modelUpMS);
     s.WriteVector4(bw, m_modelForwardMS);
     s.WriteVector4(bw, m_modelRightMS);
     s.WriteClassArray <hkbVariableInfo>(bw, m_characterPropertyInfos);
     s.WriteInt32Array(bw, m_numBonesPerLod);
     s.WriteClassPointer <hkbVariableValueSet>(bw, m_characterPropertyValues);
     s.WriteClassPointer <hkbFootIkDriverInfo>(bw, m_footIkDriverInfo);
     s.WriteClassPointer <hkbHandIkDriverInfo>(bw, m_handIkDriverInfo);
     s.WriteClassPointer <hkReferencedObject>(bw, m_aiControlDriverInfo);
     s.WriteClassPointer <hkbCharacterStringData>(bw, m_stringData);
     s.WriteClassPointer <hkbMirroredSkeletonInfo>(bw, m_mirroredSkeletonInfo);
     s.WriteInt16Array(bw, m_boneAttachmentBoneIndices);
     s.WriteMatrix4Array(bw, m_boneAttachmentTransforms);
     bw.WriteSingle(m_scale);
     bw.WriteUInt64(0);
     bw.WriteUInt32(0);
 }
コード例 #30
0
                internal void WriteAssertValue(BinaryWriterEx bw)
                {
                    switch (Type)
                    {
                    case ParamType.aob:
                        var assertAob = (byte[])ValueToAssert;
                        bw.WriteBytes(assertAob);
                        break;

                    case ParamType.b: bw.WriteBoolean((bool)ValueToAssert); break;

                    case ParamType.u8:
                    case ParamType.x8: bw.WriteByte((byte)ValueToAssert); break;

                    case ParamType.s8: bw.WriteSByte((sbyte)ValueToAssert); break;

                    case ParamType.u16:
                    case ParamType.x16: bw.WriteUInt16((ushort)ValueToAssert); break;

                    case ParamType.s16: bw.WriteInt16((short)ValueToAssert); break;

                    case ParamType.u32:
                    case ParamType.x32: bw.WriteUInt32((uint)ValueToAssert); break;

                    case ParamType.s32: bw.WriteInt32((int)ValueToAssert); break;

                    case ParamType.u64:
                    case ParamType.x64: bw.WriteUInt64((ulong)ValueToAssert); break;

                    case ParamType.s64: bw.WriteInt64((long)ValueToAssert); break;

                    case ParamType.f32: bw.WriteSingle((float)ValueToAssert); break;

                    case ParamType.f64: bw.WriteDouble((double)ValueToAssert); break;

                    default: throw new Exception($"Invalid ParamTemplate ParamType: {Type.ToString()}");
                    }
                }