From c5074c187a5a036e5112f1c81eea9e43d23830c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Mon, 14 Aug 2017 22:31:45 +0200 Subject: [PATCH 1/3] Fixed bug in tic tac toe mode (closes #268) --- .../PartyModeTicTacToe/CPartyModeTicTacToe.cs | 18 ++++++++++-------- .../CPartyScreenTicTacToeConfig.cs | 8 ++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs index 6cf643e5..636e3cfe 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs @@ -60,7 +60,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe // ReSharper disable ClassNeverInstantiated.Global public sealed class CPartyModeTicTacToe : CPartyMode - // ReSharper restore ClassNeverInstantiated.Global + // ReSharper restore ClassNeverInstantiated.Global { public override int MinMics { @@ -96,7 +96,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe get { return 10; } } - private enum EStage + public readonly EGameMode[] AvailableGameModes = { EGameMode.TR_GAMEMODE_NORMAL, EGameMode.TR_GAMEMODE_SHORTSONG, EGameMode.TR_GAMEMODE_DUET }; + + private enum EStage { Config, Names, @@ -119,7 +121,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe public int CategoryIndex; public int PlaylistID; - public EGameMode GameMode; + public int GameMode; public List Rounds; public List Songs; @@ -160,7 +162,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe SongSource = ESongSource.TR_ALLSONGS, PlaylistID = 0, CategoryIndex = 0, - GameMode = EGameMode.TR_GAMEMODE_NORMAL, + GameMode = 0, Rounds = new List(), Songs = new List(), NumJokerRandom = new int[2], @@ -432,20 +434,20 @@ namespace VocaluxeLib.PartyModes.TicTacToe 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(GameData.GameMode)) + if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])) GameData.Songs.Add(id); } break; case ESongSource.TR_ALLSONGS: ReadOnlyCollection avSongs = CBase.Songs.GetSongs(); - GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID)); + GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).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(GameData.GameMode)).Select(song => song.ID)); + GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID)); CBase.Songs.SetCategory(-1); break; @@ -493,7 +495,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe if (isDuet) players[1].VoiceNr = 1; - CBase.Game.AddSong(round.SongID, GameData.GameMode); + CBase.Game.AddSong(round.SongID, AvailableGameModes[GameData.GameMode]); } private void _SetNumJokers() diff --git a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs index c75cd880..feeda81b 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs @@ -160,8 +160,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe _SelectSlides[_SelectSlideGameMode].Visible = true; _SelectSlides[_SelectSlideGameMode].Clear(); - _SelectSlides[_SelectSlideGameMode].SetValues((int)_PartyMode.GameData.GameMode); - _SelectSlides[_SelectSlideGameMode].RemoveValue(EGameMode.TR_GAMEMODE_MEDLEY.ToString()); + _SelectSlides[_SelectSlideGameMode].AddValues(_PartyMode.AvailableGameModes.Select(gm => gm.ToString())); + _SelectSlides[_SelectSlideGameMode].Selection = _PartyMode.GameData.GameMode; } private void _UpdateSlides() @@ -171,9 +171,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe _PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection; _PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection; _PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection; - _PartyMode.GameData.GameMode = (EGameMode)_SelectSlides[_SelectSlideGameMode].Selection; + _PartyMode.GameData.GameMode = _SelectSlides[_SelectSlideGameMode].Selection; - EGameMode gm = _PartyMode.GameData.GameMode; + EGameMode gm = _PartyMode.AvailableGameModes[_PartyMode.GameData.GameMode]; if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST) { From c8bc280e5bc6dd02a3d7f4461ebd10205f386d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Mon, 14 Aug 2017 22:41:17 +0200 Subject: [PATCH 2/3] Auto focus on buttons in main screen (closes #281) --- Vocaluxe/Screens/CScreenMain.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Vocaluxe/Screens/CScreenMain.cs b/Vocaluxe/Screens/CScreenMain.cs index a884c016..e1f2a424 100644 --- a/Vocaluxe/Screens/CScreenMain.cs +++ b/Vocaluxe/Screens/CScreenMain.cs @@ -57,6 +57,7 @@ namespace Vocaluxe.Screens _Texts[_TextRelease].Visible = true; _Statics[_StaticWarningProfiles].Visible = false; _Texts[_TextWarningProfiles].Visible = false; + _SelectElement(_Buttons[_ButtonSing]); } public override bool HandleInput(SKeyEvent keyEvent) @@ -105,6 +106,10 @@ namespace Vocaluxe.Screens return false; break; + + case Keys.Escape: + _SelectElement(_Buttons[_ButtonExit]); + break; } } return true; From 90aa0176f69e40c94b7d9c032ad5dd196ca22d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Mon, 14 Aug 2017 23:03:51 +0200 Subject: [PATCH 3/3] updated language files --- Output/Languages/Czech.xml | 4 ++++ Output/Languages/French.xml | 9 +++++++++ Output/Languages/Italian.xml | 7 +++++++ Output/PartyModes/Challenge/Languages/Czech.xml | 2 ++ Output/PartyModes/Challenge/Languages/French.xml | 2 ++ 5 files changed, 24 insertions(+) diff --git a/Output/Languages/Czech.xml b/Output/Languages/Czech.xml index a34fe68f..fe288daf 100644 --- a/Output/Languages/Czech.xml +++ b/Output/Languages/Czech.xml @@ -73,6 +73,8 @@ Celkem Normální Rozšířené + Uvést vše + Uvést nejlepší Vlastní hudba a hudba na pozadí Žádná vlastní hudba Pouze vlastní hudba @@ -183,6 +185,7 @@ Karty Obtížnost hry Režim časomíry + Styl pro nejlepší výsledky Nastavení nahrávání Zařízení Vstup @@ -201,6 +204,7 @@ Zdroj hudby na pozadí Hlasitost ukázky Hlasitost hry + Efekt Karaoke Nastavení tématu Téma Vzhled diff --git a/Output/Languages/French.xml b/Output/Languages/French.xml index fe0c7149..5820b536 100644 --- a/Output/Languages/French.xml +++ b/Output/Languages/French.xml @@ -46,6 +46,7 @@ Niveau 2 Niveau 3 Max + Afficher Caroussel Damier Livre @@ -72,6 +73,8 @@ Total Normal Développé + Tout afficher + Afficher les meilleurs Musique personnelle et Musique de fond Pas de Musique personnelle Seulement la Musique personnelle @@ -79,6 +82,10 @@ Tout Seulement noms et avatars Rien + Remplir + Sauter + Glisser + Zoomer En bas En haut En haut et en bas @@ -178,6 +185,7 @@ Dossiers Difficulté du Jeu Mode du Minuteur + Style meilleur score Options d'Enregistrement Appareil Entrée @@ -196,6 +204,7 @@ Source de la Musique de fond Volume de la Musique de prévisualisation Volume de la Musique du jeu + Effet Karaoké Options du Thème Thème Environnement graphique diff --git a/Output/Languages/Italian.xml b/Output/Languages/Italian.xml index 8fce81fc..57fd6652 100644 --- a/Output/Languages/Italian.xml +++ b/Output/Languages/Italian.xml @@ -46,6 +46,7 @@ Livello 2 Livello 3 Max + Elenco Dreidel Scacchiera Libro @@ -72,6 +73,8 @@ Totale Normale Espanso + Elenco tutti + Elenco migliori Musica personale e musica di sfondo Nessuna musica personale Solo musica personale @@ -79,6 +82,9 @@ Tutto Solo nomi e avatar Niente + Riempi + Salta + Zoom Sotto Sopra Sopra e sotto @@ -196,6 +202,7 @@ Sorgente musica di sfondo Anteprima volume musica Volume musica di gioco + Effetto karaoke Opzioni tema Tema Skin diff --git a/Output/PartyModes/Challenge/Languages/Czech.xml b/Output/PartyModes/Challenge/Languages/Czech.xml index 5dc3a83d..c0fce8eb 100644 --- a/Output/PartyModes/Challenge/Languages/Czech.xml +++ b/Output/PartyModes/Challenge/Languages/Czech.xml @@ -15,6 +15,8 @@ Počet hráčů Počet mikrofonů Počet kol + Počet žolíků + Doplnit žolíky každé kolo Soutěžní režim: Výběr hráče Vybrat náhodně Soutěžní režim: Přehled diff --git a/Output/PartyModes/Challenge/Languages/French.xml b/Output/PartyModes/Challenge/Languages/French.xml index 7ff1b981..27ece675 100644 --- a/Output/PartyModes/Challenge/Languages/French.xml +++ b/Output/PartyModes/Challenge/Languages/French.xml @@ -15,6 +15,8 @@ Nombre de joueurs Nombre de micros Nombre de tours + Nombre de jokers + Remplir de nouveau les jokers à tour Mode Challenge: Choix des joueurs Sélectionner au hasard Mode Challenge: Résumé