Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }