Editing All-Star Mode
Introduction:Hello! This is a guide for editing All-Star Mode. With All-Star editing, you can change the order of characters, the number of rounds, the time limit, and even add new opponents. Though I have discovered a lot of neat things in the All-Star params, I still don’t know everything. This tutorial will be updated whenever I or anyone else discovers something new.
This video shows off some of the things you can do with All-Star editing.
In the above example, All-Star has been changed to last only one round featuring 60 opponents (only the first 52 appear on the HUD). Galacta Knight, Masked Man, Phoenix, Wolf, and Ms. PAC-MAN (all c08 on their respective characters) have been added as opponents. Ganondorf can use his default or Melee (c08) design, Cloud can use his default, Advent Children, or Kingdom Hearts (c17) design, and Villager can load with any costume slot. To keep the reverse chronological order of All-Star mode intact, Alph and the Koopalings have been disabled. The timer has been increased to 10 minutes, and the stage has been restricted to only load the Multi-Man Smash stage.
- Allstar_param_cafe.bin (the All-Star param file. This file can be found in data(region)/param/allstar)
- PARAM (required for adding new values, as Forge will corrupt the file if it is used to add values)
- Smash Forge (recommended for editing the file)
- Updated All-Star ini (this file updates the param labels in Forge to be accurate to my findings. This file should go into the param_labels directory included with Smash Forge. Huge credit to Xuman for providing the initial documentation of this file.)
The Structure of All-Star Mode:The most important thing to keep in mind while editing All-Star is that All-Star is made up of four different sub-modes. They are as follows: 1P True All-Star, 1P Incomplete All-Star, 2P True All-Star, and 2P Incomplete All-Star. These sub-modes are always in this order within the param file. The Incomplete All-Star mode is the version you play before all the characters have been unlocked. Editing this will be useless for most people, though some may find it useful.
Adding entries to the Param File:For many changes to All-Star mode, such as increasing the number of rounds above 10, or adding more opponents, you’ll need to add entries to the param file. To do this, follow these simple steps:
- Open allstar_param_cafe.bin in PARAM.
- Right click on the group you wish to add entries to and click Add New Struct.
That’s it! The groups you will most frequently be adding entries to include:
- Group (Time limit for 1P True All-Star)
- Group (Time limit for 1P Incomplete All-Star)
- Group (Enemy Fighters for 1P True All-Star)
- Group (Enemy Fighters for 1P Incomplete All-Star)
- Group (Stages for 1P True All-Star)
- Group (Time limit for 2P True All-Star)
- Group (Time limit for 2P Incomplete All-Star)
- Group (Enemy Fighters for 2P True All-Star)
- Group (Enemy Fighters for 2P Incomplete All-Star)
- Group (Stages for 2P True All-Star)
- Group (Stages for 2P Incomplete All-Star)
You may notice that the Stages for 1P Incomplete All-Star is missing from the above list. This is because it is not possible to add entries to that group (Group) using PARAM due to how the data is read. PARAM places the values for 2P mode info (which includes round information) in this group. It is possible to add entries to this group through hex editing which I will not detail here.
IMPORTANT NOTE: The group numbers listed here are accurate to PARAM. They do not match Forge’s numbers, as Forge starts at 1 while PARAM starts at 0.
IMPORTANT NOTE: Smash Forge features a “Duplicate Entry” option on right click. Please DO NOT ever use this. It will add an entry, but in doing so, corrupts the file, causing the game to crash as soon as you attempt to load All-Star mode.
Changing the Number of Rounds:By default, All-Star mode has 7 rounds. Changing the number of rounds is simple (and is even easier if you have the ini installed in Forge!).
1P EditingGroup 1, Entry 1 contains the numbers we’re looking for. Value 0 controls the number of rounds for 1P True All-Star, and Value 14 controls the number of rounds for 1P Incomplete All-Star.
2P EditingThis is a little more funky due to errors with Forge and PARAM. The values for 2P round counts do not display in Forge and are merged with the 1P Incomplete stage data as described above. The easiest way to edit this is through PARAM. Open the file in PARAM, then go to Group. The value for 2P True All-Star is the first value in Entry, while the value for 2P Incomplete All-Star is the third value in Entry. In PARAM, to edit the entry, you will have to double click it.
Note: There are values for only 10 rounds in the Time Limit data. If you wish to increase the number of rounds above 10, extra steps are required to make sure the additional rounds work. Open the file in PARAM, and add entries to groups 1, 2, 17, and 18. Make sure to change the value from 0 (the default), or it will produce an unwinnable round.
Note: The game will (surprisingly) load if the number of rounds is set to zero. I think this may make the mode have infinite rounds, but I have not tested it thoroughly. It will not cause you to automatically win, unfortunately…
Changing the Number of Characters that Appear at a Time:Normally, 3 enemies will appear on-screen at any given time in All-Star. This number can also be changed to allow for less or (potentially) more enemies at a time.
WARNING: I have not tested the results of increasing this value from the default of 3 (decreasing works okay). I believe that the limit for this value is 7 for 1P All-Star, and 6 for 2P, as these values will result in the maximum of 8 Players. Increase at your own risk.
Once again, Group 1, Entry 1 contains the values we’re looking for. Value 1 controls the number for 1P True All-Star, and Value 15 controls the numbers of rounds for 1P Incomplete All-Star.
2P EditingThese values are also among the messed up values, and will need to be edited in PARAM. Navigate to Group again. The value for 2P True All-Star is the second value in Entry, while the value for 2P Incomplete All-Star is the fourth value in Entry. Don’t forget to double click!
Editing the Time Limit for Each Round:By default, all rounds have a 5 minute time limit. This is not, however, controlled by a single value, meaning different time limits per round are possible.
To edit the time limit, edit the values in Groups 2, 3, 18 and 19 for True All-Star 1P, Incomplete All-Star 1P, True All-Star 2P, and Incomplete All-Star 2P, respectively.
Editing Enemy Fighters:The order of enemy fighters, as well as their costumes, and what round they appear in can be customized.
Note: When editing fighters, unless you have them memorized, I highly recommend having a list of character IDs open.
Character data is found in Groups 14, 15, 30, and 31, again, for True All-Star 1P, Incomplete All-Star 1P, True All-Star 2P, and Incomplete All-Star 2P, respectively. Because character data is separated by sub-mode, editing opponents can be a little tedious, as there are four groups that contain what is essentially the same data.
Regardless of which sub-mode you edit, the structure of the character data remains the same. Only four values are important for character editing and they are detailed below:
Value 0 indicates the round that the character will appear in.
Value 1 is the ID of the character to be loaded. Note that Miis can be used as opponents in All-Star, but they will always load the console’s system Mii.
Value 3 is the character’s costume ID using the c00 numbering. This is formatted in two different ways depending on the character. A 0.0 indicates that the character’s default costume should be loaded, while a 0,1 for example, indicates that the character’s costume should be randomized between c00 and c01. The number of commas you can put between costumes appears to be limitless (in my example, I have 16 Villager costumes, and the game can load any one of them). If you wanted to force a specific costume that isn’t the default one, I recommend setting it up with commas. For instance, if you wanted to force Little Mac’s hoodie costume, it should be set up as 7,7, making the game load costume 7 or costume 7.
Value 22 indicates the character’s year of origin. This information is used by the All-Star rest area. If a character is the first or last character in a round, their year of origin will be displayed.
IMPORTANT: Enemy fighters will appear in the order they are listed in the file REGARDLESS of what round they are set to. For example, if you set Greninja to round 2, he will appear in round 2, but the game will check the next fighter in the list to see if they are also to appear in round 2. If not, than Greninja will be the only enemy in round 2. Credit to Dexial for discovering this.
In other words, enemy fighters must be put in the list in the order they are to appear.
Adding Enemy Fighters:If you wanted to add Alph, the Koopalings, the alternate gender versions of certain characters, Miis, or custom characters as opponents in All-Star mode, this section is for you.
Note: When editing fighters, unless you have them memorized, I highly recommend having a list of character IDs open.
Note: The maximum number of characters you can have per round falls somewhere between 61 and 70. The exact number is unknown. The UI also bugs out once the number of characters per round exceeds 52. Opponents 53 and on will reuse the stock icon for opponent 52. This is a purely visual bug, and the intended character will still load. If a fix is ever discovered, I will update this section. It is unknown if there is an upper bound on total opponents for the entire mode.
Start off by adding an entry to Group 14, 15, 30, or 31 in PARAM depending on which sub-mode you wish to add your opponent to. If you want to add it to all sub-modes, add an entry to each of the above groups.
With that finished, open the file in Forge. Start by copying the data for values 4-21 from the previous character in the list. These values likely have something to do with the difficulty, but their exact purpose is unknown at the moment. Value 2 can be ignored, as it is 0 for every character.
Once all the data has been copied, begin filling in the four important data values detailed in the previous section.
Editing Stages:Stage selection in All-Star mode is randomized, and specific stages are locked to specific rounds. Some stages, such as Battlefield or Gaur Plain go completely unused. However, most stages (such as Gaur Plain) have data in the param file, and are set to never appear.
The stage data can be found in Groups 16, 17, 32 and 33 for True All-Star 1P, Incomplete All-Star 1P, True All-Star 2P, and Incomplete All-Star 2P, respectively.
Note: When editing stages, unless you have them memorized, I highly recommend having a list of stage IDs open.
Value 0, much like with characters, controls the round that the stage will appear in.
Value 1 is the ID of the stage to be loaded. As this is the stage ID, the non-playable stages, such as the Multi-Man Melee stage can be loaded.
Value 2 is the probability that the stage will be loaded. To force a specific stage, just set it to 100 and all other stages for the round to 0.
Adding Stages:Stages can also be added to All-Star mode, though they cannot be added to all sub-modes easily. Due to errors with PARAM, it is inefficient to add stages to 1P Incomplete All-Star (Group 17), though it is possible through hex editing. The process is otherwise identical to how character entries are added; just add entries to Groups 16, 32, or 33. Next, save the param and open it in Forge. Navigate to your new entry, and fill in the stage data based on the values above.
Note: There are a number of unused stage slots, so I'd recommend filling those up before adding any more stages.
Troubleshooting:All-Star mode can be very picky. If something doesn’t load, it may be that the values aren’t correct. If they are correct, the file may have corrupted somewhere along the way. Make sure to never add entries using Forge.