Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MDXCamera"/> class.
        /// </summary>
        /// <param name="br">The reader to read the instance from.</param>
        /// <param name="version">The version to read the instance in the context of.</param>
        public MDXCamera(BinaryReader br, WarcraftVersion version)
        {
            TypeLookupIndex = br.ReadUInt32();

            if (version < WarcraftVersion.Cataclysm)
            {
                FieldOfView = br.ReadSingle();
            }

            FarClip  = br.ReadSingle();
            NearClip = br.ReadSingle();

            Positions    = br.ReadMDXTrack <SplineKey <Vector3> >(version);
            PositionBase = br.ReadVector3();

            TargetPositions    = br.ReadMDXTrack <SplineKey <Vector3> >(version);
            TargetPositionBase = br.ReadVector3();

            Roll = br.ReadMDXTrack <SplineKey <float> >(version);

            if (version >= WarcraftVersion.Cataclysm)
            {
                AnimatedFOV = br.ReadMDXTrack <SplineKey <float> >(version);
            }
        }
Beispiel #2
0
        public MDXRibbonEmitter(BinaryReader br, WarcraftVersion version)
        {
            RibbonID         = br.ReadUInt32();
            BoneIndex        = br.ReadUInt32();
            RelativePosition = br.ReadVector3();

            Textures  = br.ReadMDXArray <ushort>();
            Materials = br.ReadMDXArray <ushort>();

            Colour      = br.ReadMDXTrack <RGB>(version);
            Alpha       = br.ReadMDXTrack <short>(version);
            HeightAbove = br.ReadMDXTrack <float>(version);
            HeightBelow = br.ReadMDXTrack <float>(version);

            EdgesPerSecond = br.ReadSingle();
            EdgeLifetime   = br.ReadSingle();
            Gravity        = br.ReadSingle();

            TextureTileX = br.ReadUInt16();
            TextureTileY = br.ReadUInt16();

            TextureSlot = br.ReadMDXTrack <ushort>(version);
            Visibility  = br.ReadMDXTrack <bool>(version);

            if (version >= WarcraftVersion.Wrath)
            {
                PriorityPlane = br.ReadInt16();
                Unknown       = br.ReadInt16();
            }
        }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MDXAttachment"/> class.
 /// </summary>
 /// <param name="br">The reader to read the instance from.</param>
 /// <param name="version">The version to read the instance in the context of.</param>
 public MDXAttachment(BinaryReader br, WarcraftVersion version)
 {
     AttachmentIDLookupIndex = br.ReadUInt32();
     Bone            = br.ReadUInt16();
     Unknown         = br.ReadUInt16();
     Position        = br.ReadVector3();
     AnimateAttached = br.ReadMDXTrack <bool>(version);
 }
Beispiel #4
0
        public MDXLight(BinaryReader br, WarcraftVersion version)
        {
            Type     = (MDXLightType)br.ReadUInt16();
            Bone     = br.ReadInt16();
            Position = br.ReadVector3();

            AmbientColour    = br.ReadMDXTrack <RGB>(version);
            AmbientIntensity = br.ReadMDXTrack <float>(version);
            DiffuseColour    = br.ReadMDXTrack <RGB>(version);
            DiffuseIntensity = br.ReadMDXTrack <float>(version);
            AttenuationStart = br.ReadMDXTrack <float>(version);
            AttenuationEnd   = br.ReadMDXTrack <float>(version);

            Visibility = br.ReadMDXTrack <bool>(version);
        }
Beispiel #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AnimationTrack{T}"/> class.
 /// </summary>
 /// <param name="tracks">The tracks to wrap around.</param>
 public AnimationTrack(MDXTrack <T> tracks)
 {
 }
Beispiel #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AnimationTrack{T}"/> class.
 /// </summary>
 /// <param name="tracks">The tracks to wrap around.</param>
 public AnimationTrack(MDXTrack <T> tracks)
 {
     this.Timelines = new List <ITimeline <T> >();
 }