Skip to content

Commit 5ba790e

Browse files
committed
Handle VoiceLanguage for in-game cutscenes
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
1 parent 0936460 commit 5ba790e

3 files changed

Lines changed: 23 additions & 13 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+
}

MarathonRecomp/patches/misc_patches.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,3 @@ bool DisableHints()
104104
{
105105
return !Config::Hints;
106106
}
107-
108-
void XmvPlayerLang(PPCRegister& r11)
109-
{
110-
r11.u32 = 1;
111-
112-
if (Config::VoiceLanguage == EVoiceLanguage::Japanese)
113-
r11.u32++;
114-
}
115-
116-
void CsbSbkLang(PPCRegister& r8)
117-
{
118-
r8.u32 = Config::VoiceLanguage == EVoiceLanguage::Japanese ? 0 : 1;
119-
}

MarathonRecompLib/config/Marathon.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,8 @@ registers = ["r8"]
234234
name = "CsbSbkLang"
235235
address = 0x826121BC
236236
registers = ["r8"]
237+
238+
[[midasm_hook]]
239+
name = "MovieVoiceLang"
240+
address = 0x8264B4E4
241+
registers = ["r19"]

0 commit comments

Comments
 (0)