public Morph(NiFile file, BinaryReader reader, uint numVertices) { if (file.Version >= eNifVersion.VER_10_1_0_106) { FrameName = new NiString(file, reader); } if (file.Version <= eNifVersion.VER_10_1_0_0) { Keys = new KeyGroup <FloatKey>(reader); } if (file.Version >= eNifVersion.VER_10_1_0_106 && file.Version <= eNifVersion.VER_10_2_0_0) { UnkownInt = reader.ReadUInt32(); } if (file.Version >= eNifVersion.VER_20_0_0_4 && file.Version <= eNifVersion.VER_20_1_0_3) { UnkownInt = reader.ReadUInt32(); } Vectors = new Vector3[numVertices]; for (var i = 0; i < numVertices; i++) { Vectors[i] = reader.ReadVector3(); } }
public NiUVData(NiFile file, BinaryReader reader) : base(file, reader) { UTranslation = new KeyGroup <FloatKey>(reader); VTranslation = new KeyGroup <FloatKey>(reader); UScalingAndTiling = new KeyGroup <FloatKey>(reader); VScalingAndTiling = new KeyGroup <FloatKey>(reader); }
public NiKeyframeData(NiFile file, BinaryReader reader) : base(file, reader) { var numRotationKeys = reader.ReadUInt32(); if (numRotationKeys != 0) { KeyType = (eKeyType)reader.ReadUInt32(); } if (KeyType != eKeyType.XYZ_ROTATION_KEY) { QuaternionKeys = new QuatKey[numRotationKeys]; for (var c = 0; c < numRotationKeys; c++) { QuaternionKeys[c] = new QuatKey(reader, KeyType); } } if (Version <= eNifVersion.VER_10_1_0_0 && KeyType == eKeyType.XYZ_ROTATION_KEY) { UnkownFloat = reader.ReadSingle(); // unknown float } if (KeyType == eKeyType.XYZ_ROTATION_KEY) { Rotations = new KeyGroup <FloatKey> [3]; for (var i = 0; i < 3; i++) { Rotations[i] = new KeyGroup <FloatKey>(reader); } } Translations = new KeyGroup <VecKey>(reader); Scales = new KeyGroup <FloatKey>(reader); }
public NiPosData(NiFile file, BinaryReader reader) : base(file, reader) { Data = new KeyGroup <VecKey>(reader); }
public NiFloatData(NiFile file, BinaryReader reader) : base(file, reader) { Data = new KeyGroup <FloatKey>(reader); }
public NiColorData(NiFile file, BinaryReader reader) : base(file, reader) { Data = new KeyGroup <Color4Key>(reader); }