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 EntryFLY() { CameraNormalizedRight = new WireVector(); CameraNormalizedUp = new WireVector(); CameraNormalizedBackward = new WireVector(); CameraPosition = new WireVector(); }
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(); }
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); } }
public bool NearEqual(WireVector other) { return(MathUtil.NearEqual(other.X, X) && MathUtil.NearEqual(other.Y, Y) && MathUtil.NearEqual(other.Z, Z)); }