Battle and Victory Theme Randomizer
Updated 1/21/23! Now with a menu to customize which songs you want.
Battle and victory theme randomizer, in the spirit of the RPCS3 random BGM patch for vanilla P5. The mod adds shuffled DLC tracks (and a few extra songs) to the Take Over, Last Surprise, and Triumph tracklists. Encounters with special battle music (minibosses, bosses) are unaffected.v2 DOES NOT require the No Holdup Music mod to work! Yay!
Note: Steam only! Untested on Game Pass. Let me know if you notice any bugs on Steam and I will try to fix them ASAP!Installation:
Use the 1-click install, or download the archive manually and unzip it into your mods folder. Also, make sure your game is updated to the latest version (v1.03 as of 1/24/23).
Usage:
Press ALT in-game to open and close the mod menu.
In the menu you can select the songs you'd like to hear in ambushes, normal battles, and on the results screen. Be sure to click Apply to save your changes!The songs you select will be shuffled and played in a random order. There is currently no way to turn shuffling off, or change how often certain songs are played.
What to do if your controller stops working or the game crashes:
Some people are reporting controller issues and crashes. You can disable the in-game menu by right-clicking on the mod in Reloaded II and selecting Configure. Then toggle the slider as shown below. The mod will still work but you will not be able to change which songs you want to hear while the game is running.If your game is not crashing and you only have controller issues, simply configure the songs you want using the in-game menu and your mouse. Make sure you click Apply, then close the game and disable the in-game menu as shown below. Now you can restart the game and use your controller.
If your game is crashing, you obviously can't configure your songs while in-game. Instead, you will have to manually edit a configuration file located in your Mods folder. First make sure you disable the in-game menu as shown above to prevent crashes. Then navigate to \Reloaded-II\Mods\p5rpc.music.battlemusicrandomizer (right-click on the mod and choose Open Folder) and open p5rbgm.cfg in a text editor.
The ambushTracks and battleTracks arrays are lists of all the battle songs in the same order as listed in the Battle Tracklist and Results Tracklist sections below. So, the first True in ambushTracks means Take Over (P5R) is enabled. The first True in resultsTracks means Triumph is enabled.
Change True to False for any songs you don't want to hear, and save the file. Your changes will take effect the next time you load the game through Reloaded II.
Known Issues:
Some songs are a little quiet. I suggest turning both Sound FX and Voice volume down one notch in the game settings and increasing your overall game volume if it bothers you.
Some testers have reported controller issues, probably related to the imgui menu. See the usage section above for details on how to disable the in-game menu if you experience controller issues or crashes.
(Also the mod's complexity has increased like tenfold, so if for some reason you have major issues, you may need to stick with the old v1.5.0 version until stuff gets fixed. Sorry.)
Replacing Existing Tracks:
Possible using ACE. Open BGM_01.acb with ACE, replace your track of choice with an encoded ADX, and then save. Note that if you want the menu text to match the updated track, you will need to make those changes in the code and recompile the mod from source in Visual Studio.
Adding New Tracks:
Not currently possible without editing the main BGM.acb with both ACE and a hex editor.
Battle Tracklist:
- Take Over (P5R)
- Last Surprise (P5)
- Mass Destruction Full Version (P3)
- Time to Make History (P4G)
- A Lone Prayer (Persona 1)
- Normal Battle (P2)
- Obelisk (Catherine)
- Reach Out to The Truth (P4D)
- The Ultimate (P4AU)
- Invitation to Freedom (PQ2)
- Axe to Grind (P5S)
- The Whims of Fate (Yukihiro Fukutomi Remix) (P5D)
- Last Surprise (Taku Takahashi Remix) (P5D)
- Life Will Change (ATLUS Meguro Remix) (P5D)
- Rivers In the Desert (Mito Remix) (P5D)
- What You Wish For (P5S)
- Groovy (P5D)
- Wiping All Out (P3P)
- Prison Labor (P5R)
- Last Surprise (P5S)
- Reach Out To The Truth - In Mayonaka Arena (P4AU)
- Last Surprise (Kirara Magic Remix)
- Yo (Acid Jaz Ver.) (Catherine: Full Body)
- Old Enemy (SMT If...)
- Pull the Trigger (PQ2)
- Light Up the Fire in the Night (Dark Hour) (Persona Q)
- Triumph
- After the Battle
- Period
- Dream of a Butterfly
- Battle Results (Persona 2)
- Old Enemy (SMT If...)
- Period (P4D Version)
- Get A Triple S! (P4AU)
- Victory/Triumph (P5D Version)
- After the Battle (P3D Version)
- Way to Go! (Persona Q)
- The Show Is Over (PQ2)
No ETA on these features yet, but they may be added eventually.
- Add miniboss/boss music shuffling
- Add even more custom song slots
- Add options to enable/disable shuffling for each battle type
Update 1/21/23: The previous version of this mod used a custom BGM_01.acb containing shuffle cues made in Atom Craft. This approach was simple, but had some weird volume issues because I couldn't replicate all the settings/properties of the original ACB in Atom Craft.
For v2, I figured out how to add entirely new link cues to the main BGM.acb. This involved making new cuelinks in Atom Craft and copying them into a stock BGM.acb using ACE. However, ACE doesn't update the external cue link tables in the ACB. So I used a hex editor to update various tables/flags within the BGM.acb manually (yes, this sucked and took a long time). Cuelinks for BGM IDs 962-999 were added this way.
When a link cue is called, the game searches all loaded ACBs for the cue it's referencing. This mod hooks the code that controls which DLC costume BGM acb is loaded, and hardcodes it to always load BGM_01.acb. So all the mod tracks live in a modified BGM_01.awb. This cuts down on mod filesize since I can ship a custom BGM_01.awb rather than the main BGM.awb.
Finally, I updated the C# part of the mod that hooks the code that sets the battle/ambush/results cue IDs. Now the mod uses ASMhooks and calls C# functions that handle shuffling the tracks. There's also an imgui-based menu for turning tracks on and off and saves your settings to a .cfg file located in the mod directory.
Special thanks to Powercore2000 for brainstorming, offering advice, and helping with testing! And thanks to everyone who recommended new songs.