private UnkStruct1[] unkIntData; //size at the start as an int, then three ints following. (possible struct with 3 ints) public void ReadFromFile(BinaryReader reader) { header = new string(reader.ReadChars(4)); //header unk01 = reader.ReadInt32(); unk02 = reader.ReadInt32(); int sizeOfInts = reader.ReadInt32(); unkIntData = new UnkStruct1[sizeOfInts]; for (int i = 0; i != unkIntData.Length; i++) { unkIntData[i] = new UnkStruct1(reader); } }
public void SerializeData(SerializingContainer Container) { if (Container.isLoading) { Data = new DataAnimSetStruct(); } Data.unk1 = Container + Data.unk1; Data.unk2 = Container + Data.unk2; Data.unk3 = Container + Data.unk3; Data.unk4 = Container + Data.unk4; int count = 0; if (!Container.isLoading) { count = Data.Data.Length; } count = Container + count; if (Container.isLoading) { Data.Data = new DataAnimSetDataStruct[count]; } for (int i = 0; i < count; i++) { if (Container.isLoading) { Data.Data[i] = new DataAnimSetDataStruct(); } DataAnimSetDataStruct d = Data.Data[i]; d.unk1 = Container + d.unk1; int count2 = 0; if (!Container.isLoading) { count2 = d.unklist1.Length; } count2 = Container + count2; if (Container.isLoading) { d.unklist1 = new UnkStruct1[count2]; } for (int j = 0; j < count2; j++) { if (Container.isLoading) { d.unklist1[j] = new UnkStruct1(); } UnkStruct1 u = d.unklist1[j]; u.unk1 = Container + u.unk1; u.unk2 = Container + u.unk2; d.unklist1[j] = u; } count2 = 0; if (!Container.isLoading) { count2 = d.unklist2.Length; } count2 = Container + count2; if (Container.isLoading) { d.unklist2 = new UnkStruct2[count2]; } for (int j = 0; j < count2; j++) { if (Container.isLoading) { d.unklist2[j] = new UnkStruct2(); } UnkStruct2 u = d.unklist2[j]; u.unk1 = Container + u.unk1; u.unk2 = Container + u.unk2; u.unk3 = Container + u.unk3; u.unk4 = Container + u.unk4; d.unklist2[j] = u; } count2 = 0; if (!Container.isLoading) { count2 = d.unklist3.Length; } count2 = Container + count2; if (Container.isLoading) { d.unklist3 = new int[count2]; } for (int j = 0; j < count2; j++) { d.unklist3[j] = Container + d.unklist3[j]; } d.FadeInTime = Container + d.FadeInTime; d.FadeOutTime = Container + d.FadeOutTime; d.unk2 = Container + d.unk2; d.Path = SerializeString(Container, d.Path); d.ID = SerializeString(Container, d.ID); d.unk3 = Container + d.unk3; Data.Data[i] = d; } }