Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Switch Toolbox: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=Switch Toolbox
|title=Switch Toolbox
|image=switchtoolboxswitch.png
|image=switchtoolbox.png
|description=A tool to edit many video game file formats
|description=A tool to edit many video game file formats.
|author=KillzXGaming
|author=KillzXGaming
|lastupdated=2023/04/18
|lastupdated=2024/10/18
|type=Hack Utilities
|type=Hack Utilities
|version=1.0.2605
|version=1.0.2737
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/switchtoolboxswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/switchtoolbox.7z
|website=https://gbatemp.net/threads/wip-sword-and-shield-pokemon-models-and-textures.552281/
|website=https://github.com/KillzXGaming/Switch-Toolbox
|source=https://github.com/KillzXGaming/Switch-Toolbox
|source=https://github.com/KillzXGaming/Switch-Toolbox
|donation=https://github.com/KillzXGaming/Switch-Toolbox#support
|donation=https://github.com/KillzXGaming/Switch-Toolbox#support
}}
}}
{{#seo:
Switch-Toolbox is a tool to edit many formats of Nintendo Switch, 3DS and Wii U (experimental).
|title=Switch Rom Hacks (Hack Utilities) - GameBrew
|title_mode=append
|image=switchtoolboxswitch.png
|image_alt=Switch Toolbox
}}
The Switch-Toolbox is a software designed to modify various file formats used in Nintendo Switch, 3DS, and Wii U consoles. It is essential to note that this tool is currently in its experimental phase. Please kindly report any problems to the [https://github.com/KillzXGaming/Switch-Toolbox/issues issues page] on GitHub.


== Features ==
== Features ==
This tool currently features:
* BFRES:
* BFRES
** Fully supports Wii U and Switch
** Fully supports Wii U and Switch
** Model importing (DAE, FBX, OBJ, and CSV)
** Model importing (DAE, FBX, OBJ, and CSV)
** Material editing (Render info, texture mapping, parameters, etc.)
** Material editing (Render info, texture mapping, parameters, etc)
** Material copying
** Material copying
** Animation and model sub section can be exported / imported
** Animation and model sub section can be exported / imported
Line 34: Line 27:
** Can export and import fully rigged models with bone support
** Can export and import fully rigged models with bone support
** Can convert gif files to texture pattern animations, very WIP atm
** Can convert gif files to texture pattern animations, very WIP atm
* Can edit formats:
** BFRES
** BNTX
** BFLYT
** BFLAN
** NUTEXB
** XTX
** GTX
** SARC
** BARS
** KCL
** BFLIM
** GFPAK
** BEA
** AAMP (Switch, 3DS and Wii U)
** BYAML/BYML (Switch, 3DS and Wii U)
** PTCL (Switch, 3DS and Wii U)
** 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. Editing will be implemented 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)
==User guide==
Download the latest build on the [https://github.com/KillzXGaming/Switch-Toolbox/releases release page].
If this program does not open, make sure to unblock the zip file then extract.


Can edit formats:
You also need to install the following:
* BFRES
* [https://www.microsoft.com/en-us/download/details.aspx?id=35 Direct X]
* BNTX
* [https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads C++ redist]
* BFLYT
* BFLAN
* NUTEXB
* XTX
* GTX
* SARC
* BARS
* KCL
* BFLIM
* GFPAK
* BEA
* AAMP (Switch, 3DS and Wii U)
* BYAML/BYML (Switch, 3DS and Wii U)
* PTCL (Switch, 3DS and Wii U)
* TMPK
* PAK / IGA (Crash Bandicoot / Crash Team Racing)
* IGZ Textures (Crash Bandicoot / Crash Team Racing)
* BFFNT (Textures only)


Can preview:
These are required for most texture viewing as it is the main library to decompress/compress these back.
* 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. Editing will be implemented 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)


==How To Use Switch Toolbox==
For tutorial please see the [https://github.com/KillzXGaming/Switch-Toolbox/wiki Wiki].
The Switch Toolbox can be used to perform various tasks related to the Switch, 3DS and Wii U, including extracting game data, modifying save files, and creating custom game mods. The [https://github.com/KillzXGaming/Switch-Toolbox/wiki wiki] provides information on how to use the Switch Toolbox, including tutorials and explanations of the different features available. The wiki also includes a FAQ section to help users troubleshoot common issues they may encounter while using the tool.  
 
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/switchtoolbox2.png
 
https://dlhb.gamebrew.org/switchhomebrews/switchtoolbox3.gif
 
https://dlhb.gamebrew.org/switchhomebrews/switchtoolbox4.gif


==Media==
==Media==
'''New Horizons Modding - The Basics - ([https://www.youtube.com/watch?v=4SbMkAQmsI0 inconsistent])'''<br>
'''New Horizons Modding - The Basics ([https://www.youtube.com/watch?v=4SbMkAQmsI0 inconsistent])'''<br>
<youtube>4SbMkAQmsI0</youtube>
<youtube>4SbMkAQmsI0</youtube>


'''Switch Toolbox Tutorial | Part 0 : Installing Switch Toolbox - ([https://www.youtube.com/watch?v=o1WbhOhID_Y Ximension])'''<br>
'''Switch Toolbox Tutorial | Part 0 : Installing Switch Toolbox ([https://www.youtube.com/watch?v=o1WbhOhID_Y Ximension])'''<br>
<youtube>o1WbhOhID_Y</youtube>
<youtube>o1WbhOhID_Y</youtube>


'''Switch Toolbox Tutorial | Part 1 : Opening levels and basic features - ([https://www.youtube.com/watch?v=hsra0g7LbyM Ximension])'''<br>
'''Switch Toolbox Tutorial | Part 1 : Opening levels and basic features ([https://www.youtube.com/watch?v=hsra0g7LbyM Ximension])'''<br>
<youtube>hsra0g7LbyM</youtube>
<youtube>hsra0g7LbyM</youtube>


'''Switch Toolbox Tutorial | Part 2 : Location of the files to edit - ([https://www.youtube.com/watch?v=d-Q6Ag8pFzo Ximension])'''<br>
'''Switch Toolbox Tutorial | Part 2 : Location of the files to edit ([https://www.youtube.com/watch?v=d-Q6Ag8pFzo Ximension])'''<br>
<youtube>d-Q6Ag8pFzo</youtube>
<youtube>d-Q6Ag8pFzo</youtube>


'''Switch Toolbox Tutorial | Part 3 : Changing of textures - ([https://www.youtube.com/watch?v=wkwdl9oLiyE Ximension])'''<br>
'''Switch Toolbox Tutorial | Part 3 : Changing of textures ([https://www.youtube.com/watch?v=wkwdl9oLiyE Ximension])'''<br>
<youtube>wkwdl9oLiyE</youtube>
<youtube>wkwdl9oLiyE</youtube>


'''Switch Toolbox Tutorial | Part 4 : Replacement of Rigged Models - ([https://www.youtube.com/watch?v=bIao8d3iGts Ximension])'''<br>
'''Switch Toolbox Tutorial | Part 4 : Replacement of Rigged Models ([https://www.youtube.com/watch?v=bIao8d3iGts Ximension])'''<br>
<youtube>bIao8d3iGts</youtube>
<youtube>bIao8d3iGts</youtube>


==Screenshots==
== Credits ==
https://dlhb.gamebrew.org/switchhomebrews/switchtoolboxswitch-01.png
* Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc.) for some code ported over, specifically animation stuff, ETC1 encoder and some rendering.
https://dlhb.gamebrew.org/switchhomebrews/switchtoolboxswitch-02.png
* Ploaj for a base on the DAE writer.
https://dlhb.gamebrew.org/switchhomebrews/switchtoolboxswitch-03.png
* Assimp devs for their massive asset library!
https://dlhb.gamebrew.org/switchhomebrews/switchtoolboxswitch-04.png
* Wexos (helped figure out a few things, i.e. 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 SPICA library (used for BCH), 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. Library for Yaz0 made by AboodXD and helped port it to the tool.
* MelonSpeedruns for Switch Toolbox logo.
* BrawlBox team for brawl libraries 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.
* Ac_K for ASTC decoder c# port from Ryujinx.
* pkNX and kwsch for Fnv hashing and useful pkmn code/structure references.
* Dragonation for useful code on the structure for some flatbuffers in pokemon Switch.
* mvit and Rei for help with gfpak hash strings and also research for formats.
* QuickBMS for some compression code ported (LZ77 WII).


== Resources ==
Resources:
* [https://icons8.com/ TreeView Icons by icons8]
* [https://icons8.com/ TreeView Icons by icons8]
* Smash Forge (Currently placeholders)
* Smash Forge (Currently placeholders)


== Documentation (File Formats) ==
Documentation (File Formats):
* http://mk8.tockdom.com/wiki/
* http://mk8.tockdom.com/wiki/
* https://wiki.oatmealdome.me/Category:File_formats
* https://wiki.oatmealdome.me/Category:File_formats
Line 143: Line 168:
* http://Avsys.xyz/wiki/Category:File_Formats
* http://Avsys.xyz/wiki/Category:File_Formats


== Libraries ==
Libraries:
* [https://github.com/Sage-of-Mirrors/SuperBMD SuperBMDLib]
* [https://github.com/Sage-of-Mirrors/SuperBMD SuperBMDLib]
* [https://github.com/libertyernie/brawltools BrawlLib (for BRRES section conversion)]
* [https://github.com/libertyernie/brawltools BrawlLib (for BRRES section conversion)]
Line 164: Line 189:
* [https://github.com/Ryujinx/Ryujinx/blob/b2b736abc2569ab5d8199da666aef8d8394844a0/Ryujinx.Graphics/Graphics3d/Texture/AstcDecoder.cs ASTC Decoder]
* [https://github.com/Ryujinx/Ryujinx/blob/b2b736abc2569ab5d8199da666aef8d8394844a0/Ryujinx.Graphics/Graphics3d/Texture/AstcDecoder.cs ASTC Decoder]


== Helpful Tools ==
Helpful Tools:
* [[Kuriimu 3DS]]
* [[Kuriimu 3DS]]
== Credits ==
* Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc.) for some code ported over, specifically animation stuff, ETC1 encoder and some rendering.
* Ploaj for a base on the DAE writer.
* Assimp devs for their massive asset library!
* Wexos (helped figure out a few things, i.e. 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 SPICA library (used for BCH), 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. Library for Yaz0 made by AboodXD and helped port it to the tool.
* MelonSpeedruns for Switch Toolbox logo.
* BrawlBox team for brawl libraries 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.
* Ac_K for ASTC decoder c# port from Ryujinx.
* pkNX and kwsch for Fnv hashing and useful pkmn code/structure references.
* Dragonation for useful code on the structure for some flatbuffers in pokemon switch
* mvit and Rei for help with gfpak hash strings and also research for formats.
* QuickBMS for some compression code ported (LZ77 WII)


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/wip-sword-and-shield-pokemon-models-and-textures.552281/
* GitHub - https://github.com/KillzXGaming/Switch-Toolbox
* Github - https://github.com/KillzXGaming/Switch-Toolbox
* Sword and Shield Pokemon Models and Textures List - https://gbatemp.net/threads/wip-sword-and-shield-pokemon-models-and-textures.552281/
* Discord - https://discord.gg/eyvGXWP
* Discord - https://discord.gg/eyvGXWP

Latest revision as of 11:35, 19 October 2024

Switch Toolbox
Switchtoolbox.png
General
AuthorKillzXGaming
TypeHack Utilities
Version1.0.2737
LicenseGPL-3.0
Last Updated2024/10/18
Links
Download
Website
Source
Support Author

Switch-Toolbox is a tool to edit many formats of Nintendo Switch, 3DS and Wii U (experimental).

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 animations 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
    • BFLYT
    • BFLAN
    • NUTEXB
    • XTX
    • GTX
    • SARC
    • BARS
    • KCL
    • BFLIM
    • GFPAK
    • BEA
    • AAMP (Switch, 3DS and Wii U)
    • BYAML/BYML (Switch, 3DS and Wii U)
    • PTCL (Switch, 3DS and Wii U)
    • 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. Editing will be implemented 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)

User guide

Download the latest build on the release page.

If this program does not open, make sure to unblock the zip file then extract.

You also need to install the following:

These are required for most texture viewing as it is the main library to decompress/compress these back.

For tutorial please see the Wiki.

Screenshots

switchtoolbox2.png

switchtoolbox3.gif

switchtoolbox4.gif

Media

New Horizons Modding - The Basics (inconsistent)

Switch Toolbox Tutorial | Part 0 : Installing Switch Toolbox (Ximension)

Switch Toolbox Tutorial | Part 1 : Opening levels and basic features (Ximension)

Switch Toolbox Tutorial | Part 2 : Location of the files to edit (Ximension)

Switch Toolbox Tutorial | Part 3 : Changing of textures (Ximension)

Switch Toolbox Tutorial | Part 4 : Replacement of Rigged Models (Ximension)

Credits

  • Smash Forge Devs (SMG, Ploaj, jam1garner, smb123w64gb, etc.) for some code ported over, specifically animation stuff, ETC1 encoder and some rendering.
  • Ploaj for a base on the DAE writer.
  • Assimp devs for their massive asset library!
  • Wexos (helped figure out a few things, i.e. 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 SPICA library (used for BCH), 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. Library for Yaz0 made by AboodXD and helped port it to the tool.
  • MelonSpeedruns for Switch Toolbox logo.
  • BrawlBox team for brawl libraries 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.
  • Ac_K for ASTC decoder c# port from Ryujinx.
  • pkNX and kwsch for Fnv hashing and useful pkmn code/structure references.
  • Dragonation for useful code on the structure for some flatbuffers in pokemon Switch.
  • mvit and Rei for help with gfpak hash strings and also research for formats.
  • QuickBMS for some compression code ported (LZ77 WII).

Resources:

Documentation (File Formats):

Libraries:

Helpful Tools:

External links

Advertising: