[Smash 3DS] Complete ROM Hacking guide (Textures, music, SFX/voice clips)

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by SUPR64, Feb 11, 2016.

Thread Status:
Not open for further replies.
  1. SUPR64
    OP

    SUPR64 Advanced Member

    Newcomer
    84
    97
    Sep 22, 2015
    United States
    *Though I see no real risk of bricking from this, I take no responsibility for any damages done to your 3DS.*

    NOTE: This process is possible using Windows. I'm unfamiliar with Mac and I assume it would be somewhat different, but probably possible.

    YOU WILL NEED:

    • A 3DS w/ CFW
    • FBI/BBM
    • This pack, which includes the programs & scripts needed for the extracted data
    • A cartridge/downloadable USA version of Smash 3DS
    • If you want custom textures & sounds for the DLC content, you need a 1.1.4 CIA
    • Python
    EXTRACTION
    • Use this guide by Asia81 to get the ROMFS/EXEFS from the original game, and use this other guide by Asia81 to get the data from the 1.1.4 update. These tutorials are very friendly and I highly suggest them. They may contain outdated information, but it's not a big issue.
    • Once you have followed both guides, you should have extracted ROMFS and EXEFS for the game and update. Open the "Extraction" folder in the "Obtaining Files" folder. Place the ROMFS & EXEFS of the original game in the "Original" folder. Place the ROMFS & EXEFS of the 1.1.4 update in the "Update" folder.
    • Launch "RomFS Extractor", which is found in the "Update" and "Original" folders. Use this program to extract the data from the ROMFS of the update and original game, by selecting the ROMFS files you have obtained through the tutorials above. Allow the program to fully extract both titles. Make sure they extract to seperate folders.
    • Open the newly-created folder with the extracted data of the original game. Copy the files from "DTLS" directly inside this folder. Hold shift and right click, and open the command prompt. Paste the following inside the prompt: DTLS.exe dt ls
    • Allow the program to extract all the game files. It will take a couple minutes.
    • Copy the file from "DTLS Update" into the folder with the extracted data of the 1.1.4 update. Hold shift and right click, and open the command prompt again. Use this command to extract the data of the update: dtls.py dt ls outdir/
    • Allow the data to be extracted from the update. This will take a couple minutes, as well.
    • Once extracted, drag and drop the "data" folder from the extracted 1.1.4 files into the original game's extracted ROMFS files. When asked to merge any folders, say yes. When asked to replace any files, say yes. This will combine the data of the original game with the data of all updates up to 1.1.4, meaning all game files are in one spot. I highly suggest you backup the merged 'data' folder somewhere on your computer.
    CUSTOM TEXTURES
    • Launch Ohana3DS, which is included in my pack.
    • Once loaded, click past the splash screen and you should be in the "model" section.
    • Click the "Open" button on the bottom of the window.
    • Locate the "data" folder you extracted. Inside, find the following directory: \ui\model\chara\chara_hand\normal.bch
    • Open "normal.bch"
    *NOTE: .bch files are Smash 3DS character texture files, while .mbn files are Smash 3DS model files!*
    • Now, click "Open" again while still on the model section. Return to the root of the 'data' folder, and find the following directory: \model\fighter\[CHARACTER OF YOUR CHOICE]\body\
    • You will see several folders, all starting with either c0 or h0. c00 and h00 are folders containing the data for the default alts. c01-7 & h01-7 are folders containing the data for other alts. c0X folders are the models used when in gameplay, which are lower quality to make the game run faster. When the game is paused, the models from h0X are loaded, which contain higher-quality models/textures.
    • From here on, I'll be using an example: Suppose you want to edit Ness' second alt. You would open h01 and select 'normal.mbn'. You will get an error here, ignore this. Click "Open" again and locate 'normal.bch'. You will get another error here. Ignore it, as well.
    • Now, locate the textures section on the left. Once here, you will see the files for textures. These are higher in resolution than c0X models, so I suggest loading those models as well and seeing the proper resolution for the textures on those. I reccomend Picresize for this. Ohana3DS suffers from errors often, but from my experience most features will work. Just make sure you always load the \ui\model\chara\chara_hand\normal.bch model before loading the character model. There's import and export buttons on the bottom of the window. Make sure to click the "Save" button once you're done importing.
    • Don't forget to include both c0X and h0X folders when implementing edits through SaltySD! (\model\fighter\ness\body\h0X & c0X)
    • Basically: Launch Ohana3DS, "Open", \ui\model\chara\chara_hand\normal.bch, "Open", \model\fighter\[CHARACTER OF YOUR CHOICE]\body\c0X or h0X\normal.mbn, ignore error, "Open", 'normal.bch' from same folder, ignore error, click textures tab on left, import and export as you please, "Save" when done importing if you are doing so. Make sure you include both c0X and h0X folders when patching in the edits, which is described later in this guide. Enjoy.
    • TO EDIT .TEX FILES: Use this program. Simply select a .TEX file, and you may import a PNG over it. Enjoy!
    CUSTOM MUSIC/SFX/VOICE CLIPS
    • Music is located outside of the 'data' directory of the Smash 3DS files. Find it in the "sound" folder. Sound files in Smash 3DS are formatted as .nus3bank, and any VGM from Smash Custom Sounds can be downloaded in this format. Simply download nus3bank music off Smash Custom Sounds and replace tracks from the game to your liking. Soneek is working on a way to expand this limit and allow us to add music without replacing, and removing the 2 track-limit on stages.
    • To create custom SFX, begin by opening the "Sound" folder in my pack. There is a notepad text file inside. Open this and copy the link into your browser. Unzip the file received from this link and place the .exe file inside "Smash IDSP Build".
    • We will use an example here. Suppose you want to replace the voice clip of Marth's down-taunt. You would need to locate the nus3bank for it in the data folder, which would be \data\sound\vc\snd_vc_Marth.nus3bank. Copy this file (the file of your choice, don't mind the example) and place it in the "injection & extraction" folder.
    • Open the "injection & extraction" folder. You will see two Python scripts here. One for extraction, one for injection. Hold shift and right click to open the command prompt. Use the following command: nus3bank.py [NAME OF FILE].nus3bank
    • A folder containing extracted .idsp files will be created in the injection & extraction folder. Inside, find the file you want to use. For example, with Marth's voice clips, if I wanted to change the down taunt sound, I'd locate "0xa-snd_vc_Marth_Appeal01.idsp". Take note of the ID. In this case, it's 0xa.
    • Take the .wav file you wish to use and place it in the "Smash IDSP Build" folder. Drag and drop it on the .bat file in the folder. An IDSP file of the .wav will be created.
    • Now, you can inject the custom SFX. Move the IDSP file to the "injection & extraction" folder, along with your .nus3bank of choice.
    • Hold shift and right click to open the command prompt. Use the following command: nus3inject.py [NAME OF FILE].nus3bank [NAME OF FILE].idsp [ID]
    • In this case, it'd be "nus3inject.py snd_vc_Marth.nus3bank letsdance.idsp 0xa" (Remember that unused taunt clip from Melee? Marth actually spoke English <3)
    *Want to listen to extracted IDSP files so you know which one you're injecting into? Install this program and download this plugin, and when you've done this you can load IDSP files from the program and listen to them! Enjoy!*

    APPLYING PATCHES
    • Go to this Reddit post and find the Secret File at the top. Download it and place it in the 'cia' folder on your 3DS SD card, assuming you have a CIA folder.
    • On the root of your SD card, create a folder named "SaltySD". Inside the folder, create another folder named "smash". Inside here, mimic the file structure of the data from the game and place edited files inside.
    • Example of model edit: \SaltySD\smash\model\fighter\marth\body\h0X & c0X\normal.mbn & normal.bch
    • Example of SFX edit: \SaltySD\smash\sound\vc\snd_vc_Marth.nus3bank (With injected custom IDSP!)
    • Delete any title updates on Smash 3DS, and then install the CIA.
    • Once the installation is complete, load the game like normal. If prompted with "An update is available", decline. The game will launch and you will be on 1.1.4. From there, you can test your edited files.
    • Example: If you changed Ness' hat to blue, you can go to Smash or Training or Home Run Contest and select Ness and start.
    *NOTE: SaltySD results in long loading times when starting battles/modes! It may take over a minute. No, your console didn't crash. If something went wrong, you'd be kicked back to the home menu and a pop-up would tell you an error occurred and the console would be restarted. The loading times are so long that it is impossible to play online.*

    *FIX THE AWFUL LOADING TIMES WITH SALTYSD: Use this script from @ShadowLuigi~NG~ on the root of your SD card. Simply drag & drop the "cachegen.py" script onto the root of your SD card and open a CMD prompt. Then, use the following command: "cachegen.py saltysd\smash\".


    *I have also included Animcmd, a program by @Sammi Husky that allows you to edit moveset information. I am not very familiar with it, however, so feel free to look into it! However, once this program is more well-understood, I will provide documentation on it in this guide as well.*

    ENJOY!
    CREDITS
     
    Last edited by SUPR64, Apr 3, 2016


  2. Manito

    Manito GBAtemp Fan

    Member
    319
    138
    Dec 15, 2014
    United States
    I replaced the hand model with another model and look what happened. :D
     

    Attached Files:

  3. SUPR64
    OP

    SUPR64 Advanced Member

    Newcomer
    84
    97
    Sep 22, 2015
    United States
    Beautiful. A work of art.
     
  4. Manito

    Manito GBAtemp Fan

    Member
    319
    138
    Dec 15, 2014
    United States
    Smash64Link
    I also made a N64 textured Link, and made the boomerang blue.(Used Smash64s textures)
     
    Last edited by Manito, Feb 11, 2016
    RosaliinaDaHacker64 and ArcPh1r3 like this.
  5. SUPR64
    OP

    SUPR64 Advanced Member

    Newcomer
    84
    97
    Sep 22, 2015
    United States
    Manito likes this.
  6. ElyosOfTheAbyss

    ElyosOfTheAbyss GBAtemp Addict

    Member
    2,212
    1,708
    Aug 20, 2015
    Defenate going to make Metal mario with this
     
    SUPR64 and Manito like this.
  7. Damon_girl

    Damon_girl GBAtemp Advanced Fan

    Member
    887
    192
    Oct 27, 2015
    United States
    This is awesome! I hope we'll be able to replace the character's model someday and not just the textures.
     
  8. SANNIC789

    SANNIC789 GBAtemp Advanced Fan

    Member
    704
    91
    Oct 3, 2015
    United States
    this is a thing FINLEY
    now people just have to have fun with is and then
    hooooo GETS HYPED!?!?!?!?!?!?
    pm mabbbbbyyyyyyyyyyyyyyyyyy
    :DDDDDDDD
     
  9. Thunder Kai

    Thunder Kai #TeamRem

    Member
    1,344
    367
    Sep 4, 2015
    United States
    With Rem
    I have a Japanese smash 3ds but it shows up as a English one (Title) can I change it back to Japanese?
     
  10. SANNIC789

    SANNIC789 GBAtemp Advanced Fan

    Member
    704
    91
    Oct 3, 2015
    United States
    yes just use NTR force the lang to be japanese
     
  11. TheToaster

    TheToaster Warrior of the Toast

    Member
    430
    160
    Aug 11, 2015
    United States
    USA
    Nice Tutorial, although some of the text seems messed up on my screen. Instead of simply adding spaces, you should center align it.

    Edit: yay my 100th post!!:toot::hrth::grog:
     
    Last edited by TheToaster, Feb 11, 2016
  12. Thunder Kai

    Thunder Kai #TeamRem

    Member
    1,344
    367
    Sep 4, 2015
    United States
    With Rem
    I know that, I mean the banner
     
  13. xXDungeon_CrawlerXx

    xXDungeon_CrawlerXx GBAtemp Maniac

    Member
    1,164
    508
    Jul 29, 2015
    Liverpool
    Is there a way to create SaltySD for the european Sm4sh version? Can't use the Patch by using the european version :(
     
  14. WarioTails358

    WarioTails358 GBAtemp Fan

    Member
    343
    55
    Oct 2, 2015
    United States
    What file holds the announcer's voice clips for calling characters?
     
    Last edited by WarioTails358, Feb 11, 2016
  15. Cydget

    Cydget GBAtemp Fan

    Member
    491
    132
    Oct 1, 2015
    United States
    Yes, I believe you have to shift the points of insertion up 8 bits from the given value. Check the issue tab in the git for more info.
     
  16. ShadowLuigi~NG~

    ShadowLuigi~NG~ Advanced Member

    Newcomer
    74
    41
    Dec 4, 2015
    United States
    Mushroom Island
    Made a Brawl Captain Falcon a few days ago

    [​IMG]
    [​IMG]
    [​IMG]
     
    Last edited by ShadowLuigi~NG~, Feb 11, 2016
    SUPR64 and Manito like this.
  17. Mr.ButtButt

    Mr.ButtButt The Cancer Of Gbatemp <3

    Member
    1,461
    598
    Sep 22, 2015
    United States
    oh my god, thank you so much.
    I've been waiting for this thread for so long, you don't even know <333
     
    daniel26150 and SUPR64 like this.
  18. Tacosaregood

    Tacosaregood GBAtemp Regular

    Member
    147
    88
    Sep 30, 2015
    United States
    SiIvaGunner's Youtube channel
    Here's Smash 64 Green Mario and Red Sonic.

    scr_1_TOP_RIGHT.png
     
    SUPR64 and ShadowLuigi~NG~ like this.
  19. CorBond57

    CorBond57 Advanced Member

    Newcomer
    96
    8
    Aug 16, 2015
    Netherlands
    Smashville
    from what i have seen i'm starting to doubt it's actually 8 bytes. the reference point @shinyquagsire23 talked about in the issue page seems to be off by one or seven bytes. (not sure though, i'm not the best in hex.)

    More on topic, has there been any developments in editing .tex files?
     
    Last edited by CorBond57, Feb 11, 2016
  20. SUPR64
    OP

    SUPR64 Advanced Member

    Newcomer
    84
    97
    Sep 22, 2015
    United States
    Explore the files! I promise you'll find anything you want within 2 minutes. Keep in mind a good chunk of the names are the Japanese ones. "Murabito" for Villager, "Gekkouga" for Greninja, etc.

    — Posts automatically merged - Please don't double post! —

    It was extremely late last night so I just left it how it was, today I'm gonna fix the text and include a program for listening to IDSP files extracted from nus3bank for people to know which files they're injecting into. That program is found on Google, though, so basically the reason I'm adding it is so everything is in one spot. That was the point of this guide.

    Happy 100th post. <3
     
    Mr.ButtButt and TheToaster like this.
Thread Status:
Not open for further replies.