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é
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)
{
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;