Merge remote-tracking branch 'remotes/flamefire/develop' into develop
This commit is contained in:
commit
1aeb84ffa2
99 files changed
+2670
-2837
No files matched your search
@@ -73,6 +73,10 @@
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">All</string>
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Only names and avatars</string>
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nothing</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Bottom</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Top</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Top and bottom</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_DYNAMIC">Dynamic</string>
|
||||
<string name="TR_SCREENLOAD_LOADING">Loading</string>
|
||||
<string name="TR_SCREENLOAD_TOTAL">Total</string>
|
||||
<string name="TR_SCREENLOAD_SONGS">Songs</string>
|
||||
@@ -188,7 +192,7 @@
|
||||
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Loading Behavior</string>
|
||||
<string name="TR_SCREENOLYRICS_OPTIONS">Lyrics Options</string>
|
||||
<string name="TR_SCREENOLYRICS_STYLE">Style</string>
|
||||
<string name="TR_SCREENOLYRICS_ONTOP">Lyrics on top</string>
|
||||
<string name="TR_SCREENOLYRICS_POSTION">Lyrics position</string>
|
||||
<string name="TR_SCREENOVIDEO_OPTIONS">Video Options</string>
|
||||
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Backgrounds</string>
|
||||
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Preview</string>
|
||||
|
||||
@@ -73,6 +73,10 @@
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string>
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string>
|
||||
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Keine</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Unten</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Oben</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Oben und unten</string>
|
||||
<string name="TR_CONFIG_LYRICSPOSITION_DYNAMIC">Dynamisch</string>
|
||||
<string name="TR_SCREENLOAD_LOADING">Laden</string>
|
||||
<string name="TR_SCREENLOAD_TOTAL">Gesamt</string>
|
||||
<string name="TR_SCREENLOAD_SONGS">Lieder</string>
|
||||
@@ -188,7 +192,7 @@
|
||||
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Ladeverhalten</string>
|
||||
<string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string>
|
||||
<string name="TR_SCREENOLYRICS_STYLE">Stil</string>
|
||||
<string name="TR_SCREENOLYRICS_ONTOP">Oben anzeigen</string>
|
||||
<string name="TR_SCREENOLYRICS_POSITION">Position</string>
|
||||
<string name="TR_SCREENOVIDEO_OPTIONS">Videoeinstellungen</string>
|
||||
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string>
|
||||
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<TextCurrentSong>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>410</X>
|
||||
<Y>4</Y>
|
||||
<Y>8</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -53,7 +53,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -98,7 +98,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -147,7 +147,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -196,7 +196,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -245,7 +245,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -294,7 +294,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -343,7 +343,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -392,7 +392,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -441,7 +441,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1067</X>
|
||||
<Y>680</Y>
|
||||
<Y>682</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-2,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -37,7 +37,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -118,4 +118,4 @@
|
||||
<NumVisible>1</NumVisible>
|
||||
</SelectSlideVolume>
|
||||
</PopupScreenVolumeControl>
|
||||
</root>
|
||||
</root>
|
||||
@@ -48,7 +48,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>60</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -63,7 +63,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -77,7 +77,7 @@
|
||||
<TextSongName>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -92,7 +92,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -106,7 +106,7 @@
|
||||
<TextSongMode>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1220</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -121,7 +121,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -135,7 +135,7 @@
|
||||
<TextNumber1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>100</Y>
|
||||
<Y>103</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -150,7 +150,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -179,7 +179,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -193,7 +193,7 @@
|
||||
<TextNumber3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>220</Y>
|
||||
<Y>223</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -208,7 +208,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -222,7 +222,7 @@
|
||||
<TextNumber4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>280</Y>
|
||||
<Y>283</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -237,7 +237,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -251,7 +251,7 @@
|
||||
<TextNumber5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>340</Y>
|
||||
<Y>343</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -266,7 +266,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -280,7 +280,7 @@
|
||||
<TextNumber6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>400</Y>
|
||||
<Y>403</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -295,7 +295,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -309,7 +309,7 @@
|
||||
<TextNumber7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>460</Y>
|
||||
<Y>463</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -324,7 +324,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -338,7 +338,7 @@
|
||||
<TextNumber8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>520</Y>
|
||||
<Y>523</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -353,7 +353,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -367,7 +367,7 @@
|
||||
<TextNumber9>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>580</Y>
|
||||
<Y>583</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -382,7 +382,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -396,7 +396,7 @@
|
||||
<TextNumber10>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>120</X>
|
||||
<Y>640</Y>
|
||||
<Y>643</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -411,7 +411,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -425,7 +425,7 @@
|
||||
<TextName1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>100</Y>
|
||||
<Y>103</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -440,7 +440,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -454,7 +454,7 @@
|
||||
<TextName2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>160</Y>
|
||||
<Y>163</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -469,7 +469,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -483,7 +483,7 @@
|
||||
<TextName3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>220</Y>
|
||||
<Y>223</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -498,7 +498,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -512,7 +512,7 @@
|
||||
<TextName4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>280</Y>
|
||||
<Y>283</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -527,7 +527,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -541,7 +541,7 @@
|
||||
<TextName5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>340</Y>
|
||||
<Y>343</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -556,7 +556,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -570,7 +570,7 @@
|
||||
<TextName6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>400</Y>
|
||||
<Y>403</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -585,7 +585,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -599,7 +599,7 @@
|
||||
<TextName7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>460</Y>
|
||||
<Y>463</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -614,7 +614,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -628,7 +628,7 @@
|
||||
<TextName8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>520</Y>
|
||||
<Y>523</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -643,7 +643,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -657,7 +657,7 @@
|
||||
<TextName9>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>580</Y>
|
||||
<Y>583</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -672,7 +672,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -686,7 +686,7 @@
|
||||
<TextName10>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>200</X>
|
||||
<Y>640</Y>
|
||||
<Y>643</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -701,7 +701,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -715,7 +715,7 @@
|
||||
<TextScore1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>100</Y>
|
||||
<Y>103</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -730,7 +730,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -744,7 +744,7 @@
|
||||
<TextScore2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>160</Y>
|
||||
<Y>163</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -759,7 +759,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -773,7 +773,7 @@
|
||||
<TextScore3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>220</Y>
|
||||
<Y>223</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -788,7 +788,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -802,7 +802,7 @@
|
||||
<TextScore4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>280</Y>
|
||||
<Y>283</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -817,7 +817,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -831,7 +831,7 @@
|
||||
<TextScore5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>340</Y>
|
||||
<Y>343</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -846,7 +846,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -860,7 +860,7 @@
|
||||
<TextScore6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>400</Y>
|
||||
<Y>403</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -875,7 +875,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -889,7 +889,7 @@
|
||||
<TextScore7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>460</Y>
|
||||
<Y>463</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -904,7 +904,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -918,7 +918,7 @@
|
||||
<TextScore8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>520</Y>
|
||||
<Y>523</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -933,7 +933,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -947,7 +947,7 @@
|
||||
<TextScore9>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>580</Y>
|
||||
<Y>583</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -962,7 +962,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -976,7 +976,7 @@
|
||||
<TextScore10>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>800</X>
|
||||
<Y>640</Y>
|
||||
<Y>643</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -991,7 +991,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1005,7 +1005,7 @@
|
||||
<TextDate1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>100</Y>
|
||||
<Y>103</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1020,7 +1020,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1034,7 +1034,7 @@
|
||||
<TextDate2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>160</Y>
|
||||
<Y>163</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1049,7 +1049,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1063,7 +1063,7 @@
|
||||
<TextDate3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>220</Y>
|
||||
<Y>223</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1078,7 +1078,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1092,7 +1092,7 @@
|
||||
<TextDate4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>280</Y>
|
||||
<Y>283</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1107,7 +1107,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1121,7 +1121,7 @@
|
||||
<TextDate5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>340</Y>
|
||||
<Y>343</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1150,7 +1150,7 @@
|
||||
<TextDate6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>400</Y>
|
||||
<Y>403</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1165,7 +1165,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1179,7 +1179,7 @@
|
||||
<TextDate7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>460</Y>
|
||||
<Y>463</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1208,7 +1208,7 @@
|
||||
<TextDate8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>520</Y>
|
||||
<Y>523</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1223,7 +1223,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1237,7 +1237,7 @@
|
||||
<TextDate9>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>580</Y>
|
||||
<Y>583</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1252,7 +1252,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1266,7 +1266,7 @@
|
||||
<TextDate10>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1000</X>
|
||||
<Y>640</Y>
|
||||
<Y>643</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1281,7 +1281,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1483,4 +1483,4 @@
|
||||
<MaxNumber>250</MaxNumber>
|
||||
</ParticleEffectNew10>
|
||||
</ScreenHighscore>
|
||||
</root>
|
||||
</root>
|
||||
@@ -29,102 +29,6 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</Static1>
|
||||
<StaticPlayer1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>100</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player1</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer1>
|
||||
<StaticPlayer2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>255</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player2</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer2>
|
||||
<StaticPlayer3>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>410</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player3</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer3>
|
||||
<StaticPlayer4>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>100</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player4</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer4>
|
||||
<StaticPlayer5>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>255</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player5</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer5>
|
||||
<StaticPlayer6>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>410</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player6</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer6>
|
||||
<StaticPlayerAvatar1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
@@ -221,6 +125,102 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayerAvatar6>
|
||||
<StaticPlayer1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>100</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player1</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer1>
|
||||
<StaticPlayer2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>255</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player2</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer2>
|
||||
<StaticPlayer3>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>15</X>
|
||||
<Y>410</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player3</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer3>
|
||||
<StaticPlayer4>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>100</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player4</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer4>
|
||||
<StaticPlayer5>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>255</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player5</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer5>
|
||||
<StaticPlayer6>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
|
||||
<X>1147</X>
|
||||
<Y>410</Y>
|
||||
<Z>-2,00</Z>
|
||||
<W>118</W>
|
||||
<H>118</H>
|
||||
<!--<Color>: Static color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player6</Color>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticPlayer6>
|
||||
<StaticWarningMics>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
@@ -256,7 +256,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -271,7 +271,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -285,7 +285,7 @@
|
||||
<TextWarningMics>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>615</Y>
|
||||
<Y>617</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -301,7 +301,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -315,7 +315,7 @@
|
||||
<TextWarningProfiles>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>650</Y>
|
||||
<Y>652</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -331,7 +331,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -360,7 +360,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -389,7 +389,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -418,7 +418,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -447,7 +447,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -476,7 +476,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -505,7 +505,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -536,7 +536,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -550,7 +550,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -593,7 +593,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -607,7 +607,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1305,4 +1305,4 @@
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer6>
|
||||
</ScreenNames>
|
||||
</root>
|
||||
</root>
|
||||
@@ -32,7 +32,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>60</X>
|
||||
<Y>41</Y>
|
||||
<Y>43</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -47,7 +47,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -78,7 +78,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -92,7 +92,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -135,7 +135,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -149,7 +149,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -192,7 +192,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -206,7 +206,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -249,7 +249,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -263,7 +263,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -306,7 +306,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -320,7 +320,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -363,7 +363,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -377,7 +377,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -401,4 +401,4 @@
|
||||
</SReflection>
|
||||
</ButtonOptionsTheme>
|
||||
</ScreenOptions>
|
||||
</root>
|
||||
</root>
|
||||
@@ -128,7 +128,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -143,7 +143,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -157,7 +157,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -172,7 +172,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -186,7 +186,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -201,7 +201,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -215,7 +215,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -230,7 +230,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -244,7 +244,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -259,7 +259,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -273,7 +273,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -288,7 +288,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -302,7 +302,7 @@
|
||||
<Text7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -317,7 +317,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -348,7 +348,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -362,7 +362,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -788,4 +788,4 @@
|
||||
<NumVisible>3</NumVisible>
|
||||
</SelectSlideTimerMode>
|
||||
</ScreenOptionsGame>
|
||||
</root>
|
||||
</root>
|
||||
@@ -32,7 +32,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -47,7 +47,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -61,7 +61,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -76,7 +76,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -90,7 +90,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -105,7 +105,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -136,7 +136,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -150,7 +150,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -308,4 +308,4 @@
|
||||
<NumVisible>2</NumVisible>
|
||||
</SelectSlideLyricsPosition>
|
||||
</ScreenOptionsLyrics>
|
||||
</root>
|
||||
</root>
|
||||
@@ -160,7 +160,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>53</Y>
|
||||
<Y>55</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -175,7 +175,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -189,7 +189,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>104</Y>
|
||||
<Y>106</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -204,7 +204,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -218,7 +218,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -233,7 +233,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -247,7 +247,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -262,7 +262,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -276,7 +276,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -291,7 +291,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -305,7 +305,7 @@
|
||||
<TextWarning>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>535</Y>
|
||||
<Y>537</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -321,7 +321,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -335,7 +335,7 @@
|
||||
<TextDelayChannel1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>330</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -350,7 +350,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -364,7 +364,7 @@
|
||||
<TextDelayChannel2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>330</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -379,7 +379,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -410,7 +410,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>14</Y>
|
||||
<Y>16</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -424,7 +424,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -467,7 +467,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>14</Y>
|
||||
<Y>16</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -481,7 +481,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -559,7 +559,7 @@
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>27</TextH>
|
||||
<TextH>27,00</TextH>
|
||||
<!--<TextRelativeX>: Text relative x-position-->
|
||||
<!--<TextRelativeY>: Text relative y-position-->
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
@@ -626,7 +626,7 @@
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>27</TextH>
|
||||
<TextH>27,00</TextH>
|
||||
<!--<TextRelativeX>: Text relative x-position-->
|
||||
<!--<TextRelativeY>: Text relative y-position-->
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
@@ -693,7 +693,7 @@
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>27</TextH>
|
||||
<TextH>27,00</TextH>
|
||||
<!--<TextRelativeX>: Text relative x-position-->
|
||||
<!--<TextRelativeY>: Text relative y-position-->
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
@@ -760,7 +760,7 @@
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>27</TextH>
|
||||
<TextH>27,00</TextH>
|
||||
<!--<TextRelativeX>: Text relative x-position-->
|
||||
<!--<TextRelativeY>: Text relative y-position-->
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
@@ -835,4 +835,4 @@
|
||||
</Reflection>
|
||||
</EqualizerChannel2>
|
||||
</ScreenOptionsRecord>
|
||||
</root>
|
||||
</root>
|
||||
@@ -32,7 +32,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -47,7 +47,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -61,7 +61,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -76,7 +76,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -90,7 +90,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -105,7 +105,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -119,7 +119,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -134,7 +134,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -148,7 +148,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -163,7 +163,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -177,7 +177,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -192,7 +192,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -223,7 +223,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -237,7 +237,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -596,4 +596,4 @@
|
||||
<NumVisible>3</NumVisible>
|
||||
</SelectSlideGameMusicVolume>
|
||||
</ScreenOptionsSound>
|
||||
</root>
|
||||
</root>
|
||||
@@ -160,7 +160,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -175,7 +175,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -189,7 +189,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -204,7 +204,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -218,7 +218,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -233,7 +233,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -247,7 +247,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -262,7 +262,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -276,7 +276,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -291,7 +291,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -305,7 +305,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -320,7 +320,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -334,7 +334,7 @@
|
||||
<Text7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -349,7 +349,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -363,7 +363,7 @@
|
||||
<Text8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>465</Y>
|
||||
<Y>467</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -378,7 +378,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -392,7 +392,7 @@
|
||||
<Text9>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>525</Y>
|
||||
<Y>527</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -407,7 +407,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -438,7 +438,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -452,7 +452,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1012,4 +1012,4 @@
|
||||
<NumVisible>1</NumVisible>
|
||||
</SelectSlideCoverLoading>
|
||||
</ScreenOptionsTheme>
|
||||
</root>
|
||||
</root>
|
||||
@@ -96,7 +96,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -111,7 +111,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -125,7 +125,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -140,7 +140,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -154,7 +154,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -169,7 +169,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -183,7 +183,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -198,7 +198,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -212,7 +212,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -227,7 +227,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -241,7 +241,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -256,7 +256,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -270,7 +270,7 @@
|
||||
<Text7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -285,7 +285,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -316,7 +316,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -330,7 +330,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -756,4 +756,4 @@
|
||||
<NumVisible>3</NumVisible>
|
||||
</SelectSlideWebcamCapabilities>
|
||||
</ScreenOptionsVideo>
|
||||
</root>
|
||||
</root>
|
||||
@@ -32,7 +32,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -47,7 +47,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -61,7 +61,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<Y>107</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -76,7 +76,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -90,7 +90,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -105,7 +105,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -119,7 +119,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -134,7 +134,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -148,7 +148,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -163,7 +163,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -177,7 +177,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -192,7 +192,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -206,7 +206,7 @@
|
||||
<Text7>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -221,7 +221,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -235,7 +235,7 @@
|
||||
<Text8>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>465</Y>
|
||||
<Y>467</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -250,7 +250,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -264,7 +264,7 @@
|
||||
<TextDescription>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>165</Y>
|
||||
<Y>167</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -280,7 +280,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -294,7 +294,7 @@
|
||||
<TextTargetAudience>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>225</Y>
|
||||
<Y>227</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -310,7 +310,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -324,7 +324,7 @@
|
||||
<TextNumTeams>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -340,7 +340,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -354,7 +354,7 @@
|
||||
<TextNumPlayers>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -370,7 +370,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -384,7 +384,7 @@
|
||||
<TextAuthor>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -400,7 +400,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -414,7 +414,7 @@
|
||||
<TextVersion>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>465</Y>
|
||||
<Y>467</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -430,7 +430,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -444,7 +444,7 @@
|
||||
<TextError>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>850</X>
|
||||
<Y>525</Y>
|
||||
<Y>527</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -460,7 +460,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -491,7 +491,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -505,7 +505,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -548,7 +548,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -562,7 +562,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -653,4 +653,4 @@
|
||||
<NumVisible>1</NumVisible>
|
||||
</SelectSlideModes>
|
||||
</ScreenParty>
|
||||
</root>
|
||||
</root>
|
||||
@@ -128,7 +128,7 @@
|
||||
<Text1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>48</Y>
|
||||
<Y>50</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -143,7 +143,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -157,7 +157,7 @@
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>285</Y>
|
||||
<Y>287</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -172,7 +172,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -186,7 +186,7 @@
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>345</Y>
|
||||
<Y>347</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -201,7 +201,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -215,7 +215,7 @@
|
||||
<Text4>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>405</Y>
|
||||
<Y>407</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -230,7 +230,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -244,7 +244,7 @@
|
||||
<Text5>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>465</Y>
|
||||
<Y>467</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -259,7 +259,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -273,7 +273,7 @@
|
||||
<Text6>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>525</Y>
|
||||
<Y>527</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -288,7 +288,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -319,7 +319,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>355</X>
|
||||
<Y>8</Y>
|
||||
<Y>10</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -333,7 +333,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -368,7 +368,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -382,7 +382,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -425,7 +425,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -439,7 +439,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -482,7 +482,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -496,7 +496,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -539,7 +539,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -553,7 +553,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -596,7 +596,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -610,7 +610,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -653,7 +653,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -667,7 +667,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -702,7 +702,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -716,7 +716,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -751,7 +751,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -765,7 +765,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1124,4 +1124,4 @@
|
||||
<NumVisible>2</NumVisible>
|
||||
</SelectSlideActive>
|
||||
</ScreenProfiles>
|
||||
</root>
|
||||
</root>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -961,7 +961,7 @@
|
||||
<TextSongName>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>18</Y>
|
||||
<Y>20</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -977,7 +977,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -988,36 +988,6 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextSongName>
|
||||
<TextMedleyCountdown>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>18</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW />
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextMedleyCountdown>
|
||||
<TextTime>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1214</X>
|
||||
@@ -1036,7 +1006,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1065,7 +1035,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1094,7 +1064,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1123,7 +1093,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1134,6 +1104,35 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextDuetName2>
|
||||
<TextMedleyCountdown>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
<Y>20</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextMedleyCountdown>
|
||||
<TextScoreP1N1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1240</X>
|
||||
@@ -1152,7 +1151,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1184,7 +1183,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1213,7 +1212,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1245,7 +1244,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1274,7 +1273,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1306,7 +1305,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1335,7 +1334,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1367,7 +1366,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1396,7 +1395,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1428,7 +1427,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1457,7 +1456,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1489,7 +1488,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1518,7 +1517,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1550,7 +1549,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1579,7 +1578,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1611,7 +1610,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1640,7 +1639,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1672,7 +1671,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1701,7 +1700,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1733,7 +1732,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1762,7 +1761,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1794,7 +1793,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1823,7 +1822,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1855,7 +1854,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1884,7 +1883,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1916,7 +1915,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1945,7 +1944,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1977,7 +1976,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2006,7 +2005,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2038,7 +2037,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2067,7 +2066,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2099,7 +2098,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2128,7 +2127,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2160,7 +2159,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2189,7 +2188,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2221,7 +2220,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2250,7 +2249,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2282,7 +2281,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2311,7 +2310,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2343,7 +2342,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2372,7 +2371,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2404,7 +2403,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2435,7 +2434,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -2449,7 +2448,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2492,7 +2491,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -2506,7 +2505,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2549,7 +2548,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -2563,7 +2562,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2801,4 +2800,4 @@
|
||||
</BarPositions>
|
||||
</SingBars>
|
||||
</ScreenSing>
|
||||
</root>
|
||||
</root>
|
||||
@@ -91,7 +91,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -121,7 +121,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -151,7 +151,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -181,7 +181,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -211,7 +211,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -241,7 +241,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -255,7 +255,7 @@
|
||||
<TextCategory>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>220</X>
|
||||
<Y>610</Y>
|
||||
<Y>612</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -271,7 +271,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -289,7 +289,7 @@
|
||||
<TextSelection>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>825</X>
|
||||
<Y>610</Y>
|
||||
<Y>612</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -305,7 +305,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -323,7 +323,7 @@
|
||||
<TextSearchBarTitle>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>400</X>
|
||||
<Y>610</Y>
|
||||
<Y>612</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -338,7 +338,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Right</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -352,7 +352,7 @@
|
||||
<TextSearchBar>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>410</X>
|
||||
<Y>610</Y>
|
||||
<Y>612</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -367,7 +367,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -381,7 +381,7 @@
|
||||
<TextOptionsTitle>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>220</X>
|
||||
<Y>45</Y>
|
||||
<Y>47</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-2,11</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -397,7 +397,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -428,7 +428,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -442,7 +442,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -477,7 +477,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -491,7 +491,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -526,7 +526,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -540,7 +540,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -575,7 +575,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -589,7 +589,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -624,7 +624,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -638,7 +638,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -673,7 +673,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>20</Y>
|
||||
<Y>23</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>34</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -687,7 +687,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -722,7 +722,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -736,7 +736,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -771,7 +771,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -785,7 +785,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -820,7 +820,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -834,7 +834,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -869,7 +869,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -883,7 +883,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -918,7 +918,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -932,7 +932,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -967,7 +967,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -981,7 +981,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1016,7 +1016,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1030,7 +1030,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1065,7 +1065,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1079,7 +1079,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1114,7 +1114,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1128,7 +1128,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1163,7 +1163,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<Y>12</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>27</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1177,7 +1177,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1234,7 +1234,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1269,7 +1269,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -1283,7 +1283,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1630,7 +1630,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1660,7 +1660,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1690,7 +1690,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -1822,7 +1822,7 @@
|
||||
<TextPart1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>54</X>
|
||||
<Y>4</Y>
|
||||
<Y>5</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,01</Z>
|
||||
<!--<H>: Text height-->
|
||||
@@ -1838,13 +1838,13 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Top</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>%a - %t</Text>
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
@@ -1999,7 +1999,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2034,7 +2034,7 @@
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>180</X>
|
||||
<Y>5</Y>
|
||||
<Y>7</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>25</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
@@ -2048,7 +2048,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2097,7 +2097,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2146,7 +2146,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2195,7 +2195,7 @@
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<ResizeAlign>Center</ResizeAlign>
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
@@ -2212,4 +2212,4 @@
|
||||
</ButtonPlaylistSing>
|
||||
</Playlist>
|
||||
</ScreenSong>
|
||||
</root>
|
||||
</root>
|
||||
@@ -146,7 +146,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
|
||||
_Rand = rand;
|
||||
}
|
||||
|
||||
public CCombination GetNextCombination(List<int> playerNrDemand)
|
||||
public CCombination GetNextCombination(IEnumerable<int> playerNrDemand)
|
||||
{
|
||||
if (_Combs.Count == 0)
|
||||
_Create();
|
||||
|
||||
@@ -515,6 +515,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
|
||||
return false;
|
||||
}
|
||||
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (CSong song in visibleSongs)
|
||||
{
|
||||
foreach (EGameMode mode in song.AvailableGameModes)
|
||||
@@ -523,6 +524,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
|
||||
ids.Add(song.ID);
|
||||
}
|
||||
}
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
|
||||
if (ids.Count == 0)
|
||||
{
|
||||
|
||||
@@ -382,17 +382,8 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
|
||||
//Show profile only if active
|
||||
if (CBase.Profiles.GetProfiles()[i].Active == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
visible = true;
|
||||
|
||||
for (int p = 0; p < _Data.ScreenNames.ProfileIDs.Count; p++)
|
||||
{
|
||||
//Don't show profile if is selected
|
||||
if (_Data.ScreenNames.ProfileIDs[p] == i)
|
||||
{
|
||||
visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Don't show profile if is selected
|
||||
visible = !_Data.ScreenNames.ProfileIDs.Contains(i);
|
||||
}
|
||||
if (visible)
|
||||
_PlayerChooseButtonsVisibleProfiles.Add(i);
|
||||
|
||||
@@ -658,7 +658,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
||||
for (int i = 0; i < CBase.Playlist.GetPlaylistSongCount(_GameData.PlaylistID); i++)
|
||||
{
|
||||
int id = CBase.Playlist.GetPlaylistSong(_GameData.PlaylistID, i).SongID;
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (EGameMode mode in CBase.Songs.GetSongByID(id).AvailableGameModes)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (mode == gm)
|
||||
songs.Add(id);
|
||||
@@ -669,7 +671,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
||||
case ESongSource.TR_ALLSONGS:
|
||||
for (int i = 0; i < CBase.Songs.GetNumSongs(); i++)
|
||||
{
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (EGameMode mode in CBase.Songs.GetSongByID(i).AvailableGameModes)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (mode == gm)
|
||||
songs.Add(i);
|
||||
@@ -681,7 +685,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
|
||||
CBase.Songs.SetCategory(_GameData.CategoryID);
|
||||
for (int i = 0; i < CBase.Songs.NumSongsInCategory(_GameData.CategoryID); i++)
|
||||
{
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (EGameMode mode in CBase.Songs.GetVisibleSong(i).AvailableGameModes)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (mode == gm)
|
||||
songs.Add(CBase.Songs.GetVisibleSong(i).ID);
|
||||
|
||||
+4
-1
@@ -1,6 +1,6 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Express 2012 for Windows Desktop
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vocaluxe", "Vocaluxe\Vocaluxe.csproj", "{2A1E0F2D-5392-4BB7-B0A1-A9DFA13E79FF}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6F3E1874-F28A-40E9-AFBD-31934D593678} = {6F3E1874-F28A-40E9-AFBD-31934D593678}
|
||||
@@ -128,4 +128,7 @@ Global
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(Performance) = preSolution
|
||||
HasPerformanceSessions = true
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -24,6 +24,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Songs;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -39,7 +40,7 @@ namespace Vocaluxe.Base
|
||||
private static readonly List<CPlaylistElement> _PreviousFileNames = new List<CPlaylistElement>();
|
||||
|
||||
private static int _Video = -1;
|
||||
private static STexture _CurrentVideoTexture = new STexture(-1);
|
||||
private static CTexture _CurrentVideoTexture;
|
||||
private static readonly Stopwatch _FadeTimer = new Stopwatch();
|
||||
private static bool _VideoEnabled;
|
||||
|
||||
@@ -118,7 +119,7 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public static STexture Cover
|
||||
public static CTexture Cover
|
||||
{
|
||||
get { return _CurrentPlaylistElement.Cover; }
|
||||
}
|
||||
@@ -155,7 +156,7 @@ namespace Vocaluxe.Base
|
||||
CSound.Fade(_CurrentMusicStream, 100f, CSettings.BackgroundMusicFadeTime);
|
||||
CSound.Play(_CurrentMusicStream);
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
CVideo.VdResume(_Video);
|
||||
CVideo.Resume(_Video);
|
||||
IsPlaying = true;
|
||||
}
|
||||
else
|
||||
@@ -173,7 +174,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
{
|
||||
CVideo.VdClose(_Video);
|
||||
CVideo.Close(_Video);
|
||||
CDraw.RemoveTexture(ref _CurrentVideoTexture);
|
||||
_Video = -1;
|
||||
}
|
||||
@@ -191,8 +192,8 @@ namespace Vocaluxe.Base
|
||||
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
{
|
||||
CVideo.VdPause(_Video);
|
||||
CVideo.VdSkip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Pause(_Video);
|
||||
CVideo.Skip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap);
|
||||
}
|
||||
CSound.FadeAndPause(_CurrentMusicStream, 0f, CSettings.BackgroundMusicFadeTime);
|
||||
IsPlaying = false;
|
||||
@@ -221,9 +222,9 @@ namespace Vocaluxe.Base
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
{
|
||||
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
|
||||
CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
else
|
||||
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -287,9 +288,9 @@ namespace Vocaluxe.Base
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
{
|
||||
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
|
||||
CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
else
|
||||
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -319,9 +320,9 @@ namespace Vocaluxe.Base
|
||||
if (_VideoEnabled && _Video != -1)
|
||||
{
|
||||
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
|
||||
CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
else
|
||||
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -441,14 +442,14 @@ namespace Vocaluxe.Base
|
||||
if (_VideoEnabled)
|
||||
{
|
||||
_VideoEnabled = false;
|
||||
CVideo.VdClose(_Video);
|
||||
CVideo.Close(_Video);
|
||||
_Video = -1;
|
||||
CDraw.RemoveTexture(ref _CurrentVideoTexture);
|
||||
return;
|
||||
}
|
||||
if (CVideo.VdFinished(_Video))
|
||||
if (CVideo.Finished(_Video))
|
||||
{
|
||||
CVideo.VdClose(_Video);
|
||||
CVideo.Close(_Video);
|
||||
CDraw.RemoveTexture(ref _CurrentVideoTexture);
|
||||
_Video = -1;
|
||||
}
|
||||
@@ -457,22 +458,24 @@ namespace Vocaluxe.Base
|
||||
_LoadVideo();
|
||||
}
|
||||
|
||||
public static STexture GetVideoTexture()
|
||||
public static CTexture GetVideoTexture()
|
||||
{
|
||||
if (_Video != -1)
|
||||
{
|
||||
float vtime;
|
||||
CVideo.VdGetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime);
|
||||
if (_FadeTimer.ElapsedMilliseconds <= 3000L)
|
||||
_CurrentVideoTexture.Color.A = _FadeTimer.ElapsedMilliseconds / 3000f;
|
||||
else
|
||||
if (CVideo.GetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime))
|
||||
{
|
||||
_CurrentVideoTexture.Color.A = 1f;
|
||||
_FadeTimer.Stop();
|
||||
if (_FadeTimer.ElapsedMilliseconds <= 3000L)
|
||||
_CurrentVideoTexture.Color.A = _FadeTimer.ElapsedMilliseconds / 3000f;
|
||||
else
|
||||
{
|
||||
_CurrentVideoTexture.Color.A = 1f;
|
||||
_FadeTimer.Stop();
|
||||
}
|
||||
return _CurrentVideoTexture;
|
||||
}
|
||||
return _CurrentVideoTexture;
|
||||
}
|
||||
return new STexture(-1);
|
||||
return null;
|
||||
}
|
||||
|
||||
private static bool _IsBackgroundFile(CPlaylistElement element)
|
||||
@@ -484,11 +487,11 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
if (_Video == -1)
|
||||
{
|
||||
_Video = CVideo.VdLoad(_CurrentPlaylistElement.VideoFilePath);
|
||||
_Video = CVideo.Load(_CurrentPlaylistElement.VideoFilePath);
|
||||
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
|
||||
CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
|
||||
else
|
||||
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
|
||||
_VideoEnabled = true;
|
||||
_FadeTimer.Reset();
|
||||
_FadeTimer.Start();
|
||||
@@ -576,7 +579,7 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public STexture Cover
|
||||
public CTexture Cover
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
@@ -29,7 +29,6 @@ using System.Xml;
|
||||
using Vocaluxe.Lib.Sound;
|
||||
using Vocaluxe.Lib.Webcam;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Profile;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
@@ -843,13 +842,13 @@ namespace Vocaluxe.Base
|
||||
CGame.Players[j].ProfileID = -1;
|
||||
if (Players[j] == "" || profiles == null)
|
||||
continue;
|
||||
|
||||
for (int i = 0; i < profiles.Length; i++)
|
||||
|
||||
foreach (CProfile profile in profiles)
|
||||
{
|
||||
if (Path.GetFileName(profiles[i].FileName) == Players[j] && profiles[i].Active == EOffOn.TR_CONFIG_ON)
|
||||
if (Path.GetFileName(profile.FileName) == Players[j] && profile.Active == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
//Update Game-infos with player
|
||||
CGame.Players[j].ProfileID = profiles[i].ID;
|
||||
CGame.Players[j].ProfileID = profile.ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Vocaluxe.Base.Server;
|
||||
using Vocaluxe.Lib.Input;
|
||||
using Vocaluxe.Lib.Input.WiiMote;
|
||||
@@ -39,22 +37,18 @@ namespace Vocaluxe.Base
|
||||
_Controller = new List<IController>();
|
||||
_KeysPool = new List<SKeyEvent>();
|
||||
_MousePool = new List<SMouseEvent>();
|
||||
|
||||
|
||||
_Controller.Add(new CWiiMote());
|
||||
_Controller.Add(CVocaluxeServer.Controller);
|
||||
|
||||
foreach (IController controller in _Controller)
|
||||
{
|
||||
controller.Init();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Close()
|
||||
{
|
||||
foreach (IController controller in _Controller)
|
||||
{
|
||||
controller.Close();
|
||||
}
|
||||
|
||||
_Controller = new List<IController>();
|
||||
}
|
||||
@@ -62,17 +56,13 @@ namespace Vocaluxe.Base
|
||||
public static void Connect()
|
||||
{
|
||||
foreach (IController controller in _Controller)
|
||||
{
|
||||
controller.Connect();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Disconnect()
|
||||
{
|
||||
foreach (IController controller in _Controller)
|
||||
{
|
||||
controller.Disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsConnected()
|
||||
@@ -89,17 +79,12 @@ namespace Vocaluxe.Base
|
||||
|
||||
SKeyEvent ke = new SKeyEvent();
|
||||
while (controller.PollKeyEvent(ref ke))
|
||||
{
|
||||
_KeysPool.Add(ke);
|
||||
}
|
||||
|
||||
SMouseEvent me = new SMouseEvent();
|
||||
while (controller.PollMouseEvent(ref me))
|
||||
{
|
||||
_MousePool.Add(me);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static bool PollKeyEvent(ref SKeyEvent keyEvent)
|
||||
@@ -127,9 +112,7 @@ namespace Vocaluxe.Base
|
||||
public static void SetRumble(float duration)
|
||||
{
|
||||
foreach (IController controller in _Controller)
|
||||
{
|
||||
controller.SetRumble(duration);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
-39
@@ -24,15 +24,14 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
struct SCover
|
||||
{
|
||||
public string Name;
|
||||
public string Value;
|
||||
public STexture Texture;
|
||||
public CTexture Texture;
|
||||
}
|
||||
|
||||
struct SCoverTheme
|
||||
@@ -47,14 +46,10 @@ namespace Vocaluxe.Base
|
||||
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings();
|
||||
private static readonly List<SCover> _Cover = new List<SCover>();
|
||||
private static readonly List<SCoverTheme> _CoverThemes = new List<SCoverTheme>();
|
||||
private static STexture _NoCover = new STexture(-1);
|
||||
|
||||
private static readonly Object _MutexCover = new Object();
|
||||
|
||||
public static STexture NoCover
|
||||
{
|
||||
get { return _NoCover; }
|
||||
}
|
||||
public static CTexture NoCover { get; private set; }
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
@@ -98,21 +93,17 @@ namespace Vocaluxe.Base
|
||||
/// <summary>
|
||||
/// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist.
|
||||
/// </summary>
|
||||
public static STexture Cover(string name)
|
||||
public static CTexture Cover(string name)
|
||||
{
|
||||
STexture cov = _NoCover;
|
||||
lock (_MutexCover)
|
||||
{
|
||||
foreach (SCover cover in _Cover)
|
||||
{
|
||||
if (cover.Name == name)
|
||||
{
|
||||
cov = cover.Texture;
|
||||
break;
|
||||
}
|
||||
return cover.Texture;
|
||||
}
|
||||
}
|
||||
return cov;
|
||||
return NoCover;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -133,7 +124,7 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
foreach (SCover cover in _Cover)
|
||||
{
|
||||
STexture texture = cover.Texture;
|
||||
CTexture texture = cover.Texture;
|
||||
CDraw.RemoveTexture(ref texture);
|
||||
}
|
||||
_Cover.Clear();
|
||||
@@ -145,16 +136,12 @@ namespace Vocaluxe.Base
|
||||
/// </summary>
|
||||
private static SCoverTheme _CoverTheme(string coverThemeName)
|
||||
{
|
||||
SCoverTheme coverTheme = new SCoverTheme();
|
||||
for (int i = 0; i < _CoverThemes.Count; i++)
|
||||
{
|
||||
if (_CoverThemes[i].Name == coverThemeName)
|
||||
{
|
||||
coverTheme = _CoverThemes[i];
|
||||
break;
|
||||
}
|
||||
return _CoverThemes[i];
|
||||
}
|
||||
return coverTheme;
|
||||
return new SCoverTheme();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -195,7 +182,7 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
SCoverTheme coverTheme = _CoverTheme(coverThemeName);
|
||||
|
||||
if (coverTheme.Name == "")
|
||||
if (String.IsNullOrEmpty(coverTheme.Name))
|
||||
return;
|
||||
CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(CSettings.FolderCover, coverTheme.File));
|
||||
|
||||
@@ -207,31 +194,30 @@ namespace Vocaluxe.Base
|
||||
List<string> cover = xmlReader.GetValues("Cover");
|
||||
foreach (string coverName in cover)
|
||||
{
|
||||
SCover sk = new SCover();
|
||||
string name;
|
||||
string value;
|
||||
string filePath;
|
||||
xmlReader.GetValue("//root/Cover/" + coverName + "/Name", out name, String.Empty);
|
||||
xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out value, String.Empty);
|
||||
sk.Name = name;
|
||||
sk.Value = Path.Combine(coverTheme.Folder, value);
|
||||
sk.Texture = File.Exists(Path.Combine(CSettings.FolderCover, sk.Value))
|
||||
? CDraw.AddTexture(Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, value))) : _NoCover;
|
||||
xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out filePath, String.Empty);
|
||||
string coverFilePath = Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, filePath));
|
||||
if (!File.Exists(coverFilePath))
|
||||
continue;
|
||||
SCover sk = new SCover {Name = name, Texture = CDraw.AddTexture(coverFilePath)};
|
||||
|
||||
_Cover.Add(sk);
|
||||
|
||||
if (sk.Name == "NoCover")
|
||||
_NoCover = sk.Texture;
|
||||
NoCover = sk.Texture;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<string> files = new List<string>();
|
||||
|
||||
string path = Path.Combine(CSettings.FolderCover, coverTheme.Folder);
|
||||
files.AddRange(CHelper.ListFiles(path, "*.png", true, true));
|
||||
files.AddRange(CHelper.ListFiles(path, "*.jpg", true, true));
|
||||
files.AddRange(CHelper.ListFiles(path, "*.jpeg", true, true));
|
||||
files.AddRange(CHelper.ListFiles(path, "*.bmp", true, true));
|
||||
string coverPath = Path.Combine(CSettings.FolderCover, coverTheme.Folder);
|
||||
files.AddRange(CHelper.ListFiles(coverPath, "*.png", true, true));
|
||||
files.AddRange(CHelper.ListFiles(coverPath, "*.jpg", true, true));
|
||||
files.AddRange(CHelper.ListFiles(coverPath, "*.jpeg", true, true));
|
||||
files.AddRange(CHelper.ListFiles(coverPath, "*.bmp", true, true));
|
||||
|
||||
|
||||
foreach (string file in files)
|
||||
@@ -241,11 +227,9 @@ namespace Vocaluxe.Base
|
||||
if (_CoverExists(name))
|
||||
continue;
|
||||
// ReSharper disable AssignNullToNotNullAttribute
|
||||
SCover sk = new SCover {Name = name, Value = Path.Combine(coverTheme.Folder, Path.GetFileName(file))};
|
||||
SCover sk = new SCover {Name = name, Texture = CDraw.AddTexture(file)};
|
||||
// ReSharper restore AssignNullToNotNullAttribute
|
||||
|
||||
sk.Texture = CDraw.AddTexture(Path.Combine(CSettings.FolderCover, sk.Value));
|
||||
|
||||
_Cover.Add(sk);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
class CCursor
|
||||
{
|
||||
private readonly Stopwatch _CursorFadingTimer = new Stopwatch();
|
||||
private float _CursorTargetAlpha = 1f;
|
||||
private float _CursorStartAlpha;
|
||||
private float _CursorFadingTime = 0.5f;
|
||||
private CTexture _Cursor;
|
||||
|
||||
private readonly Stopwatch _Movetimer = new Stopwatch();
|
||||
|
||||
public bool ShowCursor = true;
|
||||
public bool Visible = true;
|
||||
|
||||
public int X
|
||||
{
|
||||
get { return (int)_Cursor.Rect.X; }
|
||||
}
|
||||
|
||||
public int Y
|
||||
{
|
||||
get { return (int)_Cursor.Rect.Y; }
|
||||
}
|
||||
|
||||
public bool IsActive
|
||||
{
|
||||
get { return _Movetimer.IsRunning; }
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
if (_Movetimer.IsRunning && _Movetimer.ElapsedMilliseconds / 1000f > CSettings.MouseMoveOffTime)
|
||||
{
|
||||
_Movetimer.Stop();
|
||||
_Fade(0f, 0.5f);
|
||||
}
|
||||
|
||||
|
||||
if (_CursorFadingTimer.IsRunning)
|
||||
{
|
||||
float t = _CursorFadingTimer.ElapsedMilliseconds / 1000f;
|
||||
if (t < _CursorFadingTime)
|
||||
{
|
||||
if (_CursorTargetAlpha >= _CursorStartAlpha)
|
||||
_Cursor.Color.A = _CursorStartAlpha + (_CursorTargetAlpha - _CursorStartAlpha) * t / _CursorFadingTime;
|
||||
else
|
||||
_Cursor.Color.A = (_CursorStartAlpha - _CursorTargetAlpha) * (1f - t / _CursorFadingTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
_CursorFadingTimer.Stop();
|
||||
_Cursor.Color.A = _CursorTargetAlpha;
|
||||
}
|
||||
}
|
||||
|
||||
if (Visible && (CSettings.GameState == EGameState.EditTheme || ShowCursor))
|
||||
CDraw.DrawTexture(_Cursor);
|
||||
}
|
||||
|
||||
public void UpdatePosition(int x, int y)
|
||||
{
|
||||
if (Math.Abs(_Cursor.Rect.X - x) > CSettings.MouseMoveDiffMin ||
|
||||
Math.Abs(_Cursor.Rect.Y - y) > CSettings.MouseMoveDiffMin)
|
||||
{
|
||||
if (_CursorTargetAlpha < 0.01)
|
||||
_Fade(1f, 0.2f);
|
||||
|
||||
_Movetimer.Reset();
|
||||
_Movetimer.Start();
|
||||
CSettings.MouseActive();
|
||||
}
|
||||
|
||||
_Cursor.Rect.X = x;
|
||||
_Cursor.Rect.Y = y;
|
||||
}
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
_Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(CTheme.Cursor.SkinName, -1));
|
||||
|
||||
_Cursor.Color = !String.IsNullOrEmpty(CTheme.Cursor.Color)
|
||||
? CTheme.GetColor(CTheme.Cursor.Color, -1) : new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A);
|
||||
_Cursor.Rect.W = CTheme.Cursor.W;
|
||||
_Cursor.Rect.H = CTheme.Cursor.H;
|
||||
_Cursor.Rect.Z = CSettings.ZNear;
|
||||
}
|
||||
|
||||
public void UnloadTextures()
|
||||
{
|
||||
CDraw.RemoveTexture(ref _Cursor);
|
||||
}
|
||||
|
||||
public void ReloadTextures()
|
||||
{
|
||||
int x = X;
|
||||
int y = Y;
|
||||
UnloadTextures();
|
||||
LoadTextures();
|
||||
UpdatePosition(x, y);
|
||||
}
|
||||
|
||||
public void FadeOut()
|
||||
{
|
||||
_Movetimer.Stop();
|
||||
_Fade(0f, 0.5f);
|
||||
}
|
||||
|
||||
public void FadeIn()
|
||||
{
|
||||
_Movetimer.Reset();
|
||||
_Movetimer.Start();
|
||||
_Fade(1f, 0.2f);
|
||||
}
|
||||
|
||||
private void _Fade(float targetAlpha, float time)
|
||||
{
|
||||
_CursorFadingTimer.Stop();
|
||||
_CursorFadingTimer.Reset();
|
||||
|
||||
if (targetAlpha >= 0f && targetAlpha <= 1f)
|
||||
_CursorTargetAlpha = targetAlpha;
|
||||
else
|
||||
_CursorTargetAlpha = 1f;
|
||||
|
||||
if (time >= 0f)
|
||||
_CursorFadingTime = time;
|
||||
|
||||
_CursorStartAlpha = _Cursor.Color.A;
|
||||
_CursorFadingTimer.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,6 +37,7 @@ using SQLiteDataReader = Mono.Data.Sqlite.SqliteDataReader;
|
||||
using Community.CsharpSqlite;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Songs;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -912,7 +913,7 @@ namespace Vocaluxe.Base
|
||||
#endregion Highscores
|
||||
|
||||
#region Cover
|
||||
public static bool GetCover(string coverPath, ref STexture tex, int maxSize)
|
||||
public static bool GetCover(string coverPath, ref CTexture tex, int maxSize)
|
||||
{
|
||||
if (!File.Exists(coverPath))
|
||||
{
|
||||
@@ -1141,7 +1142,7 @@ namespace Vocaluxe.Base
|
||||
#endregion Cover
|
||||
|
||||
#region CreditsRessources
|
||||
public static bool GetCreditsRessource(string fileName, ref STexture tex)
|
||||
public static bool GetCreditsRessource(string fileName, ref CTexture tex)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
|
||||
+25
-19
@@ -21,6 +21,7 @@ using System;
|
||||
using System.Drawing;
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
@@ -125,12 +126,12 @@ namespace Vocaluxe.Base
|
||||
_Draw.ClearScreen();
|
||||
}
|
||||
|
||||
public static STexture CopyScreen()
|
||||
public static CTexture CopyScreen()
|
||||
{
|
||||
return _Draw.CopyScreen();
|
||||
}
|
||||
|
||||
public static void CopyScreen(ref STexture texture)
|
||||
public static void CopyScreen(ref CTexture texture)
|
||||
{
|
||||
_Draw.CopyScreen(ref texture);
|
||||
}
|
||||
@@ -140,75 +141,80 @@ namespace Vocaluxe.Base
|
||||
_Draw.MakeScreenShot();
|
||||
}
|
||||
|
||||
public static STexture AddTexture(Bitmap bitmap)
|
||||
public static CTexture AddTexture(Bitmap bitmap)
|
||||
{
|
||||
return _Draw.AddTexture(bitmap);
|
||||
}
|
||||
|
||||
public static STexture AddTexture(string texturePath)
|
||||
public static CTexture AddTexture(string texturePath)
|
||||
{
|
||||
return _Draw.AddTexture(texturePath);
|
||||
}
|
||||
|
||||
public static STexture AddTexture(int w, int h, byte[] data)
|
||||
public static CTexture AddTexture(int w, int h, byte[] data)
|
||||
{
|
||||
return _Draw.AddTexture(w, h, data);
|
||||
}
|
||||
|
||||
public static STexture EnqueueTexture(int w, int h, byte[] data)
|
||||
public static CTexture EnqueueTexture(int w, int h, byte[] data)
|
||||
{
|
||||
return _Draw.EnqueueTexture(w, h, data);
|
||||
}
|
||||
|
||||
public static bool UpdateTexture(ref STexture texture, byte[] data)
|
||||
public static bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
return _Draw.UpdateTexture(ref texture, data);
|
||||
return _Draw.UpdateTexture(texture, w, h, data);
|
||||
}
|
||||
|
||||
public static void RemoveTexture(ref STexture texture)
|
||||
public static bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
return _Draw.UpdateOrAddTexture(ref texture, w, h, data);
|
||||
}
|
||||
|
||||
public static void RemoveTexture(ref CTexture texture)
|
||||
{
|
||||
_Draw.RemoveTexture(ref texture);
|
||||
}
|
||||
|
||||
public static void DrawTexture(STexture texture)
|
||||
public static void DrawTexture(CTexture texture)
|
||||
{
|
||||
_Draw.DrawTexture(texture);
|
||||
}
|
||||
|
||||
public static void DrawTexture(STexture texture, SRectF rect)
|
||||
public static void DrawTexture(CTexture texture, SRectF rect)
|
||||
{
|
||||
_Draw.DrawTexture(texture, rect);
|
||||
}
|
||||
|
||||
public static void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
{
|
||||
_Draw.DrawTexture(texture, rect, color, mirrored);
|
||||
}
|
||||
|
||||
public static void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
{
|
||||
_Draw.DrawTexture(texture, rect, color, bounds, mirrored);
|
||||
}
|
||||
|
||||
public static void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end)
|
||||
public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end)
|
||||
{
|
||||
_Draw.DrawTexture(texture, rect, color, begin, end);
|
||||
}
|
||||
|
||||
public static void DrawTexture(CStatic staticBounds, STexture texture, EAspect aspect)
|
||||
public static void DrawTexture(CStatic staticBounds, CTexture texture, EAspect aspect)
|
||||
{
|
||||
if (texture.Height <= 0f)
|
||||
if (texture == null)
|
||||
return;
|
||||
|
||||
RectangleF bounds = new RectangleF(staticBounds.Rect.X, staticBounds.Rect.Y, staticBounds.Rect.W, staticBounds.Rect.H);
|
||||
RectangleF rect = new RectangleF(0f, 0f, texture.Width, texture.Height);
|
||||
RectangleF rect;
|
||||
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, aspect);
|
||||
CHelper.SetRect(bounds, out rect, texture.OrigAspect, aspect);
|
||||
DrawTexture(texture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, staticBounds.Rect.Z),
|
||||
texture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f));
|
||||
}
|
||||
|
||||
public static void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
|
||||
public static void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
|
||||
{
|
||||
_Draw.DrawTextureReflection(texture, rect, color, bounds, space, height);
|
||||
}
|
||||
|
||||
+5
-172
@@ -30,152 +30,11 @@ using VocaluxeLib.PartyModes;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
class CCursor
|
||||
{
|
||||
private readonly Stopwatch _CursorFadingTimer;
|
||||
private float _CursorTargetAlpha;
|
||||
private float _CursorStartAlpha;
|
||||
private float _CursorFadingTime;
|
||||
private STexture _Cursor;
|
||||
private readonly string _CursorName = String.Empty;
|
||||
|
||||
private readonly Stopwatch _Movetimer;
|
||||
|
||||
public bool ShowCursor;
|
||||
public bool Visible = true;
|
||||
public bool CursorVisible = true;
|
||||
|
||||
public int X
|
||||
{
|
||||
get { return (int)_Cursor.Rect.X; }
|
||||
set { UpdatePosition(value, (int)_Cursor.Rect.Y); }
|
||||
}
|
||||
|
||||
public int Y
|
||||
{
|
||||
get { return (int)_Cursor.Rect.Y; }
|
||||
set { UpdatePosition((int)_Cursor.Rect.X, value); }
|
||||
}
|
||||
|
||||
public bool IsActive
|
||||
{
|
||||
get { return _Movetimer.IsRunning; }
|
||||
}
|
||||
|
||||
public CCursor(string textureName, SColorF color, float w, float h, float z)
|
||||
{
|
||||
_CursorFadingTimer = new Stopwatch();
|
||||
ShowCursor = true;
|
||||
_CursorTargetAlpha = 1f;
|
||||
_CursorStartAlpha = 0f;
|
||||
_CursorFadingTime = 0.5f;
|
||||
|
||||
_CursorName = textureName;
|
||||
_Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(_CursorName, -1));
|
||||
|
||||
_Cursor.Color = color;
|
||||
_Cursor.Rect.W = w;
|
||||
_Cursor.Rect.H = h;
|
||||
_Cursor.Rect.Z = z;
|
||||
|
||||
_Movetimer = new Stopwatch();
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
if (_Movetimer.IsRunning && _Movetimer.ElapsedMilliseconds / 1000f > CSettings.MouseMoveOffTime)
|
||||
{
|
||||
_Movetimer.Stop();
|
||||
_Fade(0f, 0.5f);
|
||||
}
|
||||
|
||||
|
||||
if (_CursorFadingTimer.IsRunning)
|
||||
{
|
||||
float t = _CursorFadingTimer.ElapsedMilliseconds / 1000f;
|
||||
if (t < _CursorFadingTime)
|
||||
{
|
||||
if (_CursorTargetAlpha >= _CursorStartAlpha)
|
||||
_Cursor.Color.A = _CursorStartAlpha + (_CursorTargetAlpha - _CursorStartAlpha) * t / _CursorFadingTime;
|
||||
else
|
||||
_Cursor.Color.A = (_CursorStartAlpha - _CursorTargetAlpha) * (1f - t / _CursorFadingTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
_CursorFadingTimer.Stop();
|
||||
_Cursor.Color.A = _CursorTargetAlpha;
|
||||
}
|
||||
}
|
||||
|
||||
if (CursorVisible && (CSettings.GameState == EGameState.EditTheme || ShowCursor))
|
||||
CDraw.DrawTexture(_Cursor);
|
||||
}
|
||||
|
||||
public void UpdatePosition(int x, int y)
|
||||
{
|
||||
if (Math.Abs(_Cursor.Rect.X - x) > CSettings.MouseMoveDiffMin ||
|
||||
Math.Abs(_Cursor.Rect.Y - y) > CSettings.MouseMoveDiffMin)
|
||||
{
|
||||
if (_CursorTargetAlpha < 0.01)
|
||||
_Fade(1f, 0.2f);
|
||||
|
||||
_Movetimer.Reset();
|
||||
_Movetimer.Start();
|
||||
CSettings.MouseActive();
|
||||
}
|
||||
|
||||
_Cursor.Rect.X = x;
|
||||
_Cursor.Rect.Y = y;
|
||||
}
|
||||
|
||||
public void UnloadTextures()
|
||||
{
|
||||
CDraw.RemoveTexture(ref _Cursor);
|
||||
}
|
||||
|
||||
public void ReloadTextures()
|
||||
{
|
||||
UnloadTextures();
|
||||
|
||||
_Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(_CursorName, -1));
|
||||
}
|
||||
|
||||
public void FadeOut()
|
||||
{
|
||||
_Movetimer.Stop();
|
||||
_Fade(0f, 0.5f);
|
||||
}
|
||||
|
||||
public void FadeIn()
|
||||
{
|
||||
_Movetimer.Reset();
|
||||
_Movetimer.Start();
|
||||
_Fade(1f, 0.2f);
|
||||
}
|
||||
|
||||
private void _Fade(float targetAlpha, float time)
|
||||
{
|
||||
_CursorFadingTimer.Stop();
|
||||
_CursorFadingTimer.Reset();
|
||||
|
||||
if (targetAlpha >= 0f && targetAlpha <= 1f)
|
||||
_CursorTargetAlpha = targetAlpha;
|
||||
else
|
||||
_CursorTargetAlpha = 1f;
|
||||
|
||||
if (time >= 0f)
|
||||
_CursorFadingTime = time;
|
||||
|
||||
_CursorStartAlpha = _Cursor.Color.A;
|
||||
_CursorFadingTimer.Start();
|
||||
}
|
||||
}
|
||||
|
||||
static class CGraphics
|
||||
{
|
||||
private static bool _Fading;
|
||||
private static Stopwatch _FadingTimer;
|
||||
private static CCursor _Cursor;
|
||||
private static readonly CCursor _Cursor = new CCursor();
|
||||
private static float _GlobalAlpha;
|
||||
private static float _ZOffset;
|
||||
|
||||
@@ -252,12 +111,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static void LoadTheme()
|
||||
{
|
||||
_Cursor = new CCursor(
|
||||
CTheme.Cursor.SkinName,
|
||||
new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A),
|
||||
CTheme.Cursor.W,
|
||||
CTheme.Cursor.H,
|
||||
CSettings.ZNear);
|
||||
_Cursor.LoadTextures();
|
||||
|
||||
for (int i = 0; i < _Screens.Count; i++)
|
||||
{
|
||||
@@ -276,7 +130,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static void ReloadTheme()
|
||||
{
|
||||
_ReloadCursor();
|
||||
_Cursor.ReloadTextures();
|
||||
foreach (IMenu screen in _Screens)
|
||||
screen.ReloadTheme(CTheme.GetThemeScreensPath(-1));
|
||||
|
||||
@@ -286,7 +140,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static void ReloadSkin()
|
||||
{
|
||||
_ReloadCursor();
|
||||
_Cursor.ReloadTextures();
|
||||
foreach (IMenu menu in _Screens)
|
||||
menu.ReloadTextures();
|
||||
|
||||
@@ -313,7 +167,7 @@ namespace Vocaluxe.Base
|
||||
public static bool UpdateGameLogic(CKeys keys, CMouse mouse)
|
||||
{
|
||||
bool run = true;
|
||||
_Cursor.CursorVisible = mouse.Visible;
|
||||
_Cursor.Visible = mouse.Visible;
|
||||
|
||||
mouse.CopyEvents();
|
||||
keys.CopyEvents();
|
||||
@@ -783,27 +637,6 @@ namespace Vocaluxe.Base
|
||||
y += rect.Height;
|
||||
}
|
||||
}
|
||||
|
||||
private static void _ReloadCursor()
|
||||
{
|
||||
_Cursor.UnloadTextures();
|
||||
|
||||
if (CTheme.Cursor.Color != "")
|
||||
{
|
||||
SColorF color = CTheme.GetColor(CTheme.Cursor.Color, -1);
|
||||
CTheme.Cursor.R = color.R;
|
||||
CTheme.Cursor.G = color.G;
|
||||
CTheme.Cursor.B = color.B;
|
||||
CTheme.Cursor.A = color.A;
|
||||
}
|
||||
|
||||
_Cursor = new CCursor(
|
||||
CTheme.Cursor.SkinName,
|
||||
new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A),
|
||||
CTheme.Cursor.W,
|
||||
CTheme.Cursor.H,
|
||||
CSettings.ZNear);
|
||||
}
|
||||
#endregion private stuff
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
|
||||
+18
-18
@@ -24,8 +24,8 @@ using System.Drawing;
|
||||
using Vocaluxe.Base.Fonts;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.Songs;
|
||||
using VocaluxeLib.Profile;
|
||||
|
||||
@@ -233,12 +233,12 @@ namespace Vocaluxe.Base
|
||||
return CTheme.GetSkinIndex(partyModeID);
|
||||
}
|
||||
|
||||
public STexture GetSkinTexture(string textureName, int partyModeID)
|
||||
public CTexture GetSkinTexture(string textureName, int partyModeID)
|
||||
{
|
||||
return CTheme.GetSkinTexture(textureName, partyModeID);
|
||||
}
|
||||
|
||||
public STexture GetSkinVideoTexture(string videoName, int partyModeID)
|
||||
public CTexture GetSkinVideoTexture(string videoName, int partyModeID)
|
||||
{
|
||||
return CTheme.GetSkinVideoTexture(videoName, partyModeID);
|
||||
}
|
||||
@@ -341,7 +341,7 @@ namespace Vocaluxe.Base
|
||||
CBackgroundMusic.ApplyVolume();
|
||||
}
|
||||
|
||||
public STexture GetVideoTexture()
|
||||
public CTexture GetVideoTexture()
|
||||
{
|
||||
return CBackgroundMusic.GetVideoTexture();
|
||||
}
|
||||
@@ -349,32 +349,32 @@ namespace Vocaluxe.Base
|
||||
|
||||
class CBdraw : IDrawing
|
||||
{
|
||||
public void DrawTexture(STexture texture, SRectF rect)
|
||||
public void DrawTexture(CTexture texture, SRectF rect)
|
||||
{
|
||||
CDraw.DrawTexture(texture, rect);
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color)
|
||||
{
|
||||
CDraw.DrawTexture(texture, rect, color);
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
{
|
||||
CDraw.DrawTexture(texture, rect, color, bounds, mirrored);
|
||||
}
|
||||
|
||||
public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight)
|
||||
public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight)
|
||||
{
|
||||
CDraw.DrawTextureReflection(texture, rect, color, bounds, reflectionSpace, reflectionHeight);
|
||||
}
|
||||
|
||||
public STexture AddTexture(string fileName)
|
||||
public CTexture AddTexture(string fileName)
|
||||
{
|
||||
return CDraw.AddTexture(fileName);
|
||||
}
|
||||
|
||||
public void RemoveTexture(ref STexture texture)
|
||||
public void RemoveTexture(ref CTexture texture)
|
||||
{
|
||||
CDraw.RemoveTexture(ref texture);
|
||||
}
|
||||
@@ -686,27 +686,27 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
public int Load(string videoFileName)
|
||||
{
|
||||
return CVideo.VdLoad(videoFileName);
|
||||
return CVideo.Load(videoFileName);
|
||||
}
|
||||
|
||||
public bool Skip(int videoStream, float startPosition, float videoGap)
|
||||
{
|
||||
return CVideo.VdSkip(videoStream, startPosition, videoGap);
|
||||
return CVideo.Skip(videoStream, startPosition, videoGap);
|
||||
}
|
||||
|
||||
public bool GetFrame(int videoStream, ref STexture videoTexture, float time, out float videoTime)
|
||||
public bool GetFrame(int videoStream, ref CTexture videoTexture, float time, out float videoTime)
|
||||
{
|
||||
return CVideo.VdGetFrame(videoStream, ref videoTexture, time, out videoTime);
|
||||
return CVideo.GetFrame(videoStream, ref videoTexture, time, out videoTime);
|
||||
}
|
||||
|
||||
public bool IsFinished(int videoStream)
|
||||
{
|
||||
return CVideo.VdFinished(videoStream);
|
||||
return CVideo.Finished(videoStream);
|
||||
}
|
||||
|
||||
public bool Close(int videoStream)
|
||||
{
|
||||
return CVideo.VdClose(videoStream);
|
||||
return CVideo.Close(videoStream);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -765,7 +765,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
class CBcover : ICover
|
||||
{
|
||||
public STexture GetNoCover()
|
||||
public CTexture GetNoCover()
|
||||
{
|
||||
return CCover.NoCover;
|
||||
}
|
||||
@@ -773,7 +773,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
class CBdataBase : IDataBase
|
||||
{
|
||||
public bool GetCover(string fileName, ref STexture texture, int coverSize)
|
||||
public bool GetCover(string fileName, ref CTexture texture, int coverSize)
|
||||
{
|
||||
return CDataBase.GetCover(fileName, ref texture, coverSize);
|
||||
}
|
||||
|
||||
@@ -302,6 +302,7 @@ namespace Vocaluxe.Base
|
||||
return pm;
|
||||
}
|
||||
pm.PartyMode.Initialize();
|
||||
pm.PartyMode.SetFolder(Path.Combine(Directory.GetCurrentDirectory(), Path.Combine(CSettings.FolderPartyModes, pm.Folder)));
|
||||
|
||||
if (!CTheme.AddTheme(Path.Combine(Directory.GetCurrentDirectory(), Path.Combine(Path.Combine(CSettings.FolderPartyModes, pm.Folder), "Theme.xml")), pm.PartyModeID))
|
||||
return pm;
|
||||
|
||||
@@ -21,6 +21,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Vocaluxe.Lib.Playlist;
|
||||
using VocaluxeLib;
|
||||
@@ -40,13 +41,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static List<string> PlaylistNames
|
||||
{
|
||||
get
|
||||
{
|
||||
List<string> names = new List<string>();
|
||||
for (int i = 0; i < _Playlists.Count; i++)
|
||||
names.Add(_Playlists[i].PlaylistName);
|
||||
return names;
|
||||
}
|
||||
get { return _Playlists.Select(t => t.PlaylistName).ToList(); }
|
||||
}
|
||||
|
||||
public static int NumPlaylists
|
||||
|
||||
+81
-112
@@ -20,11 +20,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Profile;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -36,12 +34,12 @@ namespace Vocaluxe.Base
|
||||
Profile = 4
|
||||
}
|
||||
|
||||
public delegate void ProfileChangedCallback(EProfileChangedFlags TypeChanged);
|
||||
public delegate void ProfileChangedCallback(EProfileChangedFlags typeChanged);
|
||||
|
||||
static class CProfiles
|
||||
{
|
||||
#region enums and structs
|
||||
enum EAction
|
||||
private enum EAction
|
||||
{
|
||||
LoadProfiles,
|
||||
LoadAvatars,
|
||||
@@ -52,7 +50,7 @@ namespace Vocaluxe.Base
|
||||
EditAvatar
|
||||
}
|
||||
|
||||
struct SChange
|
||||
private struct SChange
|
||||
{
|
||||
public CProfile Profile;
|
||||
public CAvatar Avatar;
|
||||
@@ -68,12 +66,12 @@ namespace Vocaluxe.Base
|
||||
private static Dictionary<int, CAvatar> _Avatars;
|
||||
private static Queue<int> _AvatarIDs;
|
||||
|
||||
private static Queue<SChange> _Queue = new Queue<SChange>();
|
||||
private static Object _QueueMutex = new Object();
|
||||
private static readonly Queue<SChange> _Queue = new Queue<SChange>();
|
||||
private static readonly Object _QueueMutex = new Object();
|
||||
|
||||
private static List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>();
|
||||
private static bool _ProfilesChanged = false;
|
||||
private static bool _AvatarsChanged = false;
|
||||
private static readonly List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>();
|
||||
private static bool _ProfilesChanged;
|
||||
private static bool _AvatarsChanged;
|
||||
#endregion private vars
|
||||
|
||||
#region properties
|
||||
@@ -94,16 +92,12 @@ namespace Vocaluxe.Base
|
||||
_Avatars = new Dictionary<int, CAvatar>();
|
||||
_AvatarIDs = new Queue<int>(1000);
|
||||
for (int i = 0; i < 1000; i++)
|
||||
{
|
||||
_AvatarIDs.Enqueue(i);
|
||||
}
|
||||
|
||||
_Profiles = new Dictionary<int, CProfile>();
|
||||
_ProfileIDs = new Queue<int>(100);
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
_ProfileIDs.Enqueue(i);
|
||||
}
|
||||
|
||||
LoadProfiles();
|
||||
}
|
||||
@@ -144,7 +138,7 @@ namespace Vocaluxe.Base
|
||||
if (change.Profile == null)
|
||||
break;
|
||||
|
||||
if (!ICProfileIDValid(change.Profile.ID))
|
||||
if (!IsProfileIDValid(change.Profile.ID))
|
||||
return;
|
||||
|
||||
_Profiles[change.Profile.ID] = change.Profile;
|
||||
@@ -152,7 +146,7 @@ namespace Vocaluxe.Base
|
||||
break;
|
||||
|
||||
case EAction.DeleteProfile:
|
||||
if (!ICProfileIDValid(change.ProfileID))
|
||||
if (!IsProfileIDValid(change.ProfileID))
|
||||
break;
|
||||
|
||||
_DeleteProfile(change.ProfileID);
|
||||
@@ -172,15 +166,12 @@ namespace Vocaluxe.Base
|
||||
if (change.Avatar == null)
|
||||
break;
|
||||
|
||||
if (!ICAvatarIDValid(change.Avatar.ID))
|
||||
if (!IsAvatarIDValid(change.Avatar.ID))
|
||||
return;
|
||||
|
||||
_Avatars[change.Avatar.ID] = change.Avatar;
|
||||
_AvatarsChanged = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -216,15 +207,14 @@ namespace Vocaluxe.Base
|
||||
_ProfilesChanged = false;
|
||||
}
|
||||
|
||||
public static void AddProfileChangedCallback(ProfileChangedCallback Notification)
|
||||
public static void AddProfileChangedCallback(ProfileChangedCallback notification)
|
||||
{
|
||||
_ProfileChangedCallbacks.Add(Notification);
|
||||
_ProfileChangedCallbacks.Add(notification);
|
||||
}
|
||||
|
||||
public static void LoadProfiles()
|
||||
{
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.LoadProfiles;
|
||||
SChange change = new SChange {Action = EAction.LoadProfiles};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -234,8 +224,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static void LoadAvatars()
|
||||
{
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.LoadAvatars;
|
||||
SChange change = new SChange {Action = EAction.LoadAvatars};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -243,14 +232,12 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddProfile(CProfile NewProfile)
|
||||
public static void AddProfile(CProfile newProfile)
|
||||
{
|
||||
if (NewProfile == null)
|
||||
if (newProfile == null)
|
||||
return;
|
||||
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.AddProfile;
|
||||
change.Profile = NewProfile;
|
||||
SChange change = new SChange {Action = EAction.AddProfile, Profile = newProfile};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -258,14 +245,12 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public static void EditProfile(CProfile EditProfile)
|
||||
public static void EditProfile(CProfile editProfile)
|
||||
{
|
||||
if (EditProfile == null)
|
||||
if (editProfile == null)
|
||||
return;
|
||||
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.EditProfile;
|
||||
change.Profile = EditProfile;
|
||||
SChange change = new SChange {Action = EAction.EditProfile, Profile = editProfile};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -275,12 +260,10 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static void DeleteProfile(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.DeleteProfile;
|
||||
change.ProfileID = profileID;
|
||||
SChange change = new SChange {Action = EAction.DeleteProfile, ProfileID = profileID};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -288,14 +271,12 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddAvatar(CAvatar NewAvatar)
|
||||
public static void AddAvatar(CAvatar newAvatar)
|
||||
{
|
||||
if (NewAvatar == null)
|
||||
if (newAvatar == null)
|
||||
return;
|
||||
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.AddAvatar;
|
||||
change.Avatar = NewAvatar;
|
||||
SChange change = new SChange {Action = EAction.AddAvatar, Avatar = newAvatar};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
@@ -303,50 +284,40 @@ namespace Vocaluxe.Base
|
||||
}
|
||||
}
|
||||
|
||||
public static void EditAvatar(CAvatar EditAvatar)
|
||||
public static void EditAvatar(CAvatar editAvatar)
|
||||
{
|
||||
if (EditAvatar == null)
|
||||
if (editAvatar == null)
|
||||
return;
|
||||
|
||||
SChange change = new SChange();
|
||||
change.Action = EAction.EditAvatar;
|
||||
change.Avatar = EditAvatar;
|
||||
SChange change = new SChange {Action = EAction.EditAvatar, Avatar = editAvatar};
|
||||
|
||||
lock (_QueueMutex)
|
||||
{
|
||||
_Queue.Enqueue(change);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static CProfile[] GetProfiles()
|
||||
{
|
||||
List<CProfile> list = new List<CProfile>();
|
||||
|
||||
if (_Profiles.Count == 0)
|
||||
return null;
|
||||
return null;
|
||||
|
||||
CProfile[] result = new CProfile[_Profiles.Count];
|
||||
_Profiles.Values.CopyTo(result, 0);
|
||||
for (int i = 0; i < result.Length; i++)
|
||||
{
|
||||
list.Add(result[i]);
|
||||
}
|
||||
List<CProfile> list = new List<CProfile>(_Profiles.Values);
|
||||
list.Sort(_CompareByPlayerName);
|
||||
return list.ToArray();
|
||||
}
|
||||
|
||||
public static CAvatar[] GetAvatars()
|
||||
public static IEnumerable<CAvatar> GetAvatars()
|
||||
{
|
||||
CAvatar[] result = null;
|
||||
if (_Avatars.Count == 0)
|
||||
return null;
|
||||
|
||||
result = new CAvatar[_Avatars.Count];
|
||||
|
||||
CAvatar[] result = new CAvatar[_Avatars.Count];
|
||||
_Avatars.Values.CopyTo(result, 0);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static int NewProfile(string fileName = "")
|
||||
{
|
||||
CProfile profile = new CProfile
|
||||
@@ -378,17 +349,15 @@ namespace Vocaluxe.Base
|
||||
public static void SaveProfiles()
|
||||
{
|
||||
foreach (int id in _Profiles.Keys)
|
||||
{
|
||||
_Profiles[id].SaveProfile();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool ICProfileIDValid(int profileID)
|
||||
public static bool IsProfileIDValid(int profileID)
|
||||
{
|
||||
return _Profiles.ContainsKey(profileID);
|
||||
}
|
||||
|
||||
public static bool ICAvatarIDValid(int avatarID)
|
||||
public static bool IsAvatarIDValid(int avatarID)
|
||||
{
|
||||
return _Avatars.ContainsKey(avatarID);
|
||||
}
|
||||
@@ -397,7 +366,7 @@ namespace Vocaluxe.Base
|
||||
#region profile properties
|
||||
public static string GetPlayerName(int profileID, int playerNum = 0)
|
||||
{
|
||||
if (ICProfileIDValid(profileID))
|
||||
if (IsProfileIDValid(profileID))
|
||||
return _Profiles[profileID].PlayerName;
|
||||
|
||||
string playerName = CLanguage.Translate("TR_SCREENNAMES_PLAYER");
|
||||
@@ -406,25 +375,25 @@ namespace Vocaluxe.Base
|
||||
return playerName;
|
||||
}
|
||||
|
||||
public static void SetPlayerName(int profileID, string PlayerName)
|
||||
public static void SetPlayerName(int profileID, string playerName)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
_Profiles[profileID].PlayerName = PlayerName;
|
||||
_Profiles[profileID].PlayerName = playerName;
|
||||
}
|
||||
|
||||
public static string GetProfileFileName(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return String.Empty;
|
||||
|
||||
return Path.GetFileName(_Profiles[profileID].FileName);
|
||||
}
|
||||
}
|
||||
|
||||
public static string AddGetPlayerName(int profileID, char chr)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return String.Empty;
|
||||
|
||||
_Profiles[profileID].PlayerName += chr;
|
||||
@@ -433,11 +402,11 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static string GetDeleteCharInPlayerName(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return String.Empty;
|
||||
|
||||
CProfile profile = _Profiles[profileID];
|
||||
if (profile.PlayerName != "")
|
||||
if (!String.IsNullOrEmpty(profile.PlayerName))
|
||||
profile.PlayerName = profile.PlayerName.Remove(profile.PlayerName.Length - 1);
|
||||
|
||||
return profile.PlayerName;
|
||||
@@ -445,12 +414,12 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static EGameDifficulty GetDifficulty(int profileID)
|
||||
{
|
||||
return ICProfileIDValid(profileID) ? _Profiles[profileID].Difficulty : EGameDifficulty.TR_CONFIG_NORMAL;
|
||||
return IsProfileIDValid(profileID) ? _Profiles[profileID].Difficulty : EGameDifficulty.TR_CONFIG_NORMAL;
|
||||
}
|
||||
|
||||
public static void SetDifficulty(int profileID, EGameDifficulty difficulty)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
_Profiles[profileID].Difficulty = difficulty;
|
||||
@@ -458,12 +427,12 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static EOffOn GetGuestProfile(int profileID)
|
||||
{
|
||||
return ICProfileIDValid(profileID) ? _Profiles[profileID].GuestProfile : EOffOn.TR_CONFIG_OFF;
|
||||
return IsProfileIDValid(profileID) ? _Profiles[profileID].GuestProfile : EOffOn.TR_CONFIG_OFF;
|
||||
}
|
||||
|
||||
public static void SetGuestProfile(int profileID, EOffOn option)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
_Profiles[profileID].GuestProfile = option;
|
||||
@@ -471,12 +440,12 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static EOffOn GetActive(int profileID)
|
||||
{
|
||||
return ICProfileIDValid(profileID) ? _Profiles[profileID].Active : EOffOn.TR_CONFIG_OFF;
|
||||
return IsProfileIDValid(profileID) ? _Profiles[profileID].Active : EOffOn.TR_CONFIG_OFF;
|
||||
}
|
||||
|
||||
|
||||
public static void SetActive(int profileID, EOffOn option)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
_Profiles[profileID].Active = option;
|
||||
@@ -484,7 +453,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static bool IsGuestProfile(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return true; // this will prevent from saving dummy profiles to highscore db
|
||||
|
||||
return _Profiles[profileID].GuestProfile == EOffOn.TR_CONFIG_ON;
|
||||
@@ -492,14 +461,14 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static bool IsActive(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return false;
|
||||
return _Profiles[profileID].Active == EOffOn.TR_CONFIG_ON;
|
||||
}
|
||||
|
||||
public static void SetAvatar(int profileID, int avatarID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID) || !ICAvatarIDValid(avatarID))
|
||||
if (!IsProfileIDValid(profileID) || !IsAvatarIDValid(avatarID))
|
||||
return;
|
||||
|
||||
_Profiles[profileID].Avatar = _Avatars[avatarID];
|
||||
@@ -507,7 +476,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
public static int GetAvatarID(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return -1;
|
||||
|
||||
return _Profiles[profileID].Avatar.ID;
|
||||
@@ -515,18 +484,18 @@ namespace Vocaluxe.Base
|
||||
#endregion profile properties
|
||||
|
||||
#region avatar texture
|
||||
public static STexture GetAvatarTexture(int avatarID)
|
||||
public static CTexture GetAvatarTexture(int avatarID)
|
||||
{
|
||||
if (!ICAvatarIDValid(avatarID))
|
||||
return new STexture(-1);
|
||||
if (!IsAvatarIDValid(avatarID))
|
||||
return null;
|
||||
|
||||
return _Avatars[avatarID].Texture;
|
||||
}
|
||||
|
||||
public static STexture GetAvatarTextureFromProfile(int profileID)
|
||||
public static CTexture GetAvatarTextureFromProfile(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
return new STexture(-1);
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return null;
|
||||
|
||||
return _Profiles[profileID].Avatar.Texture;
|
||||
}
|
||||
@@ -542,15 +511,15 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
int[] ids = new int[_Profiles.Keys.Count];
|
||||
_Profiles.Keys.CopyTo(ids, 0);
|
||||
for (int i = 0; i < ids.Length; i++)
|
||||
foreach (int id in ids)
|
||||
{
|
||||
if (_Profiles[ids[i]].LoadProfile())
|
||||
if (_Profiles[id].LoadProfile())
|
||||
{
|
||||
_Profiles[ids[i]].Avatar = _GetAvatar(_Profiles[ids[i]].AvatarFileName);
|
||||
knownFiles.Add(Path.GetFileName(_Profiles[ids[i]].FileName));
|
||||
_Profiles[id].Avatar = _GetAvatar(_Profiles[id].AvatarFileName);
|
||||
knownFiles.Add(Path.GetFileName(_Profiles[id].FileName));
|
||||
}
|
||||
else
|
||||
_Profiles.Remove(ids[i]);
|
||||
_Profiles.Remove(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -563,9 +532,9 @@ namespace Vocaluxe.Base
|
||||
continue;
|
||||
|
||||
CProfile profile = new CProfile
|
||||
{
|
||||
FileName = Path.Combine(CSettings.FolderProfiles, file)
|
||||
};
|
||||
{
|
||||
FileName = Path.Combine(CSettings.FolderProfiles, file)
|
||||
};
|
||||
|
||||
if (profile.LoadProfile())
|
||||
{
|
||||
@@ -584,12 +553,12 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
int[] ids = new int[_Avatars.Keys.Count];
|
||||
_Avatars.Keys.CopyTo(ids, 0);
|
||||
for (int i = 0; i < ids.Length; i++)
|
||||
foreach (int id in ids)
|
||||
{
|
||||
if (_Avatars[ids[i]].Reload())
|
||||
knownFiles.Add(Path.GetFileName(_Avatars[ids[i]].FileName));
|
||||
if (_Avatars[id].Reload())
|
||||
knownFiles.Add(Path.GetFileName(_Avatars[id].FileName));
|
||||
else
|
||||
_Avatars.Remove(ids[i]);
|
||||
_Avatars.Remove(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,7 +585,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
private static void _DeleteProfile(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
if (_Profiles[profileID].FileName == "")
|
||||
@@ -657,7 +626,7 @@ namespace Vocaluxe.Base
|
||||
|
||||
private static void _RemoveProfile(int profileID)
|
||||
{
|
||||
if (!ICProfileIDValid(profileID))
|
||||
if (!IsProfileIDValid(profileID))
|
||||
return;
|
||||
|
||||
_Profiles.Remove(profileID);
|
||||
@@ -671,11 +640,11 @@ namespace Vocaluxe.Base
|
||||
|
||||
private static CAvatar _GetAvatar(string fileName)
|
||||
{
|
||||
string Name = Path.GetFileName(fileName);
|
||||
string name = Path.GetFileName(fileName);
|
||||
|
||||
foreach (int id in _Avatars.Keys)
|
||||
{
|
||||
if (Path.GetFileName(_Avatars[id].FileName) == Name)
|
||||
if (Path.GetFileName(_Avatars[id].FileName) == name)
|
||||
return _Avatars[id];
|
||||
}
|
||||
return new CAvatar(-1);
|
||||
|
||||
@@ -21,7 +21,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
|
||||
@@ -140,7 +140,9 @@ namespace Vocaluxe.Base
|
||||
sortList.Add(new CSongPointer(song.ID, ""));
|
||||
else
|
||||
{
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (String sortString in values)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
sortList.Add(new CSongPointer(song.ID, sortString));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@ using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
@@ -256,7 +254,9 @@ namespace Vocaluxe.Base
|
||||
List<CSong> songs = new List<CSong>();
|
||||
if (_IsCatIndexValid(_CatIndex))
|
||||
{
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (CSongPointer sp in Categories[_CatIndex].Songs)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (!sp.IsSung)
|
||||
songs.Add(_Songs[sp.SongID]);
|
||||
|
||||
+29
-26
@@ -25,7 +25,7 @@ using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using Vocaluxe.Base.Fonts;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -49,7 +49,7 @@ namespace Vocaluxe.Base
|
||||
public string Name;
|
||||
public string Value;
|
||||
|
||||
public STexture Texture;
|
||||
public CTexture Texture;
|
||||
public int VideoIndex;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,9 @@ namespace Vocaluxe.Base
|
||||
get
|
||||
{
|
||||
List<string> names = new List<string>();
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (STheme th in _Themes)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (th.PartyModeID == -1)
|
||||
names.Add(th.Name);
|
||||
@@ -127,7 +129,9 @@ namespace Vocaluxe.Base
|
||||
get
|
||||
{
|
||||
List<string> names = new List<string>();
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (SSkin sk in _Skins)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (sk.PartyModeID == -1)
|
||||
names.Add(sk.Name);
|
||||
@@ -200,10 +204,10 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
xmlReader.GetValue("//root/Videos/" + _Skins[skinIndex].VideoList[i].Name, out value, String.Empty);
|
||||
SSkinElement sk = new SSkinElement {Name = _Skins[skinIndex].VideoList[i].Name, Value = value};
|
||||
sk.VideoIndex = CVideo.VdLoad(Path.Combine(_Skins[skinIndex].Path, sk.Value));
|
||||
CVideo.VdSetLoop(sk.VideoIndex, true);
|
||||
CVideo.VdPause(sk.VideoIndex);
|
||||
sk.Texture = new STexture(-1);
|
||||
sk.VideoIndex = CVideo.Load(Path.Combine(_Skins[skinIndex].Path, sk.Value));
|
||||
CVideo.SetLoop(sk.VideoIndex, true);
|
||||
CVideo.Pause(sk.VideoIndex);
|
||||
sk.Texture = null;
|
||||
_Skins[skinIndex].VideoList[i] = sk;
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -225,14 +229,14 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
foreach (SSkinElement sk in _Skins[i].SkinList.Values)
|
||||
{
|
||||
STexture texture = sk.Texture;
|
||||
CTexture texture = sk.Texture;
|
||||
CDraw.RemoveTexture(ref texture);
|
||||
}
|
||||
|
||||
for (int j = 0; j < _Skins[i].VideoList.Count; j++)
|
||||
{
|
||||
CVideo.VdClose(_Skins[i].VideoList[j].VideoIndex);
|
||||
STexture videoTexture = _Skins[i].VideoList[j].Texture;
|
||||
CVideo.Close(_Skins[i].VideoList[j].VideoIndex);
|
||||
CTexture videoTexture = _Skins[i].VideoList[j].Texture;
|
||||
CDraw.RemoveTexture(ref videoTexture);
|
||||
}
|
||||
|
||||
@@ -580,12 +584,12 @@ namespace Vocaluxe.Base
|
||||
return path;
|
||||
}
|
||||
|
||||
public static STexture GetSkinTexture(string textureName, int partyModeID)
|
||||
public static CTexture GetSkinTexture(string textureName, int partyModeID)
|
||||
{
|
||||
int skinIndex = GetSkinIndex(partyModeID);
|
||||
if (skinIndex != -1 && textureName != null && _Skins[skinIndex].SkinList.ContainsKey(textureName))
|
||||
return _Skins[skinIndex].SkinList[textureName].Texture;
|
||||
return new STexture(-1);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static string GetSkinFilePath(string skinName, int partyModeID)
|
||||
@@ -605,7 +609,7 @@ namespace Vocaluxe.Base
|
||||
return skinName;
|
||||
}
|
||||
|
||||
public static STexture GetSkinVideoTexture(string videoName, int partyModeID)
|
||||
public static CTexture GetSkinVideoTexture(string videoName, int partyModeID)
|
||||
{
|
||||
int skinIndex = GetSkinIndex(partyModeID);
|
||||
if (skinIndex != -1)
|
||||
@@ -618,16 +622,16 @@ namespace Vocaluxe.Base
|
||||
float time = 0f;
|
||||
if (sk.VideoIndex == -1)
|
||||
{
|
||||
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.VdSetLoop(sk.VideoIndex, true);
|
||||
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.SetLoop(sk.VideoIndex, true);
|
||||
}
|
||||
CVideo.VdGetFrame(sk.VideoIndex, ref sk.Texture, time, out time);
|
||||
CVideo.GetFrame(sk.VideoIndex, ref sk.Texture, time, out time);
|
||||
_Skins[skinIndex].VideoList[i] = sk;
|
||||
return sk.Texture;
|
||||
}
|
||||
}
|
||||
}
|
||||
return new STexture(-1);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void SkinVideoPause(string videoName, int partyModeID)
|
||||
@@ -642,10 +646,10 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
if (sk.VideoIndex == -1)
|
||||
{
|
||||
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.VdSetLoop(sk.VideoIndex, true);
|
||||
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.SetLoop(sk.VideoIndex, true);
|
||||
}
|
||||
CVideo.VdPause(sk.VideoIndex);
|
||||
CVideo.Pause(sk.VideoIndex);
|
||||
_Skins[skinIndex].VideoList[i] = sk;
|
||||
return;
|
||||
}
|
||||
@@ -665,10 +669,10 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
if (sk.VideoIndex == -1)
|
||||
{
|
||||
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.VdSetLoop(sk.VideoIndex, true);
|
||||
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
|
||||
CVideo.SetLoop(sk.VideoIndex, true);
|
||||
}
|
||||
CVideo.VdResume(sk.VideoIndex);
|
||||
CVideo.Resume(sk.VideoIndex);
|
||||
_Skins[skinIndex].VideoList[i] = sk;
|
||||
return;
|
||||
}
|
||||
@@ -809,7 +813,7 @@ namespace Vocaluxe.Base
|
||||
writer.WriteElementString("W", Cursor.W.ToString("#0.000"));
|
||||
writer.WriteElementString("H", Cursor.H.ToString("#0.000"));
|
||||
|
||||
if (Cursor.Color != "")
|
||||
if (!String.IsNullOrEmpty(Cursor.Color))
|
||||
writer.WriteElementString("Color", Cursor.Color);
|
||||
else
|
||||
{
|
||||
@@ -871,7 +875,7 @@ namespace Vocaluxe.Base
|
||||
public static SColorF GetPlayerColor(string playerNrString, int skinIndex, out bool success)
|
||||
{
|
||||
int selection = 0;
|
||||
if (playerNrString.StartsWith("Player"))
|
||||
if (playerNrString != null && playerNrString.StartsWith("Player"))
|
||||
int.TryParse(playerNrString.Substring(6), out selection);
|
||||
|
||||
return GetPlayerColor(selection, skinIndex, out success);
|
||||
@@ -885,13 +889,12 @@ namespace Vocaluxe.Base
|
||||
public static SColorF GetPlayerColor(int playerNr, int skinIndex, out bool success)
|
||||
{
|
||||
success = false;
|
||||
SColorF color = new SColorF(1f, 1f, 1f, 1f);
|
||||
|
||||
if (_Skins[skinIndex].PartyModeID != -1)
|
||||
skinIndex = GetSkinIndex(-1);
|
||||
|
||||
if (_Skins[skinIndex].ThemeColors.Player.Length < playerNr || playerNr < 1)
|
||||
return color;
|
||||
return new SColorF(1f, 1f, 1f, 1f);
|
||||
|
||||
success = true;
|
||||
return _Skins[skinIndex].ThemeColors.Player[playerNr - 1];
|
||||
|
||||
+24
-41
@@ -21,6 +21,7 @@ using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using Vocaluxe.Lib.Video;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -50,12 +51,7 @@ namespace Vocaluxe.Base
|
||||
#endregion Init
|
||||
|
||||
#region Interface
|
||||
public static bool VdInit()
|
||||
{
|
||||
return _VideoDecoder.Init();
|
||||
}
|
||||
|
||||
public static void VdCloseAll()
|
||||
public static void CloseAll()
|
||||
{
|
||||
_VideoDecoder.CloseAll();
|
||||
}
|
||||
@@ -65,47 +61,47 @@ namespace Vocaluxe.Base
|
||||
return _VideoDecoder.GetNumStreams();
|
||||
}
|
||||
|
||||
public static int VdLoad(string videoFileName)
|
||||
public static int Load(string videoFileName)
|
||||
{
|
||||
return _VideoDecoder.Load(videoFileName);
|
||||
}
|
||||
|
||||
public static bool VdClose(int streamID)
|
||||
public static bool Close(int streamID)
|
||||
{
|
||||
return _VideoDecoder.Close(streamID);
|
||||
}
|
||||
|
||||
public static float VdGetLength(int streamID)
|
||||
public static float GetLength(int streamID)
|
||||
{
|
||||
return _VideoDecoder.GetLength(streamID);
|
||||
}
|
||||
|
||||
public static bool VdGetFrame(int streamID, ref STexture frame, float time, out float videoTime)
|
||||
public static bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
|
||||
{
|
||||
return _VideoDecoder.GetFrame(streamID, ref frame, time, out videoTime);
|
||||
}
|
||||
|
||||
public static bool VdSkip(int streamID, float start, float gap)
|
||||
public static bool Skip(int streamID, float start, float gap)
|
||||
{
|
||||
return _VideoDecoder.Skip(streamID, start, gap);
|
||||
}
|
||||
|
||||
public static void VdSetLoop(int streamID, bool loop)
|
||||
public static void SetLoop(int streamID, bool loop)
|
||||
{
|
||||
_VideoDecoder.SetLoop(streamID, loop);
|
||||
}
|
||||
|
||||
public static void VdPause(int streamID)
|
||||
public static void Pause(int streamID)
|
||||
{
|
||||
_VideoDecoder.Pause(streamID);
|
||||
}
|
||||
|
||||
public static void VdResume(int streamID)
|
||||
public static void Resume(int streamID)
|
||||
{
|
||||
_VideoDecoder.Resume(streamID);
|
||||
}
|
||||
|
||||
public static bool VdFinished(int streamID)
|
||||
public static bool Finished(int streamID)
|
||||
{
|
||||
return _VideoDecoder.Finished(streamID);
|
||||
}
|
||||
@@ -121,9 +117,9 @@ namespace Vocaluxe.Base
|
||||
|
||||
class CVideoPlayer
|
||||
{
|
||||
private STexture _VideoTexture;
|
||||
private CTexture _VideoTexture;
|
||||
private int _VideoStream;
|
||||
private readonly Stopwatch _VideoTimer;
|
||||
private readonly Stopwatch _VideoTimer = new Stopwatch();
|
||||
private bool _Finished;
|
||||
private bool _Loaded;
|
||||
|
||||
@@ -134,20 +130,12 @@ namespace Vocaluxe.Base
|
||||
|
||||
public bool Loop
|
||||
{
|
||||
set { CVideo.VdSetLoop(_VideoStream, value); }
|
||||
}
|
||||
|
||||
public CVideoPlayer()
|
||||
{
|
||||
_VideoTimer = new Stopwatch();
|
||||
_VideoTexture = new STexture(-1);
|
||||
_Finished = false;
|
||||
_Loaded = false;
|
||||
set { CVideo.SetLoop(_VideoStream, value); }
|
||||
}
|
||||
|
||||
public void Load(string videoName)
|
||||
{
|
||||
_VideoStream = CVideo.VdLoad(CTheme.GetVideoFilePath(videoName, -1));
|
||||
_VideoStream = CVideo.Load(CTheme.GetVideoFilePath(videoName, -1));
|
||||
_Loaded = true;
|
||||
}
|
||||
|
||||
@@ -174,20 +162,15 @@ namespace Vocaluxe.Base
|
||||
if (!_Finished)
|
||||
{
|
||||
float videoTime = _VideoTimer.ElapsedMilliseconds / 1000f;
|
||||
_Finished = CVideo.VdFinished(_VideoStream);
|
||||
_Finished = CVideo.Finished(_VideoStream);
|
||||
|
||||
STexture tex = new STexture(-1) {Height = 0f};
|
||||
CVideo.VdGetFrame(_VideoStream, ref tex, videoTime, out videoTime);
|
||||
|
||||
if (tex.Height > 0)
|
||||
{
|
||||
CDraw.RemoveTexture(ref _VideoTexture);
|
||||
_VideoTexture = tex;
|
||||
}
|
||||
CVideo.GetFrame(_VideoStream, ref _VideoTexture, videoTime, out videoTime);
|
||||
}
|
||||
if (_VideoTexture == null)
|
||||
return;
|
||||
RectangleF bounds = new RectangleF(0f, 0f, CSettings.RenderW, CSettings.RenderH);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _VideoTexture.Width, _VideoTexture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, _VideoTexture.OrigAspect, EAspect.Crop);
|
||||
|
||||
CDraw.DrawTexture(_VideoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CSettings.ZFar / 4));
|
||||
}
|
||||
@@ -195,17 +178,17 @@ namespace Vocaluxe.Base
|
||||
public void PreLoad()
|
||||
{
|
||||
float videoTime = 0f;
|
||||
while (_VideoTexture.Index == -1 && videoTime < 1f)
|
||||
while (_VideoTexture == null && videoTime < 1f)
|
||||
{
|
||||
float dummy;
|
||||
CVideo.VdGetFrame(_VideoStream, ref _VideoTexture, 0, out dummy);
|
||||
CVideo.GetFrame(_VideoStream, ref _VideoTexture, 0, out dummy);
|
||||
videoTime += 0.05f;
|
||||
}
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
CVideo.VdClose(_VideoStream);
|
||||
CVideo.Close(_VideoStream);
|
||||
CDraw.RemoveTexture(ref _VideoTexture);
|
||||
_Loaded = false;
|
||||
_Finished = false;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
using System.Drawing;
|
||||
using Vocaluxe.Lib.Webcam;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
@@ -46,10 +47,9 @@ namespace Vocaluxe.Base
|
||||
CConfig.SaveConfig();
|
||||
}
|
||||
|
||||
public static bool GetFrame(ref STexture tex)
|
||||
public static bool GetFrame(ref CTexture tex)
|
||||
{
|
||||
_Webcam.GetFrame(ref tex);
|
||||
return true;
|
||||
return _Webcam.GetFrame(ref tex);
|
||||
}
|
||||
|
||||
public static Bitmap GetBitmap()
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Text;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base.Fonts
|
||||
{
|
||||
@@ -87,7 +87,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
|
||||
public void DrawGlyph(char chr, float x, float y, float z, SColorF color)
|
||||
{
|
||||
STexture texture;
|
||||
CTexture texture;
|
||||
SRectF rect;
|
||||
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
|
||||
CDraw.DrawTexture(texture, rect, color);
|
||||
@@ -95,7 +95,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
|
||||
public void DrawGlyph(char chr, float x, float y, float z, SColorF color, float begin, float end)
|
||||
{
|
||||
STexture texture;
|
||||
CTexture texture;
|
||||
SRectF rect;
|
||||
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
|
||||
CDraw.DrawTexture(texture, rect, color, begin, end);
|
||||
@@ -103,7 +103,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
|
||||
public void DrawGlyphReflection(char chr, float x, float y, float z, SColorF color, float rspace, float rheight)
|
||||
{
|
||||
STexture texture;
|
||||
CTexture texture;
|
||||
SRectF rect;
|
||||
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
|
||||
CDraw.DrawTextureReflection(texture, rect, color, rect, rspace, rheight);
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
|
||||
private static void _BuildFonts()
|
||||
{
|
||||
foreach (var font in _Fonts)
|
||||
foreach (SFont font in _Fonts)
|
||||
{
|
||||
font.Normal.Dispose();
|
||||
font.Bold.Dispose();
|
||||
@@ -258,8 +258,8 @@ namespace Vocaluxe.Base.Fonts
|
||||
Height = height;
|
||||
SetFont(text.Font);
|
||||
Style = text.Style;
|
||||
var result = new RectangleF(text.X, text.Y, GetTextWidth(CLanguage.Translate(text.Text, text.TranslationID)),
|
||||
GetTextHeight(CLanguage.Translate(text.Text, text.TranslationID)));
|
||||
RectangleF result = new RectangleF(text.X, text.Y, GetTextWidth(CLanguage.Translate(text.Text, text.TranslationID)),
|
||||
GetTextHeight(CLanguage.Translate(text.Text, text.TranslationID)));
|
||||
//restore old values
|
||||
Height = oldHeight;
|
||||
_CurrentFont = oldFont;
|
||||
|
||||
@@ -24,12 +24,13 @@ using System.Drawing.Imaging;
|
||||
using System.Drawing.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Base.Fonts
|
||||
{
|
||||
class CGlyph
|
||||
{
|
||||
private STexture _Texture;
|
||||
private CTexture _Texture;
|
||||
private readonly SizeF _BoundingBox;
|
||||
private readonly RectangleF _DrawBounding;
|
||||
public readonly float MaxHeight;
|
||||
@@ -121,6 +122,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
_DrawBounding.Width = _Texture.Width;
|
||||
_DrawBounding.Height = _Texture.Height;*/
|
||||
#pragma warning disable 162
|
||||
// ReSharper disable HeuristicUnreachableCode
|
||||
if (false && Char.IsLetterOrDigit(chr))
|
||||
{
|
||||
if (outline > 0)
|
||||
@@ -128,6 +130,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
else
|
||||
bmpCropped.Save("font_" + chr + CFonts.Style + "2.png", ImageFormat.Png);
|
||||
}
|
||||
// ReSharper restore HeuristicUnreachableCode
|
||||
#pragma warning restore 162
|
||||
}
|
||||
}
|
||||
@@ -145,7 +148,7 @@ namespace Vocaluxe.Base.Fonts
|
||||
return CFonts.Height / _BoundingBox.Height;
|
||||
}
|
||||
|
||||
public void GetTextureAndRect(float x, float y, float z, out STexture texture, out SRectF rect)
|
||||
public void GetTextureAndRect(float x, float y, float z, out CTexture texture, out SRectF rect)
|
||||
{
|
||||
texture = _Texture;
|
||||
float factor = _GetFactor();
|
||||
@@ -215,10 +218,16 @@ namespace Vocaluxe.Base.Fonts
|
||||
}
|
||||
|
||||
//Add some additional space. Textures need some extra pixel for resizing.
|
||||
int d = 4;
|
||||
minX = minX - d; if (minX < 0) minX = 0;
|
||||
minY = minY - d; if (minY < 0) minY = 0;
|
||||
maxX = maxX + d; if (maxX > bmp.Width) maxX = bmp.Width;
|
||||
const int d = 4;
|
||||
minX = minX - d;
|
||||
if (minX < 0)
|
||||
minX = 0;
|
||||
minY = minY - d;
|
||||
if (minY < 0)
|
||||
minY = 0;
|
||||
maxX = maxX + d;
|
||||
if (maxX > bmp.Width)
|
||||
maxX = bmp.Width;
|
||||
|
||||
return new Rectangle(minX, minY, maxX - minX, bmp.Height - minY);
|
||||
}
|
||||
|
||||
@@ -1,24 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Input;
|
||||
using VocaluxeLib.Menu;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
namespace Vocaluxe.Base.Server
|
||||
{
|
||||
internal class CClientHandler
|
||||
class CClientHandler
|
||||
{
|
||||
public int ConnectionID;
|
||||
public bool LoggedIn;
|
||||
|
||||
public CClientHandler(int ConnectionID)
|
||||
public CClientHandler(int connectionID)
|
||||
{
|
||||
this.ConnectionID = ConnectionID;
|
||||
ConnectionID = connectionID;
|
||||
LoggedIn = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,23 @@
|
||||
using System;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
@@ -7,9 +26,7 @@ using System.Linq;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using ClientServerLib;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Input;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Profile;
|
||||
@@ -22,7 +39,7 @@ namespace Vocaluxe.Base.Server
|
||||
private static CDiscover _Discover;
|
||||
private static Dictionary<int, CClientHandler> _Clients;
|
||||
|
||||
public static CControllerFramework Controller = new CControllerFramework();
|
||||
public static readonly CControllerFramework Controller = new CControllerFramework();
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
@@ -48,46 +65,46 @@ namespace Vocaluxe.Base.Server
|
||||
_Clients = new Dictionary<int, CClientHandler>();
|
||||
}
|
||||
|
||||
private static byte[] RequestHandler(int ConnectionID, byte[] Message)
|
||||
private static byte[] RequestHandler(int connectionID, byte[] message)
|
||||
{
|
||||
byte[] answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseNOK);
|
||||
|
||||
if (Message == null)
|
||||
if (message == null)
|
||||
return answer;
|
||||
|
||||
if (Message.Length < 4)
|
||||
if (message.Length < 4)
|
||||
return answer;
|
||||
|
||||
bool loggedIn = false;
|
||||
bool loggedIn;
|
||||
lock (_Clients)
|
||||
{
|
||||
if (!_Clients.ContainsKey(ConnectionID))
|
||||
if (!_Clients.ContainsKey(connectionID))
|
||||
{
|
||||
CClientHandler client = new CClientHandler(ConnectionID);
|
||||
_Clients.Add(ConnectionID, client);
|
||||
CClientHandler client = new CClientHandler(connectionID);
|
||||
_Clients.Add(connectionID, client);
|
||||
}
|
||||
|
||||
loggedIn = _Clients[ConnectionID].LoggedIn;
|
||||
loggedIn = _Clients[connectionID].LoggedIn;
|
||||
}
|
||||
|
||||
int command = BitConverter.ToInt32(Message, 0);
|
||||
int command = BitConverter.ToInt32(message, 0);
|
||||
switch (command)
|
||||
{
|
||||
case CCommands.CommandLogin:
|
||||
SLoginData data;
|
||||
|
||||
if (!CCommands.DecodeCommandLogin(Message, out data))
|
||||
if (!CCommands.DecodeCommandLogin(message, out data))
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginFailed);
|
||||
else
|
||||
{
|
||||
byte[] serverPW = CCommands.SHA256.ComputeHash(Encoding.UTF8.GetBytes(CConfig.ServerPassword));
|
||||
byte[] serverPw = CCommands.SHA256.ComputeHash(Encoding.UTF8.GetBytes(CConfig.ServerPassword));
|
||||
|
||||
if (!serverPW.SequenceEqual(data.SHA256))
|
||||
if (!serverPw.SequenceEqual(data.SHA256))
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginWrongPassword);
|
||||
else
|
||||
{
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginOK);
|
||||
_Clients[ConnectionID].LoggedIn = true;
|
||||
_Clients[connectionID].LoggedIn = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -95,7 +112,7 @@ namespace Vocaluxe.Base.Server
|
||||
|
||||
if (!loggedIn)
|
||||
return answer;
|
||||
|
||||
|
||||
switch (command)
|
||||
{
|
||||
case CCommands.CommandSendKeyUp:
|
||||
@@ -121,13 +138,10 @@ namespace Vocaluxe.Base.Server
|
||||
case CCommands.CommandSendAvatarPicture:
|
||||
|
||||
SAvatarPicture avatarPicture;
|
||||
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPicture))
|
||||
if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPicture))
|
||||
{
|
||||
Bitmap bmp = null;
|
||||
bool success = false;
|
||||
try
|
||||
using (Bitmap bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height))
|
||||
{
|
||||
bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height);
|
||||
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||
Marshal.Copy(avatarPicture.data, 0, bmpData.Scan0, avatarPicture.data.Length);
|
||||
bmp.UnlockBits(bmpData);
|
||||
@@ -137,23 +151,16 @@ namespace Vocaluxe.Base.Server
|
||||
while (File.Exists(Path.Combine(CSettings.FolderProfiles, filename + i + ".png")))
|
||||
i++;
|
||||
bmp.Save(Path.Combine(CSettings.FolderProfiles, filename + i + ".png"), ImageFormat.Png);
|
||||
success = true;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (bmp != null)
|
||||
bmp.Dispose();
|
||||
}
|
||||
|
||||
if (success)
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
|
||||
}
|
||||
break;
|
||||
|
||||
case CCommands.CommandSendAvatarPictureJpg:
|
||||
|
||||
SAvatarPicture avatarPictureJpg;
|
||||
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPictureJpg))
|
||||
if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPictureJpg))
|
||||
{
|
||||
if (_AddAvatar(avatarPictureJpg.data) != String.Empty)
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
|
||||
@@ -162,39 +169,35 @@ namespace Vocaluxe.Base.Server
|
||||
|
||||
case CCommands.CommandSendProfile:
|
||||
SProfile profile;
|
||||
if (CCommands.DecodeCommandSendProfile(Message, out profile))
|
||||
if (CCommands.DecodeCommandSendProfile(message, out profile))
|
||||
{
|
||||
try
|
||||
{
|
||||
string AvatarFilename = _AddAvatar(profile.Avatar.data);
|
||||
if (AvatarFilename != String.Empty)
|
||||
try
|
||||
{
|
||||
string avatarFilename = _AddAvatar(profile.Avatar.data);
|
||||
if (avatarFilename != String.Empty)
|
||||
{
|
||||
CProfile p = new CProfile();
|
||||
p.Active = EOffOn.TR_CONFIG_ON;
|
||||
p.AvatarFileName = AvatarFilename;
|
||||
p.Difficulty = (EGameDifficulty)profile.Difficulty;
|
||||
p.GuestProfile = EOffOn.TR_CONFIG_OFF;
|
||||
p.PlayerName = profile.PlayerName;
|
||||
CProfile p = new CProfile
|
||||
{
|
||||
Active = EOffOn.TR_CONFIG_ON,
|
||||
AvatarFileName = avatarFilename,
|
||||
Difficulty = (EGameDifficulty)profile.Difficulty,
|
||||
GuestProfile = EOffOn.TR_CONFIG_OFF,
|
||||
PlayerName = profile.PlayerName
|
||||
};
|
||||
CProfiles.AddProfile(p);
|
||||
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception) {}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return answer;
|
||||
}
|
||||
|
||||
private static string _AddAvatar(byte[] JpgData)
|
||||
private static string _AddAvatar(byte[] jpgData)
|
||||
{
|
||||
string result = String.Empty;
|
||||
try
|
||||
@@ -206,7 +209,7 @@ namespace Vocaluxe.Base.Server
|
||||
|
||||
filename = filename + i + ".jpg";
|
||||
FileStream fs = File.Create(filename);
|
||||
fs.Write(JpgData, 0, JpgData.Length);
|
||||
fs.Write(jpgData, 0, jpgData.Length);
|
||||
fs.Flush();
|
||||
fs.Close();
|
||||
|
||||
@@ -216,11 +219,10 @@ namespace Vocaluxe.Base.Server
|
||||
CProfiles.AddAvatar(avatar);
|
||||
result = filename;
|
||||
}
|
||||
|
||||
}
|
||||
catch { }
|
||||
catch {}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+305
-384
@@ -32,13 +32,15 @@ using System.Windows.Forms;
|
||||
using SlimDX.Windows;
|
||||
using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Draw
|
||||
{
|
||||
class CDirect3D : RenderForm, IDraw
|
||||
{
|
||||
#region private vars
|
||||
private const int _MaxID = 100000;
|
||||
|
||||
private readonly CKeys _Keys;
|
||||
private readonly CMouse _Mouse;
|
||||
private bool _Run;
|
||||
@@ -51,10 +53,9 @@ namespace Vocaluxe.Lib.Draw
|
||||
private Size _OldSize;
|
||||
private Size _SizeBeforeMinimize;
|
||||
|
||||
private readonly Dictionary<int, STexture> _Textures;
|
||||
private readonly Dictionary<int, Texture> _D3DTextures;
|
||||
private readonly List<STextureQueue> _Queue;
|
||||
private readonly Queue<int> _IDs;
|
||||
private readonly Dictionary<int, Texture> _D3DTextures = new Dictionary<int, Texture>();
|
||||
private readonly Queue<STextureQueue> _TexturesToLoad = new Queue<STextureQueue>();
|
||||
private readonly Queue<int> _IDs = new Queue<int>(_MaxID);
|
||||
|
||||
private readonly Object _MutexTexture = new Object();
|
||||
|
||||
@@ -66,11 +67,11 @@ namespace Vocaluxe.Lib.Draw
|
||||
private int _Y;
|
||||
private int _X;
|
||||
|
||||
private STexture _BlankTexture;
|
||||
private CTexture _BlankTexture;
|
||||
|
||||
private readonly Queue<STexturedColoredVertex> _Vertices;
|
||||
private readonly Queue<Texture> _VerticesTextures;
|
||||
private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices;
|
||||
private readonly Queue<STexturedColoredVertex> _Vertices = new Queue<STexturedColoredVertex>();
|
||||
private readonly Queue<Texture> _VerticesTextures = new Queue<Texture>();
|
||||
private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
|
||||
|
||||
private readonly bool _NonPowerOf2TextureSupported;
|
||||
#endregion private vars
|
||||
@@ -81,19 +82,11 @@ namespace Vocaluxe.Lib.Draw
|
||||
public CDirect3D()
|
||||
{
|
||||
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon));
|
||||
_Textures = new Dictionary<int, STexture>();
|
||||
_D3DTextures = new Dictionary<int, Texture>();
|
||||
_Queue = new List<STextureQueue>();
|
||||
_IDs = new Queue<int>();
|
||||
|
||||
//Fill Queue with 100000 IDs
|
||||
for (int i = 0; i < 100000; i++)
|
||||
for (int i = 0; i < _MaxID; i++)
|
||||
_IDs.Enqueue(i);
|
||||
|
||||
_Vertices = new Queue<STexturedColoredVertex>();
|
||||
_VerticesTextures = new Queue<Texture>();
|
||||
_VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
|
||||
|
||||
_Keys = new CKeys();
|
||||
try
|
||||
{
|
||||
@@ -255,40 +248,39 @@ namespace Vocaluxe.Lib.Draw
|
||||
// The window was minimized, so restore it to the last known size
|
||||
if (ClientSize.Width == 0 || ClientSize.Height == 0)
|
||||
ClientSize = _SizeBeforeMinimize;
|
||||
if (_Run)
|
||||
if (!_Run)
|
||||
return;
|
||||
_H = ClientSize.Height;
|
||||
_W = ClientSize.Width;
|
||||
_Y = 0;
|
||||
_X = 0;
|
||||
|
||||
if (_W / (float)_H > CSettings.GetRenderAspect())
|
||||
{
|
||||
_H = ClientSize.Height;
|
||||
_W = ClientSize.Width;
|
||||
_Y = 0;
|
||||
_X = 0;
|
||||
|
||||
if (_W / (float)_H > CSettings.GetRenderAspect())
|
||||
{
|
||||
//The windows's width is too big
|
||||
_W = (int)Math.Round(_H * CSettings.GetRenderAspect());
|
||||
_X = (ClientSize.Width - _W) / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
//The windows's height is too big
|
||||
_H = (int)Math.Round(_W / CSettings.GetRenderAspect());
|
||||
_Y = (ClientSize.Height - _H) / 2;
|
||||
}
|
||||
|
||||
//Apply the new sizes to the PresentParameters
|
||||
_PresentParameters.BackBufferWidth = ClientSize.Width;
|
||||
_PresentParameters.BackBufferHeight = ClientSize.Height;
|
||||
ClearScreen();
|
||||
//To set new PresentParameters the device has to be resetted
|
||||
_Reset();
|
||||
//All configurations got flushed due to Reset(), so apply them again
|
||||
Init();
|
||||
|
||||
//Set the new Viewport
|
||||
_Device.Viewport = new Viewport(_X, _Y, _W, _H);
|
||||
//Store size so it can get restored after the window gets minimized
|
||||
_SizeBeforeMinimize = ClientSize;
|
||||
//The windows's width is too big
|
||||
_W = (int)Math.Round(_H * CSettings.GetRenderAspect());
|
||||
_X = (ClientSize.Width - _W) / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
//The windows's height is too big
|
||||
_H = (int)Math.Round(_W / CSettings.GetRenderAspect());
|
||||
_Y = (ClientSize.Height - _H) / 2;
|
||||
}
|
||||
|
||||
//Apply the new sizes to the PresentParameters
|
||||
_PresentParameters.BackBufferWidth = ClientSize.Width;
|
||||
_PresentParameters.BackBufferHeight = ClientSize.Height;
|
||||
ClearScreen();
|
||||
//To set new PresentParameters the device has to be resetted
|
||||
_Reset();
|
||||
//All configurations got flushed due to Reset(), so apply them again
|
||||
Init();
|
||||
|
||||
//Set the new Viewport
|
||||
_Device.Viewport = new Viewport(_X, _Y, _W, _H);
|
||||
//Store size so it can get restored after the window gets minimized
|
||||
_SizeBeforeMinimize = ClientSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -677,39 +669,32 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// Copies the current frame into a texture
|
||||
/// <returns>A texture holding the current frame</returns>
|
||||
/// </summary>
|
||||
public STexture CopyScreen()
|
||||
public CTexture CopyScreen()
|
||||
{
|
||||
STexture texture = new STexture(-1);
|
||||
CTexture texture = _GetNewTexture(_W, _H);
|
||||
|
||||
Surface backbufferSurface = _Device.GetBackBuffer(0, 0);
|
||||
Texture tex = new Texture(_Device, _PresentParameters.BackBufferWidth, _PresentParameters.BackBufferHeight, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
|
||||
Texture tex = new Texture(_Device, texture.W2, texture.H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
|
||||
Surface textureSurface = tex.GetSurfaceLevel(0);
|
||||
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0);
|
||||
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0, new Rectangle(0, 0, _W, _H), new Rectangle(0, 0, _W, _H));
|
||||
backbufferSurface.Dispose();
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
_D3DTextures.Add(_IDs.Peek(), tex);
|
||||
texture.ID = _IDs.Dequeue();
|
||||
_D3DTextures.Add(texture.ID, tex);
|
||||
|
||||
texture.Color = new SColorF(1f, 1f, 1f, 1f);
|
||||
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
|
||||
texture.Width = _W;
|
||||
texture.Height = _H;
|
||||
texture.W2 = _CheckForNextPowerOf2(texture.Width);
|
||||
texture.H2 = _CheckForNextPowerOf2(texture.Height);
|
||||
texture.Index = _IDs.Dequeue();
|
||||
|
||||
_Textures[texture.Index] = texture;
|
||||
return texture;
|
||||
}
|
||||
return texture;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Copies the current frame into a texture
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture in which the frame is copied to</param>
|
||||
public void CopyScreen(ref STexture texture)
|
||||
public void CopyScreen(ref CTexture texture)
|
||||
{
|
||||
if (!_TextureExists(ref texture) || (int)texture.Width != GetScreenWidth() || (int)texture.Height != GetScreenHeight())
|
||||
//Check for actual texture sizes! (W2/H2) as it may be up/downsized compared to OrigSize
|
||||
if (!_TextureExists(texture) || texture.W2 != GetScreenWidth() || texture.H2 != GetScreenHeight())
|
||||
{
|
||||
RemoveTexture(ref texture);
|
||||
texture = CopyScreen();
|
||||
@@ -717,7 +702,7 @@ namespace Vocaluxe.Lib.Draw
|
||||
else
|
||||
{
|
||||
Surface backbufferSurface = _Device.GetBackBuffer(0, 0);
|
||||
Surface textureSurface = _D3DTextures[texture.Index].GetSurfaceLevel(0);
|
||||
Surface textureSurface = _D3DTextures[texture.ID].GetSurfaceLevel(0);
|
||||
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0);
|
||||
}
|
||||
}
|
||||
@@ -741,8 +726,6 @@ namespace Vocaluxe.Lib.Draw
|
||||
screen.Save(Path.Combine(path, file + i.ToString("00000") + ".bmp"), ImageFormat.Bmp);
|
||||
screen.Dispose();
|
||||
}
|
||||
Cursor.Hide();
|
||||
_Mouse.Visible = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -759,8 +742,8 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <param name="y2">The end y-value</param>
|
||||
public void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2)
|
||||
{
|
||||
var lineVector = new Vector2[] {new Vector2(x1, y1), new Vector2(x2, y2)};
|
||||
using (var line = new Line(_Device))
|
||||
Vector2[] lineVector = new Vector2[] {new Vector2(x1, y1), new Vector2(x2, y2)};
|
||||
using (Line line = new Line(_Device))
|
||||
{
|
||||
line.Antialias = true;
|
||||
line.Begin();
|
||||
@@ -800,33 +783,33 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// </summary>
|
||||
/// <param name="texturePath">The texture's filepath</param>
|
||||
/// <returns>A STexture object containing the added texture</returns>
|
||||
public STexture AddTexture(string texturePath)
|
||||
public CTexture AddTexture(string texturePath)
|
||||
{
|
||||
if (File.Exists(texturePath))
|
||||
if (!File.Exists(texturePath))
|
||||
{
|
||||
Bitmap bmp;
|
||||
try
|
||||
{
|
||||
bmp = new Bitmap(texturePath);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
CLog.LogError("Error loading Texture: " + texturePath);
|
||||
return new STexture(-1);
|
||||
}
|
||||
STexture s;
|
||||
try
|
||||
{
|
||||
s = AddTexture(bmp);
|
||||
}
|
||||
finally
|
||||
{
|
||||
bmp.Dispose();
|
||||
}
|
||||
return s;
|
||||
CLog.LogError("Can't find File: " + texturePath);
|
||||
return null;
|
||||
}
|
||||
CLog.LogError("Can't find File: " + texturePath);
|
||||
return new STexture(-1);
|
||||
Bitmap bmp;
|
||||
try
|
||||
{
|
||||
bmp = new Bitmap(texturePath);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
CLog.LogError("Error loading Texture: " + texturePath);
|
||||
return null;
|
||||
}
|
||||
CTexture s;
|
||||
try
|
||||
{
|
||||
s = AddTexture(bmp);
|
||||
}
|
||||
finally
|
||||
{
|
||||
bmp.Dispose();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -834,10 +817,10 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// </summary>
|
||||
/// <param name="bmp">The Bitmap of which the texure will be created from</param>
|
||||
/// <returns>A STexture object containing the added texture</returns>
|
||||
public STexture AddTexture(Bitmap bmp)
|
||||
public CTexture AddTexture(Bitmap bmp)
|
||||
{
|
||||
if (bmp.Height == 0 || bmp.Width == 0)
|
||||
return new STexture(-1);
|
||||
return null;
|
||||
int maxSize;
|
||||
//Apply the right max size
|
||||
switch (CConfig.TextureQuality)
|
||||
@@ -862,49 +845,28 @@ namespace Vocaluxe.Lib.Draw
|
||||
break;
|
||||
}
|
||||
|
||||
int w = bmp.Width;
|
||||
int h = bmp.Height;
|
||||
float ratio = (float)w / h;
|
||||
int newW = w;
|
||||
int newH = h;
|
||||
int w = Math.Min(bmp.Width, maxSize);
|
||||
int h = Math.Min(bmp.Height, maxSize);
|
||||
w = _CheckForNextPowerOf2(w);
|
||||
h = _CheckForNextPowerOf2(h);
|
||||
|
||||
if (w > maxSize && w > h)
|
||||
newW = maxSize;
|
||||
else if (h > maxSize)
|
||||
newH = maxSize;
|
||||
else if (w > h)
|
||||
newW = (int)_CheckForNextPowerOf2(w);
|
||||
else
|
||||
newH = (int)_CheckForNextPowerOf2(h);
|
||||
CTexture texture = new CTexture(bmp.Width, bmp.Height, w, h, true);
|
||||
|
||||
Bitmap bmp2 = null;
|
||||
byte[] data;
|
||||
try
|
||||
{
|
||||
if (w != newW || h != newH)
|
||||
if (bmp.Width != w || bmp.Height != h)
|
||||
{
|
||||
if (w != newW)
|
||||
{
|
||||
w = newW;
|
||||
h = (int)Math.Round(w / ratio);
|
||||
if (h == 0)
|
||||
h = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
h = newH;
|
||||
w = (int)Math.Round(h * ratio);
|
||||
if (w == 0)
|
||||
w = 1;
|
||||
}
|
||||
//Create a new Bitmap with the new sizes
|
||||
bmp2 = new Bitmap(w, h);
|
||||
//Scale the texture
|
||||
Graphics g = Graphics.FromImage(bmp2);
|
||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
|
||||
g.Dispose();
|
||||
using (Graphics g = Graphics.FromImage(bmp2))
|
||||
{
|
||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
|
||||
}
|
||||
bmp = bmp2;
|
||||
}
|
||||
|
||||
@@ -920,81 +882,73 @@ namespace Vocaluxe.Lib.Draw
|
||||
bmp2.Dispose();
|
||||
}
|
||||
|
||||
return AddTexture(w, h, data);
|
||||
return _AddTexture(texture, w, data);
|
||||
}
|
||||
|
||||
public STexture AddTexture(int w, int h, byte[] data)
|
||||
public CTexture AddTexture(int w, int h, byte[] data)
|
||||
{
|
||||
STexture texture = new STexture(-1);
|
||||
CTexture texture = _GetNewTexture(w, h);
|
||||
return _AddTexture(texture, w, data);
|
||||
}
|
||||
|
||||
Texture t = _CreateTexture(w, h, data, ref texture);
|
||||
private CTexture _AddTexture(CTexture texture, int w, byte[] data)
|
||||
{
|
||||
Texture t = _CreateTexture(texture.W2, texture.H2, w, data);
|
||||
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
_D3DTextures.Add(_IDs.Peek(), t);
|
||||
texture.Index = _IDs.Dequeue();
|
||||
_Textures[texture.Index] = texture;
|
||||
texture.ID = _IDs.Dequeue();
|
||||
_D3DTextures.Add(texture.ID, t);
|
||||
}
|
||||
return texture;
|
||||
}
|
||||
|
||||
private Texture _CreateTexture(int w, int h, byte[] data, ref STexture texture)
|
||||
private Texture _CreateTexture(int textureW, int textureH, int w, byte[] data)
|
||||
{
|
||||
texture.Width = w;
|
||||
texture.Height = h;
|
||||
texture.W2 = _CheckForNextPowerOf2(w);
|
||||
texture.H2 = _CheckForNextPowerOf2(h);
|
||||
texture.WidthRatio = w / texture.W2;
|
||||
texture.HeightRatio = h / texture.H2;
|
||||
|
||||
//Create a new texture in the managed pool, which does not need to be recreated on a lost device
|
||||
//because a copy of the texture is hold in the Ram
|
||||
Texture t = null;
|
||||
try
|
||||
{
|
||||
t = new Texture(_Device, (int)texture.W2, (int)texture.H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
|
||||
//Lock the texture and fill it with the data
|
||||
DataRectangle rect = t.LockRectangle(0, LockFlags.Discard);
|
||||
int rowWidth = 4 * (int)texture.W2;
|
||||
for (int i = 0; i + rowWidth <= data.Length; i += 4 * w)
|
||||
{
|
||||
rect.Data.Write(data, i, rowWidth);
|
||||
rect.Data.Position = rect.Data.Position - rowWidth;
|
||||
rect.Data.Position += rect.Pitch;
|
||||
}
|
||||
t.UnlockRectangle(0);
|
||||
|
||||
texture.Color = new SColorF(1f, 1f, 1f, 1f);
|
||||
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
|
||||
texture.TexturePath = String.Empty;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (t != null)
|
||||
t.Dispose();
|
||||
throw;
|
||||
}
|
||||
Texture t = new Texture(_Device, textureW, textureH, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
|
||||
_WriteDataToTexture(t, w, data);
|
||||
return t;
|
||||
}
|
||||
|
||||
public STexture EnqueueTexture(int w, int h, byte[] data)
|
||||
private static void _WriteDataToTexture(Texture t, int w, byte[] data)
|
||||
{
|
||||
STexture texture = new STexture(-1);
|
||||
STextureQueue queue = new STextureQueue {Data = data, Height = h, Width = w};
|
||||
//Lock the texture and fill it with the data
|
||||
DataRectangle rect = t.LockRectangle(0, LockFlags.Discard);
|
||||
int rowWidth = 4 * w;
|
||||
if (rowWidth == rect.Pitch)
|
||||
rect.Data.Write(data, 0, data.Length);
|
||||
else
|
||||
{
|
||||
for (int i = 0; i + rowWidth <= data.Length; i += rowWidth)
|
||||
{
|
||||
rect.Data.Write(data, i, rowWidth);
|
||||
//Go to next row
|
||||
rect.Data.Position = rect.Data.Position - rowWidth + rect.Pitch;
|
||||
}
|
||||
}
|
||||
t.UnlockRectangle(0);
|
||||
}
|
||||
|
||||
texture.Height = h;
|
||||
texture.Width = w;
|
||||
public CTexture EnqueueTexture(int w, int h, byte[] data)
|
||||
{
|
||||
CTexture texture = _GetNewTexture(w, h);
|
||||
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
_D3DTextures.Add(_IDs.Peek(), null);
|
||||
texture.Index = _IDs.Dequeue();
|
||||
queue.ID = texture.Index;
|
||||
_Queue.Add(queue);
|
||||
_Textures[texture.Index] = texture;
|
||||
texture.ID = _IDs.Dequeue();
|
||||
_D3DTextures.Add(texture.ID, null);
|
||||
STextureQueue queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data);
|
||||
_TexturesToLoad.Enqueue(queue);
|
||||
}
|
||||
return texture;
|
||||
}
|
||||
|
||||
private CTexture _GetNewTexture(int w, int h)
|
||||
{
|
||||
return new CTexture(w, h, _CheckForNextPowerOf2(w), _CheckForNextPowerOf2(h));
|
||||
}
|
||||
#endregion adding
|
||||
|
||||
#region updating
|
||||
@@ -1002,48 +956,30 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// Updates the data of a texture
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture to update</param>
|
||||
/// <param name="w"></param>
|
||||
/// <param name="h"></param>
|
||||
/// <param name="data">A byte array containing the new texture's data</param>
|
||||
/// <returns>True if succeeded</returns>
|
||||
public bool UpdateTexture(ref STexture texture, byte[] data)
|
||||
public bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && _TextureExists(ref texture))
|
||||
//Check if texture exists and extend matches
|
||||
if (!_TextureExists(texture) || texture.UsedWidth != w || texture.UsedHeight != h)
|
||||
return false;
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
DataRectangle rect = _D3DTextures[texture.Index].LockRectangle(0, LockFlags.Discard);
|
||||
int w = (int)texture.Width;
|
||||
for (int i = 0; i < data.Length; i += 4 * w)
|
||||
{
|
||||
rect.Data.Write(data, i, 4 * w);
|
||||
rect.Data.Position -= 4 * w;
|
||||
rect.Data.Position += rect.Pitch;
|
||||
}
|
||||
_D3DTextures[texture.Index].UnlockRectangle(0);
|
||||
}
|
||||
|
||||
//Flamefire: Unneccesary as height can not be changed by this! (Texture gets copied)
|
||||
//Texture.height_ratio = Texture.height / CheckForNextPowerOf2(Texture.height);
|
||||
//Texture.width_ratio = Texture.width / CheckForNextPowerOf2(Texture.width);
|
||||
return true;
|
||||
|
||||
/*Surface s = _D3DTextures[Texture.index].GetSurfaceLevel(0);
|
||||
DataRectangle d = s.LockRectangle(LockFlags.Discard);
|
||||
|
||||
for (int i = 0; i < Data.Length; )
|
||||
{
|
||||
d.Data.Write(Data, i, 4 * (int)Texture.width);
|
||||
i += 4 * (int)Texture.width;
|
||||
d.Data.Position = d.Data.Position - 4 * (int)Texture.width;
|
||||
d.Data.Position += d.Pitch;
|
||||
}
|
||||
|
||||
Texture.height_ratio = Texture.height / NextPowerOfTwo(Texture.height);
|
||||
Texture.width_ratio = Texture.width / NextPowerOfTwo(Texture.width);
|
||||
|
||||
s.UnlockRectangle();
|
||||
return true; */
|
||||
_WriteDataToTexture(_D3DTextures[texture.ID], w, data);
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
if (!UpdateTexture(texture, w, h, data))
|
||||
{
|
||||
RemoveTexture(ref texture);
|
||||
texture = AddTexture(w, h, data);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endregion updating
|
||||
|
||||
@@ -1052,40 +988,30 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture to check</param>
|
||||
/// <returns>True if the texture exists</returns>
|
||||
private bool _TextureExists(ref STexture texture)
|
||||
private bool _TextureExists(CTexture texture)
|
||||
{
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
if (_Textures.ContainsKey(texture.Index))
|
||||
{
|
||||
if (_Textures[texture.Index].Index >= 0)
|
||||
{
|
||||
texture = _Textures[texture.Index];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return texture != null && _D3DTextures.ContainsKey(texture.ID);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes a texture from the Vram
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture to be removed</param>
|
||||
public void RemoveTexture(ref STexture texture)
|
||||
public void RemoveTexture(ref CTexture texture)
|
||||
{
|
||||
lock (_MutexTexture)
|
||||
if (_TextureExists(texture))
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0))
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
_D3DTextures[texture.Index].Dispose();
|
||||
_D3DTextures.Remove(texture.Index);
|
||||
_Textures.Remove(texture.Index);
|
||||
_IDs.Enqueue(texture.Index);
|
||||
texture.Index = -1;
|
||||
texture.ID = -1;
|
||||
_D3DTextures[texture.ID].Dispose();
|
||||
_D3DTextures.Remove(texture.ID);
|
||||
_IDs.Enqueue(texture.ID);
|
||||
}
|
||||
}
|
||||
texture = null;
|
||||
}
|
||||
|
||||
#region drawing
|
||||
@@ -1093,8 +1019,10 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// Draws a texture
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture to be drawn</param>
|
||||
public void DrawTexture(STexture texture)
|
||||
public void DrawTexture(CTexture texture)
|
||||
{
|
||||
if (texture == null)
|
||||
return;
|
||||
DrawTexture(texture, texture.Rect, texture.Color);
|
||||
}
|
||||
|
||||
@@ -1103,8 +1031,10 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// </summary>
|
||||
/// <param name="texture">The texture to be drawn</param>
|
||||
/// <param name="rect">A SRectF struct containing the destination coordinates</param>
|
||||
public void DrawTexture(STexture texture, SRectF rect)
|
||||
public void DrawTexture(CTexture texture, SRectF rect)
|
||||
{
|
||||
if (texture == null)
|
||||
return;
|
||||
DrawTexture(texture, rect, texture.Color);
|
||||
}
|
||||
|
||||
@@ -1115,7 +1045,7 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <param name="rect">A SRectF struct containing the destination coordinates</param>
|
||||
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
|
||||
/// <param name="mirrored">True if the texture should be mirrored</param>
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
{
|
||||
DrawTexture(texture, rect, color, new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, rect.Z), mirrored);
|
||||
}
|
||||
@@ -1128,86 +1058,85 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
|
||||
/// <param name="bounds">A SRectF struct containing which part of the texture should be drawn</param>
|
||||
/// <param name="mirrored">True if the texture should be mirrored</param>
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
{
|
||||
if (_TextureExists(ref texture))
|
||||
if (!_TextureExists(texture))
|
||||
return;
|
||||
if (_D3DTextures[texture.ID] == null)
|
||||
return;
|
||||
|
||||
//Calculate the position
|
||||
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
|
||||
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
|
||||
float y1 = (bounds.Y - rect.Y) / rect.H * texture.HeightRatio;
|
||||
float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio;
|
||||
|
||||
if (x1 < 0)
|
||||
x1 = 0f;
|
||||
|
||||
if (x2 > texture.WidthRatio)
|
||||
x2 = texture.WidthRatio;
|
||||
|
||||
if (y1 < 0)
|
||||
y1 = 0f;
|
||||
|
||||
if (y2 > texture.HeightRatio)
|
||||
y2 = texture.HeightRatio;
|
||||
|
||||
//Calculate the size
|
||||
float rx1 = rect.X;
|
||||
float rx2 = rect.X + rect.W;
|
||||
float ry1 = rect.Y;
|
||||
float ry2 = rect.Y + rect.H;
|
||||
|
||||
if (rx1 < bounds.X)
|
||||
rx1 = bounds.X;
|
||||
|
||||
if (rx2 > bounds.X + bounds.W)
|
||||
rx2 = bounds.X + bounds.W;
|
||||
|
||||
if (ry1 < bounds.Y)
|
||||
ry1 = bounds.Y;
|
||||
|
||||
if (ry2 > bounds.Y + bounds.H)
|
||||
ry2 = bounds.Y + bounds.H;
|
||||
|
||||
//Align the pixels because Direct3D expects the pixels to be the left top corner
|
||||
rx1 -= 0.5f;
|
||||
ry1 -= 0.5f;
|
||||
rx2 -= 0.5f;
|
||||
ry2 -= 0.5f;
|
||||
|
||||
color.A *= CGraphics.GlobalAlpha;
|
||||
|
||||
if (color.A > 1)
|
||||
color.A = 1;
|
||||
if (color.R > 1)
|
||||
color.R = 1;
|
||||
if (color.G > 1)
|
||||
color.G = 1;
|
||||
if (color.B > 1)
|
||||
color.B = 1;
|
||||
|
||||
Color c = color.AsColor();
|
||||
|
||||
if (!mirrored)
|
||||
{
|
||||
if (_D3DTextures[texture.Index] == null)
|
||||
return;
|
||||
|
||||
//Calculate the position
|
||||
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
|
||||
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
|
||||
float y1 = (bounds.Y - rect.Y) / rect.H * texture.HeightRatio;
|
||||
float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio;
|
||||
|
||||
if (x1 < 0)
|
||||
x1 = 0f;
|
||||
|
||||
if (x2 > texture.WidthRatio)
|
||||
x2 = texture.WidthRatio;
|
||||
|
||||
if (y1 < 0)
|
||||
y1 = 0f;
|
||||
|
||||
if (y2 > texture.HeightRatio)
|
||||
y2 = texture.HeightRatio;
|
||||
|
||||
//Calculate the size
|
||||
float rx1 = rect.X;
|
||||
float rx2 = rect.X + rect.W;
|
||||
float ry1 = rect.Y;
|
||||
float ry2 = rect.Y + rect.H;
|
||||
|
||||
if (rx1 < bounds.X)
|
||||
rx1 = bounds.X;
|
||||
|
||||
if (rx2 > bounds.X + bounds.W)
|
||||
rx2 = bounds.X + bounds.W;
|
||||
|
||||
if (ry1 < bounds.Y)
|
||||
ry1 = bounds.Y;
|
||||
|
||||
if (ry2 > bounds.Y + bounds.H)
|
||||
ry2 = bounds.Y + bounds.H;
|
||||
|
||||
//Align the pixels because Direct3D expects the pixels to be the left top corner
|
||||
rx1 -= 0.5f;
|
||||
ry1 -= 0.5f;
|
||||
rx2 -= 0.5f;
|
||||
ry2 -= 0.5f;
|
||||
|
||||
color.A *= CGraphics.GlobalAlpha;
|
||||
|
||||
if (color.A > 1)
|
||||
color.A = 1;
|
||||
if (color.R > 1)
|
||||
color.R = 1;
|
||||
if (color.G > 1)
|
||||
color.G = 1;
|
||||
if (color.B > 1)
|
||||
color.B = 1;
|
||||
|
||||
Color c = color.AsColor();
|
||||
|
||||
if (!mirrored)
|
||||
{
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
else
|
||||
{
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y1), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y2), c.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y1), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
else
|
||||
{
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y1), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y2), c.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y1), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1219,11 +1148,11 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
|
||||
/// <param name="begin">A Value ranging from 0 to 1 containing the beginning of the texture</param>
|
||||
/// <param name="end">A Value ranging from 0 to 1 containing the ending of the texture</param>
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end)
|
||||
{
|
||||
if (!_TextureExists(ref texture))
|
||||
if (!_TextureExists(texture))
|
||||
return;
|
||||
if (_D3DTextures[texture.Index] == null)
|
||||
if (_D3DTextures[texture.ID] == null)
|
||||
return;
|
||||
|
||||
float x1 = 0f + begin * texture.WidthRatio;
|
||||
@@ -1251,7 +1180,7 @@ namespace Vocaluxe.Lib.Draw
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1263,11 +1192,11 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <param name="bounds">A SRectF struct containing which part of the texture should be drawn</param>
|
||||
/// <param name="space">The space between the texture and the reflection</param>
|
||||
/// <param name="height">The height of the reflection</param>
|
||||
public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
|
||||
public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
|
||||
{
|
||||
if (!_TextureExists(ref texture))
|
||||
if (!_TextureExists(texture))
|
||||
return;
|
||||
if (_D3DTextures[texture.Index] == null)
|
||||
if (_D3DTextures[texture.ID] == null)
|
||||
return;
|
||||
|
||||
if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon ||
|
||||
@@ -1283,61 +1212,58 @@ namespace Vocaluxe.Lib.Draw
|
||||
if (height > bounds.H)
|
||||
height = bounds.H;
|
||||
|
||||
if (_TextureExists(ref texture))
|
||||
{
|
||||
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
|
||||
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
|
||||
float y1 = (bounds.Y - rect.Y + rect.H - height) / rect.H * texture.HeightRatio;
|
||||
float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio;
|
||||
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
|
||||
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
|
||||
float y1 = (bounds.Y - rect.Y + rect.H - height) / rect.H * texture.HeightRatio;
|
||||
float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio;
|
||||
|
||||
if (x1 < 0)
|
||||
x1 = 0f;
|
||||
if (x1 < 0)
|
||||
x1 = 0f;
|
||||
|
||||
if (x2 > texture.WidthRatio)
|
||||
x2 = texture.WidthRatio;
|
||||
if (x2 > texture.WidthRatio)
|
||||
x2 = texture.WidthRatio;
|
||||
|
||||
if (y1 < 0)
|
||||
y1 = 0f;
|
||||
if (y1 < 0)
|
||||
y1 = 0f;
|
||||
|
||||
if (y2 > texture.HeightRatio)
|
||||
y2 = texture.HeightRatio;
|
||||
if (y2 > texture.HeightRatio)
|
||||
y2 = texture.HeightRatio;
|
||||
|
||||
|
||||
float rx1 = rect.X;
|
||||
float rx2 = rect.X + rect.W;
|
||||
float ry1 = rect.Y + rect.H + space;
|
||||
float ry2 = rect.Y + rect.H + space + height;
|
||||
float rx1 = rect.X;
|
||||
float rx2 = rect.X + rect.W;
|
||||
float ry1 = rect.Y + rect.H + space;
|
||||
float ry2 = rect.Y + rect.H + space + height;
|
||||
|
||||
if (rx1 < bounds.X)
|
||||
rx1 = bounds.X;
|
||||
if (rx1 < bounds.X)
|
||||
rx1 = bounds.X;
|
||||
|
||||
if (rx2 > bounds.X + bounds.W)
|
||||
rx2 = bounds.X + bounds.W;
|
||||
if (rx2 > bounds.X + bounds.W)
|
||||
rx2 = bounds.X + bounds.W;
|
||||
|
||||
if (ry1 < bounds.Y + space)
|
||||
ry1 = bounds.Y + space;
|
||||
if (ry1 < bounds.Y + space)
|
||||
ry1 = bounds.Y + space;
|
||||
|
||||
if (ry2 > bounds.Y + bounds.H + space + height)
|
||||
ry2 = bounds.Y + bounds.H + space + height;
|
||||
if (ry2 > bounds.Y + bounds.H + space + height)
|
||||
ry2 = bounds.Y + bounds.H + space + height;
|
||||
|
||||
//Align the pixels because Direct3D expects the pixels to be the left top corner
|
||||
rx1 -= 0.5f;
|
||||
ry1 -= 0.5f;
|
||||
rx2 -= 0.5f;
|
||||
ry2 -= 0.5f;
|
||||
//Align the pixels because Direct3D expects the pixels to be the left top corner
|
||||
rx1 -= 0.5f;
|
||||
ry1 -= 0.5f;
|
||||
rx2 -= 0.5f;
|
||||
ry2 -= 0.5f;
|
||||
|
||||
color.A *= CGraphics.GlobalAlpha;
|
||||
Color c = color.AsColor();
|
||||
color.A = 0;
|
||||
Color transparent = color.AsColor();
|
||||
color.A *= CGraphics.GlobalAlpha;
|
||||
Color c = color.AsColor();
|
||||
color.A = 0;
|
||||
Color transparent = color.AsColor();
|
||||
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), transparent.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), transparent.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
|
||||
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
|
||||
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), transparent.ToArgb());
|
||||
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), transparent.ToArgb());
|
||||
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
|
||||
_AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
|
||||
}
|
||||
#endregion drawing
|
||||
|
||||
@@ -1345,21 +1271,16 @@ namespace Vocaluxe.Lib.Draw
|
||||
{
|
||||
lock (_MutexTexture)
|
||||
{
|
||||
if (_Queue.Count == 0)
|
||||
return;
|
||||
while (_TexturesToLoad.Count > 0)
|
||||
{
|
||||
STextureQueue q = _TexturesToLoad.Dequeue();
|
||||
Texture t;
|
||||
if (_D3DTextures.TryGetValue(q.ID, out t) && t != null)
|
||||
continue;
|
||||
|
||||
STextureQueue q = _Queue[0];
|
||||
STexture texture;
|
||||
if (_Textures.ContainsKey(q.ID))
|
||||
texture = _Textures[q.ID];
|
||||
else
|
||||
return;
|
||||
|
||||
Texture t = _CreateTexture(q.Width, q.Height, q.Data, ref texture);
|
||||
_D3DTextures[q.ID] = t;
|
||||
|
||||
_Textures[texture.Index] = texture;
|
||||
_Queue.RemoveAt(0);
|
||||
t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data);
|
||||
_D3DTextures[q.ID] = t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1369,7 +1290,7 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// <returns>The amount of textures</returns>
|
||||
public int GetTextureCount()
|
||||
{
|
||||
return _Textures.Count;
|
||||
return _D3DTextures.Count;
|
||||
}
|
||||
#endregion Textures
|
||||
|
||||
@@ -1381,13 +1302,13 @@ namespace Vocaluxe.Lib.Draw
|
||||
/// </summary>
|
||||
/// <param name="n">The value of which the next power of two will be calculated</param>
|
||||
/// <returns>The next power of two</returns>
|
||||
private float _CheckForNextPowerOf2(float n)
|
||||
private int _CheckForNextPowerOf2(int n)
|
||||
{
|
||||
if (_NonPowerOf2TextureSupported)
|
||||
return n;
|
||||
if (n < 0)
|
||||
throw new ArgumentOutOfRangeException("n", "Must be positive.");
|
||||
return (float)Math.Pow(2, Math.Ceiling(Math.Log(n, 2)));
|
||||
return (int)Math.Pow(2, Math.Ceiling(Math.Log(n, 2)));
|
||||
}
|
||||
|
||||
private SlimDX.Matrix _CalculateRotationMatrix(float rot, float rx1, float rx2, float ry1, float ry2)
|
||||
|
||||
@@ -28,7 +28,7 @@ using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Draw
|
||||
{
|
||||
@@ -46,8 +46,8 @@ namespace Vocaluxe.Lib.Draw
|
||||
private bool _TopMost;
|
||||
private Rectangle _Bounds;
|
||||
|
||||
private readonly List<STexture> _Textures;
|
||||
private readonly List<Bitmap> _Bitmaps;
|
||||
private readonly Dictionary<int, CTexture> _Textures = new Dictionary<int, CTexture>();
|
||||
private readonly List<Bitmap> _Bitmaps = new List<Bitmap>();
|
||||
|
||||
private readonly Color _ClearColor = Color.DarkBlue;
|
||||
|
||||
@@ -55,9 +55,6 @@ namespace Vocaluxe.Lib.Draw
|
||||
{
|
||||
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon));
|
||||
|
||||
_Textures = new List<STexture>();
|
||||
_Bitmaps = new List<Bitmap>();
|
||||
|
||||
_Keys = new CKeys();
|
||||
_Mouse = new CMouse();
|
||||
ClientSize = new Size(1280, 720);
|
||||
@@ -290,34 +287,27 @@ namespace Vocaluxe.Lib.Draw
|
||||
_G.Clear(_ClearColor);
|
||||
}
|
||||
|
||||
public STexture CopyScreen()
|
||||
public CTexture CopyScreen()
|
||||
{
|
||||
STexture texture = new STexture(0);
|
||||
Bitmap bmp = new Bitmap(_Backbuffer);
|
||||
_Bitmaps.Add(bmp);
|
||||
|
||||
texture.Index = _Bitmaps.Count - 1;
|
||||
|
||||
texture.Width = bmp.Width;
|
||||
texture.Height = bmp.Height;
|
||||
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
|
||||
|
||||
// Add to Texture List
|
||||
texture.Color = new SColorF(1f, 1f, 1f, 1f);
|
||||
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
|
||||
_Textures.Add(texture);
|
||||
_Textures[texture.ID] = texture;
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public void CopyScreen(ref STexture texture)
|
||||
public void CopyScreen(ref CTexture texture)
|
||||
{
|
||||
if (texture.Index == 0 || (int)texture.Width != GetScreenWidth() || (int)texture.Height != GetScreenHeight())
|
||||
if (!_TextureExists(texture) || texture.W2 != GetScreenWidth() || texture.H2 != GetScreenHeight())
|
||||
{
|
||||
RemoveTexture(ref texture);
|
||||
texture = CopyScreen();
|
||||
}
|
||||
else
|
||||
_Bitmaps[texture.Index] = new Bitmap(_Backbuffer);
|
||||
_Bitmaps[texture.ID] = new Bitmap(_Backbuffer);
|
||||
}
|
||||
|
||||
public void MakeScreenShot()
|
||||
@@ -341,70 +331,63 @@ namespace Vocaluxe.Lib.Draw
|
||||
|
||||
public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) {}
|
||||
|
||||
public STexture AddTexture(Bitmap bmp)
|
||||
public CTexture AddTexture(Bitmap bmp)
|
||||
{
|
||||
Bitmap bmp2 = new Bitmap(bmp);
|
||||
_Bitmaps.Add(bmp2);
|
||||
STexture texture = new STexture {Index = _Bitmaps.Count - 1, Width = bmp.Width, Height = bmp.Height, Color = new SColorF(1f, 1f, 1f, 1f)};
|
||||
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
|
||||
|
||||
// Add to Texture List
|
||||
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
|
||||
texture.TexturePath = String.Empty;
|
||||
|
||||
_Textures.Add(texture);
|
||||
_Textures[texture.ID] = texture;
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public STexture AddTexture(string texturePath)
|
||||
private CTexture _GetNewTexture(int w, int h)
|
||||
{
|
||||
return new CTexture(w, h) {ID = _Bitmaps.Count - 1};
|
||||
}
|
||||
|
||||
public CTexture AddTexture(string texturePath)
|
||||
{
|
||||
STexture texture = new STexture();
|
||||
if (File.Exists(texturePath))
|
||||
{
|
||||
bool found = false;
|
||||
foreach (STexture tex in _Textures)
|
||||
foreach (CTexture tex in _Textures.Values)
|
||||
{
|
||||
if (tex.TexturePath == texturePath)
|
||||
{
|
||||
texture = tex;
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
return tex;
|
||||
}
|
||||
|
||||
if (!found)
|
||||
using (Bitmap bmp = new Bitmap(texturePath))
|
||||
{
|
||||
using (Bitmap bmp = new Bitmap(texturePath))
|
||||
return AddTexture(bmp);
|
||||
CTexture texture = AddTexture(bmp);
|
||||
texture.TexturePath = texturePath;
|
||||
}
|
||||
}
|
||||
|
||||
return texture;
|
||||
return null;
|
||||
}
|
||||
|
||||
public void RemoveTexture(ref STexture texture)
|
||||
private bool _TextureExists(CTexture texture)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0))
|
||||
{
|
||||
for (int i = 0; i < _Textures.Count; i++)
|
||||
{
|
||||
if (_Textures[i].Index == texture.Index)
|
||||
{
|
||||
_Bitmaps[texture.Index].Dispose();
|
||||
_Textures.RemoveAt(i);
|
||||
texture.Index = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return texture != null && _Textures.ContainsKey(texture.ID);
|
||||
}
|
||||
|
||||
public STexture EnqueueTexture(int w, int h, byte[] data)
|
||||
public void RemoveTexture(ref CTexture texture)
|
||||
{
|
||||
if (_TextureExists(texture))
|
||||
{
|
||||
_Bitmaps[texture.ID].Dispose();
|
||||
_Textures.Remove(texture.ID);
|
||||
}
|
||||
texture = null;
|
||||
}
|
||||
|
||||
public CTexture EnqueueTexture(int w, int h, byte[] data)
|
||||
{
|
||||
return AddTexture(w, h, data);
|
||||
}
|
||||
|
||||
public STexture AddTexture(int w, int h, byte[] data)
|
||||
public CTexture AddTexture(int w, int h, byte[] data)
|
||||
{
|
||||
using (Bitmap bmp = new Bitmap(w, h))
|
||||
{
|
||||
@@ -415,49 +398,59 @@ namespace Vocaluxe.Lib.Draw
|
||||
}
|
||||
}
|
||||
|
||||
public bool UpdateTexture(ref STexture texture, byte[] data)
|
||||
public bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
|
||||
if (_TextureExists(texture))
|
||||
{
|
||||
BitmapData bmpData = _Bitmaps[texture.Index].LockBits(new Rectangle(0, 0, _Bitmaps[texture.Index].Width, _Bitmaps[texture.Index].Height),
|
||||
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
|
||||
BitmapData bmpData = _Bitmaps[texture.ID].LockBits(new Rectangle(0, 0, _Bitmaps[texture.ID].Width, _Bitmaps[texture.ID].Height),
|
||||
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
|
||||
Marshal.Copy(data, 0, bmpData.Scan0, data.Length);
|
||||
_Bitmaps[texture.Index].UnlockBits(bmpData);
|
||||
_Bitmaps[texture.ID].UnlockBits(bmpData);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data)
|
||||
{
|
||||
if (!UpdateTexture(texture, w, h, data))
|
||||
{
|
||||
RemoveTexture(ref texture);
|
||||
texture = AddTexture(w, h, data);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture)
|
||||
public void DrawTexture(CTexture texture)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
|
||||
if (texture != null)
|
||||
DrawTexture(texture, texture.Rect, texture.Color);
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect)
|
||||
public void DrawTexture(CTexture texture, SRectF rect)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
|
||||
if (texture != null)
|
||||
DrawTexture(texture, rect, texture.Color);
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
|
||||
if (texture != null)
|
||||
DrawTexture(texture, rect, color, rect, mirrored);
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
|
||||
{
|
||||
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
|
||||
{
|
||||
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.Index], color);
|
||||
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
|
||||
coloredBitmap.Dispose();
|
||||
}
|
||||
if (!_TextureExists(texture))
|
||||
return;
|
||||
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.ID], color);
|
||||
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
|
||||
coloredBitmap.Dispose();
|
||||
}
|
||||
|
||||
public void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end) {}
|
||||
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) {}
|
||||
|
||||
public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) {}
|
||||
public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) {}
|
||||
|
||||
public int GetTextureCount()
|
||||
{
|
||||
|
||||
+391
-480
File diff suppressed because it is too large.
Load diff
+16
-16
@@ -17,10 +17,9 @@
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Draw
|
||||
{
|
||||
@@ -36,28 +35,29 @@ namespace Vocaluxe.Lib.Draw
|
||||
int GetTextureCount();
|
||||
|
||||
void ClearScreen();
|
||||
STexture CopyScreen();
|
||||
void CopyScreen(ref STexture texture);
|
||||
CTexture CopyScreen();
|
||||
void CopyScreen(ref CTexture texture);
|
||||
void MakeScreenShot();
|
||||
|
||||
STexture AddTexture(string texturePath);
|
||||
STexture AddTexture(Bitmap bitmap);
|
||||
STexture AddTexture(int w, int h, byte[] data);
|
||||
STexture EnqueueTexture(int w, int h, byte[] data);
|
||||
bool UpdateTexture(ref STexture texture, byte[] data);
|
||||
void RemoveTexture(ref STexture texture);
|
||||
CTexture AddTexture(string texturePath);
|
||||
CTexture AddTexture(Bitmap bitmap);
|
||||
CTexture AddTexture(int w, int h, byte[] data);
|
||||
CTexture EnqueueTexture(int w, int h, byte[] data);
|
||||
bool UpdateTexture(CTexture texture, int w, int h, byte[] data);
|
||||
bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data);
|
||||
void RemoveTexture(ref CTexture texture);
|
||||
|
||||
// Basic Draw Methods
|
||||
void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2);
|
||||
void DrawColor(SColorF color, SRectF rect);
|
||||
void DrawColorReflection(SColorF color, SRectF rect, float space, float height);
|
||||
|
||||
void DrawTexture(STexture texture);
|
||||
void DrawTexture(STexture texture, SRectF rect);
|
||||
void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false);
|
||||
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
|
||||
void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end);
|
||||
void DrawTexture(CTexture texture);
|
||||
void DrawTexture(CTexture texture, SRectF rect);
|
||||
void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false);
|
||||
void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
|
||||
void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end);
|
||||
|
||||
void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height);
|
||||
void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using VocaluxeLib;
|
||||
|
||||
namespace Vocaluxe.Lib.Input
|
||||
@@ -25,17 +41,11 @@ namespace Vocaluxe.Lib.Input
|
||||
_CurrentMousePool = new List<SMouseEvent>();
|
||||
}
|
||||
|
||||
public virtual void Close()
|
||||
{
|
||||
}
|
||||
public virtual void Close() {}
|
||||
|
||||
public virtual void Connect()
|
||||
{
|
||||
}
|
||||
public virtual void Connect() {}
|
||||
|
||||
public virtual void Disconnect()
|
||||
{
|
||||
}
|
||||
public virtual void Disconnect() {}
|
||||
|
||||
public virtual bool IsConnected()
|
||||
{
|
||||
@@ -81,9 +91,7 @@ namespace Vocaluxe.Lib.Input
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void SetRumble(float duration)
|
||||
{
|
||||
}
|
||||
public virtual void SetRumble(float duration) {}
|
||||
|
||||
public void AddKeyEvent(SKeyEvent keyEvent)
|
||||
{
|
||||
@@ -101,4 +109,4 @@ namespace Vocaluxe.Lib.Input
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,9 @@ namespace Vocaluxe.Lib.Playlist
|
||||
if (PlaylistFile == "")
|
||||
{
|
||||
string filename = string.Empty;
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (char chr in PlaylistName)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (char.IsLetter(chr))
|
||||
filename += chr.ToString();
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Video
|
||||
{
|
||||
@@ -58,7 +58,7 @@ namespace Vocaluxe.Lib.Video
|
||||
return 0f;
|
||||
}
|
||||
|
||||
public abstract bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime);
|
||||
public abstract bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime);
|
||||
|
||||
public virtual bool Skip(int streamID, float start, float gap)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Video.Acinerella;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Video
|
||||
{
|
||||
@@ -90,7 +90,7 @@ namespace Vocaluxe.Lib.Video
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime)
|
||||
public override bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
|
||||
{
|
||||
videoTime = 0;
|
||||
if (_Initialized)
|
||||
@@ -299,7 +299,7 @@ namespace Vocaluxe.Lib.Video
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool GetFrame(ref STexture frame, float time, out float videoTime)
|
||||
public bool GetFrame(ref CTexture frame, float time, out float videoTime)
|
||||
{
|
||||
videoTime = 0;
|
||||
if (!_FileOpened)
|
||||
@@ -323,7 +323,7 @@ namespace Vocaluxe.Lib.Video
|
||||
|
||||
_UploadNewFrame(ref frame);
|
||||
//EventDecode.Set();
|
||||
return true;
|
||||
return frame != null;
|
||||
}
|
||||
|
||||
if (Math.Abs(_SetTime - time) > float.Epsilon)
|
||||
@@ -335,7 +335,7 @@ namespace Vocaluxe.Lib.Video
|
||||
_UploadNewFrame(ref frame);
|
||||
videoTime = _CurrentVideoTime;
|
||||
//EventDecode.Set();
|
||||
return true;
|
||||
return frame != null;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -650,7 +650,7 @@ namespace Vocaluxe.Lib.Video
|
||||
}
|
||||
}
|
||||
|
||||
private void _UploadNewFrame(ref STexture frame)
|
||||
private void _UploadNewFrame(ref CTexture frame)
|
||||
{
|
||||
if (!_FileOpened)
|
||||
return;
|
||||
@@ -661,13 +661,7 @@ namespace Vocaluxe.Lib.Video
|
||||
|
||||
if (num >= 0)
|
||||
{
|
||||
if (frame.Index == -1 || _Width != (int)frame.Width || _Height != (int)frame.Height)
|
||||
{
|
||||
CDraw.RemoveTexture(ref frame);
|
||||
frame = CDraw.AddTexture(_Width, _Height, _FrameBuffer[num].Data);
|
||||
}
|
||||
else
|
||||
CDraw.UpdateTexture(ref frame, _FrameBuffer[num].Data);
|
||||
CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _FrameBuffer[num].Data);
|
||||
|
||||
lock (_MutexSyncSignals)
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
using System;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Video.Gstreamer;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Video
|
||||
{
|
||||
@@ -78,13 +78,13 @@ namespace Vocaluxe.Lib.Video
|
||||
return CGstreamerVideoWrapper.GetVideoLength(streamID);
|
||||
}
|
||||
|
||||
public bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime)
|
||||
public bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
|
||||
{
|
||||
SManagedFrame managedFrame = CGstreamerVideoWrapper.GetFrame(streamID, time);
|
||||
videoTime = managedFrame.Videotime;
|
||||
|
||||
_UploadNewFrame(ref frame, ref managedFrame.Buffer, managedFrame.Width, managedFrame.Height);
|
||||
return true;
|
||||
return frame != null;
|
||||
}
|
||||
|
||||
public bool Skip(int streamID, float start, float gap)
|
||||
@@ -117,17 +117,11 @@ namespace Vocaluxe.Lib.Video
|
||||
CGstreamerVideoWrapper.UpdateVideo();
|
||||
}
|
||||
|
||||
private void _UploadNewFrame(ref STexture frame, ref byte[] data, int width, int height)
|
||||
private void _UploadNewFrame(ref CTexture frame, ref byte[] data, int width, int height)
|
||||
{
|
||||
if (data == null)
|
||||
return;
|
||||
if (frame.Index == -1 || width != (int)frame.Width || height != (int)frame.Height || data.Length == 0)
|
||||
{
|
||||
CDraw.RemoveTexture(ref frame);
|
||||
frame = CDraw.AddTexture(width, height, data);
|
||||
}
|
||||
else
|
||||
CDraw.UpdateTexture(ref frame, data);
|
||||
CDraw.UpdateOrAddTexture(ref frame, width, height, data);
|
||||
data = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Video
|
||||
{
|
||||
@@ -41,7 +41,16 @@ namespace Vocaluxe.Lib.Video
|
||||
int GetNumStreams();
|
||||
|
||||
float GetLength(int streamID);
|
||||
bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime);
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="streamID"></param>
|
||||
/// <param name="frame"></param>
|
||||
/// <param name="time"></param>
|
||||
/// <param name="videoTime"></param>
|
||||
/// <returns>True if frame is valid</returns>
|
||||
bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime);
|
||||
|
||||
bool Skip(int streamID, float start, float gap);
|
||||
void SetLoop(int streamID, bool loop);
|
||||
void Pause(int streamID);
|
||||
|
||||
@@ -24,7 +24,7 @@ using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Runtime.InteropServices;
|
||||
using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Webcam
|
||||
{
|
||||
@@ -41,29 +41,20 @@ namespace Vocaluxe.Lib.Webcam
|
||||
|
||||
public void Close()
|
||||
{
|
||||
if (_Webcam != null)
|
||||
{
|
||||
_Webcam.SignalToStop();
|
||||
_Webcam.WaitForStop();
|
||||
_Webcam.NewFrame -= _OnFrame;
|
||||
_Data = new byte[1];
|
||||
}
|
||||
if (_Webcam == null)
|
||||
return;
|
||||
_Webcam.SignalToStop();
|
||||
_Webcam.WaitForStop();
|
||||
_Webcam.NewFrame -= _OnFrame;
|
||||
_Data = new byte[1];
|
||||
}
|
||||
|
||||
public bool GetFrame(ref STexture frame)
|
||||
public bool GetFrame(ref CTexture frame)
|
||||
{
|
||||
if (_Webcam != null && _Width > 0 && _Height > 0 && _Data.Length == _Width * _Height * 4)
|
||||
lock (_MutexData)
|
||||
{
|
||||
lock (_MutexData)
|
||||
{
|
||||
if (frame.Index == -1 || _Width != (int)frame.Width || _Height != (int)frame.Height)
|
||||
{
|
||||
CDraw.RemoveTexture(ref frame);
|
||||
frame = CDraw.AddTexture(_Width, _Height, _Data);
|
||||
}
|
||||
else
|
||||
CDraw.UpdateTexture(ref frame, _Data);
|
||||
}
|
||||
if (_Webcam != null && _Width > 0 && _Height > 0 && _Data.Length == _Width * _Height * 4)
|
||||
CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _Data);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -114,19 +105,18 @@ namespace Vocaluxe.Lib.Webcam
|
||||
|
||||
private void _OnFrame(object sender, NewFrameEventArgs e)
|
||||
{
|
||||
if (!_Paused)
|
||||
if (_Paused)
|
||||
return;
|
||||
lock (_MutexData)
|
||||
{
|
||||
lock (_MutexData)
|
||||
{
|
||||
if (_Width != e.Frame.Width || _Height != e.Frame.Height || _Data.Length != e.Frame.Width * e.Frame.Height * 4)
|
||||
_Data = new byte[4 * e.Frame.Width * e.Frame.Height];
|
||||
if (_Width != e.Frame.Width || _Height != e.Frame.Height || _Data.Length != e.Frame.Width * e.Frame.Height * 4)
|
||||
_Data = new byte[4 * e.Frame.Width * e.Frame.Height];
|
||||
|
||||
_Width = e.Frame.Width;
|
||||
_Height = e.Frame.Height;
|
||||
BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
|
||||
Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length);
|
||||
e.Frame.UnlockBits(bitmapdata);
|
||||
}
|
||||
_Width = e.Frame.Width;
|
||||
_Height = e.Frame.Height;
|
||||
BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
|
||||
Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length);
|
||||
e.Frame.UnlockBits(bitmapdata);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,14 +128,13 @@ namespace Vocaluxe.Lib.Webcam
|
||||
|
||||
public void Start()
|
||||
{
|
||||
if (_Webcam != null)
|
||||
{
|
||||
_Webcam.NewFrame -= _OnFrame;
|
||||
//Subscribe to NewFrame event
|
||||
_Webcam.NewFrame += _OnFrame;
|
||||
_Webcam.Start();
|
||||
_Paused = false;
|
||||
}
|
||||
if (_Webcam == null)
|
||||
return;
|
||||
_Webcam.NewFrame -= _OnFrame;
|
||||
//Subscribe to NewFrame event
|
||||
_Webcam.NewFrame += _OnFrame;
|
||||
_Webcam.Start();
|
||||
_Paused = false;
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Lib.Webcam
|
||||
{
|
||||
@@ -54,7 +54,7 @@ namespace Vocaluxe.Lib.Webcam
|
||||
void Stop();
|
||||
void Close();
|
||||
|
||||
bool GetFrame(ref STexture frame);
|
||||
bool GetFrame(ref CTexture frame);
|
||||
Bitmap GetBitmap();
|
||||
SWebcamConfig GetConfig();
|
||||
SWebcamDevice[] GetDevices();
|
||||
|
||||
+1
-1
@@ -240,7 +240,7 @@ namespace Vocaluxe
|
||||
CController.Close();
|
||||
CSound.RecordCloseAll();
|
||||
CSound.CloseAllStreams();
|
||||
CVideo.VdCloseAll();
|
||||
CVideo.CloseAll();
|
||||
CDraw.Unload();
|
||||
CDataBase.CloseConnections();
|
||||
CWebcam.Close();
|
||||
|
||||
@@ -24,6 +24,7 @@ using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Base.Fonts;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
@@ -51,8 +52,8 @@ namespace Vocaluxe.Screens
|
||||
_Image = image;
|
||||
_ImgDot = imgDot;
|
||||
_Particle = particle;
|
||||
_ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.Width - particle.Rect.W / 2);
|
||||
_ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.Height - particle.Rect.H / 2);
|
||||
_ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.OrigSize.Width - particle.Rect.W / 2);
|
||||
_ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.OrigSize.Height - particle.Rect.H / 2);
|
||||
Active = true;
|
||||
}
|
||||
|
||||
@@ -127,21 +128,21 @@ namespace Vocaluxe.Screens
|
||||
private List<string[]> _Paragraphs;
|
||||
private List<CText> _ParagraphTexts;
|
||||
|
||||
private STexture _TexLogo;
|
||||
private STexture _TexPerfectNoteStar;
|
||||
private CTexture _TexLogo;
|
||||
private CTexture _TexPerfectNoteStar;
|
||||
|
||||
private STexture _TexRedDot;
|
||||
private STexture _TexBlueDot;
|
||||
private CTexture _TexRedDot;
|
||||
private CTexture _TexBlueDot;
|
||||
|
||||
private STexture _TexNameBrunzel;
|
||||
private STexture _TexNameDarkice;
|
||||
private STexture _TexNameFlokuep;
|
||||
private STexture _TexNameFlamefire;
|
||||
private STexture _TexNameMesand;
|
||||
private STexture _TexNameBohning;
|
||||
private STexture _TexNameBabene03;
|
||||
private STexture _TexNamePantero;
|
||||
private STexture _TexNamePinky007;
|
||||
private CTexture _TexNameBrunzel;
|
||||
private CTexture _TexNameDarkice;
|
||||
private CTexture _TexNameFlokuep;
|
||||
private CTexture _TexNameFlamefire;
|
||||
private CTexture _TexNameMesand;
|
||||
private CTexture _TexNameBohning;
|
||||
private CTexture _TexNameBabene03;
|
||||
private CTexture _TexNamePantero;
|
||||
private CTexture _TexNamePinky007;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
@@ -283,12 +284,12 @@ namespace Vocaluxe.Screens
|
||||
return GetNewParticleEffect(numStars, partColor, rect, _TexPerfectNoteStar, partSize, EParticleType.Star);
|
||||
}
|
||||
|
||||
private void _AddNewCreditName(STexture texture, int particleOffsetX, int particleOffsetY, bool bigParticles)
|
||||
private void _AddNewCreditName(CTexture texture, int particleOffsetX, int particleOffsetY, bool bigParticles)
|
||||
{
|
||||
bool isRight = _CreditNames.Count % 2 == 0;
|
||||
int partRectSize = bigParticles ? 25 : 20;
|
||||
int partCount = bigParticles ? 8 : 6;
|
||||
STexture texDot = isRight ? _TexRedDot : _TexBlueDot;
|
||||
CTexture texDot = isRight ? _TexRedDot : _TexBlueDot;
|
||||
|
||||
CStatic image = GetNewStatic(texture, new SColorF(1, 1, 1, 1), new SRectF(-1, -1, 400, 120, -4));
|
||||
|
||||
@@ -318,7 +319,8 @@ namespace Vocaluxe.Screens
|
||||
base.OnShow();
|
||||
|
||||
//Vocaluxe-Logo
|
||||
_Logo = GetNewStatic(_TexLogo, new SColorF(1, 1, 1, 1), new SRectF((CSettings.RenderW - _TexLogo.Width) / 2, -270, _TexLogo.Width, _TexLogo.Height, -2));
|
||||
_Logo = GetNewStatic(_TexLogo, new SColorF(1, 1, 1, 1),
|
||||
new SRectF((float)(CSettings.RenderW - _TexLogo.OrigSize.Width) / 2, -270, _TexLogo.OrigSize.Width, _TexLogo.OrigSize.Height, -2));
|
||||
|
||||
//Little stars for logo
|
||||
int numstars = (int)(_Logo.Rect.W * 0.25f / 2f);
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Base.Fonts;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
@@ -165,9 +164,7 @@ namespace Vocaluxe.Screens
|
||||
// ReSharper disable ConditionIsAlwaysTrueOrFalse
|
||||
if (CSettings.VersionRevision != ERevision.Release)
|
||||
// ReSharper restore ConditionIsAlwaysTrueOrFalse
|
||||
{
|
||||
_ReleaseText.Draw();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Profile;
|
||||
|
||||
@@ -55,15 +56,15 @@ namespace Vocaluxe.Screens
|
||||
{"EqualizerPlayer1", "EqualizerPlayer2", "EqualizerPlayer3", "EqualizerPlayer4", "EqualizerPlayer5", "EqualizerPlayer6"};
|
||||
private readonly string[] _SelectSlideDuetPlayer = new string[]
|
||||
{"SelectSlideDuetPlayer1", "SelectSlideDuetPlayer2", "SelectSlideDuetPlayer3", "SelectSlideDuetPlayer4", "SelectSlideDuetPlayer5", "SelectSlideDuetPlayer6"};
|
||||
private readonly STexture[] _OriginalPlayerAvatarTextures = new STexture[CSettings.MaxNumPlayer];
|
||||
private readonly CTexture[] _OriginalPlayerAvatarTextures = new CTexture[CSettings.MaxNumPlayer];
|
||||
|
||||
private bool _SelectingKeyboardActive;
|
||||
private bool _SelectingFast;
|
||||
private int _SelectingSwitchNr = -1;
|
||||
private int _SelectingFastPlayerNr = 0;
|
||||
private int _SelectingFastPlayerNr;
|
||||
private int _SelectedPlayerNr = -1;
|
||||
private bool _AvatarsChanged = false;
|
||||
private bool _ProfilesChanged = false;
|
||||
private bool _AvatarsChanged;
|
||||
private bool _ProfilesChanged;
|
||||
|
||||
#region public methods
|
||||
public override void Init()
|
||||
@@ -105,7 +106,7 @@ namespace Vocaluxe.Screens
|
||||
_ChooseAvatarStatic.Visible = false;
|
||||
_ChooseAvatarStatic.Aspect = EAspect.Crop;
|
||||
|
||||
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged));
|
||||
CProfiles.AddProfileChangedCallback(_OnProfileChanged);
|
||||
}
|
||||
|
||||
public override void LoadTheme(string xmlPath)
|
||||
@@ -445,7 +446,7 @@ namespace Vocaluxe.Screens
|
||||
CConfig.Players[_SelectingSwitchNr] = string.Empty;
|
||||
//Update texture and name
|
||||
_Statics[_StaticPlayerAvatar[_SelectingSwitchNr]].Texture = _OriginalPlayerAvatarTextures[_SelectingSwitchNr];
|
||||
_Texts[_TextPlayer[_SelectingSwitchNr]].Text = CProfiles.GetPlayerName(-1, (_SelectingSwitchNr+1));
|
||||
_Texts[_TextPlayer[_SelectingSwitchNr]].Text = CProfiles.GetPlayerName(-1, (_SelectingSwitchNr + 1));
|
||||
}
|
||||
|
||||
CProfile[] profiles = CProfiles.GetProfiles();
|
||||
@@ -467,7 +468,7 @@ namespace Vocaluxe.Screens
|
||||
break;
|
||||
}
|
||||
//Selected player is dropped out of area
|
||||
else if (_SelectingSwitchNr > -1)
|
||||
if (_SelectingSwitchNr > -1)
|
||||
{
|
||||
//Update Game-infos with new player
|
||||
CGame.Players[_SelectingSwitchNr].ProfileID = -1;
|
||||
@@ -598,7 +599,7 @@ namespace Vocaluxe.Screens
|
||||
else
|
||||
stopSelectingFast = true;
|
||||
}
|
||||
else if(mouseEvent.MB)
|
||||
else if (mouseEvent.MB)
|
||||
{
|
||||
_ResetPlayerSelections();
|
||||
_SelectingFast = true;
|
||||
@@ -669,12 +670,12 @@ namespace Vocaluxe.Screens
|
||||
#endregion public methods
|
||||
|
||||
#region private methods
|
||||
private void _OnProfileChanged(EProfileChangedFlags Flags)
|
||||
private void _OnProfileChanged(EProfileChangedFlags flags)
|
||||
{
|
||||
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & Flags))
|
||||
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & flags))
|
||||
_AvatarsChanged = true;
|
||||
|
||||
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags))
|
||||
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
|
||||
_ProfilesChanged = true;
|
||||
}
|
||||
|
||||
@@ -689,7 +690,7 @@ namespace Vocaluxe.Screens
|
||||
|
||||
for (int i = 0; i < CSettings.MaxNumPlayer; i++)
|
||||
{
|
||||
_Statics[_StaticPlayerAvatar[i]].Texture = CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID) ?
|
||||
_Statics[_StaticPlayerAvatar[i]].Texture = CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID) ?
|
||||
CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID) :
|
||||
_OriginalPlayerAvatarTextures[i];
|
||||
_Texts[_TextPlayer[i]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID, i + 1);
|
||||
|
||||
@@ -23,6 +23,7 @@ using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Webcam;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
{
|
||||
@@ -46,7 +47,7 @@ namespace Vocaluxe.Screens
|
||||
private const string _ButtonExit = "ButtonExit";
|
||||
|
||||
private SWebcamConfig _Config;
|
||||
private STexture _WebcamTexture = new STexture(-1);
|
||||
private CTexture _WebcamTexture;
|
||||
private int _DeviceNr;
|
||||
private int _CapabilityNr;
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Profile;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
{
|
||||
@@ -65,7 +66,7 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private EEditMode _EditMode;
|
||||
|
||||
private STexture _WebcamTexture = new STexture(-1);
|
||||
private CTexture _WebcamTexture;
|
||||
private Bitmap _Snapshot;
|
||||
|
||||
public override void Init()
|
||||
@@ -80,7 +81,7 @@ namespace Vocaluxe.Screens
|
||||
_EditMode = EEditMode.None;
|
||||
_ProfilesChanged = false;
|
||||
_AvatarsChanged = false;
|
||||
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged));
|
||||
CProfiles.AddProfileChangedCallback(_OnProfileChanged);
|
||||
}
|
||||
|
||||
public override void LoadTheme(string xmlPath)
|
||||
@@ -223,7 +224,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex,
|
||||
_SelectSlides[_SelectSlideAvatars].ValueIndex);
|
||||
if (CWebcam.IsDeviceAvailable() && _WebcamTexture.Index > 0)
|
||||
if (CWebcam.IsDeviceAvailable() && _WebcamTexture != null)
|
||||
_OnDiscardSnapshot();
|
||||
}
|
||||
else if (_SelectSlides[_SelectSlideGuestProfile].Selected)
|
||||
@@ -300,12 +301,12 @@ namespace Vocaluxe.Screens
|
||||
_OnDiscardSnapshot();
|
||||
}
|
||||
|
||||
private void _OnProfileChanged(EProfileChangedFlags Flags)
|
||||
private void _OnProfileChanged(EProfileChangedFlags flags)
|
||||
{
|
||||
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & Flags))
|
||||
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & flags))
|
||||
_AvatarsChanged = true;
|
||||
|
||||
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags))
|
||||
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
|
||||
_ProfilesChanged = true;
|
||||
}
|
||||
|
||||
@@ -387,7 +388,7 @@ namespace Vocaluxe.Screens
|
||||
private void _DeleteProfile()
|
||||
{
|
||||
_EditMode = EEditMode.None;
|
||||
|
||||
|
||||
CProfiles.DeleteProfile(_SelectSlides[_SelectSlideProfiles].ValueIndex);
|
||||
|
||||
int selection = _SelectSlides[_SelectSlideProfiles].Selection;
|
||||
@@ -397,7 +398,7 @@ namespace Vocaluxe.Screens
|
||||
_SelectSlides[_SelectSlideProfiles].Selection = selection - 1;
|
||||
}
|
||||
|
||||
private void _LoadProfiles(bool Keep)
|
||||
private void _LoadProfiles(bool keep)
|
||||
{
|
||||
string name = String.Empty;
|
||||
if (_EditMode == EEditMode.PlayerName)
|
||||
@@ -407,12 +408,14 @@ namespace Vocaluxe.Screens
|
||||
_SelectSlides[_SelectSlideProfiles].Clear();
|
||||
|
||||
CProfile[] profiles = CProfiles.GetProfiles();
|
||||
for (int i = 0; i < profiles.Length; i++)
|
||||
foreach (CProfile profile in profiles)
|
||||
{
|
||||
_SelectSlides[_SelectSlideProfiles].AddValue(
|
||||
profiles[i].PlayerName,
|
||||
new STexture(-1),
|
||||
profiles[i].ID,
|
||||
profile.PlayerName,
|
||||
null,
|
||||
profile.ID,
|
||||
-1);
|
||||
}
|
||||
|
||||
if (CProfiles.NumProfiles > 0 && CProfiles.NumAvatars > 0)
|
||||
{
|
||||
@@ -424,7 +427,7 @@ namespace Vocaluxe.Screens
|
||||
selectedProfileID = _SelectSlides[_SelectSlideProfiles].ValueIndex;
|
||||
}
|
||||
|
||||
if (!Keep)
|
||||
if (!keep)
|
||||
{
|
||||
_SelectSlides[_SelectSlideDifficulty].Selection = (int)CProfiles.GetDifficulty(selectedProfileID);
|
||||
_SelectSlides[_SelectSlideGuestProfile].Selection = (int)CProfiles.GetGuestProfile(selectedProfileID);
|
||||
@@ -438,19 +441,21 @@ namespace Vocaluxe.Screens
|
||||
_ProfilesChanged = false;
|
||||
}
|
||||
|
||||
private void _LoadAvatars(bool Keep)
|
||||
private void _LoadAvatars(bool keep)
|
||||
{
|
||||
int selectedAvatarID = _SelectSlides[_SelectSlideAvatars].ValueIndex;
|
||||
_SelectSlides[_SelectSlideAvatars].Clear();
|
||||
CAvatar[] avatars = CProfiles.GetAvatars();
|
||||
for (int i = 0; i < avatars.Length; i++)
|
||||
IEnumerable<CAvatar> avatars = CProfiles.GetAvatars();
|
||||
foreach (CAvatar avatar in avatars)
|
||||
{
|
||||
_SelectSlides[_SelectSlideAvatars].AddValue(
|
||||
Path.GetFileName(avatars[i].FileName),
|
||||
new STexture(-1),
|
||||
avatars[i].ID,
|
||||
Path.GetFileName(avatar.FileName),
|
||||
null,
|
||||
avatar.ID,
|
||||
-1);
|
||||
}
|
||||
|
||||
if (Keep)
|
||||
if (keep)
|
||||
{
|
||||
_SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(selectedAvatarID);
|
||||
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex, selectedAvatarID);
|
||||
@@ -459,6 +464,6 @@ namespace Vocaluxe.Screens
|
||||
_SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(CProfiles.GetAvatarID(_SelectSlides[_SelectSlideProfiles].ValueIndex));
|
||||
|
||||
_AvatarsChanged = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -333,7 +333,7 @@ namespace Vocaluxe.Screens
|
||||
_Statics[_StaticPointsBarBG[p, CGame.NumPlayer - 1]].Rect.Y -
|
||||
_Statics[_StaticPointsBar[p, CGame.NumPlayer - 1]].Rect.H;
|
||||
}
|
||||
if (CProfiles.ICProfileIDValid(players[p].ProfileID))
|
||||
if (CProfiles.IsProfileIDValid(players[p].ProfileID))
|
||||
_Statics[_StaticAvatar[p, CGame.NumPlayer - 1]].Texture = CProfiles.GetAvatarTextureFromProfile(players[p].ProfileID);
|
||||
}
|
||||
|
||||
@@ -369,7 +369,7 @@ namespace Vocaluxe.Screens
|
||||
_Statics[_StaticPointsBarBG[player, numplayer]].Visible = numplayer + 1 == CGame.NumPlayer;
|
||||
_Statics[_StaticAvatar[player, numplayer]].Visible = numplayer + 1 == CGame.NumPlayer;
|
||||
|
||||
_Statics[_StaticAvatar[player, numplayer]].Texture = new STexture(-1);
|
||||
_Statics[_StaticAvatar[player, numplayer]].Texture = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,9 +27,8 @@ using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Base.Fonts;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Menu.SingNotes;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace Vocaluxe.Screens
|
||||
@@ -88,6 +87,9 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private const string _SingBars = "SingBars";
|
||||
|
||||
private bool _DynamicLyricsTop;
|
||||
private bool _DynamicLyricsBottom;
|
||||
|
||||
private SRectF _TimeLineRect;
|
||||
private List<STimeRect> _TimeRects;
|
||||
private bool _FadeOut;
|
||||
@@ -98,9 +100,9 @@ namespace Vocaluxe.Screens
|
||||
private const float _Volume = 100f;
|
||||
private int _CurrentVideo = -1;
|
||||
private EAspect _VideoAspect = EAspect.Crop;
|
||||
private STexture _CurrentVideoTexture = new STexture(-1);
|
||||
private STexture _CurrentWebcamFrameTexture = new STexture(-1);
|
||||
private STexture _Background = new STexture(-1);
|
||||
private CTexture _CurrentVideoTexture;
|
||||
private CTexture _CurrentWebcamFrameTexture;
|
||||
private CTexture _Background;
|
||||
|
||||
private float _CurrentTime;
|
||||
private float _FinishTime;
|
||||
@@ -397,7 +399,7 @@ namespace Vocaluxe.Screens
|
||||
if (_CurrentVideo != -1 && !_FadeOut && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
float vtime;
|
||||
CVideo.VdGetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime);
|
||||
CVideo.GetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime);
|
||||
}
|
||||
|
||||
if (_Webcam)
|
||||
@@ -413,8 +415,8 @@ namespace Vocaluxe.Screens
|
||||
_FadeOut = false;
|
||||
|
||||
_CurrentVideo = -1;
|
||||
_CurrentVideoTexture = new STexture(-1);
|
||||
_CurrentWebcamFrameTexture = new STexture(-1);
|
||||
_CurrentVideoTexture = null;
|
||||
_CurrentWebcamFrameTexture = null;
|
||||
_CurrentBeat = -100;
|
||||
_CurrentTime = 0f;
|
||||
_FinishTime = 0f;
|
||||
@@ -455,33 +457,27 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (_Active)
|
||||
{
|
||||
CTexture background;
|
||||
EAspect aspect = EAspect.Crop;
|
||||
if (_CurrentVideo != -1 && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON && !_Webcam)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _CurrentVideoTexture.Width, _CurrentVideoTexture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, _VideoAspect);
|
||||
|
||||
CDraw.DrawTexture(_CurrentVideoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
|
||||
_CurrentVideoTexture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
background = _CurrentVideoTexture;
|
||||
aspect = _VideoAspect;
|
||||
}
|
||||
else if (_Webcam)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _CurrentWebcamFrameTexture.Width, _CurrentWebcamFrameTexture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, _VideoAspect);
|
||||
|
||||
CDraw.DrawTexture(_CurrentWebcamFrameTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
|
||||
_CurrentVideoTexture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
background = _CurrentWebcamFrameTexture;
|
||||
aspect = _VideoAspect;
|
||||
}
|
||||
else
|
||||
background = _Background;
|
||||
if (background != null)
|
||||
{
|
||||
// Draw Background
|
||||
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _Background.Width, _Background.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
|
||||
CDraw.DrawTexture(_Background, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
|
||||
_Background.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, background.OrigAspect, aspect);
|
||||
CDraw.DrawTexture(background, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
|
||||
background.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -558,7 +554,7 @@ namespace Vocaluxe.Screens
|
||||
CSound.RecordStop();
|
||||
if (_CurrentVideo != -1)
|
||||
{
|
||||
CVideo.VdClose(_CurrentVideo);
|
||||
CVideo.Close(_CurrentVideo);
|
||||
_CurrentVideo = -1;
|
||||
CDraw.RemoveTexture(ref _CurrentVideoTexture);
|
||||
}
|
||||
@@ -621,15 +617,15 @@ namespace Vocaluxe.Screens
|
||||
|
||||
CDraw.RemoveTexture(ref _CurrentVideoTexture);
|
||||
|
||||
if (song.VideoFileName != "")
|
||||
if (!String.IsNullOrEmpty(song.VideoFileName))
|
||||
{
|
||||
_CurrentVideo = CVideo.VdLoad(Path.Combine(song.Folder, song.VideoFileName));
|
||||
CVideo.VdSkip(_CurrentVideo, song.Start, song.VideoGap);
|
||||
_CurrentVideo = CVideo.Load(Path.Combine(song.Folder, song.VideoFileName));
|
||||
CVideo.Skip(_CurrentVideo, song.Start, song.VideoGap);
|
||||
_VideoAspect = song.VideoAspect;
|
||||
}
|
||||
|
||||
CDraw.RemoveTexture(ref _Background);
|
||||
if (song.BackgroundFileName != "")
|
||||
if (!String.IsNullOrEmpty(song.BackgroundFileName))
|
||||
_Background = CDraw.AddTexture(Path.Combine(song.Folder, song.BackgroundFileName));
|
||||
|
||||
_SingNotes[_SingBars].Reset();
|
||||
@@ -652,12 +648,21 @@ namespace Vocaluxe.Screens
|
||||
CGame.Players[i].LineNr = duetPlayer[i];
|
||||
}
|
||||
}
|
||||
_SetDuetLyricsVisibility(song.IsDuet);
|
||||
_SetNormalLyricsVisibility();
|
||||
|
||||
_DynamicLyricsTop = false;
|
||||
_DynamicLyricsBottom = false;
|
||||
|
||||
for (int p = 0; p < CGame.NumPlayer; p++)
|
||||
{
|
||||
_NoteLines[p] = _SingNotes[_SingBars].AddPlayer(_SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1], CTheme.GetPlayerColor(p + 1), p);
|
||||
if (_SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1].Y + _SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1].H >= CSettings.RenderH / 2)
|
||||
_DynamicLyricsBottom = true;
|
||||
else
|
||||
_DynamicLyricsTop = true;
|
||||
}
|
||||
|
||||
_SetDuetLyricsVisibility(song.IsDuet);
|
||||
_SetNormalLyricsVisibility();
|
||||
/*
|
||||
case 4:
|
||||
NoteLines[0] = SingNotes[SingBars].AddPlayer(new SRectF(35f, 100f, 590f, 200f, -0.5f), CTheme.ThemeColors.Player[0]);
|
||||
@@ -693,9 +698,9 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
else
|
||||
{
|
||||
bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|
||||
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && (CGame.NumPlayer > 2 && CGame.NumPlayer != 4));
|
||||
bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|
||||
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
|
||||
_Lyrics[_LyricMainTop].Visible = lyricsOnTop;
|
||||
_Lyrics[_LyricSubTop].Visible = lyricsOnTop;
|
||||
_Statics[_StaticLyricsTop].Visible = lyricsOnTop;
|
||||
@@ -704,7 +709,9 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void _SetNormalLyricsVisibility()
|
||||
{
|
||||
bool visible = CConfig.LyricsPosition != ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP;
|
||||
bool visible = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM
|
||||
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|
||||
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsBottom);
|
||||
_Lyrics[_LyricMain].Visible = visible;
|
||||
_Lyrics[_LyricSub].Visible = visible;
|
||||
_Statics[_StaticLyrics].Visible = visible;
|
||||
@@ -1363,7 +1370,7 @@ namespace Vocaluxe.Screens
|
||||
foreach (CLine line in voice.Lines.Where(line => line.VisibleInTimeLine))
|
||||
{
|
||||
STimeRect trect = new STimeRect {StartBeat = line.FirstNoteBeat, EndBeat = line.EndBeat};
|
||||
trect.Rect = GetNewStatic(new STexture(-1),
|
||||
trect.Rect = GetNewStatic(null,
|
||||
new SColorF(1f, 1f, 1f, 1f),
|
||||
new SRectF(
|
||||
stat.Rect.X + stat.Rect.W * ((CGame.GetTimeFromBeats(trect.StartBeat, song.BPM) + song.Gap - song.Start) / totalTime),
|
||||
@@ -1383,7 +1390,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
for (int i = 0; i < CGame.NumPlayer; i++)
|
||||
{
|
||||
if (CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID))
|
||||
if (CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID))
|
||||
_Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Texture = CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID);
|
||||
else
|
||||
_Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Visible = false;
|
||||
@@ -1394,7 +1401,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
for (int i = 0; i < CGame.NumPlayer; i++)
|
||||
{
|
||||
if (CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID))
|
||||
if (CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID))
|
||||
_Texts[_TextNames[i, CGame.NumPlayer - 1]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID);
|
||||
else
|
||||
_Texts[_TextNames[i, CGame.NumPlayer - 1]].Visible = false;
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.PartyModes;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
@@ -884,9 +884,7 @@ namespace Vocaluxe.Screens
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
List<int> ids = new List<int>();
|
||||
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
|
||||
ids.Add(CSongs.VisibleSongs[i].ID);
|
||||
List<int> ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
|
||||
|
||||
while (ids.Count > 0)
|
||||
{
|
||||
@@ -910,17 +908,15 @@ namespace Vocaluxe.Screens
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
List<int> ids = new List<int>();
|
||||
List<int> ids;
|
||||
if (allSongs)
|
||||
{
|
||||
ids = new List<int>();
|
||||
for (int i = 0; i < CSongs.AllSongs.Count; i++)
|
||||
ids.Add(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
|
||||
ids.Add(CSongs.VisibleSongs[i].ID);
|
||||
}
|
||||
ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
|
||||
int s = 0;
|
||||
while (s < numSongs && ids.Count > 0)
|
||||
{
|
||||
|
||||
@@ -42,17 +42,17 @@ namespace Vocaluxe.Screens
|
||||
base.Init();
|
||||
const string test = "Ö ÄÜabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPGRSTUVWGXZ1234567890";
|
||||
SColorF color = new SColorF(1, 0, 0, 1);
|
||||
CText text = new CText(10, 50, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Normal", color, "jÄNormal Text" + test, -1, 26, 0);
|
||||
CText text = new CText(10, 50, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Normal", color, "jÄNormal Text" + test, -1, 26, 1);
|
||||
_AddText(text);
|
||||
text = new CText(10, 90, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Normal", color, "jÄBold Text" + test, -1, 26, 0);
|
||||
text = new CText(10, 90, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Normal", color, "jÄBold Text" + test, -1, 26, 1);
|
||||
_AddText(text);
|
||||
text = new CText(10, 130, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Normal", color, "jÄItalic Text" + test, -1, 26, 0);
|
||||
text = new CText(10, 130, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Normal", color, "jÄItalic Text" + test, -1, 26, 1);
|
||||
_AddText(text);
|
||||
text = new CText(10, 170, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Outline", color, "jÄNormal Text" + test, -1, 50, 0);
|
||||
text = new CText(10, 170, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Outline", color, "jÄNormal Text" + test, -1, 50, 1);
|
||||
_AddText(text);
|
||||
text = new CText(10, 210, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Outline", color, "jÄBold Text" + test, -1, 100, 0);
|
||||
text = new CText(10, 210, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Outline", color, "jÄBold Text" + test, -1, 100, 1);
|
||||
_AddText(text);
|
||||
text = new CText(10, 250, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Outline", color, "jÄItalic Text" + test, -1, 150, 0);
|
||||
text = new CText(10, 250, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Outline", color, "jÄItalic Text" + test, -1, 150, 1);
|
||||
_AddText(text);
|
||||
}
|
||||
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
<Compile Include="Base\CBackgroundMusic.cs" />
|
||||
<Compile Include="Base\CConfig.cs" />
|
||||
<Compile Include="Base\CCover.cs" />
|
||||
<Compile Include="Base\CCursor.cs" />
|
||||
<Compile Include="Base\CDataBase.cs" />
|
||||
<Compile Include="Base\CDraw.cs" />
|
||||
<Compile Include="Base\Fonts\CFont.cs" />
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
namespace VocaluxeLib
|
||||
{
|
||||
public static class CBase
|
||||
|
||||
+20
-21
@@ -91,9 +91,9 @@ namespace VocaluxeLib
|
||||
|
||||
public static void SetRect(RectangleF bounds, out RectangleF rect, float rectAspect, EAspect aspect)
|
||||
{
|
||||
float rW = bounds.Right - bounds.Left;
|
||||
float rH = bounds.Bottom - bounds.Top;
|
||||
float rA = rW / rH;
|
||||
float boundsW = bounds.Width;
|
||||
float boundsH = bounds.Height;
|
||||
float boundsAspect = boundsW / boundsH;
|
||||
|
||||
float scaledWidth;
|
||||
float scaledHeight;
|
||||
@@ -101,42 +101,39 @@ namespace VocaluxeLib
|
||||
switch (aspect)
|
||||
{
|
||||
case EAspect.Crop:
|
||||
if (rA >= rectAspect)
|
||||
if (boundsAspect >= rectAspect)
|
||||
{
|
||||
scaledWidth = rW;
|
||||
scaledHeight = rH * rA / rectAspect;
|
||||
scaledWidth = boundsW;
|
||||
scaledHeight = boundsW / rectAspect;
|
||||
}
|
||||
else
|
||||
{
|
||||
scaledHeight = rH;
|
||||
scaledWidth = rW * rectAspect / rA;
|
||||
scaledHeight = boundsH;
|
||||
scaledWidth = boundsH * rectAspect;
|
||||
}
|
||||
break;
|
||||
case EAspect.LetterBox:
|
||||
if (rectAspect >= 1)
|
||||
if (boundsAspect <= rectAspect)
|
||||
{
|
||||
scaledWidth = rW;
|
||||
scaledHeight = rH * rA / rectAspect;
|
||||
scaledWidth = boundsW;
|
||||
scaledHeight = boundsW / rectAspect;
|
||||
}
|
||||
else
|
||||
{
|
||||
scaledHeight = rH;
|
||||
scaledWidth = rW * rectAspect / rA;
|
||||
scaledHeight = boundsH;
|
||||
scaledWidth = boundsH * rectAspect;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
scaledWidth = rW;
|
||||
scaledHeight = rH;
|
||||
scaledWidth = boundsW;
|
||||
scaledHeight = boundsH;
|
||||
break;
|
||||
}
|
||||
|
||||
float left = (rW - scaledWidth) / 2 + bounds.Left;
|
||||
float rigth = left + scaledWidth;
|
||||
float left = (boundsW - scaledWidth) / 2 + bounds.Left;
|
||||
float upper = (boundsH - scaledHeight) / 2 + bounds.Top;
|
||||
|
||||
float upper = (rH - scaledHeight) / 2 + bounds.Top;
|
||||
float lower = upper + scaledHeight;
|
||||
|
||||
rect = new RectangleF(left, upper, rigth - left, lower - upper);
|
||||
rect = new RectangleF(left, upper, scaledWidth, scaledHeight);
|
||||
}
|
||||
|
||||
public static List<string> ListFiles(string path, string cast, bool recursive = false, bool fullpath = false)
|
||||
@@ -146,7 +143,9 @@ namespace VocaluxeLib
|
||||
|
||||
try
|
||||
{
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (FileInfo file in dir.GetFiles(cast))
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
files.Add(!fullpath ? file.Name : file.FullName);
|
||||
|
||||
if (recursive)
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System.Drawing;
|
||||
|
||||
namespace VocaluxeLib.Draw
|
||||
{
|
||||
public class CTexture
|
||||
{
|
||||
public int ID = -1;
|
||||
public int PBO;
|
||||
//Only used by OpenGL (the texture "name" according to the specs)
|
||||
public int Name = -1;
|
||||
|
||||
public string TexturePath = "";
|
||||
|
||||
/// <summary>
|
||||
/// Original size (e.g. of bmp)
|
||||
/// </summary>
|
||||
public readonly Size OrigSize;
|
||||
public float OrigAspect
|
||||
{
|
||||
get { return (float)OrigSize.Width / OrigSize.Height; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Current size when drawn
|
||||
/// </summary>
|
||||
public SRectF Rect;
|
||||
|
||||
public SColorF Color = new SColorF(1f, 1f, 1f, 1f);
|
||||
|
||||
private int _W2, _H2;
|
||||
private readonly bool _UseFullTexture;
|
||||
/// <summary>
|
||||
/// Internal texture width (on device), a power of 2 if necessary
|
||||
/// </summary>
|
||||
public int W2
|
||||
{
|
||||
get { return _W2; }
|
||||
set
|
||||
{
|
||||
_W2 = value;
|
||||
if (_UseFullTexture)
|
||||
WidthRatio = 1;
|
||||
else
|
||||
WidthRatio = (float)OrigSize.Width / _W2;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Internal texture height (on device), a power of 2 if necessary
|
||||
/// </summary>
|
||||
public int H2
|
||||
{
|
||||
get { return _H2; }
|
||||
set
|
||||
{
|
||||
_H2 = value;
|
||||
if (_UseFullTexture)
|
||||
HeightRatio = 1;
|
||||
else
|
||||
HeightRatio = (float)OrigSize.Height / _H2;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Internal use. Specifies which part of texture memory is actually used
|
||||
/// </summary>
|
||||
public float WidthRatio { get; private set; }
|
||||
/// <summary>
|
||||
/// Internal use. Specifies which part of texture memory is actually used
|
||||
/// </summary>
|
||||
public float HeightRatio { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Actual texture space used in x direction
|
||||
/// </summary>
|
||||
public int UsedWidth
|
||||
{
|
||||
get { return (int)(_W2 * WidthRatio); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Actual texture space used in y direction
|
||||
/// </summary>
|
||||
public int UsedHeight
|
||||
{
|
||||
get { return (int)(_H2 * HeightRatio); }
|
||||
}
|
||||
|
||||
/*
|
||||
/// <summary>
|
||||
/// Internal use. Specifies if full texture memory should be used
|
||||
/// Set to true if you resized the original image to the maximum
|
||||
/// </summary>
|
||||
public bool UseFullTexture
|
||||
{
|
||||
get { return _UseFullTexture; }
|
||||
set
|
||||
{
|
||||
_UseFullTexture = value;
|
||||
if (value)
|
||||
{
|
||||
WidthRatio = 1;
|
||||
HeightRatio = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
WidthRatio = (float)OrigSize.Width / _W2;
|
||||
HeightRatio = (float)OrigSize.Height / _H2;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new texture reference
|
||||
/// </summary>
|
||||
/// <param name="origWidth">Original width (Bitmap size)</param>
|
||||
/// <param name="origHeight">Original height (Bitmap size)</param>
|
||||
/// <param name="texWidth">Width in video memory</param>
|
||||
/// <param name="texHeight">Height in video memory</param>
|
||||
/// <param name="useFullTexture">True if it is using the full size of the video memory (no blank parts due to Pow-2-Issue)</param>
|
||||
public CTexture(int origWidth, int origHeight, int texWidth = 0, int texHeight = 0, bool useFullTexture = false)
|
||||
{
|
||||
OrigSize = new Size(origWidth, origHeight);
|
||||
Rect = new SRectF(0f, 0f, origWidth, origHeight, 0f);
|
||||
_UseFullTexture = useFullTexture;
|
||||
|
||||
//IMPORTANT: Use setter here to calculate ratios!
|
||||
W2 = (texWidth > 0) ? texWidth : origWidth;
|
||||
H2 = (texHeight > 0) ? texHeight : origHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
-27
@@ -1,27 +1,34 @@
|
||||
using System;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.PartyModes;
|
||||
using VocaluxeLib.Profile;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace VocaluxeLib
|
||||
{
|
||||
public interface IMenuParty
|
||||
{
|
||||
void SetPartyModeID(int partyModeID);
|
||||
int GetPartyModeID();
|
||||
|
||||
void AssingPartyMode(IPartyMode partyMode);
|
||||
void DataToScreen(Object data);
|
||||
}
|
||||
|
||||
public interface IConfig
|
||||
{
|
||||
void SetBackgroundMusicVolume(int newVolume);
|
||||
@@ -78,8 +85,8 @@ namespace VocaluxeLib
|
||||
{
|
||||
string GetThemeScreensPath(int partyModeID);
|
||||
int GetSkinIndex(int partyModeID);
|
||||
STexture GetSkinTexture(string textureName, int partyModeID);
|
||||
STexture GetSkinVideoTexture(string videoName, int partyModeID);
|
||||
CTexture GetSkinTexture(string textureName, int partyModeID);
|
||||
CTexture GetSkinVideoTexture(string videoName, int partyModeID);
|
||||
|
||||
void SkinVideoResume(string videoName, int partyModeID);
|
||||
void SkinVideoPause(string videoName, int partyModeID);
|
||||
@@ -109,18 +116,18 @@ namespace VocaluxeLib
|
||||
|
||||
void ApplyVolume();
|
||||
|
||||
STexture GetVideoTexture();
|
||||
CTexture GetVideoTexture();
|
||||
}
|
||||
|
||||
public interface IDrawing
|
||||
{
|
||||
void DrawTexture(STexture texture, SRectF rect);
|
||||
void DrawTexture(STexture texture, SRectF rect, SColorF color);
|
||||
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
|
||||
void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight);
|
||||
void DrawTexture(CTexture texture, SRectF rect);
|
||||
void DrawTexture(CTexture texture, SRectF rect, SColorF color);
|
||||
void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
|
||||
void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight);
|
||||
|
||||
STexture AddTexture(string fileName);
|
||||
void RemoveTexture(ref STexture texture);
|
||||
CTexture AddTexture(string fileName);
|
||||
void RemoveTexture(ref CTexture texture);
|
||||
|
||||
void DrawColor(SColorF color, SRectF rect);
|
||||
void DrawColorReflection(SColorF color, SRectF rect, float space, float height);
|
||||
@@ -225,7 +232,7 @@ namespace VocaluxeLib
|
||||
{
|
||||
int Load(string videoFileName);
|
||||
bool Skip(int videoStream, float startPosition, float videoGap);
|
||||
bool GetFrame(int videoStream, ref STexture videoTexture, float time, out float videoTime);
|
||||
bool GetFrame(int videoStream, ref CTexture videoTexture, float time, out float videoTime);
|
||||
bool IsFinished(int videoStream);
|
||||
bool Close(int videoStream);
|
||||
}
|
||||
@@ -248,12 +255,12 @@ namespace VocaluxeLib
|
||||
|
||||
public interface ICover
|
||||
{
|
||||
STexture GetNoCover();
|
||||
CTexture GetNoCover();
|
||||
}
|
||||
|
||||
public interface IDataBase
|
||||
{
|
||||
bool GetCover(string fileName, ref STexture texture, int coverSize);
|
||||
bool GetCover(string fileName, ref CTexture texture, int coverSize);
|
||||
}
|
||||
|
||||
public interface IControllers
|
||||
@@ -283,4 +290,4 @@ namespace VocaluxeLib
|
||||
int GetPlaylistSongCount(int playlistID);
|
||||
CPlaylistSong GetPlaylistSong(int playlistID, int songIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,7 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -118,7 +119,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Background color for type \"Color\" from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -139,13 +140,13 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void Resume()
|
||||
{
|
||||
if (_Theme.Type == EBackgroundTypes.Video && _Theme.VideoName != "" && CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_ON)
|
||||
if (_Theme.Type == EBackgroundTypes.Video && !String.IsNullOrEmpty(_Theme.VideoName) && CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_ON)
|
||||
CBase.Theme.SkinVideoResume(_Theme.VideoName, _PartyModeID);
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
{
|
||||
if (_Theme.VideoName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.VideoName))
|
||||
CBase.Theme.SkinVideoPause(_Theme.VideoName, _PartyModeID);
|
||||
}
|
||||
|
||||
@@ -165,7 +166,7 @@ namespace VocaluxeLib.Menu
|
||||
ok = _DrawVideo();
|
||||
}
|
||||
|
||||
if (_Theme.TextureName != "" &&
|
||||
if (!String.IsNullOrEmpty(_Theme.TextureName) &&
|
||||
(_Theme.Type == EBackgroundTypes.Texture ||
|
||||
(_Theme.Type == EBackgroundTypes.Video && (CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_OFF || !ok))))
|
||||
ok = _DrawTexture();
|
||||
@@ -181,7 +182,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
@@ -202,12 +203,12 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
private bool _DrawTexture()
|
||||
{
|
||||
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
if (texture.Height > 0)
|
||||
CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
if (texture != null)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
|
||||
RectangleF rect = new RectangleF(0f, 0f, texture.Width, texture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, texture.OrigAspect, EAspect.Crop);
|
||||
|
||||
CBase.Drawing.DrawTexture(texture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
|
||||
return true;
|
||||
@@ -217,12 +218,12 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
private bool _DrawVideo()
|
||||
{
|
||||
STexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID);
|
||||
if (videoTexture.Height > 0)
|
||||
CTexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID);
|
||||
if (videoTexture != null)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
|
||||
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, videoTexture.OrigAspect, EAspect.Crop);
|
||||
|
||||
CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
|
||||
return true;
|
||||
@@ -232,12 +233,12 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
private bool _DrawBackgroundMusicVideo()
|
||||
{
|
||||
STexture videoTexture = CBase.BackgroundMusic.GetVideoTexture();
|
||||
if (videoTexture.Height > 0)
|
||||
CTexture videoTexture = CBase.BackgroundMusic.GetVideoTexture();
|
||||
if (videoTexture != null)
|
||||
{
|
||||
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
|
||||
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, videoTexture.OrigAspect, EAspect.Crop);
|
||||
|
||||
CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
|
||||
return true;
|
||||
|
||||
+13
-33
@@ -19,6 +19,7 @@
|
||||
|
||||
using System;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -39,8 +40,8 @@ namespace VocaluxeLib.Menu
|
||||
private bool _ThemeLoaded;
|
||||
private readonly int _PartyModeID;
|
||||
|
||||
public STexture Texture;
|
||||
public STexture SelTexture;
|
||||
public CTexture Texture;
|
||||
public CTexture SelTexture;
|
||||
public SRectF Rect;
|
||||
public SColorF Color;
|
||||
public SColorF SelColor;
|
||||
@@ -79,8 +80,8 @@ namespace VocaluxeLib.Menu
|
||||
Text.Selected = value;
|
||||
}
|
||||
}
|
||||
public bool Visible;
|
||||
public bool Enabled;
|
||||
public bool Visible = true;
|
||||
public bool Enabled = true;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
@@ -90,28 +91,10 @@ namespace VocaluxeLib.Menu
|
||||
public CButton(int partyModeID)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_Theme = new SThemeButton();
|
||||
Rect = new SRectF();
|
||||
Color = new SColorF();
|
||||
SelColor = new SColorF();
|
||||
Texture = new STexture(-1);
|
||||
SelTexture = new STexture(-1);
|
||||
|
||||
_IsSelText = false;
|
||||
Text = new CText(_PartyModeID);
|
||||
_SelText = new CText(_PartyModeID);
|
||||
Selected = false;
|
||||
Visible = true;
|
||||
EditMode = false;
|
||||
Enabled = true;
|
||||
|
||||
_Reflection = false;
|
||||
_ReflectionSpace = 0f;
|
||||
_ReflectionHeight = 0f;
|
||||
|
||||
_SelReflection = false;
|
||||
_SelReflectionSpace = 0f;
|
||||
_SelReflectionHeight = 0f;
|
||||
}
|
||||
|
||||
public CButton(CButton button)
|
||||
@@ -131,13 +114,10 @@ namespace VocaluxeLib.Menu
|
||||
Texture = button.Texture;
|
||||
SelTexture = button.SelTexture;
|
||||
|
||||
_IsSelText = false;
|
||||
Text = new CText(button.Text);
|
||||
_SelText = new CText(button._SelText);
|
||||
Selected = false;
|
||||
Visible = true;
|
||||
EditMode = false;
|
||||
_ThemeLoaded = false;
|
||||
Enabled = button.Enabled;
|
||||
|
||||
_Reflection = button._Reflection;
|
||||
@@ -241,7 +221,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Button color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -253,7 +233,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<SColor>: Selected button color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
writer.WriteElementString("SColor", _Theme.SelColorName);
|
||||
else
|
||||
{
|
||||
@@ -301,11 +281,11 @@ namespace VocaluxeLib.Menu
|
||||
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme && !forceDraw)
|
||||
return;
|
||||
|
||||
STexture texture;
|
||||
CTexture texture;
|
||||
|
||||
if (!Selected && !Pressed || !Enabled)
|
||||
{
|
||||
texture = Texture.Index != -1 ? Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
|
||||
CBase.Drawing.DrawTexture(texture, Rect, Color);
|
||||
|
||||
@@ -319,7 +299,7 @@ namespace VocaluxeLib.Menu
|
||||
}
|
||||
else if (!_IsSelText)
|
||||
{
|
||||
texture = Texture.Index != -1 ? Texture : CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
|
||||
CBase.Drawing.DrawTexture(texture, Rect, SelColor);
|
||||
|
||||
@@ -333,7 +313,7 @@ namespace VocaluxeLib.Menu
|
||||
}
|
||||
else if (_IsSelText)
|
||||
{
|
||||
texture = SelTexture.Index != -1 ? SelTexture : CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
texture = SelTexture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
|
||||
CBase.Drawing.DrawTexture(texture, Rect, SelColor);
|
||||
|
||||
@@ -361,10 +341,10 @@ namespace VocaluxeLib.Menu
|
||||
{
|
||||
Text.LoadTextures();
|
||||
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Equalizer color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -186,7 +186,7 @@ namespace VocaluxeLib.Menu
|
||||
}
|
||||
writer.WriteComment("<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("MaxColor", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -274,10 +274,10 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.MaxColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.MaxColorName))
|
||||
MaxColor = CBase.Theme.GetColor(_Theme.MaxColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Lyric text color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -184,7 +184,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<SColor>: Highlighted lyric color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
writer.WriteElementString("SColor", _Theme.SelColorName);
|
||||
else
|
||||
{
|
||||
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
_ColorProcessed = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Menu.SingNotes;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
|
||||
@@ -478,7 +479,7 @@ namespace VocaluxeLib.Menu
|
||||
return new CStatic(oldStatic);
|
||||
}
|
||||
|
||||
public CStatic GetNewStatic(STexture texture, SColorF color, SRectF rect)
|
||||
public CStatic GetNewStatic(CTexture texture, SColorF color, SRectF rect)
|
||||
{
|
||||
return new CStatic(_PartyModeID, texture, color, rect);
|
||||
}
|
||||
@@ -523,7 +524,7 @@ namespace VocaluxeLib.Menu
|
||||
return new CPlaylist(_PartyModeID);
|
||||
}
|
||||
|
||||
public CParticleEffect GetNewParticleEffect(int maxNumber, SColorF color, SRectF area, STexture texture, float size, EParticleType type)
|
||||
public CParticleEffect GetNewParticleEffect(int maxNumber, SColorF color, SRectF area, CTexture texture, float size, EParticleType type)
|
||||
{
|
||||
return new CParticleEffect(_PartyModeID, maxNumber, color, area, texture, size, type);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Profile;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
@@ -71,8 +71,8 @@ namespace VocaluxeLib.Menu
|
||||
public SRectF Rect;
|
||||
private readonly List<CTile> _Tiles;
|
||||
|
||||
private STexture _TextureEmptyTile;
|
||||
private STexture _TextureTileSelected;
|
||||
private CTexture _TextureEmptyTile;
|
||||
private CTexture _TextureTileSelected;
|
||||
|
||||
public SColorF ColorEmptyTile;
|
||||
|
||||
@@ -194,7 +194,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<ColorEmptyTile>: Static color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorEmptyTileName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
|
||||
writer.WriteElementString("ColorEmptyTile", _Theme.ColorEmptyTileName);
|
||||
else
|
||||
{
|
||||
@@ -225,7 +225,7 @@ namespace VocaluxeLib.Menu
|
||||
writer.WriteComment("<Font>: Text font name");
|
||||
writer.WriteElementString("Font", _Theme.NameFont);
|
||||
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
|
||||
if (_Theme.NameColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.NameColorName))
|
||||
writer.WriteElementString("Color", _Theme.NameColorName);
|
||||
else
|
||||
{
|
||||
@@ -350,7 +350,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void HandleMouse(SMouseEvent mevent)
|
||||
{
|
||||
for (int i = 0; i < _Tiles.Count; i++ )
|
||||
for (int i = 0; i < _Tiles.Count; i++)
|
||||
{
|
||||
if (CHelper.IsInBounds(_Tiles[i].Avatar.Rect, mevent))
|
||||
{
|
||||
@@ -465,10 +465,10 @@ namespace VocaluxeLib.Menu
|
||||
_TextureEmptyTile = CBase.Theme.GetSkinTexture(_Theme.TextureEmptyTileName, _PartyModeID);
|
||||
_TextureTileSelected = CBase.Theme.GetSkinTexture(_Theme.TextureTileSelectedName, _PartyModeID);
|
||||
|
||||
if (_Theme.ColorEmptyTileName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
|
||||
ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTileName, _PartyModeID);
|
||||
|
||||
if (_Theme.NameColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.NameColorName))
|
||||
_Theme.NameColor = CBase.Theme.GetColor(_Theme.NameColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
@@ -488,8 +488,7 @@ namespace VocaluxeLib.Menu
|
||||
for (int j = 0; j < _NumW; j++)
|
||||
{
|
||||
SRectF rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z);
|
||||
CStatic tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect);
|
||||
tileStatic.Aspect = EAspect.Crop;
|
||||
CStatic tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect) {Aspect = EAspect.Crop};
|
||||
CText tileText = new CText(rect.X + rect.W / 2, rect.Y + rect.H + _Theme.NameSpace, rect.Z, _Theme.NameHeight, rect.W, EAlignment.Center, _Theme.NameStyle,
|
||||
_Theme.NameFont, _Theme.NameColor, "");
|
||||
_Tiles.Add(new CTile(tileStatic, tileText, -1));
|
||||
|
||||
@@ -21,6 +21,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -45,11 +46,11 @@ namespace VocaluxeLib.Menu
|
||||
#region private vars
|
||||
private readonly int _PartyModeID;
|
||||
private readonly string _TextureName;
|
||||
private readonly STexture _Texture;
|
||||
private readonly CTexture _Texture;
|
||||
private SRectF _Rect;
|
||||
private float _Size;
|
||||
private SColorF _Color;
|
||||
private float _Alpha;
|
||||
private float _Alpha = 1;
|
||||
private float _Angle; //0..360°
|
||||
private readonly float _MaxAge; //[s]
|
||||
private float _Age; //[s]
|
||||
@@ -61,7 +62,7 @@ namespace VocaluxeLib.Menu
|
||||
private float _LastTime;
|
||||
private readonly EParticleType _Type;
|
||||
|
||||
private readonly Stopwatch _Timer;
|
||||
private readonly Stopwatch _Timer = new Stopwatch();
|
||||
#endregion private vars
|
||||
|
||||
#region public vars
|
||||
@@ -115,26 +116,20 @@ namespace VocaluxeLib.Menu
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_TextureName = textureName;
|
||||
_Texture = new STexture(-1);
|
||||
_Color = color;
|
||||
_Rect = new SRectF(x, y, size, size, z);
|
||||
_Size = size;
|
||||
_Alpha = 1f;
|
||||
_Angle = 0f;
|
||||
_Vx = vx;
|
||||
_Vy = vy;
|
||||
_Vr = vr;
|
||||
_Vsize = vsize;
|
||||
_LastTime = 0f;
|
||||
_Type = type;
|
||||
|
||||
_Timer = new Stopwatch();
|
||||
_Age = 0f;
|
||||
_MaxAge = maxage;
|
||||
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
|
||||
}
|
||||
|
||||
public CParticle(int partyModeID, STexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize,
|
||||
public CParticle(int partyModeID, CTexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize,
|
||||
EParticleType type)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
@@ -143,17 +138,12 @@ namespace VocaluxeLib.Menu
|
||||
_Color = color;
|
||||
_Rect = new SRectF(x, y, size, size, z);
|
||||
_Size = size;
|
||||
_Alpha = 1f;
|
||||
_Angle = 0f;
|
||||
_Vx = vx;
|
||||
_Vy = vy;
|
||||
_Vr = vr;
|
||||
_Vsize = vsize;
|
||||
_LastTime = 0f;
|
||||
_Type = type;
|
||||
|
||||
_Timer = new Stopwatch();
|
||||
_Age = 0f;
|
||||
_MaxAge = maxage;
|
||||
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
|
||||
}
|
||||
@@ -298,7 +288,7 @@ namespace VocaluxeLib.Menu
|
||||
public void Draw()
|
||||
{
|
||||
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
|
||||
if (_TextureName != "")
|
||||
if (!String.IsNullOrEmpty(_TextureName))
|
||||
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression
|
||||
CBase.Drawing.DrawTexture(CBase.Theme.GetSkinTexture(_TextureName, _PartyModeID), _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha));
|
||||
else
|
||||
@@ -312,7 +302,7 @@ namespace VocaluxeLib.Menu
|
||||
private SThemeParticleEffect _Theme;
|
||||
private bool _ThemeLoaded;
|
||||
|
||||
public STexture Texture;
|
||||
public CTexture Texture;
|
||||
public SColorF Color;
|
||||
public SRectF Rect;
|
||||
|
||||
@@ -356,7 +346,6 @@ namespace VocaluxeLib.Menu
|
||||
Rect = rect;
|
||||
Color = color;
|
||||
_Theme.TextureName = textureName;
|
||||
Texture = new STexture(-1);
|
||||
_MaxNumber = maxNumber;
|
||||
_Size = size;
|
||||
_Type = type;
|
||||
@@ -365,7 +354,7 @@ namespace VocaluxeLib.Menu
|
||||
Visible = true;
|
||||
}
|
||||
|
||||
public CParticleEffect(int partyModeID, int maxNumber, SColorF color, SRectF rect, STexture texture, float size, EParticleType type)
|
||||
public CParticleEffect(int partyModeID, int maxNumber, SColorF color, SRectF rect, CTexture texture, float size, EParticleType type)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_Theme = new SThemeParticleEffect();
|
||||
@@ -435,7 +424,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: ParticleEffect color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -546,7 +535,7 @@ namespace VocaluxeLib.Menu
|
||||
h = 0;
|
||||
|
||||
CParticle star;
|
||||
if (_Theme.TextureName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.TextureName))
|
||||
{
|
||||
star = new CParticle(_PartyModeID, _Theme.TextureName, Color,
|
||||
CBase.Game.GetRandom(w) + Rect.X - size / 4f,
|
||||
@@ -602,14 +591,14 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void UnloadTextures()
|
||||
{
|
||||
Texture = new STexture();
|
||||
Texture = null;
|
||||
}
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
if (_Theme.TextureName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.TextureName))
|
||||
Texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
@@ -373,7 +372,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<ColorBackground>: Button color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <BackgroundR>, <BackgroundG>, <BackgroundB>, <BackgroundA> (lower priority)");
|
||||
if (_Theme.ColorBackgroundName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
|
||||
writer.WriteElementString("ColorBackground", _Theme.ColorBackgroundName);
|
||||
else
|
||||
{
|
||||
@@ -385,7 +384,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<SColorBackground>: Selected paylist-entry color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <SBackgroundR>, <SBackgroundG>, <SBackgroundB>, <SBackgroundA> (lower priority)");
|
||||
if (_Theme.SelColorBackgroundName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
|
||||
writer.WriteElementString("SColorBackground", _Theme.SelColorBackgroundName);
|
||||
else
|
||||
{
|
||||
@@ -464,10 +463,10 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorBackgroundName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
|
||||
BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackgroundName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorBackgroundName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
|
||||
BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackgroundName, _PartyModeID);
|
||||
|
||||
_Theme.Text1.LoadTextures();
|
||||
@@ -518,7 +517,7 @@ namespace VocaluxeLib.Menu
|
||||
break;
|
||||
case Keys.Delete:
|
||||
case Keys.Back:
|
||||
if (_Theme.ButtonPlaylistName.Text.Text != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ButtonPlaylistName.Text.Text))
|
||||
_Theme.ButtonPlaylistName.Text.Text = _Theme.ButtonPlaylistName.Text.Text.Remove(_Theme.ButtonPlaylistName.Text.Text.Length - 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
using System;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -127,7 +128,7 @@ namespace VocaluxeLib.Menu
|
||||
}
|
||||
}
|
||||
|
||||
private STexture _GetTextureValue(string value)
|
||||
private CTexture _GetTextureValue(string value)
|
||||
{
|
||||
return CBase.Theme.GetSkinTexture(value, _PartyModeID);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -110,7 +111,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
private readonly List<string> _ValueNames;
|
||||
private readonly List<int> _ValuePartyModeIDs;
|
||||
private readonly List<STexture> _Textures;
|
||||
private readonly List<CTexture> _Textures;
|
||||
private readonly List<int> _ValueIndexes;
|
||||
|
||||
private readonly List<SRectF> _ValueBounds = new List<SRectF>();
|
||||
@@ -178,7 +179,7 @@ namespace VocaluxeLib.Menu
|
||||
MaxW = 0f;
|
||||
|
||||
_Selected = false;
|
||||
_Textures = new List<STexture>();
|
||||
_Textures = new List<CTexture>();
|
||||
_ValueIndexes = new List<int>();
|
||||
_ValueNames = new List<string>();
|
||||
_ValuePartyModeIDs = new List<int>();
|
||||
@@ -226,7 +227,7 @@ namespace VocaluxeLib.Menu
|
||||
MaxW = slide.MaxW;
|
||||
|
||||
_Selected = slide._Selected;
|
||||
_Textures = new List<STexture>(slide._Textures);
|
||||
_Textures = new List<CTexture>(slide._Textures);
|
||||
_ValueIndexes = new List<int>(slide._ValueIndexes);
|
||||
_ValueNames = new List<string>(slide._ValueNames);
|
||||
_ValueBounds = new List<SRectF>(slide._ValueBounds);
|
||||
@@ -411,7 +412,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: SelectSlide color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -423,7 +424,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<SColor>: Selected SelectSlide color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
writer.WriteElementString("SColor", _Theme.SelColorName);
|
||||
else
|
||||
{
|
||||
@@ -435,7 +436,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <HR>, <HG>, <HB>, <HA> (lower priority)");
|
||||
if (_Theme.HighlightColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
|
||||
writer.WriteElementString("HColor", _Theme.HighlightColorName);
|
||||
else
|
||||
{
|
||||
@@ -447,7 +448,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<ArrowColor>: Arrow color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)");
|
||||
if (_Theme.ArrowColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
|
||||
writer.WriteElementString("ArrowColor", _Theme.ArrowColorName);
|
||||
else
|
||||
{
|
||||
@@ -459,7 +460,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<ArrowSColor>: Selected arrow color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)");
|
||||
if (_Theme.SelArrowColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
|
||||
writer.WriteElementString("ArrowSColor", _Theme.SelArrowColorName);
|
||||
else
|
||||
{
|
||||
@@ -471,7 +472,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<TextColor>: Text color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)");
|
||||
if (_Theme.TextColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.TextColorName))
|
||||
writer.WriteElementString("TextColor", _Theme.TextColorName);
|
||||
else
|
||||
{
|
||||
@@ -483,7 +484,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<TextSColor>: Selected text color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)");
|
||||
if (_Theme.SelTextColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelTextColorName))
|
||||
writer.WriteElementString("TextSColor", _Theme.SelTextColorName);
|
||||
else
|
||||
{
|
||||
@@ -530,20 +531,20 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void AddValue(string value, int partyModeID)
|
||||
{
|
||||
AddValue(value, new STexture(-1), _ValueIndexes.Count, partyModeID);
|
||||
AddValue(value, null, _ValueIndexes.Count, partyModeID);
|
||||
}
|
||||
|
||||
public void AddValue(string value, STexture texture)
|
||||
public void AddValue(string value, CTexture texture)
|
||||
{
|
||||
AddValue(value, texture, _ValueIndexes.Count, _PartyModeID);
|
||||
}
|
||||
|
||||
private void _AddValue(string value, STexture texture, int valueIndex)
|
||||
private void _AddValue(string value, CTexture texture, int valueIndex)
|
||||
{
|
||||
AddValue(value, texture, valueIndex, _PartyModeID);
|
||||
}
|
||||
|
||||
public void AddValue(string value, STexture texture, int valueIndex, int partyModeID)
|
||||
public void AddValue(string value, CTexture texture, int valueIndex, int partyModeID)
|
||||
{
|
||||
_ValueNames.Add(value);
|
||||
_Textures.Add(texture);
|
||||
@@ -559,12 +560,12 @@ namespace VocaluxeLib.Menu
|
||||
public void AddValues(IEnumerable<string> values)
|
||||
{
|
||||
foreach (string value in values)
|
||||
_AddValue(value, new STexture(-1), _PartyModeID);
|
||||
_AddValue(value, null, _PartyModeID);
|
||||
|
||||
_ValueBounds.Clear();
|
||||
}
|
||||
|
||||
public void AddValues(string[] values, STexture[] textures)
|
||||
public void AddValues(string[] values, CTexture[] textures)
|
||||
{
|
||||
if (values.Length != textures.Length)
|
||||
return;
|
||||
@@ -588,12 +589,7 @@ namespace VocaluxeLib.Menu
|
||||
RenameValue(Selection, newName);
|
||||
}
|
||||
|
||||
public void RenameValue(int selection, string newName)
|
||||
{
|
||||
RenameValue(selection, newName, new STexture(-1));
|
||||
}
|
||||
|
||||
public void RenameValue(int selection, string newName, STexture newTexture)
|
||||
public void RenameValue(int selection, string newName, CTexture newTexture = null)
|
||||
{
|
||||
if (selection < 0 && selection >= _ValueNames.Count)
|
||||
return;
|
||||
@@ -696,15 +692,15 @@ namespace VocaluxeLib.Menu
|
||||
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme)
|
||||
return;
|
||||
|
||||
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
STexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID);
|
||||
STexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID);
|
||||
CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
CTexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID);
|
||||
CTexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID);
|
||||
|
||||
STexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
STexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID);
|
||||
STexture selTextureArrowRight = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowRightName, _PartyModeID);
|
||||
CTexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
|
||||
CTexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID);
|
||||
CTexture selTextureArrowRight = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowRightName, _PartyModeID);
|
||||
|
||||
STexture highlightTexture = CBase.Theme.GetSkinTexture(_Theme.HighlightTextureName, _PartyModeID);
|
||||
CTexture highlightTexture = CBase.Theme.GetSkinTexture(_Theme.HighlightTextureName, _PartyModeID);
|
||||
|
||||
if (Selected)
|
||||
{
|
||||
@@ -791,25 +787,25 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.HighlightColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
|
||||
HighlightColor = CBase.Theme.GetColor(_Theme.HighlightColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.ArrowColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
|
||||
ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelArrowColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
|
||||
SelColorArrow = CBase.Theme.GetColor(_Theme.SelArrowColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.TextColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.TextColorName))
|
||||
TextColor = CBase.Theme.GetColor(_Theme.TextColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
SelTextColor = CBase.Theme.GetColor(_Theme.SelTextColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
+12
-45
@@ -20,6 +20,7 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
@@ -42,10 +43,10 @@ namespace VocaluxeLib.Menu
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
private STexture _Texture;
|
||||
public STexture Texture
|
||||
private CTexture _Texture;
|
||||
public CTexture Texture
|
||||
{
|
||||
get { return _Texture.Index != -1 ? _Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); }
|
||||
get { return _Texture ?? CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); }
|
||||
|
||||
set { _Texture = value; }
|
||||
}
|
||||
@@ -58,35 +59,20 @@ namespace VocaluxeLib.Menu
|
||||
public float ReflectionHeight;
|
||||
|
||||
public bool Selected;
|
||||
public bool Visible;
|
||||
public bool Visible = true;
|
||||
|
||||
public float Alpha;
|
||||
public float Alpha = 1;
|
||||
|
||||
public EAspect Aspect = EAspect.Stretch;
|
||||
|
||||
public CStatic(int partyModeID)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_Theme = new SThemeStatic();
|
||||
_ThemeLoaded = false;
|
||||
|
||||
_Texture = new STexture(-1);
|
||||
Color = new SColorF();
|
||||
Rect = new SRectF();
|
||||
Reflection = false;
|
||||
ReflectionSpace = 0f;
|
||||
ReflectionHeight = 0f;
|
||||
|
||||
Selected = false;
|
||||
Alpha = 1f;
|
||||
Visible = true;
|
||||
}
|
||||
|
||||
public CStatic(CStatic s)
|
||||
{
|
||||
_PartyModeID = s._PartyModeID;
|
||||
_Theme = new SThemeStatic();
|
||||
_ThemeLoaded = false;
|
||||
|
||||
_Texture = s.Texture;
|
||||
Color = new SColorF(s.Color);
|
||||
@@ -100,40 +86,21 @@ namespace VocaluxeLib.Menu
|
||||
Visible = s.Visible;
|
||||
}
|
||||
|
||||
public CStatic(int partyModeID, STexture texture, SColorF color, SRectF rect)
|
||||
public CStatic(int partyModeID, CTexture texture, SColorF color, SRectF rect)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_Theme = new SThemeStatic();
|
||||
_ThemeLoaded = false;
|
||||
|
||||
_Texture = texture;
|
||||
Color = color;
|
||||
Rect = rect;
|
||||
Reflection = false;
|
||||
ReflectionSpace = 0f;
|
||||
ReflectionHeight = 0f;
|
||||
|
||||
Selected = false;
|
||||
Alpha = 1f;
|
||||
Visible = true;
|
||||
}
|
||||
|
||||
public CStatic(int partyModeID, string textureSkinName, SColorF color, SRectF rect)
|
||||
{
|
||||
_PartyModeID = partyModeID;
|
||||
_Theme = new SThemeStatic {TextureName = textureSkinName};
|
||||
_ThemeLoaded = false;
|
||||
|
||||
_Texture = new STexture(-1);
|
||||
_Theme.TextureName = textureSkinName;
|
||||
Color = color;
|
||||
Rect = rect;
|
||||
Reflection = false;
|
||||
ReflectionSpace = 0f;
|
||||
ReflectionHeight = 0f;
|
||||
|
||||
Selected = false;
|
||||
Alpha = 1f;
|
||||
Visible = true;
|
||||
}
|
||||
|
||||
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
|
||||
@@ -194,7 +161,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Static color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -238,7 +205,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void Draw(float scale, float z, EAspect aspect, bool forceDraw = false)
|
||||
{
|
||||
STexture texture = _Texture.Index != -1 ? _Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
|
||||
CTexture texture = Texture;
|
||||
|
||||
SRectF bounds = new SRectF(
|
||||
Rect.X - Rect.W * (scale - 1f),
|
||||
@@ -253,7 +220,7 @@ namespace VocaluxeLib.Menu
|
||||
{
|
||||
RectangleF bounds2 = new RectangleF(bounds.X, bounds.Y, bounds.W, bounds.H);
|
||||
RectangleF rect2;
|
||||
CHelper.SetRect(bounds2, out rect2, texture.Width / texture.Height, aspect);
|
||||
CHelper.SetRect(bounds2, out rect2, texture.OrigAspect, aspect);
|
||||
|
||||
rect.X = rect2.X;
|
||||
rect.Y = rect2.Y;
|
||||
@@ -277,7 +244,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace VocaluxeLib.Menu
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Do NOT read/write this anywhere but in _UpdateTextPosition!
|
||||
/// Do NOT read/write this anywhere but in _UpdateTextPosition!
|
||||
/// </summary>
|
||||
private SRectF _Rect;
|
||||
public SRectF Rect
|
||||
@@ -396,7 +396,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -408,7 +408,7 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
writer.WriteComment("<SColor>: Selected Text color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
writer.WriteElementString("SColor", _Theme.SelColorName);
|
||||
else
|
||||
{
|
||||
@@ -499,8 +499,8 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void DrawRelative(float rx, float ry, float reflectionHeight = 0f, float reflectionSpace = 0f, float rectHeight = 0f)
|
||||
{
|
||||
var oldReflectionSpace = ReflectionSpace;
|
||||
var oldReflectionHeight = ReflectionHeight;
|
||||
float oldReflectionSpace = ReflectionSpace;
|
||||
float oldReflectionHeight = ReflectionHeight;
|
||||
if (reflectionHeight > 0)
|
||||
{
|
||||
ReflectionSpace = (rectHeight - Rect.Y - Rect.H) * 2 + reflectionSpace;
|
||||
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
|
||||
|
||||
public void LoadTextures()
|
||||
{
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
|
||||
if (_Theme.SelColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.SelColorName))
|
||||
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,17 +17,6 @@
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Drawing;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Game;
|
||||
using VocaluxeLib.Menu.SongMenu;
|
||||
using VocaluxeLib.PartyModes;
|
||||
using VocaluxeLib.Profile;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace VocaluxeLib.Menu
|
||||
{
|
||||
public interface IMenu
|
||||
|
||||
@@ -21,7 +21,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Xml;
|
||||
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
namespace VocaluxeLib.Menu.SingNotes
|
||||
@@ -386,9 +386,7 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
_PlayerNotes[n].Rect.Z
|
||||
);
|
||||
|
||||
float f = 0.7f;
|
||||
if (!note.Hit)
|
||||
f = 0.4f;
|
||||
float f = (note.Hit) ? 0.7f : 0.4f;
|
||||
|
||||
_DrawNote(rect, color, f);
|
||||
|
||||
@@ -471,39 +469,31 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
|
||||
private void _DrawNote(SRectF rect, SColorF color, float factor = 1f)
|
||||
{
|
||||
const int spacing = 0;
|
||||
if (factor <= 0)
|
||||
return;
|
||||
|
||||
float d = (1f - factor) / 2 * rect.H;
|
||||
float dw = d;
|
||||
float dh = (1f - factor) * rect.H / 2;
|
||||
float dw = Math.Min(dh, rect.W / 2);
|
||||
|
||||
if (2 * dw > rect.W)
|
||||
dw = rect.W / 2;
|
||||
SRectF noteRect = new SRectF(rect.X + dw, rect.Y + dh, rect.W - 2 * dw, rect.H - 2 * dh, rect.Z);
|
||||
|
||||
SRectF r = new SRectF(
|
||||
rect.X + dw + spacing,
|
||||
rect.Y + d + spacing,
|
||||
rect.W - 2 * dw - 2 * spacing,
|
||||
rect.H - 2 * d - 2 * spacing,
|
||||
rect.Z
|
||||
);
|
||||
CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
|
||||
CTexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID);
|
||||
CTexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID);
|
||||
|
||||
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
|
||||
STexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID);
|
||||
STexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID);
|
||||
//Width of each of the ends (round parts)
|
||||
//Need 2 of them so use minimum
|
||||
float endsW = Math.Min(noteRect.H * noteBegin.OrigAspect, noteRect.W / 2);
|
||||
|
||||
float dx = noteBegin.Width * r.H / noteBegin.Height;
|
||||
if (2 * dx > r.W)
|
||||
dx = r.W / 2;
|
||||
CBase.Drawing.DrawTexture(noteBegin, new SRectF(noteRect.X, noteRect.Y, endsW, noteRect.H, noteRect.Z), color);
|
||||
|
||||
|
||||
CBase.Drawing.DrawTexture(noteBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), color);
|
||||
|
||||
if (r.W - 2 * dx >= 2 * dx)
|
||||
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), color);
|
||||
SRectF middleRect = new SRectF(noteRect.X + endsW, noteRect.Y, noteRect.W - 2 * endsW, noteRect.H, noteRect.Z);
|
||||
if (noteRect.W >= 4 * endsW)
|
||||
CBase.Drawing.DrawTexture(noteMiddle, middleRect, color);
|
||||
else
|
||||
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(r.X + dx, r.Y, 2 * dx, r.H, r.Z), color, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z));
|
||||
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(middleRect.X, middleRect.Y, 2 * endsW, middleRect.H, middleRect.Z), color, middleRect);
|
||||
|
||||
CBase.Drawing.DrawTexture(noteEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), color);
|
||||
CBase.Drawing.DrawTexture(noteEnd, new SRectF(noteRect.X + noteRect.W - endsW, noteRect.Y, endsW, noteRect.H, noteRect.Z), color);
|
||||
}
|
||||
|
||||
private void _DrawNoteBG(SRectF rect, SColorF color, float factor, Stopwatch timer)
|
||||
@@ -534,11 +524,11 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
rect.Z
|
||||
);
|
||||
|
||||
STexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID);
|
||||
STexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID);
|
||||
STexture noteBackgroundEnd = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName, _PartyModeID);
|
||||
CTexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID);
|
||||
CTexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID);
|
||||
CTexture noteBackgroundEnd = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName, _PartyModeID);
|
||||
|
||||
float dx = noteBackgroundBegin.Width * r.H / noteBackgroundBegin.Height;
|
||||
float dx = r.H * noteBackgroundBegin.OrigAspect;
|
||||
if (2 * dx > r.W)
|
||||
dx = r.W / 2;
|
||||
|
||||
@@ -629,8 +619,8 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
rect.Z
|
||||
);
|
||||
|
||||
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
|
||||
float dx = noteBegin.Width * r.H / noteBegin.Height;
|
||||
CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
|
||||
float dx = r.H * noteBegin.OrigAspect;
|
||||
if (2 * dx > r.W)
|
||||
dx = r.W / 2;
|
||||
|
||||
@@ -686,7 +676,7 @@ namespace VocaluxeLib.Menu.SingNotes
|
||||
_PlayerNotes[n].Color.B,
|
||||
_PlayerNotes[n].Color.A * _PlayerNotes[n].Alpha);
|
||||
|
||||
STexture toneHelper = CBase.Theme.GetSkinTexture(_Theme.SkinToneHelperName, _PartyModeID);
|
||||
CTexture toneHelper = CBase.Theme.GetSkinTexture(_Theme.SkinToneHelperName, _PartyModeID);
|
||||
CBase.Drawing.DrawTexture(toneHelper, drawRect, color);
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.PartyModes;
|
||||
|
||||
namespace VocaluxeLib.Menu.SongMenu
|
||||
@@ -104,7 +105,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
private readonly List<int> _Streams = new List<int>();
|
||||
private int _Actsong = -1;
|
||||
private int _Actsongstream = -1;
|
||||
protected STexture _Vidtex = new STexture(-1);
|
||||
protected CTexture _Vidtex;
|
||||
|
||||
protected bool _Initialized;
|
||||
protected int _LastKnownNumSongs;
|
||||
@@ -351,7 +352,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
|
||||
writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
writer.WriteElementString("Color", _Theme.ColorName);
|
||||
else
|
||||
{
|
||||
@@ -438,19 +439,21 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
if (_Actsong != _PreviewSelected)
|
||||
_SelectSong(_PreviewSelected);
|
||||
|
||||
if (_Streams.Count > 0 && _Video != -1)
|
||||
if (_Streams.Count <= 0 || _Video == -1)
|
||||
return;
|
||||
|
||||
if (CBase.Video.IsFinished(_Video) || CBase.Sound.IsFinished(_Actsongstream))
|
||||
{
|
||||
if (CBase.Video.IsFinished(_Video) || CBase.Sound.IsFinished(_Actsongstream))
|
||||
{
|
||||
CBase.Video.Close(_Video);
|
||||
_Video = -1;
|
||||
return;
|
||||
}
|
||||
CBase.Video.Close(_Video);
|
||||
_Video = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
float time = CBase.Sound.GetPosition(_Actsongstream);
|
||||
float time = CBase.Sound.GetPosition(_Actsongstream);
|
||||
|
||||
float vtime;
|
||||
CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime);
|
||||
float vtime;
|
||||
if (CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime))
|
||||
{
|
||||
if (_VideoFadeTimer.ElapsedMilliseconds <= 3000L)
|
||||
_Vidtex.Color.A = _VideoFadeTimer.ElapsedMilliseconds / 3000f;
|
||||
else
|
||||
@@ -464,7 +467,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
public virtual void OnShow()
|
||||
{
|
||||
_Actsongstream = -1;
|
||||
_Vidtex = new STexture(-1);
|
||||
_Vidtex = null;
|
||||
}
|
||||
|
||||
public virtual void OnHide()
|
||||
@@ -546,7 +549,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
{
|
||||
Init();
|
||||
|
||||
if (_Theme.ColorName != "")
|
||||
if (!String.IsNullOrEmpty(_Theme.ColorName))
|
||||
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using VocaluxeLib.Draw;
|
||||
using VocaluxeLib.PartyModes;
|
||||
using VocaluxeLib.Songs;
|
||||
|
||||
@@ -38,8 +39,8 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
private CStatic _MedleyCalcIcon;
|
||||
private CStatic _MedleyTagIcon;
|
||||
|
||||
private STexture _CoverBigTexture;
|
||||
private STexture _CoverTexture;
|
||||
private CTexture _CoverBigTexture;
|
||||
private CTexture _CoverTexture;
|
||||
|
||||
private CText _Artist;
|
||||
private CText _Title;
|
||||
@@ -323,7 +324,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
{
|
||||
foreach (CStatic tile in _Tiles)
|
||||
{
|
||||
if ((tile.Texture.Index != _CoverTexture.Index) && CHelper.IsInBounds(tile.Rect, mouseEvent) && !sel)
|
||||
if (tile.Texture != _CoverTexture && CHelper.IsInBounds(tile.Rect, mouseEvent) && !sel)
|
||||
{
|
||||
if (mouseEvent.LB || !CBase.Songs.IsInCategory())
|
||||
{
|
||||
@@ -371,7 +372,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
{
|
||||
foreach (CStatic tile in _Tiles)
|
||||
{
|
||||
if ((tile.Texture.Index != _CoverTexture.Index) && CHelper.IsInBounds(tile.Rect, mouseEvent))
|
||||
if (tile.Texture != _CoverTexture && CHelper.IsInBounds(tile.Rect, mouseEvent))
|
||||
{
|
||||
_EnterCategory(_PreviewSelected);
|
||||
mouseEvent.Handled = true;
|
||||
@@ -394,7 +395,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
else
|
||||
{
|
||||
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
|
||||
if (tile.Texture.Index != _CoverTexture.Index)
|
||||
if (tile.Texture != _CoverTexture)
|
||||
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression
|
||||
tile.Draw(1f, tile.Rect.Z, EAspect.Crop);
|
||||
else
|
||||
@@ -453,18 +454,17 @@ namespace VocaluxeLib.Menu.SongMenu
|
||||
|
||||
_TextBG.Draw();
|
||||
|
||||
|
||||
if (_Vidtex.Index != -1 && _Video != -1)
|
||||
if (_Vidtex != null && _Video != -1)
|
||||
{
|
||||
if (_Vidtex.Color.A < 1)
|
||||
_CoverBig.Draw(1f, EAspect.Crop);
|
||||
RectangleF bounds = new RectangleF(_CoverBig.Rect.X, _CoverBig.Rect.Y, _CoverBig.Rect.W, _CoverBig.Rect.H);
|
||||
RectangleF rect = new RectangleF(0f, 0f, _Vidtex.Width, _Vidtex.Height);
|
||||
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
|
||||
RectangleF rect;
|
||||
CHelper.SetRect(bounds, out rect, _Vidtex.OrigAspect, EAspect.Crop);
|
||||
SRectF vidRect = new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z);
|
||||
SRectF vidRectBounds = new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f);
|
||||
|
||||
CBase.Drawing.DrawTexture(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds, false);
|
||||
CBase.Drawing.DrawTexture(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds);
|
||||
CBase.Drawing.DrawTextureReflection(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds, _CoverBig.ReflectionSpace, _CoverBig.ReflectionHeight);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace VocaluxeLib.PartyModes
|
||||
{
|
||||
public abstract class CPartyMode : IPartyMode
|
||||
{
|
||||
protected string _Folder;
|
||||
protected SScreenSongOptions _ScreenSongOptions;
|
||||
protected readonly Dictionary<string, CMenuParty> _Screens;
|
||||
|
||||
@@ -101,6 +102,16 @@ namespace VocaluxeLib.PartyModes
|
||||
return 1;
|
||||
}
|
||||
|
||||
public string GetFolder()
|
||||
{
|
||||
return _Folder;
|
||||
}
|
||||
|
||||
public void SetFolder(string folder)
|
||||
{
|
||||
_Folder = folder;
|
||||
}
|
||||
|
||||
public virtual void SetSearchString(string searchString, bool visible) {}
|
||||
|
||||
public virtual void JokerUsed(int teamNr)
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using VocaluxeLib.Menu;
|
||||
|
||||
namespace VocaluxeLib.PartyModes
|
||||
{
|
||||
|
||||
@@ -104,6 +104,8 @@ namespace VocaluxeLib.PartyModes
|
||||
int GetMaxTeams();
|
||||
int GetMinTeams();
|
||||
int GetMaxNumRounds();
|
||||
string GetFolder();
|
||||
void SetFolder(string folder);
|
||||
|
||||
void SetSearchString(string searchString, bool visible);
|
||||
|
||||
|
||||
@@ -1,40 +1,49 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using VocaluxeLib.Menu;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Profile
|
||||
{
|
||||
public class CAvatar
|
||||
{
|
||||
public int ID;
|
||||
public string FileName;
|
||||
public STexture Texture;
|
||||
public string FileName = "";
|
||||
public CTexture Texture;
|
||||
|
||||
public CAvatar(int ID)
|
||||
public CAvatar(int id)
|
||||
{
|
||||
this.ID = ID;
|
||||
FileName = String.Empty;
|
||||
Texture = new STexture(-1);
|
||||
ID = id;
|
||||
}
|
||||
|
||||
public bool LoadFromFile(string NewFileName)
|
||||
public bool LoadFromFile(string fileName)
|
||||
{
|
||||
FileName = NewFileName;
|
||||
CBase.Drawing.RemoveTexture(ref Texture);
|
||||
Texture = CBase.Drawing.AddTexture(FileName);
|
||||
return (Texture.Index != -1);
|
||||
FileName = fileName;
|
||||
return Reload();
|
||||
}
|
||||
|
||||
public bool Reload()
|
||||
{
|
||||
STexture oldTexture = Texture;
|
||||
CBase.Drawing.RemoveTexture(ref Texture);
|
||||
Texture = CBase.Drawing.AddTexture(FileName);
|
||||
CBase.Drawing.RemoveTexture(ref oldTexture);
|
||||
|
||||
return Texture.Index != -1;
|
||||
return Texture != null;
|
||||
}
|
||||
|
||||
public void Unload()
|
||||
@@ -42,4 +51,4 @@ namespace VocaluxeLib.Profile
|
||||
CBase.Drawing.RemoveTexture(ref Texture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
#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 <http://www.gnu.org/licenses/>.
|
||||
// */
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
@@ -9,15 +26,15 @@ namespace VocaluxeLib.Profile
|
||||
{
|
||||
public class CProfile
|
||||
{
|
||||
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings()
|
||||
{
|
||||
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings
|
||||
{
|
||||
Indent = true,
|
||||
Encoding = Encoding.UTF8,
|
||||
ConformanceLevel = ConformanceLevel.Document
|
||||
};
|
||||
|
||||
public int ID;
|
||||
|
||||
|
||||
public string PlayerName;
|
||||
public string FileName;
|
||||
public string AvatarFileName;
|
||||
@@ -55,9 +72,9 @@ namespace VocaluxeLib.Profile
|
||||
return LoadProfile(FileName);
|
||||
}
|
||||
|
||||
public bool LoadProfile(string NewFileName)
|
||||
public bool LoadProfile(string fileName)
|
||||
{
|
||||
FileName = NewFileName;
|
||||
FileName = fileName;
|
||||
|
||||
CXMLReader xmlReader = CXMLReader.OpenFile(FileName);
|
||||
if (xmlReader == null)
|
||||
@@ -85,7 +102,9 @@ namespace VocaluxeLib.Profile
|
||||
if (FileName == String.Empty)
|
||||
{
|
||||
string filename = string.Empty;
|
||||
// ReSharper disable LoopCanBeConvertedToQuery
|
||||
foreach (char chr in PlayerName)
|
||||
// ReSharper restore LoopCanBeConvertedToQuery
|
||||
{
|
||||
if (char.IsLetter(chr))
|
||||
filename += chr.ToString();
|
||||
@@ -142,4 +161,4 @@ namespace VocaluxeLib.Profile
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,16 +18,15 @@
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using VocaluxeLib;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Songs
|
||||
{
|
||||
public class CCategory
|
||||
{
|
||||
public readonly string Name;
|
||||
private STexture _CoverTextureSmall = new STexture(-1);
|
||||
private STexture _CoverTextureBig = new STexture(-1);
|
||||
private bool _CoverBigLoaded;
|
||||
private CTexture _CoverTextureSmall;
|
||||
private CTexture _CoverTextureBig;
|
||||
public readonly List<CSongPointer> Songs = new List<CSongPointer>();
|
||||
|
||||
public CCategory(string name)
|
||||
@@ -35,26 +34,25 @@ namespace VocaluxeLib.Songs
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public STexture CoverTextureSmall
|
||||
public CTexture CoverTextureSmall
|
||||
{
|
||||
get { return _CoverTextureSmall; }
|
||||
|
||||
set { _CoverTextureSmall = value; }
|
||||
}
|
||||
|
||||
public STexture CoverTextureBig
|
||||
public CTexture CoverTextureBig
|
||||
{
|
||||
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; }
|
||||
get { return _CoverTextureBig ?? _CoverTextureSmall; }
|
||||
set
|
||||
{
|
||||
if (value.Index == -1)
|
||||
if (value == null)
|
||||
return;
|
||||
_CoverTextureBig = value;
|
||||
_CoverBigLoaded = true;
|
||||
}
|
||||
}
|
||||
|
||||
public CCategory(string name, STexture coverSmall, STexture coverBig)
|
||||
public CCategory(string name, CTexture coverSmall, CTexture coverBig)
|
||||
{
|
||||
Name = name;
|
||||
CoverTextureSmall = coverSmall;
|
||||
|
||||
+12
-26
@@ -20,8 +20,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using VocaluxeLib.Draw;
|
||||
|
||||
namespace VocaluxeLib.Songs
|
||||
{
|
||||
@@ -68,10 +70,8 @@ namespace VocaluxeLib.Songs
|
||||
|
||||
public class CSong
|
||||
{
|
||||
private bool _CoverSmallLoaded;
|
||||
private bool _CoverBigLoaded;
|
||||
private STexture _CoverTextureSmall = new STexture(-1);
|
||||
private STexture _CoverTextureBig = new STexture(-1);
|
||||
private CTexture _CoverTextureSmall;
|
||||
private CTexture _CoverTextureBig;
|
||||
|
||||
public SMedley Medley;
|
||||
|
||||
@@ -95,30 +95,22 @@ namespace VocaluxeLib.Songs
|
||||
|
||||
public bool NotesLoaded { get; private set; }
|
||||
|
||||
public STexture CoverTextureSmall
|
||||
public CTexture CoverTextureSmall
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!_CoverSmallLoaded)
|
||||
if (_CoverTextureSmall == null)
|
||||
LoadSmallCover();
|
||||
return _CoverTextureSmall;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_CoverTextureSmall = value;
|
||||
_CoverSmallLoaded = true;
|
||||
}
|
||||
set { _CoverTextureSmall = value; }
|
||||
}
|
||||
|
||||
public STexture CoverTextureBig
|
||||
public CTexture CoverTextureBig
|
||||
{
|
||||
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; }
|
||||
set
|
||||
{
|
||||
_CoverTextureBig = value;
|
||||
_CoverBigLoaded = true;
|
||||
}
|
||||
get { return _CoverTextureBig ?? _CoverTextureSmall; }
|
||||
set { _CoverTextureBig = value; }
|
||||
}
|
||||
|
||||
public string Title = String.Empty;
|
||||
@@ -213,8 +205,6 @@ namespace VocaluxeLib.Songs
|
||||
VideoFileName = song.VideoFileName;
|
||||
|
||||
VideoAspect = song.VideoAspect;
|
||||
_CoverSmallLoaded = song._CoverSmallLoaded;
|
||||
_CoverBigLoaded = song._CoverBigLoaded;
|
||||
NotesLoaded = song.NotesLoaded;
|
||||
|
||||
Artist = song.Artist;
|
||||
@@ -749,7 +739,7 @@ namespace VocaluxeLib.Songs
|
||||
|
||||
public void LoadSmallCover()
|
||||
{
|
||||
if (_CoverSmallLoaded)
|
||||
if (_CoverTextureSmall != null)
|
||||
return;
|
||||
if (CoverFileName != "")
|
||||
{
|
||||
@@ -758,8 +748,6 @@ namespace VocaluxeLib.Songs
|
||||
}
|
||||
else
|
||||
_CoverTextureSmall = CBase.Cover.GetNoCover();
|
||||
|
||||
_CoverSmallLoaded = true;
|
||||
}
|
||||
|
||||
private void _CheckFiles()
|
||||
@@ -818,9 +806,7 @@ namespace VocaluxeLib.Songs
|
||||
return null;
|
||||
|
||||
// build sentences list
|
||||
List<string> sentences = new List<string>();
|
||||
foreach (CLine line in voice.Lines)
|
||||
sentences.Add(line.Points != 0 ? line.Lyrics : String.Empty);
|
||||
List<string> sentences = voice.Lines.Select(line => line.Points != 0 ? line.Lyrics : String.Empty).ToList();
|
||||
|
||||
// find equal sentences series
|
||||
List<SSeries> series = new List<SSeries>();
|
||||
|
||||
@@ -99,45 +99,6 @@ namespace VocaluxeLib
|
||||
public int Y;
|
||||
public int Z;
|
||||
}
|
||||
|
||||
public struct STexture
|
||||
{
|
||||
public int Index;
|
||||
public int PBO;
|
||||
public int ID;
|
||||
|
||||
public string TexturePath;
|
||||
|
||||
public float Width;
|
||||
public float Height;
|
||||
public SRectF Rect;
|
||||
|
||||
public float W2; //power of 2 width
|
||||
public float H2; //power of 2 height
|
||||
public float WidthRatio;
|
||||
public float HeightRatio;
|
||||
|
||||
public SColorF Color;
|
||||
|
||||
public STexture(int index)
|
||||
{
|
||||
Index = index;
|
||||
PBO = 0;
|
||||
ID = -1;
|
||||
TexturePath = String.Empty;
|
||||
|
||||
Width = 1f;
|
||||
Height = 1f;
|
||||
Rect = new SRectF(0f, 0f, 1f, 1f, 0f);
|
||||
|
||||
W2 = 2f;
|
||||
H2 = 2f;
|
||||
WidthRatio = 0.5f;
|
||||
HeightRatio = 0.5f;
|
||||
|
||||
Color = new SColorF(1f, 1f, 1f, 1f);
|
||||
}
|
||||
}
|
||||
#endregion Drawing
|
||||
|
||||
#region Inputs
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
<Compile Include="Menu\CStatic.cs" />
|
||||
<Compile Include="Menu\CText.cs" />
|
||||
<Compile Include="Menu\CScreenSetting.cs" />
|
||||
<Compile Include="Draw\CTexture.cs" />
|
||||
<Compile Include="CXMLReader.cs" />
|
||||
<Compile Include="Enums.cs" />
|
||||
<Compile Include="Menu\IMenu.cs" />
|
||||
|
||||
Reference in new issue
Block a user