internal ModelPlane(BinaryReader reader, bool earlyVersion) { int pointCount = reader.ReadByte(); U1 = reader.ReadByte(); TextureIndex = new TextureIndex(reader.ReadUInt16()); U2 = reader.ReadUInt16(); U3 = reader.ReadUInt16(); Points = new ModelPlanePoint[pointCount]; ModelPlanePoint point; for (int pointIndex = 0; pointIndex < pointCount; pointIndex++) { int offset = reader.ReadInt32(); if (earlyVersion) { offset *= 3; } if (offset % 12 != 0) { throw new Exception(); } point.Index = offset / 12; point.U = reader.ReadUInt16(); point.V = reader.ReadUInt16(); Points[pointIndex] = point; } }
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()); }