Improve challenge party mode (#911)

- Instead of a number of rounds, you now choose how many songs each player sings
- New option to remember sung songs, so a new challenge doesn't repeat songs from the previous ones
- Up to 16 players
- The number of jokers and the joker refill setting are kept instead of being reset every time
- The overview shows each player's avatar, the top three in gold, silver and bronze and highlights the leader
- The winner of each round is highlighted in the round list
- The winner is celebrated at the end with avatar, a pulsing gold name and stars

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
This commit is contained in:
McSchneidarandFlorian Ostertag authored and GitHub committed 2026-10-17 21:18:49 +02:00
1 parent aac5253862
commit b4c29e1b55
7 files changed
+381 -83

No files matched your search

@@ -18,6 +18,8 @@
<string name="TR_SCREENCONFIG_NUMROUNDS">Anzahl der Runden</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Joker-Anzahl</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Joker nach jeder Runde auffüllen</string>
<string name="TR_SCREENCONFIG_SONGSPERPLAYER">Songs pro Spieler</string>
<string name="TR_SCREENCONFIG_REMEMBERSONGS">Gesungene Songs merken</string>
<string name="TR_SCREENNAMES_TITLE">Challenge Modus: Spielerwahl</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Zufällig auswählen</string>
<string name="TR_SCREENMAIN_TITLE">Challenge Modus: Übersicht</string>
@@ -18,6 +18,8 @@
<string name="TR_SCREENCONFIG_NUMROUNDS">Number of rounds</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Number of jokers</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Refill jokers every round</string>
<string name="TR_SCREENCONFIG_SONGSPERPLAYER">Songs per player</string>
<string name="TR_SCREENCONFIG_REMEMBERSONGS">Remember sung songs</string>
<string name="TR_SCREENNAMES_TITLE">Challenge Mode: Choose Player</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Select random</string>
<string name="TR_SCREENMAIN_TITLE">Challenge Mode: Overview</string>
@@ -2,7 +2,7 @@
<Screen>
<Informations>
<ScreenName>PartyScreenChallengeConfig</ScreenName>
<ScreenVersion>3</ScreenVersion>
<ScreenVersion>4</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
@@ -81,7 +81,7 @@
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
<Text>TR_SCREENCONFIG_SONGSPERPLAYER</Text>
</Text>
<Text Name="TextNumJokers">
<X>112.5</X>
@@ -111,6 +111,20 @@
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_REFILLJOKERS</Text>
</Text>
<Text Name="TextRememberSongs">
<X>112.5</X>
<Y>607.5</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENCONFIG_REMEMBERSONGS</Text>
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
@@ -271,7 +285,7 @@
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<SelectSlide Name="SelectSlideSongsPerPlayer">
<Skin />
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
@@ -397,6 +411,48 @@
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
<SelectSlide Name="SelectSlideRememberSongs">
<Skin />
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<SkinSelected>SelectSlide</SkinSelected>
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<Rect>
<X>750</X>
<Y>600</Y>
<W>1050</W>
<H>75</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>757.5</X>
<Y>607.5</Y>
<W>60</W>
<H>60</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1732.5</X>
<Y>607.5</Y>
<W>60</W>
<H>60</H>
<Z>0</Z>
</RectArrowRight>
<Color Name="SelectSlideColor" />
<SelColor Name="SelectSlideSelColor" />
<ArrowColor Name="ArrowColor" />
<ArrowSelColor Name="ArrowSelColor" />
<TextColor Name="TextColorAlpha" />
<TextSelColor Name="TextSelColor" />
<TextH>40.5</TextH>
<TextRelativeX>75</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>300</TextMaxW>
<TextFont>Outline</TextFont>
<TextStyle>Bold</TextStyle>
<NumVisible>2</NumVisible>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
@@ -2,7 +2,7 @@
<Screen>
<Informations>
<ScreenName>PartyScreenChallengeMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
<ScreenVersion>2</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
@@ -47,6 +47,65 @@
<Z>0</Z>
</Rect>
</Static>
<Static Name="StaticTablePanel">
<Skin />
<Color>
<R>0.1</R>
<G>0.09</G>
<B>0.25</B>
<A>0.75</A>
</Color>
<Rect>
<X>30</X>
<Y>185</Y>
<W>900</W>
<H>552</H>
<Z>0.8</Z>
</Rect>
</Static>
<Static Name="StaticRoundsPanel">
<Skin />
<Color>
<R>0.1</R>
<G>0.09</G>
<B>0.25</B>
<A>0.75</A>
</Color>
<Rect>
<X>950</X>
<Y>185</Y>
<W>945</W>
<H>552</H>
<Z>0.8</Z>
</Rect>
</Static>
<Static Name="StaticTableHighlight">
<Skin />
<Color>
<R>1</R>
<G>0.8</G>
<B>0</B>
<A>0.18</A>
</Color>
<Rect>
<X>40</X>
<Y>0</Y>
<W>880</W>
<H>46</H>
<Z>0.6</Z>
</Rect>
</Static>
<Static Name="StaticTableAvatar">
<Skin />
<Color Name="Visible" />
<Rect>
<X>105</X>
<Y>0</Y>
<W>38</W>
<H>38</H>
<Z>0.4</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
@@ -64,7 +123,7 @@
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPosition">
<X>60</X>
<X>90</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -78,11 +137,11 @@
<Text>TR_SCREENMAIN_TABLE_POS</Text>
</Text>
<Text Name="TextPlayerName">
<X>75</X>
<X>152</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>195</MaxW>
<MaxW>200</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
@@ -92,7 +151,7 @@
<Text>TR_SCREENMAIN_TABLE_PLAYERNAME</Text>
</Text>
<Text Name="TextNumPlayed">
<X>390</X>
<X>420</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -106,7 +165,7 @@
<Text>TR_SCREENMAIN_TABLE_NUMPLAYED</Text>
</Text>
<Text Name="TextWon">
<X>510</X>
<X>540</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -120,7 +179,7 @@
<Text>TR_SCREENMAIN_TABLE_WON</Text>
</Text>
<Text Name="TextSingPoints">
<X>735</X>
<X>765</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -134,7 +193,7 @@
<Text>TR_SCREENMAIN_TABLE_SINGPOINTS</Text>
</Text>
<Text Name="TextGamePoints">
<X>885</X>
<X>915</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -176,7 +235,7 @@
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextRoundNumber">
<X>990</X>
<X>1010</X>
<Y>202.5</Y>
<Z>0</Z>
<H>40.5</H>
@@ -217,11 +276,30 @@
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRoundWinner">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>0</MaxW>
<Color>
<R>0.31</R>
<G>0.82</G>
<B>0.91</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextFinishMessage">
<X>960</X>
<Y>780</Y>
<Y>760</Y>
<Z>0</Z>
<H>66</H>
<H>44</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
@@ -233,11 +311,16 @@
</Text>
<Text Name="TextFinishPlayerWin">
<X>960</X>
<Y>862.5</Y>
<Y>808</Y>
<Z>0</Z>
<H>46.5</H>
<MaxW>1155</MaxW>
<Color Name="TextColor" />
<H>56</H>
<MaxW>1100</MaxW>
<Color>
<R>1</R>
<G>0.8</G>
<B>0</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
@@ -440,7 +523,7 @@
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>421.5</X>
<X>459</X>
<Y>742.5</Y>
<W>42</W>
<H>22.5</H>
@@ -467,8 +550,8 @@
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>421.5</X>
<Y>165</Y>
<X>459</X>
<Y>158</Y>
<W>42</W>
<H>22.5</H>
<Z>-01</Z>
@@ -494,8 +577,8 @@
<Skin>ScrollDown</Skin>
<SkinSelected>ScrollDown</SkinSelected>
<Rect>
<X>1431</X>
<Y>705</Y>
<X>1401.5</X>
<Y>742.5</Y>
<W>42</W>
<H>22.5</H>
<Z>-01</Z>
@@ -521,8 +604,8 @@
<Skin>ScrollUp</Skin>
<SkinSelected>ScrollUp</SkinSelected>
<Rect>
<X>1431</X>
<Y>165</Y>
<X>1401.5</X>
<Y>158</Y>
<W>42</W>
<H>22.5</H>
<Z>-01</Z>
@@ -552,6 +635,26 @@
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ParticleEffects>
<ParticleEffect Name="ParticleEffectWinner">
<Skin>Star</Skin>
<Rect>
<X>560</X>
<Y>780</Y>
<W>800</W>
<H>260</H>
<Z>-1</Z>
</Rect>
<Color>
<R>1</R>
<G>0.8</G>
<B>0</B>
<A>0.6</A>
</Color>
<Type>Star</Type>
<Size>18</Size>
<MaxNumber>40</MaxNumber>
</ParticleEffect>
</ParticleEffects>
<ScreenSettings />
</Screen>