Some bffnt stuff
This commit is contained in:
parent
81326b61f0
commit
9b15a3d5fe
BIN
.vs/Toolbox/v15/.suo
Normal file
BIN
.vs/Toolbox/v15/.suo
Normal file
Binary file not shown.
@ -69,12 +69,18 @@ namespace FirstPlugin.New
|
|||||||
|
|
||||||
public bool AddFile(ArchiveFileInfo archiveFileInfo)
|
public bool AddFile(ArchiveFileInfo archiveFileInfo)
|
||||||
{
|
{
|
||||||
return false;
|
files.Add(new SarcEntry()
|
||||||
|
{
|
||||||
|
FileData = archiveFileInfo.FileData,
|
||||||
|
FileName = archiveFileInfo.FileName,
|
||||||
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool DeleteFile(ArchiveFileInfo archiveFileInfo)
|
public bool DeleteFile(ArchiveFileInfo archiveFileInfo)
|
||||||
{
|
{
|
||||||
return false;
|
files.Remove((SarcEntry)archiveFileInfo);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RenameActors(object sender, EventArgs args)
|
private void RenameActors(object sender, EventArgs args)
|
||||||
@ -204,9 +210,6 @@ namespace FirstPlugin.New
|
|||||||
SarcEntry sarcEntry = new SarcEntry();
|
SarcEntry sarcEntry = new SarcEntry();
|
||||||
sarcEntry.FileName = fullName;
|
sarcEntry.FileName = fullName;
|
||||||
sarcEntry.FileData = data;
|
sarcEntry.FileData = data;
|
||||||
|
|
||||||
string ext = Path.GetExtension(fullName);
|
|
||||||
string SarcEx = SARCExt.SARC.GuessFileExtension(data);
|
|
||||||
return sarcEntry;
|
return sarcEntry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -414,6 +414,7 @@ namespace FirstPlugin
|
|||||||
var parentForm = LibraryGUI.GetActiveForm();
|
var parentForm = LibraryGUI.GetActiveForm();
|
||||||
|
|
||||||
GenericEditorForm editorForm = new GenericEditorForm(true, form);
|
GenericEditorForm editorForm = new GenericEditorForm(true, form);
|
||||||
|
editorForm.Text = Text;
|
||||||
editorForm.FormClosing += (sender, e) => FormClosing(sender, e, fileFormat);
|
editorForm.FormClosing += (sender, e) => FormClosing(sender, e, fileFormat);
|
||||||
if (editorForm.ShowDialog() == DialogResult.OK)
|
if (editorForm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
|
@ -3,17 +3,17 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Toolbox;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Toolbox.Library;
|
using Toolbox.Library;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Toolbox.Library.IO;
|
using Toolbox.Library.IO;
|
||||||
using Toolbox.Library.Forms;
|
using Toolbox.Library.Forms;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using FirstPlugin.Forms;
|
||||||
|
|
||||||
namespace FirstPlugin
|
namespace FirstPlugin
|
||||||
{
|
{
|
||||||
public class BFFNT : TreeNodeFile, IFileFormat
|
public class BFFNT : IFileFormat, IEditor<BffntEditor>
|
||||||
{
|
{
|
||||||
public FileType FileType { get; set; } = FileType.Font;
|
public FileType FileType { get; set; } = FileType.Font;
|
||||||
|
|
||||||
@ -41,28 +41,35 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FFNT bffnt;
|
public FFNT bffnt;
|
||||||
public BNTX BinaryTextureFile;
|
|
||||||
public List<Gx2ImageBlock> Gx2Textures = new List<Gx2ImageBlock>();
|
public BffntEditor OpenForm()
|
||||||
|
{
|
||||||
|
BffntEditor form = new BffntEditor();
|
||||||
|
form.Text = "BFFNT Editor";
|
||||||
|
form.Dock = DockStyle.Fill;
|
||||||
|
form.LoadFontFile(this);
|
||||||
|
return form;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FillEditor(UserControl control)
|
||||||
|
{
|
||||||
|
((BffntEditor)control).LoadFontFile(this);
|
||||||
|
}
|
||||||
|
|
||||||
public void Load(System.IO.Stream stream)
|
public void Load(System.IO.Stream stream)
|
||||||
{
|
{
|
||||||
Text = FileName;
|
|
||||||
|
|
||||||
bffnt = new FFNT();
|
bffnt = new FFNT();
|
||||||
bffnt.Read(new FileReader(stream));
|
bffnt.Read(new FileReader(stream));
|
||||||
|
|
||||||
TGLP tglp = bffnt.GetFontSection().tglp;
|
TGLP tglp = bffnt.FontSection.TextureGlyph;
|
||||||
|
|
||||||
var textureFolder = new TreeNode("Textures");
|
|
||||||
Nodes.Add(textureFolder);
|
|
||||||
if (tglp.SheetDataList.Count > 0)
|
if (tglp.SheetDataList.Count > 0)
|
||||||
{
|
{
|
||||||
var bntx = STFileLoader.OpenFileFormat("Sheet_0", Utils.CombineByteArray(tglp.SheetDataList.ToArray()));
|
var bntx = STFileLoader.OpenFileFormat("Sheet_0", Utils.CombineByteArray(tglp.SheetDataList.ToArray()));
|
||||||
if (bntx != null)
|
if (bntx != null)
|
||||||
{
|
{
|
||||||
BinaryTextureFile = (BNTX)bntx;
|
tglp.BinaryTextureFile = (BNTX)bntx;
|
||||||
textureFolder.Nodes.Add((BNTX)bntx);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -71,13 +78,11 @@ namespace FirstPlugin
|
|||||||
var surface = new Gx2ImageBlock();
|
var surface = new Gx2ImageBlock();
|
||||||
surface.Text = $"Sheet_{s}";
|
surface.Text = $"Sheet_{s}";
|
||||||
surface.Load(tglp, s);
|
surface.Load(tglp, s);
|
||||||
textureFolder.Nodes.Add(surface);
|
tglp.Gx2Textures.Add(surface);
|
||||||
Gx2Textures.Add(surface);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (byte[] texture in tglp.SheetDataList)
|
foreach (byte[] texture in tglp.SheetDataList)
|
||||||
{
|
{
|
||||||
@ -138,17 +143,9 @@ namespace FirstPlugin
|
|||||||
{
|
{
|
||||||
public ushort BOM;
|
public ushort BOM;
|
||||||
public ushort HeaderSize;
|
public ushort HeaderSize;
|
||||||
public uint Version;
|
public uint Version { get; set; }
|
||||||
|
|
||||||
public FINF GetFontSection()
|
public FINF FontSection { get; set; }
|
||||||
{
|
|
||||||
foreach (var block in Blocks)
|
|
||||||
{
|
|
||||||
if (block.GetType() == typeof(FINF))
|
|
||||||
return (FINF)block;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<BFFNT_Block> Blocks = new List<BFFNT_Block>();
|
public List<BFFNT_Block> Blocks = new List<BFFNT_Block>();
|
||||||
|
|
||||||
@ -173,9 +170,9 @@ namespace FirstPlugin
|
|||||||
switch (SignatureCheck)
|
switch (SignatureCheck)
|
||||||
{
|
{
|
||||||
case "FINF":
|
case "FINF":
|
||||||
FINF finf = new FINF();
|
FontSection = new FINF();
|
||||||
finf.Read(reader);
|
FontSection.Read(reader, this);
|
||||||
Blocks.Add(finf);
|
Blocks.Add(FontSection);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new NotImplementedException("Unsupported block found! " + SignatureCheck);
|
throw new NotImplementedException("Unsupported block found! " + SignatureCheck);
|
||||||
@ -473,59 +470,81 @@ namespace FirstPlugin
|
|||||||
public class FINF : BFFNT_Block
|
public class FINF : BFFNT_Block
|
||||||
{
|
{
|
||||||
public uint Size;
|
public uint Size;
|
||||||
public byte Type;
|
public FontType Type { get; set; }
|
||||||
public byte Width;
|
public byte Width { get; set; }
|
||||||
public byte Height;
|
public byte Height { get; set; }
|
||||||
public byte Ascend;
|
public byte Ascent { get; set; }
|
||||||
public ushort LineFeed;
|
public ushort LineFeed { get; set; }
|
||||||
public ushort AlterCharIndex;
|
public ushort AlterCharIndex { get; set; }
|
||||||
public byte DefaultLeftWidth;
|
public byte DefaultLeftWidth { get; set; }
|
||||||
public byte DefaultGlyphWidth;
|
public byte DefaultGlyphWidth { get; set; }
|
||||||
public byte DefaultCharWidth;
|
public byte DefaultCharWidth { get; set; }
|
||||||
public byte CharEncoding;
|
public CharacterCode CharEncoding { get; set; }
|
||||||
public TGLP tglp;
|
public TGLP TextureGlyph;
|
||||||
|
public CMAP CodeMap;
|
||||||
|
public CWDH CharacterWidth;
|
||||||
|
|
||||||
public void Read(FileReader reader)
|
public enum FontType : byte
|
||||||
|
{
|
||||||
|
Glyph = 1,
|
||||||
|
Texture = 2,
|
||||||
|
PackedTexture = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CharacterCode : byte
|
||||||
|
{
|
||||||
|
Unicode = 1,
|
||||||
|
ShiftJIS = 2,
|
||||||
|
CP1252 = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Read(FileReader reader, FFNT Header)
|
||||||
{
|
{
|
||||||
string Signature = reader.ReadString(4, Encoding.ASCII);
|
string Signature = reader.ReadString(4, Encoding.ASCII);
|
||||||
if (Signature != "FINF")
|
if (Signature != "FINF")
|
||||||
throw new Exception($"Invalid signature {Signature}! Expected FINF.");
|
throw new Exception($"Invalid signature {Signature}! Expected FINF.");
|
||||||
Size = reader.ReadUInt32();
|
Size = reader.ReadUInt32();
|
||||||
Type = reader.ReadByte();
|
Type = reader.ReadEnum<FontType>(true);
|
||||||
Height = reader.ReadByte();
|
Height = reader.ReadByte();
|
||||||
Width = reader.ReadByte();
|
Width = reader.ReadByte();
|
||||||
Ascend = reader.ReadByte();
|
Ascent = reader.ReadByte();
|
||||||
LineFeed = reader.ReadUInt16();
|
LineFeed = reader.ReadUInt16();
|
||||||
AlterCharIndex = reader.ReadUInt16();
|
AlterCharIndex = reader.ReadUInt16();
|
||||||
DefaultLeftWidth = reader.ReadByte();
|
DefaultLeftWidth = reader.ReadByte();
|
||||||
DefaultGlyphWidth = reader.ReadByte();
|
DefaultGlyphWidth = reader.ReadByte();
|
||||||
DefaultCharWidth = reader.ReadByte();
|
DefaultCharWidth = reader.ReadByte();
|
||||||
CharEncoding = reader.ReadByte();
|
CharEncoding = reader.ReadEnum<CharacterCode>(true);
|
||||||
uint tglpOffset = reader.ReadUInt32();
|
uint tglpOffset = reader.ReadUInt32();
|
||||||
uint cwdhOffset = reader.ReadUInt32();
|
uint cwdhOffset = reader.ReadUInt32();
|
||||||
uint cmapOffset = reader.ReadUInt32();
|
uint cmapOffset = reader.ReadUInt32();
|
||||||
|
|
||||||
tglp = new TGLP();
|
TextureGlyph = new TGLP();
|
||||||
using (reader.TemporarySeek(tglpOffset - 8, SeekOrigin.Begin))
|
using (reader.TemporarySeek(tglpOffset - 8, SeekOrigin.Begin))
|
||||||
{
|
TextureGlyph.Read(reader);
|
||||||
tglp.Read(reader);
|
|
||||||
}
|
CharacterWidth = new CWDH();
|
||||||
|
using (reader.TemporarySeek(cwdhOffset - 8, SeekOrigin.Begin))
|
||||||
|
CharacterWidth.Read(reader, Header);
|
||||||
|
|
||||||
|
CodeMap = new CMAP();
|
||||||
|
using (reader.TemporarySeek(cmapOffset - 8, SeekOrigin.Begin))
|
||||||
|
CodeMap.Read(reader, Header);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Write(FileWriter writer)
|
public void Write(FileWriter writer)
|
||||||
{
|
{
|
||||||
writer.WriteSignature("FINF");
|
writer.WriteSignature("FINF");
|
||||||
writer.Write(uint.MaxValue);
|
writer.Write(uint.MaxValue);
|
||||||
writer.Write(Type);
|
writer.Write(Type, true);
|
||||||
writer.Write(Height);
|
writer.Write(Height);
|
||||||
writer.Write(Width);
|
writer.Write(Width);
|
||||||
writer.Write(Ascend);
|
writer.Write(Ascent);
|
||||||
writer.Write(LineFeed);
|
writer.Write(LineFeed);
|
||||||
writer.Write(AlterCharIndex);
|
writer.Write(AlterCharIndex);
|
||||||
writer.Write(DefaultLeftWidth);
|
writer.Write(DefaultLeftWidth);
|
||||||
writer.Write(DefaultGlyphWidth);
|
writer.Write(DefaultGlyphWidth);
|
||||||
writer.Write(DefaultCharWidth);
|
writer.Write(DefaultCharWidth);
|
||||||
writer.Write(CharEncoding);
|
writer.Write(CharEncoding, true);
|
||||||
|
|
||||||
long _ofsTGLP = writer.Position;
|
long _ofsTGLP = writer.Position;
|
||||||
writer.Write(uint.MaxValue);
|
writer.Write(uint.MaxValue);
|
||||||
@ -537,17 +556,21 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
public class TGLP
|
public class TGLP
|
||||||
{
|
{
|
||||||
|
public BNTX BinaryTextureFile;
|
||||||
|
public List<Gx2ImageBlock> Gx2Textures = new List<Gx2ImageBlock>();
|
||||||
|
|
||||||
public uint Size;
|
public uint Size;
|
||||||
public byte CellWidth;
|
public byte CellWidth { get; set; }
|
||||||
public byte CellHeight;
|
public byte CellHeight { get; set; }
|
||||||
public byte MaxCharWidth;
|
public byte MaxCharWidth { get; set; }
|
||||||
public uint SheetSize;
|
public byte SheetCount { get; private set; }
|
||||||
public ushort BaseLinePos;
|
public uint SheetSize { get; set; }
|
||||||
public ushort Format;
|
public ushort BaseLinePos { get; set; }
|
||||||
public ushort ColumnCount;
|
public ushort Format { get; set; }
|
||||||
public ushort RowCount;
|
public ushort ColumnCount { get; set; }
|
||||||
public ushort SheetWidth;
|
public ushort RowCount { get; set; }
|
||||||
public ushort SheetHeight;
|
public ushort SheetWidth { get; set; }
|
||||||
|
public ushort SheetHeight { get; set; }
|
||||||
public List<byte[]> SheetDataList = new List<byte[]>();
|
public List<byte[]> SheetDataList = new List<byte[]>();
|
||||||
|
|
||||||
public void Read(FileReader reader)
|
public void Read(FileReader reader)
|
||||||
@ -558,7 +581,7 @@ namespace FirstPlugin
|
|||||||
Size = reader.ReadUInt32();
|
Size = reader.ReadUInt32();
|
||||||
CellWidth = reader.ReadByte();
|
CellWidth = reader.ReadByte();
|
||||||
CellHeight = reader.ReadByte();
|
CellHeight = reader.ReadByte();
|
||||||
byte SheetCount = reader.ReadByte();
|
SheetCount = reader.ReadByte();
|
||||||
MaxCharWidth = reader.ReadByte();
|
MaxCharWidth = reader.ReadByte();
|
||||||
SheetSize = reader.ReadUInt32();
|
SheetSize = reader.ReadUInt32();
|
||||||
BaseLinePos = reader.ReadUInt16();
|
BaseLinePos = reader.ReadUInt16();
|
||||||
@ -618,6 +641,14 @@ namespace FirstPlugin
|
|||||||
writer.Write((uint)(SectionEndPosition - _ofsSectionSize - 4));
|
writer.Write((uint)(SectionEndPosition - _ofsSectionSize - 4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public STGenericTexture GetImageSheet(int Index)
|
||||||
|
{
|
||||||
|
if (BinaryTextureFile != null) //BNTX uses only one image with multiple arrays
|
||||||
|
return BinaryTextureFile.Textures.ElementAt(0).Value;
|
||||||
|
else
|
||||||
|
return Gx2Textures[Index];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CMAP
|
public class CMAP
|
||||||
@ -638,7 +669,7 @@ namespace FirstPlugin
|
|||||||
|
|
||||||
public void Read(FileReader reader, FFNT header)
|
public void Read(FileReader reader, FFNT header)
|
||||||
{
|
{
|
||||||
reader.ReadSignature(4, "CMAP ");
|
reader.ReadSignature(4, "CMAP");
|
||||||
uint SectionSize = reader.ReadUInt32();
|
uint SectionSize = reader.ReadUInt32();
|
||||||
if (header.Version > 0x3000000)
|
if (header.Version > 0x3000000)
|
||||||
{
|
{
|
||||||
@ -661,4 +692,37 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class CWDH
|
||||||
|
{
|
||||||
|
public ushort GlobalIndexFirstWidthEntry { get; set; }
|
||||||
|
public ushort GlobalIndexLastWidthEntry { get; set; }
|
||||||
|
|
||||||
|
public List<CharacterWidthEntry> WidthEntries = new List<CharacterWidthEntry>();
|
||||||
|
|
||||||
|
public CWDH NextWidthSection { get; set; }
|
||||||
|
|
||||||
|
public ushort EntryCount
|
||||||
|
{
|
||||||
|
get { return (ushort)(GlobalIndexLastWidthEntry - GlobalIndexFirstWidthEntry + 1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Read(FileReader reader, FFNT header)
|
||||||
|
{
|
||||||
|
reader.ReadSignature(4, "CWDH");
|
||||||
|
uint SectionSize = reader.ReadUInt32();
|
||||||
|
GlobalIndexFirstWidthEntry = reader.ReadUInt16();
|
||||||
|
GlobalIndexLastWidthEntry = reader.ReadUInt16();
|
||||||
|
uint NextWidthSectionOffset = reader.ReadUInt32();
|
||||||
|
|
||||||
|
reader.Seek((int)NextWidthSectionOffset - 8, SeekOrigin.Current);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CharacterWidthEntry
|
||||||
|
{
|
||||||
|
public sbyte LeftWidth { get; set; }
|
||||||
|
public byte GlyphWidth { get; set; }
|
||||||
|
public byte Width { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -243,7 +243,7 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
if (FileFormat is BFFNT)
|
if (FileFormat is BFFNT)
|
||||||
{
|
{
|
||||||
foreach (STGenericTexture texture in ((BFFNT)FileFormat).Gx2Textures)
|
foreach (STGenericTexture texture in ((BFFNT)FileFormat).bffnt.FontSection.TextureGlyph.Gx2Textures)
|
||||||
texture.Export(Path.Combine(Folder, $"{texture.Text}{Extension}"));
|
texture.Export(Path.Combine(Folder, $"{texture.Text}{Extension}"));
|
||||||
}
|
}
|
||||||
if (FileFormat is BFRES)
|
if (FileFormat is BFRES)
|
||||||
|
@ -187,7 +187,7 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
if (FileFormat is BFFNT)
|
if (FileFormat is BFFNT)
|
||||||
{
|
{
|
||||||
var bntx = ((BFFNT)FileFormat).BinaryTextureFile;
|
var bntx = ((BFFNT)FileFormat).bffnt.FontSection.TextureGlyph.BinaryTextureFile;
|
||||||
if (bntx != null)
|
if (bntx != null)
|
||||||
{
|
{
|
||||||
foreach (var texture in bntx.Textures.Values)
|
foreach (var texture in bntx.Textures.Values)
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>..\Toolbox\bin\Release\Lib\Plugins\</OutputPath>
|
<OutputPath>..\Toolbox\bin\Debug\Lib\Plugins\</OutputPath>
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
@ -257,6 +257,12 @@
|
|||||||
<Compile Include="FileFormats\Rom\GCDisk.cs" />
|
<Compile Include="FileFormats\Rom\GCDisk.cs" />
|
||||||
<Compile Include="GL\BMD_Renderer.cs" />
|
<Compile Include="GL\BMD_Renderer.cs" />
|
||||||
<Compile Include="GL\GXToOpenGL.cs" />
|
<Compile Include="GL\GXToOpenGL.cs" />
|
||||||
|
<Compile Include="GUI\BFFNT\BffntEditor.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="GUI\BFFNT\BffntEditor.Designer.cs">
|
||||||
|
<DependentUpon>BffntEditor.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="GUI\BFRES\BatchEditBaseAnimDataForm.cs">
|
<Compile Include="GUI\BFRES\BatchEditBaseAnimDataForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -975,6 +981,9 @@
|
|||||||
<EmbeddedResource Include="GUI\BCRES\Material\SamplerEditorSimple.resx">
|
<EmbeddedResource Include="GUI\BCRES\Material\SamplerEditorSimple.resx">
|
||||||
<DependentUpon>SamplerEditorSimple.cs</DependentUpon>
|
<DependentUpon>SamplerEditorSimple.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="GUI\BFFNT\BffntEditor.resx">
|
||||||
|
<DependentUpon>BffntEditor.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="GUI\BFRES\BatchEditBaseAnimDataForm.resx">
|
<EmbeddedResource Include="GUI\BFRES\BatchEditBaseAnimDataForm.resx">
|
||||||
<DependentUpon>BatchEditBaseAnimDataForm.cs</DependentUpon>
|
<DependentUpon>BatchEditBaseAnimDataForm.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
499
File_Format_Library/GUI/BFFNT/BffntEditor.Designer.cs
generated
Normal file
499
File_Format_Library/GUI/BFFNT/BffntEditor.Designer.cs
generated
Normal file
@ -0,0 +1,499 @@
|
|||||||
|
namespace FirstPlugin.Forms
|
||||||
|
{
|
||||||
|
partial class BffntEditor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BffntEditor));
|
||||||
|
this.stPanel1 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.lineFeedUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel13 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontTypeCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.encodingTypeCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.stLabel12 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel11 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel10 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.leftSpacingUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel9 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.glyphWidthCB = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel8 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.charWidthUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel7 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontHeightUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel6 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontWidthUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel5 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.ascentUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel4 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stPanel2 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.splitter1 = new System.Windows.Forms.Splitter();
|
||||||
|
this.splitter2 = new System.Windows.Forms.Splitter();
|
||||||
|
this.stPanel3 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.imagesCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.stLabel3 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stPanel4 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.imageMenuStrip = new Toolbox.Library.Forms.STContextMenuStrip(this.components);
|
||||||
|
this.pictureBoxCustom1 = new Toolbox.Library.Forms.PictureBoxCustom();
|
||||||
|
this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.stPanel1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.lineFeedUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.leftSpacingUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.glyphWidthCB)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.charWidthUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontHeightUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontWidthUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ascentUD)).BeginInit();
|
||||||
|
this.stPanel2.SuspendLayout();
|
||||||
|
this.stPanel3.SuspendLayout();
|
||||||
|
this.stPanel4.SuspendLayout();
|
||||||
|
this.imageMenuStrip.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCustom1)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// stPanel1
|
||||||
|
//
|
||||||
|
this.stPanel1.Controls.Add(this.lineFeedUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel13);
|
||||||
|
this.stPanel1.Controls.Add(this.fontTypeCB);
|
||||||
|
this.stPanel1.Controls.Add(this.encodingTypeCB);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel12);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel11);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel10);
|
||||||
|
this.stPanel1.Controls.Add(this.leftSpacingUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel9);
|
||||||
|
this.stPanel1.Controls.Add(this.glyphWidthCB);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel8);
|
||||||
|
this.stPanel1.Controls.Add(this.charWidthUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel7);
|
||||||
|
this.stPanel1.Controls.Add(this.fontHeightUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel6);
|
||||||
|
this.stPanel1.Controls.Add(this.fontWidthUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel5);
|
||||||
|
this.stPanel1.Controls.Add(this.ascentUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel4);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel1);
|
||||||
|
this.stPanel1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||||
|
this.stPanel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.stPanel1.Name = "stPanel1";
|
||||||
|
this.stPanel1.Size = new System.Drawing.Size(201, 438);
|
||||||
|
this.stPanel1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lineFeedUD
|
||||||
|
//
|
||||||
|
this.lineFeedUD.Location = new System.Drawing.Point(86, 139);
|
||||||
|
this.lineFeedUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.lineFeedUD.Name = "lineFeedUD";
|
||||||
|
this.lineFeedUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.lineFeedUD.TabIndex = 19;
|
||||||
|
//
|
||||||
|
// stLabel13
|
||||||
|
//
|
||||||
|
this.stLabel13.AutoSize = true;
|
||||||
|
this.stLabel13.Location = new System.Drawing.Point(-1, 141);
|
||||||
|
this.stLabel13.Name = "stLabel13";
|
||||||
|
this.stLabel13.Size = new System.Drawing.Size(57, 13);
|
||||||
|
this.stLabel13.TabIndex = 18;
|
||||||
|
this.stLabel13.Text = "Line Feed:";
|
||||||
|
//
|
||||||
|
// fontTypeCB
|
||||||
|
//
|
||||||
|
this.fontTypeCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.fontTypeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.fontTypeCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.fontTypeCB.FormattingEnabled = true;
|
||||||
|
this.fontTypeCB.Location = new System.Drawing.Point(87, 42);
|
||||||
|
this.fontTypeCB.Name = "fontTypeCB";
|
||||||
|
this.fontTypeCB.ReadOnly = true;
|
||||||
|
this.fontTypeCB.Size = new System.Drawing.Size(108, 21);
|
||||||
|
this.fontTypeCB.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// encodingTypeCB
|
||||||
|
//
|
||||||
|
this.encodingTypeCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.encodingTypeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.encodingTypeCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.encodingTypeCB.FormattingEnabled = true;
|
||||||
|
this.encodingTypeCB.Location = new System.Drawing.Point(87, 73);
|
||||||
|
this.encodingTypeCB.Name = "encodingTypeCB";
|
||||||
|
this.encodingTypeCB.ReadOnly = true;
|
||||||
|
this.encodingTypeCB.Size = new System.Drawing.Size(108, 21);
|
||||||
|
this.encodingTypeCB.TabIndex = 16;
|
||||||
|
//
|
||||||
|
// stLabel12
|
||||||
|
//
|
||||||
|
this.stLabel12.AutoSize = true;
|
||||||
|
this.stLabel12.Location = new System.Drawing.Point(3, 73);
|
||||||
|
this.stLabel12.Name = "stLabel12";
|
||||||
|
this.stLabel12.Size = new System.Drawing.Size(55, 13);
|
||||||
|
this.stLabel12.TabIndex = 15;
|
||||||
|
this.stLabel12.Text = "Encoding:";
|
||||||
|
//
|
||||||
|
// stLabel11
|
||||||
|
//
|
||||||
|
this.stLabel11.AutoSize = true;
|
||||||
|
this.stLabel11.Location = new System.Drawing.Point(3, 45);
|
||||||
|
this.stLabel11.Name = "stLabel11";
|
||||||
|
this.stLabel11.Size = new System.Drawing.Size(34, 13);
|
||||||
|
this.stLabel11.TabIndex = 14;
|
||||||
|
this.stLabel11.Text = "Type:";
|
||||||
|
//
|
||||||
|
// stLabel10
|
||||||
|
//
|
||||||
|
this.stLabel10.AutoSize = true;
|
||||||
|
this.stLabel10.Location = new System.Drawing.Point(3, 106);
|
||||||
|
this.stLabel10.Name = "stLabel10";
|
||||||
|
this.stLabel10.Size = new System.Drawing.Size(69, 13);
|
||||||
|
this.stLabel10.TabIndex = 13;
|
||||||
|
this.stLabel10.Text = "Default Char:";
|
||||||
|
//
|
||||||
|
// leftSpacingUD
|
||||||
|
//
|
||||||
|
this.leftSpacingUD.Location = new System.Drawing.Point(86, 165);
|
||||||
|
this.leftSpacingUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.leftSpacingUD.Name = "leftSpacingUD";
|
||||||
|
this.leftSpacingUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.leftSpacingUD.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// stLabel9
|
||||||
|
//
|
||||||
|
this.stLabel9.AutoSize = true;
|
||||||
|
this.stLabel9.Location = new System.Drawing.Point(-1, 167);
|
||||||
|
this.stLabel9.Name = "stLabel9";
|
||||||
|
this.stLabel9.Size = new System.Drawing.Size(73, 13);
|
||||||
|
this.stLabel9.TabIndex = 11;
|
||||||
|
this.stLabel9.Text = "Left Spacing::";
|
||||||
|
//
|
||||||
|
// glyphWidthCB
|
||||||
|
//
|
||||||
|
this.glyphWidthCB.Location = new System.Drawing.Point(86, 217);
|
||||||
|
this.glyphWidthCB.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.glyphWidthCB.Name = "glyphWidthCB";
|
||||||
|
this.glyphWidthCB.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.glyphWidthCB.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// stLabel8
|
||||||
|
//
|
||||||
|
this.stLabel8.AutoSize = true;
|
||||||
|
this.stLabel8.Location = new System.Drawing.Point(2, 219);
|
||||||
|
this.stLabel8.Name = "stLabel8";
|
||||||
|
this.stLabel8.Size = new System.Drawing.Size(68, 13);
|
||||||
|
this.stLabel8.TabIndex = 9;
|
||||||
|
this.stLabel8.Text = "Glyph Width:";
|
||||||
|
//
|
||||||
|
// charWidthUD
|
||||||
|
//
|
||||||
|
this.charWidthUD.Location = new System.Drawing.Point(86, 191);
|
||||||
|
this.charWidthUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.charWidthUD.Name = "charWidthUD";
|
||||||
|
this.charWidthUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.charWidthUD.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// stLabel7
|
||||||
|
//
|
||||||
|
this.stLabel7.AutoSize = true;
|
||||||
|
this.stLabel7.Location = new System.Drawing.Point(-1, 193);
|
||||||
|
this.stLabel7.Name = "stLabel7";
|
||||||
|
this.stLabel7.Size = new System.Drawing.Size(63, 13);
|
||||||
|
this.stLabel7.TabIndex = 7;
|
||||||
|
this.stLabel7.Text = "Char Width:";
|
||||||
|
//
|
||||||
|
// fontHeightUD
|
||||||
|
//
|
||||||
|
this.fontHeightUD.Location = new System.Drawing.Point(86, 295);
|
||||||
|
this.fontHeightUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.fontHeightUD.Name = "fontHeightUD";
|
||||||
|
this.fontHeightUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.fontHeightUD.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// stLabel6
|
||||||
|
//
|
||||||
|
this.stLabel6.AutoSize = true;
|
||||||
|
this.stLabel6.Location = new System.Drawing.Point(3, 297);
|
||||||
|
this.stLabel6.Name = "stLabel6";
|
||||||
|
this.stLabel6.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.stLabel6.TabIndex = 5;
|
||||||
|
this.stLabel6.Text = "Height:";
|
||||||
|
//
|
||||||
|
// fontWidthUD
|
||||||
|
//
|
||||||
|
this.fontWidthUD.Location = new System.Drawing.Point(86, 269);
|
||||||
|
this.fontWidthUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.fontWidthUD.Name = "fontWidthUD";
|
||||||
|
this.fontWidthUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.fontWidthUD.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// stLabel5
|
||||||
|
//
|
||||||
|
this.stLabel5.AutoSize = true;
|
||||||
|
this.stLabel5.Location = new System.Drawing.Point(2, 271);
|
||||||
|
this.stLabel5.Name = "stLabel5";
|
||||||
|
this.stLabel5.Size = new System.Drawing.Size(38, 13);
|
||||||
|
this.stLabel5.TabIndex = 3;
|
||||||
|
this.stLabel5.Text = "Width:";
|
||||||
|
//
|
||||||
|
// ascentUD
|
||||||
|
//
|
||||||
|
this.ascentUD.Location = new System.Drawing.Point(86, 243);
|
||||||
|
this.ascentUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.ascentUD.Name = "ascentUD";
|
||||||
|
this.ascentUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.ascentUD.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// stLabel4
|
||||||
|
//
|
||||||
|
this.stLabel4.AutoSize = true;
|
||||||
|
this.stLabel4.Location = new System.Drawing.Point(2, 245);
|
||||||
|
this.stLabel4.Name = "stLabel4";
|
||||||
|
this.stLabel4.Size = new System.Drawing.Size(43, 13);
|
||||||
|
this.stLabel4.TabIndex = 1;
|
||||||
|
this.stLabel4.Text = "Ascent:";
|
||||||
|
//
|
||||||
|
// stLabel1
|
||||||
|
//
|
||||||
|
this.stLabel1.AutoSize = true;
|
||||||
|
this.stLabel1.Location = new System.Drawing.Point(3, 9);
|
||||||
|
this.stLabel1.Name = "stLabel1";
|
||||||
|
this.stLabel1.Size = new System.Drawing.Size(28, 13);
|
||||||
|
this.stLabel1.TabIndex = 0;
|
||||||
|
this.stLabel1.Text = "Font";
|
||||||
|
//
|
||||||
|
// stPanel2
|
||||||
|
//
|
||||||
|
this.stPanel2.Controls.Add(this.stLabel2);
|
||||||
|
this.stPanel2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.stPanel2.Location = new System.Drawing.Point(619, 0);
|
||||||
|
this.stPanel2.Name = "stPanel2";
|
||||||
|
this.stPanel2.Size = new System.Drawing.Size(200, 438);
|
||||||
|
this.stPanel2.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// stLabel2
|
||||||
|
//
|
||||||
|
this.stLabel2.AutoSize = true;
|
||||||
|
this.stLabel2.Location = new System.Drawing.Point(13, 9);
|
||||||
|
this.stLabel2.Name = "stLabel2";
|
||||||
|
this.stLabel2.Size = new System.Drawing.Size(58, 13);
|
||||||
|
this.stLabel2.TabIndex = 1;
|
||||||
|
this.stLabel2.Text = "Characters";
|
||||||
|
//
|
||||||
|
// splitter1
|
||||||
|
//
|
||||||
|
this.splitter1.Location = new System.Drawing.Point(201, 0);
|
||||||
|
this.splitter1.Name = "splitter1";
|
||||||
|
this.splitter1.Size = new System.Drawing.Size(3, 438);
|
||||||
|
this.splitter1.TabIndex = 2;
|
||||||
|
this.splitter1.TabStop = false;
|
||||||
|
//
|
||||||
|
// splitter2
|
||||||
|
//
|
||||||
|
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.splitter2.Location = new System.Drawing.Point(616, 0);
|
||||||
|
this.splitter2.Name = "splitter2";
|
||||||
|
this.splitter2.Size = new System.Drawing.Size(3, 438);
|
||||||
|
this.splitter2.TabIndex = 3;
|
||||||
|
this.splitter2.TabStop = false;
|
||||||
|
//
|
||||||
|
// stPanel3
|
||||||
|
//
|
||||||
|
this.stPanel3.Controls.Add(this.pictureBoxCustom1);
|
||||||
|
this.stPanel3.Controls.Add(this.imagesCB);
|
||||||
|
this.stPanel3.Controls.Add(this.stLabel3);
|
||||||
|
this.stPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.stPanel3.Location = new System.Drawing.Point(204, 0);
|
||||||
|
this.stPanel3.Name = "stPanel3";
|
||||||
|
this.stPanel3.Size = new System.Drawing.Size(412, 438);
|
||||||
|
this.stPanel3.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// imagesCB
|
||||||
|
//
|
||||||
|
this.imagesCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.imagesCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.imagesCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.imagesCB.FormattingEnabled = true;
|
||||||
|
this.imagesCB.Location = new System.Drawing.Point(82, 6);
|
||||||
|
this.imagesCB.Name = "imagesCB";
|
||||||
|
this.imagesCB.ReadOnly = true;
|
||||||
|
this.imagesCB.Size = new System.Drawing.Size(213, 21);
|
||||||
|
this.imagesCB.TabIndex = 1;
|
||||||
|
this.imagesCB.SelectedIndexChanged += new System.EventHandler(this.imagesCB_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// stLabel3
|
||||||
|
//
|
||||||
|
this.stLabel3.AutoSize = true;
|
||||||
|
this.stLabel3.Location = new System.Drawing.Point(19, 9);
|
||||||
|
this.stLabel3.Name = "stLabel3";
|
||||||
|
this.stLabel3.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.stLabel3.TabIndex = 0;
|
||||||
|
this.stLabel3.Text = "Images";
|
||||||
|
//
|
||||||
|
// stPanel4
|
||||||
|
//
|
||||||
|
this.stPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel3);
|
||||||
|
this.stPanel4.Controls.Add(this.splitter2);
|
||||||
|
this.stPanel4.Controls.Add(this.splitter1);
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel2);
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel1);
|
||||||
|
this.stPanel4.Location = new System.Drawing.Point(0, 24);
|
||||||
|
this.stPanel4.Name = "stPanel4";
|
||||||
|
this.stPanel4.Size = new System.Drawing.Size(819, 438);
|
||||||
|
this.stPanel4.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// imageMenuStrip
|
||||||
|
//
|
||||||
|
this.imageMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.exportToolStripMenuItem,
|
||||||
|
this.copyToolStripMenuItem});
|
||||||
|
this.imageMenuStrip.Name = "stContextMenuStrip1";
|
||||||
|
this.imageMenuStrip.Size = new System.Drawing.Size(181, 70);
|
||||||
|
//
|
||||||
|
// pictureBoxCustom1
|
||||||
|
//
|
||||||
|
this.pictureBoxCustom1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.pictureBoxCustom1.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pictureBoxCustom1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBoxCustom1.BackgroundImage")));
|
||||||
|
this.pictureBoxCustom1.ContextMenuStrip = this.imageMenuStrip;
|
||||||
|
this.pictureBoxCustom1.Location = new System.Drawing.Point(6, 36);
|
||||||
|
this.pictureBoxCustom1.Name = "pictureBoxCustom1";
|
||||||
|
this.pictureBoxCustom1.Size = new System.Drawing.Size(400, 399);
|
||||||
|
this.pictureBoxCustom1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.pictureBoxCustom1.TabIndex = 2;
|
||||||
|
this.pictureBoxCustom1.TabStop = false;
|
||||||
|
//
|
||||||
|
// exportToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.exportToolStripMenuItem.Name = "exportToolStripMenuItem";
|
||||||
|
this.exportToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||||
|
this.exportToolStripMenuItem.Text = "Export";
|
||||||
|
this.exportToolStripMenuItem.Click += new System.EventHandler(this.exportToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
|
// copyToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
|
||||||
|
this.copyToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||||
|
this.copyToolStripMenuItem.Text = "Copy";
|
||||||
|
this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
|
// BffntEditor
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.stPanel4);
|
||||||
|
this.Name = "BffntEditor";
|
||||||
|
this.Size = new System.Drawing.Size(819, 462);
|
||||||
|
this.stPanel1.ResumeLayout(false);
|
||||||
|
this.stPanel1.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.lineFeedUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.leftSpacingUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.glyphWidthCB)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.charWidthUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontHeightUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontWidthUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ascentUD)).EndInit();
|
||||||
|
this.stPanel2.ResumeLayout(false);
|
||||||
|
this.stPanel2.PerformLayout();
|
||||||
|
this.stPanel3.ResumeLayout(false);
|
||||||
|
this.stPanel3.PerformLayout();
|
||||||
|
this.stPanel4.ResumeLayout(false);
|
||||||
|
this.imageMenuStrip.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCustom1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel1;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel1;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel2;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel2;
|
||||||
|
private System.Windows.Forms.Splitter splitter1;
|
||||||
|
private System.Windows.Forms.Splitter splitter2;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel3;
|
||||||
|
private Toolbox.Library.Forms.STComboBox imagesCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel3;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint ascentUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel4;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel10;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint leftSpacingUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel9;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint glyphWidthCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel8;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint charWidthUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel7;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint fontHeightUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel6;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint fontWidthUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel5;
|
||||||
|
private Toolbox.Library.Forms.STComboBox fontTypeCB;
|
||||||
|
private Toolbox.Library.Forms.STComboBox encodingTypeCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel12;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel11;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel4;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint lineFeedUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel13;
|
||||||
|
private Toolbox.Library.Forms.PictureBoxCustom pictureBoxCustom1;
|
||||||
|
private Toolbox.Library.Forms.STContextMenuStrip imageMenuStrip;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
|
||||||
|
}
|
||||||
|
}
|
94
File_Format_Library/GUI/BFFNT/BffntEditor.cs
Normal file
94
File_Format_Library/GUI/BFFNT/BffntEditor.cs
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Toolbox.Library.Forms;
|
||||||
|
|
||||||
|
namespace FirstPlugin.Forms
|
||||||
|
{
|
||||||
|
public partial class BffntEditor : STUserControl
|
||||||
|
{
|
||||||
|
public BffntEditor()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private FFNT ActiveFile;
|
||||||
|
public void LoadFontFile(BFFNT fontFile)
|
||||||
|
{
|
||||||
|
ActiveFile = fontFile.bffnt;
|
||||||
|
|
||||||
|
fontTypeCB.Bind(typeof(FINF.FontType), ActiveFile.FontSection, "Type");
|
||||||
|
fontTypeCB.SelectedItem = ActiveFile.FontSection.Type;
|
||||||
|
|
||||||
|
encodingTypeCB.Bind(typeof(FINF.CharacterCode), ActiveFile.FontSection, "CharEncoding");
|
||||||
|
encodingTypeCB.SelectedItem = ActiveFile.FontSection.CharEncoding;
|
||||||
|
|
||||||
|
lineFeedUD.Bind(ActiveFile.FontSection, "LineFeed");
|
||||||
|
leftSpacingUD.Bind(ActiveFile.FontSection, "DefaultLeftWidth");
|
||||||
|
charWidthUD.Bind(ActiveFile.FontSection, "DefaultCharWidth");
|
||||||
|
glyphWidthCB.Bind(ActiveFile.FontSection, "DefaultGlyphWidth");
|
||||||
|
ascentUD.Bind(ActiveFile.FontSection, "Ascent");
|
||||||
|
fontWidthUD.Bind(ActiveFile.FontSection, "Width");
|
||||||
|
fontHeightUD.Bind(ActiveFile.FontSection, "Height");
|
||||||
|
|
||||||
|
ReloadTextures();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ReloadTextures()
|
||||||
|
{
|
||||||
|
imagesCB.Items.Clear();
|
||||||
|
var textureGlyph = ActiveFile.FontSection.TextureGlyph;
|
||||||
|
for (int i = 0; i < textureGlyph.SheetCount; i++)
|
||||||
|
imagesCB.Items.Add($"Image {i}");
|
||||||
|
|
||||||
|
if (textureGlyph.SheetCount > 0)
|
||||||
|
imagesCB.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void imagesCB_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int ImageIndex = imagesCB.SelectedIndex;
|
||||||
|
if (ImageIndex != -1)
|
||||||
|
{
|
||||||
|
var image = ActiveFile.FontSection.TextureGlyph.GetImageSheet(ImageIndex);
|
||||||
|
bool IsBntx = ActiveFile.FontSection.TextureGlyph.BinaryTextureFile != null;
|
||||||
|
|
||||||
|
if (IsBntx)
|
||||||
|
{
|
||||||
|
pictureBoxCustom1.Image = image.GetBitmap(ImageIndex);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pictureBoxCustom1.Image = image.GetBitmap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void exportToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int ImageIndex = imagesCB.SelectedIndex;
|
||||||
|
if (ImageIndex != -1)
|
||||||
|
{
|
||||||
|
var image = ActiveFile.FontSection.TextureGlyph.GetImageSheet(ImageIndex);
|
||||||
|
bool IsBntx = ActiveFile.FontSection.TextureGlyph.BinaryTextureFile != null;
|
||||||
|
|
||||||
|
if(IsBntx)
|
||||||
|
image.ExportArrayImage(ImageIndex);
|
||||||
|
else
|
||||||
|
image.ExportImage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (pictureBoxCustom1.Image != null)
|
||||||
|
Clipboard.SetImage(pictureBoxCustom1.Image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
331
File_Format_Library/GUI/BFFNT/BffntEditor.resx
Normal file
331
File_Format_Library/GUI/BFFNT/BffntEditor.resx
Normal file
@ -0,0 +1,331 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBoxCustom1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAMAAACJuGjuAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
|
||||||
|
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEXMzMzNzc3Ozs7Pz8/Q0NDR0dHS
|
||||||
|
0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm
|
||||||
|
5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6
|
||||||
|
+vr7+/v8/Pz9/f3+/v7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
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
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="imageMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
501
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.Designer.cs
generated
Normal file
501
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.Designer.cs
generated
Normal file
@ -0,0 +1,501 @@
|
|||||||
|
namespace FirstPlugin.Forms
|
||||||
|
{
|
||||||
|
partial class BffntEditor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BffntEditor));
|
||||||
|
this.stPanel1 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.lineFeedUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel13 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontTypeCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.encodingTypeCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.stLabel12 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel11 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel10 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.leftSpacingUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel9 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.glyphWidthCB = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel8 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.charWidthUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel7 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontHeightUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel6 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.fontWidthUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel5 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.ascentUD = new Toolbox.Library.Forms.NumericUpDownUint();
|
||||||
|
this.stLabel4 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stPanel2 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.stLabel2 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.splitter1 = new System.Windows.Forms.Splitter();
|
||||||
|
this.splitter2 = new System.Windows.Forms.Splitter();
|
||||||
|
this.stPanel3 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.imagesCB = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.stLabel3 = new Toolbox.Library.Forms.STLabel();
|
||||||
|
this.stPanel4 = new Toolbox.Library.Forms.STPanel();
|
||||||
|
this.stMenuStrip1 = new Toolbox.Library.Forms.STMenuStrip();
|
||||||
|
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.pictureBoxCustom1 = new Toolbox.Library.Forms.PictureBoxCustom();
|
||||||
|
this.stPanel1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.lineFeedUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.leftSpacingUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.glyphWidthCB)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.charWidthUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontHeightUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontWidthUD)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ascentUD)).BeginInit();
|
||||||
|
this.stPanel2.SuspendLayout();
|
||||||
|
this.stPanel3.SuspendLayout();
|
||||||
|
this.stPanel4.SuspendLayout();
|
||||||
|
this.stMenuStrip1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCustom1)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// stPanel1
|
||||||
|
//
|
||||||
|
this.stPanel1.Controls.Add(this.lineFeedUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel13);
|
||||||
|
this.stPanel1.Controls.Add(this.fontTypeCB);
|
||||||
|
this.stPanel1.Controls.Add(this.encodingTypeCB);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel12);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel11);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel10);
|
||||||
|
this.stPanel1.Controls.Add(this.leftSpacingUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel9);
|
||||||
|
this.stPanel1.Controls.Add(this.glyphWidthCB);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel8);
|
||||||
|
this.stPanel1.Controls.Add(this.charWidthUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel7);
|
||||||
|
this.stPanel1.Controls.Add(this.fontHeightUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel6);
|
||||||
|
this.stPanel1.Controls.Add(this.fontWidthUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel5);
|
||||||
|
this.stPanel1.Controls.Add(this.ascentUD);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel4);
|
||||||
|
this.stPanel1.Controls.Add(this.stLabel1);
|
||||||
|
this.stPanel1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||||
|
this.stPanel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.stPanel1.Name = "stPanel1";
|
||||||
|
this.stPanel1.Size = new System.Drawing.Size(201, 438);
|
||||||
|
this.stPanel1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lineFeedUD
|
||||||
|
//
|
||||||
|
this.lineFeedUD.Location = new System.Drawing.Point(86, 139);
|
||||||
|
this.lineFeedUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.lineFeedUD.Name = "lineFeedUD";
|
||||||
|
this.lineFeedUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.lineFeedUD.TabIndex = 19;
|
||||||
|
//
|
||||||
|
// stLabel13
|
||||||
|
//
|
||||||
|
this.stLabel13.AutoSize = true;
|
||||||
|
this.stLabel13.Location = new System.Drawing.Point(-1, 141);
|
||||||
|
this.stLabel13.Name = "stLabel13";
|
||||||
|
this.stLabel13.Size = new System.Drawing.Size(57, 13);
|
||||||
|
this.stLabel13.TabIndex = 18;
|
||||||
|
this.stLabel13.Text = "Line Feed:";
|
||||||
|
//
|
||||||
|
// fontTypeCB
|
||||||
|
//
|
||||||
|
this.fontTypeCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.fontTypeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.fontTypeCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.fontTypeCB.FormattingEnabled = true;
|
||||||
|
this.fontTypeCB.Location = new System.Drawing.Point(87, 42);
|
||||||
|
this.fontTypeCB.Name = "fontTypeCB";
|
||||||
|
this.fontTypeCB.ReadOnly = true;
|
||||||
|
this.fontTypeCB.Size = new System.Drawing.Size(108, 21);
|
||||||
|
this.fontTypeCB.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// encodingTypeCB
|
||||||
|
//
|
||||||
|
this.encodingTypeCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.encodingTypeCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.encodingTypeCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.encodingTypeCB.FormattingEnabled = true;
|
||||||
|
this.encodingTypeCB.Location = new System.Drawing.Point(87, 73);
|
||||||
|
this.encodingTypeCB.Name = "encodingTypeCB";
|
||||||
|
this.encodingTypeCB.ReadOnly = true;
|
||||||
|
this.encodingTypeCB.Size = new System.Drawing.Size(108, 21);
|
||||||
|
this.encodingTypeCB.TabIndex = 16;
|
||||||
|
//
|
||||||
|
// stLabel12
|
||||||
|
//
|
||||||
|
this.stLabel12.AutoSize = true;
|
||||||
|
this.stLabel12.Location = new System.Drawing.Point(3, 73);
|
||||||
|
this.stLabel12.Name = "stLabel12";
|
||||||
|
this.stLabel12.Size = new System.Drawing.Size(55, 13);
|
||||||
|
this.stLabel12.TabIndex = 15;
|
||||||
|
this.stLabel12.Text = "Encoding:";
|
||||||
|
//
|
||||||
|
// stLabel11
|
||||||
|
//
|
||||||
|
this.stLabel11.AutoSize = true;
|
||||||
|
this.stLabel11.Location = new System.Drawing.Point(3, 45);
|
||||||
|
this.stLabel11.Name = "stLabel11";
|
||||||
|
this.stLabel11.Size = new System.Drawing.Size(34, 13);
|
||||||
|
this.stLabel11.TabIndex = 14;
|
||||||
|
this.stLabel11.Text = "Type:";
|
||||||
|
//
|
||||||
|
// stLabel10
|
||||||
|
//
|
||||||
|
this.stLabel10.AutoSize = true;
|
||||||
|
this.stLabel10.Location = new System.Drawing.Point(3, 106);
|
||||||
|
this.stLabel10.Name = "stLabel10";
|
||||||
|
this.stLabel10.Size = new System.Drawing.Size(69, 13);
|
||||||
|
this.stLabel10.TabIndex = 13;
|
||||||
|
this.stLabel10.Text = "Default Char:";
|
||||||
|
//
|
||||||
|
// leftSpacingUD
|
||||||
|
//
|
||||||
|
this.leftSpacingUD.Location = new System.Drawing.Point(86, 165);
|
||||||
|
this.leftSpacingUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.leftSpacingUD.Name = "leftSpacingUD";
|
||||||
|
this.leftSpacingUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.leftSpacingUD.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// stLabel9
|
||||||
|
//
|
||||||
|
this.stLabel9.AutoSize = true;
|
||||||
|
this.stLabel9.Location = new System.Drawing.Point(-1, 167);
|
||||||
|
this.stLabel9.Name = "stLabel9";
|
||||||
|
this.stLabel9.Size = new System.Drawing.Size(73, 13);
|
||||||
|
this.stLabel9.TabIndex = 11;
|
||||||
|
this.stLabel9.Text = "Left Spacing::";
|
||||||
|
//
|
||||||
|
// glyphWidthCB
|
||||||
|
//
|
||||||
|
this.glyphWidthCB.Location = new System.Drawing.Point(86, 217);
|
||||||
|
this.glyphWidthCB.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.glyphWidthCB.Name = "glyphWidthCB";
|
||||||
|
this.glyphWidthCB.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.glyphWidthCB.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// stLabel8
|
||||||
|
//
|
||||||
|
this.stLabel8.AutoSize = true;
|
||||||
|
this.stLabel8.Location = new System.Drawing.Point(2, 219);
|
||||||
|
this.stLabel8.Name = "stLabel8";
|
||||||
|
this.stLabel8.Size = new System.Drawing.Size(68, 13);
|
||||||
|
this.stLabel8.TabIndex = 9;
|
||||||
|
this.stLabel8.Text = "Glyph Width:";
|
||||||
|
//
|
||||||
|
// charWidthUD
|
||||||
|
//
|
||||||
|
this.charWidthUD.Location = new System.Drawing.Point(86, 191);
|
||||||
|
this.charWidthUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.charWidthUD.Name = "charWidthUD";
|
||||||
|
this.charWidthUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.charWidthUD.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// stLabel7
|
||||||
|
//
|
||||||
|
this.stLabel7.AutoSize = true;
|
||||||
|
this.stLabel7.Location = new System.Drawing.Point(-1, 193);
|
||||||
|
this.stLabel7.Name = "stLabel7";
|
||||||
|
this.stLabel7.Size = new System.Drawing.Size(63, 13);
|
||||||
|
this.stLabel7.TabIndex = 7;
|
||||||
|
this.stLabel7.Text = "Char Width:";
|
||||||
|
//
|
||||||
|
// fontHeightUD
|
||||||
|
//
|
||||||
|
this.fontHeightUD.Location = new System.Drawing.Point(86, 295);
|
||||||
|
this.fontHeightUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.fontHeightUD.Name = "fontHeightUD";
|
||||||
|
this.fontHeightUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.fontHeightUD.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// stLabel6
|
||||||
|
//
|
||||||
|
this.stLabel6.AutoSize = true;
|
||||||
|
this.stLabel6.Location = new System.Drawing.Point(3, 297);
|
||||||
|
this.stLabel6.Name = "stLabel6";
|
||||||
|
this.stLabel6.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.stLabel6.TabIndex = 5;
|
||||||
|
this.stLabel6.Text = "Height:";
|
||||||
|
//
|
||||||
|
// fontWidthUD
|
||||||
|
//
|
||||||
|
this.fontWidthUD.Location = new System.Drawing.Point(86, 269);
|
||||||
|
this.fontWidthUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.fontWidthUD.Name = "fontWidthUD";
|
||||||
|
this.fontWidthUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.fontWidthUD.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// stLabel5
|
||||||
|
//
|
||||||
|
this.stLabel5.AutoSize = true;
|
||||||
|
this.stLabel5.Location = new System.Drawing.Point(2, 271);
|
||||||
|
this.stLabel5.Name = "stLabel5";
|
||||||
|
this.stLabel5.Size = new System.Drawing.Size(38, 13);
|
||||||
|
this.stLabel5.TabIndex = 3;
|
||||||
|
this.stLabel5.Text = "Width:";
|
||||||
|
//
|
||||||
|
// ascentUD
|
||||||
|
//
|
||||||
|
this.ascentUD.Location = new System.Drawing.Point(86, 243);
|
||||||
|
this.ascentUD.Maximum = new decimal(new int[] {
|
||||||
|
255,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.ascentUD.Name = "ascentUD";
|
||||||
|
this.ascentUD.Size = new System.Drawing.Size(97, 20);
|
||||||
|
this.ascentUD.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// stLabel4
|
||||||
|
//
|
||||||
|
this.stLabel4.AutoSize = true;
|
||||||
|
this.stLabel4.Location = new System.Drawing.Point(2, 245);
|
||||||
|
this.stLabel4.Name = "stLabel4";
|
||||||
|
this.stLabel4.Size = new System.Drawing.Size(43, 13);
|
||||||
|
this.stLabel4.TabIndex = 1;
|
||||||
|
this.stLabel4.Text = "Ascent:";
|
||||||
|
//
|
||||||
|
// stLabel1
|
||||||
|
//
|
||||||
|
this.stLabel1.AutoSize = true;
|
||||||
|
this.stLabel1.Location = new System.Drawing.Point(3, 9);
|
||||||
|
this.stLabel1.Name = "stLabel1";
|
||||||
|
this.stLabel1.Size = new System.Drawing.Size(28, 13);
|
||||||
|
this.stLabel1.TabIndex = 0;
|
||||||
|
this.stLabel1.Text = "Font";
|
||||||
|
//
|
||||||
|
// stPanel2
|
||||||
|
//
|
||||||
|
this.stPanel2.Controls.Add(this.stLabel2);
|
||||||
|
this.stPanel2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.stPanel2.Location = new System.Drawing.Point(619, 0);
|
||||||
|
this.stPanel2.Name = "stPanel2";
|
||||||
|
this.stPanel2.Size = new System.Drawing.Size(200, 438);
|
||||||
|
this.stPanel2.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// stLabel2
|
||||||
|
//
|
||||||
|
this.stLabel2.AutoSize = true;
|
||||||
|
this.stLabel2.Location = new System.Drawing.Point(13, 9);
|
||||||
|
this.stLabel2.Name = "stLabel2";
|
||||||
|
this.stLabel2.Size = new System.Drawing.Size(58, 13);
|
||||||
|
this.stLabel2.TabIndex = 1;
|
||||||
|
this.stLabel2.Text = "Characters";
|
||||||
|
//
|
||||||
|
// splitter1
|
||||||
|
//
|
||||||
|
this.splitter1.Location = new System.Drawing.Point(201, 0);
|
||||||
|
this.splitter1.Name = "splitter1";
|
||||||
|
this.splitter1.Size = new System.Drawing.Size(3, 438);
|
||||||
|
this.splitter1.TabIndex = 2;
|
||||||
|
this.splitter1.TabStop = false;
|
||||||
|
//
|
||||||
|
// splitter2
|
||||||
|
//
|
||||||
|
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.splitter2.Location = new System.Drawing.Point(616, 0);
|
||||||
|
this.splitter2.Name = "splitter2";
|
||||||
|
this.splitter2.Size = new System.Drawing.Size(3, 438);
|
||||||
|
this.splitter2.TabIndex = 3;
|
||||||
|
this.splitter2.TabStop = false;
|
||||||
|
//
|
||||||
|
// stPanel3
|
||||||
|
//
|
||||||
|
this.stPanel3.Controls.Add(this.pictureBoxCustom1);
|
||||||
|
this.stPanel3.Controls.Add(this.imagesCB);
|
||||||
|
this.stPanel3.Controls.Add(this.stLabel3);
|
||||||
|
this.stPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.stPanel3.Location = new System.Drawing.Point(204, 0);
|
||||||
|
this.stPanel3.Name = "stPanel3";
|
||||||
|
this.stPanel3.Size = new System.Drawing.Size(412, 438);
|
||||||
|
this.stPanel3.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// imagesCB
|
||||||
|
//
|
||||||
|
this.imagesCB.BorderColor = System.Drawing.Color.Empty;
|
||||||
|
this.imagesCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
|
||||||
|
this.imagesCB.ButtonColor = System.Drawing.Color.Empty;
|
||||||
|
this.imagesCB.FormattingEnabled = true;
|
||||||
|
this.imagesCB.Location = new System.Drawing.Point(82, 6);
|
||||||
|
this.imagesCB.Name = "imagesCB";
|
||||||
|
this.imagesCB.ReadOnly = true;
|
||||||
|
this.imagesCB.Size = new System.Drawing.Size(213, 21);
|
||||||
|
this.imagesCB.TabIndex = 1;
|
||||||
|
this.imagesCB.SelectedIndexChanged += new System.EventHandler(this.imagesCB_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// stLabel3
|
||||||
|
//
|
||||||
|
this.stLabel3.AutoSize = true;
|
||||||
|
this.stLabel3.Location = new System.Drawing.Point(19, 9);
|
||||||
|
this.stLabel3.Name = "stLabel3";
|
||||||
|
this.stLabel3.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.stLabel3.TabIndex = 0;
|
||||||
|
this.stLabel3.Text = "Images";
|
||||||
|
//
|
||||||
|
// stPanel4
|
||||||
|
//
|
||||||
|
this.stPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel3);
|
||||||
|
this.stPanel4.Controls.Add(this.splitter2);
|
||||||
|
this.stPanel4.Controls.Add(this.splitter1);
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel2);
|
||||||
|
this.stPanel4.Controls.Add(this.stPanel1);
|
||||||
|
this.stPanel4.Location = new System.Drawing.Point(0, 24);
|
||||||
|
this.stPanel4.Name = "stPanel4";
|
||||||
|
this.stPanel4.Size = new System.Drawing.Size(819, 438);
|
||||||
|
this.stPanel4.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// stMenuStrip1
|
||||||
|
//
|
||||||
|
this.stMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.editToolStripMenuItem,
|
||||||
|
this.viewToolStripMenuItem});
|
||||||
|
this.stMenuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.stMenuStrip1.Name = "stMenuStrip1";
|
||||||
|
this.stMenuStrip1.Size = new System.Drawing.Size(819, 24);
|
||||||
|
this.stMenuStrip1.TabIndex = 3;
|
||||||
|
this.stMenuStrip1.Text = "stMenuStrip1";
|
||||||
|
//
|
||||||
|
// editToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||||
|
this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
|
||||||
|
this.editToolStripMenuItem.Text = "Edit";
|
||||||
|
//
|
||||||
|
// viewToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
|
||||||
|
this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||||
|
this.viewToolStripMenuItem.Text = "View";
|
||||||
|
//
|
||||||
|
// pictureBoxCustom1
|
||||||
|
//
|
||||||
|
this.pictureBoxCustom1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.pictureBoxCustom1.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pictureBoxCustom1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBoxCustom1.BackgroundImage")));
|
||||||
|
this.pictureBoxCustom1.Location = new System.Drawing.Point(6, 36);
|
||||||
|
this.pictureBoxCustom1.Name = "pictureBoxCustom1";
|
||||||
|
this.pictureBoxCustom1.Size = new System.Drawing.Size(400, 399);
|
||||||
|
this.pictureBoxCustom1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.pictureBoxCustom1.TabIndex = 2;
|
||||||
|
this.pictureBoxCustom1.TabStop = false;
|
||||||
|
//
|
||||||
|
// BffntEditor
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.stPanel4);
|
||||||
|
this.Controls.Add(this.stMenuStrip1);
|
||||||
|
this.Name = "BffntEditor";
|
||||||
|
this.Size = new System.Drawing.Size(819, 462);
|
||||||
|
this.stPanel1.ResumeLayout(false);
|
||||||
|
this.stPanel1.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.lineFeedUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.leftSpacingUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.glyphWidthCB)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.charWidthUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontHeightUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.fontWidthUD)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ascentUD)).EndInit();
|
||||||
|
this.stPanel2.ResumeLayout(false);
|
||||||
|
this.stPanel2.PerformLayout();
|
||||||
|
this.stPanel3.ResumeLayout(false);
|
||||||
|
this.stPanel3.PerformLayout();
|
||||||
|
this.stPanel4.ResumeLayout(false);
|
||||||
|
this.stMenuStrip1.ResumeLayout(false);
|
||||||
|
this.stMenuStrip1.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCustom1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel1;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel1;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel2;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel2;
|
||||||
|
private System.Windows.Forms.Splitter splitter1;
|
||||||
|
private System.Windows.Forms.Splitter splitter2;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel3;
|
||||||
|
private Toolbox.Library.Forms.STComboBox imagesCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel3;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint ascentUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel4;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel10;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint leftSpacingUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel9;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint glyphWidthCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel8;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint charWidthUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel7;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint fontHeightUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel6;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint fontWidthUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel5;
|
||||||
|
private Toolbox.Library.Forms.STComboBox fontTypeCB;
|
||||||
|
private Toolbox.Library.Forms.STComboBox encodingTypeCB;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel12;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel11;
|
||||||
|
private Toolbox.Library.Forms.STPanel stPanel4;
|
||||||
|
private Toolbox.Library.Forms.STMenuStrip stMenuStrip1;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
|
||||||
|
private Toolbox.Library.Forms.NumericUpDownUint lineFeedUD;
|
||||||
|
private Toolbox.Library.Forms.STLabel stLabel13;
|
||||||
|
private Toolbox.Library.Forms.PictureBoxCustom pictureBoxCustom1;
|
||||||
|
}
|
||||||
|
}
|
73
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.cs
Normal file
73
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.cs
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Toolbox.Library.Forms;
|
||||||
|
|
||||||
|
namespace FirstPlugin.Forms
|
||||||
|
{
|
||||||
|
public partial class BffntEditor : STUserControl
|
||||||
|
{
|
||||||
|
public BffntEditor()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private FFNT ActiveFile;
|
||||||
|
public void LoadFontFile(BFFNT fontFile)
|
||||||
|
{
|
||||||
|
ActiveFile = fontFile.bffnt;
|
||||||
|
|
||||||
|
fontTypeCB.Bind(typeof(FINF.FontType), ActiveFile.FontSection, "Type");
|
||||||
|
fontTypeCB.SelectedItem = ActiveFile.FontSection.Type;
|
||||||
|
|
||||||
|
encodingTypeCB.Bind(typeof(FINF.CharacterCode), ActiveFile.FontSection, "CharEncoding");
|
||||||
|
encodingTypeCB.SelectedItem = ActiveFile.FontSection.CharEncoding;
|
||||||
|
|
||||||
|
lineFeedUD.Bind(ActiveFile.FontSection, "LineFeed");
|
||||||
|
leftSpacingUD.Bind(ActiveFile.FontSection, "DefaultLeftWidth");
|
||||||
|
charWidthUD.Bind(ActiveFile.FontSection, "DefaultCharWidth");
|
||||||
|
glyphWidthCB.Bind(ActiveFile.FontSection, "DefaultGlyphWidth");
|
||||||
|
ascentUD.Bind(ActiveFile.FontSection, "Ascent");
|
||||||
|
fontWidthUD.Bind(ActiveFile.FontSection, "Width");
|
||||||
|
fontHeightUD.Bind(ActiveFile.FontSection, "Height");
|
||||||
|
|
||||||
|
ReloadTextures();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ReloadTextures()
|
||||||
|
{
|
||||||
|
imagesCB.Items.Clear();
|
||||||
|
var textureGlyph = ActiveFile.FontSection.TextureGlyph;
|
||||||
|
for (int i = 0; i < textureGlyph.SheetCount; i++)
|
||||||
|
imagesCB.Items.Add($"Image {i}");
|
||||||
|
|
||||||
|
if (textureGlyph.SheetCount > 0)
|
||||||
|
imagesCB.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void imagesCB_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int ImageIndex = imagesCB.SelectedIndex;
|
||||||
|
if (ImageIndex != -1)
|
||||||
|
{
|
||||||
|
var image = ActiveFile.FontSection.TextureGlyph.GetImageSheet(ImageIndex);
|
||||||
|
bool IsBntx = ActiveFile.FontSection.TextureGlyph.BinaryTextureFile != null;
|
||||||
|
|
||||||
|
if (IsBntx)
|
||||||
|
{
|
||||||
|
pictureBoxCustom1.Image = image.GetBitmap(ImageIndex);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pictureBoxCustom1.Image = image.GetBitmap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
331
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.resx
Normal file
331
File_Format_Library/GUI/BFFNT/New folder/BffntEditor.resx
Normal file
@ -0,0 +1,331 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBoxCustom1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAMAAACJuGjuAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
|
||||||
|
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEXMzMzNzc3Ozs7Pz8/Q0NDR0dHS
|
||||||
|
0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm
|
||||||
|
5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6
|
||||||
|
+vr7+/v8/Pz9/f3+/v7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
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
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="stMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
@ -32,6 +32,7 @@
|
|||||||
this.stPanel2 = new Toolbox.Library.Forms.STPanel();
|
this.stPanel2 = new Toolbox.Library.Forms.STPanel();
|
||||||
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
|
this.stLabel1 = new Toolbox.Library.Forms.STLabel();
|
||||||
this.stComboBox1 = new Toolbox.Library.Forms.STComboBox();
|
this.stComboBox1 = new Toolbox.Library.Forms.STComboBox();
|
||||||
|
this.saveBtn = new Toolbox.Library.Forms.STButton();
|
||||||
this.stPanel2.SuspendLayout();
|
this.stPanel2.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
@ -47,6 +48,7 @@
|
|||||||
//
|
//
|
||||||
// stPanel2
|
// stPanel2
|
||||||
//
|
//
|
||||||
|
this.stPanel2.Controls.Add(this.saveBtn);
|
||||||
this.stPanel2.Controls.Add(this.stLabel1);
|
this.stPanel2.Controls.Add(this.stLabel1);
|
||||||
this.stPanel2.Controls.Add(this.stComboBox1);
|
this.stPanel2.Controls.Add(this.stComboBox1);
|
||||||
this.stPanel2.Dock = System.Windows.Forms.DockStyle.Top;
|
this.stPanel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
@ -77,6 +79,16 @@
|
|||||||
this.stComboBox1.TabIndex = 0;
|
this.stComboBox1.TabIndex = 0;
|
||||||
this.stComboBox1.SelectedIndexChanged += new System.EventHandler(this.stComboBox1_SelectedIndexChanged);
|
this.stComboBox1.SelectedIndexChanged += new System.EventHandler(this.stComboBox1_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
|
// saveBtn
|
||||||
|
//
|
||||||
|
this.saveBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
|
this.saveBtn.Location = new System.Drawing.Point(249, 0);
|
||||||
|
this.saveBtn.Name = "saveBtn";
|
||||||
|
this.saveBtn.Size = new System.Drawing.Size(105, 23);
|
||||||
|
this.saveBtn.TabIndex = 2;
|
||||||
|
this.saveBtn.Text = "Save";
|
||||||
|
this.saveBtn.UseVisualStyleBackColor = false;
|
||||||
|
//
|
||||||
// ArchiveFilePanel
|
// ArchiveFilePanel
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
@ -97,5 +109,6 @@
|
|||||||
private STPanel stPanel2;
|
private STPanel stPanel2;
|
||||||
private STLabel stLabel1;
|
private STLabel stLabel1;
|
||||||
private STComboBox stComboBox1;
|
private STComboBox stComboBox1;
|
||||||
|
private STButton saveBtn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,11 @@ namespace Toolbox.Library.Forms
|
|||||||
|
|
||||||
ReloadEditors();
|
ReloadEditors();
|
||||||
_IsLoaded = true;
|
_IsLoaded = true;
|
||||||
|
saveBtn.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadFile(ArchiveFileInfo archiveFileInfo) {
|
public void LoadFile(ArchiveFileInfo archiveFileInfo)
|
||||||
|
{
|
||||||
ArchiveFileInfo = archiveFileInfo;
|
ArchiveFileInfo = archiveFileInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,6 +69,11 @@ namespace Toolbox.Library.Forms
|
|||||||
UpdateFileEditor();
|
UpdateFileEditor();
|
||||||
else if (GetEditor() == 3)
|
else if (GetEditor() == 3)
|
||||||
UpdateTextView();
|
UpdateTextView();
|
||||||
|
|
||||||
|
if (GetEditor() == 2 || GetEditor() == 3)
|
||||||
|
saveBtn.Visible = true;
|
||||||
|
else
|
||||||
|
saveBtn.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateFileEditor()
|
private void UpdateFileEditor()
|
||||||
@ -221,5 +228,27 @@ namespace Toolbox.Library.Forms
|
|||||||
UpdateEditor();
|
UpdateEditor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void saveBtn_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
bool IsTextEditor = GetEditor() == 3;
|
||||||
|
|
||||||
|
var File = ArchiveFileInfo.FileFormat;
|
||||||
|
if (IsTextEditor && File != null && IsConvertableText(File.GetType()) && ((IConvertableTextFormat)File).CanConvertBack)
|
||||||
|
{
|
||||||
|
TextEditor editor = (TextEditor)GetActiveEditor(typeof(TextEditor));
|
||||||
|
((IConvertableTextFormat)File).ConvertFromString(editor.GetText());
|
||||||
|
|
||||||
|
ArchiveFileInfo.SaveFileFormat();
|
||||||
|
MessageBox.Show($"Saved {File.FileName} to archive!");
|
||||||
|
}
|
||||||
|
else if (File != null && File.CanSave)
|
||||||
|
{
|
||||||
|
ArchiveFileInfo.SaveFileFormat();
|
||||||
|
MessageBox.Show($"Saved {File.FileName} to archive!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MessageBox.Show($"File format does not support saving!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ namespace Toolbox.Library.Forms
|
|||||||
{
|
{
|
||||||
public class STUserControl : UserControl
|
public class STUserControl : UserControl
|
||||||
{
|
{
|
||||||
|
public string Text { get; set; } = "";
|
||||||
|
|
||||||
public STUserControl()
|
public STUserControl()
|
||||||
{
|
{
|
||||||
BackColor = FormThemes.BaseTheme.FormBackColor;
|
BackColor = FormThemes.BaseTheme.FormBackColor;
|
||||||
|
@ -963,16 +963,16 @@ namespace Toolbox.Library.Forms
|
|||||||
switch (UseExtension)
|
switch (UseExtension)
|
||||||
{
|
{
|
||||||
case ".dds":
|
case ".dds":
|
||||||
ActiveTexture.SaveDDS(TemporaryName, CurArrayDisplayLevel, CurMipDisplayLevel);
|
ActiveTexture.SaveDDS(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
|
||||||
break;
|
break;
|
||||||
case ".astc":
|
case ".astc":
|
||||||
ActiveTexture.SaveASTC(TemporaryName, CurArrayDisplayLevel, CurMipDisplayLevel);
|
ActiveTexture.SaveASTC(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
|
||||||
break;
|
break;
|
||||||
case ".tga":
|
case ".tga":
|
||||||
ActiveTexture.SaveTGA(TemporaryName, CurArrayDisplayLevel, CurMipDisplayLevel);
|
ActiveTexture.SaveTGA(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ActiveTexture.SaveBitMap(TemporaryName, CurArrayDisplayLevel, CurMipDisplayLevel);
|
ActiveTexture.SaveBitMap(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,6 +112,11 @@ namespace Toolbox.Library.Forms
|
|||||||
private Color BACK_COLOR = Color.FromArgb(30, 30, 30);
|
private Color BACK_COLOR = Color.FromArgb(30, 30, 30);
|
||||||
private Color FORE_COLOR = Color.White;
|
private Color FORE_COLOR = Color.White;
|
||||||
|
|
||||||
|
public string GetText()
|
||||||
|
{
|
||||||
|
return scintilla1.Text;
|
||||||
|
}
|
||||||
|
|
||||||
public void FillEditor(byte[] Data)
|
public void FillEditor(byte[] Data)
|
||||||
{
|
{
|
||||||
FillEditor(Encoding.Default.GetString(Data));
|
FillEditor(Encoding.Default.GetString(Data));
|
||||||
|
@ -666,6 +666,19 @@ namespace Toolbox.Library
|
|||||||
Export(FileName);
|
Export(FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ExportArrayImage(int ArrayIndex = 0)
|
||||||
|
{
|
||||||
|
SaveFileDialog sfd = new SaveFileDialog();
|
||||||
|
sfd.FileName = Text;
|
||||||
|
sfd.DefaultExt = "dds";
|
||||||
|
sfd.Filter = ExportFilter;
|
||||||
|
|
||||||
|
if (sfd.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
Export(sfd.FileName, true, false, ArrayIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void ExportImage()
|
public void ExportImage()
|
||||||
{
|
{
|
||||||
SaveFileDialog sfd = new SaveFileDialog();
|
SaveFileDialog sfd = new SaveFileDialog();
|
||||||
@ -688,18 +701,25 @@ namespace Toolbox.Library
|
|||||||
switch (ext)
|
switch (ext)
|
||||||
{
|
{
|
||||||
case ".dds":
|
case ".dds":
|
||||||
SaveDDS(FileName);
|
SaveDDS(FileName, ExportSurfaceLevel, ExportMipMapLevel, SurfaceLevel, MipLevel);
|
||||||
break;
|
break;
|
||||||
case ".astc":
|
case ".astc":
|
||||||
SaveASTC(FileName);
|
SaveASTC(FileName, ExportSurfaceLevel, ExportMipMapLevel, SurfaceLevel, MipLevel);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SaveBitMap(FileName);
|
SaveBitMap(FileName, ExportSurfaceLevel, ExportMipMapLevel, SurfaceLevel, MipLevel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void SaveASTC(string FileName, int SurfaceLevel = 0, int MipLevel = 0)
|
public void SaveASTC(string FileName, bool ExportSurfaceLevel = false,
|
||||||
|
bool ExportMipMapLevel = false, int SurfaceLevel = 0, int MipLevel = 0)
|
||||||
{
|
{
|
||||||
|
List<Surface> surfaces = null;
|
||||||
|
if (ExportSurfaceLevel)
|
||||||
|
surfaces = GetSurfaces(SurfaceLevel);
|
||||||
|
else
|
||||||
|
surfaces = GetSurfaces();
|
||||||
|
|
||||||
ASTC atsc = new ASTC();
|
ASTC atsc = new ASTC();
|
||||||
atsc.Width = Width;
|
atsc.Width = Width;
|
||||||
atsc.Height = Height;
|
atsc.Height = Height;
|
||||||
@ -707,15 +727,16 @@ namespace Toolbox.Library
|
|||||||
atsc.BlockDimX = (byte)GetBlockWidth(Format);
|
atsc.BlockDimX = (byte)GetBlockWidth(Format);
|
||||||
atsc.BlockDimY = (byte)GetBlockHeight(Format);
|
atsc.BlockDimY = (byte)GetBlockHeight(Format);
|
||||||
atsc.BlockDimZ = (byte)GetBlockDepth(Format);
|
atsc.BlockDimZ = (byte)GetBlockDepth(Format);
|
||||||
var surfaces = GetSurfaces();
|
|
||||||
atsc.DataBlock = Utils.CombineByteArray(surfaces[0].mipmaps.ToArray());
|
atsc.DataBlock = Utils.CombineByteArray(surfaces[0].mipmaps.ToArray());
|
||||||
File.WriteAllBytes(FileName, atsc.Save());
|
File.WriteAllBytes(FileName, atsc.Save());
|
||||||
}
|
}
|
||||||
public void SaveTGA(string FileName, int SurfaceLevel = 0, int MipLevel = 0)
|
public void SaveTGA(string FileName, bool ExportSurfaceLevel = false,
|
||||||
|
bool ExportMipMapLevel = false, int SurfaceLevel = 0, int MipLevel = 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public void SaveBitMap(string FileName, int SurfaceLevel = 0, int MipLevel = 0)
|
public void SaveBitMap(string FileName, bool ExportSurfaceLevel = false,
|
||||||
|
bool ExportMipMapLevel = false, int SurfaceLevel = 0, int MipLevel = 0)
|
||||||
{
|
{
|
||||||
STProgressBar progressBar = new STProgressBar();
|
STProgressBar progressBar = new STProgressBar();
|
||||||
progressBar.Task = "Exporting Image Data...";
|
progressBar.Task = "Exporting Image Data...";
|
||||||
@ -724,7 +745,7 @@ namespace Toolbox.Library
|
|||||||
progressBar.Show();
|
progressBar.Show();
|
||||||
progressBar.Refresh();
|
progressBar.Refresh();
|
||||||
|
|
||||||
if (ArrayCount > 1)
|
if (ArrayCount > 1 && !ExportSurfaceLevel)
|
||||||
{
|
{
|
||||||
progressBar.Task = "Select dialog option... ";
|
progressBar.Task = "Select dialog option... ";
|
||||||
|
|
||||||
@ -770,9 +791,14 @@ namespace Toolbox.Library
|
|||||||
progressBar.Value = 100;
|
progressBar.Value = 100;
|
||||||
progressBar.Close();
|
progressBar.Close();
|
||||||
}
|
}
|
||||||
public void SaveDDS(string FileName, int SurfaceLevel = 0, int MipLevel = 0)
|
public void SaveDDS(string FileName, bool ExportSurfaceLevel = false,
|
||||||
|
bool ExportMipMapLevel = false, int SurfaceLevel = 0, int MipLevel = 0)
|
||||||
{
|
{
|
||||||
var surfaces = GetSurfaces();
|
List<Surface> surfaces = null;
|
||||||
|
if (ExportSurfaceLevel)
|
||||||
|
surfaces = GetSurfaces(SurfaceLevel);
|
||||||
|
else
|
||||||
|
surfaces = GetSurfaces();
|
||||||
|
|
||||||
if (Depth == 0)
|
if (Depth == 0)
|
||||||
Depth = 1;
|
Depth = 1;
|
||||||
|
@ -66,6 +66,49 @@ namespace Toolbox.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Tuple<string, string>> ReadFiles(string directory)
|
||||||
|
{
|
||||||
|
var Files = new List<Tuple<string, string>>();
|
||||||
|
ProcessDirectory(directory, Files);
|
||||||
|
return Files;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ProcessDirectory(string targetDirectory, List<Tuple<string, string>> FileList)
|
||||||
|
{
|
||||||
|
var fileEntries = GetRelativePaths(targetDirectory);
|
||||||
|
|
||||||
|
foreach (string fileName in fileEntries)
|
||||||
|
{
|
||||||
|
char[] sep = { '\\' };
|
||||||
|
string[] fn = fileName.Split(sep);
|
||||||
|
string tempf = "";
|
||||||
|
for (int i = 0; i < fn.Length; i++)
|
||||||
|
{
|
||||||
|
tempf += fn[i];
|
||||||
|
if (fn.Length > 2 && (i != fn.Length - 1))
|
||||||
|
{
|
||||||
|
tempf += "/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FileList.Add(Tuple.Create(tempf, $"{targetDirectory}/{fileName}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
string[] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
|
||||||
|
foreach (string subdirectory in subdirectoryEntries)
|
||||||
|
ProcessDirectory(subdirectory, FileList);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IEnumerable<string> GetRelativePaths(string root)
|
||||||
|
{
|
||||||
|
int rootLength = root.Length + (root[root.Length - 1] == '\\' ? 0 : 1);
|
||||||
|
|
||||||
|
foreach (string path in Directory.GetFiles(root, "*", SearchOption.AllDirectories))
|
||||||
|
{
|
||||||
|
yield return path.Remove(0, rootLength);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void CreateDirectoryIfExists(string Dir)
|
private static void CreateDirectoryIfExists(string Dir)
|
||||||
{
|
{
|
||||||
if (!String.IsNullOrWhiteSpace(Path.GetDirectoryName(Dir)))
|
if (!String.IsNullOrWhiteSpace(Path.GetDirectoryName(Dir)))
|
||||||
|
@ -7,7 +7,6 @@ using System.Windows.Forms;
|
|||||||
using Toolbox.Library.Forms;
|
using Toolbox.Library.Forms;
|
||||||
using Toolbox.Library.IO;
|
using Toolbox.Library.IO;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.ComponentModel;
|
|
||||||
|
|
||||||
namespace Toolbox.Library
|
namespace Toolbox.Library
|
||||||
{
|
{
|
||||||
@ -249,6 +248,39 @@ namespace Toolbox.Library
|
|||||||
if (dlg.ShowDialog() == DialogResult.OK)
|
if (dlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
string FolderPath = dlg.SelectedPath;
|
string FolderPath = dlg.SelectedPath;
|
||||||
|
|
||||||
|
STProgressBar progressBar = new STProgressBar();
|
||||||
|
progressBar.Task = "Reading Directory...";
|
||||||
|
progressBar.Value = 0;
|
||||||
|
progressBar.StartPosition = FormStartPosition.CenterScreen;
|
||||||
|
progressBar.Show();
|
||||||
|
progressBar.Refresh();
|
||||||
|
|
||||||
|
var ProccessedFiles = TreeHelper.ReadFiles(FolderPath);
|
||||||
|
|
||||||
|
progressBar.Task = "Repacking Files...";
|
||||||
|
progressBar.Refresh();
|
||||||
|
|
||||||
|
for (int i = 0; i < ProccessedFiles.Count; i++)
|
||||||
|
{
|
||||||
|
progressBar.Value = (i * 100) / ProccessedFiles.Count;
|
||||||
|
progressBar.Task = $"Packing {ProccessedFiles[i].Item1}";
|
||||||
|
progressBar.Refresh();
|
||||||
|
|
||||||
|
ArchiveFile.AddFile(new ArchiveFileInfo()
|
||||||
|
{
|
||||||
|
FileName = ProccessedFiles[i].Item1,
|
||||||
|
FileData = File.ReadAllBytes(ProccessedFiles[i].Item2),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
progressBar.Close();
|
||||||
|
progressBar.Dispose();
|
||||||
|
ProccessedFiles.Clear();
|
||||||
|
|
||||||
|
GC.Collect();
|
||||||
|
|
||||||
|
FillTreeNodes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user