internal TextureArchiveRecord(TextureArchive archive, BinaryReader reader, ByteOrder order)
: base(archive, "")
{
Offset = reader.ReadInt32(order);
Size = reader.ReadInt32(order);
if (Archive.Platform == DSPlatform.PS3) {
int format = reader.ReadInt16(order);
Id = reader.ReadInt16(order);
Ps3Dimensions = new Vector2i(reader.ReadUInt16(order), reader.ReadUInt16(order));
switch (format) {
case 0: Ps3Format = Glare.Graphics.Formats.DXT1; break;
case 0x0500: Ps3Format = Glare.Graphics.Formats.DXT5; break;
case 0x0900: Ps3Format = Glare.Graphics.Formats.Vector4nb; break;
default: throw new NotSupportedException(string.Format("PS3 format 0x{0:X4} (dimensions {1}, data size {2}) is not known.", format, Ps3Dimensions, Size));
}
Unknowns.ReadInt32s(reader, 1);
reader.RequireZeroes(4);
} else {
Id = reader.ReadInt32(order);
}
Name = reader.ReadStringzAtUInt32(order, Alexandria.Engines.DarkSouls.Archive.ShiftJis);
reader.RequireZeroes(4);
}