Music Fixes Extended

版本 v2.0.0·更新於 2026-06-19

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

模組介紹 作者原文

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 (投げ, 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 | The hel

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack_IL2CPP

檔案與校驗

檔案名稱
Music_Fixes_Extended-2.0.0.zip
檔案大小
100.4 KiB