Kami Modpack Builder for Super Smash Bros. for Wii U

Discussion in 'Wii U - Hacking & Backup Loaders' started by Saiyan197, Nov 8, 2018.

  1. Saiyan197

    Saiyan197 Newbie

    Jul 14, 2018
    United States
    I've been working on this for a long time, and using it for my own personal mod pack, and I'm finally ready to share it with the community.

    Smash Bros. for Wii U mod pack creation made simple! I'm planning to support Smash Bros. Ultimate as well (I haven't looked much into the differences for Switch modding yet, so hopefully!)
    I know we're pretty much at the end of Wii U's life, but I hope that this can become a standard when Ultimate releases.

    (I'm new to the site so I can't post hyperlinks yet apparently. If you want to look, you have to fix the links in the meantime )

    Download: github(dot com)/Saiyan197/Kami-Modpack-Builder/releases/latest
    Source: github(dot com)/Saiyan197/Kami-Modpack-Builder
    Current version is: 0.3.1

    Kami Modpack Builder is a (sort-of) fork of Sm4shExplorer made by deinonychus71, built to heavily expand its functionality, and to improve the efficiency of mod pack creation.

    Kami can support it's own database of imported mods for Character Skins, Stages, etc. Mods can be enabled and disabled on the fly, skins can be moved around and have appropriate database files be fixed automatically. It keeps track of which mods are enabled to rebuild the patch file and pack folders appropriately. The explorer view of Sm4sh Explorer is also supported, but does not allow for much dynamic functionality aside from extraction. Mods can be added through the Explorer view as well, but cannot be toggled on/off.

    • Supports multiple projects. Each project can point to it's own folders for the source game files, workspace, extract, and export folders.
    • KamiMod common mod setup system
      • Supports character skins, general character mods (not pertaining to individual slots), stage mods, and misc mods.
      • Can be enabled, disabled, renamed, support adding notes, credits.
      • Adding Kamimods is a simple as dragging and dropping into the mod list. No additional setup is required to make the mod fully function, other than turning it on.
    • Import folders and zip files to convert them into KamiMods by drag-dropping into the mod list.
    • Automatic TextureID Fixing of character skins
    • Automatic String Database Building for character skin names
    • Automatic MTB Fixing for skin voice and sound packs
    • Built-in Sm4shMusic support to manage the list of musics and assign them to different stages (use vgmstream from kode54)
    • Portrait and Nameplate previewing
    • Native Sm4shExplorer functionality
      • It will let you see the whole filesystem of Smash (main data + regions) in a treeview using DTLSExtractor from Sammi-Husky. The treeview will show the updated version of the game (core files in black + patch files in blue)
      • Give you a few informations about any file (name, path, size, flags, source...)
      • Extract any file/folder to a specific "extract" folder
      • Replace/Add files. If a file is modified/added in a packed file, the whole packed file will be rebuilt automatically during export. A modified "mod file will appear in green.
      • For region folders, "unlocalize" a folder or a file so that the game loads the unlocalized (english) file instead.
      • Let you "remove" original resources from the game (experimental, works on stage models)
      • Repack files and rebuild resources and patchlist into a specific "export" folder.
    Planned Features
    • Portrait previewing and automatic packing from .PNGs
    • Help text to be littered around the application
    • Option to allow for more skins per slot (Most are arbitrarily set to 16 for now. Having too many skins can affect game performance, this is why I set it to 16 initially)
    • Build progress bar
    • Other possible suggestions

    Usage requirements are similar to Sm4shExplorer's requirements.
    You will need a dump of your Smash Bros. for Wii U or Ultimate game, as well as the files for the latest game patch saved in the same folder somewhere on your PC.

    How To Use

    Initial Setup
    1. Download the application from the provided download link, and choose the latest release (unless I screwed something up, in which case choose the latest version you want)
    2. Extract the Zip wherever you want on your PC. Optionally make a shortcut to the main application executable (The one with the nice icon humblebrag)
    3. Run the application
    4. It will ask you for the location of your Smash Bros game files first. Point it to the dump of the game files you have on your PC. The folder you select must contain the folder "content" within it. For example, if your game files are in Smash/vol/content, you will select the "vol" folder.
    5. Now it will ask you to create a new project. I recommend making a new folder somewhere, then saving the project file within that folder.
    6. Verify that your game language and version are correct and hit confirm. If they aren't, scream.

    Using the Program

    The application has several main tabs you can use. I'll go through them here.

    Character Mods
    • Fighter Dropdown
      • Use it to select which fighter you are currently working on.
      • Any mods imported will be added as a mod for whichever character is selected here.
    • TextureID Fix Slots
      • Will check each active mod and change the Texture IDs of any conflicting mods.
      • Also happens automatically before a build if the setting is on (on by default)
    • Check Mods for Errors
      • Will do some simple checks on the mod files to see if there are any problems such as mismatched Texture IDs, duplicate TextureIDs, and missing model files.
      • NOTE: Character Slot Mods should have all required files (such as .mta, .vbn). Kami does not automatically add those when they are missing, and does not check if they are missing either (yet). If a Character Slot Mod is missing those files, the mod won't work on an added slot.
    • Import Slot Mod
      • Imports a Character Slot Mod(s).
      • You can also do this by dragging a single folder or .zip file onto the "Inactive Slot Mods" portion of the window.
      • A Character Slot Mod is a mod which inhabits only a single fighter skin slot. Mods which affect things on multiple slots should be imported as Character General Mods.
      • Mods which are already configured as KamiMods will be imported automatically without any more input from you.
      • Mods which are not configured as KamiMods will pop up the Character Slot Mod Import Window.
      • More details on Slot Mod importing below.
    • Import General Mod
      • Imports a Character General Mod(s).
      • You can also do this by dragging a single folder or .zip file onto the "Inactive General Character Mods" portion of the window.
      • A Character General Mod is a mod which affects things about a fighter that persist across all skin slots, such as singleton models, moveset data, etc.
      • Mods which are already configured as KamiMods will be imported automatically without any more input from you.
      • Mods which are not configured as KamiMods will pop up a window to name the mod.
      • A single drag-drop or import that isn't a KamiMod will generate a single Character General Mod.
    • Delete Mod
      • Deletes the currently highlighted mod. Deletes files as well, use with caution.
    • Properties
      • Opens the properties window for the selected mod.
      • Can also be opened by double-clicking the mod in the list.
      • More details on Mod Properties below.
    • Mod Lists
      • Broken up into 4 sections. Divided by Slot/General Mods, and by Active/Inactive.
      • Slot Mods are mods which affect a single skin slot for the fighter.
      • General Mods are mods which affect all skin slots for the fighter.
      • Active Mods are currently turned on.
      • Use the arrows to activate/deactivate the mods and change which slot the mods are on.
      • Default Slots are blank slots. A mod being placed over a default slot will cause that default skin to disappear.
      • A mod can be moved from a default slot to a new slot by clicking the Double Down Arrow button.
      • Character Slot Mods (and stage mods) will show icons on them in the list.
        • A red portrait icon will show if the mod doesn't have portrait data, or if it is missing it's Custom Name or Boxing Ring Text (if Use Custom Name is enabled on the mod)
        • A green ?-block (Metal Box) icon will show if it is unknown if it has a working Metal Model. This is marked in the properties by YOU (or the mod maker). Builds can include/exclude Non-Metal-Model-Safe mods.
        • A red !-block icon (Metal Box) will show if the Metal Model is known to have errors or crashes. Similar as above, this is marked by YOU (or the mod maker).
        • A blue speaker icon will show if the mod has a Soundpack or Voicepack.
        • A blue sign/name-tag icon will show if the mod is set to Use Custom Name. This makes the mod use it's custom nameplate and text in battles.
        • A red signal icon will show if the mod has been marked by YOU (or the mod maker) as Non-Wifi-Safe. It can be marked safe/unsafe in the properties. Builds can include/exclude Non-Wifi-Safe mods.
        • A red !-circle icon will show if the mod is missing. If the folder got renamed or deleted but the mod was still activated, you should deactivate it and reactivate it using the Arrow Buttons.
    Character Slot Mod Importing

    When importing a character slot mod that isn't a KamiMod, you will be presented with an Import Window. Multiple skins can be added at a time with a single import. Each column slot represents a skin mod that will be added. If you only want to add a single skin with the import, make sure there is only 1 column. You can Add and Remove the column slots using the buttons on the bottom.

    Each Slot has several details which you should confirm are correct. Because mod files can be structured in any feasable way, you must select which component corresponds to which slot. MAKE SURE EVERYTHING IS CORRECT BEFORE CONFIRMING.
    • Mod Name
      • Type the name for each specific skin here. Each needs to be unique.
      • If including a nameplate, it will also use this for the Custom Name (used in-game) by default. Don't worry about including notes and such though, you can change the in-game name in the mod properties after import.
    • Model Components
      • This will pull every model.nut directory found in the import and display the paths in the dropdown.
      • Each model component should correspond to the correct model. The "body" should point to a "body" model, and if importing multiple slots at once make sure each slot corresponds to the correct one. This will be fairly straight-forward after you get used to it.
      • These are technically optional. Mods which don't overwrite a model will just use the default model the mod is over instead. Don't do this if using the mod on a custom slot though!
    • Portrait Components
      • This will pull all the corresponding portrait files in the import for each type automatically.
      • Make sure if importing multiple slots at once they correspond to the correct ones!
      • Technically optional, though you really should have them.
    • Nameplate (chrn_11)
      • This will pull all found nameplates in the import automatically.
      • Make sure if importing multiple slots at once they correspond to the correct ones!
      • Also make sure that every slot has the nameplate selected if importing multiple slots! It is OK (even preferred) to use the same nameplate file for each! Kami will detect that the Custom Name is the same and only use one!
      • Optional. Nameplates are only used if the skin is using a Custom Name in-game.
    • Sound/Voice Pack
      • Same deal as with the Nameplates. Make sure all slots have the soundpack/voicepack selected, even if they use the same one!
      • Optional. Not including audio packs will result in default audio playing.
    When you are ready to import the skins, click the Confirm button on the bottom.

    Importing Other Mod Types
    • Stage Mods
      • Stage Mods will specifically be for either the Regular variant, or the Omega variant, not both. For a mod that alters both the Regular and Omega variants, you must import it as 2 separate mods.
      • When importing a Stage that isn't a KamiMod, make sure only the Regular folder or only the Omega folder are present. Otherwise it will only choose the one it finds first.
        • I will probably fix this in the future
    • General Mods
      • General Mods follow the same hierarchy as the Explorer, and can affect any file found in it.
      • When importing a General Mod that isn't a KamiMod, Kami will search the import for a root folder such as "data" or "data(en_us)", and preserve the folder structure of the import within that.
      • General Mods have a lower priority than Character and Stage mods.
    Character Slot Mod Properties

    Clicking the Properties button or Double-Clicking the mod in the list will open the properties for that mod.
    • Display Name
      • The name that is shown within Kami. This name does NOT represent the skin in-game.
    • Use Custom Name
      • Toggles whether or not the skin will use it's defined Custom Name, Boxing Ring Text, and Nameplate.
    • Custom Name
      • The name that will be shown on text in-game. Should probably match the text on the nameplate, but it doesn't have to.
    • Boxing Ring Text
      • The text which shows on the screen in the Boxing Ring stage. If you are using a custom name, you should include something here. (I haven't actually tested it being left blank...)
      • Can be up to 2 lines. In-game, the text is squashed to fit all the text on each line into a single line, so don't make each line too long. I would look at the default ones to get an idea on length.
    • TextureID
      • The primary Texture ID that the model has. If you know what Texture IDs are, then this should make sense.
      • The Texture ID of all the models in the mod can be changed to whatever you prefer by typing in your own and clicking the Change Button.
      • Every skin should have a unique Texture ID. There is a button to fix them automatically, and they optionally get fixed before builds, so you don't need to worry about this too much.
    • Wifi-Safe
      • A toggle you can set to mark the mod as Wifi-Safe or not. If you mark it as Non-Wifi-Safe, then you can exclude it from builds automatically when you specify to do a Wifi-Safe build.
    • Metal Model
      • A similar toggle to the Wifi-Safe toggle, but with more options. YOU set it to whatever you think it is.
      • If the Metal Model doesn't look right in-game, mark it to "Errors".
      • If the Metal Model outright crashes the game, mark it as "Crashes".
    • Model Components
      • Lists all the (required) model components that a new skin slot needs to function. Will give a "Yes" or a "No" if this mod has that model present.
      • Low Poly (lxx) models of the body are optional. If one is not found, it will use the regular body instead.
    • Audio
      • Shows if the mod has a Soundpack and Voicepack.
      • One can be imported automatically by clicking the Import Button and navigating to it.
      • It can be deleted from the mod by clicking the Remove Button.
    • Portraits
      • Shows if the mod has the portrait files added.
      • Can be imported from already-packed .nut files.
      • Can be exported to .PNG files.
    • Notes
      • Any notes you want can be added to the Notes section.
      • I personally use it to store a link to the mod and author credits.
    Simply closing the properties window will save the changes.

    Other Mod Type Properties

    Other types of mod properties windows are much simpler, and reuse many of the same things that the Character Slot Mod Properties does. I'll go over the other things here.
    • Stage Data
      • For Stage Mods, the stage that this mod is assigned to.
      • It will specifically be for either the Regular variant, or the Omega variant, not both. For a mod that alters both the Regular and Omega variants, you must import it as 2 separate mods.
      • When importing a Stage that isn't a KamiMod, make sure only the Regular folder or only the Omega folder are present. Otherwise it will only choose the one it finds first.
    Sm4sh Music

    The BGM Management Tag and the My Music tab both belong to Sm4sh Music.

    When one of the tabs is opened, it will load your project's Sm4sh Music setup. (These are files saved in the Workspace Folder of the project, in the "Editor" folder)

    The tabs are identical to Sm4sh Music's. For a tutorial on how to use them, refer to the Sm4sh Music section on the original Sm4shExplorer's page.

    To add songs so that Sm4sh Music can recognize them, add the nus3bank files to the project's Workspace Folder in the BGM folder. Don't forget to copy these files to your SD Card!

    To save the changes, make sure to click the Sm4sh Music tab on the top of the program and choose "Save Changes". That will commit the changes to the files.


    This tab is also almost identical to that of Sm4shExplorer. It can be used to extract the source game files to the project's Extract Folder.

    Mods can also be added through here, but they aren't toggle-able so I don't recommend it.


    When you are ready to try out your mods, open the Project menu in the top left and select "Build". That will open the Build Window.

    Here, you can toggle whether you want to do a Wifi-Safe build, and if you want to exclude mods with problematic Metal Models.
    A Wifi-Safe build will exclude all mods marked Non-Wifi-Safe, and will also exclude any added character slots beyond the defaults.

    When you are ready, click the Build Button and the process will begin. This can take a long time depending on how many mods you have added.

    The log on the bottom of the main window will update with progress, and will tell you when the build has completed.

    The output of the build is placed in the project's Export Folder. Within there, place the "patch" folder on your SD in the correct place and you're ready. That's all you have to do!


    Huge thanks to all the creators and contributors of Sm4shExplorer. Without them, this wouldn't be possible. I have simply stacked functionality on top of the huge codebase that was made by them. Huge thanks to the contributors of Smash Forge as well. If you have contributed to any of the code used in this project and feel I haven't given proper credits/gotten permissions, please contact me. My intention is not to steal, but to improve modpack creation for myself and the community. If you have any suggestions or concerns, let me know as well.
    Last edited by Saiyan197, Nov 26, 2018
    Davidchao23, Lyrin, Dekirai and 2 others like this.
  2. the_randomizer

    the_randomizer The Temp's official fox whisperer

    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    Pretty cool stuff
    Darksabre72 and Saiyan197 like this.
  3. Darksabre72

    Darksabre72 Blue Falcon

    Nov 26, 2016
    United States
    now this is awesome
    Saiyan197 likes this.
  4. Saiyan197

    Saiyan197 Newbie

    Jul 14, 2018
    United States
    Thanks! Apparently I need to make 10 posts before I can post links. If I wasn't such a lurker I would probably have that by now... but oh well. Hopefully it's not much of an issue
  5. Darksabre72

    Darksabre72 Blue Falcon

    Nov 26, 2016
    United States
    you all good dude we can still access the website, but when you do get to 10 posts make sure to update the link
  6. Saiyan197

    Saiyan197 Newbie

    Jul 14, 2018
    United States
    Updated the application to 0.3.0! Portrait previewing and exporting is now possible among a couple other additions and crash fixes.
  7. SuperDan

    SuperDan Im Aware ... Im Unaware

    Aug 17, 2016
    United States
    Londoner , Living In Louisiana ...
    got me interested !!!!!!!!!!!
    Saiyan197 likes this.