diff --git a/Vocaluxe/Base/CGame.cs b/Vocaluxe/Base/CGame.cs index 514c8543..f0a3c23f 100644 --- a/Vocaluxe/Base/CGame.cs +++ b/Vocaluxe/Base/CGame.cs @@ -304,7 +304,8 @@ namespace Vocaluxe.Base TonePlayer = Tone; _Player[p].NoteDiff = Math.Abs(Tone - TonePlayer); - if (_Player[p].NoteDiff <= (2 - (int)_Player[p].Difficulty)) + bool Hit=_Player[p].NoteDiff <= (2 - (int)_Player[p].Difficulty); + if (Hit) { // valid //CSound.RecordSetTone(p, Tone); @@ -318,7 +319,7 @@ namespace Vocaluxe.Base if (_Player[p].SingLine[Line].NoteCount > 0) { CNote nt = _Player[p].SingLine[Line].LastNote; - if (notes[Note].StartBeat == beat || nt.EndBeat + 1 != beat || nt.Tone != Tone) + if (notes[Note].StartBeat == beat || nt.EndBeat + 1 != beat || nt.Tone != Tone || !nt.Hit) _Player[p].SingLine[Line].AddNote(new CNote(beat, 1, Tone, String.Empty, true, notes[Note].NoteType)); else { @@ -338,18 +339,13 @@ namespace Vocaluxe.Base if (_Player[p].SingLine[Line].NoteCount > 0) { CNote nt = _Player[p].SingLine[Line].LastNote; - if (nt.EndBeat + 1 != beat || nt.Hit) - _Player[p].SingLine[Line].AddNote(new CNote(beat, 1, TonePlayer, String.Empty, false, ENoteType.Freestyle)); + if (nt.Tone == TonePlayer && nt.EndBeat + 1 == beat && !nt.Hit) + { + _Player[p].SingLine[Line].IncLastNoteLength(); + } else { - if (nt.Tone == TonePlayer && nt.EndBeat + 1 == beat) - { - _Player[p].SingLine[Line].IncLastNoteLength(); - } - else - { - _Player[p].SingLine[Line].AddNote(new CNote(beat, 1, TonePlayer, String.Empty, false, ENoteType.Freestyle)); - } + _Player[p].SingLine[Line].AddNote(new CNote(beat, 1, TonePlayer, String.Empty, false, ENoteType.Freestyle)); } } else