diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml index 6581aa77..1623eba7 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -65,7 +65,7 @@ 0,00 - 32 + 27 @@ -94,7 +94,7 @@ 0,00 - 32 + 27 @@ -123,7 +123,7 @@ 0,00 - 32 + 27 @@ -167,7 +167,7 @@ 75 10 - 32 + 27 142 @@ -224,7 +224,7 @@ 75 10 - 32 + 27 142 @@ -314,7 +314,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -379,7 +379,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -444,7 +444,7 @@ TextSColor - 32,00 + 27,00 205,33 diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml index 34733ff1..45a1eed7 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml @@ -68,7 +68,7 @@ 0,00 - 32 + 27 @@ -97,7 +97,7 @@ 0,00 - 32 + 27 @@ -126,7 +126,7 @@ 0,00 - 50 + 44 @@ -155,7 +155,7 @@ 0,00 - 35 + 31 770 @@ -185,7 +185,7 @@ 0,00 - 32 + 27 @@ -214,7 +214,7 @@ 0,00 - 32 + 27 130 @@ -244,7 +244,7 @@ 0,00 - 32 + 27 @@ -273,7 +273,7 @@ 0,00 - 32 + 27 @@ -302,7 +302,7 @@ 0,00 - 32 + 27 @@ -331,7 +331,7 @@ 0,00 - 32 + 27 @@ -360,7 +360,7 @@ 0,00 - 32 + 27 100 @@ -390,7 +390,7 @@ 0,00 - 32 + 27 @@ -419,7 +419,7 @@ 0,00 - 32 + 27 @@ -448,7 +448,7 @@ 0,00 - 32 + 27 @@ -477,7 +477,7 @@ -1,01 - 32 + 27 380 @@ -522,7 +522,7 @@ 75 10 - 32 + 27 142 @@ -579,7 +579,7 @@ 75 10 - 32 + 27 142 @@ -636,7 +636,7 @@ 75 10 - 32 + 27 142 @@ -693,7 +693,7 @@ 75 10 - 32 + 27 142 @@ -750,7 +750,7 @@ 75 10 - 32 + 27 142 @@ -807,7 +807,7 @@ 75 10 - 32 + 27 142 @@ -856,7 +856,7 @@ 75 10 - 32 + 27 142 @@ -905,7 +905,7 @@ 75 10 - 32 + 27 142 @@ -954,7 +954,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml index 9d033c03..42fb5218 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -80,7 +80,7 @@ 75 10 - 32 + 27 142 @@ -137,7 +137,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml index cda12131..31c764e5 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -65,7 +65,7 @@ 0,00 - 32 + 27 @@ -94,7 +94,7 @@ 0,00 - 32 + 27 @@ -123,7 +123,7 @@ 0,00 - 32 + 27 @@ -167,7 +167,7 @@ 75 10 - 32 + 27 142 @@ -224,7 +224,7 @@ 75 10 - 32 + 27 142 @@ -314,7 +314,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -379,7 +379,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -444,7 +444,7 @@ TextSColor - 32,00 + 27,00 205,33 diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml index c5f7bc22..ca6ca079 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml @@ -68,7 +68,7 @@ 0,00 - 32 + 27 @@ -97,7 +97,7 @@ 0,00 - 32 + 27 @@ -126,7 +126,7 @@ 0,00 - 50 + 44 @@ -155,7 +155,7 @@ 0,00 - 35 + 31 770 @@ -185,7 +185,7 @@ 0,00 - 32 + 27 @@ -214,7 +214,7 @@ 0,00 - 32 + 27 130 @@ -244,7 +244,7 @@ 0,00 - 32 + 27 @@ -273,7 +273,7 @@ 0,00 - 32 + 27 @@ -302,7 +302,7 @@ 0,00 - 32 + 27 @@ -331,7 +331,7 @@ 0,00 - 32 + 27 @@ -360,7 +360,7 @@ 0,00 - 32 + 27 100 @@ -390,7 +390,7 @@ 0,00 - 32 + 27 @@ -419,7 +419,7 @@ 0,00 - 32 + 27 @@ -448,7 +448,7 @@ 0,00 - 32 + 27 @@ -477,7 +477,7 @@ -1,01 - 32 + 27 380 @@ -522,7 +522,7 @@ 75 10 - 32 + 27 142 @@ -579,7 +579,7 @@ 75 10 - 32 + 27 142 @@ -636,7 +636,7 @@ 75 10 - 32 + 27 142 @@ -693,7 +693,7 @@ 75 10 - 32 + 27 142 @@ -750,7 +750,7 @@ 75 10 - 32 + 27 142 @@ -807,7 +807,7 @@ 75 10 - 32 + 27 142 @@ -856,7 +856,7 @@ 75 10 - 32 + 27 142 @@ -905,7 +905,7 @@ 75 10 - 32 + 27 142 @@ -954,7 +954,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml index 284b495e..e7f55401 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -80,7 +80,7 @@ 75 10 - 32 + 27 142 @@ -137,7 +137,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml index d3b98d11..282b4c1d 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -65,7 +65,7 @@ 0,00 - 32 + 27 @@ -94,7 +94,7 @@ 0,00 - 32 + 27 @@ -123,7 +123,7 @@ 0,00 - 32 + 27 @@ -152,7 +152,7 @@ 0,00 - 32 + 27 @@ -181,7 +181,7 @@ 0,00 - 32 + 27 @@ -225,7 +225,7 @@ 75 10 - 32 + 27 142 @@ -282,7 +282,7 @@ 75 10 - 32 + 27 142 @@ -372,7 +372,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -437,7 +437,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -502,7 +502,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -567,7 +567,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -632,7 +632,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -697,7 +697,7 @@ TextSColor - 32,00 + 27,00 205,33 @@ -762,7 +762,7 @@ TextSColor - 32,00 + 27,00 205,33 diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml index 6f204b14..61e5e3a3 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml @@ -84,7 +84,7 @@ 0,00 - 32 + 27 @@ -113,7 +113,7 @@ 0,00 - 40 + 35 @@ -142,7 +142,7 @@ 0,00 - 40 + 35 @@ -171,7 +171,7 @@ 0,00 - 40 + 35 @@ -229,7 +229,7 @@ 0,00 - 40 + 35 @@ -258,7 +258,7 @@ 0,00 - 40 + 35 @@ -287,7 +287,7 @@ -2,01 - 32 + 27 380 @@ -528,7 +528,7 @@ 75 10 - 32 + 27 142 @@ -585,7 +585,7 @@ 75 10 - 32 + 27 142 @@ -642,7 +642,7 @@ 75 10 - 32 + 27 142 @@ -699,7 +699,7 @@ 75 10 - 32 + 27 142 @@ -756,7 +756,7 @@ 75 10 - 32 + 27 142 @@ -813,7 +813,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml index ee4f79d1..2e73b1b1 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml @@ -36,7 +36,7 @@ 0,00 - 32 + 27 @@ -65,7 +65,7 @@ -1,00 - 22 + 20 @@ -94,7 +94,7 @@ -1,00 - 22 + 20 @@ -138,7 +138,7 @@ 75 10 - 32 + 27 142 @@ -187,7 +187,7 @@ 75 10 - 32 + 27 142 @@ -236,7 +236,7 @@ 75 10 - 32 + 27 142 @@ -293,7 +293,7 @@ 75 10 - 32 + 27 142 diff --git a/Output/Themes/Ambient/Screens/ScreenProfiles.xml b/Output/Themes/Ambient/Screens/ScreenProfiles.xml index fe74a016..919a580d 100644 --- a/Output/Themes/Ambient/Screens/ScreenProfiles.xml +++ b/Output/Themes/Ambient/Screens/ScreenProfiles.xml @@ -120,7 +120,7 @@ 160 - StaticColor + Visible @@ -1124,4 +1124,4 @@ 2 - \ No newline at end of file + diff --git a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs index 2e51f184..4f305246 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs @@ -543,8 +543,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe List ids1 = new List(); List ids2 = new List(); //Add IDs to team-list - while (_GameData.PlayerTeam1.Count < _GameData.NumFields + _GameData.NumJokerRetry[0] && ids1.Count == 0 && - _GameData.PlayerTeam2.Count < _GameData.NumFields + _GameData.NumJokerRetry[1] && ids2.Count == 0) + while (_GameData.PlayerTeam1.Count < _GameData.NumFields + _GameData.NumJokerRetry[0] && + _GameData.PlayerTeam2.Count < _GameData.NumFields + _GameData.NumJokerRetry[1] ) { if (ids1.Count == 0) { @@ -557,11 +557,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe ids2.Add(i); } int num; - int random; if (_GameData.PlayerTeam1.Count < _GameData.NumFields + _GameData.NumJokerRetry[0]) { - random = CBase.Game.GetRandom((ids1.Count - 1) * 10); - num = (int)Math.Round((double)random / 10); + num = CBase.Game.GetRandom(ids1.Count); if (num >= ids1.Count) num = ids1.Count - 1; _GameData.PlayerTeam1.Add(ids1[num]); @@ -569,8 +567,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe } if (_GameData.PlayerTeam2.Count < _GameData.NumFields + _GameData.NumJokerRetry[1]) { - random = CBase.Game.GetRandom((ids2.Count - 1) * 20); - num = (int)Math.Round((double)random / 20); + num = CBase.Game.GetRandom(ids2.Count); if (num >= ids2.Count) num = ids2.Count - 1; _GameData.PlayerTeam2.Add(ids2[num]); @@ -593,8 +590,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe } if (_GameData.PlayerTeam1.Count < _GameData.NumFields + _GameData.NumJokerRetry[0]) { - int random = CBase.Game.GetRandom((ids.Count - 1) * 10); - int num = (int)Math.Round((double)random / 10); + int num = CBase.Game.GetRandom(ids.Count); if (num >= ids.Count) num = ids.Count - 1; _GameData.PlayerTeam1.Add(ids[num]); @@ -617,8 +613,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe } if (_GameData.PlayerTeam2.Count < _GameData.NumFields + _GameData.NumJokerRetry[1]) { - int random = CBase.Game.GetRandom((ids.Count - 1) * 20); - int num = (int)Math.Round((double)random / 20); + int num = CBase.Game.GetRandom(ids.Count); if (num >= ids.Count) num = ids.Count - 1; _GameData.PlayerTeam2.Add(ids[num]); diff --git a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeMain.cs b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeMain.cs index 16eebf6e..26deb9ea 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeMain.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeMain.cs @@ -473,27 +473,46 @@ namespace VocaluxeLib.PartyModes.TicTacToe } } - private void _FieldSelected() + private void _FieldSelected(bool jokerUsed = false) { + if (!jokerUsed) + { + int singerTeam1 = 0; + int singerTeam2 = 0; + + if (_GameData.PlayerTeam1.Count > 0) + { + singerTeam1 = _GameData.PlayerTeam1[0]; + _GameData.PlayerTeam1.RemoveAt(0); + } + + if (_GameData.PlayerTeam2.Count > 0) + { + singerTeam2 = _GameData.PlayerTeam2[0]; + _GameData.PlayerTeam2.RemoveAt(0); + } + _GameData.Rounds[_SelectedField].SingerTeam1 = singerTeam1; + _GameData.Rounds[_SelectedField].SingerTeam2 = singerTeam2; + + _Texts[_TextNextPlayerT1].Visible = true; + _Texts[_TextNextPlayerT2].Visible = true; + _Texts[_TextNextPlayerNameT1].Visible = true; + _Texts[_TextNextPlayerNameT2].Visible = true; + CProfile[] profiles = CBase.Profiles.GetProfiles(); + _Texts[_TextNextPlayerNameT1].Text = profiles[_GameData.ProfileIDsTeam1[_GameData.Rounds[_SelectedField].SingerTeam1]].PlayerName; + _Texts[_TextNextPlayerNameT2].Text = profiles[_GameData.ProfileIDsTeam2[_GameData.Rounds[_SelectedField].SingerTeam2]].PlayerName; + _Statics[_StaticAvatarT1].Visible = true; + _Statics[_StaticAvatarT2].Visible = true; + _Statics[_StaticAvatarT1].Texture = profiles[_GameData.ProfileIDsTeam1[_GameData.Rounds[_SelectedField].SingerTeam1]].Avatar.Texture; + _Statics[_StaticAvatarT2].Texture = profiles[_GameData.ProfileIDsTeam2[_GameData.Rounds[_SelectedField].SingerTeam2]].Avatar.Texture; + + } int songID = 0; - int singerTeam1 = 0; - int singerTeam2 = 0; if (_GameData.Songs.Count > 0) { songID = _GameData.Songs[0]; _GameData.Songs.RemoveAt(0); } - if (_GameData.PlayerTeam1.Count > 0) - { - singerTeam1 = _GameData.PlayerTeam1[0]; - _GameData.PlayerTeam1.RemoveAt(0); - } - - if (_GameData.PlayerTeam2.Count > 0) - { - singerTeam2 = _GameData.PlayerTeam2[0]; - _GameData.PlayerTeam2.RemoveAt(0); - } CSong song = CBase.Songs.GetSongByID(songID); CBase.BackgroundMusic.SetStatus(true); @@ -506,22 +525,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe _Status = EStatus.FieldSelected; _Fields[_SelectedField].Content.SongID = songID; _GameData.Rounds[_SelectedField].SongID = songID; - _GameData.Rounds[_SelectedField].SingerTeam1 = singerTeam1; - _GameData.Rounds[_SelectedField].SingerTeam2 = singerTeam2; _UpdateFieldContents(); - - _Texts[_TextNextPlayerT1].Visible = true; - _Texts[_TextNextPlayerT2].Visible = true; - _Texts[_TextNextPlayerNameT1].Visible = true; - _Texts[_TextNextPlayerNameT2].Visible = true; - CProfile[] profiles = CBase.Profiles.GetProfiles(); - _Texts[_TextNextPlayerNameT1].Text = profiles[_GameData.ProfileIDsTeam1[_GameData.Rounds[_SelectedField].SingerTeam1]].PlayerName; - _Texts[_TextNextPlayerNameT2].Text = profiles[_GameData.ProfileIDsTeam2[_GameData.Rounds[_SelectedField].SingerTeam2]].PlayerName; - _Statics[_StaticAvatarT1].Visible = true; - _Statics[_StaticAvatarT2].Visible = true; - _Statics[_StaticAvatarT1].Texture = profiles[_GameData.ProfileIDsTeam1[_GameData.Rounds[_SelectedField].SingerTeam1]].Avatar.Texture; - _Statics[_StaticAvatarT2].Texture = profiles[_GameData.ProfileIDsTeam2[_GameData.Rounds[_SelectedField].SingerTeam2]].Avatar.Texture; - _UpdateJokerButtons(); _Buttons[_ButtonNextRound].Visible = true; @@ -581,7 +585,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe _GameData.NumJokerRandom[teamNr]--; if (!CBase.Sound.IsFinished(_PreviewStream)) CBase.Sound.FadeAndStop(_PreviewStream, 0, 1); - _FieldSelected(); + _FieldSelected(true); } break; @@ -597,6 +601,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe _OldSelectedField = _SelectedField; _SelectedField = -1; _UpdateFieldContents(); + _Buttons[_ButtonNextRound].Visible = false; } break; } diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs index 73be016c..f3dbbdbf 100644 --- a/Vocaluxe/Base/CConfig.cs +++ b/Vocaluxe/Base/CConfig.cs @@ -426,9 +426,6 @@ namespace Vocaluxe.Base writer.WriteComment("Preview Volume from 0 to 100"); writer.WriteElementString("PreviewMusicVolume", PreviewMusicVolume.ToString()); - writer.WriteComment("Preview Volume from 0 to 100"); - writer.WriteElementString("PreviewMusicVolume", PreviewMusicVolume.ToString()); - writer.WriteComment("Game Volume from 0 to 100"); writer.WriteElementString("GameMusicVolume", GameMusicVolume.ToString()); diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index ed6aebde..9e9d4ebd 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -208,6 +208,7 @@ namespace Vocaluxe.Screens if (mode > Enum.GetNames(typeof(ETimerMode)).Length - 1) mode = 0; CConfig.TimerMode = (ETimerMode)mode; + CConfig.SaveConfig(); break; case Keys.I: diff --git a/VocaluxeLib/Menu/CStatic.cs b/VocaluxeLib/Menu/CStatic.cs index 159b6319..3d0678be 100644 --- a/VocaluxeLib/Menu/CStatic.cs +++ b/VocaluxeLib/Menu/CStatic.cs @@ -206,6 +206,8 @@ namespace VocaluxeLib.Menu public void Draw(float scale, float z, EAspect aspect, bool forceDraw = false) { CTexture texture = Texture; + if (texture == null) + texture = new CTexture((int)Rect.W, (int)Rect.H); SRectF bounds = new SRectF( Rect.X - Rect.W * (scale - 1f), diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs index 5dc0dbd8..aabb9749 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs @@ -468,6 +468,7 @@ namespace VocaluxeLib.Menu.SongMenu { _Actsongstream = -1; _Vidtex = null; + ApplyVolume(CBase.Config.GetPreviewMusicVolume()); } public virtual void OnHide()