Sm4shExplorer Wii U

From GameBrew
Sm4shExplorer
File:Sm4shexplorerwiiu.png
General
Authordeinonychus71
TypeHack Utilities
Version0.07.1
LicenseMixed
Last Updated2016/05/31
Links
Download
Website
Source

Sm4shExplorer is a tool for managing the file-system of Super Smash Bros. for Wii U. It takes a game dump to build upon and create modified patch files for the game to use.

Please keep in mind that this program is still under development and may contain bugs.

The tool is originally developed by Deinonychus71, and has had improvements made by thefungus, Dr-HyperCake, jugeeya and jam1garner.

Features

  • View the entire filesystem of Smash (main data + regions) in a treeview using DTLSExtractor from Sammi-Husky. The treeview displays the updated version of the game (core files in black, patch files in blue, user-modified files in green).
  • Provides information about any file (name, path, size, flags, source...).
  • Extract any file/folder to a specific "extract" folder.
  • Quickly open any file with a hex editor (requires prior configuration in the option panel).
  • Drag & Drop any files into a "workspace" folder. If a file is modified/added in a packed file, the entire packed file is automatically rebuilt during export. Alternatively, new files can be directly copied into the "workspace" folder and refresh the treeview.
  • Prompt to automatically send the mod build to an SD card or USB device (FAT32), for use with SDCafiine.
  • For region folders, "unlocalize" a folder or a file so that the game loads the unlocalized (english) file instead.
  • Ignore unneeded regional partitions within the application by specifying them in the configuration xml. See the wiki for more info.
  • Various keyboard shortcuts for convenience. See the wiki for a list.
  • Able to remove of some original resources (experimental, primarily tested with stage models to remove backgrounds).
  • Repacks files found in the "workspace" folder and rebuilds resources and patchlists into a specified "export" folder.
  • Incorporates a plugin system.
  • Plugin system to add more features to the program.
  • Plugin Sm4shMusic to manage the game's songs, add new songs, and assign songs to different stages (utilizes vgmstream from kode54).
  • Plugin Sm4shParamEditor to use Sammi-Husky's Param Editor directly in Sm4shExplorer.

User guide

Note: Make sure to backup your SAVE before attempting to add new songs just in case.

  • Sm4shExplorer version: 0.07.1
  • Sm4shMusic plugin version: 0.7.1
  • Smash Bros 4 Wii U version: 288 (aka 1.1.6)

Plugins

Sm4shMusic:

The first plugin for Sm4shExplorer enabling song customization, current features:

  • Lists all sound IDs referenced by the game, allowing addition/editing.
  • Assigns up to 40 musics per stage.
  • Controls properties like music frequency, description, source, background character in Sound Test, and list order.
  • Saves changes in XML format.
  • Compiles changes and adds them to your workspace directory.

Note: Many variables are still unknown, and limits on referenced musics in the game or stage support for up to 40 songs are uncertain.

Credits: Soneek for figuring out most of the details, and kode54 for libvgmstream.

Sm4shParamEditor:

A small plugin determining if a file can be read by ParamEditor from Sammi-Husky.

Opens files directly by double-clicking on the resource in the treeview.

Upon saving changes, Sm4shExplorer prompts to push changes to the workspace.

Credits: Sammi-Husky for ParamEditor, serving as a useful tool and proof of concept for testing the plugin system.

How to use

The guide assumes you are familiar with how to dump a game, patch, and use tools like loadiine or cafiine.

You need to set up a folder with the full game dump + latest patch on your computer (avoid long paths). The folder will serve as a source for Sm4shExplorer.

Step 1 - Game files (decrypted):

  • Dump your game on your computer ("code", "content" and "meta" folders).
  • Within content, find at least ls/dt00/dt01 and the sound folder if you want to use sm4shMusic.
  • Keep this on your computer or NAS; it does not go on your SD Card.

Step 2 - Patch files (decrypted):

  • Dump of the latest patch in the game dump ("patch" folder and some additional content).
  • You need at least v208 (1.1.4).
  • Note: Backup your previous mod build before replacing it, just in case something ends up broken in it.

Step 3 - Start Sm4shExplorer:

  • Start fresh (no config sm4shmod.xml file), point to the folder from Steps 1 and 2.
  • If the game reads the meta correctly, a popup will indicate the region and version (288).
  • Save and you're set.

After Step 3, don't touch the game folder again. Sm4shExplorer will automatically detect the correct folder and info each time you start it. On your SD, what you want is the result of the mod built, found in the export folder after building a new mod with Sm4shExplorer.

If a new patch is released, edit the config file with notepad, find the version (288), and change it to the new version of the new patch.

Folder structures

What you should see on your computer running Windows:

A copy of your game (extracted) on your computer with v288 patch and at least the following folders/files:

|-content\  
|  |-patch\  
|  |  |-data\  
|  |  |-data(region_language)\  
|  |  |-resource\  
|  |  |-resource(region_language)\  
|  |-ls\  
|  |-dt00\  
|  |-dt01\  
|-meta\  
|  |-meta.xml  

If dt00 and dt01 are not present, you will not be able to extract any file from them.

Please make sure that your core game and your patch are from the same region. During the initialization of sm4shexplorer, a popup will spawn and will ask you to specify the game region and version.

Note: All these files must remained "unmodified" at all time. Sm4shExplorer will not override any of them and instead will use its own folders.

On your SD/WiiU:

  • Backup your 'content/patch' folder on your SD before doing any change.
  • Use Loadiine/Cafiine to try your changes.

Send to SD

This feature simplifies the process of copying mods to the SD for users, particularly those new to modding. Here's a breakdown of how it works within the program:

Identify the path of your game on the SD card:

  • Loadiine: X:/wiiu/games/whateverthatcontainsthegameID/
  • SDCafiine: X:/fullgameID/

Requires the SD card to be formatted in FAT32 and recognized as a removable drive.

The program will take some time to initialize cache files for the mod folder (export), SD content folder, and official game content folder.

If you're on Loadiine, the program will check for any official files on the SD, and replace any modded files found with the original file.

If you are on SDCafiine, the program will delete existing modded files on the SD that won't be part of the new mod.

Efficiency Tip:

  • A good practice is to try it once, let the operation complete, and then try resending immediately. If done correctly, no files will be copied, and the operation will be quick.
  • Subsequent operations will only copy changed files, making it faster.

Note: The feature does not remove unnecessary files that won't affect the game but may exist on the SD. For instance, extra old mod files or non-referenced files won't be removed.

Troubleshooting

Game Doesn't Start/Softlock during Loading Screens:

Indicates a resource not found. Using the loging options of loadiine/cafiine might help identify the problematic file.

DSI Error on Loadiine:

Likely caused by mismatched files in the patch folder with information in resource/patchlist files. Avoid building mods over already modified files.

LS/DT File Issues:

This is either because you don't have the DT files in the current folder (or not at all) or because it doesn't match the region setting in your config file. Patch and dumped game should be of the same region.

VGMStream Failed to Load (Sm4shMusic):

Restarting the computer or running the software in admin mode may help. This issue won't prevent Sm4shMusic from working, but an alternative way of retrieving sample loop information may be needef (using vgmstream plugin for winamp or foobar, for example). 

This should be fixed with 0.06.4.

New Songs Won't Appear in Sm4sh:

Check if "In SoundTest" and the correct region (US/EUR) are selected. Study the properties of working songs for reference.

State of Custom Songs Not Saved:

This seem to be a problem with how Smash save them, some reports suggest it only saves the first 20 songs. This will need some investigation.

Undubbing Smash Bros for Wii U Example

With Sm4shExplorer, locate your JPN version of the game (v208), use Sm4shExplorer to extract the Japanese partition (or find the files somewhere).

Delete the sm4shmod.xml config file. and locate the US version of the game (v208).

Copy the following files from the Japanese version:

  • JPN fighter nus3bank files.
  • JPN sound nus3bank files.
  • JPN stage/melee/wiifit nus3bank files.
  • JPN item/pokemon item/assist sounds files.

Paste these files into the data partition of the US version.

In Sm4shExplorer, click on "Project" and select "Build the mod."

Make a copy of the patch folder on your SD card.

Copy the entire content of the "export" folder to the Smash game patch folder on your SD card.

Screenshots

sm4shexplorerwiiu.png

Media

SmashU Tut! Add custom music into SmashU via Sm4sh Explorer! (DemonSlayerX8)

Changelog

0.07.1 (Sm4shMusic 0.7)

  • Quick & Dirty fix of a crash that can happen when repacking certain stages (flag 0x4000 deactivated).
  • Prompt to copy to SD should be deactivated if no SD card is found after building.
  • Added little plugin for msbt, it requires MSBT Reloaded and its dll to be put in the tools folder.

0.07 (Sm4shMusic 0.7)

  • Some work on deleting folders to avoid some lock related crashs.
  • Fixed the stupid error with export/extract folder, please reset your extract folder in option so that it doesnt go to export anymore. (also clean the export folder).
  • Fix illegal extension crash that could happen when keeping some compressed files (or trash files) in the workspace
  • Fix resource removal bug.
  • Sm4shMusic only: Unk3 figured out by BoomShakaLarka, thanks nhb for reporting it.
  • Send to SD feature (experimental, tested only with US, see below).
  • Open SD folder (if found).
  • Pack modded folders: This is mainly to be able to pack new skins (like c07, c08) so that they appear as "packed" files, which will make the game load them much faster. Again, not much testing was done.
  • Loading/Build mod/SendToSD are now in separate threads, which means the app shouldn't freeze anymore.

0.06.4b (Sm4shMusic 0.6b)

  • Fix for libvgmstream: Some people claim they didnt have the bug after this version, so hopefully that'll work for everyone.
  • Fix for sound desync that some people who removed a song (or blank) were having. Sadly I don't really see a way around starting from scratch, unless you know how to edit the saved xml, but that's seriously gonna take longer.
  • Unsigned values have been changed to signed (4294967295 will be shown as -1 now), please understand that it breaks the deserialization of any saved xml config.
  • Rarity changed to 100 by default.
  • Unk5 is now known as Play Delay thanks to @Pib.
  • BLANK files are now automatically removed when loading the list. This is to avoid a lot of confusion. Instead when you click Add, Sm4shMusic will now automatically fill the gaps in IDs (like in a config from scratch, the first ID to be created will be 15).
  • MSBT variables names are now sync to the ID of the song, base 36 (so like ID 10 will be SOUNDA, ID 11 will be SOUNDB, etc). It means that the xml doesn't have to hold the information about the label anymore, making it smaller.

0.06.3 (Sm4shMusic 0.5)

  • Added stacktrace log in debug for plugins.
  • Sm4shMusic: XML Loading -should- be fixed, edition 2.
  • Fixed a crashed that prevented adding new songs in "stages" with no SoundDB.

0.06.2 (Sm4shMusic 0.4)

  • Add a popup before building the mod if the release or debug folder is not empty, letting you choose if you want to keep going or not. It will now clean the export/release (or debug) folder before beginning to export.
  • Swap Region EUR/US and Region JAP fixed [TESTED].
  • Original/Remix and other labels fixed [TESTED].
  • MyMusic Index + 1 fixed [TESTED].
  • EUR game region selection -should- be fixed. My bad EUR code is 4 and not 3 (have no idea what 3 is then).
  • Whenever you select a pre existing blank file, it will ask you if you want to change the properties to make it visible in Sound Test. [TESTED].
  • One rare crash fixed while launching Sm4shMusic after a compilation.

0.06.1 (Sm4shMusic 0.2)

  • Sm4shMusic Fix bug during the deserialization of the saved music config file.
  • Added Plugin version in plugin abstract class.

0.06

  • Metaknight victory 3 crash error fixed.
  • Added a file log system to help debugging.
  • Added a form during initialization to specify game region and game version. This information is now saved in the config file.
  • Added a plugin system to let anyone add their own features.
  • Added a form to change the priority of the plugins.
  • Added original resource removal (experimental).
  • The loading of the treeview is now much faster, thanks for Sammi's latest DTLS and treeview lazy-loading (there's still room for improvement).
  • Added a few shortcuts to open the different folders used by Sm4shexplorer from the GUI.
  • meta.xml not needed anymore, however the game is going to assume that you are using the latest version (288) and region US. Please use the form at initialization to change that.
  • Added a lot of foolproof checks to try to make sure your environment is set properly.
  • Added Sm4shMusic.
  • Added Sm4shParamEditor.

0.04

  • Initial commit.

Credits

  • Soneek: His research on music and general knowledge about everything.
  • Sammi-Husky: DTLS, good advices on coding.
  • DemonSlayerX8: Guinea pig and beta tester.
  • The whole team of Sm4sh Research, just cause they're very cool and motivated people.

External links

Advertising: