ROM Hack [RELEASE] Smash-Selector

Did this work for you?


  • Total voters
    257

Cydget

Well-Known Member
OP
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
k6H6c

Note: Smash Selector is now deprecated in favor of it's successor, ModMoon. Please download it here.

What is Smash-Selector?
Smash-Selector is a program that allows you to enable/disable the SaltySD file it includes (in turn enabling/disabling mod loading), as well as select different modpacks to load, along with several other features. It supports any Luma version of 7.0 and above.
What can it do?
This section documents the features of Smash-Selector and what they do.
Launch game: Apply the selected settings and launch Smash.
Enable/Disable SaltySD: Changes the name of the SaltySD file to enable or disable it, which in turn changes whether mods are loaded or not
Hitbox Display: Enable/Disable the hitbox display functionality of SaltySD.
Download modpack from URL: Download a modpack from a server. More details below.
Check SaltySD hash: Hashes SaltySD using the Murmur Hash 2 algorithm and compares it to a pre-made hash from the server.
Controls Modifier: Modifies the controls configuration for Smash. Supports changing the n3DS buttons.
Check for updates: Checks if an update is available and prompts the user to accept and install the update if there is one.
Region/Game Type: Change the region and location (cartridge or CIA) to launch Smash from. This should be automatically detected, but if you use multiple installs and got one you don't want to use selected this option can still be changed.
Version Slot: Change the mod slot to load mods from.
Usage
On first start, your game options will be automatically detected, and if you used the original version of Smash-Selector (the one that used /saltysd/smash# slots) they will be automatically moved to the new format.
During regular use, to enable/disable mods change the SaltySD enable/disable option. To change the slot to load mods from, change the "Version Slot" option.
To make a new slot, make a new folder in the saltysdMODS folder at the root of your SD card. Name this folder "Slot_#", where # is the number after the number of slots you have; for example, if you have 6 slots (and thus folders named "Slot_1" through "Slot_6") make a folder called "Slot_7" and put your mod files in it. A graphic for an example of your saltysdMODS folder is provided below:
Code:
G:\saltysdMODS
|
|
+---Slot_1
|   |   desc.txt
|   |
|   \---animcmd
|       \---fighter
|           \---captain
|                \--game.bin
|
+---Slot_2
|    \--desc.txt
|
+---Slot_3
|    \--desc.txt
|
+---Slot_4
|    \--desc.txt
|
+---Slot_5
|    \--desc.txt
|
+---Slot_6
|    \--desc.txt
|
\---Slot_7
     \--desc.txt
To download a modpack, enter a link to a modpack in the keyboard that pops up. The new modpack will automatically be saved to your next free slot.
Tinyurl or some other URL shortening method is required as entering URLs over 100 characters won't work. Downloadable modpacks can be generated with this Python 2.7 file, which should be run on the modpack you want to convert. Note that you should run this on a copy of your mod as it changes the file names of all the original files. You should then upload it to any server that provides direct access to your files like a web server: GitHub Pages works great for this and I'm not sure if MEGA or Google Drive will work (probably not).
As examples, USM-eM Alpha 4 can be downloaded with the following URL: http://tinyurl.com/n4t6oaf and the latest release of Smash Turbo'd can be downloaded from this URL: http://tinyurl.com/Turbod .
If you'd like to provide a custom SaltySD code.ips (for assembly level edits to the game), place them in your modpack like so:
Code:
+---Slot_1
|     \---codes
|         \--USAcode.ips
|         \--EURcode.ips
|         \--JAPcode.ips
Smash mods don't work!
Here's a couple common solutions to Smash mods not loading up:
-Try backing up your save data and extdata (using Checkpoint or a similar tool) and then erasing it by pressing A+B+X+Y on Smash startup. Then try relaunching Smash.
-If you copied the mod files using a Mac, try using a Windows or Linux PC. Mac seems to have some issues.

3DSX Download (Rosalina only)
CIA Download


Credits
Swiftloke: Co-developer
LinkSoraZelda: Banner
ih8ih8sn0w: RE work for controls
Aurora Wright: Luma3DS
ShinyQuagsire23: SaltySD
Hamcha: Code for detecting Luma version (taken from Luma Updater)
Ordim3m: The idea to use IPS files for SaltySD included in Smash Selector's romFS
Freenode #cakey: Being awesome
Nintendo Homebrew #dev: Being awesome
USM-eM beta testers: beta testing
Now, before anyone thinks that this is another attempt to recreate melee, its not. Now that that is over with let me explain what smash selector is. It is a homebrew cia that allows you to download and patch the latest compiled SaltySD, and also allows you to quickly select different folders from which to load your mods from.
All options in saltysd that require internet are not working at the moment, you have to download the files manually.
The patching feature requires a cfw to work. On luma3ds cfw you can enable it by configure luma3ds's settings to allow code redirection by holding 'select' while booting luma3ds. Now make sure "Enable region/language emu. and ext. .code" is checked on. It might be named something slightly different now. Make sure that you are not using the nightly version of luma3ds.
After you have a cfw with a code patching option enabled, download smash selector install it using a cia installer and run it once.
If you do not wish to use luma3ds and want to use another cfw change the config file at /3ds/data/smash_selector/config.txt and change the path to when you want it to load the bin files from.
My server is currently a bit broken due to comcast, so you have to download the bin files manually.
Download these and put the files in /luma/code_sections/ or whatever you set the default loading place to be.
Now you should have a folder called /saltysdMODS/ on the root of your sd card. create a folder called Slot_1 and place it in /saltysdMODS/ you can then put your mods in that folder. You might want to create a text file called desc.txt in each Slot_X folder with a short description in order to view witch folder is what in smash selector.You can create as many Slot_X folders as you want.
Here is a visual for those who want it. I included what a mod of captain falcon's moves might look like in the Slot_folder.
Code:
G:\saltysdMODS
|
|
+---Slot_1
|   |   desc.txt
|   |
|   \---animcmd
|       \---fighter
|           \---captain
|                \--game.bin
|
+---Slot_2
|    \--desc.txt
|
+---Slot_3
|    \--desc.txt
|
+---Slot_4
|    \--desc.txt
|
+---Slot_5
|    \--desc.txt
|
+---Slot_6
|    \--desc.txt
|
\---Slot_7
     \--desc.txt
Once you have that done launch smash selector, configure the options, save the settings, and launch the game.

After you downloaded and installed the latest compiled Luma3ds, you have to set up your sd card.
You should create a folder called "saltysd" on the root of your sd card. Inside there, you should add as many folders as you want called smashXX where XX is a number. You should start your numbering at 1. If you want, you can create a text file called desc.txt in each of the smashXX folders. This should be a short description of what mods you put in that folder.
Here is a visual for those who want it. I included what a mod of captain falcons moves might look like in the smash1 folder.
Currently this feature is not in a released version of luma3ds, but you can download it from here.
I used believe I used comment version 61684ecb.
Luma3DS v6.0 has been released and includes this feature
Code:
G:\saltysd
|
|
+---smash1
|   |   desc.txt
|   |
|   \---animcmd
|       \---fighter
|           \---captain
|                \--game.bin
|
+---smash2
|    \--desc.txt
|
+---smash3
|    \--desc.txt
|
+---smash4
|    \--desc.txt
|
+---smash5
|    \--desc.txt
|
+---smash6
|    \--desc.txt
|
\---smash7
     \--desc.txt
Here is another visual for good measue
Code:
G:/saltysd
G:/saltysd/smash1
G:/saltysd/smash1/desc.txt
G:/saltysd/smash2
G:/saltysd/smash2/desc.txt
G:/saltysd/smash3
G:/saltysd/smash3/desc.txt
G:/saltysd/smash4
G:/saltysd/smash4/desc.txt
G:/saltysd/smash5
G:/saltysd/smash5/desc.txt
G:/saltysd/smash6
G:/saltysd/smash6/desc.txt
G:/saltysd/smash7
G:/saltysd/smash7/desc.txt
Once you have downloaded and installed luma3ds and set up the sd card, configure luma3ds to allow code redirection by holding select while booting luma3ds. Now make sure "Enable region/language emu. and ext. .code" is checked on.
Finally boot into your 3ds and launch your favorite cia installer and install Smash-Selector.
Launch Smash-Selector from the home menu and press select to download the latest saltysd.
Try not to spam downloading the saltysd update button. It takes a long time to download as it is, and I dont need tons of people slowing down the server.
In case some of the older saltysd users dont know, you no longer need to generate a cache file for the game to load fast. Actually, I believe generating it at all is obsolete.
IF you are looking for mods to download look at these places.
http://gbatemp.net/threads/smash-3ds-texture-hack-thread.417509/
http://gbatemp.net/threads/continuing-smash-bros-turbod.427636/
http://bfy.tw/9Dbv
Troubleshooting
The game only loads saltysd smash
Make sure you have the default smash update installed
SaltySD doesnt work
Make sure you are using smash version 1.1.6 If version 1.1.7 come out it may take a day or two in order for me to update it.
SaltySD still doesnt work
Its possible that the latest build has an error. If multiple people have this error then I will put the last working build up.
SaltySD crashes after title scrren
Try backing up your save data using this tool, then delete your save data by pressing A+B+X+Y while booting smash. If this fixed your problem either start fresh, or attempt to re-inject the backup of your save data.(This is most likely not your problem but you can try just in case.)
If nothing there works its possible that I messed up in the coding. I have only tested this with USA smash, so that might be the problem. PM me and I'll try to help.
Currently I have this set to build the latest SaltySD every three hours (Hopefully on the hour) but this may change.
DOWNLOAD
https://www.dropbox.com/s/o6c8bcnum83hed7/o3dsSmash-Selector.zip?dl=1
SaltySD: @shinyquagsire23
Luma3ds: Aurora Wright
Mirror file hosting server: @Jeanolos
 
Last edited by Swiftloke,

ih8ih8sn0w

Koreaboo
Member
Joined
Aug 22, 2015
Messages
1,677
Trophies
0
Age
25
Location
Hell
XP
898
Country
United States
So would need Luma3ds cfw to use this, is rxtools obsolete or could I use that instead?
rxtools is very outdated (and you should really consider switching to a more modern and supported cfw), but either way, it requires an unofficial build of luma3ds
but you can download it from here.
 
  • Like
Reactions: olec04

alonzondavis

Well-Known Member
Member
Joined
Jun 16, 2016
Messages
251
Trophies
0
XP
623
Country
United States
rxtools is very outdated (and you should really consider switching to a more modern and supported cfw), but either way, it requires an unofficial build of luma3ds

Downloaded. So rename it to boot.elf and run through menuhax? or has that method to load cfw changed as well recently?
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
331
Country
Australia
  • Like
Reactions: olec04

Cydget

Well-Known Member
OP
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
Downloaded. So rename it to boot.elf and run through menuhax? or has that method to load cfw changed as well recently?
If you dont have a9lh installed, you could try downloading and installing the latest released luma3ds using these instructions https://github.com/AuroraWright/Luma3DS/wiki/Installation-and-Upgrade and then you could copy over the files from the non official release on top of those.
The non official release leaves out some of the files necessary for menuhax I think. So just install the non official one over the official one.
EDIT: sniped
 
Last edited by Cydget,

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
331
Country
Australia
If you dont have a9lh installed, you could try downloading and installing the latest released luma3ds using these instructions https://github.com/AuroraWright/Luma3DS/wiki/Installation-and-Upgrade and then you could copy over the files from the non official release on top of those.
The non official release leaves out some of the files necessary for menuhax I think. So just install the non official one over the official one.
EDIT: sniped
Actually he would just use the files from the zip he downloaded in place of the files the guide tells you to download.
 

Halvorsen

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
2,060
Trophies
0
Website
halcove.com
XP
1,888
Country
United States
To clarify, this means no more Salty update CIAs?
This basically does the same thing but using CFW's capabilities? I have each region's Smash game on my system, can I select which one loads the mods from? Also, does this mean the load times are gone or does it still parse through each file to check if it's there?
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
331
Country
Australia
To clarify, this means no more Salty update CIAs?
This basically does the same thing but using CFW's capabilities? I have each region's Smash game on my system, can I select which one loads the mods from? Also, does this mean the load times are gone or does it still parse through each file to check if it's there?
Yep, no more CIAs, use the official update file and luma does the rest. If @Cydget would like to donate the full source code, I might be able to make a version for you that lets you load a specific region. Shitty load times are now a thing of the past as well, and new file additions are possible too.
 

Cydget

Well-Known Member
OP
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
To clarify, this means no more Salty update CIAs?
This basically does the same thing but using CFW's capabilities? I have each region's Smash game on my system, can I select which one loads the mods from? Also, does this mean the load times are gone or does it still parse through each file to check if it's there?
This does mean no more Salty update CIAs. As for if this will work for every version your system thats going to be a no. This determines the region to download and region to launch the game based on what Region your 3ds is from. So it will work with what ever version your 3ds is.
EDIT: I might make an update that allows to select version, but that might take a bit of time I'll send @Yodowat the source since he wants to take a stab at it. This is not really high on my priority list, so I might just not do it.

--------------------- MERGED ---------------------------

I might make an update that allows to select a region, but that might take a bit of time I'll send @Yodowat the source since he wants to take a stab at it. This is not really high on my priority list, so I might just not do it.
 
Last edited by Cydget,

Halvorsen

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
2,060
Trophies
0
Website
halcove.com
XP
1,888
Country
United States
This does mean no more Salty update CIAs. As for if this will work for every version your system thats going to be a no. This determines the region to download and region to launch the game based on what Region your 3ds is from. So it will work with what ever version your 3ds is.
Yep, no more CIAs, use the official update file and luma does the rest. If @Cydget would like to donate the full source code, I might be able to make a version for you that lets you load a specific region. Shitty load times are now a thing of the past as well, and new file additions are possible too.
That's actually great! And the region thing is fine; I wasn't sure exactly which copy of Smash it chooses. I'm American but play the Japanese version, so I'm fine.
Luma's unofficial ROM hacking capabilities alongside management apps like this pretty much make the 3DS the best console to do rom hacks on.
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
331
Country
Australia

Failed Answer

Clarification
I overlooked how Smash-Selector loads a code.bin... However, you can put a code.bin for every region renamed 00040000000EDF00.bin for US, 00040000000EE000.bin for EUR and 00040000000B8B00.bin for JPN into luma/code-sections/ then use smash-selector to change what smash folder it loads (smash1, smash2...) then load the region you want from the home menu. I will work on it tonight though. Also, here is a link to the code.bin for the 3 main regions (it is an older version of saltySD however.)

https://mega.nz/#!osxgnaLZ!ZSuW2HVt_I98o3RNiEVFBB8nVavmz0B1O1M0TRi-8j8
 
Last edited by Yudowat, , Reason: forgot link :P
  • Like
Reactions: Halvorsen

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
To clarify, this means no more Salty update CIAs?
This basically does the same thing but using CFW's capabilities? I have each region's Smash game on my system, can I select which one loads the mods from? Also, does this mean the load times are gone or does it still parse through each file to check if it's there?
Just to clarify a bit, SaltySD now hooks the RF/resource file loading to add new files, and in the process polls every single file in sdmc:/saltysd/smash at startup to get file sizes for existing files and to add new files once at startup. Both hooks also poll for new files on each resource load attempt, however this now happens off the main thread and in the resource threads, so it doesn't add too much overhead.
 

knavesmith

Member
Newcomer
Joined
Jun 11, 2016
Messages
15
Trophies
0
Age
24
XP
54
Country
United States
I'm probably being dumb and forgetting something really obvious...

I'm having trouble getting to the Main Menu of my CIA version of Smash 3DS. (Ripped from a USA Game Cartridge that I have since lost)

When I launch Smash, it will boot normally and reach the title screen. I can tell SaltySD was properly installed because I can see my installed mods if I let the screen idle until it gets to the part where it plays a sample match with 4 players. However, when I press a button to advance past the title screen, the loading icon will play for a brief second, freeze, then close the game and restart my system with the usual "An error has occurred, forcing the software to close. The system will now restart" error. This happens even if I load a "modded" version where I add nothing to the game ( \saltysd\smash\ folder is empty save for the desc.txt file) However, if I boot my game as default Smash ("Press X to select trash 4"), it will load into the main menu and allow me to play normally.

I am running a N3DS XL with A9LH + Luma3DS-61684ecb on 11.0.0-33U firmware.

What could be the issue here?
 

ih8ih8sn0w

Koreaboo
Member
Joined
Aug 22, 2015
Messages
1,677
Trophies
0
Age
25
Location
Hell
XP
898
Country
United States
I'm probably being dumb and forgetting something really obvious...

I'm having trouble getting to the Main Menu of my CIA version of Smash 3DS. (Ripped from a USA Game Cartridge that I have since lost)

When I launch Smash, it will boot normally and reach the title screen. I can tell SaltySD was properly installed because I can see my installed mods if I let the screen idle until it gets to the part where it plays a sample match with 4 players. However, when I press a button to advance past the title screen, the loading icon will play for a brief second, freeze, then close the game and restart my system with the usual "An error has occurred, forcing the software to close. The system will now restart" error. This happens even if I load a "modded" version where I add nothing to the game ( \saltysd\smash\ folder is empty save for the desc.txt file) However, if I boot my game as default Smash ("Press X to select trash 4"), it will load into the main menu and allow me to play normally.

I am running a N3DS XL with A9LH + Luma3DS-61684ecb on 11.0.0-33U firmware.

What could be the issue here?
Did you install an unmodified update cia?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: lol Syl +1