Example #1
0
        public static void SaveOWMaterialFile(string path, FindLogic.Combo.MaterialInfo materialInfo, Model.OWMatWriter14 materialWriter, FindLogic.Combo.ComboInfo info)
        {
            string materialPath =
                Path.Combine(path, "Materials", $"{materialInfo.GetNameIndex()}{materialWriter.Format}");

            CreateDirectoryFromFile(materialPath);
            using (Stream materialOutputStream = File.OpenWrite(materialPath)) {
                materialOutputStream.SetLength(0);
                materialWriter.Write(materialOutputStream, info, materialInfo);
            }
        }
Example #2
0
        public static void SaveOWMaterialFile(string path, FindLogic.Combo.MaterialInfo materialInfo, FindLogic.Combo.ComboInfo info)
        {
            Model.OverwatchMaterial material = new Model.OverwatchMaterial(info, materialInfo);
            string materialPath =
                Path.Combine(path, "Materials", $"{materialInfo.GetNameIndex()}.{material.Extension}");

            CreateDirectoryFromFile(materialPath);
            using (Stream materialOutputStream = File.OpenWrite(materialPath)) {
                materialOutputStream.SetLength(0);
                material.Write(materialOutputStream);
            }
        }
Example #3
0
            // ver 2.0+ writes materials seperately from ModelLooks

            public void Write(Stream output, FindLogic.Combo.ComboInfo info, FindLogic.Combo.ModelLookInfo modelLookInfo)
            {
                using (BinaryWriter writer = new BinaryWriter(output)) {
                    writer.Write(VersionMajor);
                    writer.Write(VersionMinor);
                    if (modelLookInfo.Materials == null)
                    {
                        writer.Write(0L);
                        writer.Write((uint)OWMatType.ModelLook);
                        return;
                    }
                    writer.Write(modelLookInfo.Materials.LongCount());
                    writer.Write((uint)OWMatType.ModelLook);

                    foreach (ulong modelLookMaterial in modelLookInfo.Materials)
                    {
                        FindLogic.Combo.MaterialInfo materialInfo = info.Materials[modelLookMaterial];
                        writer.Write($"..\\..\\Materials\\{materialInfo.GetNameIndex()}{Format}");
                    }
                }
            }
Example #4
0
File: Model.cs Project: ipud2/OWLib
            public void Write(Stream stream)
            {
                using (BinaryWriter writer = new BinaryWriter(stream)) {
                    writer.Write(OverwatchMaterial.VersionMajor);
                    writer.Write(OverwatchMaterial.VersionMinor);
                    if (ModelLookInfo.Materials == null)
                    {
                        writer.Write(0L);
                        writer.Write((uint)OverwatchMaterial.OWMatType.ModelLook);
                        return;
                    }
                    writer.Write(ModelLookInfo.Materials.LongCount());
                    writer.Write((uint)OverwatchMaterial.OWMatType.ModelLook);

                    foreach (ulong modelLookMaterial in ModelLookInfo.Materials)
                    {
                        FindLogic.Combo.MaterialInfo materialInfo = Info.Materials[modelLookMaterial];
                        writer.Write($"..\\..\\Materials\\{materialInfo.GetNameIndex()}.{Extension}");
                    }
                }
            }