From 6ba8eebb208f2dbdd68192709173f299c8babebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Tue, 12 Sep 2017 09:55:01 +0200 Subject: [PATCH] Removed ChallengeMedley, could be configured in Challenge now --- Output/PartyModes/ChallengeMedley.xml | 19 - .../ChallengeMedley/Languages/Asturian.xml | 32 - .../ChallengeMedley/Languages/Czech.xml | 36 - .../ChallengeMedley/Languages/Dutch.xml | 36 - .../ChallengeMedley/Languages/English.xml | 36 - .../ChallengeMedley/Languages/French.xml | 36 - .../ChallengeMedley/Languages/German.xml | 36 - .../ChallengeMedley/Languages/Hungarian.xml | 33 - .../ChallengeMedley/Languages/Italian.xml | 34 - .../ChallengeMedley/Languages/Portuguese.xml | 36 - .../ChallengeMedley/Languages/Spanish.xml | 36 - .../ChallengeMedley/Languages/Swedish.xml | 36 - .../ChallengeMedley/Languages/Turkish.xml | 33 - .../ChallengeMedley/Themes/Default.xml | 10 - .../Themes/Default/Default.xml | 13 - .../PartyScreenChallengeMedleyConfig.xml | 491 ----------- .../PartyScreenChallengeMedleyMain.xml | 557 ------------ .../PartyScreenChallengeMedleyNames.xml | 382 --------- .../CChallengeRounds.cs | 152 ---- .../CPartyModeChallengeMedley.cs | 562 ------------ .../CPartyScreenChallengeMedleyConfig.cs | 290 ------- .../CPartyScreenChallengeMedleyMain.cs | 630 -------------- .../CPartyScreenChallengeMedleyNames.cs | 68 -- .../GlobalSuppressions.cs | Bin 1704 -> 0 bytes .../PartyModeChallengeMedley.csproj | 112 --- .../Settings.StyleCop | 809 ------------------ Vocaluxe.sln | 29 +- 27 files changed, 5 insertions(+), 4539 deletions(-) delete mode 100644 Output/PartyModes/ChallengeMedley.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Asturian.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Czech.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Dutch.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/English.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/French.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/German.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Hungarian.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Italian.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Portuguese.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Spanish.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Swedish.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Languages/Turkish.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Themes/Default.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Themes/Default/Default.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyConfig.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml delete mode 100644 Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyNames.xml delete mode 100644 PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyConfig.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyMain.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/GlobalSuppressions.cs delete mode 100644 PartyModes/PartyModeChallengeMedley/PartyModeChallengeMedley.csproj delete mode 100644 PartyModes/PartyModeChallengeMedley/Settings.StyleCop diff --git a/Output/PartyModes/ChallengeMedley.xml b/Output/PartyModes/ChallengeMedley.xml deleted file mode 100644 index 8accbb0d..00000000 --- a/Output/PartyModes/ChallengeMedley.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - 2 - - TR_PARTYMODE_NAME - brunzel - TR_PARTYMODE_DESCRIPTION - ChallengeMedley - CPartyModeChallengeMedley - 0 - 2 - TR_PARTYMODE_AUDIENCE - - - CPartyScreenChallengeMedleyMain - CPartyScreenChallengeMedleyConfig - CPartyScreenChallengeMedleyNames - - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml b/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml deleted file mode 100644 index 9be65cc9..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Inglés - Mou desafíu Medley - Pa daquién tea interesáu nos duelos y Medleys. - Siguiente - Tornar - Entamar - Colar - Sí - Non - Ronda siguiente - Llista de reproducción - Estaya - Toles sones - Sones - Mou retu Medley: Configuración - Númberu de xugadores - Númberu de microfonos - Númberu de rondes - Mou retu Medley: Esbillar xugador - Mou retu Medley: Vista previa - Pos - Nome - Rondes - Victories - Puntos - Puntuación - ¿De xuru quies colar? - Xugador de la ronda siguiente: - ¡Toles rondes tan cantaes! Ya'l ganador ye... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Czech.xml b/Output/PartyModes/ChallengeMedley/Languages/Czech.xml deleted file mode 100644 index a6c0376b..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Czech.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Anglický - Soutěžní směskový režim - Hrajte soutěžní režim jen se směskami. - Pro všechny ty, kdož se zajímají o pěvecké souboje a mnoho kol složených ze směsek. - Další - Zpět - Spustit - Ukončit - Ano - Ne - Další kolo - Seznam skladeb - Skupina - Všechny písně - Písně - Soutěžní směskový režim: Nastavení - Počet hráčů - Počet mikrofonů - Počet kol - Počet písní na kolo - Zdroj písně - Soutěžní směskový režim: Výběr hráče - Vybrat náhodně - Soutěžní směskový režim: Přehled - Místo - Jméno - Kola - Vítězové - Body za zpívání - Výsledky - Opravdu chcete odejít? - Hráč dalšího kola: - Všechna kola byla odzpívána! A vítězem se stal... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Dutch.xml b/Output/PartyModes/ChallengeMedley/Languages/Dutch.xml deleted file mode 100644 index fac1ab63..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Dutch.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Engels - Uitdaging Medley - Speel een paar uitdagingsronden met alleen Medleys. - Voor iedereen geïnteresseerd in duelleren en Medleys. - Volgende - Vorige - Start - Afsluiten - Ja - Nee - Volgende Ronde - Afspeellijst - Categorie - Alle liedjes - Liedjes - Uitdaging Medley: Configuratie - Aantal spelers - Aantal microfoons - Aantal rondes - Aantal liedjes per ronde - Liedjesbron - Uitdaging Medley: Kies speler - Selecteer willekeurig - Uitdaging Medley: Overzicht - # - Naam - Rondes - Overwinningen - Zingpunten - Score - Wil je echt afsluiten? - Speler van volgende ronde: - Alle rondes zijn gezonden! De winnaar is... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/English.xml b/Output/PartyModes/ChallengeMedley/Languages/English.xml deleted file mode 100644 index 51c783a4..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/English.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - English - Challenge Medley Mode - Play some challenge rounds by using Medleys only. - For all who are interested in duel fights and Medleys. - Next - Back - Start - Exit - Yes - No - Next Round - Playlist - Category - All songs - Songs - Challenge Medley Mode: Configuration - Number of players - Number of mics - Number of rounds - Number of songs per round - Song source - Challenge Medley Mode: Choose Player - Select random - Challenge Medley Mode: Overview - Pos - Name - Rounds - Wins - Sing Points - Score - Do you really want to exit? - Player of next round: - All rounds were sung! And the winner is... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/French.xml b/Output/PartyModes/ChallengeMedley/Languages/French.xml deleted file mode 100644 index 1337996e..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/French.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Français - Mode Challenge Medley - Jouer des tours en mode Challenge seulement en utilisant des Medleys. - Pour tous ceux qui sont intéressé par des combats de micro et les medleys. - Suivant - Retour - Démarrer - Quitter - Oui - Non - Tour suivant - Playlist - Catégorie - Toutes les chansons - Chansons - Mode Challenge Medley: Configuration - Nombre de joueurs - Nombre de micros - Nombre de tours - Nombre de chansons par tour - Source des chansons - Mode Challenge Medley: Choix des joueurs - Sélectionner au hasard - Mode Challenge Medley: Résumé - Pos - Nom - Tours - Victoires - Points de chant - Score - Voulez-vous vraiment quitter? - Joueurs du prochain tour: - Tous les tours on été chantés! Et le vainqueur est... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/German.xml b/Output/PartyModes/ChallengeMedley/Languages/German.xml deleted file mode 100644 index 7c81ebee..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/German.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Deutsch - Challenge Medley Modus - Spiele einen Wettkampfmodus nur mit Medleys - Für alle, die Spaß am Wettkampf und vielen Medleyrunden haben. - Weiter - Zurück - Start - Exit - Ja - Nein - Nächste Runde - Playlist - Kategorie - Alle Songs - Songs - Challenge Medley Modus: Einstellungen - Anzahl der Spieler - Anzahl der Mikrofone - Anzahl der Runden - Anzahl der Songs pro Runde - Song-Quelle - Challenge Medley Modus: Spielerwahl - Zufällig auswählen - Challenge Medley Modus: Übersicht - Pos - Name - Runden - Siege - Sing-Punkte - Punkte - Challenge Medley Modus wirklich beenden? - Spieler der nächsten Runde: - Alle Runden wurden gesungen! Und der Gewinner ist... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Hungarian.xml b/Output/PartyModes/ChallengeMedley/Languages/Hungarian.xml deleted file mode 100644 index 953b8790..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Hungarian.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - Magyar - Bajnokság Egyveleg Mód - Azoknak akik egymás ellen szeretnének játszani és csak dalrészleteket énekelni. - Következő - Vissza - Kezdés - Kilépés - Igen - Nem - Következő Kör - Dal Lista - Kategória - Összes Dal - Dalok - Bajnokság Egyveleg Mód: Beállítások - Játékosok Száma - Mikrofonok Száma - Körök Száma - Dal-forrás - Bajnokság Egyveleg Mód: Válassz Játékost - Bajnokság Egyveleg Mód: Áttekintés - Poz - Név - Körök - Győzelmek - Énekpontok - Pontszám - Biztos hogy ki akarsz lépni? - Következik: - Véget ért a verseny, a győztes... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Italian.xml b/Output/PartyModes/ChallengeMedley/Languages/Italian.xml deleted file mode 100644 index 1c3aad44..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Italian.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - Italiano - Sfida in Modalità Medley - Per tutti quelli interessati a scontrarsi con duelli di Medley. - Prossimo - Indietro - Inizia - Esci - Si - No - Prossimo Turno - Playlist - Categoria - Tutte le canzoni - Canzoni - Sfida in Modalità Medley: Configurazione - Numero di giocatori - Numero di microfoni - Numero di Turni - Sorgente della Canzone - Sfida in Modalità Medley: Scegli il Giocatore - Selezione casuale - Sfida in Modalità Medley: Panoramica - Pos - Nome - Turni - Vittorie - Punti Canto - Punteggio - Vuoi davvero uscire? - Giocatore del prossimo turno: - Tutti i turni di canto completati! E il vincitore è... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Portuguese.xml b/Output/PartyModes/ChallengeMedley/Languages/Portuguese.xml deleted file mode 100644 index 31a17564..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Portuguese.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Inglês - Modo Desafio Miscelânea - Jogar algumas rondas desafio utilizando apenas Miscelâneas - Para os interessados em duelos e miscelâneas - Seguinte - Voltar - Iniciar - Sair - Sim - Não - Ronda Seguinte - Lista de Reprodução - Categoria - Todas as Músicas - Músicas - Modo Desafio de Miscelâneas: Configuração - Número de Jogadores - Número de microfones - Número de rondas - Número de músicas por ronda - Origem da Música - Modo Desafio de Miscelâneas: Escolher Jogador - Escolha Aleatória - Modo Desafio de Miscelâneas: Resumo - Posição - Nome - Rondas - Vitórias - Pontos de Canto - Pontuação - Deseja mesmo sair? - Jogador da próxima ronda: - Todas as rondas cantadas! E o vencedor é... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Spanish.xml b/Output/PartyModes/ChallengeMedley/Languages/Spanish.xml deleted file mode 100644 index aa15b634..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Spanish.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Español - Modo Reto Popurrí - Jugar unas cuantas rondas de sólo Popurrí. - Para quienes estén interesados en dos cosas: duelos y Popurrí - Siguiente - Volver - Comenzar - Salir - Sí - No - Siguiente Ronda - Lista de reproducción - Categoría - Todas las canciones - Canciones - Modo Reto Popurrí: Configuración - Número de jugadores - Número de micrófonos - Número de rondas - Número de canciones por ronda - Origen de las Canciones - Modo Reto Popurrí: Elegir Jugador - Seleccionar aleatoriamente - Modo Reto Popurrí: Resumen - Posición - Nombre - Rondas - Victorias - Puntos de Canto - Puntuación - ¿De verdad quiere salir? - Jugador de la siguiente ronda: - ¡Todas las rondas fueron cantadas! Y el ganador es... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml b/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml deleted file mode 100644 index c447ee66..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Svenska - Medleyutmanarläge - Spela några utmanaromgångar med endast medleys. - För alla som är intresserade av dueller och medleys. - Nästa - Tillbaka - Starta - Avsluta - Ja - Nej - Nästa omgång - Spellista - Kategori - Alla låtar - Låtar - Medleyutmanarläge: Konfiguration - Antal spelare - Antal mikrofoner - Antal omgångar - Antal låtar per omgång - Låtkälla - Medleyutmanarläge: Välj Spelare - Välj slumpmässiga - Medleyutmanarläge: Översikt - Pos - Namn - Omgångar - Vunna - Sångpoäng - Poäng - Vill du verkligen avsluta? - Spelare i nästa omgång: - Alla omgångar sjungna! Och vinnaren är... - diff --git a/Output/PartyModes/ChallengeMedley/Languages/Turkish.xml b/Output/PartyModes/ChallengeMedley/Languages/Turkish.xml deleted file mode 100644 index f28907f3..00000000 --- a/Output/PartyModes/ChallengeMedley/Languages/Turkish.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - Türkçe - Potpuri Yarış Modu - Düel yarışmaları ve Potpuri ile ilgilenen herkes için. - Sonraki - Önceki - Başla - Çık - Evet - Hayır - Sonraki Tur - Çalma Listesi - Kategori - Tüm Şarkılar - Şarkılar - Potpuri Yarış Modu: Yapılandırma - Oyuncu sayısı - Mikrofon sayısı - Tur sayısı - Şarkı Kaynağı - Potpuri Yarışma Modu: Oyuncu Seçimi - Potpuri Yarışma Modu: Genel Bakış - Pos - İsim - Tur - Kazanma - Şarkı Söyleme Puanı - Skor - Gerçekten çıkmak istiyor musunuz? - Sonraki tur oyuncusu: - Tüm turlar tamamlandı! Kazanan... - diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default.xml b/Output/PartyModes/ChallengeMedley/Themes/Default.xml deleted file mode 100644 index 10e1c461..00000000 --- a/Output/PartyModes/ChallengeMedley/Themes/Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - 6 - - Default - brunzel - 0 - 1 - - \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default/Default.xml b/Output/PartyModes/ChallengeMedley/Themes/Default/Default.xml deleted file mode 100644 index 52a8859e..00000000 --- a/Output/PartyModes/ChallengeMedley/Themes/Default/Default.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4 - - Default - Jiiniasu - 0 - 1 - - - - - diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyConfig.xml b/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyConfig.xml deleted file mode 100644 index 1ddc136c..00000000 --- a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyConfig.xml +++ /dev/null @@ -1,491 +0,0 @@ - - - - PartyScreenChallengeMedleyConfig - 2 - - - - Video - - - BG_Default - - - - - - - - - 0 - 40 - 1280 - 45 - 1 - - - - - - 640 - 50 - 0 - 27 - 0 - - - Center - Center - - Outline - TR_SCREENCONFIG_TITLE - - - 75 - 105 - 0 - 27 - 0 - - - Left - Center - - Outline - TR_SCREENCONFIG_NUMPLAYERS - - - 75 - 165 - 0 - 27 - 0 - - - Left - Center - - Outline - TR_SCREENCONFIG_NUMMICS - - - 75 - 225 - 0 - 27 - 0 - - - Left - Center - - Outline - TR_SCREENCONFIG_NUMROUNDS - - - 75 - 285 - 0 - 27 - 0 - - - Left - Center - - Outline - TR_SCREENCONFIG_NUMSONGS - - - 75 - 345 - 0 - 27 - 0 - - - Left - Center - - Outline - TR_SCREENCONFIG_SONGSOURCE - - - - - - - - - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 100 - 700 - 50 - 0 - - - 505 - 105 - 40 - 40 - 0 - - - 1155 - 105 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 9 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 160 - 700 - 50 - 0 - - - 505 - 165 - 40 - 40 - 0 - - - 1155 - 165 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 2 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 220 - 700 - 50 - 0 - - - 505 - 225 - 40 - 40 - 0 - - - 1155 - 225 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 10 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 280 - 700 - 50 - 0 - - - 505 - 285 - 40 - 40 - 0 - - - 1155 - 285 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 10 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 340 - 700 - 50 - 0 - - - 505 - 345 - 40 - 40 - 0 - - - 1155 - 345 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 3 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 400 - 700 - 50 - 0 - - - 505 - 405 - 40 - 40 - 0 - - - 1155 - 405 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 700 - Outline - Bold - 1 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 500 - 400 - 700 - 50 - 0 - - - 505 - 405 - 40 - 40 - 0 - - - 1155 - 405 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 700 - Outline - Bold - 1 - - - - - - - - - \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml b/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml deleted file mode 100644 index 56371aea..00000000 --- a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml +++ /dev/null @@ -1,557 +0,0 @@ - - - - PartyScreenChallengeMedleyMain - 1 - - - - Video - - - BG_Default - - - - - - - - - 0 - 40 - 1280 - 45 - 1 - - - - PopupBG - - - 0 - 0 - 1280 - 720 - -1 - - - - - - - 0 - 0 - 100 - 100 - 0 - - - - - - 640 - 50 - 0 - 27 - 0 - - - Center - Center - - Outline - TR_SCREENMAIN_TITLE - - - 40 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - TR_SCREENMAIN_TABLE_POS - - - 50 - 135 - 0 - 27 - 130 - - - Left - Center - - Outline - TR_SCREENMAIN_TABLE_PLAYERNAME - - - 260 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - TR_SCREENMAIN_TABLE_NUMPLAYED - - - 340 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - TR_SCREENMAIN_TABLE_WON - - - 490 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - TR_SCREENMAIN_TABLE_SINGPOINTS - - - 590 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - TR_SCREENMAIN_TABLE_GAMEPOINTS - - - 0 - 0 - 0 - 27 - 100 - - - Center - Center - - Outline - - - - 640 - 270 - -1.01 - 27 - 380 - - - Center - Center - - Outline - TR_SCREENMAIN_POPUP_REALLYEXIT - - - 660 - 135 - 0 - 27 - 0 - - - Right - Center - - Outline - - - - 0 - 0 - 0 - 27 - 0 - - - Center - Center - - Outline - - - - 0 - 0 - 0 - 27 - 0 - - - Center - Center - - Outline - - - - 640 - 520 - 0 - 44 - 0 - - - Center - Center - - Outline - TR_SCREENMAIN_FINISH - - - 640 - 575 - 0 - 31 - 770 - - - Center - Center - - Outline - - - - 640 - 515 - 0 - 27 - 0 - - - Center - Center - - Outline - TR_SCREENMAIN_NEXT_PLAYER - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyNames.xml b/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyNames.xml deleted file mode 100644 index 0b00f1de..00000000 --- a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyNames.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - - PartyScreenChallengMedleyNames - 1 - - - - Video - - - BG_Default - - - - - - - - - 0 - 40 - 1280 - 45 - 1 - - - - - - 640 - 50 - 0 - 27 - 0 - - - Center - Center - - Outline - TR_SCREENNAMES_TITLE - - - - - - - - - - - - - - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - - 40 - 100 - 1200 - 50 - 0 - - - 45 - 105 - 40 - 40 - 0 - - - 1195 - 105 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 0 - 200 - Outline - Bold - 2 - - - - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - SelectSlideArrowLeft - SelectSlideArrowRight - - 40 - 160 - 1200 - 150 - 0 - - - 45 - 210 - 40 - 40 - 0 - - - 1195 - 210 - 40 - 40 - 0 - - - - - - - - 27 - 50 - 5 - 200 - Outline - Bold - 8 - - - - - - - 95 - 350 - 1200 - 393 - 0 - - CoverTile - - PlayerSelector - - 100 - 100 - 10 - 2 - 10 - 10 - - -20 - 17 - Outline - - - - - - - - - - - \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs b/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs deleted file mode 100644 index 92e5438f..00000000 --- a/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs +++ /dev/null @@ -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 . -#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 _Rounds = new List(); - - 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 old = new List(_Rounds); - _Rounds.Clear(); - _BuildRounds(numRounds, numPlayer, playersPerRound); - if (Count > old.Count) - { - _Rounds.Clear(); - _Rounds.AddRange(old); - } - } - } - - /// - /// Divides players in 2 categories: Those how sung the most and the others - /// - /// List matching the playerIndex to the number of songs sung - private static List _GetPlayersForRound(IList numSung) - { - List mustSing = new List(); - 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 combinations) - { - List input = new List(numPlayer); - for (int i = 0; i < numPlayer; i++) - input.Add(i); - CCombinations combs = new CCombinations(input, playersPerRound); - combinations.AddRange(combs.Select(combination => new CRound(combination))); - combinations.Shuffle(); - } - - private static CRound _GetMatchingCombination(List playersInRound, List numSung, List 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 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 numSung = new List(numPlayer); - for (int i = 0; i < numPlayer; i++) - numSung.Add(0); - List combinations = new List(); - // 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 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 Players; - - public CRound(List players) - { - Players = players.Shuffle(); - } - } -} \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs deleted file mode 100644 index 78da5f05..00000000 --- a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs +++ /dev/null @@ -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 . -#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 ProfileIDs; - public int NumSongs; - public List Songs; - - public CChallengeRounds Rounds; - public List 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(), NumSongs = 5, Songs = new List(), SongSource = ESongSource.TR_ALLSONGS, CatSongIndices = null, Results = null}; - } - - public override void SetDefaults() - { - _Stage = EStage.Config; - GameData.CurrentRoundNr = 1; - GameData.ResultTable = new List(); - } - - 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(); - 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 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 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 _GetPointsForPlayer(SPlayer[] results) - { - var result = new List(); - 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; - } - } -} \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyConfig.cs b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyConfig.cs deleted file mode 100644 index 88c5e688..00000000 --- a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyConfig.cs +++ /dev/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 . -#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((int)_PartyMode.GameData.SongSource); - - List 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; - } - } -} \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyMain.cs b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyMain.cs deleted file mode 100644 index 8e2841b1..00000000 --- a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyMain.cs +++ /dev/null @@ -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 . -#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 TextPlayer; - public List 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 _PlayerTable; - private List _RoundsTable; - - private List _NextPlayerTexts; - private List _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(); - _NextPlayerStatics = new List(); - - 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(); - for (int i = 0; i < 5; i++) - { - var rtr = new CRoundsTableRow {TextPlayer = new List(), TextScores = new List()}; - _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(); - 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; - } - } -} \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs deleted file mode 100644 index a95bfc53..00000000 --- a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs +++ /dev/null @@ -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 . -#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[] ids = new List[] {_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(); - } - } -} \ No newline at end of file diff --git a/PartyModes/PartyModeChallengeMedley/GlobalSuppressions.cs b/PartyModes/PartyModeChallengeMedley/GlobalSuppressions.cs deleted file mode 100644 index e661ff030ad7d32272d04b4b0dafd6d8f44c9c78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1704 zcmbW2-)j>=5Xa|P@PAm+mljH@2tHU5Vl-7q+G0{m5g+p7(j1=2k-J#)&#RyB>|HOB z`e0cuyE{8O^PTU^PJaJ7u(c(2YpJblX~8m9QzT0(_>;YX^zfcAf(_k&!$q(jl8AW>&X~PpG!xeG zz9RnN*ox{r*b8L)k?doX1##7|a|miN8JU;O6%o`PkJyXjEpz6Yk->ex|5pJIJvlz5t376vMmJSUaTa}@Gh>DddcyWawgQVde_cU={$-5hTnm`$43|c(ND+Tf~W78 zgd$dM&-dr(4jIb+1-FD%H7A@SG`d94_no9yNH5VFa;uG=swh@dLww~7q0s4|n&l(0Lu(ea{s7Ok8_oa# diff --git a/PartyModes/PartyModeChallengeMedley/PartyModeChallengeMedley.csproj b/PartyModes/PartyModeChallengeMedley/PartyModeChallengeMedley.csproj deleted file mode 100644 index d4ddbb68..00000000 --- a/PartyModes/PartyModeChallengeMedley/PartyModeChallengeMedley.csproj +++ /dev/null @@ -1,112 +0,0 @@ - - - - DebugWin - AnyCPU - 8.0.30703 - 2.0 - {6F3E1874-F28A-40E9-AFBD-31934D593678} - Library - Properties - VocaluxeLib.PartyModes.ChallengeMedley - ChallengeMedley - v4.0 - Client - 512 - - - AnyCPU - true - full - false - bin - TRACE;DEBUG;WIN - prompt - 4 - Off - ..\..\CheckingRules.ruleset - - - AnyCPU - none - true - bin - prompt - 4 - false - WIN - Off - - - AnyCPU - true - full - false - bin - TRACE;DEBUG;LINUX - prompt - 4 - Off - - - AnyCPU - none - true - bin - prompt - 4 - false - LINUX - Off - - - bin - WIN - true - AnyCPU - false - Off - prompt - ManagedMinimumRules.ruleset - - - - - - - - - - - - {D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC} - VocaluxeLib - False - - - - - - - - - - - - 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 - 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" - - - - diff --git a/PartyModes/PartyModeChallengeMedley/Settings.StyleCop b/PartyModes/PartyModeChallengeMedley/Settings.StyleCop deleted file mode 100644 index 72ed49f9..00000000 --- a/PartyModes/PartyModeChallengeMedley/Settings.StyleCop +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - False - - - - - - - \ No newline at end of file diff --git a/Vocaluxe.sln b/Vocaluxe.sln index 3a32f864..a9b3384d 100644 --- a/Vocaluxe.sln +++ b/Vocaluxe.sln @@ -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