diff --git a/Output/Themes/Changelog/Changelog_ScreenSing.txt b/Output/Themes/Changelog/Changelog_ScreenSing.txt index 51b97fd8..dd1ef423 100644 --- a/Output/Themes/Changelog/Changelog_ScreenSing.txt +++ b/Output/Themes/Changelog/Changelog_ScreenSing.txt @@ -5,6 +5,8 @@ Version 7 Add: !text-position and size will be overwritten by vocaluxe! + Only shown if N$ matches Number of players + Only shown if N$ matches Number of players +++++++++ Version 6 diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index 982865e6..829c69d1 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -859,6 +859,32 @@ namespace Vocaluxe.Screens _Texts[_TextDuetName1].Visible = false; _Texts[_TextDuetName2].Visible = false; + List staticsExtra = new List (); + List textsExtra = new List (); + + //Everything Static or Text with Extra should be only visible + //If Player-Number matches CGame.NumPlayers + foreach(CStatic st in _Statics) + if(st.GetThemeName().StartsWith("StaticExtra")) + staticsExtra.Add(st.GetThemeName()); + + foreach(CText tx in _Texts) + if(tx.GetThemeName().StartsWith("TextExtra")) + textsExtra.Add(tx.GetThemeName()); + + string curN = "N"+(CGame.NumPlayers); + foreach (string st in staticsExtra) + { + string n = st.Substring(st.Length - 2); + _Statics[st].Visible = n == curN; + } + + foreach (string tx in textsExtra) + { + string n = tx.Substring(tx.Length - 2); + _Texts[tx].Visible = n == curN; + } + for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++) { for (int player = 0; player < CSettings.MaxNumPlayer && player <= numplayer; player++)