Revert ScreenSing Version to 7 and Generate Elements in Code
To trim the fat off ScreenSing.xml the elements are now generated using info for one screen as a base for the other screens.
This commit is contained in:
1 parent
bf5205b080
commit
504d351cc2
4 files changed
+339
-7515
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -1,20 +1,5 @@
|
||||
ScreenSing
|
||||
|
||||
+++++++++
|
||||
Version 8
|
||||
|
||||
Add:
|
||||
Modified elements for 6 monitors support
|
||||
|
||||
S# = Screen
|
||||
P# = Player
|
||||
N# = Players on screen
|
||||
|
||||
<StaticAvatarS#P#N#>
|
||||
<StaticScoreS#P#N#>
|
||||
<TextNameS#P#N#>
|
||||
<TextScoreS#P#N#>
|
||||
|
||||
+++++++++
|
||||
Version 7
|
||||
|
||||
|
||||
+106
-13
@@ -38,7 +38,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 8; }
|
||||
get { return 7; }
|
||||
}
|
||||
|
||||
private struct STimeRect
|
||||
@@ -155,6 +155,8 @@ namespace Vocaluxe.Screens
|
||||
_StaticPauseBG
|
||||
};
|
||||
_BuildStaticStrings(ref statics);
|
||||
_CreatePlayerStatics();
|
||||
_CreatePlayerStrings();
|
||||
_AssignPlayerElements();
|
||||
_ThemeStatics = statics.ToArray();
|
||||
|
||||
@@ -388,6 +390,9 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
base.OnShow();
|
||||
|
||||
_InitiatePlayerStatics();
|
||||
_InitiatePlayerStrings();
|
||||
|
||||
_FadeOut = false;
|
||||
|
||||
_CurrentVideo = null;
|
||||
@@ -817,6 +822,29 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
_TextScores = new string[CSettings.MaxNumScreens, CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
|
||||
_TextNames = new string[CSettings.MaxNumScreens, CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
|
||||
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
_TextScores[screen, player, numplayer] = "TextScoreS" + (screen + 1) + target;
|
||||
_TextNames[screen, player, numplayer] = "TextNameS" + (screen + 1) + target;
|
||||
}
|
||||
texts.Add("TextScore" + target);
|
||||
texts.Add("TextName" + target);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void _CreatePlayerStrings()
|
||||
{
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
@@ -825,12 +853,33 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "S" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_TextScores[screen, player, numplayer] = "TextScore" + target;
|
||||
_TextNames[screen, player, numplayer] = "TextName" + target;
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_AddText(GetNewText(), "TextScoreS" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1));
|
||||
_AddText(GetNewText(), "TextNameS" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texts.Add(_TextScores[screen, player, numplayer]);
|
||||
texts.Add(_TextNames[screen, player, numplayer]);
|
||||
private void _InitiatePlayerStrings()
|
||||
{
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_Texts["TextNameS" + (screen + 1) + target] = GetNewText(_Texts["TextName" + target]);
|
||||
_Texts["TextNameS" + (screen + 1) + target].X += screen * CSettings.RenderW;
|
||||
_Texts["TextName" + target].Visible = false;
|
||||
|
||||
_Texts["TextScoreS" + (screen + 1) + target] = GetNewText(_Texts["TextScore" + target]);
|
||||
_Texts["TextScoreS" + (screen + 1) + target].X += screen * CSettings.RenderW;
|
||||
_Texts["TextScore" + target].Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -842,6 +891,29 @@ namespace Vocaluxe.Screens
|
||||
_StaticScores = new string[CSettings.MaxNumScreens, CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
|
||||
_StaticAvatars = new string[CSettings.MaxNumScreens, CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
|
||||
|
||||
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
_StaticScores[screen, player, numplayer] = "StaticScoreS" + (screen + 1) + target;
|
||||
_StaticAvatars[screen, player, numplayer] = "StaticAvatarS" + (screen + 1) + target;
|
||||
}
|
||||
statics.Add("StaticScore" + target);
|
||||
statics.Add("StaticAvatar" + target);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void _CreatePlayerStatics()
|
||||
{
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
@@ -850,12 +922,33 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "S" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_StaticScores[screen, player, numplayer] = "StaticScore" + target;
|
||||
_StaticAvatars[screen, player, numplayer] = "StaticAvatar" + target;
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_AddStatic(GetNewStatic(), "StaticScoreS" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1));
|
||||
_AddStatic(GetNewStatic(), "StaticAvatarS" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
statics.Add(_StaticScores[screen, player, numplayer]);
|
||||
statics.Add(_StaticAvatars[screen, player, numplayer]);
|
||||
private void _InitiatePlayerStatics()
|
||||
{
|
||||
for (int screen = 0; screen < CSettings.MaxNumScreens; screen++)
|
||||
{
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
string target = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_Statics["StaticAvatarS" + (screen + 1) + target] = GetNewStatic(_Statics["StaticAvatar" + target]);
|
||||
_Statics["StaticAvatarS" + (screen + 1) + target].X += screen * CSettings.RenderW;
|
||||
_Statics["StaticAvatar" + target].Visible = false;
|
||||
|
||||
_Statics["StaticScoreS" + (screen + 1) + target] = GetNewStatic(_Statics["StaticScore" + target]);
|
||||
_Statics["StaticScoreS" + (screen + 1) + target].X += screen * CSettings.RenderW;
|
||||
_Statics["StaticScore" + target].Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -882,11 +975,11 @@ namespace Vocaluxe.Screens
|
||||
//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"))
|
||||
if (st.GetThemeName() != null && st.GetThemeName().StartsWith("StaticExtra"))
|
||||
staticsExtra.Add(st.GetThemeName());
|
||||
|
||||
foreach (CText tx in _Texts)
|
||||
if (tx.GetThemeName().StartsWith("TextExtra"))
|
||||
if (tx.GetThemeName() != null && tx.GetThemeName().StartsWith("TextExtra"))
|
||||
textsExtra.Add(tx.GetThemeName());
|
||||
|
||||
string curN = "N" + (CGame.NumPlayers);
|
||||
|
||||
@@ -121,25 +121,20 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
ThemeLoaded &= xmlReader.GetValue(item + "/SkinToneHelper", out _Theme.SkinToneHelper, String.Empty);
|
||||
ThemeLoaded &= xmlReader.GetValue(item + "/SkinPerfectNoteStar", out _Theme.SkinPerfectNoteStart, String.Empty);
|
||||
|
||||
int i = 0;
|
||||
_BarPos = new SRectF[CBase.Settings.GetMaxNumScreens(), CBase.Settings.GetMaxNumPlayer(), CBase.Settings.GetMaxNumPlayer()];
|
||||
for (int numplayer = 0; numplayer < CBase.Settings.GetMaxNumPlayer(); numplayer++)
|
||||
{
|
||||
for (int screen = 0; screen < CBase.Settings.GetMaxNumScreens(); screen++)
|
||||
for (int player = 0; player <= numplayer; player++)
|
||||
{
|
||||
for (int player = 0; player <= numplayer; player++)
|
||||
{
|
||||
_BarPos[screen, player, numplayer] = new SRectF();
|
||||
string target = "/BarPositions/S" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "X", ref _BarPos[screen, player, numplayer].X);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Y", ref _BarPos[screen, player, numplayer].Y);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Z", ref _BarPos[screen, player, numplayer].Z);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "W", ref _BarPos[screen, player, numplayer].W);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "H", ref _BarPos[screen, player, numplayer].H);
|
||||
_Theme.BarPos[i].Name = "S" + (screen + 1) + "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_Theme.BarPos[i].Rect = _BarPos[screen, player, numplayer];
|
||||
i++;
|
||||
}
|
||||
_BarPos[0, player, numplayer] = new SRectF();
|
||||
string target = "/BarPositions/P" + (player + 1) + "N" + (numplayer + 1);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "X", ref _BarPos[0, player, numplayer].X);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Y", ref _BarPos[0, player, numplayer].Y);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Z", ref _BarPos[0, player, numplayer].Z);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "W", ref _BarPos[0, player, numplayer].W);
|
||||
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "H", ref _BarPos[0, player, numplayer].H);
|
||||
_Theme.BarPos[player].Name = "P" + (player + 1) + "N" + (numplayer + 1);
|
||||
_Theme.BarPos[player].Rect = _BarPos[0, player, numplayer];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,11 +216,13 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
Z = _Theme.BarPos.Select(bp => bp.Rect.Z).Average();
|
||||
foreach (SBarPosition bp in _Theme.BarPos)
|
||||
{
|
||||
int p = Int32.Parse(bp.Name.Substring(3, 1)) - 1;
|
||||
int s = Int32.Parse(bp.Name.Substring(1, 1)) - 1;
|
||||
int n = Int32.Parse(bp.Name.Substring(5, 1)) - 1;
|
||||
|
||||
_BarPos[s, p, n] = bp.Rect;
|
||||
int n = Int32.Parse(bp.Name.Substring(3, 1)) - 1;
|
||||
int p = Int32.Parse(bp.Name.Substring(1, 1)) - 1;
|
||||
for (int s = 0; s < CBase.Settings.GetMaxNumScreens(); s++)
|
||||
{
|
||||
_BarPos[s, p, n] = bp.Rect;
|
||||
_BarPos[s, p, n].X += s * CBase.Settings.GetRenderW();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user