Add battle BGM themes from multiple mods with automatic cross-game support!
Overview
BGME Battle Themes allows for multiple mods to add music to battles without conflicting! The best part? All battle theme mods work with every Persona game automatically!Featured: Persona Series Randomized Battle Themes
Adds the battle themes from across the entire Persona franchise, with true to game functionality and completely configurable!Guide
It's assumed that you have some experience with music script.If not, it's recommended to follow the guides on BGME Framework up to at least adding randomized BGM. But, reading all of them will let you get the most out of battle themes!
- Download and install BGME Battle Themes.
- Create a Music Mod, but instead of adding a Mod Dependency on BGME Framework add one to BGME Battle Themes.
- Enable Game Support for P3P, P4G, and P5R.
- In your mod's folder, create a folder named battle-themes.
- In that folder, create a folder named music. In this folder, you will add any music files you want to use. Use a looped audio format, preferrably HCA , but you can use any other that VGAudio supports.
- When adding your music files, rename them to simple ASCII names such as my-custom-song.hca or myCustomSong.hca.
- In your battle theme script, you will use the file names (no extension) of your songs instead of BGM IDs.
- In the battle-themes folder, create a text file with the name MyBattleTheme.theme.pme. You can name it anything you want, as long it ends with: .theme.pme
- Open your battle theme script in a text editor, like Notepad.
- Battle theme scripts have mostly the same functionality as normal music scripts, except for the lack of BGM IDs.
- Create a constant named BATTLE_THEME and set it to whatever music you want the battle theme to be.
- Before releasing, delete any music that was built for the game such as the FEmulator/AWB or P5REssentials/BGME folders.
Here's an example from Persona Battle Themes:
const pq2_bgm = [pq2_InvitationToFreedom, pq2_PulltheTrigger, pq2_RememberWeGotYourBack, pq2_WaitandSee]
const BATTLE_THEME = battle_victory_set(random_song(pq2_bgm), pq2_TheShowisOver) // Persona Q2
Tips for Making Battle Themes
Some things to keep in mind when making battle themes:- Don't use any game dependent features or music: global_bgm, song("SONG_NAME"), game BGM IDs.
- Don't use music that was encrypted, such as P5R ADXs.
- For randomized BGM, you have to use arrays/list with random_song, such as in the example above.
- Since you don't have access to encounter blocks, to be able to change a battle's victory music use: battle_victory_set(battleMusic, victoryMusic)
- A neat feature of battle_victory_set is the ability to make battle music transition into the victory screen. Just use the same music for both.
- You can add however many battle themes you want added in the battle-themes folder, but only at the root directory (no sub-folders).
Configurable Themes and API
Battle themes has a config for easily creating configurable themes: ThemeConfigOptional battle themes go in an options folder, then you connect the config property to it: this.themeConfig.AddSetting(nameof(this.config.PQ2), "pq2.theme.pme");
There's also an API for more general use: IBattleThemesApi
Compatibility
Because this mod manages music IDs, any mod that uses BGME Battle Themes as a dependency will be compatible with each other. Any mod that edits battle BGM for normal battles will be overwritten by BGME Battle Themes a majority of the time.Persona 4 Golden
- Any mods that edit battle music using BGME Framework, such as Music Enhancement Pack, will be overwritten by this mod. Set this mod's priority to be higher if you want to use this mod.
- Any other mods that edit battle music by replacing existing songs will be overwritten by this mod.
Persona 5 Royal
- Custom Bonus Tweaks: Any new battle music it adds for normal battles will be overwritten.
- Battle Music Randomizer: Battle Music Randomizer is incompatible with BGME Framework, so I would recommend looking at both and deciding which you want for your playthrough.
- Any mods that edit battle music using BGME Framework will either be overwritten by this mod.
- Any other mods that edit battle music by replacing existing songs will be overwritten by this mod.
Persona 3 Portable
- Any mods that edit battle music using BGME Framework, like Battle Music Pack or Persona 3 Reload Battle Themes, will be overwritten by this mod.
- Any other mods that edit battle music by replacing existing songs will be overwritten by this mod.
Troubleshooting
Muted Audio, Audio Glitches, Crashing
It's possible that some files were corrupted during building, especially if you closed the game/program in the middle of it.Solution
- Click on BGME Battle Themes in Reloaded, then click Open Folder.
- Delete the folder for the game you're experiencing issues. Example: P5R users would delete P5R_PC.
Songs Not Building/Updating
For performance reasons, BGME Battle Themes manages all music files and only builds new files when needed. If you delete the files it's built for a game, or if you edited a music file it's built before, it's likely it won't know to rebuild it.Solution
- Click on BGME Battle Themes in Reloaded, then click Open Folder.
- Find the folder for your game and open it. Delete the file: music.json
- Starting the game should rebuild your files.