public void Load(System.IO.Stream stream) { Text = FileName; bffnt = new FFNT(); bffnt.Read(new FileReader(stream)); TGLP tglp = bffnt.GetFontSection().tglp; var textureFolder = new TreeNode("Textures"); Nodes.Add(textureFolder); if (tglp.SheetDataList.Count > 0) { var bntx = STFileLoader.OpenFileFormat("Sheet_0", Utils.CombineByteArray(tglp.SheetDataList.ToArray())); if (bntx != null) { textureFolder.Nodes.Add((BNTX)bntx); } else { for (int s = 0; s < tglp.SheetDataList.Count; s++) { var surface = new Gx2ImageBlock(); surface.Text = $"Sheet_{s}"; surface.Load(tglp, s); textureFolder.Nodes.Add(surface); } } } int i = 0; foreach (byte[] texture in tglp.SheetDataList) { // BNTX file = (BNTX)STFileLoader.OpenFileFormat("Sheet" + i++, texture); // Nodes.Add(file); } }
public void Load(System.IO.Stream stream) { CanSave = true; bffnt = new FFNT(); bffnt.Read(new FileReader(stream)); TGLP tglp = bffnt.FontSection.TextureGlyph; if (tglp.SheetDataList.Count > 0) { var bntx = STFileLoader.OpenFileFormat("Sheet_0", Utils.CombineByteArray(tglp.SheetDataList.ToArray())); if (bntx != null) { tglp.BinaryTextureFile = (BNTX)bntx; } else { for (int s = 0; s < tglp.SheetDataList.Count; s++) { var surface = new Gx2ImageBlock(); surface.Text = $"Sheet_{s}"; surface.Load(tglp, s); tglp.Gx2Textures.Add(surface); } } } int i = 0; foreach (byte[] texture in tglp.SheetDataList) { // BNTX file = (BNTX)STFileLoader.OpenFileFormat("Sheet" + i++, texture); // Nodes.Add(file); } }
public void Load(System.IO.Stream stream) { PluginRuntime.BxfntFiles.Add(this); CanSave = true; bffnt = new FFNT(); bffnt.Read(new FileReader(stream)); TGLP tglp = bffnt.FontSection.TextureGlyph; if (tglp.SheetDataList.Count > 0) { if (bffnt.Platform == FFNT.PlatformType.NX) { var bntx = STFileLoader.OpenFileFormat( new MemoryStream(Utils.CombineByteArray(tglp.SheetDataList.ToArray())), "Sheet_0"); if (bntx != null) { tglp.BinaryTextureFile = (BNTX)bntx; } } else if (bffnt.Platform == FFNT.PlatformType.Cafe) { for (int s = 0; s < tglp.SheetDataList.Count; s++) { var surface = new Gx2ImageBlock(); surface.Text = $"Sheet_{s}"; surface.Load(tglp, s); tglp.Textures.Add(surface); } } else if (bffnt.Platform == FFNT.PlatformType.Ctr) { for (int s = 0; s < tglp.SheetDataList.Count; s++) { var surface = new CtrImageBlock(); surface.Text = $"Sheet_{s}"; surface.Load(tglp, s); surface.GetBitmap().Save($"Image{s}.png"); tglp.Textures.Add(surface); } } else { for (int s = 0; s < tglp.SheetDataList.Count; s++) { var surface = new RevImageBlock(); surface.Text = $"Sheet_{s}"; surface.Load(tglp, s); surface.GetBitmap().Save($"Image{s}.png"); tglp.Textures.Add(surface); } } } int i = 0; foreach (byte[] texture in tglp.SheetDataList) { // BNTX file = (BNTX)STFileLoader.OpenFileFormat("Sheet" + i++, texture); // Nodes.Add(file); } }