Esempio n. 1
0
        public NiRoom(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            Walls = new NiRef <NiWall> [reader.ReadInt32()];
            for (var i = 0; i < Walls.Length; i++)
            {
                Walls[i] = new NiRef <NiWall>(reader);
            }

            InteriorPortals = new NiRef <NiPortal> [reader.ReadInt32()];
            for (var i = 0; i < InteriorPortals.Length; i++)
            {
                InteriorPortals[i] = new NiRef <NiPortal>(reader);
            }

            ExteriorPortals = new NiRef <NiPortal> [reader.ReadInt32()];
            for (var i = 0; i < ExteriorPortals.Length; i++)
            {
                ExteriorPortals[i] = new NiRef <NiPortal>(reader);
            }

            Fixtures = new NiRef <NiAVObject> [reader.ReadInt32()];
            for (var i = 0; i < Fixtures.Length; i++)
            {
                Fixtures[i] = new NiRef <NiAVObject>(reader);
            }
        }
 public NiTextureTransformController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Unknown2    = reader.ReadByte();
     TextureSlot = (TexType)reader.ReadUInt32();
     Operation   = (TexTransform)reader.ReadUInt32();
     Data        = new NiRef <NiFloatData>(reader);
 }
Esempio n. 3
0
 public NiFooter(BinaryReader reader)
 {
     RootNodes = new NiRef <NiObject> [reader.ReadUInt32()];
     for (var i = 0; i < RootNodes.Length; i++)
     {
         RootNodes[i] = new NiRef <NiObject>(reader.ReadUInt32());
     }
 }
Esempio n. 4
0
 public NiParticleMeshModifier(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     ParticleMeshes = new NiRef <NiAVObject> [reader.ReadUInt32()];
     for (var i = 0; i < ParticleMeshes.Length; i++)
     {
         ParticleMeshes[i] = new NiRef <NiAVObject>(reader);
     }
 }
Esempio n. 5
0
 public NiObjectNET(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Name      = new NiString(reader);
     ExtraData = new NiRef <NiExtraData>[]
     {
         new NiRef <NiExtraData>(reader.ReadUInt32())
     };
     Controller = new NiRef <NiTimeController>(reader.ReadUInt32());
 }
Esempio n. 6
0
 public NiPathController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Unknown2  = reader.ReadUInt32();
     Unknown3  = reader.ReadSingle();
     Unknown4  = reader.ReadSingle();
     Unknown5  = reader.ReadUInt16();
     PosData   = new NiRef <NiPosData>(reader);
     FloatData = new NiRef <NiFloatData>(reader);
 }
Esempio n. 7
0
 public NiRoomGroup(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Shell = new NiRef <NiNode>(reader);
     Rooms = new NiRef <NiRoom> [reader.ReadInt32()];
     for (var i = 0; i < Rooms.Length; i++)
     {
         Rooms[i] = new NiRef <NiRoom>(reader);
     }
 }
Esempio n. 8
0
        public NiExtraData(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            NextExtraData = new NiRef <NiExtraData>(reader.ReadUInt32());

            if (GetType() == typeof(NiExtraData))
            {
                ExtraData = reader.ReadBytes(reader.ReadInt32());
            }
        }
Esempio n. 9
0
 public TexDesc(BinaryReader reader)
 {
     Source     = new NiRef <NiSourceTexture>(reader);
     ClampMode  = (TexClampMode)reader.ReadUInt32();
     FilterMode = (TexFilterMode)reader.ReadUInt32();
     UVSetIndex = reader.ReadUInt32();
     PS2L       = reader.ReadInt16();
     PS2K       = reader.ReadInt16();
 }
Esempio n. 10
0
 public NiTimeController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     NextController = new NiRef <NiTimeController>(reader);
     Flags          = reader.ReadUInt16();
     Frequency      = reader.ReadSingle();
     Phase          = reader.ReadSingle();
     StartTime      = reader.ReadSingle();
     StopTime       = reader.ReadSingle();
     Target         = new NiRef <NiObjectNET>(reader);
 }
Esempio n. 11
0
 public NiSkinInstance(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Data         = new NiRef <NiSkinData>(reader);
     SkeletonRoot = new NiRef <NiNode>(reader);
     Bones        = new NiRef <NiNode> [reader.ReadUInt32()];
     for (var i = 0; i < Bones.Length; i++)
     {
         Bones[i] = new NiRef <NiNode>(reader);
     }
 }
Esempio n. 12
0
        public NiFlipController(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            TextureSlot = reader.ReadUInt32();
            Delta       = reader.ReadSingle();
            Unknown     = reader.ReadUInt32();

            Textures = new NiRef <NiSourceTexture> [reader.ReadInt32()];
            for (var i = 0; i < Textures.Length; i++)
            {
                Textures[i] = new NiRef <NiSourceTexture>(reader);
            }
        }
Esempio n. 13
0
        public NiSequence(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            Name                = new NiString(reader);
            AccumRootName       = new NiString(reader);
            TextKeys            = new NiRef <NiTextKeyExtraData>(reader);
            NumControlledBlocks = reader.ReadUInt32();

            ControlledBlock = new ControlledBlock[NumControlledBlocks];
            for (var i = 0; i < NumControlledBlocks; i++)
            {
                ControlledBlock[i] = new ControlledBlock(reader);
            }
        }
Esempio n. 14
0
        public NiNode(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            Children = new NiRef <NiAVObject> [reader.ReadUInt32()];
            for (var i = 0; i < Children.Length; i++)
            {
                Children[i] = new NiRef <NiAVObject>(reader.ReadUInt32());
            }

            Effects = new NiRef <NiDynamicEffect> [reader.ReadUInt32()];
            for (var i = 0; i < Effects.Length; i++)
            {
                Effects[i] = new NiRef <NiDynamicEffect>(reader.ReadUInt32());
            }
        }
Esempio n. 15
0
 public NiTextureEffect(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     ModelProjectionMatrix    = reader.ReadMatrix33();
     ModelProjectionTransform = reader.Read <Vector3>();
     TextureFiltering         = (TexFilterMode)reader.ReadUInt32();
     TextureClamping          = (TexClampMode)reader.ReadUInt32();
     EffectType    = (EffectType)reader.ReadUInt32();
     CoordGenType  = (CoordGenType)reader.ReadUInt32();
     SourceTexture = new NiRef <NiSourceTexture>(reader);
     ClippingPlane = reader.ReadBoolean();
     ModelPlane    = reader.Read <Plane>();
     PS2L          = reader.ReadInt16();
     PS2K          = reader.ReadInt16();
 }
Esempio n. 16
0
 public ATextureRenderData(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     PixelFormat   = (PixelFormat)reader.ReadUInt32();
     RedMask       = reader.ReadUInt32();
     GreenMask     = reader.ReadUInt32();
     BlueMask      = reader.ReadUInt32();
     AlphaMask     = reader.ReadUInt32();
     BitsPerPixel  = reader.ReadByte();
     Unknown3Bytes = reader.ReadBytes(3);
     Unknown8Bytes = reader.ReadBytes(8);
     Palette       = new NiRef <NiPalette>(reader);
     NumMipMaps    = reader.ReadUInt32();
     BytesPerPixel = reader.ReadUInt32();
     MipMaps       = reader.ReadArray <MipMap>(NumMipMaps);
 }
Esempio n. 17
0
 public NiSourceTexture(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     IsStatic    = true;
     UseExternal = reader.ReadBoolean();
     if (UseExternal)
     {
         FileName = new NiString(reader);
     }
     if (!UseExternal)
     {
         reader.ReadByte();
         InternalTexture = new NiRef <ATextureRenderData>(reader);
     }
     PixelLayout = (PixelLayout)reader.ReadUInt32();
     UseMipmaps  = (MipMapFormat)reader.ReadUInt32();
     AlphaFormat = (AlphaFormat)reader.ReadUInt32();
     IsStatic    = reader.ReadBoolean();
     Unknown     = reader.ReadUInt32();
 }
Esempio n. 18
0
        public NiParticleSystemController(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            Speed               = reader.ReadSingle();
            RandomSpeed         = reader.ReadSingle();
            VerticalDirection   = reader.ReadSingle();
            VerticalAngle       = reader.ReadSingle();
            HorizontalDirection = reader.ReadSingle();
            HorizontalAngle     = reader.ReadSingle();
            UnknownNormal       = reader.Read <Vector3>();
            UnknownColor        = reader.Read <Color4>();
            Size           = reader.ReadSingle();
            EmitStartTime  = reader.ReadSingle();
            EmitStopTime   = reader.ReadSingle();
            UnknownByte    = reader.ReadByte();
            EmitRate       = reader.ReadSingle();
            Lifetime       = reader.ReadSingle();
            LifetimeRandom = reader.ReadSingle();
            EmitFlags      = reader.ReadUInt16();
            StartRandom    = reader.Read <Vector3>();
            Emitter        = new NiRef <NiObject>(reader);

            reader.ReadUInt16();
            reader.ReadSingle();
            reader.ReadUInt32();
            reader.ReadUInt32();
            reader.ReadUInt16();

            NumParticles = reader.ReadUInt16();
            NumValid     = reader.ReadUInt16();

            Particles = new Particle[NumParticles];
            for (var i = 0; i < NumParticles; i++)
            {
                Particles[i] = new Particle(reader);
            }

            UnknownRef = new NiRef <NiObject>(reader);

            ParticleExtra = new NiRef <NiParticleModifier>(reader);
            UnknownRef2   = new NiRef <NiObject>(reader);
            Trailer       = reader.ReadByte();
        }
Esempio n. 19
0
        public NiAVObject(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            Flags       = reader.ReadUInt16();
            Translation = reader.Read <Vector3>();
            Rotation    = reader.ReadMatrix33();
            Scale       = reader.ReadSingle();
            Velocity    = reader.Read <Vector3>();

            Properties = new NiRef <NiProperty> [reader.ReadUInt32()];
            for (var i = 0; i < Properties.Length; i++)
            {
                Properties[i] = new NiRef <NiProperty>(reader.ReadUInt32());
            }

            HasBoundingBox = reader.ReadBoolean(Version);
            if (HasBoundingBox)
            {
                BoundingBox = reader.Read <BoundingBox>();
            }
        }
Esempio n. 20
0
        public NiCamera(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            FrustrumLeft   = reader.ReadSingle();
            FrustrumRight  = reader.ReadSingle();
            FrustrumTop    = reader.ReadSingle();
            FrustrumBottom = reader.ReadSingle();
            FrustrumNear   = reader.ReadSingle();
            FrustrumFar    = reader.ReadSingle();
            ViewportLeft   = reader.ReadSingle();
            ViewportRight  = reader.ReadSingle();
            ViewportTop    = reader.ReadSingle();
            ViewportBottom = reader.ReadSingle();
            LODAdjust      = reader.ReadSingle();
            UnknownLink    = new NiRef <NiNode>(reader);
            SpotAngle      = reader.ReadSingle();

            if (File.Header.Version >= NifVersion.VER_4_2_1_0)
            {
                SpotExponent = reader.ReadSingle();
            }
        }
Esempio n. 21
0
        public NiSkinData(NIFReader file, BinaryReader reader) : base(file, reader)
        {
            HasVertexWeights = true;
            Transform        = new SkinTransform(reader);
            var skinCount = reader.ReadUInt32();

            Partition = new NiRef <NiSkinPartition>(reader);

            if (Version >= NifVersion.VER_4_2_1_0)
            {
                HasVertexWeights = reader.ReadBoolean();
            }

            if (HasVertexWeights)
            {
                BoneList = new SkinData[skinCount];
                for (var i = 0; i < BoneList.Length; i++)
                {
                    BoneList[i] = new SkinData(reader, HasVertexWeights);
                }
            }
        }
Esempio n. 22
0
 public NiGeomMorpherController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Data         = new NiRef <NiMorphData>(reader);
     AlwaysUpdate = reader.ReadBoolean();
 }
Esempio n. 23
0
 public NiKeyframeController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Data = new NiRef <NiKeyframeData>(reader);
 }
Esempio n. 24
0
 public NiAlphaController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Data = new NiRef <NiFloatData>(reader);
 }
Esempio n. 25
0
 public NiOutline(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     OutlineData = new NiRef <NiOutlineData>(reader);
 }
Esempio n. 26
0
 public NiUVController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     UnknownShort1 = reader.ReadUInt16();
     Data          = new NiRef <NiUVData>(reader);
 }
Esempio n. 27
0
 public NiPortal(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Flags    = reader.ReadUInt16();
     Vertices = reader.ReadArray <Vector3>(reader.ReadUInt16());
     Adjoiner = new NiRef <NiNode>(reader);
 }
 public NiParticleMeshesData(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     UnknownLink = new NiRef <NiAVObject>(reader);
 }
Esempio n. 29
0
 public NiCollisionObject(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Target = new NiRef <NiAVObject>(reader);
 }
Esempio n. 30
0
 public NiPoint3InterpController(NIFReader file, BinaryReader reader) : base(file, reader)
 {
     Data = new NiRef <NiPosData>(reader);
 }