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); } }
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); } }
// 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}"); } } }
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}"); } } }