Giter Club home page Giter Club logo

switch-toolbox's Introduction

Switch-Toolbox

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

Notice

This tool is now archived and no longer in development!

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.

Also, while compiling, Visual Studio might throw errors about files coming from external sources (ie. the web) and will therefore fail to read and compile them. In this event, go into the project root folder and run: Get-ChildItem -Path "C:\\Full\\Path\\To\\Folder" -Recurse | Unblock-File.

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!

switch-toolbox's People

Contributors

aboood40091 avatar actualmandm avatar blueskythlikesclouds avatar cosmicdreamsofcode avatar cvfiredragon avatar danielsvoboda avatar epicusername12 avatar firubii avatar fusseldieb avatar hellooo7 avatar jenrikku avatar killzxgaming avatar lockeexile avatar mcspazzy avatar mctrollin avatar mediamoots avatar melonspeedruns avatar michaelhinrichs avatar migushthe2nd avatar nznaza avatar oatmealdome avatar ocelotgamingdev avatar oliegamertv avatar pablomk7 avatar panquesito7 avatar reisyukaku avatar scanmountgoat avatar shukenmg avatar terasol avatar xnqdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

switch-toolbox's Issues

CameraAnims are not serialized properly

Serializing a ResFile with a CameraAnim causes the application to crash in nn::g3d::ResCameraAnim::Initialize, as the provided nn::g3d::CameraAnimResult pointer is invalid.

In addition, ResFile.PreSave() does not add any of the CameraAnims, LightAnims, FogAnims, or UserData to their respective ResDicts in SceneAnim. However, this does not appear to cause the above issue?

(How exactly do you approach a serialization issue when trying to debug it...? There isn't really a 'proper' debugger on the Switch as of right now, so I'm not sure where to even start troubleshooting.)

.NET 4.2 - Solved

I have VS2017 and .NET frmw 4.2 and when i tried to build the solution for the first time i was getting errors.

I solved it by placing the tag "SpecificVersion" with "true" at the XML headers of every project that has dependencies into the solutions and it solved it.

Just thought i should share!

Issues with BNTX with more than one array level

It looks like this tool has some issues if BNTX/BFTEX contains more than one array layer.
It can't export properly to DDS (exported file shows nothing, importing it crashes app)

Importing different file than bftex changes structure of file.
F.e. before importing
image

After Replace with png, the same format, Image Dimension Dim2D or Dim2DArray (doesn't matter)
image
But textures datas in hex are the good (tested on Dim2DArray)

And it deletes other array layers except this imported one and can't export anything more than first array layer to image format.

Extract BNTX in tools does nothing.

Sheet0.zip

Unable to replace Material

I exported a material from one BFRES to use with another. Whenever I right-click one of a model's materials and choose "Replace" using my previously exported material, I get the following error:
Syroot.NintenTools.Bfres.ResException: Invalid signature, expected 'FMAT' but got '

Importing a new material, however, works fine.

Some Bugs

  • Can't zoom out enough to see entire model
  • Can't clear workspace
  • Crashes game when editing textures in it

saved bfres doesn't work properly

now that the bfres can be saved it doesn't work. when opened with wexos toolbox:
image
when opened with super mario 3d world (cemu):
image

am i doing something wrong or doesn't it support wii u bfres saving?

Crash when saving Wind Waker HD bfres models

I know WWHD models are a bit different than the ones that have been in focus for the majority of time, but I was wanting to share that as of today using the "save" buttons causes a crash when trying to using models from Wind Waker HD.

Opening Wii U BFRES causes an error

I've tried Callie and Marie's Wii U BFRES models and both result in the same error.

2018-12-01_23-35-24

************** Exception Text **************
System.ArgumentException: Source array was not long enough. Check srcIndex and length, and the array's lower bounds.
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at FirstPlugin.GTX.Decode(GX2Surface tex) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\Texture\GTX.cs:line 490
   at FirstPlugin.FTEX.Read(Texture tex) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\Texture\FTEX.cs:line 192
   at Bfres.Structs.ResourceFile.AddFTEXTextures(ResFile resFile) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\BFRES\Bfres Structs\ResourceFile.cs:line 281
   at Bfres.Structs.ResourceFile.Load(ResFile res) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\BFRES\Bfres Structs\ResourceFile.cs:line 127
   at FirstPlugin.BFRESRender.LoadFile(ResFile resFileU) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\GL\BFRES_Render.cs:line 53
   at FirstPlugin.BFRES.Load() in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\BFRES.cs:line 120
   at FirstPlugin.SARC.OpenFile(String FileName, Byte[] data, SarcEntry sarcEntry, Boolean Compressed, CompressionType CompType) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\SARC.cs:line 406
   at FirstPlugin.SARC.SarcEntry.OnDoubleMouseClick(TreeView treeView) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox - Copy\Switch_FileFormatsMain\FileFormats\SARC.cs:line 256
   at Switch_Toolbox.Library.ObjectList.treeView1_MouseDoubleClick(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseDoubleClick(MouseEventArgs e)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Npc_Idol.zip

Unhandled Exception when Opening Wii U BARS

Opening any Wii U BOTW BARS file brings up an error. Are Wii U BARS supported yet?

************** Exception Text **************
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
at System.IO.BinaryReader.ReadUInt32()
at Syroot.BinaryData.BinaryDataReader.ReadUInt32()
at Syroot.BinaryData.BinaryDataReader.ReadMultiple[T](Int32 count, Func`1 readFunc)
at Syroot.BinaryData.BinaryDataReader.ReadUInt32s(Int32 count)
at BarsLib.BARS.BarsLib.IO.IFileData.Load(FileLoader loader)
at BarsLib.BARS..ctor(Stream stream)
at FirstPlugin.BARS.Load() in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox-38ceb8d7163902ecb569774ab4db327a194d6f99\Switch_FileFormatsMain\FileFormats\BARS.cs:line 169
at Switch_Toolbox.MainForm.OpenFile(String FileName, Byte[] data, Boolean Compressed, CompressionType CompType) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox-38ceb8d7163902ecb569774ab4db327a194d6f99\Switch_Toolbox\MainForm.cs:line 349
at Switch_Toolbox.MainForm.openToolStripMenuItem_Click(Object sender, EventArgs e) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox-38ceb8d7163902ecb569774ab4db327a194d6f99\Switch_Toolbox\MainForm.cs:line 447
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

DirectXTexNetImpl missing when zip is extracted on PC.

crash: System.TypeInitializationException: Der Typeninitialisierer für "DirectXTexNet.TexHelper" hat eine Ausnahme verursacht. ---> System.IO.FileNotFoundException: Die Datei oder Assembly "DirectXTexNetImpl.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Das angegebene Modul wurde nicht gefunden.
bei System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
bei System.Reflection.Assembly.LoadFile(String path)
bei DirectXTexNet.TexHelper..cctor() in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\DirectXTexNet-master\DirectXTexNet\DirectXTexNet.cs:Zeile 1126.
--- Ende der internen Ausnahmestapelüberwachung ---
bei Switch_Toolbox.Library.DDSCompressor.DecompressBlock(Byte[] data, Int32 width, Int32 height, DXGI_FORMAT format)
bei Switch_Toolbox.Library.STGenericTexture.DecodeBlock(Byte[] data, UInt32 Width, UInt32 Height, TEX_FORMAT Format)
bei Switch_Toolbox.Library.STGenericTexture.GetBitmap(Int32 ArrayLevel, Int32 MipLevel)

Wii U BFRES Animation Export error

Hi, I wanted to extract some bfska files from Wii U BFRES but everytime I try to extract an animation, i got an error.
image

Ik the error its in spanish

The unknown offset in the GFPAK format

The unknown offset in the GFPAK is the folder hash index offset, including the first hash index offset, all are folder hash index offsets.

So the length of the header is varying according to the number of the folders stored in the gfpak file. Most of the gfpak file has 3 folders, so there are three hash index offset (one is used in the code, the other twos are regarded as unknown offset)

The data structure referenced by the folder index offset is similar to the file hash index, except the index data is the count of files in that folder, not the file index in the contents below.

nutexb texture replace error

i've downloaded your switch toolbox 8.4BETA and there is a problem. Every time i want to replace the nutexb file with my custom texture i get an "Unhandled exception occurred" error message and at the bottom it says "Not finished yet!. can you please help me solve this issue. I've downloaded your other toolbox versions and every time i build it with visual studio i get a lot of errors. Please help me.

Unable to Import/Replace Skeleton

When exporting a .bfskl from one model and replacing with it in another, nothing appears to happen. Same thing happens when you use Replace on the Model itself with a FBX or DAE-- the old skeleton seems to be retained still. Clearing all bones also does not appear to be permanent (despite the warning).

Tested with the following files:
Link.bfskl (exported from TitleBG.pack/Model/Link.bfres)
Npc_Zora_Hero.bfres (from Content/Model/)

Fix exporting models.

I must be doing something wrong, though assimp bugs out when exporting models. Need to look more into this.

GL renderer Improvements

  • - Use bounding data to center camera
  • - Increase camera pan speed
  • - Allow multiple drawables. (May be similar to brawlbox with a preview window for multiple)
  • - Improve camera walk mode. (Could rotate nicer, move quicker, etc)
  • - Add expanded shader library (Without experimental SF Graphics)

Unable to open certain BFRES files

I tried to open the BFRES for a stage model from Splatoon 2 and got this error: http://prntscr.com/m6o2sf

I've opened several of the game's BFRES files in the past (including other stage models) with no issue at all. Seems strange that this one causes an issue. For reference, I tried to open the stage model for Blackbelly Skate park (both versions). I can link to the BFRES files if necessary.

Apart from viewing, it doesnt let you do anything

I just realised after a week that importing edited files and saving gfpak doesnt really do anything.
When you load the edited file, it still shows the original texture.

And loading the gfpak just flatout crashes the game...

Collission

Collission does display but does not work in odyssey import

Crashes when viewing a SSBU texture

So I want to get into SSBU modding but every time I try a view the texture so I can extract it, the program gives me this error capture and then proceeds to crash, anyway I can fix. FYI I have Direct X 9 installed.

Erro import .arc files

The .arc files are being extracted correctly, however, when we will import, even keeping standards of size and width, the game does not accept the modified files.

Issue with NokonokoNpc.bfres

I tried to rip the model file NokonokoNpc.bfres, found inside NokonokoNpc.szs in the ObjectData folder in Super Mario Odyssey, but for some reason not all the bones get exported properly:
Capture97

I built the latest commit (as of 9 April 2019) in Visual Studio, and exported to DAE using that.

Imported Materials/Objects have no name

When importing a new material or object for a model, the name is blank by default. In the case of materials, changing the Name field on the right pane does not update the name.

Right clicking the material or object and choosing Rename still works in both cases though.

Exporting models from BFRES appears not to work

When I try to export models found in .BFRES files for Splatoon 2, the output generated never appears to be valid.

Exporting to .obj results in a file that doesn't contain any model data whatsoever.
Exporting to .dae looks like valid when opened in Notepad++, but when opened in 3D modeling/viewing software, various generic errors are thrown (no details are given) or the program ends up not loading anything at all (importing into Unity3D did this).
Exporting to .fbx just generates another .dae file with the same problems
Exporting to .csv gives this error http://prntscr.com/lxm9js and no file is created

Optimize tree handling

Currently certain nodes can have a delay when clicked on. This needs to have slow methods/functions on another thread.

Add DDS compression methods.

Currently only DDS importing works. Will either add a DDS library (need ideas) or add my own compression methods for converting bitmaps to DDS.

Needed formats

BC1
BC2
BC3
BC4
BC5
BC6
BC7

3D World stage Byml crashes from too many reference nodes.

i tried unpacking the level files and opening the byml but then switch toolbox crashed. this happens every time i open level byml files but works fine with some other level files. the same thing happens for 4th dimension 3d land level editor's byml editor and odyssey level editor's byml editor. can you help pls?

Thanks in advance!

GX2 textures break with using multiple array levels.

Crashes differ on the version. With v0.8.91 you can view the textures but not properly (I think) and can't view other mipmap layers, but commit de72038 you can't view any textures. In an in-between build that I don't have anymore (can older experimental releases be found anywhere?) you can seemingly view them properly but can't view other mipmap layers.

Here is an example file: https://drive.google.com/file/d/1vJABR6ckqYaUgn_BFzoi6sZKYjW6OTBP/view?usp=sharing

DAE/FBX Exporting results in

Whenever I try to export a DAE or FBX of a model I opened as a BFRES, I get an IndexOutOfRange exception.

Steps:

  1. Open a BFRES file (I tried Doshi.bfres from Super Mario Odyssey, but it seems to happen with other models from SMO too)
  2. Open the "Models" folder in the tree
  3. Right click the model (should have a cube next to it) and select "Export". Save as whatever.
  4. ERROR
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Switch_Toolbox.Library.AssimpData.SaveFromModel(STGenericModel model, String FileName, STSkeleton skeleton, List`1 NodeArray)
   at Bfres.Structs.FMDL.Export(Object sender, EventArgs args) in C:\Users\Nathan\Documents\GitHub\Switch_Toolbox\Switch-Toolbox-38ceb8d7163902ecb569774ab4db327a194d6f99\Switch_FileFormatsMain\FileFormats\BFRES\Bfres Structs\FMDL.cs:line 457
   at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.MenuItem.MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Command.DispatchID(Int32 id)
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Switch_Toolbox
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/Switch_Toolbox.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Switch_Toolbox.Library
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Switch_Toolbox.Library.DLL
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
WeifenLuo.WinFormsUI.Docking
    Assembly Version: 3.0.4.0
    Win32 Version: 3.0.4.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
WeifenLuo.WinFormsUI.Docking.ThemeVS2015
    Assembly Version: 3.0.4.0
    Win32 Version: 3.0.4.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.DLL
----------------------------------------
System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
GL_Core
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/GL_Core.DLL
----------------------------------------
FirstPlugin.Plg
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/Lib/Plugins/FirstPlugin.Plg.dll
----------------------------------------
Syroot.NintenTools.NSW.Bfres
    Assembly Version: 1.2.3.0
    Win32 Version: 1.2.3.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Syroot.NintenTools.NSW.Bfres.DLL
----------------------------------------
Syroot.Maths
    Assembly Version: 1.5.0.0
    Win32 Version: 1.5.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Syroot.Maths.DLL
----------------------------------------
OpenTK
    Assembly Version: 3.0.1.0
    Win32 Version: 3.0.1
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/OpenTK.DLL
----------------------------------------
Syroot.NintenTools.Bfres
    Assembly Version: 1.2.3.0
    Win32 Version: 1.2.3.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Syroot.NintenTools.Bfres.DLL
----------------------------------------
Syroot.NintenTools.NSW.Bntx
    Assembly Version: 1.2.3.0
    Win32 Version: 1.2.3.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Syroot.NintenTools.NSW.Bntx.DLL
----------------------------------------
BarsLibrary
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/BarsLibrary.DLL
----------------------------------------
OpenTK.GLControl
    Assembly Version: 3.0.1.0
    Win32 Version: 3.0.1
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/OpenTK.GLControl.DLL
----------------------------------------
Octokit
    Assembly Version: 0.31.0.0
    Win32 Version: 0.31.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/Octokit.DLL
----------------------------------------
System.Net.Http
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
SFGraphics
    Assembly Version: 1.0.6842.8428
    Win32 Version: 1.0.6842.8428
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/SFGraphics.DLL
----------------------------------------
Syroot.BinaryData
    Assembly Version: 2.0.1.0
    Win32 Version: 2.0.1.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/Syroot.BinaryData.DLL
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
SARCExt
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/SARCExt.DLL
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3056.0 built by: NET472REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
AssimpNet
    Assembly Version: 4.1.0.0
    Win32 Version: 4.1.0
    CodeBase: file:///C:/Users/jacob/Desktop/Gaming/WiiU+Switch/Modding/SuperMarioOdyssey/Files/Tools/SwitchToolbox/lib/AssimpNet.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Importing models breaks weights

BOTW Wii U Version

Importing any file type besides .bfmdl leads the imported model being assigned a weight of 1 on the Root bone. Other weights still show as existing on child bones, however they seem to be overwritten by the Root and T-Pose in game.

Unable to export Skeleton

This occurs for me so far with new/edited models.
Right clicking the Skeleton of a Model and choosing "Export Skeleton" results in the following error:
System.NullReferenceException: Object reference not set to an instance of an object. at Bfres.Structs.FSKL.fsklNode.Export(String FileName) in C:\Users\Nathan\Documents\GitHub\SwitchToolboxV1\Switch_FileFormatsMain\FileFormats\BFRES\Bfres Structs\SubFiles\FMDL\FSKL.cs:line 120 at Switch_Toolbox.Library.NodeWrappers.STGenericWrapper.ExportAction(Object sender, EventArgs e) in C:\Users\Nathan\Documents\GitHub\SwitchToolboxV1\Switch_Toolbox_Library\Generics\STGenericWrapper.cs:line 206 at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Importing DAE/FBX results in misaligned weights

Importing a DAE/FBX file results in misaligned weights. This happens simply by exporting as DAE then immediately importing it back into the Toolbox. Saving and exporting through MAX or Blender generates similar results.

broken-weights

Also Imported DAE files in Blender seems to remove certain bones and mislabel remaining ones (ie "Head" bone is renamed as "Chin" bone in Blender). Max does not have this issue though does give warning about "null" bones. Exporting from Max as a DAE in ASCII imports fine into Blender.

How to extract bntx from bffnt?

I'm trying to use the newest version to extract bntx file from Zelda BOTW bffnt file.
When i try to just open it, it shows nothing. Extract BNTX - nothing.
Old version shows for two seconds in task manager and disappears. Even with runned as admin.
Am I doing something wrong?

Windows 10 Pro x64 1809. .NET Framework 4.6.2 installed.
Old version unpacked after unlocking.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.