Implement forced BGM opcodes

This commit is contained in:
gamer147
2026-07-29 12:38:54 -04:00
parent 137fae848f
commit 2908d38663
14 changed files with 259 additions and 45 deletions

View File

@@ -352,6 +352,13 @@ sealed class AudioTraceHost : IHost
var entry = _res.ResolveBgm(id);
Events.Add(("play-bgm", id, entry != null ? $"{entry.Archive} {entry.Name}" : $"BGM{id:D3}.OGG <missing>"));
}
public void RestartBgm(long id, int startMode)
{
var entry = _res.ResolveBgm(id);
string resolved = entry != null ? $"{entry.Archive} {entry.Name}" : $"BGM{id:D3}.OGG <missing>";
Events.Add((startMode == 0 ? "restart-bgm-once" : "restart-bgm-loop", id, resolved));
}
public void StopBgm() => Events.Add(("stop-bgm", 0, ""));
public void PlayVoice(long id) // voice: universal packed catalog id
{
var e = _res.ResolveVoice(id);