Music Fixes Extended

v2.0.0·Updated 2026-06-19

Restores the PSP rhythm helper fade and Fever theme loop for Patapon 1+2 Replay.

About this mod Machine translation

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

  • 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.

  • 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 setVolumeDirect

directly.

  • 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.update never fires, Rhythm.getState() is constant, and the per‑frame

Director methods are unsafe to call from injected hooks — so none of the P1 techniques

port over.

  • The live battle engine runs in the P2.Sound namespace (the parallel P2S.* 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 (investment, command /

input) vs State_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 | …

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_IL2CPP

File & checksum

Filename
Music_Fixes_Extended-2.0.0.zip
File size
100.4 KiB