Files
McSchneidarandFlorian Ostertag 3bdf22c870 New party mode: Partner Swap (#915)
* Add partner swap party mode

A new party mode for 3 to 12 players that only needs 2 microphones. Everyone plays for themselves, but always sings together with a partner. Both singers get the score of the pair, and the partners change every round.

- In each round every player sings once, with a partner they haven't sung with yet; with an odd number of players someone takes a break, in turns
- Ranking by the average score per song, so breaks are no disadvantage
- Optional harmony bonus of 500 points when both singers are no more than 500 points apart
- Duet songs are sung with both voices; duets can be mixed in, used exclusively or left out
- Up to 3 jokers per player to skip a song
- The best pair is shown all the time, and the winner and the best pair of the night are celebrated at the end

* Rename the harmony bonus points constant to avoid shadowing

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2026-10-18 08:20:24 +02:00

739 lines
17 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Screen>
<Informations>
<ScreenName>PartyScreenPartnerSwapMain</ScreenName>
<ScreenVersion>1</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<SlideShowTextures />
<Video>BG_Video</Video>
<Skin>BG_Default</Skin>
<Color Name="BackgroundColor" />
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin />
<Color Name="BackgroundColorAlpha" />
<Rect>
<X>0</X>
<Y>60</Y>
<W>1920</W>
<H>67.5</H>
<Z>1</Z>
</Rect>
</Static>
<Static Name="StaticPopupBG">
<Skin>PopupBG</Skin>
<Color Name="StaticColor" />
<Rect>
<X>0</X>
<Y>0</Y>
<W>1920</W>
<H>1080</H>
<Z>-1</Z>
</Rect>
</Static>
<Static Name="StaticRankPanel">
<Skin />
<Color>
<R>0.1</R>
<G>0.09</G>
<B>0.25</B>
<A>0.75</A>
</Color>
<Rect>
<X>30</X>
<Y>190</Y>
<W>760</W>
<H>720</H>
<Z>0.8</Z>
</Rect>
</Static>
<Static Name="StaticBestPanel">
<Skin />
<Color>
<R>0.1</R>
<G>0.09</G>
<B>0.25</B>
<A>0.75</A>
</Color>
<Rect>
<X>1470</X>
<Y>190</Y>
<W>420</W>
<H>292</H>
<Z>0.8</Z>
</Rect>
</Static>
<Static Name="StaticRowHighlight">
<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>740</W>
<H>48</H>
<Z>0.6</Z>
</Rect>
</Static>
<Static Name="StaticRowAvatar">
<Skin />
<Color Name="Visible" />
<Rect>
<X>125</X>
<Y>0</Y>
<W>42</W>
<H>42</H>
<Z>0.4</Z>
</Rect>
</Static>
<Static Name="StaticPairAvatar1">
<Skin />
<Color Name="Visible" />
<Rect>
<X>925</X>
<Y>290</Y>
<W>170</W>
<H>170</H>
<Z>0.4</Z>
</Rect>
</Static>
<Static Name="StaticPairAvatar2">
<Skin />
<Color Name="Visible" />
<Rect>
<X>1165</X>
<Y>290</Y>
<W>170</W>
<H>170</H>
<Z>0.4</Z>
</Rect>
</Static>
<Static Name="StaticBestAvatar1">
<Skin />
<Color Name="Visible" />
<Rect>
<X>1585</X>
<Y>260</Y>
<W>90</W>
<H>90</H>
<Z>0.4</Z>
</Rect>
</Static>
<Static Name="StaticBestAvatar2">
<Skin />
<Color Name="Visible" />
<Rect>
<X>1685</X>
<Y>260</Y>
<W>90</W>
<H>90</H>
<Z>0.4</Z>
</Rect>
</Static>
</Statics>
<Texts>
<Text Name="TextTitle">
<X>960</X>
<Y>75</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TITLE</Text>
</Text>
<Text Name="TextPopupReallyExit">
<X>960</X>
<Y>405</Y>
<Z>-11</Z>
<H>40.5</H>
<MaxW>570</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_POPUP_REALLYEXIT</Text>
</Text>
<Text Name="TextHeaderPos">
<X>110</X>
<Y>205</Y>
<Z>0</Z>
<H>34</H>
<MaxW>0</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_HEADER_POS</Text>
</Text>
<Text Name="TextHeaderName">
<X>180</X>
<Y>205</Y>
<Z>0</Z>
<H>34</H>
<MaxW>0</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_HEADER_NAME</Text>
</Text>
<Text Name="TextHeaderSongs">
<X>560</X>
<Y>205</Y>
<Z>0</Z>
<H>34</H>
<MaxW>0</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_HEADER_SONGS</Text>
</Text>
<Text Name="TextHeaderAverage">
<X>765</X>
<Y>205</Y>
<Z>0</Z>
<H>34</H>
<MaxW>0</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_HEADER_AVERAGE</Text>
</Text>
<Text Name="TextRowPos">
<X>110</X>
<Y>0</Y>
<Z>0</Z>
<H>36</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRowName">
<X>180</X>
<Y>0</Y>
<Z>0</Z>
<H>36</H>
<MaxW>300</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRowSongs">
<X>560</X>
<Y>0</Y>
<Z>0</Z>
<H>36</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextRowAverage">
<X>765</X>
<Y>0</Y>
<Z>0</Z>
<H>36</H>
<MaxW>0</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Right</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPass">
<X>1130</X>
<Y>205</Y>
<Z>0</Z>
<H>32</H>
<MaxW>620</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPairName1">
<X>1010</X>
<Y>478</Y>
<Z>0</Z>
<H>38</H>
<MaxW>220</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPairName2">
<X>1250</X>
<Y>478</Y>
<Z>0</Z>
<H>38</H>
<MaxW>220</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextAmp">
<X>1130</X>
<Y>345</Y>
<Z>0</Z>
<H>56</H>
<MaxW>0</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>&amp;</Text>
</Text>
<Text Name="TextTogether">
<X>1130</X>
<Y>535</Y>
<Z>0</Z>
<H>30</H>
<MaxW>620</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextPause">
<X>1130</X>
<Y>575</Y>
<Z>0</Z>
<H>30</H>
<MaxW>620</MaxW>
<Color>
<R>0.75</R>
<G>0.78</G>
<B>0.85</B>
<A>1</A>
</Color>
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextLastResult">
<X>1130</X>
<Y>660</Y>
<Z>0</Z>
<H>32</H>
<MaxW>640</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextHarmony">
<X>1130</X>
<Y>705</Y>
<Z>0</Z>
<H>32</H>
<MaxW>640</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextBestLabel">
<X>1680</X>
<Y>210</Y>
<Z>0</Z>
<H>32</H>
<MaxW>400</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_BEST_PAIR</Text>
</Text>
<Text Name="TextBestNames">
<X>1680</X>
<Y>365</Y>
<Z>0</Z>
<H>32</H>
<MaxW>400</MaxW>
<Color Name="TextColor" />
<SelColor Name="TextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextBestScore">
<X>1680</X>
<Y>410</Y>
<Z>0</Z>
<H>48</H>
<MaxW>0</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
<Text Name="TextChampionLabel">
<X>1130</X>
<Y>215</Y>
<Z>0</Z>
<H>36</H>
<MaxW>0</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_CHAMPION</Text>
</Text>
<Text Name="TextChampion">
<X>1130</X>
<Y>262</Y>
<Z>0</Z>
<H>64</H>
<MaxW>600</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>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNextRound">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>1545</X>
<Y>945</Y>
<W>225</W>
<H>75</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>112.5</X>
<Y>15</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>213</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NEXT_ROUND</Text>
</Text>
<Reflection>
<Height>39</Height>
<Space>15</Space>
</Reflection>
<SelReflection>
<Height>39</Height>
<Space>15</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>150</X>
<Y>945</Y>
<W>225</W>
<H>75</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>112.5</X>
<Y>18</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>213</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_BACK</Text>
</Text>
<Reflection>
<Height>39</Height>
<Space>15</Space>
</Reflection>
<SelReflection>
<Height>39</Height>
<Space>15</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>150</X>
<Y>945</Y>
<W>225</W>
<H>75</H>
<Z>0</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>112.5</X>
<Y>18</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>213</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_EXIT</Text>
</Text>
<Reflection>
<Height>39</Height>
<Space>15</Space>
</Reflection>
<SelReflection>
<Height>39</Height>
<Space>15</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupYes">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>997.5</X>
<Y>540</Y>
<W>225</W>
<H>75</H>
<Z>-11</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>112.5</X>
<Y>18</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>213</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_YES</Text>
</Text>
<Reflection>
<Height>39</Height>
<Space>15</Space>
</Reflection>
<SelReflection>
<Height>39</Height>
<Space>15</Space>
</SelReflection>
</Button>
<Button Name="ButtonPopupNo">
<Skin>Button</Skin>
<SkinSelected>Button</SkinSelected>
<Rect>
<X>697.5</X>
<Y>540</Y>
<W>225</W>
<H>75</H>
<Z>-11</Z>
</Rect>
<Color Name="ButtonColor" />
<SelColor Name="ButtonSelColor" />
<Text Name="Text">
<X>112.5</X>
<Y>18</Y>
<Z>0</Z>
<H>40.5</H>
<MaxW>213</MaxW>
<Color Name="ButtonTextColor" />
<SelColor Name="ButtonTextSelColor" />
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_BUTTON_NO</Text>
</Text>
<Reflection>
<Height>39</Height>
<Space>15</Space>
</Reflection>
<SelReflection>
<Height>39</Height>
<Space>15</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects>
<ParticleEffect Name="ParticleEffectChampion">
<Skin>Star</Skin>
<Rect>
<X>850</X>
<Y>200</Y>
<W>560</W>
<H>380</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>