From 968ac33d09ca3a149a42c1566b570ccbb91d440e Mon Sep 17 00:00:00 2001 From: KillzXGaming Date: Fri, 4 Sep 2020 16:29:23 -0400 Subject: [PATCH] PTCL : fix some material assignments for primitives. --- File_Format_Library/FileFormats/BFRES/BFRES.cs | 5 ++++- File_Format_Library/FileFormats/Effects/PCTL.cs | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/File_Format_Library/FileFormats/BFRES/BFRES.cs b/File_Format_Library/FileFormats/BFRES/BFRES.cs index d3fe17a7..733adca1 100644 --- a/File_Format_Library/FileFormats/BFRES/BFRES.cs +++ b/File_Format_Library/FileFormats/BFRES/BFRES.cs @@ -50,6 +50,9 @@ namespace FirstPlugin } } + //Determines if the binary is in a PTCL binary file. + public bool IsParticlePrimitive = false; + public bool DisplayIcons => false; public List TextureList @@ -914,7 +917,7 @@ namespace FirstPlugin public void Save(System.IO.Stream stream) { var Models = GetModels(); - if (Models != null) + if (Models != null && !IsParticlePrimitive) { foreach (FMDL mdl in Models) { diff --git a/File_Format_Library/FileFormats/Effects/PCTL.cs b/File_Format_Library/FileFormats/Effects/PCTL.cs index 18b7e776..66c63d69 100644 --- a/File_Format_Library/FileFormats/Effects/PCTL.cs +++ b/File_Format_Library/FileFormats/Effects/PCTL.cs @@ -611,6 +611,7 @@ namespace FirstPlugin reader.Seek(section.BinaryDataOffset + section.Position, SeekOrigin.Begin); BinaryData = new BFRES(); + ((BFRES)BinaryData).IsParticlePrimitive = true; ((BFRES)BinaryData).FileName = "model.bfres"; ((BFRES)BinaryData).Load(new MemoryStream(reader.ReadBytes((int)section.SectionSize))); ((BFRES)BinaryData).IFileInfo = new IFileInfo(); @@ -654,7 +655,7 @@ namespace FirstPlugin case "G3PR": { var mem = new System.IO.MemoryStream(); - if (BinaryData != null) + if (BinaryData != null && ((BFRES)BinaryData).CanSave) { ((BFRES)BinaryData).Save(mem); SaveHeader(writer, header, mem.ToArray(), 4096);