mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2024-11-22 20:43:09 +00:00
Merge pull request #135 from blueskythlikesclouds/pac-fix
Fix PAC archive file naming
This commit is contained in:
commit
b8bad6c685
3 changed files with 324 additions and 314 deletions
|
@ -105,8 +105,7 @@ namespace HedgehogLibrary
|
|||
PacNodeTree tree = new PacNodeTree();
|
||||
tree.Read(reader, header3);
|
||||
|
||||
var rootNode = tree.RootNode;
|
||||
LoadTree(rootNode);
|
||||
LoadTree(tree);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -172,8 +171,7 @@ namespace HedgehogLibrary
|
|||
PacNodeTree tree = new PacNodeTree();
|
||||
tree.Read(reader, header3);
|
||||
|
||||
var rootNode = tree.RootNode;
|
||||
LoadTree(rootNode, splitName);
|
||||
LoadTree(tree);
|
||||
|
||||
if (header3.SplitCount != 0)
|
||||
{
|
||||
|
@ -307,23 +305,33 @@ namespace HedgehogLibrary
|
|||
// PAC has splits
|
||||
HasSplit = 5
|
||||
}
|
||||
|
||||
public void LoadTree(PacNode node, string fullPath = "")
|
||||
|
||||
private void LoadNode(PacNode node, string fullPath)
|
||||
{
|
||||
bool IsFile = node.HasData && node.Data != null;
|
||||
if (!string.IsNullOrEmpty(node.Name))
|
||||
fullPath += node.Name;
|
||||
|
||||
if (IsFile)
|
||||
if (node.HasData && node.Data is byte[])
|
||||
{
|
||||
FileEntry newNode = new FileEntry(node);
|
||||
newNode.FileName = $"{fullPath}.{newNode.Name}";
|
||||
files.Add(newNode);
|
||||
var fileEntry = new FileEntry(node);
|
||||
fileEntry.FileName = $"{fullPath}.{node.Extension}";
|
||||
fileEntry.Name = fileEntry.FileName;
|
||||
files.Add(fileEntry);
|
||||
}
|
||||
else if (node.HasData && node.Data is PacNodeTree)
|
||||
{
|
||||
LoadTree((PacNodeTree)node.Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var childNode in node.Children)
|
||||
LoadNode(childNode, fullPath);
|
||||
}
|
||||
}
|
||||
|
||||
if (node.Name != "Node" && node.Name != null)
|
||||
fullPath += $"/{node.Name}";
|
||||
|
||||
for (int i = 0; i < node.Children.Count; i++)
|
||||
LoadTree(node.Children[i], fullPath);
|
||||
public void LoadTree(PacNodeTree nodeTree)
|
||||
{
|
||||
LoadNode(nodeTree.RootNode, string.Empty);
|
||||
}
|
||||
|
||||
public class FileEntry : ArchiveFileInfo
|
||||
|
@ -331,7 +339,7 @@ namespace HedgehogLibrary
|
|||
public FileEntry(PacNode node)
|
||||
{
|
||||
Name = node.Name;
|
||||
FileData = node.Data;
|
||||
FileData = node.Data as byte[];
|
||||
if (node.Name == null) Name = "File Node";
|
||||
if (FileData == null) FileData = new byte[0];
|
||||
}
|
||||
|
@ -360,11 +368,12 @@ namespace HedgehogLibrary
|
|||
{
|
||||
public HeaderV3 PacFile;
|
||||
|
||||
public byte[] Data;
|
||||
public object Data;
|
||||
|
||||
public PacNodeTree ParentTree;
|
||||
public string Name { get; set; }
|
||||
public bool HasData { get; set; }
|
||||
public string Extension { get; set; }
|
||||
public List<PacNode> Children = new List<PacNode>();
|
||||
public DataType DataType;
|
||||
|
||||
|
@ -421,8 +430,7 @@ namespace HedgehogLibrary
|
|||
if (extensionOffset != 0)
|
||||
{
|
||||
reader.SeekBegin((long)extensionOffset);
|
||||
string extension = reader.ReadZeroTerminatedString();
|
||||
Name += extension;
|
||||
Extension = reader.ReadZeroTerminatedString();
|
||||
}
|
||||
|
||||
if (dataBlockOffset != 0)
|
||||
|
@ -436,7 +444,7 @@ namespace HedgehogLibrary
|
|||
reader.SeekBegin((long)dataOffset);
|
||||
PacNodeTree tree = new PacNodeTree();
|
||||
tree.Read(reader, PacFile);
|
||||
Children.Add(tree.RootNode);
|
||||
Data = tree;
|
||||
}
|
||||
}
|
||||
if (childIndicesOffset != 0)
|
||||
|
|
325
README.md
325
README.md
|
@ -1,162 +1,163 @@
|
|||
# Switch-Toolbox
|
||||
A tool to edit many formats of Nintendo Switch and Wii U.
|
||||
|
||||
## Changelog 1.0 Experimental / BETA
|
||||
https://docs.google.com/spreadsheets/d/16JLhGBJL5U5hpKWspL-pzYIaRL23X1YKEmia6pbsGbc/edit#gid=1386834576
|
||||
|
||||
## Releases
|
||||
https:/c/github.com/KillzXGaming/Switch-Toolbox/releases
|
||||
|
||||
## Discord
|
||||
https://discord.gg/eyvGXWP
|
||||
|
||||
## Features
|
||||
|
||||
This tool currently features:
|
||||
- BFRES
|
||||
- Fully supports Wii U and Switch.
|
||||
- Model importing (dae, fbx, obj, and csv)
|
||||
- Material editing (Render info, texture mapping, parameters, etc)
|
||||
- Material copying
|
||||
- Animation and model sub section can be exported/imported.
|
||||
- Can delete, add, replace individual objects from an fmdl.
|
||||
- Can create new sub sections and data
|
||||
- Can preview skeletal, SRT, param, texture pattern, and bone visual animations. (Param ones will vary)
|
||||
- Can export and import fully rigged models with bone support.
|
||||
- Can convert gif files to texture pattern animations. Very WIP atm.
|
||||
|
||||
Can Edit Formats
|
||||
- BFRES
|
||||
- BNTX
|
||||
- NUTEXB
|
||||
- XTX
|
||||
- GTX
|
||||
- SARC
|
||||
- BARS
|
||||
- KCL
|
||||
- BFLIM
|
||||
- GFPAK
|
||||
- BEA
|
||||
- AAMP (Wii U and Switch)
|
||||
- BYAML/BYML (Wii U, 3DS, and Switch)
|
||||
- PTCL (Wii U, 3DS, and Switch)
|
||||
- TMPK
|
||||
- PAK/IGA (Crash Bandicoot/Crash Team Racing)
|
||||
- IGZ Textures (Crash Bandicoot/Crash Team Racing)
|
||||
- BFFNT (Textures only)
|
||||
|
||||
Can Preview
|
||||
|
||||
- BCRES
|
||||
- Models, materials, and textures.
|
||||
- BFSHA
|
||||
- Can view options, samplers, attributes, and uniform blocks.
|
||||
- BNSH
|
||||
- Can extract shader vertex and fragment shaders from variations/programs
|
||||
- SHARCFB and SHARC
|
||||
- Basic preview of some shader program data.
|
||||
- Can edit both v1 and v2 AAMP (Wii U and Switch)
|
||||
- EFC
|
||||
- Can preview effect tables and link PTCL.
|
||||
- NUT
|
||||
- Can preview NTWU, NTP3, and NTWD variants. Editng will be soon
|
||||
- MSBT
|
||||
- Very basic previewing.
|
||||
- MP3, OGG, IDSP, HPS, WAV, BFWAV, BFSTM, BCWAV, BCWAV
|
||||
- Can listen to audio and convert between certain formats. Thanks to VGAudio and CSCore
|
||||
- NARC
|
||||
- SP2 (Team Sonic Racing)
|
||||
- GFMDL
|
||||
- TEX (3DS)
|
||||
- NUSHDB (Switch Namco Shaders)
|
||||
- SDF (Snow Drop Engine)
|
||||
- NCA
|
||||
- NSP
|
||||
- IStorage
|
||||
- NXARC
|
||||
- LZARC
|
||||
- IGA .pak
|
||||
- RARC
|
||||
- GMX (TPHD Models)
|
||||
- MKAGPDX Model .bin files
|
||||
- MKAGPDX Archive .pac files
|
||||
- ME01 and SA01 archives.
|
||||
- Luigi's Mansion 2 Dark Moon (archives, models, and textures)
|
||||
- TPL
|
||||
- TXE
|
||||
- BTI
|
||||
- G1T
|
||||
- CMB (OOT3D, MM3D, LM3DS)
|
||||
- CTXB (OOT3D, MM3D, LM3DS)
|
||||
- GAR (OOT3D, MM3D, LM3DS)
|
||||
- ZSI (OOT3D, MM3D)
|
||||
- BinGZ (Hyrule Warriors)
|
||||
- PAC (Sonic Forces)
|
||||
- Gamecube ISOs (file system)
|
||||
|
||||
|
||||
## Tutorials
|
||||
https://github.com/KillzXGaming/Switch-Toolbox/wiki
|
||||
|
||||
## Issues or Requests
|
||||
https://github.com/KillzXGaming/Switch-Toolbox/issues
|
||||
|
||||
## Building
|
||||
To build make sure you have Visual Studio installed (I use 2017, older versions may not work) and open the .sln. Then build the solution as release. It should compile properly on the latest.
|
||||
|
||||
In the event that the tool cannot compile, check references. All the libraries are stored in Switch-Toolbox/Lib folder.
|
||||
|
||||
## Credits
|
||||
|
||||
- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc) for some code ported over. Specifically animation stuff and some rendering.
|
||||
- Assimp devs for their massive asset library!
|
||||
- Wexos (helped figure out a few things, ie format list to assign each attribute)
|
||||
- JuPaHe64 for the base 3D renderer.
|
||||
- Every File Explorer devs (Gericom) for Yaz0 and bitmap font stuff
|
||||
- Exelix for Byaml, Sarc and KCL library
|
||||
- Syroot for helpful IO extensions and libraries
|
||||
- GDKChan for PICA shaders stuff used with bcres, structs for bcres, and some DDS decode methods
|
||||
- AboodXD for some foundation stuff with exelix's SARC library, Wii U (GPU7) and Switch (Tegra X1) textures swizzling, reading/converting uncompressed types for DDS, and documentation for GTX, XTX, and BNTX
|
||||
- MelonSpeedruns for logo.
|
||||
- BrawlBox team for brawl libaries used for brres parsing.
|
||||
- Sage of Mirrors for SuperBMDLib.
|
||||
- Ambrosia for BTI and TXE support.
|
||||
- Kuriimu for some IO and file parsing help
|
||||
|
||||
## Resources
|
||||
- [Treeview Icons by icons8](https://icons8.com/)
|
||||
- Smash Forge (Currently placeholders)
|
||||
|
||||
## Documentation (File Formats)
|
||||
- http://mk8.tockdom.com/wiki/
|
||||
- https://wiki.oatmealdome.me/Category:File_formats
|
||||
- https://github.com/Kinnay/Nintendo-File-Formats/wiki
|
||||
- http://Avsys.xyz/wiki/Category:File_Formats
|
||||
|
||||
## Libraries
|
||||
- [SuperBMDLib] (https://github.com/Sage-of-Mirrors/SuperBMD)
|
||||
- [Brawl Lib (for brres section conversion)](https://github.com/libertyernie/brawltools)
|
||||
- [Exelix (Sarc, kcl, and byml libraries)](https://github.com/exelix11/EditorCore/tree/master/FileFormatPlugins)
|
||||
- [ZstdNet (Compression)](https://github.com/skbkontur/ZstdNet)
|
||||
- [Be.HexEditor by Bernhard Elbl](https://sourceforge.net/projects/hexbox/)
|
||||
- GL EditorFramwork by jupahe64
|
||||
- [WeifenLuo for docking suite](http://dockpanelsuite.com/)
|
||||
- [SF Graphics by SMG (Experimental](https://github.com/ScanMountGoat/SFGraphics) (currently just a placeholder for shader workflow and some useful things)
|
||||
- [Audio & MIDI library](https://github.com/naudio/NAudio)
|
||||
- [VGAudio](https://github.com/Thealexbarney/VGAudio)
|
||||
- [CSCore](https://github.com/filoe/cscore)
|
||||
- [Assimp](https://bitbucket.org/Starnick/assimpnet/src/master/)
|
||||
- [OpenTK](https://github.com/opentk/opentk)
|
||||
- [BezelEngineArchive Library](https://github.com/KillzXGaming/BEA-Library-Editor)
|
||||
- [Syroot BinaryData](https://gitlab.com/Syroot/BinaryData)
|
||||
- [Syroot Maths](https://gitlab.com/Syroot/Maths)
|
||||
- [Syroot Bfres Library (Wii U)](https://gitlab.com/Syroot/NintenTools.Bfres)
|
||||
- [LibHac](https://github.com/Thealexbarney/LibHac)
|
||||
|
||||
## Helpful Tools
|
||||
- https://github.com/IcySon55/Kuriimu
|
||||
|
||||
License
|
||||
in Switch_Toolbox\Lib\Licenses
|
||||
|
||||
Please note if you do not want your library used or if i'm missing credits!
|
||||
# Switch-Toolbox
|
||||
A tool to edit many formats of Nintendo Switch and Wii U.
|
||||
|
||||
## Changelog 1.0 Experimental / BETA
|
||||
https://docs.google.com/spreadsheets/d/16JLhGBJL5U5hpKWspL-pzYIaRL23X1YKEmia6pbsGbc/edit#gid=1386834576
|
||||
|
||||
## Releases
|
||||
https:/c/github.com/KillzXGaming/Switch-Toolbox/releases
|
||||
|
||||
## Discord
|
||||
https://discord.gg/eyvGXWP
|
||||
|
||||
## Features
|
||||
|
||||
This tool currently features:
|
||||
- BFRES
|
||||
- Fully supports Wii U and Switch.
|
||||
- Model importing (dae, fbx, obj, and csv)
|
||||
- Material editing (Render info, texture mapping, parameters, etc)
|
||||
- Material copying
|
||||
- Animation and model sub section can be exported/imported.
|
||||
- Can delete, add, replace individual objects from an fmdl.
|
||||
- Can create new sub sections and data
|
||||
- Can preview skeletal, SRT, param, texture pattern, and bone visual animations. (Param ones will vary)
|
||||
- Can export and import fully rigged models with bone support.
|
||||
- Can convert gif files to texture pattern animations. Very WIP atm.
|
||||
|
||||
Can Edit Formats
|
||||
- BFRES
|
||||
- BNTX
|
||||
- NUTEXB
|
||||
- XTX
|
||||
- GTX
|
||||
- SARC
|
||||
- BARS
|
||||
- KCL
|
||||
- BFLIM
|
||||
- GFPAK
|
||||
- BEA
|
||||
- AAMP (Wii U and Switch)
|
||||
- BYAML/BYML (Wii U, 3DS, and Switch)
|
||||
- PTCL (Wii U, 3DS, and Switch)
|
||||
- TMPK
|
||||
- PAK/IGA (Crash Bandicoot/Crash Team Racing)
|
||||
- IGZ Textures (Crash Bandicoot/Crash Team Racing)
|
||||
- BFFNT (Textures only)
|
||||
|
||||
Can Preview
|
||||
|
||||
- BCRES
|
||||
- Models, materials, and textures.
|
||||
- BFSHA
|
||||
- Can view options, samplers, attributes, and uniform blocks.
|
||||
- BNSH
|
||||
- Can extract shader vertex and fragment shaders from variations/programs
|
||||
- SHARCFB and SHARC
|
||||
- Basic preview of some shader program data.
|
||||
- Can edit both v1 and v2 AAMP (Wii U and Switch)
|
||||
- EFC
|
||||
- Can preview effect tables and link PTCL.
|
||||
- NUT
|
||||
- Can preview NTWU, NTP3, and NTWD variants. Editng will be soon
|
||||
- MSBT
|
||||
- Very basic previewing.
|
||||
- MP3, OGG, IDSP, HPS, WAV, BFWAV, BFSTM, BCWAV, BCWAV
|
||||
- Can listen to audio and convert between certain formats. Thanks to VGAudio and CSCore
|
||||
- NARC
|
||||
- SP2 (Team Sonic Racing)
|
||||
- GFMDL
|
||||
- TEX (3DS)
|
||||
- NUSHDB (Switch Namco Shaders)
|
||||
- SDF (Snow Drop Engine)
|
||||
- NCA
|
||||
- NSP
|
||||
- IStorage
|
||||
- NXARC
|
||||
- LZARC
|
||||
- IGA .pak
|
||||
- RARC
|
||||
- GMX (TPHD Models)
|
||||
- MKAGPDX Model .bin files
|
||||
- MKAGPDX Archive .pac files
|
||||
- ME01 and SA01 archives.
|
||||
- Luigi's Mansion 2 Dark Moon (archives, models, and textures)
|
||||
- TPL
|
||||
- TXE
|
||||
- BTI
|
||||
- G1T
|
||||
- CMB (OOT3D, MM3D, LM3DS)
|
||||
- CTXB (OOT3D, MM3D, LM3DS)
|
||||
- GAR (OOT3D, MM3D, LM3DS)
|
||||
- ZSI (OOT3D, MM3D)
|
||||
- BinGZ (Hyrule Warriors)
|
||||
- PAC (Sonic Forces)
|
||||
- Gamecube ISOs (file system)
|
||||
|
||||
|
||||
## Tutorials
|
||||
https://github.com/KillzXGaming/Switch-Toolbox/wiki
|
||||
|
||||
## Issues or Requests
|
||||
https://github.com/KillzXGaming/Switch-Toolbox/issues
|
||||
|
||||
## Building
|
||||
To build make sure you have Visual Studio installed (I use 2017, older versions may not work) and open the .sln. Then build the solution as release. It should compile properly on the latest.
|
||||
|
||||
In the event that the tool cannot compile, check references. All the libraries are stored in Switch-Toolbox/Lib folder.
|
||||
|
||||
## Credits
|
||||
|
||||
- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc) for some code ported over. Specifically animation stuff and some rendering.
|
||||
- Assimp devs for their massive asset library!
|
||||
- Wexos (helped figure out a few things, ie format list to assign each attribute)
|
||||
- JuPaHe64 for the base 3D renderer.
|
||||
- Every File Explorer devs (Gericom) for Yaz0 and bitmap font stuff
|
||||
- Exelix for Byaml, Sarc and KCL library
|
||||
- Syroot for helpful IO extensions and libraries
|
||||
- GDKChan for PICA shaders stuff used with bcres, structs for bcres, and some DDS decode methods
|
||||
- AboodXD for some foundation stuff with exelix's SARC library, Wii U (GPU7) and Switch (Tegra X1) textures swizzling, reading/converting uncompressed types for DDS, and documentation for GTX, XTX, and BNTX
|
||||
- MelonSpeedruns for logo.
|
||||
- BrawlBox team for brawl libaries used for brres parsing.
|
||||
- Sage of Mirrors for SuperBMDLib.
|
||||
- Ambrosia for BTI and TXE support.
|
||||
- Kuriimu for some IO and file parsing help
|
||||
- Skyth and Radfordhound for PAC documentation
|
||||
|
||||
## Resources
|
||||
- [Treeview Icons by icons8](https://icons8.com/)
|
||||
- Smash Forge (Currently placeholders)
|
||||
|
||||
## Documentation (File Formats)
|
||||
- http://mk8.tockdom.com/wiki/
|
||||
- https://wiki.oatmealdome.me/Category:File_formats
|
||||
- https://github.com/Kinnay/Nintendo-File-Formats/wiki
|
||||
- http://Avsys.xyz/wiki/Category:File_Formats
|
||||
|
||||
## Libraries
|
||||
- [SuperBMDLib] (https://github.com/Sage-of-Mirrors/SuperBMD)
|
||||
- [Brawl Lib (for brres section conversion)](https://github.com/libertyernie/brawltools)
|
||||
- [Exelix (Sarc, kcl, and byml libraries)](https://github.com/exelix11/EditorCore/tree/master/FileFormatPlugins)
|
||||
- [ZstdNet (Compression)](https://github.com/skbkontur/ZstdNet)
|
||||
- [Be.HexEditor by Bernhard Elbl](https://sourceforge.net/projects/hexbox/)
|
||||
- GL EditorFramwork by jupahe64
|
||||
- [WeifenLuo for docking suite](http://dockpanelsuite.com/)
|
||||
- [SF Graphics by SMG (Experimental](https://github.com/ScanMountGoat/SFGraphics) (currently just a placeholder for shader workflow and some useful things)
|
||||
- [Audio & MIDI library](https://github.com/naudio/NAudio)
|
||||
- [VGAudio](https://github.com/Thealexbarney/VGAudio)
|
||||
- [CSCore](https://github.com/filoe/cscore)
|
||||
- [Assimp](https://bitbucket.org/Starnick/assimpnet/src/master/)
|
||||
- [OpenTK](https://github.com/opentk/opentk)
|
||||
- [BezelEngineArchive Library](https://github.com/KillzXGaming/BEA-Library-Editor)
|
||||
- [Syroot BinaryData](https://gitlab.com/Syroot/BinaryData)
|
||||
- [Syroot Maths](https://gitlab.com/Syroot/Maths)
|
||||
- [Syroot Bfres Library (Wii U)](https://gitlab.com/Syroot/NintenTools.Bfres)
|
||||
- [LibHac](https://github.com/Thealexbarney/LibHac)
|
||||
|
||||
## Helpful Tools
|
||||
- https://github.com/IcySon55/Kuriimu
|
||||
|
||||
License
|
||||
in Switch_Toolbox\Lib\Licenses
|
||||
|
||||
Please note if you do not want your library used or if i'm missing credits!
|
||||
|
|
|
@ -1,132 +1,133 @@
|
|||
<?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>
|
||||
<data name="richTextBox1.Text" xml:space="preserve">
|
||||
<value>- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc) for some code ported over. Specifically animation stuff and some rendering.
|
||||
- Assimp devs for their massive asset library!
|
||||
- Wexos (helped figure out a few things, ie format list to assign each attribute)
|
||||
- JuPaHe64 for the base 3D renderer and timeline control.
|
||||
- Every File Explorer devs (Gericom) for Yaz0 stuff
|
||||
- Exelix for Byaml, Sarc and KCL library
|
||||
- Syroot for helpful IO extensions and libraies
|
||||
- GDK Chan for some DDS decode methods
|
||||
- AboodXD for BNTX texture swizzling
|
||||
- MelonSpeedruns for logo.</value>
|
||||
</data>
|
||||
<?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>
|
||||
<data name="richTextBox1.Text" xml:space="preserve">
|
||||
<value>- Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc) for some code ported over. Specifically animation stuff and some rendering.
|
||||
- Assimp devs for their massive asset library!
|
||||
- Wexos (helped figure out a few things, ie format list to assign each attribute)
|
||||
- JuPaHe64 for the base 3D renderer and timeline control.
|
||||
- Every File Explorer devs (Gericom) for Yaz0 stuff
|
||||
- Exelix for Byaml, Sarc and KCL library
|
||||
- Syroot for helpful IO extensions and libraies
|
||||
- GDK Chan for some DDS decode methods
|
||||
- AboodXD for BNTX texture swizzling
|
||||
- MelonSpeedruns for logo.
|
||||
- Skyth and Radfordhound for PAC documentation</value>
|
||||
</data>
|
||||
</root>
|
Loading…
Reference in a new issue