public override void Write(BinaryWriter writer)
{
writer.Write(NeckTurnGain);
writer.Write(OriginalGroundHeightMS);
writer.Write(MinAnkleHeightMS);
writer.Write(MaxAnkleHeightMS);
writer.Write(CosineMaxKneeAngle);
writer.Write(CosineMinKneeAngle);
writer.Write(FootPlantedAnkleHeightMS);
writer.Write(FootRaisedAnkleHeightMS);
writer.Write(RaycastDistanceUp);
writer.Write(RaycastDistanceDown);
writer.Write(FootEndLS_X);
writer.Write(FootEndLS_Y);
writer.Write(FootEndLS_Z);
writer.Write(OnOffGain);
writer.Write(GroundAscendingGain);
writer.Write(GroundDescendingGain);
writer.Write(FootRaisedGain);
writer.Write(FootPlantedGain);
writer.Write(FootUnlockGain);
writer.Write((Byte)KneeAxisType);
writer.Write((Byte)(UseFootLocking ? 1 : 0));
writer.Write((Byte)(FootPlacementOn ? 1 : 0));
writer.Write((Byte)TwistKneeAxisType);
writer.Write(NeckTurnPriority);
writer.Write(NeckTurnMaxAngle);
writer.Write(Pad1);
}