/*! NIFLIB_HIDDEN function. For internal use only. */ internal override void FixLinks(Dictionary <uint, NiObject> objects, List <uint> link_stack, List <NiObject> missing_link_stack, NifInfo info) { base.FixLinks(objects, link_stack, missing_link_stack, info); nextController = FixLink <NiTimeController>(objects, link_stack, missing_link_stack, info); if (info.version >= 0x0303000D) { target = FixLink <NiObjectNET>(objects, link_stack, missing_link_stack, info); } }
public NiObjectNET() { skyrimShaderType = (BSLightingShaderPropertyShaderType)0; hasOldExtraData = false; oldExtraInternalId = (uint)0; unknownByte = (byte)0; extraData = null; numExtraDataList = (uint)0; controller = null; }
public NiTimeController() { nextController = null; flags = (ushort)0; frequency = 1.0f; phase = 0.0f; startTime = 3.402823466e+38f; stopTime = -3.402823466e+38f; target = null; unknownInteger = (uint)0; }
//Constructor public ControlledBlock() { unchecked { interpolator = null; controller = null; blendInterpolator = null; blendIndex = (ushort)0; priority = (byte)0; stringPalette = null; nodeNameOffset = (uint)-1; propertyTypeOffset = (uint)-1; controllerTypeOffset = (uint)-1; controllerIdOffset = (uint)-1; interpolatorIdOffset = (uint)-1; } }
/*! NIFLIB_HIDDEN function. For internal use only. */ internal override void FixLinks(Dictionary <uint, NiObject> objects, List <uint> link_stack, List <NiObject> missing_link_stack, NifInfo info) { base.FixLinks(objects, link_stack, missing_link_stack, info); if (info.version >= 0x03000000 && info.version <= 0x04020200) { extraData = FixLink <NiExtraData>(objects, link_stack, missing_link_stack, info); } if (info.version >= 0x0A000100) { for (var i4 = 0; i4 < extraDataList.Count; i4++) { extraDataList[i4] = FixLink <NiExtraData>(objects, link_stack, missing_link_stack, info); } } if (info.version >= 0x03000000) { controller = FixLink <NiTimeController>(objects, link_stack, missing_link_stack, info); } }
//--BEGIN:FILE FOOT--// //TODO: Lots of unknown data in this object /*! * This function will adjust the times in all the keys in the data objects * referenced by this controller and any of its interpolators such that the * phase will equal 0 and frequency will equal one. In other words, it * will cause the key times to be in seconds starting from zero. */ public virtual void NormalizeKeys() { //Normalize any keys that are stored in Morph Data if (data != null) { data.NormalizeKeys(phase, frequency); } //Normalize any keys stored in float interpolators for (var i = 0; i < interpolators.Count; ++i) { var keyBased = interpolators[i] as NiKeyBasedInterpolator; if (keyBased != null) { keyBased.NormalizeKeys(phase, frequency); } } //Call the NiTimeController version of this function to normalize the start //and stop times and reset the phase and frequency NiTimeController.NormalizeKeys(); }