Music Fixes Extended
Restores the PSP rhythm helper fade and Fever theme loop for Patapon 1+2 Replay.
By Loyaldk
| Last updated | 2 weeks ago |
| Total downloads | 55 |
| Total rating | 0 |
| Categories | Mods Game mechanics Sound Patapon 1 Patapon 2 |
| Dependency string | Loyaldk-Music_Fixes_Extended-2.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.755README
Music Fixes Extended
A BepInEx 6 (IL2CPP) plugin for Patapon 1+2 Replay that restores a near-original audio experience. It is an extended continuation of JurasPatryk's original Music Fixes mod, keeping the original theme‑loop fix and adding a faithful recreation of the rhythm "helper" behavior from the PSP originals in both Patapon 1 and Patapon 2.
What it does
1. Theme loop / play‑count fix (Patapon 1 & 2)
On the Replay release, the Mood_High (Fever) play counter could overrun and break the intended theme loop. The plugin virtualizes the play count back into the original 16‑step window so the Fever theme loops the way it did on PSP.
2. Helper fade (Patapon 1 & 2) — the headline feature
On PSP, the rhythm helper (the light backing instrumental that keeps you on the beat) ducks away during the chant / response phase and returns while you are drumming a command. The Replay release plays it flat. This plugin restores that behavior:
- While you are entering a command, the helper plays at full volume.
- As the chant/response phase begins, the helper fades out.
- When the next input window opens, it fades back in.
The fade even leads slightly into the chant (starting a configurable ~250 ms early) and is tempo-adaptive, so the timing stays consistent as Fever speeds the song up.
How it was achieved (technical breakdown)
The two games are built very differently under the hood, so each needed its own approach.
Patapon 1
- The helper is a distinct MIDI accompaniment layer (
RhythmBgmPlayer) whose inner sequencer voice (rhythm_) owns the real volume. The outer player's volume calls are no‑ops because it carries no live CriWare resource (rid = -1), which is why the original mod could only hard‑mute it. - The plugin captures that helper player and drives the inner voice's
setVolumeDirectdirectly. - Phase is read from
Rhythm.isPlay_: it flips true when a command is issued (chant begins → silence the helper) and false when the input window reopens (restore it).
Patapon 2
Patapon 2's audio engine is structured completely differently, which made this the hard part:
- There is no separate helper player — the only battle MIDI is the main theme, and the helper lives inside the BGM mixing category.
Rhythm.updatenever fires,Rhythm.getState()is constant, and the per‑frameDirectormethods are unsafe to call from injected hooks — so none of the P1 techniques port over.- The live battle engine runs in the
P2.Soundnamespace (the parallelP2S.*classes are compiled in but dead at runtime).
The working solution:
- Hook
P2.Sound.BeatCommander.update— the real per‑frame battle tick. - Read the rhythm phase from
BeatCommander.getState():State_Nage(投げ, command / input) vsState_Kaesi(返し, response / chant). - During
Kaesi, fade the BGM mixing category volume down to a configurable floor and back up afterward. Because the game re‑applies that category's volume every frame, the fade value is recomputed and re‑applied each frame so it can't be reverted. - The fade-out begins a configurable number of milliseconds before beat 4 (where the chant starts), using a live measurement of the current beat duration so the lead stays constant during Fever.
Configuration
Settings live in BepInEx/config/juras.patapon.audiofix.cfg.
[AudioFix]
| Key | Default | Description |
|---|---|---|
AudioFix_ThemeLoopFix |
1 |
Enable the Fever theme play‑count loop fix. 0 to disable. |
AudioFix_HelperMute |
1 |
Enable the helper fade behavior. 0 to disable. |
[AudioFix_P2] (Patapon 2 helper‑fade tuning)
| Key | Default | Description |
|---|---|---|
AudioFix_P2HelperCategory |
3 |
CriWare mixing category that carries the helper (3 = BGM). Only change if a game update moves it. |
AudioFix_P2FadeMs |
400 |
Fade duration in milliseconds. Higher = more gradual. |
AudioFix_P2FadeLeadMs |
250 |
How many milliseconds before the chant the fade begins. 0 = start exactly at the chant. Tempo‑adaptive. |
AudioFix_P2FullVolumePercent |
70 |
The helper's full (un‑ducked) volume as a percent. Lower it if the helper briefly jumps louder at the chant start; raise it if it's too quiet while drumming. |
Requirements
- Patapon 1+2 Replay (Steam)
- BepInEx 6 (IL2CPP) — install via r2modman / Thunderstore Mod Manager.
Installation
Install through r2modman / Thunderstore Mod Manager, or drop PataponAudioFixes.dll into
BepInEx/plugins/.
Note: this mod replaces the original Music Fixes (it uses the same plugin id, so the two should not be installed together).
Credits
- JurasPatryk — original Music Fixes mod (theme-loop fix) this builds upon.
- Loyaldk — direction, testing, and quality assurance for Music Fixes Extended.
- Claude (Anthropic) — reverse-engineering and implementation of the helper-fade recreation for Patapon 1 & 2.
Please keep the original author's credit intact in any redistribution.
Changelog
All notable changes to Music Fixes Extended.
[2.0.0]
Extended release — adds a faithful recreation of the PSP rhythm helper behavior on top of the original theme‑loop fix.
Added
- Helper fade (Patapon 1): the helper accompaniment now fades out during the chant / response phase and back in during the command phase, driven off the rhythm play state and applied to the inner MIDI sequencer voice.
- Helper fade (Patapon 2): the same behavior recreated on Patapon 2's very different
audio engine — driven off
BeatCommanderNage/Kaesiphase and applied by ducking the BGM mixing category, re-applied each frame so the game's own volume resets can't revert it. - Tempo-adaptive lead-in: the P2 fade begins a configurable ~250 ms before the chant and measures the live beat duration so the lead stays constant during Fever.
- Config options (
[AudioFix_P2]):AudioFix_P2HelperCategory,AudioFix_P2FadeMs,AudioFix_P2FadeLeadMs,AudioFix_P2FullVolumePercent.
Changed
- Helper handling no longer hard‑mutes; it uses smooth volume fades for a more natural, near-original feel.
- Plugin renamed to Music Fixes Extended (plugin id unchanged, so it drops in as a replacement for the original Music Fixes).
Notes
- Debug logging is disabled in release builds.
- Default tuning: fade 400 ms, lead‑in 250 ms, full helper volume 70%.
[1.0.0] — original Music Fixes (JurasPatryk)
- Fever (Mood_High) theme play‑count loop fix for Patapon 1 & 2.