示例#1
0
 /*! 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);
     }
 }
示例#2
0
 public NiObjectNET()
 {
     skyrimShaderType   = (BSLightingShaderPropertyShaderType)0;
     hasOldExtraData    = false;
     oldExtraInternalId = (uint)0;
     unknownByte        = (byte)0;
     extraData          = null;
     numExtraDataList   = (uint)0;
     controller         = null;
 }
示例#3
0
 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;
 }
示例#4
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;
     }
 }
示例#5
0
 /*! 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);
     }
 }
示例#6
0
//--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();
        }