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

Status
Not open for further replies.

A Generic User

Well-Known Member
Member
Joined
Aug 24, 2015
Messages
134
Trophies
0
XP
876
Country
United States
I'm confused.....

Was the salty cia ever compiled for 1.1.5? Or do I need to make it myself? If so can someone kindly tell me how to do so.
 

BlastXDX

3DS Hacking Era Original
Member
Joined
Oct 3, 2015
Messages
237
Trophies
0
Location
Frappe Snowland
XP
365
Country
United States
I'm confused.....

Was the salty cia ever compiled for 1.1.5? Or do I need to make it myself? If so can someone kindly tell me how to do so.
For now, you need to make your own. Someone earlier in the thread explained how to do it, but I'm still waiting for him to elaborate more on it and how it's done.
 

A Generic User

Well-Known Member
Member
Joined
Aug 24, 2015
Messages
134
Trophies
0
XP
876
Country
United States
For now, you need to make your own. Someone earlier in the thread explained how to do it, but I'm still waiting for him to elaborate more on it and how it's done.
I'm not sure either, but I'm guessing you decrypt a CIA for the 1.1.5 update, extract the ExeFS, replace the code.bin file with the one from the salty CIA (which does not have to be decrypted, since it already is), and recompile the CIA. The only part I have no idea how to do is the last one.
 

Tacosaregood

Well-Known Member
Member
Joined
Sep 30, 2015
Messages
147
Trophies
0
Location
SiIvaGunner's Youtube channel
XP
196
Country
United States
I'm not sure either, but I'm guessing you decrypt a CIA for the 1.1.5 update, extract the ExeFS, replace the code.bin file with the one from the salty CIA (which does not have to be decrypted, since it already is), and recompile the CIA. The only part I have no idea how to do is the last one.
Welcome to the we have no idea how to recompile a CIA club
 

Swiftloke

Hwaaaa!
Member
Joined
Jan 26, 2015
Messages
1,772
Trophies
1
Location
Nowhere
XP
1,506
Country
United States
So, I managed to dump my 1.1.5 CIA [which was a huge pain by the way] and was able to decrypt it. However, because my Windows computer kinda sucks [and is to an extent physically defective] I can't extract it. Would anyone mind doing that for me? Shoot me a PM, or if you could just give me the ROMFS and EXEFS [Or even a complete DTLS'd file] that would be great too!
 
Last edited by Swiftloke,

saburou

Well-Known Member
Member
Joined
Oct 13, 2015
Messages
243
Trophies
0
Age
26
XP
622
Country
What is this ?!
item/fs/bombswitch/
 

Attachments

  • bomb.png
    bomb.png
    20.3 KB · Views: 214
  • Like
Reactions: ArcPh1r3

SSBSM

New Member
Newbie
Joined
Mar 23, 2016
Messages
3
Trophies
0
Age
29
XP
56
Country
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
  • @soneek, for the Python scripts used for custom music/SFX/voice clips and Smash IDSP Build
  • @Asia81, for the two guides linked in this post for extracting ROMFS/EXEFS
  • @Sammi Husky for Sm4shCommand & DTLSExtractor
  • @gdkchan for Ohana3DS
  • @Manito for texture guide
  • The Foobar2000 Team for creating Foobar2000
  • kode54 for the Foobar2000 component
  • SD_DS/@SD_DS for the simplified guide on texture editing
  • RegalKillager for assistance on the simplified texture editing guide by @SD_DS
  • @Flurry for the .TEX editing program
  • @ShadowLuigi~NG~ for generally being a huge help in this thread, as well as cachegen
  • @Cydget for the cachegen, allowing SaltySD hacks to be played online due to reasonable loading speeds being achieved
Does This Still Work For The Latest Software For The 3ds And Latest Update For Smash 3ds 1.1.5 As Of March 23,2016?
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    DinohScene @ DinohScene: ahh nothing beats a coffee disaronno at work