• Stars
    star
    751
  • Rank 60,090 (Top 2 %)
  • Language
    C#
  • License
    GNU General Publi...
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool to edit many video game file formats

Switch-Toolbox

A tool to edit many formats of Nintendo Switch, 3DS and Wii U.

Download

https://github.com/KillzXGaming/Switch-Toolbox/releases

Keep in mind this tool is still very experimental. If something breaks from a commit, you can download manually from here. Just select a commit, go to artifacts tab and download the zip. Also be sure to report anything that breaks to issues here on github.

Discord

https://discord.gg/eyvGXWP

Support

If you'd like to support me, you can donate!

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 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)

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 solution (.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 used are stored in Switch-Toolbox/Lib folder.

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

License in Switch_Toolbox\Lib\Licenses

Please note if you do not want your library used or if i'm missing credits!

More Repositories

1

Cafe-Shader-Studio

A program to preview various materials and shaders in games.
C#
43
star
2

BFRES-Viewer

A tool to view Switch BFRES models, animations, and textures.
C#
43
star
3

BfresLibrary

A reworked version of NintenTools.Bfres with Wii U and Switch support and many various improvements/features.
C#
17
star
4

Toolbox.Reborn

A rewrite of Switch Toolbox using new and improved code. This is very wip and will NOT replace the existing STB yet.
C#
14
star
5

BEA-Library-Editor

A libary aimed to rebuild, add, and remove files in a bezel engine archive file (.bea)
C#
11
star
6

KCollisionLibrary

A library for reading and editing .kcl collision file binaries used by various games.
C#
11
star
7

BfresPlatformConverter

An automatic bfres converter to convert between Wii U and Switch platforms.
C#
9
star
8

io_scene_bfres

Blender add-on for importing Nintendo BFRES models.
Python
7
star
9

BcmdlImporter

A tool to import .dae, fbx, obj into .bcmdl without any external libraries or toolkits.
C#
7
star
10

MK8-Baking-Tool

A bake tool to make gsys bake maps easier to replicate for games like MK8
Python
5
star
11

Mario-Kart-8-Blender-Path-XML-Exporter

This is a tool for exporting path data into a convertable XML format for yamlconv. Supporting custom objects and many more features soon!
Python
5
star
12

LegacySwitchLibraries

Switch file format libraries I use for Switch Toolbox and other programs
C#
5
star
13

010-Templates

A collection of binary templates to understand the structure of various binary formats from video games.
5
star
14

SM3DAllStarsGalaxyConverter

A simple converter to convert SMG1 Wii files to All Stars (using little endian)
C#
5
star
15

NTT-Model-Dumper

A simple .model dump tool used by Lego Star Wars: The Skywalker Saga
C#
5
star
16

BFRES-Model-Importer

Python
4
star
17

MdlConverter

A converter for LM's .mdl format.
C#
4
star
18

ELink-Converter

A converter for ELink file binaries.
C#
4
star
19

Toolbox.Core

An overhaul on the current toolbox backend with many improvements.
C#
4
star
20

XLinkLibrary

A library for reading and eventually editing/writing XLink files.
C#
3
star
21

NextLevelLibrary

A library for NLG file formats. Specifically LM2 and LM3.
C#
3
star
22

BinaryShaderLibrary

C#
3
star
23

TextureConverter

A simple texture converting tool using Toolbox.Core and it's plugin system.
C#
3
star
24

MPLibrary

A Mario Party Library
C#
3
star
25

SourceToBinaryCMD

A command line interface that is usable with dot net standard to generate many binary formats from human readable formats.
C#
3
star
26

Party-Studio

A Mario Party board editor.
2
star
27

NLG_Research

2
star
28

MKLHCLibrary

C#
2
star
29

LM_Research

2
star
30

Smush-Research

2
star
31

BOTW-Research

2
star
32

CollisionSceneBinary

A library and tool for handling csb and ctb collision files found in paper mario games.
C#
2
star
33

3dsTools

A CLI tool to convert certain formats supported by SPICA library.
1
star
34

Track-Studio

A map editor for racing games.
1
star
35

GFLibrary

1
star
36

UpdaterTool

A simple CLI to update an application.
1
star
37

MK8-MK8D-Research.-

1
star
38

TPHDConverter

A converter to convert TPHD files from TPSD.
C#
1
star
39

MK8-Parts-Bin-Converter

A converter which serializes parts.bin into json and back. Can be used to patch in part edits.
C#
1
star
40

ACNH_Research

1
star
41

AampLibrary

A library to edit v1 and v2 AAMP
C#
1
star
42

Byaml-Tool

A simple byaml tool which currently just converts endianness using Syroot's Byaml Library
C#
1
star
43

AglLightProbeTool

A tool for handling AGL lighting probe files (bglpbd)
C#
1
star
44

FF16Converter

Tools for converting FF16 file formats like textures (.tex) and subtiles (.pzd)
1
star