WareHouse — The Revolutionary NintendoWare Tool

Overview
Over the last few years, there has been an abundant lack of tools when it comes to the NintendoWare library. This library contains many ways to customize a game, such as effects, sounds, models, and layouts that are drawn to the screen. So, about three months ago I decided that I would make an attempt to finally make a tool that allows for easy editing of all four asset types for every platform that uses NintendoWare, such as the Wii, 3DS, WiiU, and Switch.

Introducing WareHouse

With a lot of planning, WareHouse was born. The goal with WareHouse is to make editing all four components of NintendoWare as easy as possible, while also maintaining support for all of the features that come with NintendoWare. There is still much more to go, but here is a basic progress tracker on what is currently supported on each platform:
Platform Layout Editing Effect Editing Model Editing Sound Editing
Wii Yes No Yes Yes
3DS Yes No No No
WiiU Yes No No No
Switch No No No No
As you can probably tell, there is still much more to go. However, it has been fun being able to dwell into the formats as I have personally never worked with effect / sounds before. I really hope that every console is as fun as Wii was to figure out.

Platform Support

I am glad to announce that WareHouse currently supports every major platform currently (and I plan ton continue the support as the program grows and supports more formats), which includes Windows, macOS, and Linux. The program itself uses C# as the main language and the UI is designed using ImGui. The rendering used for layouts and models uses OpenGL.

Game Support

This is one of the more tricky parts about supporting all four consoles. Each game has its own use for userdata, or data embedded in NintendoWare files that define behaviors. I am proud to say that WareHouse will have specific "plugins" that will define support for specific games, that users can submit which will make editing these files even easier!

Screenshots

Currently, I do not have any screenshots available as the UI is still in very early stages of development as more focus was placed onto getting the formats properly loading and saving before shifting focus onto the UI side of things. I will post screenshots of the UI when I feel it is up to standards that I am willing to share!

Release Timeframe

WareHouse has a lot of parts circulating around it. So, it is very important that each platform gets its own special treatment to ensure that all formats are in good working order so they are properly released with the minimum amount of bugs possible. So because of this, each platform will be released on a specific schedule that allows time to prep each one ready for a main release. The PLANNED schedule is as follows:
  • Wii: February-March 2024
  • 3DS: May-June 2024
  • WiiU: July-August 2024
  • Switch: September-October 2024

NintendoWare Decompilation

I am also proud to announce that I will be decompiling NintendoWare and its components that I base my documentation on! Stay tuned for more information on this one! Petari, the Super Mario Galaxy 1 decompilation already has a good portion of NintendoWare decompiled. However, SMG1 lacks nw4r::ef, nw4r::g3d, and nw4r::snd, so it will be in its own repository seperate from the SMG1 decompilation. The same will apply to the other platforms.

Closing Thoughts

I hope everyone looks foward to the eventual release of the tool. This has been a massive undertaking and I have learned a lot about sounds, effects, models, and even more that I have not dwelled into before. I do hope that this tool will make modding more excessive and make the communities grow. More information will be released in 2024, so stay tuned!!
© 2019-2023 shibboleet