Skip to content

Commit b412fd5

Browse files
committed
Handle VoiceLanguage for WMV, CSB, SBK, & in-game cutscenes
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
1 parent 32cae3a commit b412fd5

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

MarathonRecomp/patches/audio_patches.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,21 @@ void PowerUpJingleDurationFix(PPCRegister& duration)
8888

8989
duration.f64 = 20.0;
9090
}
91+
92+
void XmvPlayerLang(PPCRegister& r11)
93+
{
94+
r11.u32 = 1;
95+
96+
if (Config::VoiceLanguage == EVoiceLanguage::Japanese)
97+
r11.u32++;
98+
}
99+
100+
void CsbSbkLang(PPCRegister& r8)
101+
{
102+
r8.u32 = Config::VoiceLanguage == EVoiceLanguage::Japanese ? 0 : 1;
103+
}
104+
105+
void MovieVoiceLang(PPCRegister& r19)
106+
{
107+
r19.u32 = Config::VoiceLanguage == EVoiceLanguage::Japanese ? 0x80000000 : 0x40000000;
108+
}

MarathonRecompLib/config/Marathon.toml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,3 +219,23 @@ registers = ["f13"]
219219
name = "PowerUpJingleDurationFix"
220220
address = 0x8216CC28
221221
registers = ["f31"]
222+
223+
[[midasm_hook]]
224+
name = "XmvPlayerLang"
225+
address = 0x8264D844
226+
registers = ["r11"]
227+
228+
[[midasm_hook]]
229+
name = "CsbSbkLang"
230+
address = 0x826124B0
231+
registers = ["r8"]
232+
233+
[[midasm_hook]]
234+
name = "CsbSbkLang"
235+
address = 0x826121BC
236+
registers = ["r8"]
237+
238+
[[midasm_hook]]
239+
name = "MovieVoiceLang"
240+
address = 0x8264B4E4
241+
registers = ["r19"]

0 commit comments

Comments
 (0)