diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml
index 1c508212..5a9c9359 100644
--- a/Output/Themes/Ambient/Screens/ScreenSing.xml
+++ b/Output/Themes/Ambient/Screens/ScreenSing.xml
@@ -17,10 +17,10 @@
Score
190
- 694
- -1,10
+ 10
+ -1,00
900
- 25
+ 50
StaticColor
@@ -49,7 +49,7 @@
Lyrics
40
- 15
+ 7
-0,75
1200
93
@@ -65,7 +65,7 @@
Lyrics
40
- 15
+ 7
-0,75
1200
93
@@ -183,7 +183,7 @@
LyricHelper
40
- 20
+ 12
-1,00
45
45
@@ -202,7 +202,7 @@
LyricHelper
40
- 20
+ 12
-1,00
45
45
@@ -232,6 +232,405 @@
+
+
+ Invisible
+
+ 40
+ 360
+ -0,75
+ 190
+ 190
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 160
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 360
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 111
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 274
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 442
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 160
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 360
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 160
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 360
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 111
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 274
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 442
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 160
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 360
+ -0,75
+ 165
+ 165
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 111
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 274
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 40
+ 442
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 111
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 274
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
+
+
+ Invisible
+
+ 1103
+ 442
+ -0,75
+ 140
+ 140
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+
+
Invisible
@@ -571,11 +970,11 @@
640
- 695
+ 18
- -1,10
+ -1,00
- 23
+ 32
880
@@ -738,7 +1137,7 @@
-1,00
- 158
+ 148
@@ -765,7 +1164,7 @@
-1,00
- 158
+ 148
@@ -792,7 +1191,7 @@
-1,00
- 158
+ 148
@@ -927,7 +1326,7 @@
-1,00
- 158
+ 148
@@ -954,7 +1353,7 @@
-1,00
- 158
+ 148
@@ -981,7 +1380,7 @@
-1,00
- 158
+ 148
@@ -1062,7 +1461,7 @@
-1,00
- 158
+ 148
@@ -1089,7 +1488,7 @@
-1,00
- 158
+ 148
@@ -1116,7 +1515,7 @@
-1,00
- 158
+ 148
@@ -1143,7 +1542,7 @@
-1,00
- 158
+ 148
@@ -1170,7 +1569,7 @@
-1,00
- 158
+ 148
@@ -1197,7 +1596,7 @@
-1,00
- 158
+ 148
@@ -1217,6 +1616,636 @@
+
+
+ 110
+ 513
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ TextSColor
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 288
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player1
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 488
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player2
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 219
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player1
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 382
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player2
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 550
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player3
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 288
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player1
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 488
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player2
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 288
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player3
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 488
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player4
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 219
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player1
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 382
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player2
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 550
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player3
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 288
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player4
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 488
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player5
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 219
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player1
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 382
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player2
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 110
+ 550
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player3
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 219
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player4
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 382
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player5
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
+
+
+ 1173
+ 550
+
+ -1,00
+
+ 28
+
+
+
+ 1,000
+ 1,000
+ 1,000
+ 0,400
+
+
+ Player6
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
Button
@@ -1358,7 +2387,7 @@
637
- 20
+ 12
-1,00
1200
50
@@ -1372,7 +2401,7 @@
637
- 62
+ 54
-1,00
1200
45
@@ -1386,7 +2415,7 @@
637
- 20
+ 12
-1,00
1200
50
@@ -1400,7 +2429,7 @@
637
- 62
+ 54
-1,00
1200
45
@@ -1453,17 +2482,17 @@
105
-1,50
1210
- 160
+ 150
35
268
-1,50
1210
- 160
+ 150
35
436
-1,50
1210
- 160
+ 150
35
150
-1,50
@@ -1488,17 +2517,17 @@
105
-1,50
578
- 160
+ 150
35
268
-1,50
578
- 160
+ 150
35
436
-1,50
578
- 160
+ 150
678
150
-1,50
@@ -1513,32 +2542,32 @@
105
-1,50
578
- 160
+ 150
35
268
-1,50
578
- 160
+ 150
35
436
-1,50
578
- 160
+ 150
678
105
-1,50
578
- 160
+ 150
678
268
-1,50
578
- 160
+ 150
678
436
-1,50
578
- 160
+ 150
diff --git a/Output/Themes/Changelog/Changelog_ScreenSing.txt b/Output/Themes/Changelog/Changelog_ScreenSing.txt
index 467cd165..22c5fa99 100644
--- a/Output/Themes/Changelog/Changelog_ScreenSing.txt
+++ b/Output/Themes/Changelog/Changelog_ScreenSing.txt
@@ -4,6 +4,10 @@ ScreenSing
Version 4:
Added Elements for 6-player-singing!
+Add:
+ (One for each player for each player-number>
+ (One for each player for each player-number>
+
++++++++++
Version 3:
diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs
index a1d83a61..081d2305 100644
--- a/Vocaluxe/Base/CConfig.cs
+++ b/Vocaluxe/Base/CConfig.cs
@@ -152,6 +152,14 @@ namespace Vocaluxe.Base
TR_CONFIG_ONLY_OWN_MUSIC
}
+ public enum EPlayerInfo
+ {
+ TR_CONFIG_PLAYERINFO_BOTH,
+ TR_CONFIG_PLAYERINFO_NAME,
+ TR_CONFIG_PLAYERINFO_AVATAR,
+ TR_CONFIG_PLAYERINFO_OFF
+ }
+
#endregion Enums
static class CConfig
@@ -185,6 +193,7 @@ namespace Vocaluxe.Base
public static EOffOn DrawNoteLines = EOffOn.TR_CONFIG_ON;
public static EOffOn DrawToneHelper = EOffOn.TR_CONFIG_ON;
public static ETimerLook TimerLook = ETimerLook.TR_CONFIG_TIMERLOOK_EXPANDED;
+ public static EPlayerInfo PlayerInfo = EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH;
public static ECoverLoading CoverLoading = ECoverLoading.TR_CONFIG_COVERLOADING_ATSTART;
// Sound
@@ -301,6 +310,7 @@ namespace Vocaluxe.Base
CHelper.TryGetEnumValueFromXML("//root/Theme/DrawNoteLines", navigator, ref DrawNoteLines);
CHelper.TryGetEnumValueFromXML("//root/Theme/DrawToneHelper", navigator, ref DrawToneHelper);
CHelper.TryGetEnumValueFromXML("//root/Theme/TimerLook", navigator, ref TimerLook);
+ CHelper.TryGetEnumValueFromXML("//root/Theme/PlayerInfo", navigator, ref PlayerInfo);
CHelper.TryGetEnumValueFromXML("//root/Theme/CoverLoading", navigator, ref CoverLoading);
#endregion Theme
@@ -503,6 +513,9 @@ namespace Vocaluxe.Base
writer.WriteComment("Look of timer:" + ListStrings(Enum.GetNames(typeof(ETimerLook))));
writer.WriteElementString("TimerLook", Enum.GetName(typeof(ETimerLook), TimerLook));
+ writer.WriteComment("Information about players on SingScreen:" + ListStrings(Enum.GetNames(typeof(EPlayerInfo))));
+ writer.WriteElementString("PlayerInfo", Enum.GetName(typeof(EPlayerInfo), PlayerInfo));
+
writer.WriteComment("Cover Loading:" + ListStrings(Enum.GetNames(typeof(ECoverLoading))));
writer.WriteElementString("CoverLoading", Enum.GetName(typeof(ECoverLoading), CoverLoading));
diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs
index 08a9220a..fd0cac43 100644
--- a/Vocaluxe/Screens/CScreenSing.cs
+++ b/Vocaluxe/Screens/CScreenSing.cs
@@ -30,6 +30,7 @@ namespace Vocaluxe.Screens
private const string TextTime = "TextTime";
private const string TextPause = "TextPause";
private string[,] TextScores;
+ private string[,] TextNames;
private const string StaticSongText = "StaticSongText";
private const string StaticLyrics = "StaticLyrics";
@@ -46,6 +47,7 @@ namespace Vocaluxe.Screens
private const string StaticPauseBG = "StaticPauseBG";
private string[,] StaticScores;
+ private string[,] StaticAvatars;
private const string ButtonCancel = "ButtonCancel";
private const string ButtonContinue = "ButtonContinue";
@@ -185,6 +187,19 @@ namespace Vocaluxe.Screens
CConfig.TimerMode = (ETimerMode)mode;
break;
+ case Keys.I:
+ mode = (int)CConfig.PlayerInfo;
+
+ mode++;
+ if (mode > Enum.GetNames(typeof(EPlayerInfo)).Length - 1)
+ {
+ mode = 0;
+ }
+ CConfig.PlayerInfo = (EPlayerInfo)mode;
+ CConfig.SaveConfig();
+ SetVisuability();
+ break;
+
case Keys.Enter:
if (Buttons[htButtons(ButtonContinue)].Selected && _Pause)
TogglePause();
@@ -333,6 +348,8 @@ namespace Vocaluxe.Screens
}
SetVisuability();
+ UpdateAvatars();
+ UpdateNames();
CBackgroundMusic.Pause();
}
@@ -680,6 +697,7 @@ namespace Vocaluxe.Screens
private void BuildTextStrings(ref List texts)
{
TextScores = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
+ TextNames = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
{
@@ -689,8 +707,10 @@ namespace Vocaluxe.Screens
{
string target = "P" + (player + 1).ToString() + "N" + (numplayer + 1).ToString();
TextScores[player, numplayer] = "TextScore" + target;
+ TextNames[player, numplayer] = "TextName" + target;
texts.Add(TextScores[player, numplayer]);
+ texts.Add(TextNames[player, numplayer]);
}
}
}
@@ -699,6 +719,7 @@ namespace Vocaluxe.Screens
private void BuildStaticStrings(ref List statics)
{
StaticScores = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
+ StaticAvatars = new string[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
{
@@ -708,8 +729,10 @@ namespace Vocaluxe.Screens
{
string target = "P" + (player + 1).ToString() + "N" + (numplayer + 1).ToString();
StaticScores[player, numplayer] = "StaticScore" + target;
+ StaticAvatars[player, numplayer] = "StaticAvatar" + target;
statics.Add(StaticScores[player, numplayer]);
+ statics.Add(StaticAvatars[player, numplayer]);
}
}
}
@@ -734,7 +757,11 @@ namespace Vocaluxe.Screens
if (player <= numplayer)
{
Texts[htTexts(TextScores[player, numplayer])].Visible = (numplayer + 1 == CGame.NumPlayer);
+ Texts[htTexts(TextNames[player, numplayer])].Visible = ((numplayer + 1 == CGame.NumPlayer)
+ && (CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH || CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_NAME));
Statics[htStatics(StaticScores[player, numplayer])].Visible = (numplayer + 1 == CGame.NumPlayer);
+ Statics[htStatics(StaticAvatars[player, numplayer])].Visible = ((numplayer + 1 == CGame.NumPlayer)
+ && (CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_BOTH || CConfig.PlayerInfo == EPlayerInfo.TR_CONFIG_PLAYERINFO_AVATAR));
}
}
}
@@ -1113,5 +1140,35 @@ namespace Vocaluxe.Screens
break;
}
}
+
+ private void UpdateAvatars()
+ {
+ for (int i = 0; i < CGame.NumPlayer; i++)
+ {
+ if (CGame.Player[i].ProfileID > -1)
+ {
+ Statics[htStatics(StaticAvatars[i, CGame.NumPlayer - 1])].Texture = CProfiles.Profiles[CGame.Player[i].ProfileID].Avatar.Texture;
+ }
+ else
+ {
+ Statics[htStatics(StaticAvatars[i, CGame.NumPlayer - 1])].Visible = false;
+ }
+ }
+ }
+
+ private void UpdateNames()
+ {
+ for (int i = 0; i < CGame.NumPlayer; i++)
+ {
+ if (CGame.Player[i].ProfileID > -1)
+ {
+ Texts[htTexts(TextNames[i, CGame.NumPlayer - 1])].Text = CProfiles.Profiles[CGame.Player[i].ProfileID].PlayerName;
+ }
+ else
+ {
+ Texts[htTexts(TextNames[i, CGame.NumPlayer - 1])].Visible = false;
+ }
+ }
+ }
}
}