public void WriteToFile(BinaryWriter writer) { writer.Write(41); StringHelpers.WriteString32(writer, "IOFX"); writer.Write(unk01); writer.Write(4096); writer.Write(renderMeshes.Length); for (int i = 0; i != renderMeshes.Length; i++) { renderMeshes[i] = new ApexRenderMesh(); renderMeshes[i].WriteToFile(writer); } //Read ApexMaterials. StringHelpers.WriteString32(writer, "ApexMaterials"); //ApexMaterials StringHelpers.WriteString32(writer, renderMaterials); //Read Spawn Modifiers writer.Write(spawnModifiers.Count); for (int i = 0; i != spawnModifiers.Count; i++) { WriteModifier(writer, spawnModifiers[i]); } //Read Continous Modifiers writer.Write(continuousModifiers.Count); for (int i = 0; i != continuousModifiers.Count; i++) { WriteModifier(writer, continuousModifiers[i]); } }
public void ReadFromFile(BinaryReader reader) { Console.WriteLine(string.Format("Checking: {0}", file.Name)); //check version. if (reader.ReadInt32() != 41) { return; } //check header. if (StringHelpers.ReadString32(reader) != "IOFX") { return; } //check unk1. //if (reader.ReadInt32() != 13) // return; unk01 = reader.ReadInt32(); //check unk2. if (reader.ReadInt32() != 4096) { return; } //Read ApexRenderMeshes. int numRenderMeshes = reader.ReadInt32(); renderMeshes = new ApexRenderMesh[numRenderMeshes]; for (int i = 0; i != renderMeshes.Length; i++) { renderMeshes[i] = new ApexRenderMesh(); renderMeshes[i].ReadFromFile(reader); } //Read ApexMaterials. StringHelpers.ReadString32(reader); //ApexMaterials renderMaterials = StringHelpers.ReadString32(reader); //Read Spawn Modifiers int spawnModifiersCount = reader.ReadInt32(); //first count of modifiers. for (int i = 0; i != spawnModifiersCount; i++) { spawnModifiers.Add(ReadModifier(reader)); } //Read Continous Modifiers int continousModifiersCount = reader.ReadInt32(); for (int i = 0; i != continousModifiersCount; i++) { continuousModifiers.Add(ReadModifier(reader)); } }
public void ReadFromFile(BinaryReader reader) { //check version. if (reader.ReadInt32() != 41) { return; } //check header. if (Functions.ReadString32(reader) != "IOFX") { return; } //check unk1. //if (reader.ReadInt32() != 13) // return; unk01 = reader.ReadInt32(); //check unk2. if (reader.ReadInt32() != 4096) { return; } //Read ApexRenderMeshes. int numRenderMeshes = reader.ReadInt32(); renderMeshes = new ApexRenderMesh[numRenderMeshes]; for (int i = 0; i != renderMeshes.Length; i++) { renderMeshes[i] = new ApexRenderMesh(); renderMeshes[i].ReadFromFile(reader); } //Read ApexMaterials. Functions.ReadString32(reader); //ApexMaterials renderMaterials = Functions.ReadString32(reader); //Read Spawn Modifiers int spawnModifiersCount = reader.ReadInt32(); //first count of modifiers. for (int i = 0; i != spawnModifiersCount; i++) { spawnModifiers.Add(DetermineModifier(reader)); } //Read Continous Modifiers int continousModifiersCount = reader.ReadInt32(); for (int i = 0; i != continousModifiersCount; i++) { continuousModifiers.Add(DetermineModifier(reader)); } }