Fix rockers pitch bend (#789)

This commit is contained in:
EpicGamer2469 2024-03-13 20:18:13 -05:00 committed by GitHub
parent ac08cf44ad
commit a322d48329

View file

@ -220,9 +220,8 @@ namespace HeavenStudio.Games.Scripts_Rockers
if (bending || !strumming) return;
bending = true;
lastBendPitch = pitch;
if (chordSound != null)
{
chordSound.BendUp(0.05f, SoundByte.GetPitchFromSemiTones(SoundByte.GetSemitonesFromPitch(chordSound.pitch, true) + pitch, true));
if (chordSound != null) {
chordSound.BendUp(0.05f, GetBentPitch(chordSound.pitch, pitch));
}
else
{
@ -230,7 +229,7 @@ namespace HeavenStudio.Games.Scripts_Rockers
{
if (stringSounds[i] != null)
{
stringSounds[i].BendUp(0.05f, SoundByte.GetPitchFromSemiTones(SoundByte.GetSemitonesFromPitch(stringSounds[i].pitch, true) + pitch, true));
stringSounds[i].BendUp(0.05f, GetBentPitch(stringSounds[i].pitch, pitch));
}
}
}
@ -299,6 +298,14 @@ namespace HeavenStudio.Games.Scripts_Rockers
{
anim.DoScaledAnimationAsync((JJ ? "JJ" : "") + name, time);
}
private float GetBentPitch(float pitch, int bend)
{
float unscaledPitch = chordSound.pitch / Conductor.instance.musicSource.pitch;
float bendPitch = SoundByte.GetPitchFromSemiTones(bend, false);
return (unscaledPitch * bendPitch) * Conductor.instance.musicSource.pitch;
}
}
}