Merge remote-tracking branch 'remotes/flokuep/develop' into develop

This commit is contained in:
Alexander Eckart committed 2012-12-24 13:59:19 +01:00
commit f9bc72474b
15 files changed
+455 -30

No files matched your search

+2
View File
@@ -140,6 +140,8 @@
<TR_SCREENSONG_BUTTON_SINGALL>Alle Songs singen</TR_SCREENSONG_BUTTON_SINGALL>
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>Alle sichtbaren Songs singen</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>Playlist öffnen</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
<TR_SCREENSONG_BUTTON_RANDOMMEDLEY>Zufälliges Medley singen</TR_SCREENSONG_BUTTON_RANDOMMEDLEY>
<TR_SCREENSONG_BUTTON_STARTMEDLEY>Medley-Songs singen</TR_SCREENSONG_BUTTON_STARTMEDLEY>
<TR_SCREENSONG_NEWPLAYLIST>Neue Playlist</TR_SCREENSONG_NEWPLAYLIST>
<TR_SCREENSONG_SONGOPTIONS>Lied-Optionen</TR_SCREENSONG_SONGOPTIONS>
<TR_SCREENSONG_SEARCH>Suche:</TR_SCREENSONG_SEARCH>
+2
View File
@@ -140,6 +140,8 @@
<TR_SCREENSONG_BUTTON_SINGALL>Sing all songs</TR_SCREENSONG_BUTTON_SINGALL>
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>Sing all visible songs</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>Open playlist</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
<TR_SCREENSONG_BUTTON_RANDOMMEDLEY>Sing a random medley</TR_SCREENSONG_BUTTON_RANDOMMEDLEY>
<TR_SCREENSONG_BUTTON_STARTMEDLEY>Sing medley-songs</TR_SCREENSONG_BUTTON_STARTMEDLEY>
<TR_SCREENSONG_NEWPLAYLIST>New Playlist</TR_SCREENSONG_NEWPLAYLIST>
<TR_SCREENSONG_SONGOPTIONS>Song Options</TR_SCREENSONG_SONGOPTIONS>
<TR_SCREENSONG_SEARCH>Search:</TR_SCREENSONG_SEARCH>
+2
View File
@@ -140,6 +140,8 @@
<TR_SCREENSONG_BUTTON_SINGALL>Chanter toutes les chansons</TR_SCREENSONG_BUTTON_SINGALL>
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>Chanter toutes les chansons visibles</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>Ouvrir une playlist</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
<TR_SCREENSONG_BUTTON_RANDOMMEDLEY>TODO: Sing a random medley</TR_SCREENSONG_BUTTON_RANDOMMEDLEY>
<TR_SCREENSONG_BUTTON_STARTMEDLEY>TODO: Sing medley-songs</TR_SCREENSONG_BUTTON_STARTMEDLEY>
<TR_SCREENSONG_NEWPLAYLIST>Nouvelle playlist</TR_SCREENSONG_NEWPLAYLIST>
<TR_SCREENSONG_SONGOPTIONS>Option de la chanson</TR_SCREENSONG_SONGOPTIONS>
<TR_SCREENSONG_SEARCH>Rechercher:</TR_SCREENSONG_SEARCH>
+12
View File
@@ -126,6 +126,18 @@
<TR_SCREENNAMES_WARNING_PROFILES_PL>Advertencia: ¡No hay perfiles asignados a los jugadores %v!</TR_SCREENNAMES_WARNING_PROFILES_PL>
<!--ScreenSong-->
<TR_SCREENSONG_MENU>Selección de Canciones</TR_SCREENSONG_MENU>
<TR_SCREENSONG_BUTTON_SING>TODO: Sing</TR_SCREENSONG_BUTTON_SING>
<TR_SCREENSONG_BUTTON_PLAYLIST>TODO: Add to playlist</TR_SCREENSONG_BUTTON_PLAYLIST>
<TR_SCREENSONG_BUTTON_CANCEL>TODO: Close</TR_SCREENSONG_BUTTON_CANCEL>
<TR_SCREENSONG_BUTTON_RANDOM>TODO: Select a random song</TR_SCREENSONG_BUTTON_RANDOM>
<TR_SCREENSONG_BUTTON_RANDOMCAT>TODO: Select a random category</TR_SCREENSONG_BUTTON_RANDOMCAT>
<TR_SCREENSONG_BUTTON_SINGALL>TODO: Sing all songs</TR_SCREENSONG_BUTTON_SINGALL>
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>TODO: Sing all visible songs</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>TODO: Open playlist</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
<TR_SCREENSONG_BUTTON_RANDOMMEDLEY>TODO: Sing a random medley</TR_SCREENSONG_BUTTON_RANDOMMEDLEY>
<TR_SCREENSONG_BUTTON_STARTMEDLEY>TODO: Sing medley-songs</TR_SCREENSONG_BUTTON_STARTMEDLEY>
<TR_SCREENSONG_NEWPLAYLIST>TODO: New Playlist</TR_SCREENSONG_NEWPLAYLIST>
<TR_SCREENSONG_SONGOPTIONS>TODO: Song Options</TR_SCREENSONG_SONGOPTIONS>
<TR_SCREENSONG_SEARCH>Buscar:</TR_SCREENSONG_SEARCH>
<TR_SCREENSONG_NOLANGUAGE>Sin Idioma</TR_SCREENSONG_NOLANGUAGE>
<TR_SCREENSONG_NEWPLAYLIST>TODO: New Playlist</TR_SCREENSONG_NEWPLAYLIST>
@@ -32,5 +32,6 @@
<TR_SCREENMAIN_TABLE_GAMEPOINTS>Punkte</TR_SCREENMAIN_TABLE_GAMEPOINTS>
<TR_SCREENMAIN_POPUP_REALLYEXIT>Challenge-Mode wirklich beenden?</TR_SCREENMAIN_POPUP_REALLYEXIT>
<TR_SCREENMAIN_NEXT_PLAYER>Spieler der nächsten Runde:</TR_SCREENMAIN_NEXT_PLAYER>
<TR_SCREENMAIN_FINISH>Alle Runden wurden gesungen! Und der Gewinner ist...</TR_SCREENMAIN_FINISH>
</Texts>
</root>
@@ -32,5 +32,6 @@
<TR_SCREENMAIN_TABLE_GAMEPOINTS>Score</TR_SCREENMAIN_TABLE_GAMEPOINTS>
<TR_SCREENMAIN_POPUP_REALLYEXIT>Do you really want to exit?</TR_SCREENMAIN_POPUP_REALLYEXIT>
<TR_SCREENMAIN_NEXT_PLAYER>Player of next round:</TR_SCREENMAIN_NEXT_PLAYER>
<TR_SCREENMAIN_FINISH>All rounds were sung! And the winner is...</TR_SCREENMAIN_FINISH>
</Texts>
</root>
@@ -32,5 +32,6 @@
<TR_SCREENMAIN_TABLE_GAMEPOINTS>TODO: Score</TR_SCREENMAIN_TABLE_GAMEPOINTS>
<TR_SCREENMAIN_POPUP_REALLYEXIT>TODO: Do you really want to exit?</TR_SCREENMAIN_POPUP_REALLYEXIT>
<TR_SCREENMAIN_NEXT_PLAYER>TODO: Player of next round:</TR_SCREENMAIN_NEXT_PLAYER>
<TR_SCREENMAIN_FINISH>TODO: All rounds were sung! And the winner is...</TR_SCREENMAIN_FINISH>
</Texts>
</root>
@@ -31,5 +31,6 @@
<TR_SCREENMAIN_TABLE_GAMEPOINTS>TODO: Score</TR_SCREENMAIN_TABLE_GAMEPOINTS>
<TR_SCREENMAIN_POPUP_REALLYEXIT>TODO: Do you really want to exit?</TR_SCREENMAIN_POPUP_REALLYEXIT>
<TR_SCREENMAIN_NEXT_PLAYER>TODO: Player of next round:</TR_SCREENMAIN_NEXT_PLAYER>
<TR_SCREENMAIN_FINISH>TODO: All rounds were sung! And the winner is...</TR_SCREENMAIN_FINISH>
</Texts>
</root>
@@ -90,7 +90,7 @@
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<TextNextPlayerMessage>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>515</Y>
@@ -118,7 +118,66 @@
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
</TextNextPlayerMessage>
<TextFinishMessage>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>520</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>50</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENMAIN_FINISH</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextFinishMessage>
<TextFinishPlayerWin>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>575</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>35</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>770</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextFinishPlayerWin>
<TextPosition>
<!--<X>, <Y>: Text position-->
<X>40</X>
+166 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenSong>
<ScreenVersion>3</ScreenVersion>
<ScreenVersion>4</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
<Type>Video</Type>
@@ -758,7 +758,7 @@
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>40</X>
<Y>275</Y>
<Y>270</Y>
<Z>-2,11</Z>
<W>360</W>
<H>40</H>
@@ -800,6 +800,104 @@
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonOptionsOpenPlaylist>
<ButtonOptionsRandomMedley>
<!--<Skin>: Texture name-->
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>40</X>
<Y>315</Y>
<Z>-2,11</Z>
<W>360</W>
<H>40</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<!--<H>: Text height-->
<H>30</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>350</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENSONG_BUTTON_RANDOMMEDLEY</Text>
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonOptionsRandomMedley>
<ButtonOptionsStartMedley>
<!--<Skin>: Texture name-->
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>40</X>
<Y>135</Y>
<Z>-2,11</Z>
<W>360</W>
<H>40</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<!--<H>: Text height-->
<H>30</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>350</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENSONG_BUTTON_STARTMEDLEY</Text>
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonOptionsStartMedley>
<ButtonOpenOptions>
<!--<Skin>: Texture name-->
<Skin>Invisible</Skin>
@@ -1347,7 +1445,7 @@
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>40</X>
<Y>230</Y>
<Y>225</Y>
<Z>-2,11</Z>
<W>360</W>
<H>40</H>
@@ -1395,6 +1493,71 @@
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideOptionsPlaylistOpen>
<SelectSlideOptionsNumMedleySongs>
<!--<Skin>: Texture name-->
<Skin>Button</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>40</X>
<Y>90</Y>
<Z>-2,11</Z>
<W>360</W>
<H>40</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>45</ArrowLeftX>
<ArrowLeftY>100</ArrowLeftY>
<ArrowLeftZ>-2,12</ArrowLeftZ>
<ArrowLeftW>30</ArrowLeftW>
<ArrowLeftH>30</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>365</ArrowRightX>
<ArrowRightY>100</ArrowRightY>
<ArrowRightZ>-2,12</ArrowRightZ>
<ArrowRightW>30</ArrowRightW>
<ArrowRightH>30</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>30,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>280,00</TextMaxW>
<!--<TextFont>: Text font name-->
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideOptionsNumMedleySongs>
<SongMenu>
<!--<CoverBackground>: Texture name of cover background/tiles-->
<CoverBackground>CoverTile</CoverBackground>
@@ -1,5 +1,13 @@
ScreenSong
++++++++++
Version 4:
Add:
<ButtonJoker[1..6]> (one for each player)
<ButtonOptionsRandomMedley>, <ButtonOptionsStartMedley>
<SelectSlideOptionsNumMedleySongs>
++++++++++
Version 3:
+12
View File
@@ -33,6 +33,7 @@ namespace Vocaluxe.PartyModes
public class ResultTableRow : IComparable
{
public int Position;
public int PlayerID;
public int NumPlayed;
public int NumRounds;
@@ -632,6 +633,17 @@ namespace Vocaluxe.PartyModes
}
GameData.ResultTable.Sort();
//Update position-number
int pos = 1;
int last_points = 0;
for (int i = 0; i < GameData.ResultTable.Count; i++ )
{
if (last_points > GameData.ResultTable[i].NumGamePoints)
pos++;
GameData.ResultTable[i].Position = pos;
last_points = GameData.ResultTable[i].NumGamePoints;
}
}
private List<Stats> GetPointsForPlayer(SPlayer[] Results)
+40 -3
View File
@@ -41,6 +41,9 @@ namespace Vocaluxe.PartyModes
const string TextRoundPlayer = "TextRoundPlayer";
const string TextRoundScore = "TextRoundScore";
const string TextRoundNumber = "TextRoundNumber";
const string TextFinishMessage = "TextFinishMessage";
const string TextFinishPlayerWin = "TextFinishPlayerWin";
const string TextNextPlayerMessage = "TextNextPlayerMessage";
const string ButtonNextRound = "ButtonNextRound";
const string ButtonBack = "ButtonBack";
@@ -83,7 +86,7 @@ namespace Vocaluxe.PartyModes
base.Init();
_ThemeName = "PartyScreenChallengeMain";
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore };
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore, TextFinishMessage, TextFinishPlayerWin, TextNextPlayerMessage };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp, ButtonRoundsScrollDown, ButtonRoundsScrollUp };
_ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer };
_ScreenVersion = ScreenVersion;
@@ -259,7 +262,21 @@ namespace Vocaluxe.PartyModes
Buttons[htButtons(ButtonExit)].Visible = true;
}
SetInteractionToButton(Buttons[htButtons(ButtonNextRound)]);
if (GameState.CurrentRoundNr <= GameState.Combs.Count)
{
Buttons[htButtons(ButtonNextRound)].Visible = true;
Texts[htTexts(TextFinishMessage)].Visible = false;
Texts[htTexts(TextFinishPlayerWin)].Visible = false;
SetInteractionToButton(Buttons[htButtons(ButtonNextRound)]);
}
else
{
Buttons[htButtons(ButtonNextRound)].Visible = false;
Texts[htTexts(TextFinishMessage)].Visible = true;
Texts[htTexts(TextFinishPlayerWin)].Visible = true;
Texts[htTexts(TextFinishPlayerWin)].Text = GetPlayerWinString();
SetInteractionToButton(Buttons[htButtons(ButtonExit)]);
}
ShowPopup(false);
}
@@ -341,6 +358,7 @@ namespace Vocaluxe.PartyModes
{
if (GameState.CurrentRoundNr <= GameState.Combs.Count)
{
Texts[htTexts(TextNextPlayerMessage)].Visible = true;
SProfile[] profiles = _Base.Profiles.GetProfiles();
for (int i = 0; i < GameState.NumPlayerAtOnce; i++)
{
@@ -352,6 +370,7 @@ namespace Vocaluxe.PartyModes
}
else
{
Texts[htTexts(TextNextPlayerMessage)].Visible = false;
for (int i = 0; i < GameState.NumPlayerAtOnce; i++)
{
NextPlayerStatics[i].Visible = false;
@@ -557,7 +576,7 @@ namespace Vocaluxe.PartyModes
row.SingPoints.Visible = true;
row.GamePoints.Visible = true;
row.Pos.Text = (i + 1 + PlayerTableOffset).ToString();
row.Pos.Text = GameState.ResultTable[i + PlayerTableOffset].Position.ToString() + ".";
row.Name.Text = profiles[GameState.ResultTable[i+PlayerTableOffset].PlayerID].PlayerName;
row.Rounds.Text = GameState.ResultTable[i+PlayerTableOffset].NumRounds.ToString();
row.Won.Text = GameState.ResultTable[i+PlayerTableOffset].NumWon.ToString();
@@ -610,5 +629,23 @@ namespace Vocaluxe.PartyModes
UpdateRoundsTable();
}
private string GetPlayerWinString()
{
string s = "";
SProfile[] profiles = _Base.Profiles.GetProfiles();
for (int i = 0; i < GameState.ResultTable.Count; i++)
{
if (i > 0)
s += ", ";
if (GameState.ResultTable[i].Position == 1)
s += profiles[GameState.ResultTable[i].PlayerID].PlayerName;
else
break;
}
return s;
}
}
}
+128 -21
View File
@@ -21,11 +21,12 @@ namespace Vocaluxe.Screens
{
None,
Song,
General
General,
Medley
}
// Version number for theme files. Increment it, if you've changed something on the theme files!
const int ScreenVersion = 3;
const int ScreenVersion = 4;
private const string TextCategory = "TextCategory";
private const string TextSelection = "TextSelection";
@@ -42,11 +43,14 @@ namespace Vocaluxe.Screens
private const string ButtonOptionsSingAll = "ButtonOptionsSingAll";
private const string ButtonOptionsSingAllVisible = "ButtonOptionsSingAllVisible";
private const string ButtonOptionsOpenPlaylist = "ButtonOptionsOpenPlaylist";
private const string ButtonOptionsRandomMedley = "ButtonOptionsRandomMedley";
private const string ButtonOptionsStartMedley = "ButtonOptionsStartMedley";
private const string ButtonStart = "ButtonStart";
private const string SelectSlideOptionsMode = "SelectSlideOptionsMode";
private const string SelectSlideOptionsPlaylistAdd = "SelectSlideOptionsPlaylistAdd";
private const string SelectSlideOptionsPlaylistOpen = "SelectSlideOptionsPlaylistOpen";
private const string SelectSlideOptionsNumMedleySongs = "SelectSlideOptionsNumMedleySongs";
private const string StaticSearchBar = "StaticSearchBar";
private const string StaticOptionsBG = "StaticOptionsBG";
@@ -96,6 +100,8 @@ namespace Vocaluxe.Screens
blist.Add(ButtonOptionsOpenPlaylist);
blist.Add(ButtonOpenOptions);
blist.Add(ButtonStart);
blist.Add(ButtonOptionsRandomMedley);
blist.Add(ButtonOptionsStartMedley);
for (int i = 0; i < _Base.Settings.GetMaxNumPlayer(); i++)
{
@@ -114,7 +120,7 @@ namespace Vocaluxe.Screens
_ThemeStatics = new string[] { StaticSearchBar, StaticOptionsBG };
_ThemeTexts = tlist.ToArray();
_ThemeButtons = blist.ToArray();
_ThemeSelectSlides = new string[] { SelectSlideOptionsMode, SelectSlideOptionsPlaylistAdd, SelectSlideOptionsPlaylistOpen };
_ThemeSelectSlides = new string[] { SelectSlideOptionsMode, SelectSlideOptionsPlaylistAdd, SelectSlideOptionsPlaylistOpen, SelectSlideOptionsNumMedleySongs };
_ThemeSongMenus = new string[] { SongMenu };
_ThemePlaylists = new string[] { Playlist };
}
@@ -125,6 +131,7 @@ namespace Vocaluxe.Screens
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Visible = false;
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
@@ -133,6 +140,8 @@ namespace Vocaluxe.Screens
Buttons[htButtons(ButtonOptionsSingAll)].Visible = false;
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false;
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
Buttons[htButtons(ButtonOptionsRandomMedley)].Visible = false;
Buttons[htButtons(ButtonOptionsStartMedley)].Visible = false;
Texts[htTexts(TextOptionsTitle)].Visible = false;
Statics[htStatics(StaticOptionsBG)].Visible = false;
Playlists[htPlaylists(Playlist)].Visible = false;
@@ -384,6 +393,15 @@ namespace Vocaluxe.Screens
ToggleSongOptions(ESongOptionsView.None);
OpenPlaylistAction();
}
else if (Buttons[htButtons(ButtonOptionsRandomMedley)].Selected)
{
ToggleSongOptions(ESongOptionsView.Medley);
}
else if (Buttons[htButtons(ButtonOptionsStartMedley)].Selected)
{
ToggleSongOptions(ESongOptionsView.None);
StartRandomMedley(SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Selection + 1, CSongs.Category == -1);
}
break;
case Keys.Escape:
@@ -557,6 +575,19 @@ namespace Vocaluxe.Screens
return true;
}
if (Buttons[htButtons(ButtonOptionsRandomMedley)].Selected)
{
ToggleSongOptions(ESongOptionsView.Medley);
return true;
}
if (Buttons[htButtons(ButtonOptionsStartMedley)].Selected)
{
ToggleSongOptions(ESongOptionsView.None);
StartRandomMedley(SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Selection + 1, CSongs.Category == -1);
return true;
}
if (_sso.Selection.RandomOnly && _sso.Selection.NumJokers != null)
{
if (Buttons[htButtons(ButtonStart)].Selected)
@@ -940,6 +971,48 @@ namespace Vocaluxe.Screens
CGraphics.FadeTo(EScreens.ScreenNames);
}
private void StartRandomMedley(int NumSongs, bool AllSongs)
{
CGame.Reset();
CGame.ClearSongs();
List<int> IDs = new List<int>();
if (AllSongs)
{
for (int i = 0; i < CSongs.AllSongs.Length; i++)
{
IDs.Add(i);
}
}
else
{
for (int i = 0; i < CSongs.VisibleSongs.Length; i++)
{
IDs.Add(CSongs.VisibleSongs[i].ID);
}
}
int s = 0;
while (s < NumSongs && IDs.Count > 0)
{
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
foreach (EGameMode gm in CSongs.AllSongs[SongNr].AvailableGameModes)
{
if (gm == EGameMode.TR_GAMEMODE_MEDLEY)
{
CGame.AddSong(SongNr, gm);
s++;
break;
}
}
IDs.Remove(SongNr);
}
if (CGame.GetNumSongs() > 0)
CGraphics.FadeTo(EScreens.ScreenNames);
}
private bool SelectNextRandom(int TeamNr)
{
if (TeamNr != -1 && _sso.Selection.RandomOnly && _sso.Selection.NumJokers != null)
@@ -1037,6 +1110,25 @@ namespace Vocaluxe.Screens
private void ToggleSongOptions(ESongOptionsView view)
{
_SongOptionsActive = view != ESongOptionsView.None;
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Visible = false;
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
Buttons[htButtons(ButtonOptionsRandom)].Visible = false;
Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = false;
Buttons[htButtons(ButtonOptionsSingAll)].Visible = false;
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false;
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
Buttons[htButtons(ButtonOptionsRandomMedley)].Visible = false;
Buttons[htButtons(ButtonOptionsStartMedley)].Visible = false;
Texts[htTexts(TextOptionsTitle)].Visible = false;
Statics[htStatics(StaticOptionsBG)].Visible = false;
Buttons[htButtons(ButtonOpenOptions)].Visible = true;
if (_SongOptionsActive)
{
if (view == ESongOptionsView.Song)
@@ -1074,6 +1166,7 @@ namespace Vocaluxe.Screens
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = true;
Buttons[htButtons(ButtonOptionsSing)].Visible = true;
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = true;
SetInteractionToButton(Buttons[htButtons(ButtonOptionsSing)]);
}
else if (view == ESongOptionsView.General)
{
@@ -1098,29 +1191,43 @@ namespace Vocaluxe.Screens
else
SetInteractionToButton(Buttons[htButtons(ButtonOptionsSingAll)]);
}
Buttons[htButtons(ButtonOptionsRandomMedley)].Visible = true;
if(Buttons[htButtons(ButtonOptionsRandom)].Visible)
SetInteractionToButton(Buttons[htButtons(ButtonOptionsRandom)]);
else
SetInteractionToButton(Buttons[htButtons(ButtonOptionsRandomCategory)]);
}
else if (view == ESongOptionsView.Medley)
{
Buttons[htButtons(ButtonOptionsStartMedley)].Visible = true;
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Visible = true;
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].Clear();
if (CSongs.Category != -1)
{
for (int i = 1; i <= CSongs.VisibleSongs.Length; i++)
{
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].AddValue(i.ToString());
}
}
else
{
for (int i = 1; i <= CSongs.AllSongs.Length; i++)
{
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].AddValue(i.ToString());
}
}
if (SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].NumValues >= 5)
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].SetSelectionByValueIndex(4);
else
SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].SetSelectionByValueIndex(SelectSlides[htSelectSlides(SelectSlideOptionsNumMedleySongs)].NumValues - 1);
SetInteractionToButton(Buttons[htButtons(ButtonOptionsStartMedley)]);
}
Buttons[htButtons(ButtonOptionsClose)].Visible = true;
Texts[htTexts(TextOptionsTitle)].Visible = true;
Buttons[htButtons(ButtonOptionsClose)].Visible = true;
Statics[htStatics(StaticOptionsBG)].Visible = true;
Buttons[htButtons(ButtonOpenOptions)].Visible = false;
}
else
{
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false;
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
Buttons[htButtons(ButtonOptionsRandom)].Visible = false;
Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = false;
Buttons[htButtons(ButtonOptionsSingAll)].Visible = false;
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false;
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
Buttons[htButtons(ButtonOpenOptions)].Visible = false;
Texts[htTexts(TextOptionsTitle)].Visible = false;
Statics[htStatics(StaticOptionsBG)].Visible = false;
}
}
#region Playlist Actions
+18 -1
View File
@@ -631,7 +631,7 @@ namespace Vocaluxe.Menu
break;
case Keys.Enter:
StartPlaylistSongs();
StartPlaylistSong(CurrentPlaylistElement);
break;
case Keys.Add: //move the selected song up
@@ -958,6 +958,12 @@ namespace Vocaluxe.Menu
}
}
//Start selected song with double click
if (MouseEvent.LD && CurrentPlaylistElement != -1)
{
StartPlaylistSong(CurrentPlaylistElement);
}
//Change order with holding LB
if (MouseEvent.LBH && CurrentPlaylistElement != -1 && PlaylistElementContents.Count > 0 && DragAndDropSongID == -1)
{
@@ -1203,6 +1209,17 @@ namespace Vocaluxe.Menu
}
}
private void StartPlaylistSong(int selected)
{
_Base.Game.Reset();
_Base.Game.ClearSongs();
_Base.Game.AddSong(_Base.Playlist.GetPlaylistSong(ActivePlaylistID, selected).SongID, _Base.Playlist.GetPlaylistSong(ActivePlaylistID, selected).GameMode);
if (_Base.Game.GetNumSongs() > 0)
_Base.Graphics.FadeTo(EScreens.ScreenNames);
}
private void ClosePlaylist()
{
Visible = false;