Exemple #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);
            }
        }
        public AssetGRSM(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();

                MinX = reader.ReadSingle();
                MinY = reader.ReadSingle();
                MinZ = reader.ReadSingle();
                MaxX = reader.ReadSingle();
                MaxY = reader.ReadSingle();
                MaxZ = reader.ReadSingle();

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

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

                CreateTransformMatrix();
                ArchiveEditorFunctions.AddToRenderableAssets(this);
            }
        }
        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);
            }
        }