public override void ReadFromFile(MemoryStream reader, bool isBigEndian) { base.ReadFromFile(reader, isBigEndian); unk01 = reader.ReadInt32(isBigEndian); unkData = new unkStruct[unk01]; for (int i = 0; i != unk01; i++) { unkData[i] = new unkStruct(reader, isBigEndian); } }
private void AddTest() { unkStruct data = new unkStruct(); data.fileID = 1156; data.unk0 = new Vector3(-1125.855f, 1398.833f, 23.14296f); data.unk1 = new Vector3(-1016.458f, 1368.833f, 16.67241f); data.unk2 = 0; data.fileSize = 46412; data.accumulatingSize = unkData[unkData.Count - 1].accumulatingSize + unkData[unkData.Count - 1].fileSize; data.unk2 = 100731; data.fileFlags = 16583800; unkData.Add(data); }
public void ReadFromFile(BinaryReader reader) { unk0 = reader.ReadInt32(); int entryCount = reader.ReadInt32(); remainingHeader = reader.ReadBytes(132); unkData = new List <unkStruct>(); for (int i = 0; i < entryCount; i++) { unkStruct data = new unkStruct(); data.fileID = reader.ReadInt32(); // The bounding box here is stored as X X -Y -Y Z Z // So we have to take this into account, rather than using or util function. float minX = reader.ReadSingle(); float maxX = reader.ReadSingle(); float minY = -reader.ReadSingle(); float maxY = -reader.ReadSingle(); float minZ = reader.ReadSingle(); float maxZ = reader.ReadSingle(); data.unk0 = new Vector3(minX, minY, minZ); data.unk1 = new Vector3(maxX, maxY, maxZ); // And then after we have deserialized it properly we have to swap it, using a // util function only specific to this type of navigation file. data.unk0 = SwapVector3(data.unk0); data.unk1 = SwapVector3(data.unk1); data.unk2 = reader.ReadInt32(); data.fileSize = reader.ReadInt32(); data.accumulatingSize = reader.ReadInt32(); data.unk5 = reader.ReadInt32(); data.fileFlags = reader.ReadInt32(); unkData.Add(data); } unk2 = StringHelpers.ReadString(reader); unk3 = reader.ReadInt32(); unk4 = reader.ReadInt32(); //unkFooter = reader.ReadUInt64(); if (Debugger.IsAttached) { DebugWriteToFile(); AddTest(); } }
public override void ReadFromFile(BinaryReader reader) { base.ReadFromFile(reader); unk01 = reader.ReadInt32(); if (unk01 <= 0) { return; } unkData = new unkStruct[unk01]; for (int i = 0; i != unk01; i++) { unkData[i] = new unkStruct(reader); } }
public HPDData(BinaryReader reader) { unk0 = reader.ReadInt32(); unk1 = reader.ReadInt32(); remainingHeader = reader.ReadBytes(132); unkData = new unkStruct[unk1]; for (int i = 0; i != unkData.Length; i++) { unkStruct data = new unkStruct(); data.id = reader.ReadInt32(); data.unk0 = Vector3Extenders.ReadFromFile(reader); data.unk1 = Vector3Extenders.ReadFromFile(reader); data.unkData = reader.ReadBytes(20); unkData[i] = data; } unk2 = StringHelpers.ReadString(reader); unk3 = reader.ReadInt32(); unk4 = reader.ReadInt32(); }