Merge pull request #313 from flokuep/develop

Cleanup and party mode changes
This commit is contained in:
Florian Küpper authored and GitHub committed 2017-09-18 18:40:34 +02:00
commit ae5a463a04
97 files changed
+1068 -9780

No files matched your search

+5
View File
@@ -15,6 +15,7 @@
<string name="TR_DEBUG_SONGS">Loaded songs</string>
<string name="TR_DEBUG_MOUSE">Mouse</string>
<string name="TR_DEBUG_MEMORY">Memory usage</string>
<string name="TR_GAMEMODE">Game mode</string>
<string name="TR_GAMEMODE_NORMAL">Normal</string>
<string name="TR_GAMEMODE_DUET">Duet</string>
<string name="TR_GAMEMODE_MEDLEY">Medley</string>
@@ -31,6 +32,10 @@
<string name="TR_USERROLE_NORMAL">Normal user</string>
<string name="TR_USERROLE_ADMIN">Administrator</string>
<string name="TR_USERROLE_KEYBOARDUSER">Keyboard user</string>
<string name="TR_SONGSOURCE">Song source</string>
<string name="TR_SONGSOURCE_PLAYLIST">Playlist</string>
<string name="TR_SONGSOURCE_CATEGORY">Category</string>
<string name="TR_SONGSOURCE_ALLSONGS">All songs</string>
<string name="TR_CONFIG_SOFTWARE">Software</string>
<string name="TR_CONFIG_OPENGL">OpenGL</string>
<string name="TR_CONFIG_DIRECT3D">Direct3D</string>
+1
View File
@@ -15,5 +15,6 @@
<ScreenFile>CPartyScreenChallengeMain</ScreenFile>
<ScreenFile>CPartyScreenChallengeConfig</ScreenFile>
<ScreenFile>CPartyScreenChallengeNames</ScreenFile>
<ScreenFile>CPartyScreenChallengeSongs</ScreenFile>
</PartyScreens>
</root>
@@ -11,6 +11,7 @@
<string name="TR_BUTTON_YES">Yes</string>
<string name="TR_BUTTON_NO">No</string>
<string name="TR_BUTTON_NEXT_ROUND">Next Round</string>
<string name="TR_SONGS">Songs</string>
<string name="TR_SCREENCONFIG_TITLE">Challenge Mode: Configuration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Number of players</string>
<string name="TR_SCREENCONFIG_NUMMICS">Number of mics</string>
@@ -3,14 +3,11 @@
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Default</Name>
<Author>brunzel</Author>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors>
</Colors>
<Skins>
</Skins>
<Videos>
</Videos>
<Colors />
<Skins />
<Videos />
</root>
@@ -14,26 +14,26 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -41,13 +41,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="Text2">
<Text Name="TextNumPlayers">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -55,13 +55,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
</Text>
<Text Name="Text3">
<Text Name="TextNumMics">
<X>75</X>
<Y>165</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -69,13 +69,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMMICS</Text>
</Text>
<Text Name="Text4">
<Text Name="TextNumRounds">
<X>75</X>
<Y>225</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -83,13 +83,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
</Text>
<Text Name="Text5">
<Text Name="TextNumJokers">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -97,13 +97,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMJOKERS</Text>
</Text>
<Text Name="Text6">
<Text Name="TextRefillJokers">
<X>75</X>
<Y>345</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -127,7 +127,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -162,7 +162,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -209,7 +209,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
@@ -219,12 +219,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>9</NumVisible>
@@ -251,7 +251,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
@@ -261,12 +261,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
@@ -293,7 +293,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
@@ -303,12 +303,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
@@ -335,7 +335,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
@@ -345,12 +345,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
@@ -377,7 +377,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
@@ -387,12 +387,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
@@ -14,15 +14,15 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
@@ -49,13 +49,13 @@
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -65,11 +65,11 @@
</Text>
<Text Name="TextPosition">
<X>40</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -79,11 +79,11 @@
</Text>
<Text Name="TextPlayerName">
<X>50</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>130</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -93,11 +93,11 @@
</Text>
<Text Name="TextNumPlayed">
<X>260</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -107,11 +107,11 @@
</Text>
<Text Name="TextWon">
<X>340</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -121,11 +121,11 @@
</Text>
<Text Name="TextSingPoints">
<X>490</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -135,11 +135,11 @@
</Text>
<Text Name="TextGamePoints">
<X>590</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -153,7 +153,7 @@
<Z>0</Z>
<H>27</H>
<MaxW>100</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -163,11 +163,11 @@
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>265</Y>
<Y>270</Y>
<Z>-1.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -177,11 +177,11 @@
</Text>
<Text Name="TextRoundNumber">
<X>660</X>
<Y>102</Y>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -195,7 +195,7 @@
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -209,7 +209,7 @@
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -223,7 +223,7 @@
<Z>0</Z>
<H>44</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -237,7 +237,7 @@
<Z>0</Z>
<H>31</H>
<MaxW>770</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -251,7 +251,7 @@
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -310,7 +310,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -345,7 +345,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -380,7 +380,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -415,7 +415,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -441,7 +441,7 @@
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>281</X>
<Y>515</Y>
<Y>495</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
@@ -468,7 +468,7 @@
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>281</X>
<Y>94</Y>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
@@ -495,7 +495,7 @@
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>954</X>
<Y>515</Y>
<Y>470</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
@@ -522,7 +522,7 @@
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>954</X>
<Y>94</Y>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
@@ -554,4 +554,4 @@
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
</Screen>
@@ -14,26 +14,26 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -48,7 +48,7 @@
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>625</Y>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
@@ -57,7 +57,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -83,7 +83,7 @@
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>625</Y>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
@@ -92,7 +92,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -118,7 +118,7 @@
<SkinSelected>Button</SkinSelected>
<Rect>
<X>565</X>
<Y>625</Y>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
@@ -127,7 +127,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -282,7 +282,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1195</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
@@ -292,12 +292,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
@@ -324,7 +324,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1195</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
@@ -334,12 +334,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
@@ -349,29 +349,24 @@
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>42</X>
<Y>327</Y>
<X>95</X>
<Y>350</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile>
<R>1</R>
<G>1</G>
<B>1</B>
<A>0.2</A>
</ColorEmptyTile>
<ColorEmptyTile Name="EmptyTileColor" />
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>20.71</SpaceW>
<SpaceH>30</SpaceH>
<SpaceW>10</SpaceW>
<SpaceH>10</SpaceH>
<Name>
<Space>2</Space>
<Space>-20</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenTicTacToeConfig</ScreenName>
<ScreenName>PartyScreenChallengeSongs</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
@@ -41,7 +41,7 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="TextNumFields">
<Text Name="TextSource">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
@@ -53,11 +53,11 @@
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMFIELDS</Text>
<Text>TR_SONGSOURCE</Text>
</Text>
<Text Name="TextSongSource">
<Text Name="TextSongMode">
<X>75</X>
<Y>165</Y>
<Y>290</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
@@ -67,21 +67,7 @@
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_SONGSOURCE</Text>
</Text>
<Text Name="TextGameMode">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_GAMEMODE</Text>
<Text>TR_GAMEMODE</Text>
</Text>
</Texts>
<Buttons>
@@ -159,7 +145,7 @@
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumFields">
<SelectSlide Name="SelectSlideSource">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -201,7 +187,7 @@
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideSongSource">
<SelectSlide Name="SelectSlidePlaylist">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -238,12 +224,12 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlaylist">
<SelectSlide Name="SelectSlideSorting">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -252,21 +238,21 @@
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>220</Y>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>225</Y>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
@@ -280,10 +266,10 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin/>
@@ -322,12 +308,12 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideGameMode">
<SelectSlide Name="SelectSlideSongMode">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -336,21 +322,21 @@
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>280</Y>
<Y>290</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<Y>295</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>285</Y>
<Y>295</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
@@ -367,7 +353,49 @@
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumMedleySongs">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>360</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>365</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>365</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>5</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
@@ -376,4 +404,4 @@
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
</Screen>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ThemeSystemVersion>6</ThemeSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
</root>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors />
<Skins />
<Videos />
</root>
@@ -1,557 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>1280</W>
<H>720</H>
<Z>-1</Z>
</Rect>
</Static>
<Static Name="StaticNextPlayer">
<Skin/>
<Color Name="Visible" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPosition">
<X>40</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_POS</Text>
</Text>
<Text Name="TextPlayerName">
<X>50</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>130</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_PLAYERNAME</Text>
</Text>
<Text Name="TextNumPlayed">
<X>260</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_NUMPLAYED</Text>
</Text>
<Text Name="TextWon">
<X>340</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_WON</Text>
</Text>
<Text Name="TextSingPoints">
<X>490</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_SINGPOINTS</Text>
</Text>
<Text Name="TextGamePoints">
<X>590</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_GAMEPOINTS</Text>
</Text>
<Text Name="TextNextPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>100</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>270</Y>
<Z>-1.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextRoundNumber">
<X>660</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundScore">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextFinishMessage">
<X>640</X>
<Y>520</Y>
<Z>0</Z>
<H>44</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_FINISH</Text>
</Text>
<Text Name="TextFinishPlayerWin">
<X>640</X>
<Y>575</Y>
<Z>0</Z>
<H>31</H>
<MaxW>770</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextNextPlayerMessage">
<X>640</X>
<Y>515</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_NEXT_PLAYER</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNextRound">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>1030</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT_ROUND</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_EXIT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupYes">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>665</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_YES</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupNo">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>465</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NO</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPlayerScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>281</X>
<Y>495</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonPlayerScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>281</X>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>954</X>
<Y>470</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>954</X>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,382 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeNames</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_TITLE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonRandom">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>565</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_BUTTON_RANDOM</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonIncreaseTeams">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreaseTeams">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonIncreasePlayer">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreasePlayer">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideTeams">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>100</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1195</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlayer">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlidePlayer</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>160</Y>
<W>1200</W>
<H>150</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1195</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>95</X>
<Y>350</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile Name="EmptyTileColor" />
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>10</SpaceW>
<SpaceH>10</SpaceH>
<Name>
<Space>-20</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
<Color Name="TextColor" />
</Name>
</Tiles>
</NameSelection>
</NameSelections>
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
-19
View File
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PartyModeSystemVersion>2</PartyModeSystemVersion>
<Info>
<Name>TR_PARTYMODE_NAME</Name>
<Author>brunzel</Author>
<Description>TR_PARTYMODE_DESCRIPTION</Description>
<Folder>ChallengeMedley</Folder>
<PartyModeFile>CPartyModeChallengeMedley</PartyModeFile>
<PartyModeVersionMajor>0</PartyModeVersionMajor>
<PartyModeVersionMinor>2</PartyModeVersionMinor>
<TargetAudience>TR_PARTYMODE_AUDIENCE</TargetAudience>
</Info>
<PartyScreens>
<ScreenFile>CPartyScreenChallengeMedleyMain</ScreenFile>
<ScreenFile>CPartyScreenChallengeMedleyConfig</ScreenFile>
<ScreenFile>CPartyScreenChallengeMedleyNames</ScreenFile>
</PartyScreens>
</root>
@@ -1,32 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Inglés</string>
<string name="TR_PARTYMODE_NAME">Mou desafíu Medley</string>
<string name="TR_PARTYMODE_AUDIENCE">Pa daquién tea interesáu nos duelos y Medleys.</string>
<string name="TR_BUTTON_NEXT">Siguiente</string>
<string name="TR_BUTTON_BACK">Tornar</string>
<string name="TR_BUTTON_START">Entamar</string>
<string name="TR_BUTTON_EXIT">Colar</string>
<string name="TR_BUTTON_YES">Sí</string>
<string name="TR_BUTTON_NO">Non</string>
<string name="TR_BUTTON_NEXT_ROUND">Ronda siguiente</string>
<string name="TR_PLAYLIST">Llista de reproducción</string>
<string name="TR_CATEGORY">Estaya</string>
<string name="TR_ALLSONGS">Toles sones</string>
<string name="TR_SONGS">Sones</string>
<string name="TR_SCREENCONFIG_TITLE">Mou retu Medley: Configuración</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Númberu de xugadores</string>
<string name="TR_SCREENCONFIG_NUMMICS">Númberu de microfonos</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Númberu de rondes</string>
<string name="TR_SCREENNAMES_TITLE">Mou retu Medley: Esbillar xugador</string>
<string name="TR_SCREENMAIN_TITLE">Mou retu Medley: Vista previa</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Nome</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Rondes</string>
<string name="TR_SCREENMAIN_TABLE_WON">Victories</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Puntos</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De xuru quies colar?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador de la ronda siguiente:</string>
<string name="TR_SCREENMAIN_FINISH">¡Toles rondes tan cantaes! Ya'l ganador ye...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Anglický</string>
<string name="TR_PARTYMODE_NAME">Soutěžní směskový režim</string>
<string name="TR_PARTYMODE_DESCRIPTION">Hrajte soutěžní režim jen se směskami.</string>
<string name="TR_PARTYMODE_AUDIENCE">Pro všechny ty, kdož se zajímají o pěvecké souboje a mnoho kol složených ze směsek.</string>
<string name="TR_BUTTON_NEXT">Další</string>
<string name="TR_BUTTON_BACK">Zpět</string>
<string name="TR_BUTTON_START">Spustit</string>
<string name="TR_BUTTON_EXIT">Ukončit</string>
<string name="TR_BUTTON_YES">Ano</string>
<string name="TR_BUTTON_NO">Ne</string>
<string name="TR_BUTTON_NEXT_ROUND">Další kolo</string>
<string name="TR_PLAYLIST">Seznam skladeb</string>
<string name="TR_CATEGORY">Skupina</string>
<string name="TR_ALLSONGS">Všechny písně</string>
<string name="TR_SONGS">Písně</string>
<string name="TR_SCREENCONFIG_TITLE">Soutěžní směskový režim: Nastavení</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Počet hráčů</string>
<string name="TR_SCREENCONFIG_NUMMICS">Počet mikrofonů</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Počet kol</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Počet písní na kolo</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Zdroj písně</string>
<string name="TR_SCREENNAMES_TITLE">Soutěžní směskový režim: Výběr hráče</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Vybrat náhodně</string>
<string name="TR_SCREENMAIN_TITLE">Soutěžní směskový režim: Přehled</string>
<string name="TR_SCREENMAIN_TABLE_POS">Místo</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Jméno</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Kola</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vítězové</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Body za zpívání</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Výsledky</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Opravdu chcete odejít?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Hráč dalšího kola:</string>
<string name="TR_SCREENMAIN_FINISH">Všechna kola byla odzpívána! A vítězem se stal...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Engels</string>
<string name="TR_PARTYMODE_NAME">Uitdaging Medley</string>
<string name="TR_PARTYMODE_DESCRIPTION">Speel een paar uitdagingsronden met alleen Medleys.</string>
<string name="TR_PARTYMODE_AUDIENCE">Voor iedereen geïnteresseerd in duelleren en Medleys.</string>
<string name="TR_BUTTON_NEXT">Volgende</string>
<string name="TR_BUTTON_BACK">Vorige</string>
<string name="TR_BUTTON_START">Start</string>
<string name="TR_BUTTON_EXIT">Afsluiten</string>
<string name="TR_BUTTON_YES">Ja</string>
<string name="TR_BUTTON_NO">Nee</string>
<string name="TR_BUTTON_NEXT_ROUND">Volgende Ronde</string>
<string name="TR_PLAYLIST">Afspeellijst</string>
<string name="TR_CATEGORY">Categorie</string>
<string name="TR_ALLSONGS">Alle liedjes</string>
<string name="TR_SONGS">Liedjes</string>
<string name="TR_SCREENCONFIG_TITLE">Uitdaging Medley: Configuratie</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Aantal spelers</string>
<string name="TR_SCREENCONFIG_NUMMICS">Aantal microfoons</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Aantal rondes</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Aantal liedjes per ronde</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Liedjesbron</string>
<string name="TR_SCREENNAMES_TITLE">Uitdaging Medley: Kies speler</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Selecteer willekeurig</string>
<string name="TR_SCREENMAIN_TITLE">Uitdaging Medley: Overzicht</string>
<string name="TR_SCREENMAIN_TABLE_POS">#</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Naam</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Rondes</string>
<string name="TR_SCREENMAIN_TABLE_WON">Overwinningen</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Zingpunten</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Score</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Wil je echt afsluiten?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Speler van volgende ronde:</string>
<string name="TR_SCREENMAIN_FINISH">Alle rondes zijn gezonden! De winnaar is...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">English</string>
<string name="TR_PARTYMODE_NAME">Challenge Medley Mode</string>
<string name="TR_PARTYMODE_DESCRIPTION">Play some challenge rounds by using Medleys only.</string>
<string name="TR_PARTYMODE_AUDIENCE">For all who are interested in duel fights and Medleys.</string>
<string name="TR_BUTTON_NEXT">Next</string>
<string name="TR_BUTTON_BACK">Back</string>
<string name="TR_BUTTON_START">Start</string>
<string name="TR_BUTTON_EXIT">Exit</string>
<string name="TR_BUTTON_YES">Yes</string>
<string name="TR_BUTTON_NO">No</string>
<string name="TR_BUTTON_NEXT_ROUND">Next Round</string>
<string name="TR_PLAYLIST">Playlist</string>
<string name="TR_CATEGORY">Category</string>
<string name="TR_ALLSONGS">All songs</string>
<string name="TR_SONGS">Songs</string>
<string name="TR_SCREENCONFIG_TITLE">Challenge Medley Mode: Configuration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Number of players</string>
<string name="TR_SCREENCONFIG_NUMMICS">Number of mics</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Number of rounds</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Number of songs per round</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Song source</string>
<string name="TR_SCREENNAMES_TITLE">Challenge Medley Mode: Choose Player</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Select random</string>
<string name="TR_SCREENMAIN_TITLE">Challenge Medley Mode: Overview</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Name</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Rounds</string>
<string name="TR_SCREENMAIN_TABLE_WON">Wins</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sing Points</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Score</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Do you really want to exit?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Player of next round:</string>
<string name="TR_SCREENMAIN_FINISH">All rounds were sung! And the winner is...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Français</string>
<string name="TR_PARTYMODE_NAME">Mode Challenge Medley</string>
<string name="TR_PARTYMODE_DESCRIPTION">Jouer des tours en mode Challenge seulement en utilisant des Medleys.</string>
<string name="TR_PARTYMODE_AUDIENCE">Pour tous ceux qui sont intéressé par des combats de micro et les medleys.</string>
<string name="TR_BUTTON_NEXT">Suivant</string>
<string name="TR_BUTTON_BACK">Retour</string>
<string name="TR_BUTTON_START">Démarrer</string>
<string name="TR_BUTTON_EXIT">Quitter</string>
<string name="TR_BUTTON_YES">Oui</string>
<string name="TR_BUTTON_NO">Non</string>
<string name="TR_BUTTON_NEXT_ROUND">Tour suivant</string>
<string name="TR_PLAYLIST">Playlist</string>
<string name="TR_CATEGORY">Catégorie</string>
<string name="TR_ALLSONGS">Toutes les chansons</string>
<string name="TR_SONGS">Chansons</string>
<string name="TR_SCREENCONFIG_TITLE">Mode Challenge Medley: Configuration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Nombre de joueurs</string>
<string name="TR_SCREENCONFIG_NUMMICS">Nombre de micros</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Nombre de tours</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Nombre de chansons par tour</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Source des chansons</string>
<string name="TR_SCREENNAMES_TITLE">Mode Challenge Medley: Choix des joueurs</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Sélectionner au hasard</string>
<string name="TR_SCREENMAIN_TITLE">Mode Challenge Medley: Résumé</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Nom</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Tours</string>
<string name="TR_SCREENMAIN_TABLE_WON">Victoires</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Points de chant</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Score</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Voulez-vous vraiment quitter?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Joueurs du prochain tour:</string>
<string name="TR_SCREENMAIN_FINISH">Tous les tours on été chantés! Et le vainqueur est...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Deutsch</string>
<string name="TR_PARTYMODE_NAME">Challenge Medley Modus</string>
<string name="TR_PARTYMODE_DESCRIPTION">Spiele einen Wettkampfmodus nur mit Medleys</string>
<string name="TR_PARTYMODE_AUDIENCE">Für alle, die Spaß am Wettkampf und vielen Medleyrunden haben.</string>
<string name="TR_BUTTON_NEXT">Weiter</string>
<string name="TR_BUTTON_BACK">Zurück</string>
<string name="TR_BUTTON_START">Start</string>
<string name="TR_BUTTON_EXIT">Exit</string>
<string name="TR_BUTTON_YES">Ja</string>
<string name="TR_BUTTON_NO">Nein</string>
<string name="TR_BUTTON_NEXT_ROUND">Nächste Runde</string>
<string name="TR_PLAYLIST">Playlist</string>
<string name="TR_CATEGORY">Kategorie</string>
<string name="TR_ALLSONGS">Alle Songs</string>
<string name="TR_SONGS">Songs</string>
<string name="TR_SCREENCONFIG_TITLE">Challenge Medley Modus: Einstellungen</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Anzahl der Spieler</string>
<string name="TR_SCREENCONFIG_NUMMICS">Anzahl der Mikrofone</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Anzahl der Runden</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Anzahl der Songs pro Runde</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Song-Quelle</string>
<string name="TR_SCREENNAMES_TITLE">Challenge Medley Modus: Spielerwahl</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Zufällig auswählen</string>
<string name="TR_SCREENMAIN_TITLE">Challenge Medley Modus: Übersicht</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Name</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Runden</string>
<string name="TR_SCREENMAIN_TABLE_WON">Siege</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sing-Punkte</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Punkte</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Challenge Medley Modus wirklich beenden?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Spieler der nächsten Runde:</string>
<string name="TR_SCREENMAIN_FINISH">Alle Runden wurden gesungen! Und der Gewinner ist...</string>
</resources>
@@ -1,33 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Magyar</string>
<string name="TR_PARTYMODE_NAME">Bajnokság Egyveleg Mód</string>
<string name="TR_PARTYMODE_AUDIENCE">Azoknak akik egymás ellen szeretnének játszani és csak dalrészleteket énekelni.</string>
<string name="TR_BUTTON_NEXT">Következő</string>
<string name="TR_BUTTON_BACK">Vissza</string>
<string name="TR_BUTTON_START">Kezdés</string>
<string name="TR_BUTTON_EXIT">Kilépés</string>
<string name="TR_BUTTON_YES">Igen</string>
<string name="TR_BUTTON_NO">Nem</string>
<string name="TR_BUTTON_NEXT_ROUND">Következő Kör</string>
<string name="TR_PLAYLIST">Dal Lista</string>
<string name="TR_CATEGORY">Kategória</string>
<string name="TR_ALLSONGS">Összes Dal</string>
<string name="TR_SONGS">Dalok</string>
<string name="TR_SCREENCONFIG_TITLE">Bajnokság Egyveleg Mód: Beállítások</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Játékosok Száma</string>
<string name="TR_SCREENCONFIG_NUMMICS">Mikrofonok Száma</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Körök Száma</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Dal-forrás</string>
<string name="TR_SCREENNAMES_TITLE">Bajnokság Egyveleg Mód: Válassz Játékost</string>
<string name="TR_SCREENMAIN_TITLE">Bajnokság Egyveleg Mód: Áttekintés</string>
<string name="TR_SCREENMAIN_TABLE_POS">Poz</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Név</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Körök</string>
<string name="TR_SCREENMAIN_TABLE_WON">Győzelmek</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Énekpontok</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Pontszám</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Biztos hogy ki akarsz lépni?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Következik:</string>
<string name="TR_SCREENMAIN_FINISH">Véget ért a verseny, a győztes...</string>
</resources>
@@ -1,34 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Italiano</string>
<string name="TR_PARTYMODE_NAME">Sfida in Modalità Medley</string>
<string name="TR_PARTYMODE_AUDIENCE">Per tutti quelli interessati a scontrarsi con duelli di Medley.</string>
<string name="TR_BUTTON_NEXT">Prossimo</string>
<string name="TR_BUTTON_BACK">Indietro</string>
<string name="TR_BUTTON_START">Inizia</string>
<string name="TR_BUTTON_EXIT">Esci</string>
<string name="TR_BUTTON_YES">Si</string>
<string name="TR_BUTTON_NO">No</string>
<string name="TR_BUTTON_NEXT_ROUND">Prossimo Turno</string>
<string name="TR_PLAYLIST">Playlist</string>
<string name="TR_CATEGORY">Categoria</string>
<string name="TR_ALLSONGS">Tutte le canzoni</string>
<string name="TR_SONGS">Canzoni</string>
<string name="TR_SCREENCONFIG_TITLE">Sfida in Modalità Medley: Configurazione</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Numero di giocatori</string>
<string name="TR_SCREENCONFIG_NUMMICS">Numero di microfoni</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Numero di Turni</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Sorgente della Canzone</string>
<string name="TR_SCREENNAMES_TITLE">Sfida in Modalità Medley: Scegli il Giocatore</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Selezione casuale</string>
<string name="TR_SCREENMAIN_TITLE">Sfida in Modalità Medley: Panoramica</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Nome</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Turni</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vittorie</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Punti Canto</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Punteggio</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vuoi davvero uscire?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Giocatore del prossimo turno:</string>
<string name="TR_SCREENMAIN_FINISH">Tutti i turni di canto completati! E il vincitore è...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Inglês</string>
<string name="TR_PARTYMODE_NAME">Modo Desafio Miscelânea </string>
<string name="TR_PARTYMODE_DESCRIPTION">Jogar algumas rondas desafio utilizando apenas Miscelâneas </string>
<string name="TR_PARTYMODE_AUDIENCE">Para os interessados em duelos e miscelâneas </string>
<string name="TR_BUTTON_NEXT">Seguinte</string>
<string name="TR_BUTTON_BACK">Voltar</string>
<string name="TR_BUTTON_START">Iniciar</string>
<string name="TR_BUTTON_EXIT">Sair</string>
<string name="TR_BUTTON_YES">Sim</string>
<string name="TR_BUTTON_NO">Não</string>
<string name="TR_BUTTON_NEXT_ROUND">Ronda Seguinte</string>
<string name="TR_PLAYLIST">Lista de Reprodução</string>
<string name="TR_CATEGORY">Categoria </string>
<string name="TR_ALLSONGS">Todas as Músicas</string>
<string name="TR_SONGS">Músicas</string>
<string name="TR_SCREENCONFIG_TITLE">Modo Desafio de Miscelâneas: Configuração</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Número de Jogadores</string>
<string name="TR_SCREENCONFIG_NUMMICS">Número de microfones</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Número de rondas</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Número de músicas por ronda</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Origem da Música</string>
<string name="TR_SCREENNAMES_TITLE">Modo Desafio de Miscelâneas: Escolher Jogador</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Escolha Aleatória</string>
<string name="TR_SCREENMAIN_TITLE">Modo Desafio de Miscelâneas: Resumo</string>
<string name="TR_SCREENMAIN_TABLE_POS">Posição</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Nome</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Rondas</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vitórias</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Pontos de Canto</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Pontuação</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Deseja mesmo sair?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Jogador da próxima ronda:</string>
<string name="TR_SCREENMAIN_FINISH">Todas as rondas cantadas! E o vencedor é...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Español</string>
<string name="TR_PARTYMODE_NAME">Modo Reto Popurrí</string>
<string name="TR_PARTYMODE_DESCRIPTION">Jugar unas cuantas rondas de sólo Popurrí.</string>
<string name="TR_PARTYMODE_AUDIENCE">Para quienes estén interesados en dos cosas: duelos y Popurrí</string>
<string name="TR_BUTTON_NEXT">Siguiente</string>
<string name="TR_BUTTON_BACK">Volver</string>
<string name="TR_BUTTON_START">Comenzar</string>
<string name="TR_BUTTON_EXIT">Salir</string>
<string name="TR_BUTTON_YES">Sí</string>
<string name="TR_BUTTON_NO">No</string>
<string name="TR_BUTTON_NEXT_ROUND">Siguiente Ronda</string>
<string name="TR_PLAYLIST">Lista de reproducción</string>
<string name="TR_CATEGORY">Categoría</string>
<string name="TR_ALLSONGS">Todas las canciones</string>
<string name="TR_SONGS">Canciones</string>
<string name="TR_SCREENCONFIG_TITLE">Modo Reto Popurrí: Configuración</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Número de jugadores</string>
<string name="TR_SCREENCONFIG_NUMMICS">Número de micrófonos</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Número de rondas</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Número de canciones por ronda</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Origen de las Canciones</string>
<string name="TR_SCREENNAMES_TITLE">Modo Reto Popurrí: Elegir Jugador</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Seleccionar aleatoriamente</string>
<string name="TR_SCREENMAIN_TITLE">Modo Reto Popurrí: Resumen</string>
<string name="TR_SCREENMAIN_TABLE_POS">Posición</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Nombre</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Rondas</string>
<string name="TR_SCREENMAIN_TABLE_WON">Victorias</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Puntos de Canto</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De verdad quiere salir?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Jugador de la siguiente ronda:</string>
<string name="TR_SCREENMAIN_FINISH">¡Todas las rondas fueron cantadas! Y el ganador es...</string>
</resources>
@@ -1,36 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Svenska</string>
<string name="TR_PARTYMODE_NAME">Medleyutmanarläge</string>
<string name="TR_PARTYMODE_DESCRIPTION">Spela några utmanaromgångar med endast medleys.</string>
<string name="TR_PARTYMODE_AUDIENCE">För alla som är intresserade av dueller och medleys.</string>
<string name="TR_BUTTON_NEXT">Nästa</string>
<string name="TR_BUTTON_BACK">Tillbaka</string>
<string name="TR_BUTTON_START">Starta</string>
<string name="TR_BUTTON_EXIT">Avsluta</string>
<string name="TR_BUTTON_YES">Ja</string>
<string name="TR_BUTTON_NO">Nej</string>
<string name="TR_BUTTON_NEXT_ROUND">Nästa omgång</string>
<string name="TR_PLAYLIST">Spellista</string>
<string name="TR_CATEGORY">Kategori</string>
<string name="TR_ALLSONGS">Alla låtar</string>
<string name="TR_SONGS">Låtar</string>
<string name="TR_SCREENCONFIG_TITLE">Medleyutmanarläge: Konfiguration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Antal spelare</string>
<string name="TR_SCREENCONFIG_NUMMICS">Antal mikrofoner</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Antal omgångar</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Antal låtar per omgång</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Låtkälla</string>
<string name="TR_SCREENNAMES_TITLE">Medleyutmanarläge: Välj Spelare</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässiga</string>
<string name="TR_SCREENMAIN_TITLE">Medleyutmanarläge: Översikt</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Namn</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Omgångar</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vunna</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sångpoäng</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Poäng</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vill du verkligen avsluta?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Spelare i nästa omgång:</string>
<string name="TR_SCREENMAIN_FINISH">Alla omgångar sjungna! Och vinnaren är...</string>
</resources>
@@ -1,33 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Türkçe</string>
<string name="TR_PARTYMODE_NAME">Potpuri Yarış Modu</string>
<string name="TR_PARTYMODE_AUDIENCE">Düel yarışmaları ve Potpuri ile ilgilenen herkes için.</string>
<string name="TR_BUTTON_NEXT">Sonraki</string>
<string name="TR_BUTTON_BACK">Önceki</string>
<string name="TR_BUTTON_START">Başla</string>
<string name="TR_BUTTON_EXIT">Çık</string>
<string name="TR_BUTTON_YES">Evet</string>
<string name="TR_BUTTON_NO">Hayır</string>
<string name="TR_BUTTON_NEXT_ROUND">Sonraki Tur</string>
<string name="TR_PLAYLIST">Çalma Listesi</string>
<string name="TR_CATEGORY">Kategori</string>
<string name="TR_ALLSONGS">Tüm Şarkılar</string>
<string name="TR_SONGS">Şarkılar</string>
<string name="TR_SCREENCONFIG_TITLE">Potpuri Yarış Modu: Yapılandırma</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Oyuncu sayısı</string>
<string name="TR_SCREENCONFIG_NUMMICS">Mikrofon sayısı</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Tur sayısı</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Şarkı Kaynağı</string>
<string name="TR_SCREENNAMES_TITLE">Potpuri Yarışma Modu: Oyuncu Seçimi</string>
<string name="TR_SCREENMAIN_TITLE">Potpuri Yarışma Modu: Genel Bakış</string>
<string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">İsim</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Tur</string>
<string name="TR_SCREENMAIN_TABLE_WON">Kazanma</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Şarkı Söyleme Puanı</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Skor</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Gerçekten çıkmak istiyor musunuz?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Sonraki tur oyuncusu:</string>
<string name="TR_SCREENMAIN_FINISH">Tüm turlar tamamlandı! Kazanan...</string>
</resources>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ThemeSystemVersion>6</ThemeSystemVersion>
<Info>
<Name>Default</Name>
<Author>brunzel</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
</root>
@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Default</Name>
<Author>brunzel</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors>
</Colors>
<Skins>
</Skins>
<Videos>
</Videos>
</root>
@@ -1,491 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyConfig</ScreenName>
<ScreenVersion>2</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="Text2">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
</Text>
<Text Name="Text3">
<X>75</X>
<Y>165</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMMICS</Text>
</Text>
<Text Name="Text4">
<X>75</X>
<Y>225</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
</Text>
<Text Name="Text5">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMSONGS</Text>
</Text>
<Text Name="Text6">
<X>75</X>
<Y>345</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_SONGSOURCE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumPlayers">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>9</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumMics">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumSongs">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>280</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideSongSource">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>340</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlaylist">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>400</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>700</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>400</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>700</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,557 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>1280</W>
<H>720</H>
<Z>-1</Z>
</Rect>
</Static>
<Static Name="StaticNextPlayer">
<Skin/>
<Color Name="Visible" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPosition">
<X>40</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_POS</Text>
</Text>
<Text Name="TextPlayerName">
<X>50</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>130</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_PLAYERNAME</Text>
</Text>
<Text Name="TextNumPlayed">
<X>260</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_NUMPLAYED</Text>
</Text>
<Text Name="TextWon">
<X>340</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_WON</Text>
</Text>
<Text Name="TextSingPoints">
<X>490</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_SINGPOINTS</Text>
</Text>
<Text Name="TextGamePoints">
<X>590</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_GAMEPOINTS</Text>
</Text>
<Text Name="TextNextPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>100</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>265</Y>
<Z>-1.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextRoundNumber">
<X>660</X>
<Y>102</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundScore">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextFinishMessage">
<X>640</X>
<Y>520</Y>
<Z>0</Z>
<H>44</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_FINISH</Text>
</Text>
<Text Name="TextFinishPlayerWin">
<X>640</X>
<Y>575</Y>
<Z>0</Z>
<H>31</H>
<MaxW>770</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextNextPlayerMessage">
<X>640</X>
<Y>515</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_NEXT_PLAYER</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNextRound">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>1030</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT_ROUND</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_EXIT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupYes">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>665</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_YES</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupNo">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>465</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NO</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPlayerScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>281</X>
<Y>515</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonPlayerScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>281</X>
<Y>94</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>954</X>
<Y>515</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>954</X>
<Y>94</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,387 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyNames</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_TITLE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonRandom">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>565</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_BUTTON_RANDOM</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonIncreaseTeams">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreaseTeams">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonIncreasePlayer">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreasePlayer">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideTeams">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>100</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlayer">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlidePlayer</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>160</Y>
<W>1200</W>
<H>150</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>42</X>
<Y>327</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile>
<R>1</R>
<G>1</G>
<B>1</B>
<A>0.2</A>
</ColorEmptyTile>
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>20.71</SpaceW>
<SpaceH>30</SpaceH>
<Name>
<Space>2</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
<Color Name="TextColor" />
</Name>
</Tiles>
</NameSelection>
</NameSelections>
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ThemeSystemVersion>6</ThemeSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
</root>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors />
<Skins />
<Videos />
</root>
@@ -1,491 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyConfig</ScreenName>
<ScreenVersion>2</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="TextNumPlayers">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
</Text>
<Text Name="TextNumMics">
<X>75</X>
<Y>165</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMMICS</Text>
</Text>
<Text Name="TextNumRounds">
<X>75</X>
<Y>225</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
</Text>
<Text Name="TextNumSongs">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMSONGS</Text>
</Text>
<Text Name="TextSongSource">
<X>75</X>
<Y>345</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_SONGSOURCE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumPlayers">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>9</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumMics">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumSongs">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>280</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideSongSource">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>340</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlaylist">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>400</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>700</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>400</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>405</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>700</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,557 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>1280</W>
<H>720</H>
<Z>-1</Z>
</Rect>
</Static>
<Static Name="StaticNextPlayer">
<Skin/>
<Color Name="Visible" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPosition">
<X>40</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_POS</Text>
</Text>
<Text Name="TextPlayerName">
<X>50</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>130</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_PLAYERNAME</Text>
</Text>
<Text Name="TextNumPlayed">
<X>260</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_NUMPLAYED</Text>
</Text>
<Text Name="TextWon">
<X>340</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_WON</Text>
</Text>
<Text Name="TextSingPoints">
<X>490</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_SINGPOINTS</Text>
</Text>
<Text Name="TextGamePoints">
<X>590</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TABLE_GAMEPOINTS</Text>
</Text>
<Text Name="TextNextPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>100</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>270</Y>
<Z>-1.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextRoundNumber">
<X>660</X>
<Y>135</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundPlayer">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundScore">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextFinishMessage">
<X>640</X>
<Y>520</Y>
<Z>0</Z>
<H>44</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_FINISH</Text>
</Text>
<Text Name="TextFinishPlayerWin">
<X>640</X>
<Y>575</Y>
<Z>0</Z>
<H>31</H>
<MaxW>770</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextNextPlayerMessage">
<X>640</X>
<Y>515</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_NEXT_PLAYER</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNextRound">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>1030</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT_ROUND</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_EXIT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupYes">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>665</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_YES</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupNo">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>465</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NO</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPlayerScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>281</X>
<Y>495</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonPlayerScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>281</X>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollDown">
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>954</X>
<Y>470</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonRoundsScrollUp">
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>954</X>
<Y>110</Y>
<W>28</W>
<H>15</H>
<Z>-0.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,382 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengMedleyNames</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_TITLE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonRandom">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>565</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_BUTTON_RANDOM</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonIncreaseTeams">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreaseTeams">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonIncreasePlayer">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreasePlayer">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideTeams">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>100</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1195</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlayer">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlidePlayer</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>160</Y>
<W>1200</W>
<H>150</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1195</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>95</X>
<Y>350</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile Name="EmptyTileColor" />
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>10</SpaceW>
<SpaceH>10</SpaceH>
<Name>
<Space>-20</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
<Color Name="TextColor" />
</Name>
</Tiles>
</NameSelection>
</NameSelections>
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
+1
View File
@@ -15,5 +15,6 @@
<ScreenFile>CPartyScreenTicTacToeMain</ScreenFile>
<ScreenFile>CPartyScreenTicTacToeConfig</ScreenFile>
<ScreenFile>CPartyScreenTicTacToeNames</ScreenFile>
<ScreenFile>CPartyScreenTicTacToeSongs</ScreenFile>
</PartyScreens>
</root>
@@ -13,15 +13,11 @@
<string name="TR_BUTTON_NEXT_ROUND">Start</string>
<string name="TR_SONGS">Songs</string>
<string name="TR_TEAM">Team</string>
<string name="TR_PLAYLIST">Playlist</string>
<string name="TR_CATEGORY">Category</string>
<string name="TR_ALLSONGS">All songs</string>
<string name="TR_SCREENCONFIG_TITLE">Tic-Tac-Toe: Configuration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERST1">Number of players in team 1</string>
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Number of players in team 2</string>
<string name="TR_SCREENCONFIG_NUMFIELDS">Number of fields</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Song-Source</string>
<string name="TR_SCREENCONFIG_GAMEMODE">Game-Mode</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Refill jokers every round</string>
<string name="TR_SCREENNAMES_TITLE">Tic-Tac-Toe: Choose Player</string>
<string name="TR_SCREENNAMES_TEAM1">Team 1</string>
<string name="TR_SCREENNAMES_TEAM2">Team 2</string>
@@ -3,14 +3,11 @@
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Default</Name>
<Author>brunzel</Author>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors>
</Colors>
<Skins>
</Skins>
<Videos>
</Videos>
<Colors />
<Skins />
<Videos />
</root>
@@ -2,7 +2,7 @@
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenTicTacToeConfig</ScreenName>
<ScreenVersion>1</ScreenVersion>
<ScreenVersion>2</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
@@ -14,26 +14,26 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -41,13 +41,13 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="Text2">
<Text Name="TextNumFields">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -55,33 +55,19 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMFIELDS</Text>
</Text>
<Text Name="Text3">
<Text Name="TextRefillJokers">
<X>75</X>
<Y>165</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_SONGSOURCE</Text>
</Text>
<Text Name="Text4">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_GAMEMODE</Text>
<Text>TR_SCREENCONFIG_REFILLJOKERS</Text>
</Text>
</Texts>
<Buttons>
@@ -99,7 +85,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -134,7 +120,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -181,7 +167,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
@@ -191,7 +177,7 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
@@ -201,7 +187,7 @@
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideSongSource">
<SelectSlide Name="SelectSlideRefillJokers">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -223,7 +209,7 @@
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<X>1155</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
@@ -233,7 +219,7 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
@@ -241,133 +227,7 @@
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlaylist">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideGameMode">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>280</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>1</NumVisible>
<NumVisible>2</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
@@ -376,4 +236,4 @@
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
</Screen>
@@ -14,15 +14,15 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
@@ -60,13 +60,13 @@
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -76,11 +76,11 @@
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>265</Y>
<Y>270</Y>
<Z>-2.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -94,7 +94,7 @@
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -108,7 +108,7 @@
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -188,7 +188,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -223,7 +223,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -258,7 +258,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -293,7 +293,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -328,7 +328,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -363,7 +363,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -494,4 +494,4 @@
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
</Screen>
@@ -14,26 +14,26 @@
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<Color Name="StaticColor" />
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>40</X>
<X>0</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<Text Name="TextTitle">
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="StaticColor" />
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -57,7 +57,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -92,7 +92,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -127,7 +127,7 @@
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
@@ -206,7 +206,7 @@
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>1210</X>
<X>1180</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
@@ -233,7 +233,7 @@
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>1160</X>
<X>1130</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
@@ -270,7 +270,7 @@
<Rect>
<X>40</X>
<Y>100</Y>
<W>1100</W>
<W>1055</W>
<H>50</H>
<Z>0</Z>
</Rect>
@@ -292,12 +292,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
@@ -312,7 +312,7 @@
<Rect>
<X>40</X>
<Y>160</Y>
<W>1100</W>
<W>1055</W>
<H>150</H>
<Z>0</Z>
</Rect>
@@ -334,12 +334,12 @@
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
@@ -349,29 +349,24 @@
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>42</X>
<Y>327</Y>
<X>95</X>
<Y>350</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile>
<R>1</R>
<G>1</G>
<B>1</B>
<A>0.2</A>
</ColorEmptyTile>
<ColorEmptyTile Name="EmptyTileColor" />
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>20.71</SpaceW>
<SpaceH>30</SpaceH>
<SpaceW>10</SpaceW>
<SpaceH>10</SpaceH>
<Name>
<Space>2</Space>
<Space>-20</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeConfig</ScreenName>
<ScreenVersion>3</ScreenVersion>
<ScreenName>PartyScreenTicTacToeSongs</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
@@ -41,7 +41,7 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_TITLE</Text>
</Text>
<Text Name="TextNumPlayers">
<Text Name="TextSource">
<X>75</X>
<Y>105</Y>
<Z>0</Z>
@@ -53,11 +53,11 @@
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
<Text>TR_SONGSOURCE</Text>
</Text>
<Text Name="TextNumMics">
<Text Name="TextSongMode">
<X>75</X>
<Y>165</Y>
<Y>290</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
@@ -67,49 +67,7 @@
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMMICS</Text>
</Text>
<Text Name="TextNumRounds">
<X>75</X>
<Y>225</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
</Text>
<Text Name="TextNumJokers">
<X>75</X>
<Y>285</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMJOKERS</Text>
</Text>
<Text Name="TextRefillJokers">
<X>75</X>
<Y>345</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_REFILLJOKERS</Text>
<Text>TR_GAMEMODE</Text>
</Text>
</Texts>
<Buttons>
@@ -187,7 +145,7 @@
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumPlayers">
<SelectSlide Name="SelectSlideSource">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -224,12 +182,12 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>9</NumVisible>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumMics">
<SelectSlide Name="SelectSlidePlaylist">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -266,12 +224,54 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<SelectSlide Name="SelectSlideSorting">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>3</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -308,12 +308,12 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
<NumVisible>1</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumJokers">
<SelectSlide Name="SelectSlideSongMode">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -322,21 +322,21 @@
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>280</Y>
<Y>290</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<Y>295</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>285</Y>
<Y>295</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
@@ -350,53 +350,53 @@
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>10</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideRefillJokers">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>340</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumMedleySongs">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>500</X>
<Y>360</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>365</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1155</X>
<Y>365</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>5</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
@@ -404,4 +404,4 @@
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
</Screen>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ThemeSystemVersion>6</ThemeSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
</root>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<SkinSystemVersion>4</SkinSystemVersion>
<Info>
<Name>Genius</Name>
<Author>Jiiniasu</Author>
<VersionMajor>0</VersionMajor>
<VersionMinor>1</VersionMinor>
</Info>
<Colors />
<Skins />
<Videos />
</root>
@@ -1,497 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenTicTacToeMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>1280</W>
<H>720</H>
<Z>-2</Z>
</Rect>
</Static>
<Static Name="StaticAvatarT1">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>10</X>
<Y>200</Y>
<W>100</W>
<H>100</H>
<Z>-1</Z>
</Rect>
</Static>
<Static Name="StaticAvatarT2">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>1170</X>
<Y>200</Y>
<W>100</W>
<H>100</H>
<Z>-1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPopupReallyExit">
<X>640</X>
<Y>270</Y>
<Z>-2.01</Z>
<H>27</H>
<MaxW>380</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextTeamChoosing">
<X>640</X>
<Y>90</Y>
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextFinishMessage">
<X>640</X>
<Y>90</Y>
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextNextPlayerT1">
<X>160</X>
<Y>150</Y>
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="Player1" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_NEXT_PLAYER</Text>
</Text>
<Text Name="TextNextPlayerT2">
<X>1120</X>
<Y>150</Y>
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="Player2" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_NEXT_PLAYER</Text>
</Text>
<Text Name="TextNextPlayerNameT1">
<X>120</X>
<Y>230</Y>
<Z>0</Z>
<H>35</H>
<MaxW>0</MaxW>
<Color Name="Player1" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextNextPlayerNameT2">
<X>1160</X>
<Y>230</Y>
<Z>0</Z>
<H>40</H>
<MaxW>0</MaxW>
<Color Name="Player2" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNextRound">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>1030</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT_ROUND</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>100</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_EXIT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupYes">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>665</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-2.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_YES</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupNo">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>465</X>
<Y>360</Y>
<W>150</W>
<H>50</H>
<Z>-2.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NO</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonField">
<Skin>CoverTile</Skin>
<SkinSelected>CoverTile</SkinSelected>
<Rect>
<X>0</X>
<Y>0</Y>
<W>100</W>
<H>100</H>
<Z>-1.01</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonJokerRandomT1">
<Skin>Random</Skin>
<SkinSelected>Random</SkinSelected>
<Rect>
<X>10</X>
<Y>320</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
<Color Name="Player1" ><A>0.5</A></Color>
<SelColor Name="Player1" />
<Text Name="Text">
<X>50</X>
<Y>25</Y>
<Z>0</Z>
<H>50</H>
<MaxW>50</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonJokerRandomT2">
<Skin>Random</Skin>
<SkinSelected>Random</SkinSelected>
<Rect>
<X>1170</X>
<Y>320</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
<Color Name="Player2" ><A>0.5</A></Color>
<SelColor Name="Player2" />
<Text Name="Text">
<X>50</X>
<Y>25</Y>
<Z>0</Z>
<H>50</H>
<MaxW>50</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonJokerRetryT1">
<Skin>RepeatIcon</Skin>
<SkinSelected>RepeatIcon</SkinSelected>
<Rect>
<X>110</X>
<Y>320</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
<Color Name="Player1" ><A>0.5</A></Color>
<SelColor Name="Player1" />
<Text Name="Text">
<X>48</X>
<Y>25</Y>
<Z>0</Z>
<H>50</H>
<MaxW>50</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonJokerRetryT2">
<Skin>RepeatIcon</Skin>
<SkinSelected>RepeatIcon</SkinSelected>
<Rect>
<X>1070</X>
<Y>320</Y>
<W>100</W>
<H>100</H>
<Z>0</Z>
</Rect>
<Color Name="Player2" ><A>0.5</A></Color>
<SelColor Name="Player2" />
<Text Name="Text">
<X>48</X>
<Y>25</Y>
<Z>0</Z>
<H>50</H>
<MaxW>50</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,382 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenTicTacToeNames</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>40</Y>
<W>1280</W>
<H>45</H>
<Z>1</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>640</X>
<Y>50</Y>
<Z>0</Z>
<H>27</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_TITLE</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>145</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>985</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonRandom">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>565</X>
<Y>625</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENNAMES_BUTTON_RANDOM</Text>
</Text>
<Reflection>
<Height>26</Height>
<Space>10</Space>
</Reflection>
<SelReflection>
<Height>26</Height>
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonIncreaseTeams">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreaseTeams">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>145</X>
<Y>1200</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonIncreasePlayer">
<Skin>Plus</Skin>
<SkinSelected>Plus</SkinSelected>
<Rect>
<X>1180</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
<Button Name="ButtonDecreasePlayer">
<Skin>Minus</Skin>
<SkinSelected>Minus</SkinSelected>
<Rect>
<X>1130</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<Z>0</Z>
<H>27</H>
<MaxW>142</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideTeams">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>100</Y>
<W>1055</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1050</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlidePlayer">
<Skin/>
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlidePlayer</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>40</X>
<Y>160</Y>
<W>1055</W>
<H>150</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>45</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1050</X>
<Y>210</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>27</TextH>
<TextRelativeX>50</TextRelativeX>
<TextRelativeY>5</TextRelativeY>
<TextMaxW>200</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>8</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections>
<NameSelection Name="NameSelection">
<Rect>
<X>95</X>
<Y>350</Y>
<W>1200</W>
<H>393</H>
<Z>0</Z>
</Rect>
<SkinEmptyTile>CoverTile</SkinEmptyTile>
<ColorEmptyTile Name="EmptyTileColor" />
<SkinTileSelected>PlayerSelector</SkinTileSelected>
<Tiles>
<W>100</W>
<H>100</H>
<NumW>10</NumW>
<NumH>2</NumH>
<SpaceW>10</SpaceW>
<SpaceH>10</SpaceH>
<Name>
<Space>-20</Space>
<H>17</H>
<Font>Outline</Font>
<Style>Bold</Style>
<Color Name="TextColor" />
</Name>
</Tiles>
</NameSelection>
</NameSelections>
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
-3
View File
@@ -105,9 +105,6 @@ or from the console:
load playlist from this path.
Example:
Vocaluxe.exe -PlaylistFolder D:\MyPlaylists
-OldTheme yes : Try to load theme that is created for vocaluxe 0.2 or older (or some pre-release version of 0.3). Enter theme editor and save your theme to convert every file to new syntax. This will be removed in a future version.
Complete example:
Vocaluxe.exe -ConfigFile MyConfig.xml -ScoreFile C:\Vocaluxe\Highscores\MyHighscoreDB.sqlite -SongFolder D:\MySongCollection -PlaylistFolder D:\MyPlaylists
@@ -17,8 +17,11 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.InteropServices;
using VocaluxeLib.Menu;
using VocaluxeLib.Songs;
[assembly: ComVisible(false)]
@@ -103,9 +106,11 @@ namespace VocaluxeLib.PartyModes.Challenge
private enum EStage
{
Config,
Songs,
Names,
Main,
Singing
Singing,
MedleySinging
}
public struct SData
@@ -118,6 +123,14 @@ namespace VocaluxeLib.PartyModes.Challenge
public int[] Jokers;
public List<int> ProfileIDs;
public ESongSource SongSource;
public ESongSorting Sorting;
public int CategoryIndex;
public int PlaylistID;
public EGameMode GameMode;
public int NumMedleySongs;
public CChallengeRounds Rounds;
public List<CResultTableRow> ResultTable;
public int[,] Results;
@@ -125,6 +138,7 @@ namespace VocaluxeLib.PartyModes.Challenge
public int CurrentRoundNr;
public int[] CatSongIndices;
public List<int> Songs;
}
private struct SStats
@@ -149,8 +163,27 @@ namespace VocaluxeLib.PartyModes.Challenge
_ScreenSongOptions.Sorting.SearchString = String.Empty;
_ScreenSongOptions.Sorting.SearchActive = false;
_ScreenSongOptions.Sorting.DuetOptions = EDuetOptions.NoDuets;
_ScreenSongOptions.Sorting.FilterPlaylistID = -1;
GameData = new SData {NumPlayer = 4, NumPlayerAtOnce = 2, NumRounds = 12, NumJokers = 5, RefillJokers = true, CurrentRoundNr = 1, ProfileIDs = new List<int>(), CatSongIndices = null, Results = null};
GameData = new SData
{
NumPlayer = 4,
NumPlayerAtOnce = 2,
NumRounds = 12,
NumJokers = 5,
RefillJokers = true,
CurrentRoundNr = 1,
ProfileIDs = new List<int>(),
Sorting = CBase.Config.GetSongSorting(),
SongSource = ESongSource.TR_SONGSOURCE_ALLSONGS,
PlaylistID = 0,
CategoryIndex = 0,
GameMode = EGameMode.TR_GAMEMODE_NORMAL,
NumMedleySongs = 5,
CatSongIndices = null,
Results = null,
Songs = new List<int>()
};
}
public override void SetDefaults()
@@ -193,12 +226,16 @@ namespace VocaluxeLib.PartyModes.Challenge
{
case EStage.Config:
return _Screens["CPartyScreenChallengeConfig"];
case EStage.Songs:
return _Screens["CPartyScreenChallengeSongs"];
case EStage.Names:
return _Screens["CPartyScreenChallengeNames"];
case EStage.Main:
return _Screens["CPartyScreenChallengeMain"];
case EStage.Singing:
return CBase.Graphics.GetScreen(EScreen.Song);
case EStage.MedleySinging:
return CBase.Graphics.GetScreen(EScreen.Sing);
default:
throw new ArgumentException("Invalid stage: " + _Stage);
}
@@ -214,6 +251,9 @@ namespace VocaluxeLib.PartyModes.Challenge
switch (_Stage)
{
case EStage.Config:
_Stage = EStage.Songs;
break;
case EStage.Songs:
_Stage = EStage.Names;
break;
case EStage.Names:
@@ -225,9 +265,13 @@ namespace VocaluxeLib.PartyModes.Challenge
GameData.Jokers = null;
break;
case EStage.Main:
_Stage = EStage.Singing;
if (GameData.GameMode == EGameMode.TR_GAMEMODE_MEDLEY)
_Stage = EStage.MedleySinging;
else
_Stage = EStage.Singing;
_StartNextRound();
break;
case EStage.MedleySinging:
case EStage.Singing:
_Stage = EStage.Main;
_UpdateScores();
@@ -245,9 +289,12 @@ namespace VocaluxeLib.PartyModes.Challenge
case EStage.Config:
CBase.Graphics.FadeTo(EScreen.Party);
return;
case EStage.Names:
case EStage.Songs:
_Stage = EStage.Config;
break;
case EStage.Names:
_Stage = EStage.Songs;
break;
case EStage.Main:
_Stage = EStage.Names;
break;
@@ -264,8 +311,38 @@ namespace VocaluxeLib.PartyModes.Challenge
public override SScreenSongOptions GetScreenSongOptions()
{
_ScreenSongOptions.Sorting.SongSorting = CBase.Config.GetSongSorting();
_ScreenSongOptions.Sorting.Tabs = CBase.Config.GetTabs();
switch(GameData.SongSource)
{
case ESongSource.TR_SONGSOURCE_ALLSONGS:
_ScreenSongOptions.Sorting.SongSorting = CBase.Config.GetSongSorting();
_ScreenSongOptions.Sorting.Tabs = CBase.Config.GetTabs();
_ScreenSongOptions.Sorting.FilterPlaylistID = -1;
_ScreenSongOptions.Selection.CategoryChangeAllowed = true;
break;
case ESongSource.TR_SONGSOURCE_CATEGORY:
_ScreenSongOptions.Sorting.SongSorting = GameData.Sorting;
_ScreenSongOptions.Sorting.Tabs = EOffOn.TR_CONFIG_ON;
_ScreenSongOptions.Sorting.FilterPlaylistID = -1;
if (GameData.CatSongIndices == null)
_CreateCatSongIndices();
_ScreenSongOptions.Selection.SongIndex = GameData.CatSongIndices[GameData.CategoryIndex];
_ScreenSongOptions.Selection.CategoryChangeAllowed = false;
break;
case ESongSource.TR_SONGSOURCE_PLAYLIST:
_ScreenSongOptions.Sorting.SongSorting = CBase.Config.GetSongSorting();
_ScreenSongOptions.Sorting.Tabs = EOffOn.TR_CONFIG_OFF;
_ScreenSongOptions.Sorting.FilterPlaylistID = GameData.PlaylistID;
_ScreenSongOptions.Selection.CategoryChangeAllowed = false;
break;
}
_ScreenSongOptions.Sorting.IgnoreArticles = CBase.Config.GetIgnoreArticles();
return _ScreenSongOptions;
@@ -342,30 +419,7 @@ namespace VocaluxeLib.PartyModes.Challenge
public override void SongSelected(int songID)
{
const EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
CBase.Game.Reset();
CBase.Game.ClearSongs();
CBase.Game.AddSong(songID, gm);
CBase.Game.SetNumPlayer(GameData.NumPlayerAtOnce);
SPlayer[] players = CBase.Game.GetPlayers();
if (players == null)
return;
if (players.Length < GameData.NumPlayerAtOnce)
return;
CRound c = GameData.Rounds[GameData.CurrentRoundNr - 1];
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
//try to fill with the right data
if (c != null)
players[i].ProfileID = GameData.ProfileIDs[c.Players[i]];
else
players[i].ProfileID = -1;
}
_PrepareGame(new int[] { songID });
CBase.Graphics.FadeTo(EScreen.Sing);
}
@@ -379,11 +433,63 @@ namespace VocaluxeLib.PartyModes.Challenge
private void _StartNextRound()
{
_ScreenSongOptions.Selection.RandomOnly = _ScreenSongOptions.Sorting.Tabs != EOffOn.TR_CONFIG_ON;
_ScreenSongOptions.Selection.CategoryChangeAllowed = _ScreenSongOptions.Sorting.Tabs == EOffOn.TR_CONFIG_ON;
_SetNumJokers();
_SetTeamNames();
GameData.CatSongIndices = null;
if (GameData.GameMode == EGameMode.TR_GAMEMODE_MEDLEY)
{
int[] songIDs = new int[GameData.NumMedleySongs];
for (int i = 0; i < GameData.NumMedleySongs; i++)
{
if (GameData.Songs.Count == 0)
_UpdateSongList();
songIDs[i] = GameData.Songs[0];
GameData.Songs.RemoveAt(0);
}
_PrepareGame(songIDs);
}
else
{
_ScreenSongOptions.Selection.RandomOnly = _ScreenSongOptions.Sorting.Tabs != EOffOn.TR_CONFIG_ON;
_ScreenSongOptions.Selection.CategoryChangeAllowed = false;
_SetNumJokers();
_SetTeamNames();
GameData.CatSongIndices = null;
}
}
private bool _PrepareGame(int[] songIDs)
{
CBase.Game.Reset();
CBase.Game.ClearSongs();
#region PlayerNames
CBase.Game.SetNumPlayer(GameData.NumPlayerAtOnce);
SPlayer[] players = CBase.Game.GetPlayers();
if (players == null)
return false;
if (players.Length < GameData.NumPlayerAtOnce)
return false;
CRound c = GameData.Rounds[GameData.CurrentRoundNr - 1];
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
//try to fill with the right data
if (c != null)
players[i].ProfileID = GameData.ProfileIDs[c.Players[i]];
else
players[i].ProfileID = -1;
}
#endregion PlayerNames
#region SongQueue
for (int i = 0; i < songIDs.Length; i++)
CBase.Game.AddSong(songIDs[i], GameData.GameMode);
#endregion SongQueue
return true;
}
private void _SetNumJokers()
@@ -428,6 +534,38 @@ namespace VocaluxeLib.PartyModes.Challenge
_ScreenSongOptions.Selection.TeamNames[i] = CBase.Profiles.GetPlayerName(GameData.ProfileIDs[c.Players[i]]);
}
private void _UpdateSongList()
{
if (GameData.Songs.Count > 0)
return;
switch (GameData.SongSource)
{
case ESongSource.TR_SONGSOURCE_PLAYLIST:
for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID;
if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY))
GameData.Songs.Add(id);
}
break;
case ESongSource.TR_SONGSOURCE_ALLSONGS:
ReadOnlyCollection<CSong> avSongs = CBase.Songs.GetSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY)).Select(song => song.ID));
break;
case ESongSource.TR_SONGSOURCE_CATEGORY:
CBase.Songs.SetCategory(GameData.CategoryIndex);
avSongs = CBase.Songs.GetVisibleSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY)).Select(song => song.ID));
CBase.Songs.SetCategory(-1);
break;
}
GameData.Songs.Shuffle();
}
private void _UpdateScores()
{
if (GameData.ResultTable.Count == 0)
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes.Challenge
{
class CPartyScreenChallengeSongs : CMenuPartySongSelection
{
protected override int _ScreenVersion
{
get { return 1; }
}
private new CPartyModeChallenge _PartyMode;
public override void Init()
{
base.Init();
_PartyMode = (CPartyModeChallenge)base._PartyMode;
}
public override void OnShow()
{
Source = _PartyMode.GameData.SongSource;
Sorting = _PartyMode.GameData.Sorting;
Category = _PartyMode.GameData.CategoryIndex;
Playlist = _PartyMode.GameData.PlaylistID;
SongMode = _PartyMode.GameData.GameMode;
NumMedleySongs = _PartyMode.GameData.NumMedleySongs;
base.OnShow();
}
public override void Back()
{
_SaveConfig();
_PartyMode.Back();
}
public override void Next()
{
_SaveConfig();
_PartyMode.Next();
}
public override bool UpdateGame()
{
return true;
}
protected override void _SetAllowedOptions()
{
base._SetAllowedOptions();
AllowedSongModes = new EGameMode[] { EGameMode.TR_GAMEMODE_NORMAL, EGameMode.TR_GAMEMODE_SHORTSONG, EGameMode.TR_GAMEMODE_MEDLEY };
}
private void _SaveConfig()
{
_PartyMode.GameData.SongSource = Source;
_PartyMode.GameData.Sorting = Sorting;
_PartyMode.GameData.CategoryIndex = Category;
_PartyMode.GameData.PlaylistID = Playlist;
_PartyMode.GameData.GameMode = SongMode;
_PartyMode.GameData.NumMedleySongs = NumMedleySongs;
}
}
}
@@ -71,6 +71,7 @@
</PropertyGroup>
<ItemGroup>
<Compile Include="CChallengeRounds.cs" />
<Compile Include="CPartyScreenChallengeSongs.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="CPartyModeChallenge.cs" />
<Compile Include="CPartyScreenChallengeConfig.cs" />
@@ -109,4 +110,4 @@ rm -f "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\GlobalSuppressions.cs"
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
@@ -1,152 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using VocaluxeLib.Utils.Combinatorics;
namespace VocaluxeLib.PartyModes.ChallengeMedley
{
public class CChallengeRounds
{
private readonly List<CRound> _Rounds = new List<CRound>();
public int Count
{
get { return _Rounds.Count; }
}
public CRound this[int index]
{
get { return _Rounds[index]; }
}
public CChallengeRounds(int numRounds, int numPlayer, int playersPerRound)
{
if (numRounds < 1 || numPlayer < 1 || playersPerRound < 1)
throw new ArgumentException("Invalid paramters for the rounds");
if (playersPerRound > numPlayer)
playersPerRound = numPlayer;
_BuildRounds(numRounds, numPlayer, playersPerRound);
if (Count > numRounds)
{
//Try again and take the better one
List<CRound> old = new List<CRound>(_Rounds);
_Rounds.Clear();
_BuildRounds(numRounds, numPlayer, playersPerRound);
if (Count > old.Count)
{
_Rounds.Clear();
_Rounds.AddRange(old);
}
}
}
/// <summary>
/// Divides players in 2 categories: Those how sung the most and the others
/// </summary>
/// <param name="numSung">List matching the playerIndex to the number of songs sung</param>
private static List<int> _GetPlayersForRound(IList<int> numSung)
{
List<int> mustSing = new List<int>();
int max = numSung.Max();
for (int i = 0; i < numSung.Count; i++)
{
if (numSung[i] < max)
mustSing.Add(i);
}
return mustSing;
}
private static void _AddCombinations(int numPlayer, int playersPerRound, List<CRound> combinations)
{
List<int> input = new List<int>(numPlayer);
for (int i = 0; i < numPlayer; i++)
input.Add(i);
CCombinations<int> combs = new CCombinations<int>(input, playersPerRound);
combinations.AddRange(combs.Select(combination => new CRound(combination)));
combinations.Shuffle();
}
private static CRound _GetMatchingCombination(List<int> playersInRound, List<int> numSung, List<CRound> combinations)
{
foreach (CRound round in combinations)
{
int matching = round.Players.Count(playersInRound.Contains);
// A valid round contains only players from playersInRound or all players from playersInRound (and some others)
if (matching == round.Players.Count || matching == playersInRound.Count)
return round;
}
// It may happen, that there are only players that already sung against each other. So create a 2nd best option with the most number of players that should sing in it
int maxMatching = combinations.Max(c => c.Players.Count(playersInRound.Contains));
List<CRound> nextOptions = combinations.Where(c => c.Players.Count(playersInRound.Contains) == maxMatching).ToList();
// And select the combination that minimizes the sum of the number of songs sung (--> favor rounds with players that sung less than others)
CRound result = null;
int minSung = int.MaxValue;
foreach (CRound round in nextOptions)
{
int curNumSung = round.Players.Sum(pl => numSung[pl]);
if (curNumSung < minSung)
{
minSung = curNumSung;
result = round;
}
}
Debug.Assert(result != null);
return result;
}
private void _BuildRounds(int numRounds, int numPlayer, int playersPerRound)
{
// What we want is that every player sung the same amount of songs
// So we keep track how many songs each palyer sung
List<int> numSung = new List<int>(numPlayer);
for (int i = 0; i < numPlayer; i++)
numSung.Add(0);
List<CRound> combinations = new List<CRound>();
// Posibly add more rounds than requested if the song count per player is unequal
for (int i = 0; i < numRounds * 10; i++)
{
if (combinations.Count == 0)
_AddCombinations(numPlayer, playersPerRound, combinations);
List<int> playersInRound = _GetPlayersForRound(numSung);
CRound curRound = _GetMatchingCombination(playersInRound, numSung, combinations);
foreach (int player in curRound.Players)
numSung[player]++;
_Rounds.Add(curRound);
combinations.Remove(curRound);
//Stop if we have enough rounds and all players sung the same amount of songs
if (_Rounds.Count >= numRounds && numSung.All(ct => ct == numSung[0]))
break;
}
}
}
public class CRound
{
public readonly List<int> Players;
public CRound(List<int> players)
{
Players = players.Shuffle();
}
}
}
@@ -1,562 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.InteropServices;
using VocaluxeLib.Game;
using VocaluxeLib.Menu;
using VocaluxeLib.Profile;
using VocaluxeLib.Songs;
[assembly: ComVisible(false)]
namespace VocaluxeLib.PartyModes.ChallengeMedley
{
public enum ESongSource
{
TR_ALLSONGS,
TR_CATEGORY,
TR_PLAYLIST
}
public class CResultTableRow : IComparable
{
public int Position;
public int PlayerID;
public int NumPlayed;
public int NumWon;
public int NumSingPoints;
public int NumGamePoints;
public int CompareTo(object obj)
{
var row = obj as CResultTableRow;
if (row != null)
{
int res = row.NumGamePoints.CompareTo(NumGamePoints);
if (res == 0)
{
res = row.NumSingPoints.CompareTo(NumSingPoints);
if (res == 0)
res = row.NumWon.CompareTo(NumWon);
}
return res;
}
throw new ArgumentException("object is not a ResultTableRow");
}
}
public abstract class CPartyScreenChallengeMedley : CMenuParty
{
protected new CPartyModeChallengeMedley _PartyMode;
public override void Init()
{
base.Init();
_PartyMode = (CPartyModeChallengeMedley)base._PartyMode;
}
}
// ReSharper disable ClassNeverInstantiated.Global
public sealed class CPartyModeChallengeMedley : CPartyMode
// ReSharper restore ClassNeverInstantiated.Global
{
public override int MinMics
{
get { return 1; }
}
public override int MaxMics
{
get { return CBase.Config.GetMaxNumMics(); }
}
public override int MinPlayers
{
get { return 1; }
}
public override int MaxPlayers
{
get { return 12; }
}
public override int MinTeams
{
get { return 1; }
}
public override int MaxTeams
{
get { return 1; }
}
public override int MinPlayersPerTeam
{
get { return MinPlayers; }
}
public override int MaxPlayersPerTeam
{
get { return MaxPlayers; }
}
public int MinSongs
{
get { return 1; }
}
public int MaxSongs
{
get { return 10; }
}
private enum EStage
{
Config,
Names,
Main,
Singing
}
public struct SData
{
public int NumPlayer;
public int NumPlayerAtOnce;
public int NumRounds;
public List<int> ProfileIDs;
public int NumSongs;
public List<int> Songs;
public CChallengeRounds Rounds;
public List<CResultTableRow> ResultTable;
public int[,] Results;
public int CurrentRoundNr;
public int[] CatSongIndices;
public ESongSource SongSource;
public int CategoryIndex;
public int PlaylistID;
}
private struct SStats
{
public int ProfileID;
public int SingPoints;
public int GamePoints;
public int Won;
}
public SData GameData;
private EStage _Stage;
public CPartyModeChallengeMedley(int id) : base(id)
{
GameData = new SData {NumPlayer = 4, NumPlayerAtOnce = 2, NumRounds = 12, CurrentRoundNr = 1, ProfileIDs = new List<int>(), NumSongs = 5, Songs = new List<int>(), SongSource = ESongSource.TR_ALLSONGS, CatSongIndices = null, Results = null};
}
public override void SetDefaults()
{
_Stage = EStage.Config;
GameData.CurrentRoundNr = 1;
GameData.ResultTable = new List<CResultTableRow>();
}
public override bool Init()
{
if (!base.Init())
return false;
SetDefaults();
return true;
}
public override void UpdateGame()
{
/*
if (CBase.Songs.IsInCategory() || _ScreenSongOptions.Sorting.Tabs == EOffOn.TR_CONFIG_OFF)
_ScreenSongOptions.Selection.RandomOnly = true;
else
_ScreenSongOptions.Selection.RandomOnly = false;*/
}
private IMenu _GetNextScreen()
{
switch (_Stage)
{
case EStage.Config:
return _Screens["CPartyScreenChallengeMedleyConfig"];
case EStage.Names:
return _Screens["CPartyScreenChallengeMedleyNames"];
case EStage.Main:
return _Screens["CPartyScreenChallengeMedleyMain"];
case EStage.Singing:
return CBase.Graphics.GetScreen(EScreen.Sing);
default:
throw new ArgumentException("Invalid stage: " + _Stage);
}
}
private void _FadeToScreen()
{
CBase.Graphics.FadeTo(_GetNextScreen());
}
public void Next()
{
switch (_Stage)
{
case EStage.Config:
_Stage = EStage.Names;
break;
case EStage.Names:
_Stage = EStage.Main;
CBase.Songs.ResetSongSung();
GameData.ResultTable = new List<CResultTableRow>();
GameData.Rounds = new CChallengeRounds(GameData.NumRounds, GameData.NumPlayer, GameData.NumPlayerAtOnce);
GameData.CurrentRoundNr = 1;
break;
case EStage.Main:
_Stage = EStage.Singing;
if (!_StartNextRound())
CBase.Graphics.FadeTo(EScreen.Party);
break;
case EStage.Singing:
_Stage = EStage.Main;
_UpdateScores();
break;
default:
throw new ArgumentException("Invalid stage: " + _Stage);
}
_FadeToScreen();
}
public void Back()
{
switch (_Stage)
{
case EStage.Config:
CBase.Graphics.FadeTo(EScreen.Party);
return;
case EStage.Names:
_Stage = EStage.Config;
break;
case EStage.Main:
_Stage = EStage.Names;
break;
default: // Rest is not allowed
throw new ArgumentException("Invalid stage: " + _Stage);
}
_FadeToScreen();
}
public override IMenu GetStartScreen()
{
return _Screens["CPartyScreenChallengeMedleyConfig"];
}
public override SScreenSongOptions GetScreenSongOptions()
{
throw new ArgumentException("Not required!");
}
public override void OnSongChange(int songIndex, ref SScreenSongOptions screenSongOptions)
{
throw new ArgumentException("Not required!");
}
public override void OnCategoryChange(int categoryIndex, ref SScreenSongOptions screenSongOptions)
{
throw new ArgumentException("Not required!");
}
public override void SetSearchString(string searchString, bool visible)
{
throw new ArgumentException("Not required!");
}
public override void JokerUsed(int teamNr) { }
public override void SongSelected(int songID) {}
public override void LeavingHighscore()
{
GameData.CurrentRoundNr++;
Next();
}
private bool _StartNextRound()
{
_SetTeamNames();
GameData.CatSongIndices = null;
return _PrepareGame();
}
private bool _PrepareGame()
{
CBase.Game.Reset();
CBase.Game.ClearSongs();
#region PlayerNames
CBase.Game.SetNumPlayer(GameData.NumPlayerAtOnce);
SPlayer[] players = CBase.Game.GetPlayers();
if (players == null)
return false;
if (players.Length < GameData.NumPlayerAtOnce)
return false;
CRound c = GameData.Rounds[GameData.CurrentRoundNr - 1];
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
//try to fill with the right data
if (c != null)
players[i].ProfileID = GameData.ProfileIDs[c.Players[i]];
else
players[i].ProfileID = -1;
}
#endregion PlayerNames
#region SongQueue
for (int i = 0; i < GameData.NumSongs; i++)
{
if (GameData.Songs.Count == 0)
_UpdateSongList();
CBase.Game.AddSong(GameData.Songs[0], EGameMode.TR_GAMEMODE_MEDLEY);
GameData.Songs.RemoveAt(0);
}
return true;
#endregion SongQueue
}
private void _UpdateSongList()
{
if (GameData.Songs.Count > 0)
return;
switch (GameData.SongSource)
{
case ESongSource.TR_PLAYLIST:
for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID;
if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY))
GameData.Songs.Add(id);
}
break;
case ESongSource.TR_ALLSONGS:
ReadOnlyCollection<CSong> avSongs = CBase.Songs.GetSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY)).Select(song => song.ID));
break;
case ESongSource.TR_CATEGORY:
CBase.Songs.SetCategory(GameData.CategoryIndex);
avSongs = CBase.Songs.GetVisibleSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(EGameMode.TR_GAMEMODE_MEDLEY)).Select(song => song.ID));
CBase.Songs.SetCategory(-1);
break;
}
GameData.Songs.Shuffle();
}
private void _SetTeamNames()
{
CProfile[] profiles = CBase.Profiles.GetProfiles();
if (profiles == null)
{
_ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"};
return;
}
if (GameData.NumPlayerAtOnce < 1 || GameData.ProfileIDs.Count < GameData.NumPlayerAtOnce || profiles.Length < GameData.NumPlayerAtOnce)
{
_ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"};
return;
}
_ScreenSongOptions.Selection.TeamNames = new string[GameData.NumPlayerAtOnce];
CRound c = GameData.Rounds[GameData.CurrentRoundNr - 1];
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
if (c != null)
{
if (GameData.ProfileIDs[c.Players[i]] < profiles.Length)
_ScreenSongOptions.Selection.TeamNames[i] = profiles[GameData.ProfileIDs[c.Players[i]]].PlayerName;
else
_ScreenSongOptions.Selection.TeamNames[i] = "foobar";
}
else
_ScreenSongOptions.Selection.TeamNames[i] = "foobar";
}
}
private void _UpdateScores()
{
if (GameData.ResultTable.Count == 0)
{
for (int i = 0; i < GameData.NumPlayer; i++)
{
CResultTableRow row = new CResultTableRow {PlayerID = GameData.ProfileIDs[i], NumPlayed = 0, NumWon = 0, NumSingPoints = 0, NumGamePoints = 0};
GameData.ResultTable.Add(row);
}
GameData.Results = new int[GameData.NumRounds,GameData.NumPlayerAtOnce];
for (int i = 0; i < GameData.NumRounds; i++)
{
for (int j = 0; j < GameData.NumPlayerAtOnce; j++)
GameData.Results[i, j] = 0;
}
}
CPoints gamePoints = CBase.Game.GetPoints();
if (gamePoints == null || gamePoints.NumPlayer < GameData.NumPlayerAtOnce)
return;
SPlayer[] results = gamePoints.GetPlayer(0, GameData.NumPlayerAtOnce);
if (results == null)
return;
if (results.Length < GameData.NumPlayerAtOnce)
return;
if (gamePoints.NumRounds == 0)
return;
for (int i = 1; i < gamePoints.NumRounds; i++)
{
SPlayer[] temp = gamePoints.GetPlayer(i, GameData.NumPlayerAtOnce);
for (int p = 0; p < GameData.NumPlayerAtOnce; p++)
results[p].Points += temp[p].Points;
}
for (int j = 0; j < GameData.NumPlayerAtOnce; j++)
{
results[j].Points = results[j].Points / gamePoints.NumRounds;
GameData.Results[GameData.CurrentRoundNr - 2, j] = (int)Math.Round(results[j].Points);
}
List<SStats> points = _GetPointsForPlayer(results);
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
int index = -1;
for (int j = 0; j < GameData.ResultTable.Count; j++)
{
if (points[i].ProfileID == GameData.ResultTable[j].PlayerID)
{
index = j;
break;
}
}
if (index != -1)
{
CResultTableRow row = GameData.ResultTable[index];
row.NumPlayed++;
row.NumWon += points[i].Won;
row.NumSingPoints += points[i].SingPoints;
row.NumGamePoints += points[i].GamePoints;
GameData.ResultTable[index] = row;
}
}
GameData.ResultTable.Sort();
//Update position-number
int pos = 1;
int lastPoints = 0;
int lastSingPoints = 0;
foreach (CResultTableRow resultRow in GameData.ResultTable)
{
if (lastPoints > resultRow.NumGamePoints || lastSingPoints > resultRow.NumSingPoints)
pos++;
resultRow.Position = pos;
lastPoints = resultRow.NumGamePoints;
lastSingPoints = resultRow.NumSingPoints;
}
}
private List<SStats> _GetPointsForPlayer(SPlayer[] results)
{
var result = new List<SStats>();
for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{
var stat = new SStats {ProfileID = results[i].ProfileID, SingPoints = (int)Math.Round(results[i].Points), Won = 0, GamePoints = 0};
result.Add(stat);
}
result.Sort((s1, s2) => s1.SingPoints.CompareTo(s2.SingPoints));
int current = result[result.Count - 1].SingPoints;
int points = result.Count;
bool wonset = false;
for (int i = result.Count - 1; i >= 0; i--)
{
SStats res = result[i];
if (i < result.Count - 1)
{
if (current > res.SingPoints)
{
res.GamePoints = i * 2;
wonset = true;
points = res.GamePoints;
}
else
{
if (!wonset)
res.Won = 1;
res.GamePoints = points;
}
}
else
{
res.GamePoints = i * 2;
res.Won = 1;
}
current = res.SingPoints;
result[i] = res;
}
return result;
}
private void _CreateCatSongIndices()
{
if (GameData.CatSongIndices == null && CBase.Songs.GetNumCategories() > 0 && _ScreenSongOptions.Sorting.Tabs == EOffOn.TR_CONFIG_ON)
{
GameData.CatSongIndices = new int[CBase.Songs.GetNumCategories()];
for (int i = 0; i < GameData.CatSongIndices.Length; i++)
GameData.CatSongIndices[i] = -1;
}
if (CBase.Songs.GetNumCategories() == 0 || _ScreenSongOptions.Sorting.Tabs == EOffOn.TR_CONFIG_OFF)
GameData.CatSongIndices = null;
}
}
}
@@ -1,290 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;
using VocaluxeLib.Songs;
namespace VocaluxeLib.PartyModes.ChallengeMedley
{
// ReSharper disable UnusedMember.Global
public class CPartyScreenChallengeMedleyConfig : CPartyScreenChallengeMedley
// ReSharper restore UnusedMember.Global
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 2; }
}
private const string _SelectSlideNumPlayers = "SelectSlideNumPlayers";
private const string _SelectSlideNumMics = "SelectSlideNumMics";
private const string _SelectSlideNumRounds = "SelectSlideNumRounds";
private const string _SelectSlideNumSongs = "SelectSlideNumSongs";
private const string _SelectSlideSongSource = "SelectSlideSongSource";
private const string _SelectSlidePlaylist = "SelectSlidePlaylist";
private const string _SelectSlideCategory = "SelectSlideCategory";
private const string _ButtonNext = "ButtonNext";
private const string _ButtonBack = "ButtonBack";
private const int _MaxNumRounds = 100;
private int _RoundSteps = 1;
private bool _ConfigOk;
public override void Init()
{
base.Init();
_ThemeSelectSlides = new string[] {_SelectSlideNumPlayers, _SelectSlideNumMics, _SelectSlideNumRounds, _SelectSlideNumSongs, _SelectSlideSongSource, _SelectSlidePlaylist, _SelectSlideCategory};
_ThemeButtons = new string[] {_ButtonNext, _ButtonBack};
}
public override bool HandleInput(SKeyEvent keyEvent)
{
base.HandleInput(keyEvent);
if (keyEvent.KeyPressed) {}
else
{
switch (keyEvent.Key)
{
case Keys.Back:
case Keys.Escape:
_PartyMode.Back();
break;
case Keys.Enter:
_UpdateSlides();
if (_Buttons[_ButtonBack].Selected)
_PartyMode.Back();
if (_Buttons[_ButtonNext].Selected)
_PartyMode.Next();
break;
case Keys.Left:
_UpdateSlides();
break;
case Keys.Right:
_UpdateSlides();
break;
}
}
return true;
}
public override bool HandleMouse(SMouseEvent mouseEvent)
{
base.HandleMouse(mouseEvent);
if (mouseEvent.LB && _IsMouseOverCurSelection(mouseEvent))
{
_UpdateSlides();
if (_Buttons[_ButtonBack].Selected)
_PartyMode.Back();
if (_Buttons[_ButtonNext].Selected)
_PartyMode.Next();
}
if (mouseEvent.RB)
_PartyMode.Back();
return true;
}
public override void OnShow()
{
base.OnShow();
_RebuildSlides();
_UpdateSlides();
}
public override bool UpdateGame()
{
_Buttons[_ButtonNext].Visible = _ConfigOk;
return true;
}
private void _RebuildSlides()
{
// build num player slide (min player ... max player);
_SelectSlides[_SelectSlideNumPlayers].Clear();
for (int i = _PartyMode.MinPlayers; i <= _PartyMode.MaxPlayers; i++)
_SelectSlides[_SelectSlideNumPlayers].AddValue(i.ToString());
_SelectSlides[_SelectSlideNumPlayers].Selection = _PartyMode.GameData.NumPlayer - _PartyMode.MinPlayers;
_SelectSlides[_SelectSlideNumSongs].Clear();
for (int i = _PartyMode.MinSongs; i <= _PartyMode.MaxSongs; i++)
_SelectSlides[_SelectSlideNumSongs].AddValue(i.ToString());
_SelectSlides[_SelectSlideNumSongs].Selection = _PartyMode.GameData.NumSongs - _PartyMode.MinSongs;
_SelectSlides[_SelectSlideSongSource].Clear();
_SelectSlides[_SelectSlideSongSource].SetValues<ESongSource>((int)_PartyMode.GameData.SongSource);
List<string> playlists = CBase.Playlist.GetNames();
_SelectSlides[_SelectSlidePlaylist].Clear();
for (int i = 0; i < playlists.Count; i++)
{
string value = playlists[i] + " (" + CBase.Playlist.GetSongCount(i) + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlidePlaylist].AddValue(value);
}
_SelectSlides[_SelectSlidePlaylist].Selection = _PartyMode.GameData.PlaylistID;
_SelectSlides[_SelectSlidePlaylist].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST;
_SelectSlides[_SelectSlideCategory].Clear();
for (int i = 0; i < CBase.Songs.GetNumCategories(); i++)
{
CCategory cat = CBase.Songs.GetCategory(i);
string value = cat.Name + " (" + cat.GetNumSongsNotSung() + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlideCategory].AddValue(value);
}
_SelectSlides[_SelectSlideCategory].Selection = _PartyMode.GameData.CategoryIndex;
_SelectSlides[_SelectSlideCategory].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY;
_UpdateMicsAtOnce();
_SetRoundSteps();
_UpdateSlideRounds();
}
private void _UpdateSlides()
{
int player = _PartyMode.GameData.NumPlayer;
int mics = _PartyMode.GameData.NumPlayerAtOnce;
_PartyMode.GameData.NumPlayer = _SelectSlides[_SelectSlideNumPlayers].Selection + _PartyMode.MinPlayers;
_PartyMode.GameData.NumPlayerAtOnce = _SelectSlides[_SelectSlideNumMics].Selection + _PartyMode.MinPlayers;
_PartyMode.GameData.NumRounds = (_SelectSlides[_SelectSlideNumRounds].Selection + 1) * _RoundSteps;
_PartyMode.GameData.NumSongs = _SelectSlides[_SelectSlideNumSongs].Selection + _PartyMode.MinSongs;
_PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection;
_PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection;
_PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection;
_UpdateMicsAtOnce();
_SetRoundSteps();
if (player != _PartyMode.GameData.NumPlayer || mics != _PartyMode.GameData.NumPlayerAtOnce)
{
int num = CHelper.CombinationCount(_PartyMode.GameData.NumPlayer, _PartyMode.GameData.NumPlayerAtOnce);
while (num > _MaxNumRounds)
num -= _RoundSteps;
_PartyMode.GameData.NumRounds = num;
}
if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST)
{
if (CBase.Playlist.GetNumPlaylists() > 0)
{
if (CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID) > 0)
{
_ConfigOk = false;
for (int i = 0; i < CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetSong(_PartyMode.GameData.PlaylistID, i).SongID;
_ConfigOk = CBase.Songs.GetSongByID(id).AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY);
if (_ConfigOk)
break;
}
}
else
_ConfigOk = false;
}
else
_ConfigOk = false;
}
if (_PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY)
{
if (CBase.Songs.GetNumCategories() == 0)
_ConfigOk = false;
else if (CBase.Songs.GetNumSongsNotSungInCategory(_PartyMode.GameData.CategoryIndex) <= 0)
_ConfigOk = false;
else
{
CBase.Songs.SetCategory(_PartyMode.GameData.CategoryIndex);
_ConfigOk = false;
foreach (CSong song in CBase.Songs.GetVisibleSongs())
{
_ConfigOk = song.AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY);
if (_ConfigOk)
break;
}
CBase.Songs.SetCategory(-1);
}
}
if (_PartyMode.GameData.SongSource == ESongSource.TR_ALLSONGS)
{
if (CBase.Songs.GetNumSongs() > 0)
{
for (int i = 0; i < CBase.Songs.GetNumSongs(); i++)
{
_ConfigOk = CBase.Songs.GetSongByID(i).AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY);
if (_ConfigOk)
break;
}
}
else
_ConfigOk = false;
}
_SelectSlides[_SelectSlideCategory].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY;
_SelectSlides[_SelectSlidePlaylist].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST;
_UpdateSlideRounds();
}
private void _UpdateMicsAtOnce()
{
int maxNum = Math.Min(_PartyMode.MaxMics, _PartyMode.GameData.NumPlayer);
if (_PartyMode.GameData.NumPlayerAtOnce > maxNum)
_PartyMode.GameData.NumPlayerAtOnce = maxNum;
// build mics at once slide
_SelectSlides[_SelectSlideNumMics].Clear();
for (int i = 1; i <= maxNum; i++)
_SelectSlides[_SelectSlideNumMics].AddValue(i.ToString());
_SelectSlides[_SelectSlideNumMics].Selection = _PartyMode.GameData.NumPlayerAtOnce - _PartyMode.MinPlayers;
}
private void _UpdateSlideRounds()
{
// build num rounds slide
_SelectSlides[_SelectSlideNumRounds].Clear();
for (int i = _RoundSteps; i <= _MaxNumRounds; i += _RoundSteps)
_SelectSlides[_SelectSlideNumRounds].AddValue(i.ToString());
_SelectSlides[_SelectSlideNumRounds].Selection = _PartyMode.GameData.NumRounds / _RoundSteps - 1;
}
private void _SetRoundSteps()
{
if (_PartyMode.GameData.NumPlayerAtOnce < 1 || _PartyMode.GameData.NumPlayer < 1 || _PartyMode.GameData.NumPlayerAtOnce > _PartyMode.GameData.NumPlayer)
{
_RoundSteps = 1;
return;
}
int res = _PartyMode.GameData.NumPlayer / _PartyMode.GameData.NumPlayerAtOnce;
int mod = _PartyMode.GameData.NumPlayer % _PartyMode.GameData.NumPlayerAtOnce;
_RoundSteps = mod == 0 ? res : _PartyMode.GameData.NumPlayer;
}
}
}
@@ -1,630 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes.ChallengeMedley
{
struct STableRow
{
public CText Pos;
public CText Name;
public CText Rounds;
public CText Won;
public CText SingPoints;
public CText GamePoints;
}
class CRoundsTableRow
{
public CText Number;
public List<CText> TextPlayer;
public List<CText> TextScores;
}
// ReSharper disable UnusedMember.Global
public class CPartyScreenChallengeMedleyMain : CPartyScreenChallengeMedley
// ReSharper restore UnusedMember.Global
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 1; }
}
private const string _TextPosition = "TextPosition";
private const string _TextPlayerName = "TextPlayerName";
private const string _TextNumPlayed = "TextNumPlayed";
private const string _TextWon = "TextWon";
private const string _TextSingPoints = "TextSingPoints";
private const string _TextGamePoints = "TextGamePoints";
private const string _TextNextPlayer = "TextNextPlayer";
private const string _TextPopupReallyExit = "TextPopupReallyExit";
private const string _TextRoundPlayer = "TextRoundPlayer";
private const string _TextRoundScore = "TextRoundScore";
private const string _TextRoundNumber = "TextRoundNumber";
private const string _TextFinishMessage = "TextFinishMessage";
private const string _TextFinishPlayerWin = "TextFinishPlayerWin";
private const string _TextNextPlayerMessage = "TextNextPlayerMessage";
private const string _ButtonNextRound = "ButtonNextRound";
private const string _ButtonBack = "ButtonBack";
private const string _ButtonExit = "ButtonExit";
private const string _ButtonPopupYes = "ButtonPopupYes";
private const string _ButtonPopupNo = "ButtonPopupNo";
private const string _ButtonPlayerScrollUp = "ButtonPlayerScrollUp";
private const string _ButtonPlayerScrollDown = "ButtonPlayerScrollDown";
private const string _ButtonRoundsScrollUp = "ButtonRoundsScrollUp";
private const string _ButtonRoundsScrollDown = "ButtonRoundsScrollDown";
private const string _StaticPopupBG = "StaticPopupBG";
private const string _StaticNextPlayer = "StaticNextPlayer";
private bool _ExitPopupVisible;
private List<STableRow> _PlayerTable;
private List<CRoundsTableRow> _RoundsTable;
private List<CText> _NextPlayerTexts;
private List<CStatic> _NextPlayerStatics;
private SRectF _RoundsTableScrollArea;
private SRectF _PlayerTableScrollArea;
private int _RoundsTableOffset;
private int _PlayerTableOffset;
private const int _NumPlayerVisible = 10;
private int _NumRoundsVisible = 3;
public override void Init()
{
base.Init();
_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};
}
public override void LoadTheme(string xmlPath)
{
base.LoadTheme(xmlPath);
_BuildPlayerTable();
_CreateRoundsTable();
_NextPlayerTexts = new List<CText>();
_NextPlayerStatics = new List<CStatic>();
for (int i = 0; i < _PartyMode.MaxPlayers; i++)
{
_NextPlayerTexts.Add(GetNewText(_Texts[_TextNextPlayer]));
_AddText(_NextPlayerTexts[_NextPlayerTexts.Count - 1]);
_NextPlayerStatics.Add(GetNewStatic(_Statics[_StaticNextPlayer]));
_AddStatic(_NextPlayerStatics[_NextPlayerStatics.Count - 1]);
}
_Statics[_StaticNextPlayer].Visible = false;
}
public override bool HandleInput(SKeyEvent keyEvent)
{
base.HandleInput(keyEvent);
if (keyEvent.KeyPressed) {}
else
{
switch (keyEvent.Key)
{
case Keys.Back:
case Keys.Escape:
if (!_ExitPopupVisible)
{
if (_PartyMode.GameData.CurrentRoundNr == 1)
_PartyMode.Back();
else
_ShowPopup(true);
}
else
_ShowPopup(false);
break;
case Keys.Enter:
if (!_ExitPopupVisible)
{
if (_Buttons[_ButtonNextRound].Selected)
_PartyMode.Next();
if (_Buttons[_ButtonBack].Selected && _PartyMode.GameData.CurrentRoundNr == 1)
_PartyMode.Back();
if (_Buttons[_ButtonExit].Selected && _PartyMode.GameData.CurrentRoundNr > 1)
_ShowPopup(true);
if (_Buttons[_ButtonPlayerScrollUp].Selected)
_ScrollPlayerTable(-1);
if (_Buttons[_ButtonPlayerScrollDown].Selected)
_ScrollPlayerTable(1);
if (_Buttons[_ButtonRoundsScrollUp].Selected)
_ScrollRoundsTable(-1);
if (_Buttons[_ButtonRoundsScrollDown].Selected)
_ScrollRoundsTable(1);
}
else
{
if (_Buttons[_ButtonPopupYes].Selected)
_EndParty();
if (_Buttons[_ButtonPopupNo].Selected)
_ShowPopup(false);
}
break;
}
}
return true;
}
public override bool HandleMouse(SMouseEvent mouseEvent)
{
base.HandleMouse(mouseEvent);
if (mouseEvent.LB && _IsMouseOverCurSelection(mouseEvent))
{
if (!_ExitPopupVisible)
{
if (_Buttons[_ButtonNextRound].Selected)
_PartyMode.Next();
if (_Buttons[_ButtonBack].Selected && _PartyMode.GameData.CurrentRoundNr == 1)
_PartyMode.Back();
if (_Buttons[_ButtonExit].Selected && _PartyMode.GameData.CurrentRoundNr > 1)
_ShowPopup(true);
if (_Buttons[_ButtonPlayerScrollUp].Selected)
_ScrollPlayerTable(-1);
if (_Buttons[_ButtonPlayerScrollDown].Selected)
_ScrollPlayerTable(1);
if (_Buttons[_ButtonRoundsScrollUp].Selected)
_ScrollRoundsTable(-1);
if (_Buttons[_ButtonRoundsScrollDown].Selected)
_ScrollRoundsTable(1);
}
else
{
if (_Buttons[_ButtonPopupYes].Selected)
_EndParty();
if (_Buttons[_ButtonPopupNo].Selected)
_ShowPopup(false);
}
}
if (mouseEvent.RB)
{
if (!_ExitPopupVisible)
{
if (_PartyMode.GameData.CurrentRoundNr == 1)
_PartyMode.Back();
else
_ShowPopup(true);
}
else
_ShowPopup(false);
}
if (mouseEvent.Wheel != 0)
{
if (CHelper.IsInBounds(_RoundsTableScrollArea, mouseEvent))
_ScrollRoundsTable(mouseEvent.Wheel);
if (CHelper.IsInBounds(_PlayerTableScrollArea, mouseEvent))
_ScrollPlayerTable(mouseEvent.Wheel);
}
return true;
}
public override void OnShow()
{
base.OnShow();
_PlayerTableOffset = 0;
_RoundsTableOffset = 0;
_UpdatePlayerTable();
_UpdateNextPlayerPositions();
_UpdateNextPlayerContents();
if (_PartyMode.GameData.CurrentRoundNr == 1)
_BuildRoundsTable();
else
_ScrollRoundsTable(_PartyMode.GameData.CurrentRoundNr - 2);
_UpdateRoundsTable();
if (_PartyMode.GameData.CurrentRoundNr == 1)
{
_Buttons[_ButtonBack].Visible = true;
_Buttons[_ButtonExit].Visible = false;
}
else
{
_Buttons[_ButtonBack].Visible = false;
_Buttons[_ButtonExit].Visible = true;
}
if (_PartyMode.GameData.CurrentRoundNr <= _PartyMode.GameData.Rounds.Count)
{
_Buttons[_ButtonNextRound].Visible = true;
_Texts[_TextFinishMessage].Visible = false;
_Texts[_TextFinishPlayerWin].Visible = false;
_SelectElement(_Buttons[_ButtonNextRound]);
}
else
{
_Buttons[_ButtonNextRound].Visible = false;
_Texts[_TextFinishMessage].Visible = true;
_Texts[_TextFinishPlayerWin].Visible = true;
_Texts[_TextFinishPlayerWin].Text = _GetPlayerWinString();
_SelectElement(_Buttons[_ButtonExit]);
}
_ShowPopup(false);
}
public override bool UpdateGame()
{
return true;
}
private void _EndParty()
{
CBase.Graphics.FadeTo(EScreen.Party);
}
private void _ShowPopup(bool visible)
{
_ExitPopupVisible = visible;
_Statics[_StaticPopupBG].Visible = _ExitPopupVisible;
_Texts[_TextPopupReallyExit].Visible = _ExitPopupVisible;
_Buttons[_ButtonPopupYes].Visible = _ExitPopupVisible;
_Buttons[_ButtonPopupNo].Visible = _ExitPopupVisible;
if (_ExitPopupVisible)
_SelectElement(_Buttons[_ButtonPopupNo]);
}
private void _UpdateNextPlayerPositions()
{
float x = (float)CBase.Settings.GetRenderW() / 2 -
((_PartyMode.GameData.NumPlayerAtOnce * _Statics[_StaticNextPlayer].Rect.W) + ((_PartyMode.GameData.NumPlayerAtOnce - 1) * 15)) / 2;
const float staticY = 590;
const float textY = 550;
for (int i = 0; i < _PartyMode.GameData.NumPlayerAtOnce; i++)
{
//static
_NextPlayerStatics[i].X = x;
_NextPlayerStatics[i].Y = staticY;
_NextPlayerStatics[i].Visible = true;
//text
_NextPlayerTexts[i].X = x + _Statics[_StaticNextPlayer].Rect.W / 2;
_NextPlayerTexts[i].Y = textY;
_NextPlayerTexts[i].Visible = true;
x += _Statics[_StaticNextPlayer].Rect.W + 15;
}
for (int i = _PartyMode.GameData.NumPlayerAtOnce; i < _PartyMode.MaxPlayers; i++)
{
_NextPlayerStatics[i].Visible = false;
_NextPlayerTexts[i].Visible = false;
}
}
private void _UpdateNextPlayerContents()
{
if (_PartyMode.GameData.CurrentRoundNr <= _PartyMode.GameData.Rounds.Count)
{
_Texts[_TextNextPlayerMessage].Visible = true;
for (int i = 0; i < _PartyMode.GameData.NumPlayerAtOnce; i++)
{
int id = _PartyMode.GameData.ProfileIDs[_PartyMode.GameData.Rounds[_PartyMode.GameData.CurrentRoundNr - 1].Players[i]];
_NextPlayerStatics[i].Texture = CBase.Profiles.GetAvatar(id);
_NextPlayerTexts[i].Text = CBase.Profiles.GetPlayerName(id);
_NextPlayerTexts[i].Color = CBase.Themes.GetPlayerColor(i + 1);
}
}
else
{
_Texts[_TextNextPlayerMessage].Visible = false;
for (int i = 0; i < _PartyMode.GameData.NumPlayerAtOnce; i++)
{
_NextPlayerStatics[i].Visible = false;
_NextPlayerTexts[i].Visible = false;
}
}
}
private void _CreateRoundsTable()
{
//Create lists
_RoundsTable = new List<CRoundsTableRow>();
for (int i = 0; i < 5; i++)
{
var rtr = new CRoundsTableRow {TextPlayer = new List<CText>(), TextScores = new List<CText>()};
_RoundsTable.Add(rtr);
}
//Create statics and texts for rounds
foreach (CRoundsTableRow roundRow in _RoundsTable)
{
//Round-number
CText text = GetNewText(_Texts[_TextRoundNumber]);
_AddText(text);
roundRow.Number = text;
for (int row = 0; row < 2; row++)
{
for (int column = 0; column < 3; column++)
{
//Player
text = GetNewText(_Texts[_TextRoundPlayer]);
_AddText(text);
roundRow.TextPlayer.Add(text);
//Score
text = GetNewText(_Texts[_TextRoundScore]);
_AddText(text);
roundRow.TextScores.Add(text);
}
}
}
}
private void _BuildRoundsTable()
{
_RoundsTableScrollArea = new SRectF();
const int numPlayerInOneRow = 3;
_NumRoundsVisible = _PartyMode.GameData.NumPlayerAtOnce <= numPlayerInOneRow ? 5 : 3;
if (_NumRoundsVisible > _PartyMode.GameData.Rounds.Count)
_NumRoundsVisible = _PartyMode.GameData.Rounds.Count;
float numberX = _Texts[_TextRoundNumber].X;
float numberY = _Texts[_TextRoundNumber].Y;
_RoundsTableScrollArea.X = numberX;
_RoundsTableScrollArea.Y = numberY;
_RoundsTableScrollArea.W = CBase.Settings.GetRenderW() - _Texts[_TextRoundNumber].X - 20;
float delta = _Texts[_TextRoundNumber].Rect.H;
//Update statics and texts for rounds
foreach (CRoundsTableRow roundRow in _RoundsTable)
{
//Round-number
roundRow.Number.X = numberX;
roundRow.Number.Y = numberY;
var numInnerRows = (int)Math.Ceiling(_PartyMode.GameData.NumPlayerAtOnce / ((double)numPlayerInOneRow));
for (int row = 0; row < numInnerRows; row++)
{
int num = (row + 1) * numPlayerInOneRow;
int numPlayerInThisRow = numPlayerInOneRow;
if (num > _PartyMode.GameData.NumPlayerAtOnce)
{
num = _PartyMode.GameData.NumPlayerAtOnce;
numPlayerInThisRow = _PartyMode.GameData.NumPlayerAtOnce - (row * numPlayerInOneRow);
}
for (int column = row * numPlayerInOneRow; column < num; column++)
{
//Player
float x = numberX + 15 + (CBase.Settings.GetRenderW() - _Texts[_TextRoundNumber].X - 20) / numPlayerInThisRow * (column - row * numPlayerInOneRow) +
((CBase.Settings.GetRenderW() - _Texts[_TextRoundNumber].X - 20) / numPlayerInThisRow) / 2;
float maxw = ((CBase.Settings.GetRenderW() - _Texts[_TextRoundNumber].X - 20) / numPlayerInThisRow) / 2 - 5;
roundRow.TextPlayer[column].X = x;
roundRow.TextPlayer[column].Y = numberY;
roundRow.TextPlayer[column].W = maxw;
//Score
roundRow.TextScores[column].X = x;
roundRow.TextScores[column].Y = numberY + delta;
roundRow.TextScores[column].W = maxw;
}
numberY = numberY + 2 * delta;
}
numberY = numberY + delta / 2;
}
_RoundsTableScrollArea.H = numberY - _RoundsTableScrollArea.Y;
}
private void _UpdateRoundsTable()
{
for (int i = 0; i < _RoundsTable.Count; i++)
{
for (int p = 0; p < _RoundsTable[i].TextPlayer.Count; p++)
{
if (_PartyMode.GameData.Rounds.Count > i + _RoundsTableOffset && _PartyMode.GameData.Rounds[i + _RoundsTableOffset].Players.Count > p)
{
_RoundsTable[i].Number.Visible = true;
_RoundsTable[i].TextPlayer[p].Visible = true;
_RoundsTable[i].TextScores[p].Visible = true;
_RoundsTable[i].Number.Text = (i + 1 + _RoundsTableOffset) + ")";
_RoundsTable[i].TextPlayer[p].Text =
CBase.Profiles.GetPlayerName(_PartyMode.GameData.ProfileIDs[_PartyMode.GameData.Rounds[i + _RoundsTableOffset].Players[p]]);
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
if ((_PartyMode.GameData.CurrentRoundNr - 1) > i + _RoundsTableOffset)
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression
_RoundsTable[i].TextScores[p].Text = _PartyMode.GameData.Results[i + _RoundsTableOffset, p].ToString();
else
_RoundsTable[i].TextScores[p].Text = "";
}
else
{
_RoundsTable[i].TextPlayer[p].Visible = false;
_RoundsTable[i].TextScores[p].Visible = false;
}
}
if (_PartyMode.GameData.Rounds.Count < i + _RoundsTableOffset || i + 1 > _NumRoundsVisible)
{
_RoundsTable[i].Number.Visible = false;
for (int p = 0; p < _RoundsTable[i].TextPlayer.Count; p++)
{
_RoundsTable[i].TextPlayer[p].Visible = false;
_RoundsTable[i].TextScores[p].Visible = false;
}
}
}
_Buttons[_ButtonRoundsScrollUp].Visible = _RoundsTableOffset > 0;
_Buttons[_ButtonRoundsScrollDown].Visible = _PartyMode.GameData.Rounds.Count - _NumRoundsVisible - _RoundsTableOffset > 0;
}
private void _BuildPlayerTable()
{
_PlayerTableScrollArea = new SRectF {X = _Texts[_TextPosition].X, Y = _Texts[_TextPosition].Y, W = _Texts[_TextGamePoints].X - _Texts[_TextPosition].X};
_PlayerTable = new List<STableRow>();
float delta = _Texts[_TextPosition].Rect.H * 1.2f;
float h = 0;
for (int i = 0; i < 10; i++)
{
var row = new STableRow
{
Pos = GetNewText(_Texts[_TextPosition]),
Name = GetNewText(_Texts[_TextPlayerName]),
Rounds = GetNewText(_Texts[_TextNumPlayed]),
Won = GetNewText(_Texts[_TextWon]),
SingPoints = GetNewText(_Texts[_TextSingPoints]),
GamePoints = GetNewText(_Texts[_TextGamePoints])
};
row.Pos.Y += delta * (i + 1);
row.Name.Y += delta * (i + 1);
row.Rounds.Y += delta * (i + 1);
row.Won.Y += delta * (i + 1);
row.SingPoints.Y += delta * (i + 1);
row.GamePoints.Y += delta * (i + 1);
row.Pos.Text = (i + 1) + ".";
row.Pos.Visible = false;
row.Name.Visible = false;
row.Rounds.Visible = false;
row.Won.Visible = false;
row.SingPoints.Visible = false;
row.GamePoints.Visible = false;
_AddText(row.Pos);
_AddText(row.Name);
_AddText(row.Rounds);
_AddText(row.Won);
_AddText(row.SingPoints);
_AddText(row.GamePoints);
_PlayerTable.Add(row);
h = delta * (i + 1);
}
_PlayerTableScrollArea.H = h + delta;
}
private void _UpdatePlayerTable()
{
for (int i = 0; i < _PlayerTable.Count; i++)
{
STableRow row = _PlayerTable[i];
if (i + _PlayerTableOffset < _PartyMode.GameData.ResultTable.Count)
{
row.Pos.Visible = true;
row.Name.Visible = true;
row.Rounds.Visible = true;
row.Won.Visible = true;
row.SingPoints.Visible = true;
row.GamePoints.Visible = true;
row.Pos.Text = _PartyMode.GameData.ResultTable[i + _PlayerTableOffset].Position + ".";
row.Name.Text = CBase.Profiles.GetPlayerName(_PartyMode.GameData.ResultTable[i + _PlayerTableOffset].PlayerID);
row.Rounds.Text = _PartyMode.GameData.ResultTable[i + _PlayerTableOffset].NumPlayed.ToString();
row.Won.Text = _PartyMode.GameData.ResultTable[i + _PlayerTableOffset].NumWon.ToString();
row.SingPoints.Text = _PartyMode.GameData.ResultTable[i + _PlayerTableOffset].NumSingPoints.ToString();
row.GamePoints.Text = _PartyMode.GameData.ResultTable[i + _PlayerTableOffset].NumGamePoints.ToString();
}
else
{
row.Pos.Visible = false;
row.Name.Visible = false;
row.Rounds.Visible = false;
row.Won.Visible = false;
row.SingPoints.Visible = false;
row.GamePoints.Visible = false;
}
}
_Buttons[_ButtonPlayerScrollUp].Visible = _PlayerTableOffset > 0;
_Buttons[_ButtonPlayerScrollDown].Visible = _PartyMode.GameData.ProfileIDs.Count - _NumPlayerVisible - _PlayerTableOffset > 0;
}
private void _ScrollPlayerTable(int offset)
{
if (_PartyMode.GameData.ProfileIDs.Count <= _NumPlayerVisible)
_PlayerTableOffset = 0;
else if (offset < 0 && _PlayerTableOffset + offset >= 0)
_PlayerTableOffset += offset;
else if (offset < 0 && _PlayerTableOffset + offset < 0)
_PlayerTableOffset = 0;
else if (offset > 0 && _PlayerTableOffset + offset <= _PartyMode.GameData.ProfileIDs.Count - _NumPlayerVisible)
_PlayerTableOffset += offset;
else if (offset > 0 && _PlayerTableOffset + offset > _PartyMode.GameData.ProfileIDs.Count - _NumPlayerVisible)
_PlayerTableOffset = _PartyMode.GameData.ProfileIDs.Count - _NumPlayerVisible;
_UpdatePlayerTable();
}
private void _ScrollRoundsTable(int offset)
{
if (_PartyMode.GameData.Rounds.Count <= _NumRoundsVisible)
_RoundsTableOffset = 0;
else if (offset < 0 && _RoundsTableOffset + offset >= 0)
_RoundsTableOffset += offset;
else if (offset < 0 && _RoundsTableOffset + offset < 0)
_RoundsTableOffset = 0;
else if (offset > 0 && _RoundsTableOffset + offset <= _PartyMode.GameData.Rounds.Count - _NumRoundsVisible)
_RoundsTableOffset += offset;
else if (offset > 0 && _RoundsTableOffset + offset > _PartyMode.GameData.Rounds.Count - _NumRoundsVisible)
_RoundsTableOffset = _PartyMode.GameData.Rounds.Count - _NumRoundsVisible;
_UpdateRoundsTable();
}
private string _GetPlayerWinString()
{
string s = "";
for (int i = 0; i < _PartyMode.GameData.ResultTable.Count; i++)
{
if (_PartyMode.GameData.ResultTable[i].Position == 1)
{
if (i > 0)
s += ", ";
s += CBase.Profiles.GetPlayerName(_PartyMode.GameData.ResultTable[i].PlayerID);
}
else
break;
}
return s;
}
}
}
@@ -1,68 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System.Collections.Generic;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes.ChallengeMedley
{
// ReSharper disable UnusedMember.Global
public class CPartyScreenChallengeMedleyNames : CMenuPartyNameSelection
// ReSharper restore UnusedMember.Global
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 1; }
}
private new CPartyModeChallengeMedley _PartyMode;
public override void Init()
{
base.Init();
_PartyMode = (CPartyModeChallengeMedley)base._PartyMode;
_AllowChangePlayerNum = false;
_Teams = false;
}
public override void OnShow()
{
base.OnShow();
SetPartyModeData(_PartyMode.GameData.NumPlayer);
while (_PartyMode.GameData.ProfileIDs.Count > _NumPlayer)
_PartyMode.GameData.ProfileIDs.RemoveAt(_PartyMode.GameData.ProfileIDs.Count - 1);
List<int>[] ids = new List<int>[] {_PartyMode.GameData.ProfileIDs};
SetPartyModeProfiles(ids);
}
public override void Back()
{
if (_TeamList.Length == 1)
_PartyMode.GameData.ProfileIDs = _TeamList[0];
_PartyMode.Back();
}
public override void Next()
{
if (_TeamList.Length == 1)
_PartyMode.GameData.ProfileIDs = _TeamList[0];
_PartyMode.Next();
}
}
}
@@ -1,112 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">DebugWin</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6F3E1874-F28A-40E9-AFBD-31934D593678}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VocaluxeLib.PartyModes.ChallengeMedley</RootNamespace>
<AssemblyName>ChallengeMedley</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWin|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin</OutputPath>
<DefineConstants>TRACE;DEBUG;WIN</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<CodeAnalysisRuleSet>..\..\CheckingRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWin|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
<DefineConstants>WIN</DefineConstants>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLinux|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin</OutputPath>
<DefineConstants>TRACE;DEBUG;LINUX</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseLinux|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
<DefineConstants>LINUX</DefineConstants>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'InstallerWin|AnyCPU'">
<OutputPath>bin</OutputPath>
<DefineConstants>WIN</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Compile Include="CChallengeRounds.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="CPartyModeChallengeMedley.cs" />
<Compile Include="CPartyScreenChallengeMedleyConfig.cs" />
<Compile Include="CPartyScreenChallengeMedleyMain.cs" />
<Compile Include="CPartyScreenChallengeMedleyNames.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\VocaluxeLib\VocaluxeLib.csproj">
<Project>{D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}</Project>
<Name>VocaluxeLib</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">if exist "$(SolutionDir)Output\PartyModes\$(TargetName)\Code" rd "$(SolutionDir)Output\PartyModes\$(TargetName)\Code" /S /Q
cd $(SolutionDir)Partymodes\
xcopy "$(ProjectDir)*.cs" "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\" /EXCLUDE:Excludes.txt /I /Y</PostBuildEvent>
<PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">rm -rf "$(SolutionDir)Output\PartyModes\$(TargetName)\Code"
mkdir -p "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\"
cp -R $(ProjectDir)*.cs "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\"
rm -f "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\GlobalSuppressions.cs"
</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -1,809 +0,0 @@
<StyleCopSettings Version="105">
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">
<Rules>
<Rule Name="ElementsMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PartialElementsMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="EnumerationItemsMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationMustContainValidXml">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationMustHaveSummary">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PartialElementDocumentationMustHaveSummary">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationMustHaveSummaryText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PartialElementDocumentationMustHaveSummaryText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationMustNotHaveDefaultSummary">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementParametersMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementParameterDocumentationMustMatchElementParameters">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementParameterDocumentationMustDeclareParameterName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementParameterDocumentationMustHaveText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementReturnValueMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementReturnValueDocumentationMustHaveText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="VoidReturnValueMustNotBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="GenericTypeParametersMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="GenericTypeParametersMustBeDocumentedPartialClass">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="GenericTypeParameterDocumentationMustMatchTypeParameters">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="GenericTypeParameterDocumentationMustDeclareParameterName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="GenericTypeParameterDocumentationMustHaveText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PropertySummaryDocumentationMustMatchAccessors">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PropertySummaryDocumentationMustOmitSetAccessorWithRestrictedAccess">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationMustNotBeCopiedAndPasted">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SingleLineCommentsMustNotUseDocumentationStyleSlashes">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationTextMustNotBeEmpty">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationTextMustContainWhitespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationMustMeetCharacterPercentage">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ConstructorSummaryDocumentationMustBeginWithStandardText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DestructorSummaryDocumentationMustBeginWithStandardText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationHeadersMustNotContainBlankLines">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="IncludedDocumentationXPathDoesNotExist">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="IncludeNodeDoesNotContainValidFileAndPath">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="InheritDocMustBeUsedWithInheritingClass">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationMustBeSpelledCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileMustHaveHeader">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderMustShowCopyright">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderMustHaveCopyrightText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderMustContainFileName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderFileNameDocumentationMustMatchFileName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderMustHaveValidCompanyText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderFileNameDocumentationMustMatchTypeName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.LayoutRules">
<Rules>
<Rule Name="CurlyBracketsForMultiLineStatementsMustNotShareLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="StatementMustNotBeOnSingleLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementMustNotBeOnSingleLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CurlyBracketsMustNotBeOmitted">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="AllAccessorsMustBeMultiLineOrSingleLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningCurlyBracketsMustNotBeFollowedByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationHeadersMustNotBeFollowedByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainMultipleBlankLinesInARow">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingCurlyBracketsMustNotBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningCurlyBracketsMustNotBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ChainedStatementBlocksMustNotBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="WhileDoFooterMustNotBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SingleLineCommentsMustNotBeFollowedByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingCurlyBracketMustBeFollowedByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementDocumentationHeaderMustBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SingleLineCommentMustBePrecededByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementsMustBeSeparatedByBlankLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainBlankLinesAtStartOfFile">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainBlankLinesAtEndOfFile">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.MaintainabilityRules">
<Rules>
<Rule Name="AccessModifierMustBeDeclared">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FieldsMustBePrivate">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeAnalysisSuppressionMustHaveJustification">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DebugAssertMustProvideMessageText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DebugFailMustProvideMessageText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileMayOnlyContainASingleClass">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileMayOnlyContainASingleNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="StatementMustNotUseUnnecessaryParenthesis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ArithmeticExpressionsMustDeclarePrecedence">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ConditionalExpressionsMustDeclarePrecedence">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="RemoveDelegateParenthesisWhenPossible">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="AttributeConstructorMustNotUseUnnecessaryParenthesis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="RemoveUnnecessaryCode">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="ElementMustBeginWithUpperCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementMustBeginWithLowerCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="InterfaceNamesMustBeginWithI">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ConstFieldNamesMustBeginWithUpperCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="NonPrivateReadonlyFieldsMustBeginWithUpperCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FieldNamesMustNotUseHungarianNotation">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FieldNamesMustBeginWithLowerCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="AccessibleFieldsMustBeginWithUpperCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="VariableNamesMustNotBePrefixed">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FieldNamesMustNotBeginWithUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FieldNamesMustNotContainUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="StaticReadonlyFieldsMustBeginWithUpperCaseLetter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementsMustAppearInTheCorrectOrder">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementsMustBeOrderedByAccess">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ConstantsMustAppearBeforeFields">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="StaticElementsMustAppearBeforeInstanceElements">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DeclarationKeywordsMustFollowOrder">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ProtectedMustComeBeforeInternal">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PropertyAccessorsMustFollowOrder">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="EventAccessorsMustFollowOrder">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="StaticReadonlyElementsMustAppearBeforeStaticNonReadonlyElements">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="InstanceReadonlyElementsMustAppearBeforeInstanceNonReadonlyElements">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SystemUsingDirectivesMustBePlacedBeforeOtherUsingDirectives">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UsingAliasDirectivesMustBePlacedAfterOtherUsingDirectives">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UsingDirectivesMustBeOrderedAlphabeticallyByNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UsingAliasDirectivesMustBeOrderedAlphabeticallyByAliasName">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="CommentsMustContainText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DoNotPrefixCallsWithBaseUnlessLocalImplementationExists">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PrefixCallsCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningParenthesisMustBeOnDeclarationLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingParenthesisMustBeOnLineOfLastParameter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingParenthesisMustBeOnLineOfOpeningParenthesis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CommaMustBeOnSameLineAsPreviousParameter">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParameterListMustFollowDeclaration">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParameterMustFollowComma">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SplitParametersMustStartOnLineAfterDeclaration">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParametersMustBeOnSameLineOrSeparateLines">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParameterMustNotSpanMultipleLines">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="QueryClauseMustFollowPreviousClause">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="QueryClausesMustBeOnSeparateLinesOrAllOnOneLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="QueryClausesSpanningMultipleLinesMustBeginOnOwnLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DoNotPlaceRegionsWithinElements">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainEmptyStatements">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainMultipleStatementsOnOneLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="BlockStatementsMustNotContainEmbeddedComments">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="BlockStatementsMustNotContainEmbeddedRegions">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UseStringEmptyForEmptyStrings">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UseBuiltInTypeAlias">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="UseShorthandForNullableTypes">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.SpacingRules">
<Rules>
<Rule Name="KeywordsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CommasMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SemicolonsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SymbolsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DocumentationLinesMustBeginWithSingleSpace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SingleLineCommentsMustBeginWithSingleSpace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PreprocessorKeywordsMustNotBePrecededBySpace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OperatorKeywordMustBeFollowedBySpace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningParenthesisMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingParenthesisMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningSquareBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingSquareBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningCurlyBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingCurlyBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningGenericBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingGenericBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="OpeningAttributeBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ClosingAttributeBracketsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="NullableTypeSymbolsMustNotBePrecededBySpace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="MemberAccessSymbolsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="IncrementDecrementSymbolsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="NegativeSignsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PositiveSignsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DereferenceAndAccessOfSymbolsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ColonsMustBeSpacedCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainMultipleWhitespaceInARow">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CodeMustNotContainSpaceAfterNewKeywordInImplicitlyTypedArrayAllocation">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="TabsMustNotBeUsed">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>
@@ -27,18 +27,9 @@ using VocaluxeLib.Songs;
namespace VocaluxeLib.PartyModes.TicTacToe
{
public enum ESongSource
{
// ReSharper disable InconsistentNaming
TR_ALLSONGS,
TR_CATEGORY,
TR_PLAYLIST
// ReSharper restore InconsistentNaming
}
public class CRound
{
public int SongID;
public int[] SongIDs;
public int SingerTeam1;
public int SingerTeam2;
public int PointsTeam1;
@@ -101,6 +92,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
private enum EStage
{
Config,
Songs,
Names,
Main,
Singing
@@ -118,10 +110,12 @@ namespace VocaluxeLib.PartyModes.TicTacToe
public List<int> PlayerTeam2;
public ESongSource SongSource;
public ESongSorting Sorting;
public int CategoryIndex;
public int PlaylistID;
public int GameMode;
public EGameMode GameMode;
public int NumMedleySongs;
public List<CRound> Rounds;
public List<int> Songs;
@@ -131,6 +125,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
public int[] NumJokerRandom;
public int[] NumJokerRetry;
public EOffOn RefillJokers;
}
public SData GameData;
@@ -159,14 +154,17 @@ namespace VocaluxeLib.PartyModes.TicTacToe
PlayerTeam2 = new List<int>(),
CurrentRoundNr = 0,
FieldNr = 0,
SongSource = ESongSource.TR_ALLSONGS,
Sorting = CBase.Config.GetSongSorting(),
SongSource = ESongSource.TR_SONGSOURCE_ALLSONGS,
PlaylistID = 0,
CategoryIndex = 0,
GameMode = 0,
GameMode = EGameMode.TR_GAMEMODE_NORMAL,
NumMedleySongs = 5,
Rounds = new List<CRound>(),
Songs = new List<int>(),
NumJokerRandom = new int[2],
NumJokerRetry = new int[2]
NumJokerRetry = new int[2],
RefillJokers = EOffOn.TR_CONFIG_OFF
};
}
@@ -212,6 +210,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe
{
case EStage.Config:
return _Screens["CPartyScreenTicTacToeConfig"];
case EStage.Songs:
return _Screens["CPartyScreenTicTacToeSongs"];
case EStage.Names:
return _Screens["CPartyScreenTicTacToeNames"];
case EStage.Main:
@@ -234,6 +234,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
switch (_Stage)
{
case EStage.Config:
_Stage = EStage.Songs;
break;
case EStage.Songs:
_Stage = EStage.Names;
break;
case EStage.Names:
@@ -253,6 +256,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_Stage = EStage.Main;
GameData.Team = GameData.Team == 1 ? 0 : 1;
_UpdatePlayerList();
if (GameData.RefillJokers == EOffOn.TR_CONFIG_ON)
_SetNumJokers();
break;
default:
throw new ArgumentException("Invalid stage: " + _Stage);
@@ -267,9 +272,12 @@ namespace VocaluxeLib.PartyModes.TicTacToe
case EStage.Config:
CBase.Graphics.FadeTo(EScreen.Party);
return;
case EStage.Names:
case EStage.Songs:
_Stage = EStage.Config;
break;
case EStage.Names:
_Stage = EStage.Songs;
break;
case EStage.Main:
_Stage = EStage.Names;
break;
@@ -430,24 +438,25 @@ namespace VocaluxeLib.PartyModes.TicTacToe
switch (GameData.SongSource)
{
case ESongSource.TR_PLAYLIST:
case ESongSource.TR_SONGSOURCE_PLAYLIST:
for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID;
if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode]))
if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(GameData.GameMode))
GameData.Songs.Add(id);
}
break;
case ESongSource.TR_ALLSONGS:
case ESongSource.TR_SONGSOURCE_ALLSONGS:
ReadOnlyCollection<CSong> avSongs = CBase.Songs.GetSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID));
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID));
break;
case ESongSource.TR_CATEGORY:
case ESongSource.TR_SONGSOURCE_CATEGORY:
CBase.Songs.SortSongs(GameData.Sorting, EOffOn.TR_CONFIG_ON, CBase.Config.GetIgnoreArticles(), "", EDuetOptions.All, -1);
CBase.Songs.SetCategory(GameData.CategoryIndex);
avSongs = CBase.Songs.GetVisibleSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID));
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID));
CBase.Songs.SetCategory(-1);
break;
@@ -478,7 +487,6 @@ namespace VocaluxeLib.PartyModes.TicTacToe
return;
CRound round = GameData.Rounds[roundNr];
bool isDuet = CBase.Songs.GetSongByID(round.SongID).IsDuet;
for (int i = 0; i < 2; i++)
{
@@ -488,14 +496,10 @@ namespace VocaluxeLib.PartyModes.TicTacToe
//try to fill with the right data
players[0].ProfileID = GameData.ProfileIDsTeam1[round.SingerTeam1];
if (isDuet)
players[0].VoiceNr = 0;
players[1].ProfileID = GameData.ProfileIDsTeam2[round.SingerTeam2];
if (isDuet)
players[1].VoiceNr = 1;
CBase.Game.AddSong(round.SongID, AvailableGameModes[GameData.GameMode]);
foreach(int song in round.SongIDs)
CBase.Game.AddSong(song, GameData.GameMode);
}
private void _SetNumJokers()
@@ -15,6 +15,7 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
@@ -30,14 +31,12 @@ namespace VocaluxeLib.PartyModes.TicTacToe
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 1; }
get { return 2; }
}
private const string _SelectSlideNumFields = "SelectSlideNumFields";
private const string _SelectSlideSongSource = "SelectSlideSongSource";
private const string _SelectSlidePlaylist = "SelectSlidePlaylist";
private const string _SelectSlideCategory = "SelectSlideCategory";
private const string _SelectSlideGameMode = "SelectSlideGameMode";
private const string _SelectSlideRefillJokers = "SelectSlideRefillJokers";
private const string _ButtonNext = "ButtonNext";
private const string _ButtonBack = "ButtonBack";
@@ -47,10 +46,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
{
base.Init();
_ThemeSelectSlides = new string[]
{
_SelectSlideNumFields, _SelectSlideSongSource, _SelectSlidePlaylist, _SelectSlideCategory, _SelectSlideGameMode
};
_ThemeSelectSlides = new string[] { _SelectSlideNumFields };
_ThemeButtons = new string[] {_ButtonNext, _ButtonBack};
}
@@ -135,102 +131,14 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_SelectSlides[_SelectSlideNumFields].SelectedTag = _PartyMode.GameData.NumFields;
_SelectSlides[_SelectSlideSongSource].Clear();
_SelectSlides[_SelectSlideSongSource].SetValues<ESongSource>((int)_PartyMode.GameData.SongSource);
List<string> playlists = CBase.Playlist.GetNames();
_SelectSlides[_SelectSlidePlaylist].Clear();
for (int i = 0; i < playlists.Count; i++)
{
string value = playlists[i] + " (" + CBase.Playlist.GetSongCount(i) + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlidePlaylist].AddValue(value);
}
_SelectSlides[_SelectSlidePlaylist].Selection = _PartyMode.GameData.PlaylistID;
_SelectSlides[_SelectSlidePlaylist].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST;
_SelectSlides[_SelectSlideCategory].Clear();
for (int i = 0; i < CBase.Songs.GetNumCategories(); i++)
{
CCategory cat = CBase.Songs.GetCategory(i);
string value = cat.Name + " (" + cat.GetNumSongsNotSung() + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlideCategory].AddValue(value);
}
_SelectSlides[_SelectSlideCategory].Selection = _PartyMode.GameData.CategoryIndex;
_SelectSlides[_SelectSlideCategory].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY;
_SelectSlides[_SelectSlideGameMode].Visible = true;
_SelectSlides[_SelectSlideGameMode].Clear();
_SelectSlides[_SelectSlideGameMode].AddValues(_PartyMode.AvailableGameModes.Select(gm => gm.ToString()));
_SelectSlides[_SelectSlideGameMode].Selection = _PartyMode.GameData.GameMode;
_SelectSlides[_SelectSlideRefillJokers].AddValues(Enum.GetNames(typeof(EOffOn)));
_SelectSlides[_SelectSlideRefillJokers].Selection = (int)_PartyMode.GameData.RefillJokers;
}
private void _UpdateSlides()
{
_PartyMode.GameData.NumFields = _SelectSlides[_SelectSlideNumFields].SelectedTag;
_PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection;
_PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection;
_PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection;
_PartyMode.GameData.GameMode = _SelectSlides[_SelectSlideGameMode].Selection;
EGameMode gm = _PartyMode.AvailableGameModes[_PartyMode.GameData.GameMode];
if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST)
{
if (CBase.Playlist.GetNumPlaylists() > 0)
{
if (CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID) > 0)
{
_ConfigOk = false;
for (int i = 0; i < CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetSong(_PartyMode.GameData.PlaylistID, i).SongID;
_ConfigOk = CBase.Songs.GetSongByID(id).AvailableGameModes.Any(mode => mode == gm);
if (_ConfigOk)
break;
}
}
else
_ConfigOk = false;
}
else
_ConfigOk = false;
}
if (_PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY)
{
if (CBase.Songs.GetNumCategories() == 0)
_ConfigOk = false;
else if (CBase.Songs.GetNumSongsNotSungInCategory(_PartyMode.GameData.CategoryIndex) <= 0)
_ConfigOk = false;
else
{
CBase.Songs.SetCategory(_PartyMode.GameData.CategoryIndex);
_ConfigOk = false;
foreach (CSong song in CBase.Songs.GetVisibleSongs())
{
_ConfigOk = song.AvailableGameModes.Any(mode => mode == gm);
if (_ConfigOk)
break;
}
CBase.Songs.SetCategory(-1);
}
}
if (_PartyMode.GameData.SongSource == ESongSource.TR_ALLSONGS)
{
if (CBase.Songs.GetNumSongs() > 0)
{
for (int i = 0; i < CBase.Songs.GetNumSongs(); i++)
{
_ConfigOk = CBase.Songs.GetSongByID(i).AvailableGameModes.Any(mode => mode == gm);
if (_ConfigOk)
break;
}
}
else
_ConfigOk = false;
}
_SelectSlides[_SelectSlideCategory].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY;
_SelectSlides[_SelectSlidePlaylist].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST;
_PartyMode.GameData.RefillJokers = (EOffOn)_SelectSlides[_SelectSlideRefillJokers].Selection;
}
}
}
@@ -394,13 +394,13 @@ namespace VocaluxeLib.PartyModes.TicTacToe
if (_PartyMode.GameData.Rounds[i].Finished)
{
_Fields[i].Selectable = false;
_Fields[i].Texture = CBase.Songs.GetSongByID(_PartyMode.GameData.Rounds[i].SongID).CoverTextureBig;
_Fields[i].Texture = CBase.Songs.GetSongByID(_PartyMode.GameData.Rounds[i].SongIDs[0]).CoverTextureBig;
_Fields[i].Color = CBase.Themes.GetPlayerColor(_PartyMode.GameData.Rounds[i].Winner);
_Fields[i].SelColor = CBase.Themes.GetPlayerColor(_PartyMode.GameData.Rounds[i].Winner);
}
if (_Status == EStatus.FieldSelected && _PartyMode.GameData.FieldNr == i)
{
_Fields[i].Texture = CBase.Songs.GetSongByID(_PartyMode.GameData.Rounds[i].SongID).CoverTextureBig;
_Fields[i].Texture = CBase.Songs.GetSongByID(_PartyMode.GameData.Rounds[i].SongIDs[0]).CoverTextureBig;
_Fields[i].Color = new SColorF(1, 1, 1, 1);
_Fields[i].SelColor = new SColorF(1, 1, 1, 1);
_Fields[i].Selectable = false;
@@ -441,12 +441,16 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_UpdatePlayerInformation();
}
_PartyMode.UpdateSongList();
int songID = _PartyMode.GameData.Songs[0];
_PartyMode.GameData.Songs.RemoveAt(0);
int[] songIDs = new int[_PartyMode.GameData.GameMode == EGameMode.TR_GAMEMODE_MEDLEY ? _PartyMode.GameData.NumMedleySongs : 1];
for(int i = 0; i < songIDs.Length; i++)
{
songIDs[i] = _PartyMode.GameData.Songs[0];
_PartyMode.GameData.Songs.RemoveAt(0);
}
_StartPreview(songID);
_StartPreview(songIDs[0]);
_Status = EStatus.FieldSelected;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongID = songID;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongIDs = songIDs;
_UpdateFieldContents();
_UpdateJokerButtons();
@@ -459,10 +463,10 @@ namespace VocaluxeLib.PartyModes.TicTacToe
private void _FieldSelectedAgain()
{
int songID = _PartyMode.GameData.Rounds[_OldSelectedField].SongID;
_StartPreview(songID);
int[] songIDs = _PartyMode.GameData.Rounds[_OldSelectedField].SongIDs;
_StartPreview(songIDs[0]);
_Status = EStatus.FieldSelected;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongID = songID;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SongIDs = songIDs;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam1 = _PartyMode.GameData.Rounds[_OldSelectedField].SingerTeam1;
_PartyMode.GameData.Rounds[_PartyMode.GameData.FieldNr].SingerTeam2 = _PartyMode.GameData.Rounds[_OldSelectedField].SingerTeam2;
_UpdateFieldContents();
@@ -0,0 +1,84 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System.Collections.Generic;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes.TicTacToe
{
class CPartyScreenTicTacToeSongs : CMenuPartySongSelection
{
protected override int _ScreenVersion
{
get { return 1; }
}
private new CPartyModeTicTacToe _PartyMode;
public override void Init()
{
base.Init();
_PartyMode = (CPartyModeTicTacToe)base._PartyMode;
}
public override void OnShow()
{
Source = _PartyMode.GameData.SongSource;
Sorting = _PartyMode.GameData.Sorting;
Category = _PartyMode.GameData.CategoryIndex;
Playlist = _PartyMode.GameData.PlaylistID;
SongMode = _PartyMode.GameData.GameMode;
NumMedleySongs = _PartyMode.GameData.NumMedleySongs;
base.OnShow();
}
public override void Back()
{
_SaveConfig();
_PartyMode.Back();
}
public override void Next()
{
_SaveConfig();
_PartyMode.Next();
}
public override bool UpdateGame()
{
return true;
}
protected override void _SetAllowedOptions()
{
base._SetAllowedOptions();
AllowedSongModes = new EGameMode[] { EGameMode.TR_GAMEMODE_NORMAL, EGameMode.TR_GAMEMODE_SHORTSONG, EGameMode.TR_GAMEMODE_MEDLEY };
}
private void _SaveConfig()
{
_PartyMode.GameData.SongSource = Source;
_PartyMode.GameData.Sorting = Sorting;
_PartyMode.GameData.CategoryIndex = Category;
_PartyMode.GameData.PlaylistID = Playlist;
_PartyMode.GameData.GameMode = SongMode;
_PartyMode.GameData.NumMedleySongs = NumMedleySongs;
}
}
}
@@ -70,6 +70,7 @@
<CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Compile Include="CPartyScreenTicTacToeSongs.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="CPartyModeTicTacToe.cs" />
<Compile Include="CPartyScreenTicTacToeConfig.cs" />
@@ -108,4 +109,4 @@ rm -f "$(SolutionDir)Output\PartyModes\$(TargetName)\Code\GlobalSuppressions.cs"
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
+5 -24
View File
@@ -1,10 +1,10 @@
Microsoft Visual Studio Solution File, Format Version 12.00
VisualStudioVersion = 12.0.31101.0
# Visual Studio 15
VisualStudioVersion = 15.0.26730.10
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vocaluxe", "Vocaluxe\Vocaluxe.csproj", "{2A1E0F2D-5392-4BB7-B0A1-A9DFA13E79FF}"
ProjectSection(ProjectDependencies) = postProject
{55F89808-4E79-4FFE-BC13-48258913F5C9} = {55F89808-4E79-4FFE-BC13-48258913F5C9}
{6F3E1874-F28A-40E9-AFBD-31934D593678} = {6F3E1874-F28A-40E9-AFBD-31934D593678}
{6F3E1874-F28A-40E9-AFBD-31934D593679} = {6F3E1874-F28A-40E9-AFBD-31934D593679}
{D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC} = {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}
{5A4053F1-5AD5-441F-B254-D97A088127B6} = {5A4053F1-5AD5-441F-B254-D97A088127B6}
@@ -17,8 +17,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PartyModeTicTacToe", "Party
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PartyModeChallenge", "PartyModes\PartyModeChallenge\PartyModeChallenge.csproj", "{5A4053F1-5AD5-441F-B254-D97A088127B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PartyModeChallengeMedley", "PartyModes\PartyModeChallengeMedley\PartyModeChallengeMedley.csproj", "{6F3E1874-F28A-40E9-AFBD-31934D593678}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebserverInitalConfig", "WebserverInitalConfig\WebserverInitalConfig.csproj", "{55F89808-4E79-4FFE-BC13-48258913F5C9}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PitchTracker", "PitchTracker\PitchTracker.vcxproj", "{54A48AF7-515C-4EDD-B395-2BFFA096050A}"
@@ -124,26 +122,6 @@ Global
{5A4053F1-5AD5-441F-B254-D97A088127B6}.ReleaseWin|x64.Build.0 = ReleaseWin|Any CPU
{5A4053F1-5AD5-441F-B254-D97A088127B6}.ReleaseWin|x86.ActiveCfg = ReleaseWin|Any CPU
{5A4053F1-5AD5-441F-B254-D97A088127B6}.ReleaseWin|x86.Build.0 = ReleaseWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugLinux|x64.ActiveCfg = DebugLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugLinux|x64.Build.0 = DebugLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugLinux|x86.ActiveCfg = DebugLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugLinux|x86.Build.0 = DebugLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugWin|x64.ActiveCfg = DebugWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugWin|x64.Build.0 = DebugWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugWin|x86.ActiveCfg = DebugWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.DebugWin|x86.Build.0 = DebugWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.InstallerWin|x64.ActiveCfg = InstallerWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.InstallerWin|x64.Build.0 = InstallerWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.InstallerWin|x86.ActiveCfg = InstallerWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.InstallerWin|x86.Build.0 = InstallerWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseLinux|x64.Build.0 = ReleaseLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseLinux|x86.Build.0 = ReleaseLinux|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseWin|x64.ActiveCfg = ReleaseWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseWin|x64.Build.0 = ReleaseWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseWin|x86.ActiveCfg = ReleaseWin|Any CPU
{6F3E1874-F28A-40E9-AFBD-31934D593678}.ReleaseWin|x86.Build.0 = ReleaseWin|Any CPU
{55F89808-4E79-4FFE-BC13-48258913F5C9}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{55F89808-4E79-4FFE-BC13-48258913F5C9}.DebugLinux|x86.ActiveCfg = Debug|Any CPU
{55F89808-4E79-4FFE-BC13-48258913F5C9}.DebugWin|x64.ActiveCfg = Debug|Any CPU
@@ -204,4 +182,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5545CBA7-F7A7-4E72-B230-F6A6C3AD0A09}
EndGlobalSection
EndGlobal
-6
View File
@@ -186,7 +186,6 @@ namespace Vocaluxe.Base
}
public static SConfig Config;
public static bool LoadOldThemeFiles;
public static event OnSongMenuChanged SongMenuChanged;
//Folders
@@ -705,11 +704,6 @@ namespace Vocaluxe.Base
ProfileFolders.Clear();
ProfileFolders.Add(value);
break;
case "oldtheme":
if (value == "yes")
LoadOldThemeFiles = true;
break;
}
}
}
+7 -7
View File
@@ -156,11 +156,6 @@ namespace Vocaluxe.Base
return CConfig.GetMaxNumMics();
}
public bool GetLoadOldThemeFiles()
{
return CConfig.LoadOldThemeFiles;
}
public void AddSongMenuListener(OnSongMenuChanged onSongMenuChanged)
{
CConfig.SongMenuChanged += onSongMenuChanged;
@@ -782,9 +777,9 @@ namespace Vocaluxe.Base
CSongs.ResetPartySongSung(catIndex);
}
public void SortSongs(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions)
public void SortSongs(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions, int playlistID)
{
CSongs.Sort(sorting, tabs, ignoreArticles, searchString, duetOptions);
CSongs.Sort(sorting, tabs, ignoreArticles, searchString, duetOptions, playlistID);
}
public void NextCategory()
@@ -1014,5 +1009,10 @@ namespace Vocaluxe.Base
{
return CPlaylists.GetSong(playlistID, songIndex);
}
public bool ContainsSong(int playlistID, int songID)
{
return CPlaylists.ContainsSong(playlistID, songID);
}
}
}
+6
View File
@@ -204,6 +204,12 @@ namespace Vocaluxe.Base
return pl.Songs[songIndex];
}
public static bool ContainsSong(int playlistID, int songID)
{
CPlaylistFile pl = Get(playlistID);
return pl != null && pl.Songs.Find((x) => x.SongID == songID) != null;
}
#region private methods
private static void _SortByName()
{
+11 -1
View File
@@ -29,6 +29,7 @@ namespace Vocaluxe.Base
private String _SearchString = String.Empty;
private EDuetOptions _DuetOptions = EDuetOptions.All;
private int _PlaylistID = -1;
public List<CSong> FilteredSongs
{
@@ -67,10 +68,16 @@ namespace Vocaluxe.Base
public void SetOptions(String searchString, EDuetOptions duetOptions)
{
if (searchString != _SearchString || duetOptions != _DuetOptions)
SetOptions(searchString, duetOptions, -1);
}
public void SetOptions(String searchString, EDuetOptions duetOptions, int playlistID)
{
if (searchString != _SearchString || duetOptions != _DuetOptions || playlistID != _PlaylistID)
{
_SearchString = searchString;
_DuetOptions = duetOptions;
_PlaylistID = playlistID;
_SetChanged();
}
}
@@ -88,6 +95,9 @@ namespace Vocaluxe.Base
foreach (CSong song in CSongs.Songs)
{
if (_PlaylistID != -1 && !CBase.Playlist.ContainsSong(_PlaylistID, song.ID))
continue;
if ((song.IsDuet && _DuetOptions != EDuetOptions.NoDuets) || (!song.IsDuet && _DuetOptions != EDuetOptions.Duets))
{
if (searchStrings == null)
+2 -2
View File
@@ -324,9 +324,9 @@ namespace Vocaluxe.Base
_CategoriesForRandom.Clear();
}
public static void Sort(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions)
public static void Sort(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions, int playlistID)
{
Filter.SetOptions(searchString, duetOptions);
Filter.SetOptions(searchString, duetOptions, playlistID);
Sorter.SetOptions(sorting, ignoreArticles);
Categorizer.Tabs = tabs;
}
+8 -3
View File
@@ -643,7 +643,12 @@ namespace Vocaluxe.Screens
_SelectedCategoryIndex = -2;
_Sso = CParty.GetSongSelectionOptions();
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, _Sso.Sorting.SearchString, _Sso.Sorting.DuetOptions);
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, _Sso.Sorting.SearchString, _Sso.Sorting.DuetOptions, _Sso.Sorting.FilterPlaylistID);
if (_Sso.Selection.CategoryIndex != CBase.Songs.GetCurrentCategoryIndex())
{
_SelectedCategoryIndex = _Sso.Selection.CategoryIndex;
_SongMenu.EnterSelectedCategory();
}
_SearchActive = _Sso.Sorting.SearchActive;
_SearchText = _Sso.Sorting.SearchString;
@@ -774,7 +779,7 @@ namespace Vocaluxe.Screens
if (_Sso.Selection.PartyMode)
{
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, _Sso.Sorting.SearchString, _Sso.Sorting.DuetOptions);
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, _Sso.Sorting.SearchString, _Sso.Sorting.DuetOptions, _Sso.Sorting.FilterPlaylistID);
_SearchActive = _Sso.Sorting.SearchActive;
_SearchText = _Sso.Sorting.SearchString;
@@ -1134,7 +1139,7 @@ namespace Vocaluxe.Screens
refresh = true;
}
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, newFilterString, _Sso.Sorting.DuetOptions);
CSongs.Sort(_Sso.Sorting.SongSorting, _Sso.Sorting.Tabs, _Sso.Sorting.IgnoreArticles, newFilterString, _Sso.Sorting.DuetOptions, _Sso.Sorting.FilterPlaylistID);
if (songID == -1 || CSongs.NumSongsVisible <= songIndex || CSongs.GetVisibleSongByIndex(songIndex).ID != songID)
refresh = true;
+7
View File
@@ -214,6 +214,13 @@ namespace VocaluxeLib
NoDuets
}
public enum ESongSource
{
TR_SONGSOURCE_ALLSONGS,
TR_SONGSOURCE_CATEGORY,
TR_SONGSOURCE_PLAYLIST
}
public enum ESongSorting
{
// ReSharper disable InconsistentNaming
+2 -2
View File
@@ -61,7 +61,6 @@ namespace VocaluxeLib
bool IsMicConfigured(int playerNr);
int GetMaxNumMics();
bool GetLoadOldThemeFiles();
void AddSongMenuListener(OnSongMenuChanged onSongMenuChanged);
void RemoveSongMenuListener(OnSongMenuChanged onSongMenuChanged);
}
@@ -251,7 +250,7 @@ namespace VocaluxeLib
void AddPartySongSung(int songID);
void ResetSongSung(int catIndex = -1);
void SortSongs(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions);
void SortSongs(ESongSorting sorting, EOffOn tabs, EOffOn ignoreArticles, String searchString, EDuetOptions duetOptions, int playlistID);
void NextCategory();
void PrevCategory();
@@ -325,6 +324,7 @@ namespace VocaluxeLib
int GetSongCount(int playlistID);
CPlaylistSong GetSong(int playlistID, int songIndex);
bool ContainsSong(int playlistID, int songIndex);
}
public interface IPreviewPlayer
-46
View File
@@ -20,7 +20,6 @@ using System.Xml.Serialization;
using System.Diagnostics;
using System.Collections.Generic;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -88,51 +87,6 @@ namespace VocaluxeLib.Menu
#endregion Constructors
#region public
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Type", ref _Theme.Type);
bool vid = xmlReader.GetValue(item + "/Video", out _Theme.VideoName, String.Empty);
bool tex = xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= vid || tex || _Theme.Type == EBackgroundTypes.None;
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
bool success = true;
success &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
success &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
success &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
success &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
if (_Theme.Type != EBackgroundTypes.None)
ThemeLoaded &= success;
}
_Theme.Color.Color = Color;
int i = 1;
while (xmlReader.ItemExists(item + "/SlideShow" + i))
{
string slideShow;
xmlReader.GetValue(item + "/SlideShow" + i, out slideShow, String.Empty);
if (slideShow != "")
_Theme.SlideShowTextures.Add(slideShow);
i++;
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
LoadSkin();
}
return ThemeLoaded;
}
public void Resume()
{
-88
View File
@@ -15,11 +15,9 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -154,92 +152,6 @@ namespace VocaluxeLib.Menu
_SelReflectionSpace = button._SelReflectionSpace;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinSelected", out _Theme.SkinSelected, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColor.Name, String.Empty))
ThemeLoaded &= _Theme.SelColor.Get(_PartyModeID, out SelColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref SelColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SG", ref SelColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SB", ref SelColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SA", ref SelColor.A);
}
ThemeLoaded &= Text.LoadTheme(item, "Text", xmlReader, true);
Text.Z = Rect.Z;
if (xmlReader.ItemExists(item + "/SText"))
{
ThemeLoaded &= _SelText.LoadTheme(item, "SText", xmlReader, true);
_SelText.Z = Rect.Z;
}
else
_SelText = null;
//Reflections
if (xmlReader.ItemExists(item + "/Reflection"))
{
_Reflection = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref _ReflectionSpace);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref _ReflectionHeight);
_Theme.Reflection = new SReflection(_ReflectionHeight, _ReflectionSpace);
}
else
{
_Reflection = false;
_Theme.Reflection = null;
}
if (xmlReader.ItemExists(item + "/SReflection"))
{
_SelReflection = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SReflection/Space", ref _SelReflectionSpace);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SReflection/Height", ref _SelReflectionHeight);
_Theme.SelReflection = new SReflection(_SelReflectionHeight, _SelReflectionSpace);
}
else
{
_SelReflection = false;
_Theme.SelReflection = null;
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Color.Color = Color;
_Theme.SelColor.Color = SelColor;
_ReadSubThemeElements();
LoadSkin();
}
return ThemeLoaded;
}
private void _ReadSubThemeElements()
{
_Theme.Text = (SThemeText)Text.GetTheme();
-68
View File
@@ -15,10 +15,8 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -97,72 +95,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/NumBars", ref _Theme.NumBars);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Space", ref _Theme.Space);
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Style", ref _Theme.Style);
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/DrawNegative", ref _Theme.DrawNegative);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/MaxColor", out _Theme.MaxColor.Name, String.Empty))
ThemeLoaded &= _Theme.MaxColor.Get(_PartyModeID, out MaxColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/MaxR", ref MaxColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/MaxG", ref MaxColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/MaxB", ref MaxColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/MaxA", ref MaxColor.A);
}
//Reflection
if (xmlReader.ItemExists(item + "/Reflection"))
{
Reflection = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref ReflectionSpace);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref ReflectionHeight);
_Theme.Reflection = new SReflection(ReflectionHeight, ReflectionSpace);
}
else
{
Reflection = false;
_Theme.Reflection = null;
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Color.Color = Color;
_Theme.MaxColor.Color = MaxColor;
LoadSkin();
}
return ThemeLoaded;
}
public void Update(float[] weights, float volume)
{
if (weights == null || weights.Length == 0 || _Bars == null)
-42
View File
@@ -18,7 +18,6 @@
using System;
using System.Xml.Serialization;
using VocaluxeLib.Songs;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -105,47 +104,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out _Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref _Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref _Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.ProcessedColor.Name, String.Empty))
ThemeLoaded &= _Theme.ProcessedColor.Get(_PartyModeID, out _ColorProcessed);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref _ColorProcessed.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SG", ref _ColorProcessed.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SB", ref _ColorProcessed.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SA", ref _ColorProcessed.A);
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Color.Color = _Color;
_Theme.ProcessedColor.Color = _ColorProcessed;
LoadSkin();
}
return ThemeLoaded;
}
public void SetLine(CSongLine line)
{
_Line = line;
-136
View File
@@ -141,20 +141,6 @@ namespace VocaluxeLib.Menu
private delegate void AddElementHandler<in T>(T element, String key);
private void _LoadThemeElement<T>(IEnumerable<string> elements, AddElementHandler<T> addElementHandler, CXmlReader xmlReader) where T : IThemeable
{
if (elements != null)
{
foreach (string elName in elements)
{
var element = (T)Activator.CreateInstance(typeof(T), PartyModeID);
if (element.LoadTheme("//root/" + ThemeName, elName, xmlReader))
addElementHandler(element, elName);
else
CBase.Log.LogError("Can't load " + typeof(T).Name.Substring(1) + " \"" + elName + "\" in screen " + ThemeName);
}
}
}
private class CLoadThemeErrorHandler : CXmlDeserializer.CXmlDefaultErrorHandler
{
@@ -178,12 +164,6 @@ namespace VocaluxeLib.Menu
public virtual void LoadTheme(string xmlPath)
{
if (CBase.Config.GetLoadOldThemeFiles())
{
LoadThemeOld(xmlPath);
return;
}
ThemePath = xmlPath;
string file = Path.Combine(xmlPath, ThemeName + ".xml");
@@ -268,61 +248,6 @@ namespace VocaluxeLib.Menu
_ScreenSettings.Add(name, screenSetting);
}
public void LoadThemeOld(string xmlPath)
{
string file = Path.Combine(xmlPath, ThemeName + ".xml");
CXmlReader xmlReader = CXmlReader.OpenFile(file);
if (xmlReader == null)
return;
bool versionCheck = _CheckVersion(_ScreenVersion, xmlReader);
if (versionCheck)
{
ThemePath = xmlPath;
_LoadThemeBasics(xmlReader);
_LoadThemeElement<CBackground>(_ThemeBackgrounds, _AddBackground, xmlReader);
_LoadThemeElement<CStatic>(_ThemeStatics, _AddStatic, xmlReader);
_LoadThemeElement<CText>(_ThemeTexts, _AddText, xmlReader);
_LoadThemeElement<CButton>(_ThemeButtons, _AddButton, xmlReader);
_LoadThemeElement<CSelectSlide>(_ThemeSelectSlides, _AddSelectSlide, xmlReader);
foreach (string elName in _ThemeSongMenus)
{
ISongMenu element = CSongMenuFactory.CreateSongMenu(PartyModeID);
if (element.LoadTheme("//root/" + ThemeName, elName, xmlReader))
_AddSongMenu(element, elName);
else
CBase.Log.LogError("Can't load songmenu \"" + elName + "\" in screen " + ThemeName);
}
_LoadThemeElement<CSongMenuFramework>(_ThemeSongMenus, _AddSongMenu, xmlReader);
_LoadThemeElement<CLyric>(_ThemeLyrics, _AddLyric, xmlReader);
_LoadThemeElement<CSingNotes>(_ThemeSingNotes, _AddSingNote, xmlReader);
_LoadThemeElement<CNameSelection>(_ThemeNameSelections, _AddNameSelection, xmlReader);
_LoadThemeElement<CEqualizer>(_ThemeEqualizers, _AddEqualizer, xmlReader);
_LoadThemeElement<CPlaylist>(_ThemePlaylists, _AddPlaylist, xmlReader);
_LoadThemeElement<CParticleEffect>(_ThemeParticleEffects, _AddParticleEffect, xmlReader);
_LoadThemeElement<CScreenSetting>(_ThemeScreenSettings, _AddScreenSetting, xmlReader);
}
Theme.Informations.ScreenName = ThemeName;
Theme.Informations.ScreenVersion = _ScreenVersion;
Theme.Backgrounds = new List<SThemeBackground>();
Theme.Statics = new List<SThemeStatic>();
Theme.Texts = new List<SThemeText>();
Theme.Buttons = new List<SThemeButton>();
Theme.SongMenus = new List<SThemeSongMenu>();
Theme.Lyrics = new List<SThemeLyrics>();
Theme.SelectSlides = new List<SThemeSelectSlide>();
Theme.SingNotes = new List<SThemeSingBar>();
Theme.NameSelections = new List<SThemeNameSelection>();
Theme.Equalizers = new List<SThemeEqualizer>();
Theme.Playlists = new List<SThemePlaylist>();
Theme.ParticleEffects = new List<SThemeParticleEffect>();
Theme.ScreenSettings = new List<SThemeScreenSetting>();
}
private static void _AddThemeablesToList<T, TT>(ICollection<TT> themeList, IEnumerable<T> objects) where T : IThemeable
{
themeList.Clear();
@@ -553,67 +478,6 @@ namespace VocaluxeLib.Menu
}
#region Theme Handling
private bool _CheckVersion(int reqVersion, CXmlReader xmlReader)
{
int actualVersion = 0;
xmlReader.TryGetIntValue("//root/" + ThemeName + "/ScreenVersion", ref actualVersion);
if (actualVersion == reqVersion)
return true;
string msg = "Can't load screen file of screen \"" + ThemeName + "\", ";
if (actualVersion < reqVersion)
msg += "the file ist outdated! ";
else
msg += "the file is for newer program versions! ";
msg += "Current screen version is " + reqVersion;
CBase.Log.LogError(msg);
return false;
}
private void _LoadThemeBasics(CXmlReader xmlReader)
{
// Backgrounds
var background = new CBackground(PartyModeID);
int i = 1;
while (background.LoadTheme("//root/" + ThemeName, "Background" + i, xmlReader))
{
_AddBackground(background);
background = new CBackground(PartyModeID);
i++;
}
// Statics
var stat = new CStatic(PartyModeID);
i = 1;
while (stat.LoadTheme("//root/" + ThemeName, "Static" + i, xmlReader))
{
_AddStatic(stat);
stat = new CStatic(PartyModeID);
i++;
}
// Texts
var text = new CText(PartyModeID);
i = 1;
while (text.LoadTheme("//root/" + ThemeName, "Text" + i, xmlReader))
{
_AddText(text);
text = new CText(PartyModeID);
i++;
}
// ParticleEffects
var partef = new CParticleEffect(PartyModeID);
i = 1;
while (partef.LoadTheme("//root/" + ThemeName, "ParticleEffect" + i, xmlReader))
{
_AddParticleEffect(partef);
partef = new CParticleEffect(PartyModeID);
i++;
}
}
private void _ReloadThemeEditMode()
{
CBase.Themes.Reload();
+262
View File
@@ -0,0 +1,262 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using VocaluxeLib.Draw;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu
{
public abstract class CMenuPartySongSelection : CMenuParty
{
private const string _ButtonNext = "ButtonNext";
private const string _ButtonBack = "ButtonBack";
private const string _SelectSlideSongMode = "SelectSlideSongMode";
private const string _SelectSlideSource = "SelectSlideSource";
private const string _SelectSlidePlaylist = "SelectSlidePlaylist";
private const string _SelectSlideSorting = "SelectSlideSorting";
private const string _SelectSlideCategory = "SelectSlideCategory";
private const string _SelectSlideNumMedleySongs = "SelectSlideNumMedleySongs";
protected int Playlist;
protected EGameMode SongMode
{
get { return AllowedSongModes[_SongMode]; }
set
{
_SongMode = 0;
for (int i = 0; i < AllowedSongModes.Length; i++)
{
if (AllowedSongModes[i] == value)
{
_SongMode = i;
break;
}
}
}
}
private int _SongMode;
protected ESongSource Source
{
get { return AllowedSongSources[_Source]; }
set
{
_Source = 0;
for (int i = 0; i < AllowedSongSources.Length; i++)
{
if (AllowedSongSources[i] == value)
{
_Source = i;
break;
}
}
}
}
private int _Source;
protected ESongSorting Sorting
{
get { return AllowedSongSorting[_Sorting]; }
set
{
_Sorting = 0;
for (int i = 0; i < AllowedSongSorting.Length; i++)
{
if (AllowedSongSorting[i] == value)
{
_Sorting = i;
break;
}
}
}
}
private int _Sorting;
protected int Category;
protected EGameMode[] AllowedSongModes;
protected ESongSource[] AllowedSongSources;
protected ESongSorting[] AllowedSongSorting;
protected int NumMedleySongs = 5;
protected int NumMinMedleySongs = 3;
protected int NumMaxMedleySongs = 10;
public override void Init()
{
base.Init();
_ThemeButtons = new string[]{ _ButtonNext, _ButtonBack};
_ThemeSelectSlides = new string[] { _SelectSlideSongMode, _SelectSlideSource, _SelectSlidePlaylist, _SelectSlideSorting, _SelectSlideCategory, _SelectSlideNumMedleySongs };
_SetAllowedOptions();
}
public override bool HandleInput(SKeyEvent keyEvent)
{
base.HandleInput(keyEvent);
switch (keyEvent.Key)
{
case Keys.Back:
case Keys.Escape:
Back();
break;
case Keys.Enter:
if (_Buttons[_ButtonNext].Selected)
Next();
else if (_Buttons[_ButtonBack].Selected)
Back();
break;
case Keys.Left:
case Keys.Right:
_GetSelectedOptions();
_UpdateSelectSlideVisibility();
break;
}
return true;
}
public override bool HandleMouse(SMouseEvent mouseEvent)
{
base.HandleMouse(mouseEvent);
if (mouseEvent.LB && _IsMouseOverCurSelection(mouseEvent))
{
if (_Buttons[_ButtonBack].Selected)
Back();
else if (_Buttons[_ButtonNext].Selected)
Next();
else
{
_GetSelectedOptions();
_UpdateSelectSlideVisibility();
}
}
else if (mouseEvent.RB)
Back();
return true;
}
public abstract void Back();
public abstract void Next();
public override void OnShow()
{
base.OnShow();
CBase.Songs.SortSongs(Sorting, EOffOn.TR_CONFIG_ON, CBase.Config.GetIgnoreArticles(), "", EDuetOptions.All, -1);
_FillSlides();
_SetSelectedOptions();
_UpdateSelectSlideVisibility();
}
private void _FillSlides()
{
_SelectSlides[_SelectSlideSongMode].Clear();
foreach (EGameMode gm in AllowedSongModes)
_SelectSlides[_SelectSlideSongMode].AddValue(gm.ToString());
_SelectSlides[_SelectSlideSource].Clear();
foreach (ESongSource ss in AllowedSongSources)
_SelectSlides[_SelectSlideSource].AddValue(ss.ToString());
_SelectSlides[_SelectSlideSorting].Clear();
foreach (ESongSorting ss in AllowedSongSorting)
_SelectSlides[_SelectSlideSorting].AddValue(ss.ToString());
_SelectSlides[_SelectSlidePlaylist].Clear();
List<string> playlists = CBase.Playlist.GetNames();
for (int i = 0; i < playlists.Count; i++)
{
string value = playlists[i] + " (" + CBase.Playlist.GetSongCount(i) + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlidePlaylist].AddValue(value);
}
_SelectSlides[_SelectSlideNumMedleySongs].Clear();
for(int num = NumMinMedleySongs; num <= NumMaxMedleySongs; num++)
{
_SelectSlides[_SelectSlideNumMedleySongs].AddValue(num + " " + CBase.Language.Translate("TR_SONGS", PartyModeID));
}
_FillCategorySlide();
}
private void _FillCategorySlide()
{
_SelectSlides[_SelectSlideCategory].Clear();
for (int i = 0; i < CBase.Songs.GetNumCategories(); i++)
{
CCategory cat = CBase.Songs.GetCategory(i);
string value = cat.Name + " (" + cat.GetNumSongsNotSung() + " " + CBase.Language.Translate("TR_SONGS", PartyModeID) + ")";
_SelectSlides[_SelectSlideCategory].AddValue(value);
}
}
private void _GetSelectedOptions()
{
_SongMode = _SelectSlides[_SelectSlideSongMode].Selection;
_Source = _SelectSlides[_SelectSlideSource].Selection;
NumMedleySongs = NumMinMedleySongs + _SelectSlides[_SelectSlideNumMedleySongs].Selection;
Playlist = _SelectSlides[_SelectSlidePlaylist].Selection;
if (_SelectSlides[_SelectSlideSorting].Selection != _Sorting)
{
_Sorting = _SelectSlides[_SelectSlideSorting].Selection;
CBase.Songs.SortSongs(Sorting, EOffOn.TR_CONFIG_ON, CBase.Config.GetIgnoreArticles(), "", EDuetOptions.All, -1);
_FillCategorySlide();
_SelectSlides[_SelectSlideCategory].Selection = 0;
}
Category = _SelectSlides[_SelectSlideCategory].Selection;
}
private void _SetSelectedOptions()
{
_SelectSlides[_SelectSlideSongMode].Selection = _SongMode;
_SelectSlides[_SelectSlideSource].Selection = _Source;
_SelectSlides[_SelectSlideNumMedleySongs].Selection = NumMedleySongs - NumMinMedleySongs;
_SelectSlides[_SelectSlidePlaylist].Selection = Playlist;
_SelectSlides[_SelectSlideSorting].Selection = _Sorting;
_SelectSlides[_SelectSlideCategory].Selection = Category;
}
private void _UpdateSelectSlideVisibility()
{
_SelectSlides[_SelectSlideNumMedleySongs].Visible = SongMode == EGameMode.TR_GAMEMODE_MEDLEY;
_SelectSlides[_SelectSlidePlaylist].Visible = Source == ESongSource.TR_SONGSOURCE_PLAYLIST;
_SelectSlides[_SelectSlideSorting].Visible = Source == ESongSource.TR_SONGSOURCE_CATEGORY;
_SelectSlides[_SelectSlideCategory].Visible = Source == ESongSource.TR_SONGSOURCE_CATEGORY;
}
protected virtual void _SetAllowedOptions()
{
AllowedSongModes = (EGameMode[])Enum.GetValues(typeof(EGameMode));
AllowedSongSources = (ESongSource[])Enum.GetValues(typeof(ESongSource));
AllowedSongSorting = (ESongSorting[])Enum.GetValues(typeof(ESongSorting));
}
}
}
-60
View File
@@ -15,13 +15,11 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Profile;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -152,64 +150,6 @@ namespace VocaluxeLib.Menu
UpdateList(0);
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinEmptyTile", out _Theme.SkinEmptyTile, String.Empty);
if (xmlReader.GetValue(item + "/ColorEmptyTile", out _Theme.ColorEmptyTile.Name, String.Empty))
ThemeLoaded &= _Theme.ColorEmptyTile.Get(_PartyModeID, out _ColorEmptyTile);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _ColorEmptyTile.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref _ColorEmptyTile.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref _ColorEmptyTile.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _ColorEmptyTile.A);
}
ThemeLoaded &= xmlReader.GetValue(item + "/SkinTileSelected", out _Theme.SkinTileSelected, String.Empty);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/W", ref _Theme.Tiles.W);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/H", ref _Theme.Tiles.H);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumW", ref _Theme.Tiles.NumW);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumH", ref _Theme.Tiles.NumH);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceW", ref _Theme.Tiles.SpaceW);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceH", ref _Theme.Tiles.SpaceH);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/Space", ref _Theme.Tiles.Name.Space);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/H", ref _Theme.Tiles.Name.Height);
ThemeLoaded &= xmlReader.GetValue(item + "/Tiles/Name/Font", out _Theme.Tiles.Name.Font, "Normal");
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Tiles/Name/Style", ref _Theme.Tiles.Name.Style);
if (xmlReader.GetValue(item + "/Tiles/Name/Color", out _Theme.Tiles.Name.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Tiles.Name.Color.Get(_PartyModeID, out _ColorNameTile);
else
{
if (xmlReader.TryGetFloatValue(item + "/Tiles/Name/R", ref _ColorNameTile.R))
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/G", ref _ColorNameTile.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/B", ref _ColorNameTile.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/A", ref _ColorNameTile.A);
}
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Tiles.Name.Color.Color = _ColorNameTile;
_Theme.ColorEmptyTile.Color = _ColorEmptyTile;
LoadSkin();
}
return ThemeLoaded;
}
public void Draw()
{
int i = 0;
-37
View File
@@ -20,7 +20,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -127,42 +126,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Type", ref _Theme.Type);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Size", ref _Theme.Size);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/MaxNumber", ref _Theme.MaxNumber);
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Color.Color = Color;
LoadSkin();
}
return ThemeLoaded;
}
public void Update()
{
bool doSpawn = false;
-62
View File
@@ -20,7 +20,6 @@ using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml.Serialization;
using VocaluxeLib.Songs;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -270,67 +269,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/SkinBackground", out _Theme.SkinBackground, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinBackgroundSelected", out _Theme.SkinBackgroundSelected, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/ColorBackground", out _Theme.ColorBackground.Name, String.Empty))
ThemeLoaded &= _Theme.ColorBackground.Get(_PartyModeID, out _BackgroundColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundR", ref _BackgroundColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundG", ref _BackgroundColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundB", ref _BackgroundColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundA", ref _BackgroundColor.A);
}
if (xmlReader.GetValue(item + "/SColorBackground", out _Theme.SelColorBackground.Name, String.Empty))
ThemeLoaded &= _Theme.SelColorBackground.Get(_PartyModeID, out _BackgroundSelColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundR", ref _BackgroundSelColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundG", ref _BackgroundSelColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundB", ref _BackgroundSelColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundA", ref _BackgroundSelColor.A);
}
ThemeLoaded &= _Text1.LoadTheme(item, "TextPart1", xmlReader);
CStatic tmpStatic = new CStatic(_PartyModeID);
ThemeLoaded &= tmpStatic.LoadTheme(item, "StaticCover", xmlReader);
ThemeLoaded &= _StaticPlaylistHeader.LoadTheme(item, "StaticPlaylistHeader", xmlReader);
ThemeLoaded &= _StaticPlaylistFooter.LoadTheme(item, "StaticPlaylistFooter", xmlReader);
ThemeLoaded &= _ButtonPlaylistName.LoadTheme(item, "ButtonPlaylistName", xmlReader);
ThemeLoaded &= _ButtonPlaylistSing.LoadTheme(item, "ButtonPlaylistSing", xmlReader);
ThemeLoaded &= _ButtonPlaylistClose.LoadTheme(item, "ButtonPlaylistClose", xmlReader);
ThemeLoaded &= _ButtonPlaylistSave.LoadTheme(item, "ButtonPlaylistSave", xmlReader);
ThemeLoaded &= _ButtonPlaylistDelete.LoadTheme(item, "ButtonPlaylistDelete", xmlReader);
ThemeLoaded &= _SelectSlideGameMode.LoadTheme(item, "SelectSlideGameMode", xmlReader);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/EntryHeight", ref _Theme.EntryHeight);
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.ColorBackground.Color = _BackgroundColor;
_Theme.SelColorBackground.Color = _BackgroundSelColor;
_Theme.StaticCover = (SThemeStatic)tmpStatic.GetTheme();
_ReadSubThemeElements();
LoadSkin();
}
return ThemeLoaded;
}
private void _ReadSubThemeElements()
{
_Theme.Text1 = (SThemeText)_Text1.GetTheme();
-6
View File
@@ -191,12 +191,6 @@ namespace VocaluxeLib.Menu
_AnimTimer = new Stopwatch();
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
//Will be removed
return false;
}
public void Reset(bool animateInit = false)
{
_Animate = animateInit;
-14
View File
@@ -18,7 +18,6 @@
using System;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -71,19 +70,6 @@ namespace VocaluxeLib.Menu
_Theme = theme;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
_ThemeLoaded = true;
_ThemeLoaded &= xmlReader.GetValue(item + "/Value", out _Theme.Value, String.Empty);
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Type", ref _Theme.Type);
if (_ThemeLoaded)
_Theme.Name = elementName;
return _ThemeLoaded;
}
public object GetValue()
{
switch (_Theme.Type)
-117
View File
@@ -22,7 +22,6 @@ using System.Diagnostics;
using System.Drawing;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -270,122 +269,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinArrowLeft", out _Theme.SkinArrowLeft, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinArrowRight", out _Theme.SkinArrowRight, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinSelected", out _Theme.SkinSelected, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinArrowLeftSelected", out _Theme.SkinArrowLeftSelected, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinArrowRightSelected", out _Theme.SkinArrowRightSelected, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out _Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref _Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref _Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColor.Name, String.Empty))
ThemeLoaded &= _Theme.SelColor.Get(_PartyModeID, out _SelColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref _SelColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SG", ref _SelColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SB", ref _SelColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SA", ref _SelColor.A);
}
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowLeftX", ref RectArrowLeft.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowLeftY", ref RectArrowLeft.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowLeftZ", ref RectArrowLeft.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowLeftW", ref RectArrowLeft.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowLeftH", ref RectArrowLeft.H);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightX", ref RectArrowRight.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightY", ref RectArrowRight.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightZ", ref RectArrowRight.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightW", ref RectArrowRight.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightH", ref RectArrowRight.H);
if (xmlReader.GetValue(item + "/ArrowColor", out _Theme.ArrowColor.Name, String.Empty))
ThemeLoaded &= _Theme.ArrowColor.Get(_PartyModeID, out _ColorArrow);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowR", ref _ColorArrow.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowG", ref _ColorArrow.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowB", ref _ColorArrow.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowA", ref _ColorArrow.A);
}
if (xmlReader.GetValue(item + "/ArrowSColor", out _Theme.ArrowSelColor.Name, String.Empty))
ThemeLoaded &= _Theme.ArrowSelColor.Get(_PartyModeID, out _SelColorArrow);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSR", ref _SelColorArrow.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSG", ref _SelColorArrow.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSB", ref _SelColorArrow.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSA", ref _SelColorArrow.A);
}
if (xmlReader.GetValue(item + "/TextColor", out _Theme.TextColor.Name, String.Empty))
ThemeLoaded &= _Theme.TextColor.Get(_PartyModeID, out _TextColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextR", ref _TextColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextG", ref _TextColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextB", ref _TextColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextA", ref _TextColor.A);
}
if (xmlReader.GetValue(item + "/TextSColor", out _Theme.TextSelColor.Name, String.Empty))
ThemeLoaded &= _Theme.TextSelColor.Get(_PartyModeID, out _SelTextColor);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextSR", ref _SelTextColor.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextSG", ref _SelTextColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextSB", ref _SelTextColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextSA", ref _SelTextColor.A);
}
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextH", ref _Theme.TextH);
xmlReader.TryGetFloatValue(item + "/TextRelativeX", ref _Theme.TextRelativeX);
xmlReader.TryGetFloatValue(item + "/TextRelativeY", ref _Theme.TextRelativeY);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextMaxW", ref _Theme.TextMaxW);
ThemeLoaded &= xmlReader.GetValue(item + "/TextFont", out _Theme.TextFont, "Normal");
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/TextStyle", ref _Theme.TextStyle);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/NumVisible", ref _Theme.NumVisible);
if (ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.ArrowColor.Color = _ColorArrow;
_Theme.ArrowSelColor.Color = _SelColorArrow;
_Theme.Color.Color = _Color;
_Theme.RectArrowLeft = RectArrowLeft;
_Theme.RectArrowRight = RectArrowRight;
_Theme.SelColor.Color = _SelColor;
_Theme.TextColor.Color = _TextColor;
_Theme.TextSelColor.Color = _SelTextColor;
LoadSkin();
}
return ThemeLoaded;
}
private void _Invalidate()
{
_NeedsRevalidate = true;
-48
View File
@@ -15,11 +15,9 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -122,52 +120,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/Skin", out _Theme.Skin, String.Empty);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.Rect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Rect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Rect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _Theme.Rect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
_Theme.Color.Color = Color;
if (xmlReader.ItemExists(item + "/Reflection"))
{
Reflection = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref ReflectionSpace);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref ReflectionHeight);
_Theme.Reflection = new SReflection(ReflectionHeight, ReflectionSpace);
}
else
{
Reflection = false;
_Theme.Reflection = null;
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
LoadSkin();
}
return ThemeLoaded;
}
public void Draw()
{
Draw(Aspect);
-74
View File
@@ -18,7 +18,6 @@
using System;
using System.Drawing;
using System.Xml.Serialization;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu
{
@@ -294,79 +293,6 @@ namespace VocaluxeLib.Menu
ThemeLoaded = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
return LoadTheme(xmlPath, elementName, xmlReader, false);
}
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader, bool buttonText)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/X", ref _Theme.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Y", ref _Theme.Y);
if (!buttonText)
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref _Theme.Z);
xmlReader.TryGetFloatValue(item + "/MaxW", ref _Theme.MaxWidth);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out Color);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref Color.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref Color.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColor.Name, String.Empty))
ThemeLoaded &= _Theme.SelColor.Get(_PartyModeID, out SelColor);
else
{
if (xmlReader.TryGetFloatValue(item + "/SR", ref SelColor.R))
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SG", ref SelColor.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SB", ref SelColor.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SA", ref SelColor.A);
}
}
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Align", ref _Align);
xmlReader.TryGetEnumValue(item + "/ResizeAlign", ref _ResizeAlign);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Theme.FontHeight);
ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Style", ref _Theme.FontStyle);
ThemeLoaded &= xmlReader.GetValue(item + "/Font", out _Theme.FontFamily);
ThemeLoaded &= xmlReader.GetValue(item + "/Text", out _Theme.Text);
if (xmlReader.ItemExists(item + "/Reflection") && !buttonText)
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref _ReflectionSpace);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref _ReflectionHeight);
_Theme.Reflection = new SReflection(_ReflectionHeight, _ReflectionSpace);
}
else
_Theme.Reflection = null;
// Set values
_Theme.Name = elementName;
_Theme.Align = _Align;
_Theme.Color.Color = Color;
_Theme.ResizeAlign = _ResizeAlign;
_Theme.SelColor.Color = SelColor;
_ButtonText = buttonText;
_PositionNeedsUpdate = true;
if (ThemeLoaded)
LoadSkin();
return ThemeLoaded;
}
public void Draw()
{
_Draw(false);
-2
View File
@@ -25,8 +25,6 @@ namespace VocaluxeLib.Menu
object GetTheme();
bool ThemeLoaded { get; }
bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader);
void UnloadSkin();
void LoadSkin();
void ReloadSkin();
-50
View File
@@ -20,7 +20,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Xml.Serialization;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu.SingNotes
{
@@ -105,55 +104,6 @@ namespace VocaluxeLib.Menu.SingNotes
public bool ThemeLoaded { get; private set; }
public bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/SkinLeft", out _Theme.SkinLeft, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinMiddle", out _Theme.SkinMiddle, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinRight", out _Theme.SkinRight, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinFillLeft", out _Theme.SkinLeft, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinFillMiddle", out _Theme.SkinMiddle, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinFillRight", out _Theme.SkinRight, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinBackgroundLeft", out _Theme.SkinBackgroundLeft, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinBackgroundMiddle", out _Theme.SkinBackgroundMiddle, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinBackgroundRight", out _Theme.SkinBackgroundRight, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/SkinGoldenStar", out _Theme.SkinGoldenStar, String.Empty);
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.GetMaxNumPlayer(),CBase.Settings.GetMaxNumPlayer()];
for (int numplayer = 0; numplayer < CBase.Settings.GetMaxNumPlayer(); numplayer++)
{
for (int player = 0; player <= numplayer; player++)
{
_BarPos[player, numplayer] = new SRectF();
string target = "/BarPositions/P" + (player + 1) + "N" + (numplayer + 1);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "X", ref _BarPos[player, numplayer].X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Y", ref _BarPos[player, numplayer].Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Z", ref _BarPos[player, numplayer].Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "W", ref _BarPos[player, numplayer].W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "H", ref _BarPos[player, numplayer].H);
_Theme.BarPos[i].Name = "P" + (player + 1) + "N" + (numplayer + 1);
_Theme.BarPos[i].Rect = _BarPos[player, numplayer];
i++;
}
}
if (ThemeLoaded)
{
_Theme.Name = elementName;
LoadSkin();
}
return ThemeLoaded;
}
public void Init(int numPlayers)
{
PlayerNotes.Clear();
@@ -15,12 +15,10 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu.SongMenu
{
@@ -201,80 +199,6 @@ namespace VocaluxeLib.Menu.SongMenu
{
return _Theme;
}
public virtual bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
ThemeLoaded = true;
ThemeLoaded &= xmlReader.GetValue(item + "/CoverBackground", out _Theme.CoverBackground, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/CoverBigBackground", out _Theme.CoverBigBackground, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/DuetIcon", out _Theme.DuetIcon, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/VideoIcon", out _Theme.VideoIcon, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/MedleyCalcIcon", out _Theme.MedleyCalcIcon, String.Empty);
ThemeLoaded &= xmlReader.GetValue(item + "/MedleyTagIcon", out _Theme.MedleyTagIcon, String.Empty);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
ThemeLoaded &= _Theme.Color.Get(_PartyModeID, out _ColorInternal);
else
{
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _ColorInternal.R);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/G", ref _ColorInternal.G);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref _ColorInternal.B);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _ColorInternal.A);
}
_Theme.Color.Color = _ColorInternal;
#region SongMenuTileBoard
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumW", ref _Theme.SongMenuTileBoard.NumW);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumH", ref _Theme.SongMenuTileBoard.NumH);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/SpaceW", ref _Theme.SongMenuTileBoard.SpaceW);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/SpaceH", ref _Theme.SongMenuTileBoard.SpaceH);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumWsmall", ref _Theme.SongMenuTileBoard.NumWsmall);
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumHsmall", ref _Theme.SongMenuTileBoard.NumHsmall);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectX", ref _Theme.SongMenuTileBoard.TileRect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectY", ref _Theme.SongMenuTileBoard.TileRect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectZ", ref _Theme.SongMenuTileBoard.TileRect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectW", ref _Theme.SongMenuTileBoard.TileRect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectH", ref _Theme.SongMenuTileBoard.TileRect.H);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectSmallX", ref _Theme.SongMenuTileBoard.TileRectSmall.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectSmallY", ref _Theme.SongMenuTileBoard.TileRectSmall.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectSmallZ", ref _Theme.SongMenuTileBoard.TileRectSmall.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectSmallW", ref _Theme.SongMenuTileBoard.TileRectSmall.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectSmallH", ref _Theme.SongMenuTileBoard.TileRectSmall.H);
#endregion SongMenuTileBoard
#region SongMenuList
ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuList/ListLength", ref _Theme.SongMenuList.ListLength);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/SpaceW", ref _Theme.SongMenuList.SpaceW);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/SpaceH", ref _Theme.SongMenuList.SpaceH);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRect/X", ref _Theme.SongMenuList.TileRect.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRect/Y", ref _Theme.SongMenuList.TileRect.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRect/Z", ref _Theme.SongMenuList.TileRect.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRect/W", ref _Theme.SongMenuList.TileRect.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRect/H", ref _Theme.SongMenuList.TileRect.H);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRectSmall/X", ref _Theme.SongMenuList.TileRectSmall.X);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRectSmall/Y", ref _Theme.SongMenuList.TileRectSmall.Y);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRectSmall/Z", ref _Theme.SongMenuList.TileRectSmall.Z);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRectSmall/W", ref _Theme.SongMenuList.TileRectSmall.W);
ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuList/TileRectSmall/H", ref _Theme.SongMenuList.TileRectSmall.H);
#endregion SongMenuList
if (ThemeLoaded)
{
_Theme.Name = elementName;
LoadSkin();
Init();
}
return ThemeLoaded;
}
#endregion Theme
public virtual void Init()
@@ -22,7 +22,6 @@ using System.Windows.Forms;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu.SongMenu
{
@@ -128,39 +127,6 @@ namespace VocaluxeLib.Menu.SongMenu
_SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _DuetIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon});
}
public override bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
bool themeLoaded = true;
themeLoaded &= base.LoadTheme(xmlPath, elementName, xmlReader);
themeLoaded &= _Artist.LoadTheme(item + "/SongMenuList", "TextArtist", xmlReader);
themeLoaded &= _Title.LoadTheme(item + "/SongMenuList", "TextTitle", xmlReader);
themeLoaded &= _SongLength.LoadTheme(item + "/SongMenuList", "TextSongLength", xmlReader);
themeLoaded &= _CoverBig.LoadTheme(item + "/SongMenuList", "StaticCoverBig", xmlReader);
themeLoaded &= _TextBG.LoadTheme(item + "/SongMenuList", "StaticTextBG", xmlReader);
themeLoaded &= _DuetIcon.LoadTheme(item + "/SongMenuList", "StaticDuetIcon", xmlReader);
themeLoaded &= _VideoIcon.LoadTheme(item + "/SongMenuList", "StaticVideoIcon", xmlReader);
themeLoaded &= _MedleyCalcIcon.LoadTheme(item + "/SongMenuList", "StaticMedleyCalcIcon", xmlReader);
themeLoaded &= _MedleyTagIcon.LoadTheme(item + "/SongMenuList", "StaticMedleyTagIcon", xmlReader);
if (themeLoaded)
{
_Theme.Name = elementName;
_ReadSubTheme();
_SubElements.Clear();
_SubElements.AddRange(new IMenuElement[] { _Artist, _Title, _SongLength, _DuetIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon });
LoadSkin();
Init();
}
return themeLoaded;
}
private void _ReadSubTheme()
{
_Theme.SongMenuList.TextArtist = (SThemeText)_Artist.GetTheme();
@@ -22,7 +22,6 @@ using System.Windows.Forms;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
using VocaluxeLib.Xml;
namespace VocaluxeLib.Menu.SongMenu
{
@@ -132,39 +131,6 @@ namespace VocaluxeLib.Menu.SongMenu
_Tiles[tileNr].Selected = true;
}
public override bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
{
string item = xmlPath + "/" + elementName;
bool themeLoaded = true;
themeLoaded &= base.LoadTheme(xmlPath, elementName, xmlReader);
themeLoaded &= _Artist.LoadTheme(item + "/SongMenuTileBoard", "TextArtist", xmlReader);
themeLoaded &= _Title.LoadTheme(item + "/SongMenuTileBoard", "TextTitle", xmlReader);
themeLoaded &= _SongLength.LoadTheme(item + "/SongMenuTileBoard", "TextSongLength", xmlReader);
themeLoaded &= _CoverBig.LoadTheme(item + "/SongMenuTileBoard", "StaticCoverBig", xmlReader);
themeLoaded &= _TextBG.LoadTheme(item + "/SongMenuTileBoard", "StaticTextBG", xmlReader);
themeLoaded &= _DuetIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticDuetIcon", xmlReader);
themeLoaded &= _VideoIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticVideoIcon", xmlReader);
themeLoaded &= _MedleyCalcIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyCalcIcon", xmlReader);
themeLoaded &= _MedleyTagIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyTagIcon", xmlReader);
if (themeLoaded)
{
_Theme.Name = elementName;
_ReadSubTheme();
_SubElements.Clear();
_SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _DuetIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon});
LoadSkin();
Init();
}
return themeLoaded;
}
private void _ReadSubTheme()
{
_Theme.SongMenuTileBoard.TextArtist = (SThemeText)_Artist.GetTheme();
@@ -67,6 +67,7 @@ namespace VocaluxeLib.PartyModes
_ScreenSongOptions.Sorting.SearchString = String.Empty;
_ScreenSongOptions.Sorting.SearchActive = false;
_ScreenSongOptions.Sorting.DuetOptions = EDuetOptions.All;
_ScreenSongOptions.Sorting.FilterPlaylistID = -1;
}
public override bool Init()
+6
View File
@@ -34,6 +34,7 @@ namespace VocaluxeLib.PartyModes
public EOffOn IgnoreArticles;
public string SearchString;
public bool SearchActive;
public int FilterPlaylistID; //show only songs that are in this playlist, -1 for all songs
public EDuetOptions DuetOptions;
}
@@ -47,6 +48,11 @@ namespace VocaluxeLib.PartyModes
/// </summary>
public int SongIndex;
/// <summary>
/// If != -1, the SongMenu should enter show category based on provided category index if possible
/// </summary>
public int CategoryIndex;
/// <summary>
/// If true, the SongMenu should perform the select random song method
/// </summary>
-17
View File
@@ -137,23 +137,6 @@ namespace VocaluxeLib
get { return A.HasValue; }
}
/// <summary>
/// Use only for old code! Remove when removing old LoadTheme()
/// </summary>
[XmlIgnore]
public SColorF Color
{
set
{
if (NameSpecified)
return;
R = value.R;
G = value.G;
B = value.B;
A = value.A;
}
}
public bool Get(int partyModeId, out SColorF color)
{
bool ok;
+1 -2
View File
@@ -96,6 +96,7 @@
<Compile Include="Menu\CMenuElementBase.cs" />
<Compile Include="Menu\CMenuParty.cs" />
<Compile Include="Menu\CMenuPartyNameSelection.cs" />
<Compile Include="Menu\CMenuPartySongSelection.cs" />
<Compile Include="Menu\CNameSelection.cs" />
<Compile Include="Menu\CObjectInteractions.cs" />
<Compile Include="Menu\COrderedDictionaryLite.cs" />
@@ -115,8 +116,6 @@
<Compile Include="XmlStructs.cs" />
<Compile Include="Xml\CTypeExtensions.cs" />
<Compile Include="Xml\CXmlDeserializer.cs" />
<Compile Include="Xml\CXMLReader.cs" />
<Compile Include="Xml\CXmlReaderBase.cs" />
<Compile Include="Xml\CXmlSerializer.cs" />
<Compile Include="Enums.cs" />
<Compile Include="Menu\IMenu.cs" />
-137
View File
@@ -1,137 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using System.Xml.XPath;
namespace VocaluxeLib.Xml
{
public class CXmlReader : CXmlReaderBase
{
private readonly XPathNavigator _Navigator;
private readonly String _FilePath;
public string FilePath
{
get { return _FilePath; }
}
//Private method. Use OpenFile factory method to get an instance
private CXmlReader(string uri)
{
_FilePath = uri;
var xmlDoc = new XPathDocument(uri);
_Navigator = xmlDoc.CreateNavigator();
}
public XPathNavigator Navigator
{
get { return _Navigator; }
}
public static CXmlReader OpenFile(string fileName)
{
try
{
return new CXmlReader(fileName);
}
catch (Exception e)
{
CBase.Log.LogError("Can't open XML file: " + fileName + ": " + e.Message);
return null;
}
}
public override bool GetValue(string xPath, out string value, string defaultValue = "")
{
int resultCt = 0;
string val = string.Empty;
_Navigator.MoveToRoot();
XPathNodeIterator iterator = _Navigator.Select(xPath);
while (iterator.MoveNext())
{
val = iterator.Current.Value;
resultCt++;
}
if (resultCt != 1)
{
value = defaultValue;
return false;
}
value = val;
return true;
}
public override bool GetAttribute(string xPath, string attribute, out string value)
{
_Navigator.MoveToRoot();
XPathNodeIterator iterator = _Navigator.Select(xPath);
if (iterator.MoveNext())
{
value = iterator.Current.GetAttribute(attribute, "");
return true;
}
value = null;
return false;
}
public List<string> GetNames(string xPath)
{
var values = new List<string>();
_Navigator.MoveToRoot();
XPathNodeIterator iterator = _Navigator.Select(xPath);
while (iterator.MoveNext())
values.Add(iterator.Current.LocalName);
return values;
}
public IEnumerable<string> GetAttributes(string xPath, string attribute)
{
var values = new List<string>();
_Navigator.MoveToRoot();
XPathNodeIterator iterator = _Navigator.Select(xPath);
while (iterator.MoveNext())
values.Add(iterator.Current.GetAttribute(attribute, ""));
return values;
}
public bool GetValues(string xPath, ref List<string> values)
{
_Navigator.MoveToRoot();
XPathNodeIterator iterator = _Navigator.Select(xPath);
while (iterator.MoveNext())
values.Add(iterator.Current.Value);
return true;
}
public bool ItemExists(string xPath)
{
_Navigator.MoveToRoot();
return _Navigator.Select(xPath).MoveNext();
}
}
}
-78
View File
@@ -1,78 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
namespace VocaluxeLib.Xml
{
/// <summary>
/// Base class that provides basic methods for reading xml, while the actual XML implementation is still abstract to allow different implementations
/// </summary>
public abstract class CXmlReaderBase
{
public abstract bool GetValue(string xPath, out string value, string defaultValue = "");
public abstract bool GetAttribute(string xPath, string attribute, out string value);
public bool TryGetBoolValue(string xPath, out bool value, bool defaultValue = false)
{
value = defaultValue;
string val;
return GetValue(xPath, out val) && bool.TryParse(val, out value);
}
public bool TryGetIntValue(string xPath, ref int value, int? defaultValue = null)
{
string val;
bool ok = GetValue(xPath, out val) && int.TryParse(val, out value);
if (!ok && defaultValue.HasValue)
value = defaultValue.Value;
return ok;
}
public bool TryGetFloatValue(string xPath, ref float value)
{
string val;
return GetValue(xPath, out val, value.ToString()) && CHelper.TryParse(val, out value);
}
public bool TryGetEnumValue<T>(string xPath, ref T value) where T : struct
{
string val;
return GetValue(xPath, out val, Enum.GetName(typeof(T), value)) && CHelper.TryParse(val, out value, true);
}
public bool TryGetIntValueRange(string xPath, ref int value, int min = 0, int max = 100)
{
return TryGetIntValue(xPath, ref value) && value.IsInRange(min, max);
}
/// <summary>
/// Gets a normalized (0&lt;=x&lt;=1) float value
/// </summary>
/// <param name="xPath"></param>
/// <param name="value"></param>
/// <param name="defaultValue"></param>
/// <returns>True if exists and is normalized</returns>
public bool TryGetNormalizedFloatValue(string xPath, ref float value, float defaultValue = 0)
{
bool ok = TryGetFloatValue(xPath, ref value) && value.IsInRange(0f, 1f);
if (!ok)
value = defaultValue;
return ok;
}
}
}