예제 #1
0
 public ExteriorChunkPerson(ExteriorChunkArea area, int index, BinaryReader reader)
     : base(area, index, reader)
 {
     TextureIndex = new TextureIndex(reader.ReadUInt16());
     FactionIndex = new FactionIndex(reader.ReadUInt16());
     Unknowns.Add(reader.ReadByte());
 }
예제 #2
0
 public ExteriorChunkDoor(ExteriorChunkArea area, int index, BinaryReader reader)
     : base(area, index, reader)
 {
     Unknowns.Add(reader.ReadUInt16());
     Rotation = Angle.Daggerfall(reader.ReadInt16());
     Unknowns.Add(reader.ReadUInt16());
     reader.ReadZeroes(1);
 }
        internal ExteriorChunkModel(ExteriorChunkArea area, int index, BinaryReader reader) : base(area.State)
        {
            this.Area  = area;
            this.Index = index;
            ModelId    = reader.ReadUInt16() * 100 + reader.ReadByte();
            Unknowns.Add(reader.ReadByte());
            Unknowns.Add(reader.ReadInt32()); // Nonzero in 1297 of 236250 records; sames to repeast within the same file. Could be two or four separate fields.
            Unknowns.Add(reader.ReadInt32());
            Unknowns.Add(reader.ReadInt32()); // Non-zero only in 272 of 236250 records. Seems to repeat within the same file. Could be two or four seperate fields.
            reader.ReadZeroes(8);
            UnknownPoint = reader.ReadVector3i();
            var position = Position = reader.ReadVector3i();

            reader.ReadZeroes(4);
            YRotation = Angle.Daggerfall(reader.ReadInt16());
            Unknowns.Add(reader.ReadUInt16());
            Unknowns.Add(reader.ReadInt32());
            Unknowns.Add(reader.ReadInt32()); // Only non-zero in CUSTAA45.RMB where it is 0x200; this is referenced only by Wayrest.
            reader.ReadZeroes(2);

            transform = Matrix.CreateRotationY(YRotation.InRadians) * Matrix.CreateTranslation(position);
        }
예제 #4
0
 internal void LoadContents(BinaryReader reader)
 {
     Exterior = new ExteriorChunkArea(this, true, reader);
     Interior = new ExteriorChunkArea(this, false, reader);
 }
예제 #5
0
 public ExteriorChunkSection(ExteriorChunkArea area, int index, BinaryReader reader)
     : base(area, index, reader)
 {
     Unknowns.Add(reader.ReadUInt16());
     Unknowns.Add(reader.ReadUInt16());
 }
예제 #6
0
 internal ExteriorChunkObject(ExteriorChunkArea area, int index, BinaryReader reader) : base(area.State)
 {
     Area     = area;
     Index    = index;
     Position = reader.ReadVector3i();
 }