Esempio n. 1
0
        public AssetWIRE(Section_AHDR AHDR, Game game, Endianness endianness, SharpRenderer renderer) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.ReadInt32();
                int vertexAmount = reader.ReadInt32();
                int lineAmount   = reader.ReadInt32();
                hashID0 = reader.ReadUInt32();
                hashID1 = reader.ReadUInt32();

                Points = new WireVector[vertexAmount];
                for (int i = 0; i < Points.Length; i++)
                {
                    Points[i] = new WireVector(reader);
                }

                Lines = new Line[lineAmount];
                for (int i = 0; i < Lines.Length; i++)
                {
                    Lines[i] = new Line(reader);
                }

                Setup(renderer);
                ArchiveEditorFunctions.AddToRenderableAssets(this);
            }
        }
Esempio n. 2
0
 public EntryFLY()
 {
     CameraNormalizedRight    = new WireVector();
     CameraNormalizedUp       = new WireVector();
     CameraNormalizedBackward = new WireVector();
     CameraPosition           = new WireVector();
 }
Esempio n. 3
0
 public EntryFLY(BinaryReader binaryReader)
 {
     FrameNumer               = binaryReader.ReadInt32();
     CameraNormalizedRight    = new WireVector(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
     CameraNormalizedUp       = new WireVector(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
     CameraNormalizedBackward = new WireVector(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
     CameraPosition           = new WireVector(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
     ApertureX = binaryReader.ReadSingle();
     ApertureY = binaryReader.ReadSingle();
     Focal     = binaryReader.ReadSingle();
 }
Esempio n. 4
0
        public AssetDTRK(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = baseHeaderEndPosition;

                var numVertices  = reader.ReadUInt32();
                var numTriangles = reader.ReadUInt32();
                LandableStart = reader.ReadUInt32();
                LeavableStart = reader.ReadUInt32();
                Unknown1      = reader.ReadUInt32();
                Unknown2      = reader.ReadUInt32();
                Unknown3      = reader.ReadUInt32();

                Vertices = new WireVector[numVertices];
                for (int i = 0; i < Vertices.Length; i++)
                {
                    Vertices[i] = new WireVector(reader);
                }

                Triangles = new DashTrackTriangle[numTriangles];
                for (int i = 0; i < Triangles.Length; i++)
                {
                    Triangles[i] = new DashTrackTriangle(reader);
                }

                Portals = new DashTrackPortal[numTriangles];
                for (int i = 0; i < Portals.Length; i++)
                {
                    Portals[i] = new DashTrackPortal(reader);
                }

                LastTriangle  = reader.ReadUInt32();
                LastPositionX = reader.ReadSingle();
                LastPositionY = reader.ReadSingle();

                CreateTransformMatrix();
                ArchiveEditorFunctions.AddToRenderableAssets(this);
            }
        }
Esempio n. 5
0
 public bool NearEqual(WireVector other)
 {
     return(MathUtil.NearEqual(other.X, X) && MathUtil.NearEqual(other.Y, Y) && MathUtil.NearEqual(other.Z, Z));
 }