Пример #1
0
        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]);
            }
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
            }
        }