diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index 8fc5e986..0982a958 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -42,7 +42,7 @@ namespace Vocaluxe.Screens // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion { - get { return 7; } + get { return 8; } } private const string _TextCategory = "TextCategory"; @@ -66,6 +66,7 @@ namespace Vocaluxe.Screens private const string _ButtonOptionsRandomMedley = "ButtonOptionsRandomMedley"; private const string _ButtonOptionsStartMedley = "ButtonOptionsStartMedley"; private const string _ButtonStart = "ButtonStart"; + private const string _ButtonOptionsHighscore = "ButtonOptionsHighscore"; private const string _SelectSlideOptionsMode = "SelectSlideOptionsMode"; private const string _SelectSlideOptionsPlaylistAdd = "SelectSlideOptionsPlaylistAdd"; @@ -142,6 +143,7 @@ namespace Vocaluxe.Screens blist.Add(_ButtonStart); blist.Add(_ButtonOptionsRandomMedley); blist.Add(_ButtonOptionsStartMedley); + blist.Add(_ButtonOptionsHighscore); _TextsPlayer.Clear(); for (int i = 0; i < CSettings.MaxNumPlayer; i++) @@ -319,8 +321,7 @@ namespace Vocaluxe.Screens case Keys.H: if (keyEvent.Mod == EModifier.Ctrl && CSongs.NumSongsVisible > 0 && !_Sso.Selection.PartyMode) { - CScreenSong.setStaticSelectedSongID(_SongMenu.GetPreviewSongNr()); - CBase.Graphics.FadeTo(EScreen.Highscore); + _ShowHighscore(); } break; } @@ -420,6 +421,10 @@ namespace Vocaluxe.Screens _ToggleSongOptions(ESongOptionsView.None); _StartRandomMedley(_SelectSlides[_SelectSlideOptionsNumMedleySongs].Selection + 1, !CSongs.IsInCategory); } + else if (_Buttons[_ButtonOptionsHighscore].Selected) + { + _ShowHighscore(); + } break; case Keys.Escape: @@ -595,6 +600,10 @@ namespace Vocaluxe.Screens _StartRandomMedley(_SelectSlides[_SelectSlideOptionsNumMedleySongs].Selection + 1, !CSongs.IsInCategory); return true; } + else if (_Buttons[_ButtonOptionsHighscore].Selected) + { + _ShowHighscore(); + } else if (_Sso.Selection.RandomOnly && _Sso.Selection.NumJokers != null) { if (_Buttons[_ButtonStart].Selected) @@ -884,6 +893,13 @@ namespace Vocaluxe.Screens } } + private void _ShowHighscore() + { + CGame.ClearSongs(); + CScreenSong.setStaticSelectedSongID(CSongs.VisibleSongs[_SongMenu.GetPreviewSongNr()].ID); + CBase.Graphics.FadeTo(EScreen.Highscore); + } + private void _StartSong(int songNr) { if (CSongs.IsInCategory && (songNr >= 0)) @@ -1205,6 +1221,7 @@ namespace Vocaluxe.Screens _Buttons[_ButtonOptionsOpenSelectedItem].Visible = false; _Buttons[_ButtonOptionsRandomMedley].Visible = false; _Buttons[_ButtonOptionsStartMedley].Visible = false; + _Buttons[_ButtonOptionsHighscore].Visible = false; _Texts[_TextOptionsTitle].Visible = false; _Statics[_StaticOptionsBG].Visible = false; _Buttons[_ButtonOpenOptions].Visible = true; @@ -1261,6 +1278,7 @@ namespace Vocaluxe.Screens _SelectSlides[_SelectSlideOptionsPlaylistAdd].Visible = true; _Buttons[_ButtonOptionsSing].Visible = true; _Buttons[_ButtonOptionsPlaylist].Visible = true; + _Buttons[_ButtonOptionsHighscore].Visible = true; _SelectElement(_Buttons[_ButtonOptionsSing]); _SetSelectSlidePlaylistToCurrentPlaylist(); }