Merge remote-tracking branch 'remotes/flamefire/develop' into develop

This commit is contained in:
Alexander Eckart committed 2013-05-20 20:56:13 +02:00
commit 1aeb84ffa2
99 files changed
+2634 -2801

No files matched your search

+5 -1
View File
@@ -73,6 +73,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">All</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">All</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Only names and avatars</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Only names and avatars</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nothing</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_LOADING">Loading</string>
<string name="TR_SCREENLOAD_TOTAL">Total</string> <string name="TR_SCREENLOAD_TOTAL">Total</string>
<string name="TR_SCREENLOAD_SONGS">Songs</string> <string name="TR_SCREENLOAD_SONGS">Songs</string>
@@ -188,7 +192,7 @@
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Loading Behavior</string> <string name="TR_SCREENOTHEME_COVERLOADING">Cover Loading Behavior</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Lyrics Options</string> <string name="TR_SCREENOLYRICS_OPTIONS">Lyrics Options</string>
<string name="TR_SCREENOLYRICS_STYLE">Style</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_OPTIONS">Video Options</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Backgrounds</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Backgrounds</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Preview</string> <string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Preview</string>
+5 -1
View File
@@ -73,6 +73,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Keine</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_LOADING">Laden</string>
<string name="TR_SCREENLOAD_TOTAL">Gesamt</string> <string name="TR_SCREENLOAD_TOTAL">Gesamt</string>
<string name="TR_SCREENLOAD_SONGS">Lieder</string> <string name="TR_SCREENLOAD_SONGS">Lieder</string>
@@ -188,7 +192,7 @@
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Ladeverhalten</string> <string name="TR_SCREENOTHEME_COVERLOADING">Cover Ladeverhalten</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string> <string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string>
<string name="TR_SCREENOLYRICS_STYLE">Stil</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_OPTIONS">Videoeinstellungen</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string> <string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string>
@@ -37,7 +37,7 @@
<TextCurrentSong> <TextCurrentSong>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>410</X> <X>410</X>
<Y>4</Y> <Y>8</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -53,7 +53,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -98,7 +98,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -147,7 +147,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -196,7 +196,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -245,7 +245,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -294,7 +294,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -343,7 +343,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -392,7 +392,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -441,7 +441,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -21,7 +21,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1067</X> <X>1067</X>
<Y>680</Y> <Y>682</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-2,00</Z> <Z>-2,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -37,7 +37,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -48,7 +48,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>60</X> <X>60</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -63,7 +63,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -77,7 +77,7 @@
<TextSongName> <TextSongName>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -92,7 +92,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -106,7 +106,7 @@
<TextSongMode> <TextSongMode>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1220</X> <X>1220</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -121,7 +121,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -135,7 +135,7 @@
<TextNumber1> <TextNumber1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>100</Y> <Y>103</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -150,7 +150,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -179,7 +179,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -193,7 +193,7 @@
<TextNumber3> <TextNumber3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>220</Y> <Y>223</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -208,7 +208,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -222,7 +222,7 @@
<TextNumber4> <TextNumber4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>280</Y> <Y>283</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -237,7 +237,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -251,7 +251,7 @@
<TextNumber5> <TextNumber5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>340</Y> <Y>343</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -266,7 +266,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -280,7 +280,7 @@
<TextNumber6> <TextNumber6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>400</Y> <Y>403</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -295,7 +295,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -309,7 +309,7 @@
<TextNumber7> <TextNumber7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>460</Y> <Y>463</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -324,7 +324,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -338,7 +338,7 @@
<TextNumber8> <TextNumber8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>520</Y> <Y>523</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -353,7 +353,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -367,7 +367,7 @@
<TextNumber9> <TextNumber9>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>580</Y> <Y>583</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -382,7 +382,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -396,7 +396,7 @@
<TextNumber10> <TextNumber10>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>120</X> <X>120</X>
<Y>640</Y> <Y>643</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -411,7 +411,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -425,7 +425,7 @@
<TextName1> <TextName1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>100</Y> <Y>103</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -440,7 +440,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -454,7 +454,7 @@
<TextName2> <TextName2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>160</Y> <Y>163</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -469,7 +469,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -483,7 +483,7 @@
<TextName3> <TextName3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>220</Y> <Y>223</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -498,7 +498,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -512,7 +512,7 @@
<TextName4> <TextName4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>280</Y> <Y>283</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -527,7 +527,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -541,7 +541,7 @@
<TextName5> <TextName5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>340</Y> <Y>343</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -556,7 +556,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -570,7 +570,7 @@
<TextName6> <TextName6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>400</Y> <Y>403</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -585,7 +585,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -599,7 +599,7 @@
<TextName7> <TextName7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>460</Y> <Y>463</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -614,7 +614,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -628,7 +628,7 @@
<TextName8> <TextName8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>520</Y> <Y>523</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -643,7 +643,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -657,7 +657,7 @@
<TextName9> <TextName9>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>580</Y> <Y>583</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -672,7 +672,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -686,7 +686,7 @@
<TextName10> <TextName10>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>200</X> <X>200</X>
<Y>640</Y> <Y>643</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -701,7 +701,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -715,7 +715,7 @@
<TextScore1> <TextScore1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>100</Y> <Y>103</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -730,7 +730,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -744,7 +744,7 @@
<TextScore2> <TextScore2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>160</Y> <Y>163</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -759,7 +759,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -773,7 +773,7 @@
<TextScore3> <TextScore3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>220</Y> <Y>223</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -788,7 +788,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -802,7 +802,7 @@
<TextScore4> <TextScore4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>280</Y> <Y>283</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -817,7 +817,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -831,7 +831,7 @@
<TextScore5> <TextScore5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>340</Y> <Y>343</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -846,7 +846,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -860,7 +860,7 @@
<TextScore6> <TextScore6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>400</Y> <Y>403</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -875,7 +875,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -889,7 +889,7 @@
<TextScore7> <TextScore7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>460</Y> <Y>463</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -904,7 +904,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -918,7 +918,7 @@
<TextScore8> <TextScore8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>520</Y> <Y>523</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -933,7 +933,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -947,7 +947,7 @@
<TextScore9> <TextScore9>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>580</Y> <Y>583</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -962,7 +962,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -976,7 +976,7 @@
<TextScore10> <TextScore10>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>800</X> <X>800</X>
<Y>640</Y> <Y>643</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -991,7 +991,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1005,7 +1005,7 @@
<TextDate1> <TextDate1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>100</Y> <Y>103</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1020,7 +1020,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1034,7 +1034,7 @@
<TextDate2> <TextDate2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>160</Y> <Y>163</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1049,7 +1049,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1063,7 +1063,7 @@
<TextDate3> <TextDate3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>220</Y> <Y>223</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1078,7 +1078,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1092,7 +1092,7 @@
<TextDate4> <TextDate4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>280</Y> <Y>283</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1107,7 +1107,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1121,7 +1121,7 @@
<TextDate5> <TextDate5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>340</Y> <Y>343</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1136,7 +1136,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1150,7 +1150,7 @@
<TextDate6> <TextDate6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>400</Y> <Y>403</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1165,7 +1165,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1179,7 +1179,7 @@
<TextDate7> <TextDate7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>460</Y> <Y>463</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1194,7 +1194,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1208,7 +1208,7 @@
<TextDate8> <TextDate8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>520</Y> <Y>523</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1223,7 +1223,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1237,7 +1237,7 @@
<TextDate9> <TextDate9>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>580</Y> <Y>583</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1252,7 +1252,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1266,7 +1266,7 @@
<TextDate10> <TextDate10>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1000</X> <X>1000</X>
<Y>640</Y> <Y>643</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1281,7 +1281,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
+112 -112
View File
@@ -29,102 +29,6 @@
<!-- <Space>: Reflection Space--> <!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height--> <!-- <Height>: Reflection Height-->
</Static1> </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> <StaticPlayerAvatar1>
<!--<Skin>: Texture name--> <!--<Skin>: Texture name-->
<Skin>Invisible</Skin> <Skin>Invisible</Skin>
@@ -221,6 +125,102 @@
<!-- <Space>: Reflection Space--> <!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height--> <!-- <Height>: Reflection Height-->
</StaticPlayerAvatar6> </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> <StaticWarningMics>
<!--<Skin>: Texture name--> <!--<Skin>: Texture name-->
<Skin>Invisible</Skin> <Skin>Invisible</Skin>
@@ -256,7 +256,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -271,7 +271,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -285,7 +285,7 @@
<TextWarningMics> <TextWarningMics>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>615</Y> <Y>617</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -301,7 +301,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -315,7 +315,7 @@
<TextWarningProfiles> <TextWarningProfiles>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>650</Y> <Y>652</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -331,7 +331,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -360,7 +360,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -389,7 +389,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -418,7 +418,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -447,7 +447,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -476,7 +476,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -505,7 +505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -536,7 +536,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -550,7 +550,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -593,7 +593,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -607,7 +607,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
+14 -14
View File
@@ -32,7 +32,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>60</X> <X>60</X>
<Y>41</Y> <Y>43</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -78,7 +78,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -92,7 +92,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -135,7 +135,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -149,7 +149,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -192,7 +192,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -206,7 +206,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -249,7 +249,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -263,7 +263,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -306,7 +306,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -320,7 +320,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -363,7 +363,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -377,7 +377,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -128,7 +128,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -143,7 +143,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -157,7 +157,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -172,7 +172,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -186,7 +186,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -201,7 +201,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -215,7 +215,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -230,7 +230,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -244,7 +244,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -259,7 +259,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -273,7 +273,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -288,7 +288,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -302,7 +302,7 @@
<Text7> <Text7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -317,7 +317,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -348,7 +348,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -362,7 +362,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -32,7 +32,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -136,7 +136,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -150,7 +150,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -160,7 +160,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>53</Y> <Y>55</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -175,7 +175,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -189,7 +189,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>104</Y> <Y>106</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -204,7 +204,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -218,7 +218,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -233,7 +233,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -247,7 +247,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -262,7 +262,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -276,7 +276,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -291,7 +291,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -305,7 +305,7 @@
<TextWarning> <TextWarning>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>535</Y> <Y>537</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -321,7 +321,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -335,7 +335,7 @@
<TextDelayChannel1> <TextDelayChannel1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>330</X> <X>330</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-1,00</Z> <Z>-1,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -350,7 +350,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -364,7 +364,7 @@
<TextDelayChannel2> <TextDelayChannel2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>330</X> <X>330</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-1,00</Z> <Z>-1,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -379,7 +379,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -410,7 +410,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>14</Y> <Y>16</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -424,7 +424,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -467,7 +467,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>14</Y> <Y>16</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -481,7 +481,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -559,7 +559,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)--> <!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor> <TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height--> <!--<TextH>: Text height-->
<TextH>27</TextH> <TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position--> <!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position--> <!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)--> <!--<TextMaxW>: Maximum text width (if exists)-->
@@ -626,7 +626,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)--> <!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor> <TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height--> <!--<TextH>: Text height-->
<TextH>27</TextH> <TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position--> <!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position--> <!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)--> <!--<TextMaxW>: Maximum text width (if exists)-->
@@ -693,7 +693,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)--> <!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor> <TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height--> <!--<TextH>: Text height-->
<TextH>27</TextH> <TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position--> <!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position--> <!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)--> <!--<TextMaxW>: Maximum text width (if exists)-->
@@ -760,7 +760,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)--> <!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor> <TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height--> <!--<TextH>: Text height-->
<TextH>27</TextH> <TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position--> <!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position--> <!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)--> <!--<TextMaxW>: Maximum text width (if exists)-->
@@ -32,7 +32,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -119,7 +119,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -134,7 +134,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -148,7 +148,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -163,7 +163,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -177,7 +177,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -192,7 +192,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -223,7 +223,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -237,7 +237,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -160,7 +160,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -175,7 +175,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -189,7 +189,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -204,7 +204,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -218,7 +218,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -233,7 +233,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -247,7 +247,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -262,7 +262,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -276,7 +276,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -291,7 +291,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -305,7 +305,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -320,7 +320,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -334,7 +334,7 @@
<Text7> <Text7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -349,7 +349,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -363,7 +363,7 @@
<Text8> <Text8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>465</Y> <Y>467</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -378,7 +378,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -392,7 +392,7 @@
<Text9> <Text9>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>525</Y> <Y>527</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -407,7 +407,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -438,7 +438,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -452,7 +452,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -96,7 +96,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -111,7 +111,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -125,7 +125,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -140,7 +140,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -154,7 +154,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -169,7 +169,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -183,7 +183,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -198,7 +198,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -212,7 +212,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -227,7 +227,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -241,7 +241,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -256,7 +256,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -270,7 +270,7 @@
<Text7> <Text7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -285,7 +285,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -316,7 +316,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -330,7 +330,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
+34 -34
View File
@@ -32,7 +32,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>105</Y> <Y>107</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -119,7 +119,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -134,7 +134,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -148,7 +148,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -163,7 +163,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -177,7 +177,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -192,7 +192,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -206,7 +206,7 @@
<Text7> <Text7>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -221,7 +221,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -235,7 +235,7 @@
<Text8> <Text8>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>465</Y> <Y>467</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -250,7 +250,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -264,7 +264,7 @@
<TextDescription> <TextDescription>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>165</Y> <Y>167</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -280,7 +280,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -294,7 +294,7 @@
<TextTargetAudience> <TextTargetAudience>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>225</Y> <Y>227</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -310,7 +310,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -324,7 +324,7 @@
<TextNumTeams> <TextNumTeams>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -340,7 +340,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -354,7 +354,7 @@
<TextNumPlayers> <TextNumPlayers>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -370,7 +370,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -384,7 +384,7 @@
<TextAuthor> <TextAuthor>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -400,7 +400,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -414,7 +414,7 @@
<TextVersion> <TextVersion>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>465</Y> <Y>467</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -430,7 +430,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -444,7 +444,7 @@
<TextError> <TextError>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>850</X> <X>850</X>
<Y>525</Y> <Y>527</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -460,7 +460,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -491,7 +491,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -505,7 +505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -548,7 +548,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -562,7 +562,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -128,7 +128,7 @@
<Text1> <Text1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>48</Y> <Y>50</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -143,7 +143,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -157,7 +157,7 @@
<Text2> <Text2>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>285</Y> <Y>287</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -172,7 +172,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -186,7 +186,7 @@
<Text3> <Text3>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>345</Y> <Y>347</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -201,7 +201,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -215,7 +215,7 @@
<Text4> <Text4>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>405</Y> <Y>407</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -230,7 +230,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -244,7 +244,7 @@
<Text5> <Text5>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>465</Y> <Y>467</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -259,7 +259,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -273,7 +273,7 @@
<Text6> <Text6>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>525</Y> <Y>527</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -288,7 +288,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -319,7 +319,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>355</X> <X>355</X>
<Y>8</Y> <Y>10</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -333,7 +333,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -368,7 +368,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -382,7 +382,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -425,7 +425,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -439,7 +439,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -482,7 +482,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -496,7 +496,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -539,7 +539,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -553,7 +553,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -596,7 +596,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -610,7 +610,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -653,7 +653,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -667,7 +667,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -702,7 +702,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -716,7 +716,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -751,7 +751,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -765,7 +765,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
File diff suppressed because it is too large. Load diff
+83 -84
View File
@@ -961,7 +961,7 @@
<TextSongName> <TextSongName>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>640</X> <X>640</X>
<Y>18</Y> <Y>20</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-1,00</Z> <Z>-1,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -977,7 +977,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -988,36 +988,6 @@
<!-- <Space>: Reflection Space--> <!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height--> <!-- <Height>: Reflection Height-->
</TextSongName> </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> <TextTime>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1214</X> <X>1214</X>
@@ -1036,7 +1006,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1065,7 +1035,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1094,7 +1064,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1123,7 +1093,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1134,6 +1104,35 @@
<!-- <Space>: Reflection Space--> <!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height--> <!-- <Height>: Reflection Height-->
</TextDuetName2> </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> <TextScoreP1N1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>1240</X> <X>1240</X>
@@ -1152,7 +1151,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1184,7 +1183,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1213,7 +1212,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1245,7 +1244,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1274,7 +1273,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1306,7 +1305,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1335,7 +1334,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1367,7 +1366,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1396,7 +1395,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1428,7 +1427,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1457,7 +1456,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1489,7 +1488,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1518,7 +1517,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1550,7 +1549,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1579,7 +1578,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1611,7 +1610,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1640,7 +1639,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1672,7 +1671,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1701,7 +1700,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1733,7 +1732,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1762,7 +1761,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1794,7 +1793,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1823,7 +1822,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1855,7 +1854,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1884,7 +1883,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1916,7 +1915,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1945,7 +1944,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1977,7 +1976,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2006,7 +2005,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2038,7 +2037,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2067,7 +2066,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2099,7 +2098,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2128,7 +2127,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2160,7 +2159,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2189,7 +2188,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2221,7 +2220,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2250,7 +2249,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2282,7 +2281,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2311,7 +2310,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2343,7 +2342,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2372,7 +2371,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2404,7 +2403,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2435,7 +2434,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -2449,7 +2448,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2492,7 +2491,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -2506,7 +2505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2549,7 +2548,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -2563,7 +2562,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
+64 -64
View File
@@ -91,7 +91,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -121,7 +121,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -151,7 +151,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -181,7 +181,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -211,7 +211,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -241,7 +241,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -255,7 +255,7 @@
<TextCategory> <TextCategory>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>220</X> <X>220</X>
<Y>610</Y> <Y>612</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -271,7 +271,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -289,7 +289,7 @@
<TextSelection> <TextSelection>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>825</X> <X>825</X>
<Y>610</Y> <Y>612</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -305,7 +305,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -323,7 +323,7 @@
<TextSearchBarTitle> <TextSearchBarTitle>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>400</X> <X>400</X>
<Y>610</Y> <Y>612</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -338,7 +338,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align> <Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -352,7 +352,7 @@
<TextSearchBar> <TextSearchBar>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>410</X> <X>410</X>
<Y>610</Y> <Y>612</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>0,00</Z> <Z>0,00</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -367,7 +367,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -381,7 +381,7 @@
<TextOptionsTitle> <TextOptionsTitle>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>220</X> <X>220</X>
<Y>45</Y> <Y>47</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-2,11</Z> <Z>-2,11</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -397,7 +397,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -428,7 +428,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -442,7 +442,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -477,7 +477,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -491,7 +491,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -526,7 +526,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -540,7 +540,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -575,7 +575,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -589,7 +589,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -624,7 +624,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -638,7 +638,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -673,7 +673,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>40</X> <X>40</X>
<Y>20</Y> <Y>23</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>34</H> <H>34</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -687,7 +687,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -722,7 +722,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -736,7 +736,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -771,7 +771,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -785,7 +785,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -820,7 +820,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -834,7 +834,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -869,7 +869,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -883,7 +883,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -918,7 +918,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -932,7 +932,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -967,7 +967,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -981,7 +981,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1016,7 +1016,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1030,7 +1030,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1065,7 +1065,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1079,7 +1079,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1114,7 +1114,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1128,7 +1128,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1163,7 +1163,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>75</X> <X>75</X>
<Y>10</Y> <Y>12</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>27</H> <H>27</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1177,7 +1177,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1220,7 +1220,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1234,7 +1234,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1269,7 +1269,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -1283,7 +1283,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1630,7 +1630,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1660,7 +1660,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1690,7 +1690,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -1822,7 +1822,7 @@
<TextPart1> <TextPart1>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>54</X> <X>54</X>
<Y>4</Y> <Y>5</Y>
<!--<Z>: Text position--> <!--<Z>: Text position-->
<Z>-1,01</Z> <Z>-1,01</Z>
<!--<H>: Text height--> <!--<H>: Text height-->
@@ -1838,13 +1838,13 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Top</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
<Font>Outline</Font> <Font>Outline</Font>
<!--<Text>: Nothing or translation tag--> <!--<Text>: Nothing or translation tag-->
<Text>%a - %t</Text> <Text />
<!--<Reflection> If exists:--> <!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space--> <!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height--> <!-- <Height>: Reflection Height-->
@@ -1999,7 +1999,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align> <Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2034,7 +2034,7 @@
<Text> <Text>
<!--<X>, <Y>: Text position--> <!--<X>, <Y>: Text position-->
<X>180</X> <X>180</X>
<Y>5</Y> <Y>7</Y>
<!--<H>: Text height--> <!--<H>: Text height-->
<H>25</H> <H>25</H>
<!--<MaxW>: Maximum text width (if exists)--> <!--<MaxW>: Maximum text width (if exists)-->
@@ -2048,7 +2048,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2097,7 +2097,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2146,7 +2146,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -2195,7 +2195,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right--> <!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align> <Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom--> <!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign> <HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic--> <!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style> <Style>Bold</Style>
<!--<Font>: Text font name--> <!--<Font>: Text font name-->
@@ -146,7 +146,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
_Rand = rand; _Rand = rand;
} }
public CCombination GetNextCombination(List<int> playerNrDemand) public CCombination GetNextCombination(IEnumerable<int> playerNrDemand)
{ {
if (_Combs.Count == 0) if (_Combs.Count == 0)
_Create(); _Create();
@@ -515,6 +515,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
return false; return false;
} }
// ReSharper disable LoopCanBeConvertedToQuery
foreach (CSong song in visibleSongs) foreach (CSong song in visibleSongs)
{ {
foreach (EGameMode mode in song.AvailableGameModes) foreach (EGameMode mode in song.AvailableGameModes)
@@ -523,6 +524,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
ids.Add(song.ID); ids.Add(song.ID);
} }
} }
// ReSharper restore LoopCanBeConvertedToQuery
if (ids.Count == 0) if (ids.Count == 0)
{ {
@@ -382,17 +382,8 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
//Show profile only if active //Show profile only if active
if (CBase.Profiles.GetProfiles()[i].Active == EOffOn.TR_CONFIG_ON) if (CBase.Profiles.GetProfiles()[i].Active == EOffOn.TR_CONFIG_ON)
{ {
visible = true; //Don't show profile if is selected
visible = !_Data.ScreenNames.ProfileIDs.Contains(i);
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;
}
}
} }
if (visible) if (visible)
_PlayerChooseButtonsVisibleProfiles.Add(i); _PlayerChooseButtonsVisibleProfiles.Add(i);
@@ -658,7 +658,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
for (int i = 0; i < CBase.Playlist.GetPlaylistSongCount(_GameData.PlaylistID); i++) for (int i = 0; i < CBase.Playlist.GetPlaylistSongCount(_GameData.PlaylistID); i++)
{ {
int id = CBase.Playlist.GetPlaylistSong(_GameData.PlaylistID, i).SongID; int id = CBase.Playlist.GetPlaylistSong(_GameData.PlaylistID, i).SongID;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetSongByID(id).AvailableGameModes) foreach (EGameMode mode in CBase.Songs.GetSongByID(id).AvailableGameModes)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (mode == gm) if (mode == gm)
songs.Add(id); songs.Add(id);
@@ -669,7 +671,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
case ESongSource.TR_ALLSONGS: case ESongSource.TR_ALLSONGS:
for (int i = 0; i < CBase.Songs.GetNumSongs(); i++) for (int i = 0; i < CBase.Songs.GetNumSongs(); i++)
{ {
// ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetSongByID(i).AvailableGameModes) foreach (EGameMode mode in CBase.Songs.GetSongByID(i).AvailableGameModes)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (mode == gm) if (mode == gm)
songs.Add(i); songs.Add(i);
@@ -681,7 +685,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
CBase.Songs.SetCategory(_GameData.CategoryID); CBase.Songs.SetCategory(_GameData.CategoryID);
for (int i = 0; i < CBase.Songs.NumSongsInCategory(_GameData.CategoryID); i++) for (int i = 0; i < CBase.Songs.NumSongsInCategory(_GameData.CategoryID); i++)
{ {
// ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetVisibleSong(i).AvailableGameModes) foreach (EGameMode mode in CBase.Songs.GetVisibleSong(i).AvailableGameModes)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (mode == gm) if (mode == gm)
songs.Add(CBase.Songs.GetVisibleSong(i).ID); songs.Add(CBase.Songs.GetVisibleSong(i).ID);
+4 -1
View File
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00 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}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vocaluxe", "Vocaluxe\Vocaluxe.csproj", "{2A1E0F2D-5392-4BB7-B0A1-A9DFA13E79FF}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{6F3E1874-F28A-40E9-AFBD-31934D593678} = {6F3E1874-F28A-40E9-AFBD-31934D593678} {6F3E1874-F28A-40E9-AFBD-31934D593678} = {6F3E1874-F28A-40E9-AFBD-31934D593678}
@@ -128,4 +128,7 @@ Global
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal EndGlobal
+31 -28
View File
@@ -24,6 +24,7 @@ using System.IO;
using System.Linq; using System.Linq;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -39,7 +40,7 @@ namespace Vocaluxe.Base
private static readonly List<CPlaylistElement> _PreviousFileNames = new List<CPlaylistElement>(); private static readonly List<CPlaylistElement> _PreviousFileNames = new List<CPlaylistElement>();
private static int _Video = -1; 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 readonly Stopwatch _FadeTimer = new Stopwatch();
private static bool _VideoEnabled; private static bool _VideoEnabled;
@@ -118,7 +119,7 @@ namespace Vocaluxe.Base
} }
} }
public static STexture Cover public static CTexture Cover
{ {
get { return _CurrentPlaylistElement.Cover; } get { return _CurrentPlaylistElement.Cover; }
} }
@@ -155,7 +156,7 @@ namespace Vocaluxe.Base
CSound.Fade(_CurrentMusicStream, 100f, CSettings.BackgroundMusicFadeTime); CSound.Fade(_CurrentMusicStream, 100f, CSettings.BackgroundMusicFadeTime);
CSound.Play(_CurrentMusicStream); CSound.Play(_CurrentMusicStream);
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
CVideo.VdResume(_Video); CVideo.Resume(_Video);
IsPlaying = true; IsPlaying = true;
} }
else else
@@ -173,7 +174,7 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
{ {
CVideo.VdClose(_Video); CVideo.Close(_Video);
CDraw.RemoveTexture(ref _CurrentVideoTexture); CDraw.RemoveTexture(ref _CurrentVideoTexture);
_Video = -1; _Video = -1;
} }
@@ -191,8 +192,8 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
{ {
CVideo.VdPause(_Video); CVideo.Pause(_Video);
CVideo.VdSkip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap); CVideo.Skip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap);
} }
CSound.FadeAndPause(_CurrentMusicStream, 0f, CSettings.BackgroundMusicFadeTime); CSound.FadeAndPause(_CurrentMusicStream, 0f, CSettings.BackgroundMusicFadeTime);
IsPlaying = false; IsPlaying = false;
@@ -221,9 +222,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
{ {
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) 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 else
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
} }
} }
else else
@@ -287,9 +288,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
{ {
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) 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 else
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
} }
} }
else else
@@ -319,9 +320,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1) if (_VideoEnabled && _Video != -1)
{ {
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) 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 else
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
} }
} }
} }
@@ -441,14 +442,14 @@ namespace Vocaluxe.Base
if (_VideoEnabled) if (_VideoEnabled)
{ {
_VideoEnabled = false; _VideoEnabled = false;
CVideo.VdClose(_Video); CVideo.Close(_Video);
_Video = -1; _Video = -1;
CDraw.RemoveTexture(ref _CurrentVideoTexture); CDraw.RemoveTexture(ref _CurrentVideoTexture);
return; return;
} }
if (CVideo.VdFinished(_Video)) if (CVideo.Finished(_Video))
{ {
CVideo.VdClose(_Video); CVideo.Close(_Video);
CDraw.RemoveTexture(ref _CurrentVideoTexture); CDraw.RemoveTexture(ref _CurrentVideoTexture);
_Video = -1; _Video = -1;
} }
@@ -457,22 +458,24 @@ namespace Vocaluxe.Base
_LoadVideo(); _LoadVideo();
} }
public static STexture GetVideoTexture() public static CTexture GetVideoTexture()
{ {
if (_Video != -1) if (_Video != -1)
{ {
float vtime; float vtime;
CVideo.VdGetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime); if (CVideo.GetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime))
if (_FadeTimer.ElapsedMilliseconds <= 3000L)
_CurrentVideoTexture.Color.A = _FadeTimer.ElapsedMilliseconds / 3000f;
else
{ {
_CurrentVideoTexture.Color.A = 1f; if (_FadeTimer.ElapsedMilliseconds <= 3000L)
_FadeTimer.Stop(); _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) private static bool _IsBackgroundFile(CPlaylistElement element)
@@ -484,11 +487,11 @@ namespace Vocaluxe.Base
{ {
if (_Video == -1) if (_Video == -1)
{ {
_Video = CVideo.VdLoad(_CurrentPlaylistElement.VideoFilePath); _Video = CVideo.Load(_CurrentPlaylistElement.VideoFilePath);
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) 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 else
CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
_VideoEnabled = true; _VideoEnabled = true;
_FadeTimer.Reset(); _FadeTimer.Reset();
_FadeTimer.Start(); _FadeTimer.Start();
@@ -576,7 +579,7 @@ namespace Vocaluxe.Base
} }
} }
public STexture Cover public CTexture Cover
{ {
get get
{ {
+3 -4
View File
@@ -29,7 +29,6 @@ using System.Xml;
using Vocaluxe.Lib.Sound; using Vocaluxe.Lib.Sound;
using Vocaluxe.Lib.Webcam; using Vocaluxe.Lib.Webcam;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
namespace Vocaluxe.Base namespace Vocaluxe.Base
@@ -844,12 +843,12 @@ namespace Vocaluxe.Base
if (Players[j] == "" || profiles == null) if (Players[j] == "" || profiles == null)
continue; 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 //Update Game-infos with player
CGame.Players[j].ProfileID = profiles[i].ID; CGame.Players[j].ProfileID = profile.ID;
} }
} }
} }
-17
View File
@@ -17,9 +17,7 @@
// */ // */
#endregion #endregion
using System;
using System.Collections.Generic; using System.Collections.Generic;
using Vocaluxe.Base.Server; using Vocaluxe.Base.Server;
using Vocaluxe.Lib.Input; using Vocaluxe.Lib.Input;
using Vocaluxe.Lib.Input.WiiMote; using Vocaluxe.Lib.Input.WiiMote;
@@ -44,17 +42,13 @@ namespace Vocaluxe.Base
_Controller.Add(CVocaluxeServer.Controller); _Controller.Add(CVocaluxeServer.Controller);
foreach (IController controller in _Controller) foreach (IController controller in _Controller)
{
controller.Init(); controller.Init();
}
} }
public static void Close() public static void Close()
{ {
foreach (IController controller in _Controller) foreach (IController controller in _Controller)
{
controller.Close(); controller.Close();
}
_Controller = new List<IController>(); _Controller = new List<IController>();
} }
@@ -62,17 +56,13 @@ namespace Vocaluxe.Base
public static void Connect() public static void Connect()
{ {
foreach (IController controller in _Controller) foreach (IController controller in _Controller)
{
controller.Connect(); controller.Connect();
}
} }
public static void Disconnect() public static void Disconnect()
{ {
foreach (IController controller in _Controller) foreach (IController controller in _Controller)
{
controller.Disconnect(); controller.Disconnect();
}
} }
public static bool IsConnected() public static bool IsConnected()
@@ -89,17 +79,12 @@ namespace Vocaluxe.Base
SKeyEvent ke = new SKeyEvent(); SKeyEvent ke = new SKeyEvent();
while (controller.PollKeyEvent(ref ke)) while (controller.PollKeyEvent(ref ke))
{
_KeysPool.Add(ke); _KeysPool.Add(ke);
}
SMouseEvent me = new SMouseEvent(); SMouseEvent me = new SMouseEvent();
while (controller.PollMouseEvent(ref me)) while (controller.PollMouseEvent(ref me))
{
_MousePool.Add(me); _MousePool.Add(me);
}
} }
} }
public static bool PollKeyEvent(ref SKeyEvent keyEvent) public static bool PollKeyEvent(ref SKeyEvent keyEvent)
@@ -127,9 +112,7 @@ namespace Vocaluxe.Base
public static void SetRumble(float duration) public static void SetRumble(float duration)
{ {
foreach (IController controller in _Controller) foreach (IController controller in _Controller)
{
controller.SetRumble(duration); controller.SetRumble(duration);
}
} }
} }
} }
+23 -39
View File
@@ -24,15 +24,14 @@ using System.Linq;
using System.Text; using System.Text;
using System.Xml; using System.Xml;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
struct SCover struct SCover
{ {
public string Name; public string Name;
public string Value; public CTexture Texture;
public STexture Texture;
} }
struct SCoverTheme struct SCoverTheme
@@ -47,14 +46,10 @@ namespace Vocaluxe.Base
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings(); private static readonly XmlWriterSettings _Settings = new XmlWriterSettings();
private static readonly List<SCover> _Cover = new List<SCover>(); private static readonly List<SCover> _Cover = new List<SCover>();
private static readonly List<SCoverTheme> _CoverThemes = new List<SCoverTheme>(); private static readonly List<SCoverTheme> _CoverThemes = new List<SCoverTheme>();
private static STexture _NoCover = new STexture(-1);
private static readonly Object _MutexCover = new Object(); private static readonly Object _MutexCover = new Object();
public static STexture NoCover public static CTexture NoCover { get; private set; }
{
get { return _NoCover; }
}
public static void Init() public static void Init()
{ {
@@ -98,21 +93,17 @@ namespace Vocaluxe.Base
/// <summary> /// <summary>
/// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist. /// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist.
/// </summary> /// </summary>
public static STexture Cover(string name) public static CTexture Cover(string name)
{ {
STexture cov = _NoCover;
lock (_MutexCover) lock (_MutexCover)
{ {
foreach (SCover cover in _Cover) foreach (SCover cover in _Cover)
{ {
if (cover.Name == name) if (cover.Name == name)
{ return cover.Texture;
cov = cover.Texture;
break;
}
} }
} }
return cov; return NoCover;
} }
/// <summary> /// <summary>
@@ -133,7 +124,7 @@ namespace Vocaluxe.Base
{ {
foreach (SCover cover in _Cover) foreach (SCover cover in _Cover)
{ {
STexture texture = cover.Texture; CTexture texture = cover.Texture;
CDraw.RemoveTexture(ref texture); CDraw.RemoveTexture(ref texture);
} }
_Cover.Clear(); _Cover.Clear();
@@ -145,16 +136,12 @@ namespace Vocaluxe.Base
/// </summary> /// </summary>
private static SCoverTheme _CoverTheme(string coverThemeName) private static SCoverTheme _CoverTheme(string coverThemeName)
{ {
SCoverTheme coverTheme = new SCoverTheme();
for (int i = 0; i < _CoverThemes.Count; i++) for (int i = 0; i < _CoverThemes.Count; i++)
{ {
if (_CoverThemes[i].Name == coverThemeName) if (_CoverThemes[i].Name == coverThemeName)
{ return _CoverThemes[i];
coverTheme = _CoverThemes[i];
break;
}
} }
return coverTheme; return new SCoverTheme();
} }
/// <summary> /// <summary>
@@ -195,7 +182,7 @@ namespace Vocaluxe.Base
{ {
SCoverTheme coverTheme = _CoverTheme(coverThemeName); SCoverTheme coverTheme = _CoverTheme(coverThemeName);
if (coverTheme.Name == "") if (String.IsNullOrEmpty(coverTheme.Name))
return; return;
CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(CSettings.FolderCover, coverTheme.File)); CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(CSettings.FolderCover, coverTheme.File));
@@ -207,31 +194,30 @@ namespace Vocaluxe.Base
List<string> cover = xmlReader.GetValues("Cover"); List<string> cover = xmlReader.GetValues("Cover");
foreach (string coverName in cover) foreach (string coverName in cover)
{ {
SCover sk = new SCover();
string name; string name;
string value; string filePath;
xmlReader.GetValue("//root/Cover/" + coverName + "/Name", out name, String.Empty); xmlReader.GetValue("//root/Cover/" + coverName + "/Name", out name, String.Empty);
xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out value, String.Empty); xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out filePath, String.Empty);
sk.Name = name; string coverFilePath = Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, filePath));
sk.Value = Path.Combine(coverTheme.Folder, value); if (!File.Exists(coverFilePath))
sk.Texture = File.Exists(Path.Combine(CSettings.FolderCover, sk.Value)) continue;
? CDraw.AddTexture(Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, value))) : _NoCover; SCover sk = new SCover {Name = name, Texture = CDraw.AddTexture(coverFilePath)};
_Cover.Add(sk); _Cover.Add(sk);
if (sk.Name == "NoCover") if (sk.Name == "NoCover")
_NoCover = sk.Texture; NoCover = sk.Texture;
} }
} }
} }
List<string> files = new List<string>(); List<string> files = new List<string>();
string path = Path.Combine(CSettings.FolderCover, coverTheme.Folder); string coverPath = Path.Combine(CSettings.FolderCover, coverTheme.Folder);
files.AddRange(CHelper.ListFiles(path, "*.png", true, true)); files.AddRange(CHelper.ListFiles(coverPath, "*.png", true, true));
files.AddRange(CHelper.ListFiles(path, "*.jpg", true, true)); files.AddRange(CHelper.ListFiles(coverPath, "*.jpg", true, true));
files.AddRange(CHelper.ListFiles(path, "*.jpeg", true, true)); files.AddRange(CHelper.ListFiles(coverPath, "*.jpeg", true, true));
files.AddRange(CHelper.ListFiles(path, "*.bmp", true, true)); files.AddRange(CHelper.ListFiles(coverPath, "*.bmp", true, true));
foreach (string file in files) foreach (string file in files)
@@ -241,11 +227,9 @@ namespace Vocaluxe.Base
if (_CoverExists(name)) if (_CoverExists(name))
continue; continue;
// ReSharper disable AssignNullToNotNullAttribute // 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 // ReSharper restore AssignNullToNotNullAttribute
sk.Texture = CDraw.AddTexture(Path.Combine(CSettings.FolderCover, sk.Value));
_Cover.Add(sk); _Cover.Add(sk);
} }
} }
+157
View File
@@ -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();
}
}
}
+3 -2
View File
@@ -37,6 +37,7 @@ using SQLiteDataReader = Mono.Data.Sqlite.SqliteDataReader;
using Community.CsharpSqlite; using Community.CsharpSqlite;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -912,7 +913,7 @@ namespace Vocaluxe.Base
#endregion Highscores #endregion Highscores
#region Cover #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)) if (!File.Exists(coverPath))
{ {
@@ -1141,7 +1142,7 @@ namespace Vocaluxe.Base
#endregion Cover #endregion Cover
#region CreditsRessources #region CreditsRessources
public static bool GetCreditsRessource(string fileName, ref STexture tex) public static bool GetCreditsRessource(string fileName, ref CTexture tex)
{ {
bool result = false; bool result = false;
+25 -19
View File
@@ -21,6 +21,7 @@ using System;
using System.Drawing; using System.Drawing;
using Vocaluxe.Lib.Draw; using Vocaluxe.Lib.Draw;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
namespace Vocaluxe.Base namespace Vocaluxe.Base
@@ -125,12 +126,12 @@ namespace Vocaluxe.Base
_Draw.ClearScreen(); _Draw.ClearScreen();
} }
public static STexture CopyScreen() public static CTexture CopyScreen()
{ {
return _Draw.CopyScreen(); return _Draw.CopyScreen();
} }
public static void CopyScreen(ref STexture texture) public static void CopyScreen(ref CTexture texture)
{ {
_Draw.CopyScreen(ref texture); _Draw.CopyScreen(ref texture);
} }
@@ -140,75 +141,80 @@ namespace Vocaluxe.Base
_Draw.MakeScreenShot(); _Draw.MakeScreenShot();
} }
public static STexture AddTexture(Bitmap bitmap) public static CTexture AddTexture(Bitmap bitmap)
{ {
return _Draw.AddTexture(bitmap); return _Draw.AddTexture(bitmap);
} }
public static STexture AddTexture(string texturePath) public static CTexture AddTexture(string texturePath)
{ {
return _Draw.AddTexture(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); 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); 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); _Draw.RemoveTexture(ref texture);
} }
public static void DrawTexture(STexture texture) public static void DrawTexture(CTexture texture)
{ {
_Draw.DrawTexture(texture); _Draw.DrawTexture(texture);
} }
public static void DrawTexture(STexture texture, SRectF rect) public static void DrawTexture(CTexture texture, SRectF rect)
{ {
_Draw.DrawTexture(texture, 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); _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); _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); _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; return;
RectangleF bounds = new RectangleF(staticBounds.Rect.X, staticBounds.Rect.Y, staticBounds.Rect.W, staticBounds.Rect.H); 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), 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)); 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); _Draw.DrawTextureReflection(texture, rect, color, bounds, space, height);
} }
+5 -172
View File
@@ -30,152 +30,11 @@ using VocaluxeLib.PartyModes;
namespace Vocaluxe.Base 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 static class CGraphics
{ {
private static bool _Fading; private static bool _Fading;
private static Stopwatch _FadingTimer; private static Stopwatch _FadingTimer;
private static CCursor _Cursor; private static readonly CCursor _Cursor = new CCursor();
private static float _GlobalAlpha; private static float _GlobalAlpha;
private static float _ZOffset; private static float _ZOffset;
@@ -252,12 +111,7 @@ namespace Vocaluxe.Base
public static void LoadTheme() public static void LoadTheme()
{ {
_Cursor = new CCursor( _Cursor.LoadTextures();
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);
for (int i = 0; i < _Screens.Count; i++) for (int i = 0; i < _Screens.Count; i++)
{ {
@@ -276,7 +130,7 @@ namespace Vocaluxe.Base
public static void ReloadTheme() public static void ReloadTheme()
{ {
_ReloadCursor(); _Cursor.ReloadTextures();
foreach (IMenu screen in _Screens) foreach (IMenu screen in _Screens)
screen.ReloadTheme(CTheme.GetThemeScreensPath(-1)); screen.ReloadTheme(CTheme.GetThemeScreensPath(-1));
@@ -286,7 +140,7 @@ namespace Vocaluxe.Base
public static void ReloadSkin() public static void ReloadSkin()
{ {
_ReloadCursor(); _Cursor.ReloadTextures();
foreach (IMenu menu in _Screens) foreach (IMenu menu in _Screens)
menu.ReloadTextures(); menu.ReloadTextures();
@@ -313,7 +167,7 @@ namespace Vocaluxe.Base
public static bool UpdateGameLogic(CKeys keys, CMouse mouse) public static bool UpdateGameLogic(CKeys keys, CMouse mouse)
{ {
bool run = true; bool run = true;
_Cursor.CursorVisible = mouse.Visible; _Cursor.Visible = mouse.Visible;
mouse.CopyEvents(); mouse.CopyEvents();
keys.CopyEvents(); keys.CopyEvents();
@@ -783,27 +637,6 @@ namespace Vocaluxe.Base
y += rect.Height; 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 #endregion private stuff
} }
} }
-1
View File
@@ -24,7 +24,6 @@ using System.Linq;
using System.Text; using System.Text;
using System.Xml; using System.Xml;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
+18 -18
View File
@@ -24,8 +24,8 @@ using System.Drawing;
using Vocaluxe.Base.Fonts; using Vocaluxe.Base.Fonts;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Game; using VocaluxeLib.Game;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
@@ -233,12 +233,12 @@ namespace Vocaluxe.Base
return CTheme.GetSkinIndex(partyModeID); return CTheme.GetSkinIndex(partyModeID);
} }
public STexture GetSkinTexture(string textureName, int partyModeID) public CTexture GetSkinTexture(string textureName, int partyModeID)
{ {
return CTheme.GetSkinTexture(textureName, 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); return CTheme.GetSkinVideoTexture(videoName, partyModeID);
} }
@@ -341,7 +341,7 @@ namespace Vocaluxe.Base
CBackgroundMusic.ApplyVolume(); CBackgroundMusic.ApplyVolume();
} }
public STexture GetVideoTexture() public CTexture GetVideoTexture()
{ {
return CBackgroundMusic.GetVideoTexture(); return CBackgroundMusic.GetVideoTexture();
} }
@@ -349,32 +349,32 @@ namespace Vocaluxe.Base
class CBdraw : IDrawing class CBdraw : IDrawing
{ {
public void DrawTexture(STexture texture, SRectF rect) public void DrawTexture(CTexture texture, SRectF rect)
{ {
CDraw.DrawTexture(texture, 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); 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); 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); CDraw.DrawTextureReflection(texture, rect, color, bounds, reflectionSpace, reflectionHeight);
} }
public STexture AddTexture(string fileName) public CTexture AddTexture(string fileName)
{ {
return CDraw.AddTexture(fileName); return CDraw.AddTexture(fileName);
} }
public void RemoveTexture(ref STexture texture) public void RemoveTexture(ref CTexture texture)
{ {
CDraw.RemoveTexture(ref texture); CDraw.RemoveTexture(ref texture);
} }
@@ -686,27 +686,27 @@ namespace Vocaluxe.Base
{ {
public int Load(string videoFileName) public int Load(string videoFileName)
{ {
return CVideo.VdLoad(videoFileName); return CVideo.Load(videoFileName);
} }
public bool Skip(int videoStream, float startPosition, float videoGap) 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) public bool IsFinished(int videoStream)
{ {
return CVideo.VdFinished(videoStream); return CVideo.Finished(videoStream);
} }
public bool Close(int videoStream) public bool Close(int videoStream)
{ {
return CVideo.VdClose(videoStream); return CVideo.Close(videoStream);
} }
} }
@@ -765,7 +765,7 @@ namespace Vocaluxe.Base
class CBcover : ICover class CBcover : ICover
{ {
public STexture GetNoCover() public CTexture GetNoCover()
{ {
return CCover.NoCover; return CCover.NoCover;
} }
@@ -773,7 +773,7 @@ namespace Vocaluxe.Base
class CBdataBase : IDataBase 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); return CDataBase.GetCover(fileName, ref texture, coverSize);
} }
+1
View File
@@ -302,6 +302,7 @@ namespace Vocaluxe.Base
return pm; return pm;
} }
pm.PartyMode.Initialize(); 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)) if (!CTheme.AddTheme(Path.Combine(Directory.GetCurrentDirectory(), Path.Combine(Path.Combine(CSettings.FolderPartyModes, pm.Folder), "Theme.xml")), pm.PartyModeID))
return pm; return pm;
+2 -7
View File
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.IO; using System.IO;
using System.Linq;
using System.Text; using System.Text;
using Vocaluxe.Lib.Playlist; using Vocaluxe.Lib.Playlist;
using VocaluxeLib; using VocaluxeLib;
@@ -40,13 +41,7 @@ namespace Vocaluxe.Base
public static List<string> PlaylistNames public static List<string> PlaylistNames
{ {
get get { return _Playlists.Select(t => t.PlaylistName).ToList(); }
{
List<string> names = new List<string>();
for (int i = 0; i < _Playlists.Count; i++)
names.Add(_Playlists[i].PlaylistName);
return names;
}
} }
public static int NumPlaylists public static int NumPlaylists
+75 -106
View File
@@ -20,11 +20,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text;
using System.Xml;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Game;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -36,12 +34,12 @@ namespace Vocaluxe.Base
Profile = 4 Profile = 4
} }
public delegate void ProfileChangedCallback(EProfileChangedFlags TypeChanged); public delegate void ProfileChangedCallback(EProfileChangedFlags typeChanged);
static class CProfiles static class CProfiles
{ {
#region enums and structs #region enums and structs
enum EAction private enum EAction
{ {
LoadProfiles, LoadProfiles,
LoadAvatars, LoadAvatars,
@@ -52,7 +50,7 @@ namespace Vocaluxe.Base
EditAvatar EditAvatar
} }
struct SChange private struct SChange
{ {
public CProfile Profile; public CProfile Profile;
public CAvatar Avatar; public CAvatar Avatar;
@@ -68,12 +66,12 @@ namespace Vocaluxe.Base
private static Dictionary<int, CAvatar> _Avatars; private static Dictionary<int, CAvatar> _Avatars;
private static Queue<int> _AvatarIDs; private static Queue<int> _AvatarIDs;
private static Queue<SChange> _Queue = new Queue<SChange>(); private static readonly Queue<SChange> _Queue = new Queue<SChange>();
private static Object _QueueMutex = new Object(); private static readonly Object _QueueMutex = new Object();
private static List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>(); private static readonly List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>();
private static bool _ProfilesChanged = false; private static bool _ProfilesChanged;
private static bool _AvatarsChanged = false; private static bool _AvatarsChanged;
#endregion private vars #endregion private vars
#region properties #region properties
@@ -94,16 +92,12 @@ namespace Vocaluxe.Base
_Avatars = new Dictionary<int, CAvatar>(); _Avatars = new Dictionary<int, CAvatar>();
_AvatarIDs = new Queue<int>(1000); _AvatarIDs = new Queue<int>(1000);
for (int i = 0; i < 1000; i++) for (int i = 0; i < 1000; i++)
{
_AvatarIDs.Enqueue(i); _AvatarIDs.Enqueue(i);
}
_Profiles = new Dictionary<int, CProfile>(); _Profiles = new Dictionary<int, CProfile>();
_ProfileIDs = new Queue<int>(100); _ProfileIDs = new Queue<int>(100);
for (int i = 0; i < 100; i++) for (int i = 0; i < 100; i++)
{
_ProfileIDs.Enqueue(i); _ProfileIDs.Enqueue(i);
}
LoadProfiles(); LoadProfiles();
} }
@@ -144,7 +138,7 @@ namespace Vocaluxe.Base
if (change.Profile == null) if (change.Profile == null)
break; break;
if (!ICProfileIDValid(change.Profile.ID)) if (!IsProfileIDValid(change.Profile.ID))
return; return;
_Profiles[change.Profile.ID] = change.Profile; _Profiles[change.Profile.ID] = change.Profile;
@@ -152,7 +146,7 @@ namespace Vocaluxe.Base
break; break;
case EAction.DeleteProfile: case EAction.DeleteProfile:
if (!ICProfileIDValid(change.ProfileID)) if (!IsProfileIDValid(change.ProfileID))
break; break;
_DeleteProfile(change.ProfileID); _DeleteProfile(change.ProfileID);
@@ -172,15 +166,12 @@ namespace Vocaluxe.Base
if (change.Avatar == null) if (change.Avatar == null)
break; break;
if (!ICAvatarIDValid(change.Avatar.ID)) if (!IsAvatarIDValid(change.Avatar.ID))
return; return;
_Avatars[change.Avatar.ID] = change.Avatar; _Avatars[change.Avatar.ID] = change.Avatar;
_AvatarsChanged = true; _AvatarsChanged = true;
break; break;
default:
break;
} }
} }
} }
@@ -216,15 +207,14 @@ namespace Vocaluxe.Base
_ProfilesChanged = false; _ProfilesChanged = false;
} }
public static void AddProfileChangedCallback(ProfileChangedCallback Notification) public static void AddProfileChangedCallback(ProfileChangedCallback notification)
{ {
_ProfileChangedCallbacks.Add(Notification); _ProfileChangedCallbacks.Add(notification);
} }
public static void LoadProfiles() public static void LoadProfiles()
{ {
SChange change = new SChange(); SChange change = new SChange {Action = EAction.LoadProfiles};
change.Action = EAction.LoadProfiles;
lock (_QueueMutex) lock (_QueueMutex)
{ {
@@ -234,8 +224,7 @@ namespace Vocaluxe.Base
public static void LoadAvatars() public static void LoadAvatars()
{ {
SChange change = new SChange(); SChange change = new SChange {Action = EAction.LoadAvatars};
change.Action = EAction.LoadAvatars;
lock (_QueueMutex) 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; return;
SChange change = new SChange(); SChange change = new SChange {Action = EAction.AddProfile, Profile = newProfile};
change.Action = EAction.AddProfile;
change.Profile = NewProfile;
lock (_QueueMutex) 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; return;
SChange change = new SChange(); SChange change = new SChange {Action = EAction.EditProfile, Profile = editProfile};
change.Action = EAction.EditProfile;
change.Profile = EditProfile;
lock (_QueueMutex) lock (_QueueMutex)
{ {
@@ -275,12 +260,10 @@ namespace Vocaluxe.Base
public static void DeleteProfile(int profileID) public static void DeleteProfile(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
SChange change = new SChange(); SChange change = new SChange {Action = EAction.DeleteProfile, ProfileID = profileID};
change.Action = EAction.DeleteProfile;
change.ProfileID = profileID;
lock (_QueueMutex) 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; return;
SChange change = new SChange(); SChange change = new SChange {Action = EAction.AddAvatar, Avatar = newAvatar};
change.Action = EAction.AddAvatar;
change.Avatar = NewAvatar;
lock (_QueueMutex) lock (_QueueMutex)
{ {
@@ -303,14 +284,12 @@ namespace Vocaluxe.Base
} }
} }
public static void EditAvatar(CAvatar EditAvatar) public static void EditAvatar(CAvatar editAvatar)
{ {
if (EditAvatar == null) if (editAvatar == null)
return; return;
SChange change = new SChange(); SChange change = new SChange {Action = EAction.EditAvatar, Avatar = editAvatar};
change.Action = EAction.EditAvatar;
change.Avatar = EditAvatar;
lock (_QueueMutex) lock (_QueueMutex)
{ {
@@ -320,28 +299,20 @@ namespace Vocaluxe.Base
public static CProfile[] GetProfiles() public static CProfile[] GetProfiles()
{ {
List<CProfile> list = new List<CProfile>();
if (_Profiles.Count == 0) if (_Profiles.Count == 0)
return null; return null;
CProfile[] result = new CProfile[_Profiles.Count]; List<CProfile> list = new List<CProfile>(_Profiles.Values);
_Profiles.Values.CopyTo(result, 0);
for (int i = 0; i < result.Length; i++)
{
list.Add(result[i]);
}
list.Sort(_CompareByPlayerName); list.Sort(_CompareByPlayerName);
return list.ToArray(); return list.ToArray();
} }
public static CAvatar[] GetAvatars() public static IEnumerable<CAvatar> GetAvatars()
{ {
CAvatar[] result = null;
if (_Avatars.Count == 0) if (_Avatars.Count == 0)
return null; return null;
result = new CAvatar[_Avatars.Count]; CAvatar[] result = new CAvatar[_Avatars.Count];
_Avatars.Values.CopyTo(result, 0); _Avatars.Values.CopyTo(result, 0);
return result; return result;
@@ -378,17 +349,15 @@ namespace Vocaluxe.Base
public static void SaveProfiles() public static void SaveProfiles()
{ {
foreach (int id in _Profiles.Keys) foreach (int id in _Profiles.Keys)
{
_Profiles[id].SaveProfile(); _Profiles[id].SaveProfile();
}
} }
public static bool ICProfileIDValid(int profileID) public static bool IsProfileIDValid(int profileID)
{ {
return _Profiles.ContainsKey(profileID); return _Profiles.ContainsKey(profileID);
} }
public static bool ICAvatarIDValid(int avatarID) public static bool IsAvatarIDValid(int avatarID)
{ {
return _Avatars.ContainsKey(avatarID); return _Avatars.ContainsKey(avatarID);
} }
@@ -397,7 +366,7 @@ namespace Vocaluxe.Base
#region profile properties #region profile properties
public static string GetPlayerName(int profileID, int playerNum = 0) public static string GetPlayerName(int profileID, int playerNum = 0)
{ {
if (ICProfileIDValid(profileID)) if (IsProfileIDValid(profileID))
return _Profiles[profileID].PlayerName; return _Profiles[profileID].PlayerName;
string playerName = CLanguage.Translate("TR_SCREENNAMES_PLAYER"); string playerName = CLanguage.Translate("TR_SCREENNAMES_PLAYER");
@@ -406,17 +375,17 @@ namespace Vocaluxe.Base
return playerName; 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; return;
_Profiles[profileID].PlayerName = PlayerName; _Profiles[profileID].PlayerName = playerName;
} }
public static string GetProfileFileName(int profileID) public static string GetProfileFileName(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return String.Empty; return String.Empty;
return Path.GetFileName(_Profiles[profileID].FileName); return Path.GetFileName(_Profiles[profileID].FileName);
@@ -424,7 +393,7 @@ namespace Vocaluxe.Base
public static string AddGetPlayerName(int profileID, char chr) public static string AddGetPlayerName(int profileID, char chr)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return String.Empty; return String.Empty;
_Profiles[profileID].PlayerName += chr; _Profiles[profileID].PlayerName += chr;
@@ -433,11 +402,11 @@ namespace Vocaluxe.Base
public static string GetDeleteCharInPlayerName(int profileID) public static string GetDeleteCharInPlayerName(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return String.Empty; return String.Empty;
CProfile profile = _Profiles[profileID]; CProfile profile = _Profiles[profileID];
if (profile.PlayerName != "") if (!String.IsNullOrEmpty(profile.PlayerName))
profile.PlayerName = profile.PlayerName.Remove(profile.PlayerName.Length - 1); profile.PlayerName = profile.PlayerName.Remove(profile.PlayerName.Length - 1);
return profile.PlayerName; return profile.PlayerName;
@@ -445,12 +414,12 @@ namespace Vocaluxe.Base
public static EGameDifficulty GetDifficulty(int profileID) 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) public static void SetDifficulty(int profileID, EGameDifficulty difficulty)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
_Profiles[profileID].Difficulty = difficulty; _Profiles[profileID].Difficulty = difficulty;
@@ -458,12 +427,12 @@ namespace Vocaluxe.Base
public static EOffOn GetGuestProfile(int profileID) 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) public static void SetGuestProfile(int profileID, EOffOn option)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
_Profiles[profileID].GuestProfile = option; _Profiles[profileID].GuestProfile = option;
@@ -471,12 +440,12 @@ namespace Vocaluxe.Base
public static EOffOn GetActive(int profileID) 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) public static void SetActive(int profileID, EOffOn option)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
_Profiles[profileID].Active = option; _Profiles[profileID].Active = option;
@@ -484,7 +453,7 @@ namespace Vocaluxe.Base
public static bool IsGuestProfile(int profileID) 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 true; // this will prevent from saving dummy profiles to highscore db
return _Profiles[profileID].GuestProfile == EOffOn.TR_CONFIG_ON; return _Profiles[profileID].GuestProfile == EOffOn.TR_CONFIG_ON;
@@ -492,14 +461,14 @@ namespace Vocaluxe.Base
public static bool IsActive(int profileID) public static bool IsActive(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return false; return false;
return _Profiles[profileID].Active == EOffOn.TR_CONFIG_ON; return _Profiles[profileID].Active == EOffOn.TR_CONFIG_ON;
} }
public static void SetAvatar(int profileID, int avatarID) public static void SetAvatar(int profileID, int avatarID)
{ {
if (!ICProfileIDValid(profileID) || !ICAvatarIDValid(avatarID)) if (!IsProfileIDValid(profileID) || !IsAvatarIDValid(avatarID))
return; return;
_Profiles[profileID].Avatar = _Avatars[avatarID]; _Profiles[profileID].Avatar = _Avatars[avatarID];
@@ -507,7 +476,7 @@ namespace Vocaluxe.Base
public static int GetAvatarID(int profileID) public static int GetAvatarID(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return -1; return -1;
return _Profiles[profileID].Avatar.ID; return _Profiles[profileID].Avatar.ID;
@@ -515,18 +484,18 @@ namespace Vocaluxe.Base
#endregion profile properties #endregion profile properties
#region avatar texture #region avatar texture
public static STexture GetAvatarTexture(int avatarID) public static CTexture GetAvatarTexture(int avatarID)
{ {
if (!ICAvatarIDValid(avatarID)) if (!IsAvatarIDValid(avatarID))
return new STexture(-1); return null;
return _Avatars[avatarID].Texture; return _Avatars[avatarID].Texture;
} }
public static STexture GetAvatarTextureFromProfile(int profileID) public static CTexture GetAvatarTextureFromProfile(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return new STexture(-1); return null;
return _Profiles[profileID].Avatar.Texture; return _Profiles[profileID].Avatar.Texture;
} }
@@ -542,15 +511,15 @@ namespace Vocaluxe.Base
{ {
int[] ids = new int[_Profiles.Keys.Count]; int[] ids = new int[_Profiles.Keys.Count];
_Profiles.Keys.CopyTo(ids, 0); _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); _Profiles[id].Avatar = _GetAvatar(_Profiles[id].AvatarFileName);
knownFiles.Add(Path.GetFileName(_Profiles[ids[i]].FileName)); knownFiles.Add(Path.GetFileName(_Profiles[id].FileName));
} }
else else
_Profiles.Remove(ids[i]); _Profiles.Remove(id);
} }
} }
@@ -563,9 +532,9 @@ namespace Vocaluxe.Base
continue; continue;
CProfile profile = new CProfile CProfile profile = new CProfile
{ {
FileName = Path.Combine(CSettings.FolderProfiles, file) FileName = Path.Combine(CSettings.FolderProfiles, file)
}; };
if (profile.LoadProfile()) if (profile.LoadProfile())
{ {
@@ -584,12 +553,12 @@ namespace Vocaluxe.Base
{ {
int[] ids = new int[_Avatars.Keys.Count]; int[] ids = new int[_Avatars.Keys.Count];
_Avatars.Keys.CopyTo(ids, 0); _Avatars.Keys.CopyTo(ids, 0);
for (int i = 0; i < ids.Length; i++) foreach (int id in ids)
{ {
if (_Avatars[ids[i]].Reload()) if (_Avatars[id].Reload())
knownFiles.Add(Path.GetFileName(_Avatars[ids[i]].FileName)); knownFiles.Add(Path.GetFileName(_Avatars[id].FileName));
else else
_Avatars.Remove(ids[i]); _Avatars.Remove(id);
} }
} }
@@ -616,7 +585,7 @@ namespace Vocaluxe.Base
private static void _DeleteProfile(int profileID) private static void _DeleteProfile(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
if (_Profiles[profileID].FileName == "") if (_Profiles[profileID].FileName == "")
@@ -657,7 +626,7 @@ namespace Vocaluxe.Base
private static void _RemoveProfile(int profileID) private static void _RemoveProfile(int profileID)
{ {
if (!ICProfileIDValid(profileID)) if (!IsProfileIDValid(profileID))
return; return;
_Profiles.Remove(profileID); _Profiles.Remove(profileID);
@@ -671,11 +640,11 @@ namespace Vocaluxe.Base
private static CAvatar _GetAvatar(string fileName) private static CAvatar _GetAvatar(string fileName)
{ {
string Name = Path.GetFileName(fileName); string name = Path.GetFileName(fileName);
foreach (int id in _Avatars.Keys) foreach (int id in _Avatars.Keys)
{ {
if (Path.GetFileName(_Avatars[id].FileName) == Name) if (Path.GetFileName(_Avatars[id].FileName) == name)
return _Avatars[id]; return _Avatars[id];
} }
return new CAvatar(-1); return new CAvatar(-1);
-1
View File
@@ -21,7 +21,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace Vocaluxe.Base namespace Vocaluxe.Base
+2
View File
@@ -140,7 +140,9 @@ namespace Vocaluxe.Base
sortList.Add(new CSongPointer(song.ID, "")); sortList.Add(new CSongPointer(song.ID, ""));
else else
{ {
// ReSharper disable LoopCanBeConvertedToQuery
foreach (String sortString in values) foreach (String sortString in values)
// ReSharper restore LoopCanBeConvertedToQuery
sortList.Add(new CSongPointer(song.ID, sortString)); sortList.Add(new CSongPointer(song.ID, sortString));
} }
} }
+2 -2
View File
@@ -23,8 +23,6 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace Vocaluxe.Base namespace Vocaluxe.Base
@@ -256,7 +254,9 @@ namespace Vocaluxe.Base
List<CSong> songs = new List<CSong>(); List<CSong> songs = new List<CSong>();
if (_IsCatIndexValid(_CatIndex)) if (_IsCatIndexValid(_CatIndex))
{ {
// ReSharper disable LoopCanBeConvertedToQuery
foreach (CSongPointer sp in Categories[_CatIndex].Songs) foreach (CSongPointer sp in Categories[_CatIndex].Songs)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (!sp.IsSung) if (!sp.IsSung)
songs.Add(_Songs[sp.SongID]); songs.Add(_Songs[sp.SongID]);
+29 -26
View File
@@ -25,7 +25,7 @@ using System.Windows.Forms;
using System.Xml; using System.Xml;
using Vocaluxe.Base.Fonts; using Vocaluxe.Base.Fonts;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -49,7 +49,7 @@ namespace Vocaluxe.Base
public string Name; public string Name;
public string Value; public string Value;
public STexture Texture; public CTexture Texture;
public int VideoIndex; public int VideoIndex;
} }
@@ -112,7 +112,9 @@ namespace Vocaluxe.Base
get get
{ {
List<string> names = new List<string>(); List<string> names = new List<string>();
// ReSharper disable LoopCanBeConvertedToQuery
foreach (STheme th in _Themes) foreach (STheme th in _Themes)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (th.PartyModeID == -1) if (th.PartyModeID == -1)
names.Add(th.Name); names.Add(th.Name);
@@ -127,7 +129,9 @@ namespace Vocaluxe.Base
get get
{ {
List<string> names = new List<string>(); List<string> names = new List<string>();
// ReSharper disable LoopCanBeConvertedToQuery
foreach (SSkin sk in _Skins) foreach (SSkin sk in _Skins)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (sk.PartyModeID == -1) if (sk.PartyModeID == -1)
names.Add(sk.Name); names.Add(sk.Name);
@@ -200,10 +204,10 @@ namespace Vocaluxe.Base
{ {
xmlReader.GetValue("//root/Videos/" + _Skins[skinIndex].VideoList[i].Name, out value, String.Empty); 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}; SSkinElement sk = new SSkinElement {Name = _Skins[skinIndex].VideoList[i].Name, Value = value};
sk.VideoIndex = CVideo.VdLoad(Path.Combine(_Skins[skinIndex].Path, sk.Value)); sk.VideoIndex = CVideo.Load(Path.Combine(_Skins[skinIndex].Path, sk.Value));
CVideo.VdSetLoop(sk.VideoIndex, true); CVideo.SetLoop(sk.VideoIndex, true);
CVideo.VdPause(sk.VideoIndex); CVideo.Pause(sk.VideoIndex);
sk.Texture = new STexture(-1); sk.Texture = null;
_Skins[skinIndex].VideoList[i] = sk; _Skins[skinIndex].VideoList[i] = sk;
} }
catch (Exception e) catch (Exception e)
@@ -225,14 +229,14 @@ namespace Vocaluxe.Base
{ {
foreach (SSkinElement sk in _Skins[i].SkinList.Values) foreach (SSkinElement sk in _Skins[i].SkinList.Values)
{ {
STexture texture = sk.Texture; CTexture texture = sk.Texture;
CDraw.RemoveTexture(ref texture); CDraw.RemoveTexture(ref texture);
} }
for (int j = 0; j < _Skins[i].VideoList.Count; j++) for (int j = 0; j < _Skins[i].VideoList.Count; j++)
{ {
CVideo.VdClose(_Skins[i].VideoList[j].VideoIndex); CVideo.Close(_Skins[i].VideoList[j].VideoIndex);
STexture videoTexture = _Skins[i].VideoList[j].Texture; CTexture videoTexture = _Skins[i].VideoList[j].Texture;
CDraw.RemoveTexture(ref videoTexture); CDraw.RemoveTexture(ref videoTexture);
} }
@@ -580,12 +584,12 @@ namespace Vocaluxe.Base
return path; return path;
} }
public static STexture GetSkinTexture(string textureName, int partyModeID) public static CTexture GetSkinTexture(string textureName, int partyModeID)
{ {
int skinIndex = GetSkinIndex(partyModeID); int skinIndex = GetSkinIndex(partyModeID);
if (skinIndex != -1 && textureName != null && _Skins[skinIndex].SkinList.ContainsKey(textureName)) if (skinIndex != -1 && textureName != null && _Skins[skinIndex].SkinList.ContainsKey(textureName))
return _Skins[skinIndex].SkinList[textureName].Texture; return _Skins[skinIndex].SkinList[textureName].Texture;
return new STexture(-1); return null;
} }
public static string GetSkinFilePath(string skinName, int partyModeID) public static string GetSkinFilePath(string skinName, int partyModeID)
@@ -605,7 +609,7 @@ namespace Vocaluxe.Base
return skinName; return skinName;
} }
public static STexture GetSkinVideoTexture(string videoName, int partyModeID) public static CTexture GetSkinVideoTexture(string videoName, int partyModeID)
{ {
int skinIndex = GetSkinIndex(partyModeID); int skinIndex = GetSkinIndex(partyModeID);
if (skinIndex != -1) if (skinIndex != -1)
@@ -618,16 +622,16 @@ namespace Vocaluxe.Base
float time = 0f; float time = 0f;
if (sk.VideoIndex == -1) if (sk.VideoIndex == -1)
{ {
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID)); sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true); 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; _Skins[skinIndex].VideoList[i] = sk;
return sk.Texture; return sk.Texture;
} }
} }
} }
return new STexture(-1); return null;
} }
public static void SkinVideoPause(string videoName, int partyModeID) public static void SkinVideoPause(string videoName, int partyModeID)
@@ -642,10 +646,10 @@ namespace Vocaluxe.Base
{ {
if (sk.VideoIndex == -1) if (sk.VideoIndex == -1)
{ {
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID)); sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true); CVideo.SetLoop(sk.VideoIndex, true);
} }
CVideo.VdPause(sk.VideoIndex); CVideo.Pause(sk.VideoIndex);
_Skins[skinIndex].VideoList[i] = sk; _Skins[skinIndex].VideoList[i] = sk;
return; return;
} }
@@ -665,10 +669,10 @@ namespace Vocaluxe.Base
{ {
if (sk.VideoIndex == -1) if (sk.VideoIndex == -1)
{ {
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID)); sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true); CVideo.SetLoop(sk.VideoIndex, true);
} }
CVideo.VdResume(sk.VideoIndex); CVideo.Resume(sk.VideoIndex);
_Skins[skinIndex].VideoList[i] = sk; _Skins[skinIndex].VideoList[i] = sk;
return; return;
} }
@@ -809,7 +813,7 @@ namespace Vocaluxe.Base
writer.WriteElementString("W", Cursor.W.ToString("#0.000")); writer.WriteElementString("W", Cursor.W.ToString("#0.000"));
writer.WriteElementString("H", Cursor.H.ToString("#0.000")); writer.WriteElementString("H", Cursor.H.ToString("#0.000"));
if (Cursor.Color != "") if (!String.IsNullOrEmpty(Cursor.Color))
writer.WriteElementString("Color", Cursor.Color); writer.WriteElementString("Color", Cursor.Color);
else else
{ {
@@ -871,7 +875,7 @@ namespace Vocaluxe.Base
public static SColorF GetPlayerColor(string playerNrString, int skinIndex, out bool success) public static SColorF GetPlayerColor(string playerNrString, int skinIndex, out bool success)
{ {
int selection = 0; int selection = 0;
if (playerNrString.StartsWith("Player")) if (playerNrString != null && playerNrString.StartsWith("Player"))
int.TryParse(playerNrString.Substring(6), out selection); int.TryParse(playerNrString.Substring(6), out selection);
return GetPlayerColor(selection, skinIndex, out success); return GetPlayerColor(selection, skinIndex, out success);
@@ -885,13 +889,12 @@ namespace Vocaluxe.Base
public static SColorF GetPlayerColor(int playerNr, int skinIndex, out bool success) public static SColorF GetPlayerColor(int playerNr, int skinIndex, out bool success)
{ {
success = false; success = false;
SColorF color = new SColorF(1f, 1f, 1f, 1f);
if (_Skins[skinIndex].PartyModeID != -1) if (_Skins[skinIndex].PartyModeID != -1)
skinIndex = GetSkinIndex(-1); skinIndex = GetSkinIndex(-1);
if (_Skins[skinIndex].ThemeColors.Player.Length < playerNr || playerNr < 1) if (_Skins[skinIndex].ThemeColors.Player.Length < playerNr || playerNr < 1)
return color; return new SColorF(1f, 1f, 1f, 1f);
success = true; success = true;
return _Skins[skinIndex].ThemeColors.Player[playerNr - 1]; return _Skins[skinIndex].ThemeColors.Player[playerNr - 1];
+24 -41
View File
@@ -21,6 +21,7 @@ using System.Diagnostics;
using System.Drawing; using System.Drawing;
using Vocaluxe.Lib.Video; using Vocaluxe.Lib.Video;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -50,12 +51,7 @@ namespace Vocaluxe.Base
#endregion Init #endregion Init
#region Interface #region Interface
public static bool VdInit() public static void CloseAll()
{
return _VideoDecoder.Init();
}
public static void VdCloseAll()
{ {
_VideoDecoder.CloseAll(); _VideoDecoder.CloseAll();
} }
@@ -65,47 +61,47 @@ namespace Vocaluxe.Base
return _VideoDecoder.GetNumStreams(); return _VideoDecoder.GetNumStreams();
} }
public static int VdLoad(string videoFileName) public static int Load(string videoFileName)
{ {
return _VideoDecoder.Load(videoFileName); return _VideoDecoder.Load(videoFileName);
} }
public static bool VdClose(int streamID) public static bool Close(int streamID)
{ {
return _VideoDecoder.Close(streamID); return _VideoDecoder.Close(streamID);
} }
public static float VdGetLength(int streamID) public static float GetLength(int streamID)
{ {
return _VideoDecoder.GetLength(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); 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); 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); _VideoDecoder.SetLoop(streamID, loop);
} }
public static void VdPause(int streamID) public static void Pause(int streamID)
{ {
_VideoDecoder.Pause(streamID); _VideoDecoder.Pause(streamID);
} }
public static void VdResume(int streamID) public static void Resume(int streamID)
{ {
_VideoDecoder.Resume(streamID); _VideoDecoder.Resume(streamID);
} }
public static bool VdFinished(int streamID) public static bool Finished(int streamID)
{ {
return _VideoDecoder.Finished(streamID); return _VideoDecoder.Finished(streamID);
} }
@@ -121,9 +117,9 @@ namespace Vocaluxe.Base
class CVideoPlayer class CVideoPlayer
{ {
private STexture _VideoTexture; private CTexture _VideoTexture;
private int _VideoStream; private int _VideoStream;
private readonly Stopwatch _VideoTimer; private readonly Stopwatch _VideoTimer = new Stopwatch();
private bool _Finished; private bool _Finished;
private bool _Loaded; private bool _Loaded;
@@ -134,20 +130,12 @@ namespace Vocaluxe.Base
public bool Loop public bool Loop
{ {
set { CVideo.VdSetLoop(_VideoStream, value); } set { CVideo.SetLoop(_VideoStream, value); }
}
public CVideoPlayer()
{
_VideoTimer = new Stopwatch();
_VideoTexture = new STexture(-1);
_Finished = false;
_Loaded = false;
} }
public void Load(string videoName) public void Load(string videoName)
{ {
_VideoStream = CVideo.VdLoad(CTheme.GetVideoFilePath(videoName, -1)); _VideoStream = CVideo.Load(CTheme.GetVideoFilePath(videoName, -1));
_Loaded = true; _Loaded = true;
} }
@@ -174,20 +162,15 @@ namespace Vocaluxe.Base
if (!_Finished) if (!_Finished)
{ {
float videoTime = _VideoTimer.ElapsedMilliseconds / 1000f; float videoTime = _VideoTimer.ElapsedMilliseconds / 1000f;
_Finished = CVideo.VdFinished(_VideoStream); _Finished = CVideo.Finished(_VideoStream);
STexture tex = new STexture(-1) {Height = 0f}; CVideo.GetFrame(_VideoStream, ref _VideoTexture, videoTime, out videoTime);
CVideo.VdGetFrame(_VideoStream, ref tex, videoTime, out videoTime);
if (tex.Height > 0)
{
CDraw.RemoveTexture(ref _VideoTexture);
_VideoTexture = tex;
}
} }
if (_VideoTexture == null)
return;
RectangleF bounds = new RectangleF(0f, 0f, CSettings.RenderW, CSettings.RenderH); RectangleF bounds = new RectangleF(0f, 0f, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _VideoTexture.Width, _VideoTexture.Height); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); 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)); 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() public void PreLoad()
{ {
float videoTime = 0f; float videoTime = 0f;
while (_VideoTexture.Index == -1 && videoTime < 1f) while (_VideoTexture == null && videoTime < 1f)
{ {
float dummy; float dummy;
CVideo.VdGetFrame(_VideoStream, ref _VideoTexture, 0, out dummy); CVideo.GetFrame(_VideoStream, ref _VideoTexture, 0, out dummy);
videoTime += 0.05f; videoTime += 0.05f;
} }
} }
public void Close() public void Close()
{ {
CVideo.VdClose(_VideoStream); CVideo.Close(_VideoStream);
CDraw.RemoveTexture(ref _VideoTexture); CDraw.RemoveTexture(ref _VideoTexture);
_Loaded = false; _Loaded = false;
_Finished = false; _Finished = false;
+3 -3
View File
@@ -20,6 +20,7 @@
using System.Drawing; using System.Drawing;
using Vocaluxe.Lib.Webcam; using Vocaluxe.Lib.Webcam;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -46,10 +47,9 @@ namespace Vocaluxe.Base
CConfig.SaveConfig(); CConfig.SaveConfig();
} }
public static bool GetFrame(ref STexture tex) public static bool GetFrame(ref CTexture tex)
{ {
_Webcam.GetFrame(ref tex); return _Webcam.GetFrame(ref tex);
return true;
} }
public static Bitmap GetBitmap() public static Bitmap GetBitmap()
+4 -4
View File
@@ -22,7 +22,7 @@ using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Drawing.Text; using System.Drawing.Text;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Base.Fonts 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) public void DrawGlyph(char chr, float x, float y, float z, SColorF color)
{ {
STexture texture; CTexture texture;
SRectF rect; SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect); GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTexture(texture, rect, color); 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) public void DrawGlyph(char chr, float x, float y, float z, SColorF color, float begin, float end)
{ {
STexture texture; CTexture texture;
SRectF rect; SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect); GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTexture(texture, rect, color, begin, end); 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) public void DrawGlyphReflection(char chr, float x, float y, float z, SColorF color, float rspace, float rheight)
{ {
STexture texture; CTexture texture;
SRectF rect; SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect); GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTextureReflection(texture, rect, color, rect, rspace, rheight); CDraw.DrawTextureReflection(texture, rect, color, rect, rspace, rheight);
+3 -3
View File
@@ -71,7 +71,7 @@ namespace Vocaluxe.Base.Fonts
private static void _BuildFonts() private static void _BuildFonts()
{ {
foreach (var font in _Fonts) foreach (SFont font in _Fonts)
{ {
font.Normal.Dispose(); font.Normal.Dispose();
font.Bold.Dispose(); font.Bold.Dispose();
@@ -258,8 +258,8 @@ namespace Vocaluxe.Base.Fonts
Height = height; Height = height;
SetFont(text.Font); SetFont(text.Font);
Style = text.Style; Style = text.Style;
var result = new RectangleF(text.X, text.Y, GetTextWidth(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))); GetTextHeight(CLanguage.Translate(text.Text, text.TranslationID)));
//restore old values //restore old values
Height = oldHeight; Height = oldHeight;
_CurrentFont = oldFont; _CurrentFont = oldFont;
+15 -6
View File
@@ -24,12 +24,13 @@ using System.Drawing.Imaging;
using System.Drawing.Text; using System.Drawing.Text;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base.Fonts namespace Vocaluxe.Base.Fonts
{ {
class CGlyph class CGlyph
{ {
private STexture _Texture; private CTexture _Texture;
private readonly SizeF _BoundingBox; private readonly SizeF _BoundingBox;
private readonly RectangleF _DrawBounding; private readonly RectangleF _DrawBounding;
public readonly float MaxHeight; public readonly float MaxHeight;
@@ -121,6 +122,7 @@ namespace Vocaluxe.Base.Fonts
_DrawBounding.Width = _Texture.Width; _DrawBounding.Width = _Texture.Width;
_DrawBounding.Height = _Texture.Height;*/ _DrawBounding.Height = _Texture.Height;*/
#pragma warning disable 162 #pragma warning disable 162
// ReSharper disable HeuristicUnreachableCode
if (false && Char.IsLetterOrDigit(chr)) if (false && Char.IsLetterOrDigit(chr))
{ {
if (outline > 0) if (outline > 0)
@@ -128,6 +130,7 @@ namespace Vocaluxe.Base.Fonts
else else
bmpCropped.Save("font_" + chr + CFonts.Style + "2.png", ImageFormat.Png); bmpCropped.Save("font_" + chr + CFonts.Style + "2.png", ImageFormat.Png);
} }
// ReSharper restore HeuristicUnreachableCode
#pragma warning restore 162 #pragma warning restore 162
} }
} }
@@ -145,7 +148,7 @@ namespace Vocaluxe.Base.Fonts
return CFonts.Height / _BoundingBox.Height; 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; texture = _Texture;
float factor = _GetFactor(); float factor = _GetFactor();
@@ -215,10 +218,16 @@ namespace Vocaluxe.Base.Fonts
} }
//Add some additional space. Textures need some extra pixel for resizing. //Add some additional space. Textures need some extra pixel for resizing.
int d = 4; const int d = 4;
minX = minX - d; if (minX < 0) minX = 0; minX = minX - d;
minY = minY - d; if (minY < 0) minY = 0; if (minX < 0)
maxX = maxX + d; if (maxX > bmp.Width) maxX = bmp.Width; 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); return new Rectangle(minX, minY, maxX - minX, bmp.Height - minY);
} }
+21 -12
View File
@@ -1,23 +1,32 @@
using System; #region license
using System.Collections.Generic; // /*
using System.Linq; // This file is part of Vocaluxe.
using System.Text; //
using System.Windows.Forms; // Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
using Vocaluxe.Base; // the Free Software Foundation, either version 3 of the License, or
using Vocaluxe.Lib.Input; // (at your option) any later version.
using VocaluxeLib.Menu; //
// 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 namespace Vocaluxe.Base.Server
{ {
internal class CClientHandler class CClientHandler
{ {
public int ConnectionID; public int ConnectionID;
public bool LoggedIn; public bool LoggedIn;
public CClientHandler(int ConnectionID) public CClientHandler(int connectionID)
{ {
this.ConnectionID = ConnectionID; ConnectionID = connectionID;
LoggedIn = false; LoggedIn = false;
} }
} }
+54 -52
View File
@@ -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.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Drawing.Imaging; using System.Drawing.Imaging;
@@ -7,9 +26,7 @@ using System.Linq;
using System.IO; using System.IO;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using ClientServerLib; using ClientServerLib;
using Vocaluxe.Base;
using Vocaluxe.Lib.Input; using Vocaluxe.Lib.Input;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
@@ -22,7 +39,7 @@ namespace Vocaluxe.Base.Server
private static CDiscover _Discover; private static CDiscover _Discover;
private static Dictionary<int, CClientHandler> _Clients; private static Dictionary<int, CClientHandler> _Clients;
public static CControllerFramework Controller = new CControllerFramework(); public static readonly CControllerFramework Controller = new CControllerFramework();
public static void Init() public static void Init()
{ {
@@ -48,46 +65,46 @@ namespace Vocaluxe.Base.Server
_Clients = new Dictionary<int, CClientHandler>(); _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); byte[] answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseNOK);
if (Message == null) if (message == null)
return answer; return answer;
if (Message.Length < 4) if (message.Length < 4)
return answer; return answer;
bool loggedIn = false; bool loggedIn;
lock (_Clients) lock (_Clients)
{ {
if (!_Clients.ContainsKey(ConnectionID)) if (!_Clients.ContainsKey(connectionID))
{ {
CClientHandler client = new CClientHandler(ConnectionID); CClientHandler client = new CClientHandler(connectionID);
_Clients.Add(ConnectionID, client); _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) switch (command)
{ {
case CCommands.CommandLogin: case CCommands.CommandLogin:
SLoginData data; SLoginData data;
if (!CCommands.DecodeCommandLogin(Message, out data)) if (!CCommands.DecodeCommandLogin(message, out data))
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginFailed); answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginFailed);
else 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); answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginWrongPassword);
else else
{ {
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginOK); answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginOK);
_Clients[ConnectionID].LoggedIn = true; _Clients[connectionID].LoggedIn = true;
} }
} }
break; break;
@@ -121,13 +138,10 @@ namespace Vocaluxe.Base.Server
case CCommands.CommandSendAvatarPicture: case CCommands.CommandSendAvatarPicture:
SAvatarPicture avatarPicture; SAvatarPicture avatarPicture;
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPicture)) if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPicture))
{ {
Bitmap bmp = null; using (Bitmap bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height))
bool success = false;
try
{ {
bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height);
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); 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); Marshal.Copy(avatarPicture.data, 0, bmpData.Scan0, avatarPicture.data.Length);
bmp.UnlockBits(bmpData); bmp.UnlockBits(bmpData);
@@ -137,23 +151,16 @@ namespace Vocaluxe.Base.Server
while (File.Exists(Path.Combine(CSettings.FolderProfiles, filename + i + ".png"))) while (File.Exists(Path.Combine(CSettings.FolderProfiles, filename + i + ".png")))
i++; i++;
bmp.Save(Path.Combine(CSettings.FolderProfiles, filename + i + ".png"), ImageFormat.Png); 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; break;
case CCommands.CommandSendAvatarPictureJpg: case CCommands.CommandSendAvatarPictureJpg:
SAvatarPicture avatarPictureJpg; SAvatarPicture avatarPictureJpg;
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPictureJpg)) if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPictureJpg))
{ {
if (_AddAvatar(avatarPictureJpg.data) != String.Empty) if (_AddAvatar(avatarPictureJpg.data) != String.Empty)
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK); answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
@@ -162,39 +169,35 @@ namespace Vocaluxe.Base.Server
case CCommands.CommandSendProfile: case CCommands.CommandSendProfile:
SProfile profile; SProfile profile;
if (CCommands.DecodeCommandSendProfile(Message, out profile)) if (CCommands.DecodeCommandSendProfile(message, out profile))
{ {
try try
{ {
string AvatarFilename = _AddAvatar(profile.Avatar.data); string avatarFilename = _AddAvatar(profile.Avatar.data);
if (AvatarFilename != String.Empty) if (avatarFilename != String.Empty)
{ {
CProfile p = new CProfile(); CProfile p = new CProfile
p.Active = EOffOn.TR_CONFIG_ON; {
p.AvatarFileName = AvatarFilename; Active = EOffOn.TR_CONFIG_ON,
p.Difficulty = (EGameDifficulty)profile.Difficulty; AvatarFileName = avatarFilename,
p.GuestProfile = EOffOn.TR_CONFIG_OFF; Difficulty = (EGameDifficulty)profile.Difficulty,
p.PlayerName = profile.PlayerName; GuestProfile = EOffOn.TR_CONFIG_OFF,
PlayerName = profile.PlayerName
};
CProfiles.AddProfile(p); CProfiles.AddProfile(p);
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK); answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
} }
} }
catch (Exception) catch (Exception) {}
{
}
} }
break; break;
default:
break;
} }
return answer; return answer;
} }
private static string _AddAvatar(byte[] JpgData) private static string _AddAvatar(byte[] jpgData)
{ {
string result = String.Empty; string result = String.Empty;
try try
@@ -206,7 +209,7 @@ namespace Vocaluxe.Base.Server
filename = filename + i + ".jpg"; filename = filename + i + ".jpg";
FileStream fs = File.Create(filename); FileStream fs = File.Create(filename);
fs.Write(JpgData, 0, JpgData.Length); fs.Write(jpgData, 0, jpgData.Length);
fs.Flush(); fs.Flush();
fs.Close(); fs.Close();
@@ -216,9 +219,8 @@ namespace Vocaluxe.Base.Server
CProfiles.AddAvatar(avatar); CProfiles.AddAvatar(avatar);
result = filename; result = filename;
} }
} }
catch { } catch {}
return result; return result;
} }
+305 -384
View File
@@ -32,13 +32,15 @@ using System.Windows.Forms;
using SlimDX.Windows; using SlimDX.Windows;
using Vocaluxe.Base; using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw namespace Vocaluxe.Lib.Draw
{ {
class CDirect3D : RenderForm, IDraw class CDirect3D : RenderForm, IDraw
{ {
#region private vars #region private vars
private const int _MaxID = 100000;
private readonly CKeys _Keys; private readonly CKeys _Keys;
private readonly CMouse _Mouse; private readonly CMouse _Mouse;
private bool _Run; private bool _Run;
@@ -51,10 +53,9 @@ namespace Vocaluxe.Lib.Draw
private Size _OldSize; private Size _OldSize;
private Size _SizeBeforeMinimize; private Size _SizeBeforeMinimize;
private readonly Dictionary<int, STexture> _Textures; private readonly Dictionary<int, Texture> _D3DTextures = new Dictionary<int, Texture>();
private readonly Dictionary<int, Texture> _D3DTextures; private readonly Queue<STextureQueue> _TexturesToLoad = new Queue<STextureQueue>();
private readonly List<STextureQueue> _Queue; private readonly Queue<int> _IDs = new Queue<int>(_MaxID);
private readonly Queue<int> _IDs;
private readonly Object _MutexTexture = new Object(); private readonly Object _MutexTexture = new Object();
@@ -66,11 +67,11 @@ namespace Vocaluxe.Lib.Draw
private int _Y; private int _Y;
private int _X; private int _X;
private STexture _BlankTexture; private CTexture _BlankTexture;
private readonly Queue<STexturedColoredVertex> _Vertices; private readonly Queue<STexturedColoredVertex> _Vertices = new Queue<STexturedColoredVertex>();
private readonly Queue<Texture> _VerticesTextures; private readonly Queue<Texture> _VerticesTextures = new Queue<Texture>();
private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices; private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
private readonly bool _NonPowerOf2TextureSupported; private readonly bool _NonPowerOf2TextureSupported;
#endregion private vars #endregion private vars
@@ -81,19 +82,11 @@ namespace Vocaluxe.Lib.Draw
public CDirect3D() public CDirect3D()
{ {
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon)); 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 //Fill Queue with 100000 IDs
for (int i = 0; i < 100000; i++) for (int i = 0; i < _MaxID; i++)
_IDs.Enqueue(i); _IDs.Enqueue(i);
_Vertices = new Queue<STexturedColoredVertex>();
_VerticesTextures = new Queue<Texture>();
_VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
_Keys = new CKeys(); _Keys = new CKeys();
try try
{ {
@@ -255,40 +248,39 @@ namespace Vocaluxe.Lib.Draw
// The window was minimized, so restore it to the last known size // The window was minimized, so restore it to the last known size
if (ClientSize.Width == 0 || ClientSize.Height == 0) if (ClientSize.Width == 0 || ClientSize.Height == 0)
ClientSize = _SizeBeforeMinimize; 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; //The windows's width is too big
_W = ClientSize.Width; _W = (int)Math.Round(_H * CSettings.GetRenderAspect());
_Y = 0; _X = (ClientSize.Width - _W) / 2;
_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;
} }
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> /// <summary>
@@ -677,39 +669,32 @@ namespace Vocaluxe.Lib.Draw
/// Copies the current frame into a texture /// Copies the current frame into a texture
/// <returns>A texture holding the current frame</returns> /// <returns>A texture holding the current frame</returns>
/// </summary> /// </summary>
public STexture CopyScreen() public CTexture CopyScreen()
{ {
STexture texture = new STexture(-1); CTexture texture = _GetNewTexture(_W, _H);
Surface backbufferSurface = _Device.GetBackBuffer(0, 0); 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 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(); backbufferSurface.Dispose();
lock (_MutexTexture) lock (_MutexTexture)
{ {
_D3DTextures.Add(_IDs.Peek(), tex); texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.ID, tex);
texture.Color = new SColorF(1f, 1f, 1f, 1f); return texture;
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;
} }
/// <summary> /// <summary>
/// Copies the current frame into a texture /// Copies the current frame into a texture
/// </summary> /// </summary>
/// <param name="texture">The texture in which the frame is copied to</param> /// <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); RemoveTexture(ref texture);
texture = CopyScreen(); texture = CopyScreen();
@@ -717,7 +702,7 @@ namespace Vocaluxe.Lib.Draw
else else
{ {
Surface backbufferSurface = _Device.GetBackBuffer(0, 0); 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); 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.Save(Path.Combine(path, file + i.ToString("00000") + ".bmp"), ImageFormat.Bmp);
screen.Dispose(); screen.Dispose();
} }
Cursor.Hide();
_Mouse.Visible = true;
} }
/// <summary> /// <summary>
@@ -759,8 +742,8 @@ namespace Vocaluxe.Lib.Draw
/// <param name="y2">The end y-value</param> /// <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) 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)}; Vector2[] lineVector = new Vector2[] {new Vector2(x1, y1), new Vector2(x2, y2)};
using (var line = new Line(_Device)) using (Line line = new Line(_Device))
{ {
line.Antialias = true; line.Antialias = true;
line.Begin(); line.Begin();
@@ -800,33 +783,33 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
/// <param name="texturePath">The texture's filepath</param> /// <param name="texturePath">The texture's filepath</param>
/// <returns>A STexture object containing the added texture</returns> /// <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; CLog.LogError("Can't find File: " + texturePath);
try return null;
{
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); Bitmap bmp;
return new STexture(-1); 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> /// <summary>
@@ -834,10 +817,10 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
/// <param name="bmp">The Bitmap of which the texure will be created from</param> /// <param name="bmp">The Bitmap of which the texure will be created from</param>
/// <returns>A STexture object containing the added texture</returns> /// <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) if (bmp.Height == 0 || bmp.Width == 0)
return new STexture(-1); return null;
int maxSize; int maxSize;
//Apply the right max size //Apply the right max size
switch (CConfig.TextureQuality) switch (CConfig.TextureQuality)
@@ -862,49 +845,28 @@ namespace Vocaluxe.Lib.Draw
break; break;
} }
int w = bmp.Width; int w = Math.Min(bmp.Width, maxSize);
int h = bmp.Height; int h = Math.Min(bmp.Height, maxSize);
float ratio = (float)w / h; w = _CheckForNextPowerOf2(w);
int newW = w; h = _CheckForNextPowerOf2(h);
int newH = h;
if (w > maxSize && w > h) CTexture texture = new CTexture(bmp.Width, bmp.Height, w, h, true);
newW = maxSize;
else if (h > maxSize)
newH = maxSize;
else if (w > h)
newW = (int)_CheckForNextPowerOf2(w);
else
newH = (int)_CheckForNextPowerOf2(h);
Bitmap bmp2 = null; Bitmap bmp2 = null;
byte[] data; byte[] data;
try 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 //Create a new Bitmap with the new sizes
bmp2 = new Bitmap(w, h); bmp2 = new Bitmap(w, h);
//Scale the texture //Scale the texture
Graphics g = Graphics.FromImage(bmp2); using (Graphics g = Graphics.FromImage(bmp2))
g.InterpolationMode = InterpolationMode.HighQualityBicubic; {
g.SmoothingMode = SmoothingMode.HighQuality; g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height)); g.SmoothingMode = SmoothingMode.HighQuality;
g.Dispose(); g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
}
bmp = bmp2; bmp = bmp2;
} }
@@ -920,81 +882,73 @@ namespace Vocaluxe.Lib.Draw
bmp2.Dispose(); 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) lock (_MutexTexture)
{ {
_D3DTextures.Add(_IDs.Peek(), t); texture.ID = _IDs.Dequeue();
texture.Index = _IDs.Dequeue(); _D3DTextures.Add(texture.ID, t);
_Textures[texture.Index] = texture;
} }
return texture; 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 //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 //because a copy of the texture is hold in the Ram
Texture t = null; Texture t = new Texture(_Device, textureW, textureH, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
try _WriteDataToTexture(t, w, data);
{
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;
}
return t; 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); //Lock the texture and fill it with the data
STextureQueue queue = new STextureQueue {Data = data, Height = h, Width = w}; 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; public CTexture EnqueueTexture(int w, int h, byte[] data)
texture.Width = w; {
CTexture texture = _GetNewTexture(w, h);
lock (_MutexTexture) lock (_MutexTexture)
{ {
_D3DTextures.Add(_IDs.Peek(), null); texture.ID = _IDs.Dequeue();
texture.Index = _IDs.Dequeue(); _D3DTextures.Add(texture.ID, null);
queue.ID = texture.Index; STextureQueue queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data);
_Queue.Add(queue); _TexturesToLoad.Enqueue(queue);
_Textures[texture.Index] = texture;
} }
return texture; return texture;
} }
private CTexture _GetNewTexture(int w, int h)
{
return new CTexture(w, h, _CheckForNextPowerOf2(w), _CheckForNextPowerOf2(h));
}
#endregion adding #endregion adding
#region updating #region updating
@@ -1002,48 +956,30 @@ namespace Vocaluxe.Lib.Draw
/// Updates the data of a texture /// Updates the data of a texture
/// </summary> /// </summary>
/// <param name="texture">The texture to update</param> /// <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> /// <param name="data">A byte array containing the new texture's data</param>
/// <returns>True if succeeded</returns> /// <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) _WriteDataToTexture(_D3DTextures[texture.ID], w, data);
{
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; */
} }
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 #endregion updating
@@ -1052,40 +988,30 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
/// <param name="texture">The texture to check</param> /// <param name="texture">The texture to check</param>
/// <returns>True if the texture exists</returns> /// <returns>True if the texture exists</returns>
private bool _TextureExists(ref STexture texture) private bool _TextureExists(CTexture texture)
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
if (_Textures.ContainsKey(texture.Index)) return texture != null && _D3DTextures.ContainsKey(texture.ID);
{
if (_Textures[texture.Index].Index >= 0)
{
texture = _Textures[texture.Index];
return true;
}
}
} }
return false;
} }
/// <summary> /// <summary>
/// Removes a texture from the Vram /// Removes a texture from the Vram
/// </summary> /// </summary>
/// <param name="texture">The texture to be removed</param> /// <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[texture.ID].Dispose();
_D3DTextures.Remove(texture.Index); _D3DTextures.Remove(texture.ID);
_Textures.Remove(texture.Index); _IDs.Enqueue(texture.ID);
_IDs.Enqueue(texture.Index);
texture.Index = -1;
texture.ID = -1;
} }
} }
texture = null;
} }
#region drawing #region drawing
@@ -1093,8 +1019,10 @@ namespace Vocaluxe.Lib.Draw
/// Draws a texture /// Draws a texture
/// </summary> /// </summary>
/// <param name="texture">The texture to be drawn</param> /// <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); DrawTexture(texture, texture.Rect, texture.Color);
} }
@@ -1103,8 +1031,10 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
/// <param name="texture">The texture to be drawn</param> /// <param name="texture">The texture to be drawn</param>
/// <param name="rect">A SRectF struct containing the destination coordinates</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); 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="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="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> /// <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); 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="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="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> /// <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) STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
return; 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());
//Calculate the position vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
float y1 = (bounds.Y - rect.Y) / rect.H * texture.HeightRatio; }
float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio; else
{
if (x1 < 0) STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
x1 = 0f; 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());
if (x2 > texture.WidthRatio) vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb());
x2 = texture.WidthRatio; 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));
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));
}
} }
} }
@@ -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="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="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> /// <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; return;
if (_D3DTextures[texture.Index] == null) if (_D3DTextures[texture.ID] == null)
return; return;
float x1 = 0f + begin * texture.WidthRatio; 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[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[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()); 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> /// <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="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="space">The space between the texture and the reflection</param>
/// <param name="height">The height of 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; return;
if (_D3DTextures[texture.Index] == null) if (_D3DTextures[texture.ID] == null)
return; 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 || 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) if (height > bounds.H)
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 x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; float y1 = (bounds.Y - rect.Y + rect.H - height) / rect.H * texture.HeightRatio;
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio;
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) if (x1 < 0)
x1 = 0f; x1 = 0f;
if (x2 > texture.WidthRatio) if (x2 > texture.WidthRatio)
x2 = texture.WidthRatio; x2 = texture.WidthRatio;
if (y1 < 0) if (y1 < 0)
y1 = 0f; y1 = 0f;
if (y2 > texture.HeightRatio) if (y2 > texture.HeightRatio)
y2 = texture.HeightRatio; y2 = texture.HeightRatio;
float rx1 = rect.X; float rx1 = rect.X;
float rx2 = rect.X + rect.W; float rx2 = rect.X + rect.W;
float ry1 = rect.Y + rect.H + space; float ry1 = rect.Y + rect.H + space;
float ry2 = rect.Y + rect.H + space + height; float ry2 = rect.Y + rect.H + space + height;
if (rx1 < bounds.X) if (rx1 < bounds.X)
rx1 = bounds.X; rx1 = bounds.X;
if (rx2 > bounds.X + bounds.W) if (rx2 > bounds.X + bounds.W)
rx2 = bounds.X + bounds.W; rx2 = bounds.X + bounds.W;
if (ry1 < bounds.Y + space) if (ry1 < bounds.Y + space)
ry1 = bounds.Y + space; ry1 = bounds.Y + space;
if (ry2 > bounds.Y + bounds.H + space + height) if (ry2 > bounds.Y + bounds.H + space + height)
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 //Align the pixels because Direct3D expects the pixels to be the left top corner
rx1 -= 0.5f; rx1 -= 0.5f;
ry1 -= 0.5f; ry1 -= 0.5f;
rx2 -= 0.5f; rx2 -= 0.5f;
ry2 -= 0.5f; ry2 -= 0.5f;
color.A *= CGraphics.GlobalAlpha; color.A *= CGraphics.GlobalAlpha;
Color c = color.AsColor(); Color c = color.AsColor();
color.A = 0; color.A = 0;
Color transparent = color.AsColor(); Color transparent = color.AsColor();
STexturedColoredVertex[] vert = new STexturedColoredVertex[4]; STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); 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[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[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()); 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)); _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
}
} }
#endregion drawing #endregion drawing
@@ -1345,21 +1271,16 @@ namespace Vocaluxe.Lib.Draw
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
if (_Queue.Count == 0) while (_TexturesToLoad.Count > 0)
return; {
STextureQueue q = _TexturesToLoad.Dequeue();
Texture t;
if (_D3DTextures.TryGetValue(q.ID, out t) && t != null)
continue;
STextureQueue q = _Queue[0]; t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data);
STexture texture; _D3DTextures[q.ID] = t;
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);
} }
} }
@@ -1369,7 +1290,7 @@ namespace Vocaluxe.Lib.Draw
/// <returns>The amount of textures</returns> /// <returns>The amount of textures</returns>
public int GetTextureCount() public int GetTextureCount()
{ {
return _Textures.Count; return _D3DTextures.Count;
} }
#endregion Textures #endregion Textures
@@ -1381,13 +1302,13 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
/// <param name="n">The value of which the next power of two will be calculated</param> /// <param name="n">The value of which the next power of two will be calculated</param>
/// <returns>The next power of two</returns> /// <returns>The next power of two</returns>
private float _CheckForNextPowerOf2(float n) private int _CheckForNextPowerOf2(int n)
{ {
if (_NonPowerOf2TextureSupported) if (_NonPowerOf2TextureSupported)
return n; return n;
if (n < 0) if (n < 0)
throw new ArgumentOutOfRangeException("n", "Must be positive."); 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) private SlimDX.Matrix _CalculateRotationMatrix(float rot, float rx1, float rx2, float ry1, float ry2)
+68 -75
View File
@@ -28,7 +28,7 @@ using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw namespace Vocaluxe.Lib.Draw
{ {
@@ -46,8 +46,8 @@ namespace Vocaluxe.Lib.Draw
private bool _TopMost; private bool _TopMost;
private Rectangle _Bounds; private Rectangle _Bounds;
private readonly List<STexture> _Textures; private readonly Dictionary<int, CTexture> _Textures = new Dictionary<int, CTexture>();
private readonly List<Bitmap> _Bitmaps; private readonly List<Bitmap> _Bitmaps = new List<Bitmap>();
private readonly Color _ClearColor = Color.DarkBlue; private readonly Color _ClearColor = Color.DarkBlue;
@@ -55,9 +55,6 @@ namespace Vocaluxe.Lib.Draw
{ {
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon)); Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon));
_Textures = new List<STexture>();
_Bitmaps = new List<Bitmap>();
_Keys = new CKeys(); _Keys = new CKeys();
_Mouse = new CMouse(); _Mouse = new CMouse();
ClientSize = new Size(1280, 720); ClientSize = new Size(1280, 720);
@@ -290,34 +287,27 @@ namespace Vocaluxe.Lib.Draw
_G.Clear(_ClearColor); _G.Clear(_ClearColor);
} }
public STexture CopyScreen() public CTexture CopyScreen()
{ {
STexture texture = new STexture(0);
Bitmap bmp = new Bitmap(_Backbuffer); Bitmap bmp = new Bitmap(_Backbuffer);
_Bitmaps.Add(bmp); _Bitmaps.Add(bmp);
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
texture.Index = _Bitmaps.Count - 1;
texture.Width = bmp.Width;
texture.Height = bmp.Height;
// Add to Texture List // Add to Texture List
texture.Color = new SColorF(1f, 1f, 1f, 1f); _Textures[texture.ID] = texture;
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
_Textures.Add(texture);
return 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); RemoveTexture(ref texture);
texture = CopyScreen(); texture = CopyScreen();
} }
else else
_Bitmaps[texture.Index] = new Bitmap(_Backbuffer); _Bitmaps[texture.ID] = new Bitmap(_Backbuffer);
} }
public void MakeScreenShot() public void MakeScreenShot()
@@ -341,70 +331,63 @@ namespace Vocaluxe.Lib.Draw
public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) {} 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); Bitmap bmp2 = new Bitmap(bmp);
_Bitmaps.Add(bmp2); _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 // Add to Texture List
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f); _Textures[texture.ID] = texture;
texture.TexturePath = String.Empty;
_Textures.Add(texture);
return 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)) if (File.Exists(texturePath))
{ {
bool found = false; foreach (CTexture tex in _Textures.Values)
foreach (STexture tex in _Textures)
{ {
if (tex.TexturePath == texturePath) if (tex.TexturePath == texturePath)
{ return tex;
texture = tex;
found = true;
break;
}
} }
using (Bitmap bmp = new Bitmap(texturePath))
if (!found)
{ {
using (Bitmap bmp = new Bitmap(texturePath)) CTexture texture = AddTexture(bmp);
return 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)) return texture != null && _Textures.ContainsKey(texture.ID);
{
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;
}
}
}
} }
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); 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)) 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), BitmapData bmpData = _Bitmaps[texture.ID].LockBits(new Rectangle(0, 0, _Bitmaps[texture.ID].Width, _Bitmaps[texture.ID].Height),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
Marshal.Copy(data, 0, bmpData.Scan0, data.Length); 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; 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); 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); 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); 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)) if (!_TextureExists(texture))
{ return;
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.Index], color); Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.ID], color);
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H)); _G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
coloredBitmap.Dispose(); 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() public int GetTextureCount()
{ {
File diff suppressed because it is too large. Load diff
+16 -16
View File
@@ -17,10 +17,9 @@
// */ // */
#endregion #endregion
using System;
using System.Drawing; using System.Drawing;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw namespace Vocaluxe.Lib.Draw
{ {
@@ -36,28 +35,29 @@ namespace Vocaluxe.Lib.Draw
int GetTextureCount(); int GetTextureCount();
void ClearScreen(); void ClearScreen();
STexture CopyScreen(); CTexture CopyScreen();
void CopyScreen(ref STexture texture); void CopyScreen(ref CTexture texture);
void MakeScreenShot(); void MakeScreenShot();
STexture AddTexture(string texturePath); CTexture AddTexture(string texturePath);
STexture AddTexture(Bitmap bitmap); CTexture AddTexture(Bitmap bitmap);
STexture AddTexture(int w, int h, byte[] data); CTexture AddTexture(int w, int h, byte[] data);
STexture EnqueueTexture(int w, int h, byte[] data); CTexture EnqueueTexture(int w, int h, byte[] data);
bool UpdateTexture(ref STexture texture, byte[] data); bool UpdateTexture(CTexture texture, int w, int h, byte[] data);
void RemoveTexture(ref STexture texture); bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data);
void RemoveTexture(ref CTexture texture);
// Basic Draw Methods // Basic Draw Methods
void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2); 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 DrawColor(SColorF color, SRectF rect);
void DrawColorReflection(SColorF color, SRectF rect, float space, float height); void DrawColorReflection(SColorF color, SRectF rect, float space, float height);
void DrawTexture(STexture texture); void DrawTexture(CTexture texture);
void DrawTexture(STexture texture, SRectF rect); void DrawTexture(CTexture texture, SRectF rect);
void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false); void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false);
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); void DrawTexture(CTexture 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, 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);
} }
} }
+24 -16
View File
@@ -1,8 +1,24 @@
using System; #region license
using System.Collections.Generic; // /*
using System.Linq; // This file is part of Vocaluxe.
using System.Text; //
// 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; using VocaluxeLib;
namespace Vocaluxe.Lib.Input namespace Vocaluxe.Lib.Input
@@ -25,17 +41,11 @@ namespace Vocaluxe.Lib.Input
_CurrentMousePool = new List<SMouseEvent>(); _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() public virtual bool IsConnected()
{ {
@@ -81,9 +91,7 @@ namespace Vocaluxe.Lib.Input
return false; return false;
} }
public virtual void SetRumble(float duration) public virtual void SetRumble(float duration) {}
{
}
public void AddKeyEvent(SKeyEvent keyEvent) public void AddKeyEvent(SKeyEvent keyEvent)
{ {
+2
View File
@@ -63,7 +63,9 @@ namespace Vocaluxe.Lib.Playlist
if (PlaylistFile == "") if (PlaylistFile == "")
{ {
string filename = string.Empty; string filename = string.Empty;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (char chr in PlaylistName) foreach (char chr in PlaylistName)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (char.IsLetter(chr)) if (char.IsLetter(chr))
filename += chr.ToString(); filename += chr.ToString();
+2 -2
View File
@@ -19,7 +19,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video namespace Vocaluxe.Lib.Video
{ {
@@ -58,7 +58,7 @@ namespace Vocaluxe.Lib.Video
return 0f; 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) public virtual bool Skip(int streamID, float start, float gap)
{ {
+7 -13
View File
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.Lib.Video.Acinerella; using Vocaluxe.Lib.Video.Acinerella;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video namespace Vocaluxe.Lib.Video
{ {
@@ -90,7 +90,7 @@ namespace Vocaluxe.Lib.Video
return false; 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; videoTime = 0;
if (_Initialized) if (_Initialized)
@@ -299,7 +299,7 @@ namespace Vocaluxe.Lib.Video
return true; 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; videoTime = 0;
if (!_FileOpened) if (!_FileOpened)
@@ -323,7 +323,7 @@ namespace Vocaluxe.Lib.Video
_UploadNewFrame(ref frame); _UploadNewFrame(ref frame);
//EventDecode.Set(); //EventDecode.Set();
return true; return frame != null;
} }
if (Math.Abs(_SetTime - time) > float.Epsilon) if (Math.Abs(_SetTime - time) > float.Epsilon)
@@ -335,7 +335,7 @@ namespace Vocaluxe.Lib.Video
_UploadNewFrame(ref frame); _UploadNewFrame(ref frame);
videoTime = _CurrentVideoTime; videoTime = _CurrentVideoTime;
//EventDecode.Set(); //EventDecode.Set();
return true; return frame != null;
} }
return false; return false;
} }
@@ -650,7 +650,7 @@ namespace Vocaluxe.Lib.Video
} }
} }
private void _UploadNewFrame(ref STexture frame) private void _UploadNewFrame(ref CTexture frame)
{ {
if (!_FileOpened) if (!_FileOpened)
return; return;
@@ -661,13 +661,7 @@ namespace Vocaluxe.Lib.Video
if (num >= 0) if (num >= 0)
{ {
if (frame.Index == -1 || _Width != (int)frame.Width || _Height != (int)frame.Height) CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _FrameBuffer[num].Data);
{
CDraw.RemoveTexture(ref frame);
frame = CDraw.AddTexture(_Width, _Height, _FrameBuffer[num].Data);
}
else
CDraw.UpdateTexture(ref frame, _FrameBuffer[num].Data);
lock (_MutexSyncSignals) lock (_MutexSyncSignals)
{ {
+5 -11
View File
@@ -20,7 +20,7 @@
using System; using System;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.Lib.Video.Gstreamer; using Vocaluxe.Lib.Video.Gstreamer;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video namespace Vocaluxe.Lib.Video
{ {
@@ -78,13 +78,13 @@ namespace Vocaluxe.Lib.Video
return CGstreamerVideoWrapper.GetVideoLength(streamID); 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); SManagedFrame managedFrame = CGstreamerVideoWrapper.GetFrame(streamID, time);
videoTime = managedFrame.Videotime; videoTime = managedFrame.Videotime;
_UploadNewFrame(ref frame, ref managedFrame.Buffer, managedFrame.Width, managedFrame.Height); _UploadNewFrame(ref frame, ref managedFrame.Buffer, managedFrame.Width, managedFrame.Height);
return true; return frame != null;
} }
public bool Skip(int streamID, float start, float gap) public bool Skip(int streamID, float start, float gap)
@@ -117,17 +117,11 @@ namespace Vocaluxe.Lib.Video
CGstreamerVideoWrapper.UpdateVideo(); 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) if (data == null)
return; return;
if (frame.Index == -1 || width != (int)frame.Width || height != (int)frame.Height || data.Length == 0) CDraw.UpdateOrAddTexture(ref frame, width, height, data);
{
CDraw.RemoveTexture(ref frame);
frame = CDraw.AddTexture(width, height, data);
}
else
CDraw.UpdateTexture(ref frame, data);
data = null; data = null;
} }
} }
+11 -2
View File
@@ -17,7 +17,7 @@
// */ // */
#endregion #endregion
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video namespace Vocaluxe.Lib.Video
{ {
@@ -41,7 +41,16 @@ namespace Vocaluxe.Lib.Video
int GetNumStreams(); int GetNumStreams();
float GetLength(int streamID); 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); bool Skip(int streamID, float start, float gap);
void SetLoop(int streamID, bool loop); void SetLoop(int streamID, bool loop);
void Pause(int streamID); void Pause(int streamID);
+28 -39
View File
@@ -24,7 +24,7 @@ using System.Drawing;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Vocaluxe.Base; using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Webcam namespace Vocaluxe.Lib.Webcam
{ {
@@ -41,29 +41,20 @@ namespace Vocaluxe.Lib.Webcam
public void Close() public void Close()
{ {
if (_Webcam != null) if (_Webcam == null)
{ return;
_Webcam.SignalToStop(); _Webcam.SignalToStop();
_Webcam.WaitForStop(); _Webcam.WaitForStop();
_Webcam.NewFrame -= _OnFrame; _Webcam.NewFrame -= _OnFrame;
_Data = new byte[1]; _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 (_Webcam != null && _Width > 0 && _Height > 0 && _Data.Length == _Width * _Height * 4)
{ CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _Data);
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);
}
} }
return false; return false;
} }
@@ -114,19 +105,18 @@ namespace Vocaluxe.Lib.Webcam
private void _OnFrame(object sender, NewFrameEventArgs e) 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; _Width = e.Frame.Width;
_Height = e.Frame.Height; _Height = e.Frame.Height;
BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length); Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length);
e.Frame.UnlockBits(bitmapdata); e.Frame.UnlockBits(bitmapdata);
}
} }
} }
@@ -138,14 +128,13 @@ namespace Vocaluxe.Lib.Webcam
public void Start() public void Start()
{ {
if (_Webcam != null) if (_Webcam == null)
{ return;
_Webcam.NewFrame -= _OnFrame; _Webcam.NewFrame -= _OnFrame;
//Subscribe to NewFrame event //Subscribe to NewFrame event
_Webcam.NewFrame += _OnFrame; _Webcam.NewFrame += _OnFrame;
_Webcam.Start(); _Webcam.Start();
_Paused = false; _Paused = false;
}
} }
public void Stop() public void Stop()
+2 -2
View File
@@ -19,7 +19,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Webcam namespace Vocaluxe.Lib.Webcam
{ {
@@ -54,7 +54,7 @@ namespace Vocaluxe.Lib.Webcam
void Stop(); void Stop();
void Close(); void Close();
bool GetFrame(ref STexture frame); bool GetFrame(ref CTexture frame);
Bitmap GetBitmap(); Bitmap GetBitmap();
SWebcamConfig GetConfig(); SWebcamConfig GetConfig();
SWebcamDevice[] GetDevices(); SWebcamDevice[] GetDevices();
+1 -1
View File
@@ -240,7 +240,7 @@ namespace Vocaluxe
CController.Close(); CController.Close();
CSound.RecordCloseAll(); CSound.RecordCloseAll();
CSound.CloseAllStreams(); CSound.CloseAllStreams();
CVideo.VdCloseAll(); CVideo.CloseAll();
CDraw.Unload(); CDraw.Unload();
CDataBase.CloseConnections(); CDataBase.CloseConnections();
CWebcam.Close(); CWebcam.Close();
+20 -18
View File
@@ -24,6 +24,7 @@ using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.Base.Fonts; using Vocaluxe.Base.Fonts;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
namespace Vocaluxe.Screens namespace Vocaluxe.Screens
@@ -51,8 +52,8 @@ namespace Vocaluxe.Screens
_Image = image; _Image = image;
_ImgDot = imgDot; _ImgDot = imgDot;
_Particle = particle; _Particle = particle;
_ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.Width - particle.Rect.W / 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.Height - particle.Rect.H / 2); _ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.OrigSize.Height - particle.Rect.H / 2);
Active = true; Active = true;
} }
@@ -127,21 +128,21 @@ namespace Vocaluxe.Screens
private List<string[]> _Paragraphs; private List<string[]> _Paragraphs;
private List<CText> _ParagraphTexts; private List<CText> _ParagraphTexts;
private STexture _TexLogo; private CTexture _TexLogo;
private STexture _TexPerfectNoteStar; private CTexture _TexPerfectNoteStar;
private STexture _TexRedDot; private CTexture _TexRedDot;
private STexture _TexBlueDot; private CTexture _TexBlueDot;
private STexture _TexNameBrunzel; private CTexture _TexNameBrunzel;
private STexture _TexNameDarkice; private CTexture _TexNameDarkice;
private STexture _TexNameFlokuep; private CTexture _TexNameFlokuep;
private STexture _TexNameFlamefire; private CTexture _TexNameFlamefire;
private STexture _TexNameMesand; private CTexture _TexNameMesand;
private STexture _TexNameBohning; private CTexture _TexNameBohning;
private STexture _TexNameBabene03; private CTexture _TexNameBabene03;
private STexture _TexNamePantero; private CTexture _TexNamePantero;
private STexture _TexNamePinky007; private CTexture _TexNamePinky007;
public override void Init() public override void Init()
{ {
@@ -283,12 +284,12 @@ namespace Vocaluxe.Screens
return GetNewParticleEffect(numStars, partColor, rect, _TexPerfectNoteStar, partSize, EParticleType.Star); 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; bool isRight = _CreditNames.Count % 2 == 0;
int partRectSize = bigParticles ? 25 : 20; int partRectSize = bigParticles ? 25 : 20;
int partCount = bigParticles ? 8 : 6; 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)); 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(); base.OnShow();
//Vocaluxe-Logo //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 //Little stars for logo
int numstars = (int)(_Logo.Rect.W * 0.25f / 2f); int numstars = (int)(_Logo.Rect.W * 0.25f / 2f);
-3
View File
@@ -19,7 +19,6 @@
using System.Windows.Forms; using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.Base.Fonts;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
@@ -165,9 +164,7 @@ namespace Vocaluxe.Screens
// ReSharper disable ConditionIsAlwaysTrueOrFalse // ReSharper disable ConditionIsAlwaysTrueOrFalse
if (CSettings.VersionRevision != ERevision.Release) if (CSettings.VersionRevision != ERevision.Release)
// ReSharper restore ConditionIsAlwaysTrueOrFalse // ReSharper restore ConditionIsAlwaysTrueOrFalse
{
_ReleaseText.Draw(); _ReleaseText.Draw();
}
return true; return true;
} }
+13 -12
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
@@ -55,15 +56,15 @@ namespace Vocaluxe.Screens
{"EqualizerPlayer1", "EqualizerPlayer2", "EqualizerPlayer3", "EqualizerPlayer4", "EqualizerPlayer5", "EqualizerPlayer6"}; {"EqualizerPlayer1", "EqualizerPlayer2", "EqualizerPlayer3", "EqualizerPlayer4", "EqualizerPlayer5", "EqualizerPlayer6"};
private readonly string[] _SelectSlideDuetPlayer = new string[] private readonly string[] _SelectSlideDuetPlayer = new string[]
{"SelectSlideDuetPlayer1", "SelectSlideDuetPlayer2", "SelectSlideDuetPlayer3", "SelectSlideDuetPlayer4", "SelectSlideDuetPlayer5", "SelectSlideDuetPlayer6"}; {"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 _SelectingKeyboardActive;
private bool _SelectingFast; private bool _SelectingFast;
private int _SelectingSwitchNr = -1; private int _SelectingSwitchNr = -1;
private int _SelectingFastPlayerNr = 0; private int _SelectingFastPlayerNr;
private int _SelectedPlayerNr = -1; private int _SelectedPlayerNr = -1;
private bool _AvatarsChanged = false; private bool _AvatarsChanged;
private bool _ProfilesChanged = false; private bool _ProfilesChanged;
#region public methods #region public methods
public override void Init() public override void Init()
@@ -105,7 +106,7 @@ namespace Vocaluxe.Screens
_ChooseAvatarStatic.Visible = false; _ChooseAvatarStatic.Visible = false;
_ChooseAvatarStatic.Aspect = EAspect.Crop; _ChooseAvatarStatic.Aspect = EAspect.Crop;
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged)); CProfiles.AddProfileChangedCallback(_OnProfileChanged);
} }
public override void LoadTheme(string xmlPath) public override void LoadTheme(string xmlPath)
@@ -445,7 +446,7 @@ namespace Vocaluxe.Screens
CConfig.Players[_SelectingSwitchNr] = string.Empty; CConfig.Players[_SelectingSwitchNr] = string.Empty;
//Update texture and name //Update texture and name
_Statics[_StaticPlayerAvatar[_SelectingSwitchNr]].Texture = _OriginalPlayerAvatarTextures[_SelectingSwitchNr]; _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(); CProfile[] profiles = CProfiles.GetProfiles();
@@ -467,7 +468,7 @@ namespace Vocaluxe.Screens
break; break;
} }
//Selected player is dropped out of area //Selected player is dropped out of area
else if (_SelectingSwitchNr > -1) if (_SelectingSwitchNr > -1)
{ {
//Update Game-infos with new player //Update Game-infos with new player
CGame.Players[_SelectingSwitchNr].ProfileID = -1; CGame.Players[_SelectingSwitchNr].ProfileID = -1;
@@ -598,7 +599,7 @@ namespace Vocaluxe.Screens
else else
stopSelectingFast = true; stopSelectingFast = true;
} }
else if(mouseEvent.MB) else if (mouseEvent.MB)
{ {
_ResetPlayerSelections(); _ResetPlayerSelections();
_SelectingFast = true; _SelectingFast = true;
@@ -669,12 +670,12 @@ namespace Vocaluxe.Screens
#endregion public methods #endregion public methods
#region private 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; _AvatarsChanged = true;
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags)) if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
_ProfilesChanged = true; _ProfilesChanged = true;
} }
@@ -689,7 +690,7 @@ namespace Vocaluxe.Screens
for (int i = 0; i < CSettings.MaxNumPlayer; i++) 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) : CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID) :
_OriginalPlayerAvatarTextures[i]; _OriginalPlayerAvatarTextures[i];
_Texts[_TextPlayer[i]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID, i + 1); _Texts[_TextPlayer[i]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID, i + 1);
+2 -1
View File
@@ -23,6 +23,7 @@ using Vocaluxe.Base;
using Vocaluxe.Lib.Webcam; using Vocaluxe.Lib.Webcam;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Screens namespace Vocaluxe.Screens
{ {
@@ -46,7 +47,7 @@ namespace Vocaluxe.Screens
private const string _ButtonExit = "ButtonExit"; private const string _ButtonExit = "ButtonExit";
private SWebcamConfig _Config; private SWebcamConfig _Config;
private STexture _WebcamTexture = new STexture(-1); private CTexture _WebcamTexture;
private int _DeviceNr; private int _DeviceNr;
private int _CapabilityNr; private int _CapabilityNr;
+24 -19
View File
@@ -27,6 +27,7 @@ using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
using VocaluxeLib.Draw;
namespace Vocaluxe.Screens namespace Vocaluxe.Screens
{ {
@@ -65,7 +66,7 @@ namespace Vocaluxe.Screens
private EEditMode _EditMode; private EEditMode _EditMode;
private STexture _WebcamTexture = new STexture(-1); private CTexture _WebcamTexture;
private Bitmap _Snapshot; private Bitmap _Snapshot;
public override void Init() public override void Init()
@@ -80,7 +81,7 @@ namespace Vocaluxe.Screens
_EditMode = EEditMode.None; _EditMode = EEditMode.None;
_ProfilesChanged = false; _ProfilesChanged = false;
_AvatarsChanged = false; _AvatarsChanged = false;
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged)); CProfiles.AddProfileChangedCallback(_OnProfileChanged);
} }
public override void LoadTheme(string xmlPath) public override void LoadTheme(string xmlPath)
@@ -223,7 +224,7 @@ namespace Vocaluxe.Screens
{ {
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex, CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex,
_SelectSlides[_SelectSlideAvatars].ValueIndex); _SelectSlides[_SelectSlideAvatars].ValueIndex);
if (CWebcam.IsDeviceAvailable() && _WebcamTexture.Index > 0) if (CWebcam.IsDeviceAvailable() && _WebcamTexture != null)
_OnDiscardSnapshot(); _OnDiscardSnapshot();
} }
else if (_SelectSlides[_SelectSlideGuestProfile].Selected) else if (_SelectSlides[_SelectSlideGuestProfile].Selected)
@@ -300,12 +301,12 @@ namespace Vocaluxe.Screens
_OnDiscardSnapshot(); _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; _AvatarsChanged = true;
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags)) if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
_ProfilesChanged = true; _ProfilesChanged = true;
} }
@@ -397,7 +398,7 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideProfiles].Selection = selection - 1; _SelectSlides[_SelectSlideProfiles].Selection = selection - 1;
} }
private void _LoadProfiles(bool Keep) private void _LoadProfiles(bool keep)
{ {
string name = String.Empty; string name = String.Empty;
if (_EditMode == EEditMode.PlayerName) if (_EditMode == EEditMode.PlayerName)
@@ -407,12 +408,14 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideProfiles].Clear(); _SelectSlides[_SelectSlideProfiles].Clear();
CProfile[] profiles = CProfiles.GetProfiles(); CProfile[] profiles = CProfiles.GetProfiles();
for (int i = 0; i < profiles.Length; i++) foreach (CProfile profile in profiles)
{
_SelectSlides[_SelectSlideProfiles].AddValue( _SelectSlides[_SelectSlideProfiles].AddValue(
profiles[i].PlayerName, profile.PlayerName,
new STexture(-1), null,
profiles[i].ID, profile.ID,
-1); -1);
}
if (CProfiles.NumProfiles > 0 && CProfiles.NumAvatars > 0) if (CProfiles.NumProfiles > 0 && CProfiles.NumAvatars > 0)
{ {
@@ -424,7 +427,7 @@ namespace Vocaluxe.Screens
selectedProfileID = _SelectSlides[_SelectSlideProfiles].ValueIndex; selectedProfileID = _SelectSlides[_SelectSlideProfiles].ValueIndex;
} }
if (!Keep) if (!keep)
{ {
_SelectSlides[_SelectSlideDifficulty].Selection = (int)CProfiles.GetDifficulty(selectedProfileID); _SelectSlides[_SelectSlideDifficulty].Selection = (int)CProfiles.GetDifficulty(selectedProfileID);
_SelectSlides[_SelectSlideGuestProfile].Selection = (int)CProfiles.GetGuestProfile(selectedProfileID); _SelectSlides[_SelectSlideGuestProfile].Selection = (int)CProfiles.GetGuestProfile(selectedProfileID);
@@ -438,19 +441,21 @@ namespace Vocaluxe.Screens
_ProfilesChanged = false; _ProfilesChanged = false;
} }
private void _LoadAvatars(bool Keep) private void _LoadAvatars(bool keep)
{ {
int selectedAvatarID = _SelectSlides[_SelectSlideAvatars].ValueIndex; int selectedAvatarID = _SelectSlides[_SelectSlideAvatars].ValueIndex;
_SelectSlides[_SelectSlideAvatars].Clear(); _SelectSlides[_SelectSlideAvatars].Clear();
CAvatar[] avatars = CProfiles.GetAvatars(); IEnumerable<CAvatar> avatars = CProfiles.GetAvatars();
for (int i = 0; i < avatars.Length; i++) foreach (CAvatar avatar in avatars)
{
_SelectSlides[_SelectSlideAvatars].AddValue( _SelectSlides[_SelectSlideAvatars].AddValue(
Path.GetFileName(avatars[i].FileName), Path.GetFileName(avatar.FileName),
new STexture(-1), null,
avatars[i].ID, avatar.ID,
-1); -1);
}
if (Keep) if (keep)
{ {
_SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(selectedAvatarID); _SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(selectedAvatarID);
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex, selectedAvatarID); CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex, selectedAvatarID);
+2 -2
View File
@@ -333,7 +333,7 @@ namespace Vocaluxe.Screens
_Statics[_StaticPointsBarBG[p, CGame.NumPlayer - 1]].Rect.Y - _Statics[_StaticPointsBarBG[p, CGame.NumPlayer - 1]].Rect.Y -
_Statics[_StaticPointsBar[p, CGame.NumPlayer - 1]].Rect.H; _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); _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[_StaticPointsBarBG[player, numplayer]].Visible = numplayer + 1 == CGame.NumPlayer;
_Statics[_StaticAvatar[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;
} }
} }
} }
+46 -39
View File
@@ -27,9 +27,8 @@ using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.Base.Fonts; using Vocaluxe.Base.Fonts;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SingNotes;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace Vocaluxe.Screens namespace Vocaluxe.Screens
@@ -88,6 +87,9 @@ namespace Vocaluxe.Screens
private const string _SingBars = "SingBars"; private const string _SingBars = "SingBars";
private bool _DynamicLyricsTop;
private bool _DynamicLyricsBottom;
private SRectF _TimeLineRect; private SRectF _TimeLineRect;
private List<STimeRect> _TimeRects; private List<STimeRect> _TimeRects;
private bool _FadeOut; private bool _FadeOut;
@@ -98,9 +100,9 @@ namespace Vocaluxe.Screens
private const float _Volume = 100f; private const float _Volume = 100f;
private int _CurrentVideo = -1; private int _CurrentVideo = -1;
private EAspect _VideoAspect = EAspect.Crop; private EAspect _VideoAspect = EAspect.Crop;
private STexture _CurrentVideoTexture = new STexture(-1); private CTexture _CurrentVideoTexture;
private STexture _CurrentWebcamFrameTexture = new STexture(-1); private CTexture _CurrentWebcamFrameTexture;
private STexture _Background = new STexture(-1); private CTexture _Background;
private float _CurrentTime; private float _CurrentTime;
private float _FinishTime; private float _FinishTime;
@@ -397,7 +399,7 @@ namespace Vocaluxe.Screens
if (_CurrentVideo != -1 && !_FadeOut && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON) if (_CurrentVideo != -1 && !_FadeOut && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON)
{ {
float vtime; float vtime;
CVideo.VdGetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime); CVideo.GetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime);
} }
if (_Webcam) if (_Webcam)
@@ -413,8 +415,8 @@ namespace Vocaluxe.Screens
_FadeOut = false; _FadeOut = false;
_CurrentVideo = -1; _CurrentVideo = -1;
_CurrentVideoTexture = new STexture(-1); _CurrentVideoTexture = null;
_CurrentWebcamFrameTexture = new STexture(-1); _CurrentWebcamFrameTexture = null;
_CurrentBeat = -100; _CurrentBeat = -100;
_CurrentTime = 0f; _CurrentTime = 0f;
_FinishTime = 0f; _FinishTime = 0f;
@@ -455,33 +457,27 @@ namespace Vocaluxe.Screens
{ {
if (_Active) if (_Active)
{ {
CTexture background;
EAspect aspect = EAspect.Crop;
if (_CurrentVideo != -1 && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON && !_Webcam) if (_CurrentVideo != -1 && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON && !_Webcam)
{ {
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH); background = _CurrentVideoTexture;
RectangleF rect = new RectangleF(0f, 0f, _CurrentVideoTexture.Width, _CurrentVideoTexture.Height); aspect = _VideoAspect;
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);
} }
else if (_Webcam) else if (_Webcam)
{ {
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH); background = _CurrentWebcamFrameTexture;
RectangleF rect = new RectangleF(0f, 0f, _CurrentWebcamFrameTexture.Width, _CurrentWebcamFrameTexture.Height); aspect = _VideoAspect;
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);
} }
else else
background = _Background;
if (background != null)
{ {
// Draw Background
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH); RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _Background.Width, _Background.Height); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); CHelper.SetRect(bounds, out rect, background.OrigAspect, aspect);
CDraw.DrawTexture(background, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
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));
_Background.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
} }
} }
@@ -558,7 +554,7 @@ namespace Vocaluxe.Screens
CSound.RecordStop(); CSound.RecordStop();
if (_CurrentVideo != -1) if (_CurrentVideo != -1)
{ {
CVideo.VdClose(_CurrentVideo); CVideo.Close(_CurrentVideo);
_CurrentVideo = -1; _CurrentVideo = -1;
CDraw.RemoveTexture(ref _CurrentVideoTexture); CDraw.RemoveTexture(ref _CurrentVideoTexture);
} }
@@ -621,15 +617,15 @@ namespace Vocaluxe.Screens
CDraw.RemoveTexture(ref _CurrentVideoTexture); CDraw.RemoveTexture(ref _CurrentVideoTexture);
if (song.VideoFileName != "") if (!String.IsNullOrEmpty(song.VideoFileName))
{ {
_CurrentVideo = CVideo.VdLoad(Path.Combine(song.Folder, song.VideoFileName)); _CurrentVideo = CVideo.Load(Path.Combine(song.Folder, song.VideoFileName));
CVideo.VdSkip(_CurrentVideo, song.Start, song.VideoGap); CVideo.Skip(_CurrentVideo, song.Start, song.VideoGap);
_VideoAspect = song.VideoAspect; _VideoAspect = song.VideoAspect;
} }
CDraw.RemoveTexture(ref _Background); CDraw.RemoveTexture(ref _Background);
if (song.BackgroundFileName != "") if (!String.IsNullOrEmpty(song.BackgroundFileName))
_Background = CDraw.AddTexture(Path.Combine(song.Folder, song.BackgroundFileName)); _Background = CDraw.AddTexture(Path.Combine(song.Folder, song.BackgroundFileName));
_SingNotes[_SingBars].Reset(); _SingNotes[_SingBars].Reset();
@@ -652,12 +648,21 @@ namespace Vocaluxe.Screens
CGame.Players[i].LineNr = duetPlayer[i]; CGame.Players[i].LineNr = duetPlayer[i];
} }
} }
_SetDuetLyricsVisibility(song.IsDuet);
_SetNormalLyricsVisibility(); _DynamicLyricsTop = false;
_DynamicLyricsBottom = false;
for (int p = 0; p < CGame.NumPlayer; p++) 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); _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: case 4:
NoteLines[0] = SingNotes[SingBars].AddPlayer(new SRectF(35f, 100f, 590f, 200f, -0.5f), CTheme.ThemeColors.Player[0]); NoteLines[0] = SingNotes[SingBars].AddPlayer(new SRectF(35f, 100f, 590f, 200f, -0.5f), CTheme.ThemeColors.Player[0]);
@@ -694,8 +699,8 @@ namespace Vocaluxe.Screens
else else
{ {
bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH || CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && (CGame.NumPlayer > 2 && CGame.NumPlayer != 4)); || (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
_Lyrics[_LyricMainTop].Visible = lyricsOnTop; _Lyrics[_LyricMainTop].Visible = lyricsOnTop;
_Lyrics[_LyricSubTop].Visible = lyricsOnTop; _Lyrics[_LyricSubTop].Visible = lyricsOnTop;
_Statics[_StaticLyricsTop].Visible = lyricsOnTop; _Statics[_StaticLyricsTop].Visible = lyricsOnTop;
@@ -704,7 +709,9 @@ namespace Vocaluxe.Screens
private void _SetNormalLyricsVisibility() 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[_LyricMain].Visible = visible;
_Lyrics[_LyricSub].Visible = visible; _Lyrics[_LyricSub].Visible = visible;
_Statics[_StaticLyrics].Visible = visible; _Statics[_StaticLyrics].Visible = visible;
@@ -1363,7 +1370,7 @@ namespace Vocaluxe.Screens
foreach (CLine line in voice.Lines.Where(line => line.VisibleInTimeLine)) foreach (CLine line in voice.Lines.Where(line => line.VisibleInTimeLine))
{ {
STimeRect trect = new STimeRect {StartBeat = line.FirstNoteBeat, EndBeat = line.EndBeat}; 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 SColorF(1f, 1f, 1f, 1f),
new SRectF( new SRectF(
stat.Rect.X + stat.Rect.W * ((CGame.GetTimeFromBeats(trect.StartBeat, song.BPM) + song.Gap - song.Start) / totalTime), 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++) 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); _Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Texture = CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID);
else else
_Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Visible = false; _Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Visible = false;
@@ -1394,7 +1401,7 @@ namespace Vocaluxe.Screens
{ {
for (int i = 0; i < CGame.NumPlayer; i++) 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); _Texts[_TextNames[i, CGame.NumPlayer - 1]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID);
else else
_Texts[_TextNames[i, CGame.NumPlayer - 1]].Visible = false; _Texts[_TextNames[i, CGame.NumPlayer - 1]].Visible = false;
+5 -9
View File
@@ -20,11 +20,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using Vocaluxe.Base; using Vocaluxe.Base;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.PartyModes; using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
@@ -884,9 +884,7 @@ namespace Vocaluxe.Screens
CGame.Reset(); CGame.Reset();
CGame.ClearSongs(); CGame.ClearSongs();
List<int> ids = new List<int>(); List<int> ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
ids.Add(CSongs.VisibleSongs[i].ID);
while (ids.Count > 0) while (ids.Count > 0)
{ {
@@ -910,17 +908,15 @@ namespace Vocaluxe.Screens
CGame.Reset(); CGame.Reset();
CGame.ClearSongs(); CGame.ClearSongs();
List<int> ids = new List<int>(); List<int> ids;
if (allSongs) if (allSongs)
{ {
ids = new List<int>();
for (int i = 0; i < CSongs.AllSongs.Count; i++) for (int i = 0; i < CSongs.AllSongs.Count; i++)
ids.Add(i); ids.Add(i);
} }
else else
{ ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
ids.Add(CSongs.VisibleSongs[i].ID);
}
int s = 0; int s = 0;
while (s < numSongs && ids.Count > 0) while (s < numSongs && ids.Count > 0)
{ {
+6 -6
View File
@@ -42,17 +42,17 @@ namespace Vocaluxe.Screens
base.Init(); base.Init();
const string test = "Ö ÄÜabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPGRSTUVWGXZ1234567890"; const string test = "Ö ÄÜabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPGRSTUVWGXZ1234567890";
SColorF color = new SColorF(1, 0, 0, 1); 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); _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); _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); _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); _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); _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); _AddText(text);
} }
+1
View File
@@ -178,6 +178,7 @@
<Compile Include="Base\CBackgroundMusic.cs" /> <Compile Include="Base\CBackgroundMusic.cs" />
<Compile Include="Base\CConfig.cs" /> <Compile Include="Base\CConfig.cs" />
<Compile Include="Base\CCover.cs" /> <Compile Include="Base\CCover.cs" />
<Compile Include="Base\CCursor.cs" />
<Compile Include="Base\CDataBase.cs" /> <Compile Include="Base\CDataBase.cs" />
<Compile Include="Base\CDraw.cs" /> <Compile Include="Base\CDraw.cs" />
<Compile Include="Base\Fonts\CFont.cs" /> <Compile Include="Base\Fonts\CFont.cs" />
-2
View File
@@ -17,8 +17,6 @@
// */ // */
#endregion #endregion
using VocaluxeLib.Menu;
namespace VocaluxeLib namespace VocaluxeLib
{ {
public static class CBase public static class CBase
+20 -21
View File
@@ -91,9 +91,9 @@ namespace VocaluxeLib
public static void SetRect(RectangleF bounds, out RectangleF rect, float rectAspect, EAspect aspect) public static void SetRect(RectangleF bounds, out RectangleF rect, float rectAspect, EAspect aspect)
{ {
float rW = bounds.Right - bounds.Left; float boundsW = bounds.Width;
float rH = bounds.Bottom - bounds.Top; float boundsH = bounds.Height;
float rA = rW / rH; float boundsAspect = boundsW / boundsH;
float scaledWidth; float scaledWidth;
float scaledHeight; float scaledHeight;
@@ -101,42 +101,39 @@ namespace VocaluxeLib
switch (aspect) switch (aspect)
{ {
case EAspect.Crop: case EAspect.Crop:
if (rA >= rectAspect) if (boundsAspect >= rectAspect)
{ {
scaledWidth = rW; scaledWidth = boundsW;
scaledHeight = rH * rA / rectAspect; scaledHeight = boundsW / rectAspect;
} }
else else
{ {
scaledHeight = rH; scaledHeight = boundsH;
scaledWidth = rW * rectAspect / rA; scaledWidth = boundsH * rectAspect;
} }
break; break;
case EAspect.LetterBox: case EAspect.LetterBox:
if (rectAspect >= 1) if (boundsAspect <= rectAspect)
{ {
scaledWidth = rW; scaledWidth = boundsW;
scaledHeight = rH * rA / rectAspect; scaledHeight = boundsW / rectAspect;
} }
else else
{ {
scaledHeight = rH; scaledHeight = boundsH;
scaledWidth = rW * rectAspect / rA; scaledWidth = boundsH * rectAspect;
} }
break; break;
default: default:
scaledWidth = rW; scaledWidth = boundsW;
scaledHeight = rH; scaledHeight = boundsH;
break; break;
} }
float left = (rW - scaledWidth) / 2 + bounds.Left; float left = (boundsW - scaledWidth) / 2 + bounds.Left;
float rigth = left + scaledWidth; float upper = (boundsH - scaledHeight) / 2 + bounds.Top;
float upper = (rH - scaledHeight) / 2 + bounds.Top; rect = new RectangleF(left, upper, scaledWidth, scaledHeight);
float lower = upper + scaledHeight;
rect = new RectangleF(left, upper, rigth - left, lower - upper);
} }
public static List<string> ListFiles(string path, string cast, bool recursive = false, bool fullpath = false) public static List<string> ListFiles(string path, string cast, bool recursive = false, bool fullpath = false)
@@ -146,7 +143,9 @@ namespace VocaluxeLib
try try
{ {
// ReSharper disable LoopCanBeConvertedToQuery
foreach (FileInfo file in dir.GetFiles(cast)) foreach (FileInfo file in dir.GetFiles(cast))
// ReSharper restore LoopCanBeConvertedToQuery
files.Add(!fullpath ? file.Name : file.FullName); files.Add(!fullpath ? file.Name : file.FullName);
if (recursive) if (recursive)
+151
View File
@@ -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;
}
}
}
+33 -26
View File
@@ -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.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Drawing; using System.Drawing;
using System.Linq; using VocaluxeLib.Draw;
using System.Text;
using VocaluxeLib.Game; using VocaluxeLib.Game;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace VocaluxeLib namespace VocaluxeLib
{ {
public interface IMenuParty
{
void SetPartyModeID(int partyModeID);
int GetPartyModeID();
void AssingPartyMode(IPartyMode partyMode);
void DataToScreen(Object data);
}
public interface IConfig public interface IConfig
{ {
void SetBackgroundMusicVolume(int newVolume); void SetBackgroundMusicVolume(int newVolume);
@@ -78,8 +85,8 @@ namespace VocaluxeLib
{ {
string GetThemeScreensPath(int partyModeID); string GetThemeScreensPath(int partyModeID);
int GetSkinIndex(int partyModeID); int GetSkinIndex(int partyModeID);
STexture GetSkinTexture(string textureName, int partyModeID); CTexture GetSkinTexture(string textureName, int partyModeID);
STexture GetSkinVideoTexture(string videoName, int partyModeID); CTexture GetSkinVideoTexture(string videoName, int partyModeID);
void SkinVideoResume(string videoName, int partyModeID); void SkinVideoResume(string videoName, int partyModeID);
void SkinVideoPause(string videoName, int partyModeID); void SkinVideoPause(string videoName, int partyModeID);
@@ -109,18 +116,18 @@ namespace VocaluxeLib
void ApplyVolume(); void ApplyVolume();
STexture GetVideoTexture(); CTexture GetVideoTexture();
} }
public interface IDrawing public interface IDrawing
{ {
void DrawTexture(STexture texture, SRectF rect); void DrawTexture(CTexture texture, SRectF rect);
void DrawTexture(STexture texture, SRectF rect, SColorF color); void DrawTexture(CTexture texture, SRectF rect, SColorF color);
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); void DrawTexture(CTexture 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 DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight);
STexture AddTexture(string fileName); CTexture AddTexture(string fileName);
void RemoveTexture(ref STexture texture); void RemoveTexture(ref CTexture texture);
void DrawColor(SColorF color, SRectF rect); void DrawColor(SColorF color, SRectF rect);
void DrawColorReflection(SColorF color, SRectF rect, float space, float height); void DrawColorReflection(SColorF color, SRectF rect, float space, float height);
@@ -225,7 +232,7 @@ namespace VocaluxeLib
{ {
int Load(string videoFileName); int Load(string videoFileName);
bool Skip(int videoStream, float startPosition, float videoGap); 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 IsFinished(int videoStream);
bool Close(int videoStream); bool Close(int videoStream);
} }
@@ -248,12 +255,12 @@ namespace VocaluxeLib
public interface ICover public interface ICover
{ {
STexture GetNoCover(); CTexture GetNoCover();
} }
public interface IDataBase public interface IDataBase
{ {
bool GetCover(string fileName, ref STexture texture, int coverSize); bool GetCover(string fileName, ref CTexture texture, int coverSize);
} }
public interface IControllers public interface IControllers
+18 -17
View File
@@ -20,6 +20,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
{ {
@@ -118,7 +119,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Background color for type \"Color\" from ColorScheme (high priority)"); writer.WriteComment("<Color>: Background color for type \"Color\" from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -139,13 +140,13 @@ namespace VocaluxeLib.Menu
public void Resume() 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); CBase.Theme.SkinVideoResume(_Theme.VideoName, _PartyModeID);
} }
public void Pause() public void Pause()
{ {
if (_Theme.VideoName != "") if (!String.IsNullOrEmpty(_Theme.VideoName))
CBase.Theme.SkinVideoPause(_Theme.VideoName, _PartyModeID); CBase.Theme.SkinVideoPause(_Theme.VideoName, _PartyModeID);
} }
@@ -165,7 +166,7 @@ namespace VocaluxeLib.Menu
ok = _DrawVideo(); ok = _DrawVideo();
} }
if (_Theme.TextureName != "" && if (!String.IsNullOrEmpty(_Theme.TextureName) &&
(_Theme.Type == EBackgroundTypes.Texture || (_Theme.Type == EBackgroundTypes.Texture ||
(_Theme.Type == EBackgroundTypes.Video && (CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_OFF || !ok)))) (_Theme.Type == EBackgroundTypes.Video && (CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_OFF || !ok))))
ok = _DrawTexture(); ok = _DrawTexture();
@@ -181,7 +182,7 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
} }
@@ -202,12 +203,12 @@ namespace VocaluxeLib.Menu
private bool _DrawTexture() private bool _DrawTexture()
{ {
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
if (texture.Height > 0) if (texture != null)
{ {
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH()); RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, texture.Width, texture.Height); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); 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)); CBase.Drawing.DrawTexture(texture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true; return true;
@@ -217,12 +218,12 @@ namespace VocaluxeLib.Menu
private bool _DrawVideo() private bool _DrawVideo()
{ {
STexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID); CTexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID);
if (videoTexture.Height > 0) if (videoTexture != null)
{ {
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH()); RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); 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)); CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true; return true;
@@ -232,12 +233,12 @@ namespace VocaluxeLib.Menu
private bool _DrawBackgroundMusicVideo() private bool _DrawBackgroundMusicVideo()
{ {
STexture videoTexture = CBase.BackgroundMusic.GetVideoTexture(); CTexture videoTexture = CBase.BackgroundMusic.GetVideoTexture();
if (videoTexture.Height > 0) if (videoTexture != null)
{ {
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH()); RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); 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)); CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true; return true;
+13 -33
View File
@@ -19,6 +19,7 @@
using System; using System;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
{ {
@@ -39,8 +40,8 @@ namespace VocaluxeLib.Menu
private bool _ThemeLoaded; private bool _ThemeLoaded;
private readonly int _PartyModeID; private readonly int _PartyModeID;
public STexture Texture; public CTexture Texture;
public STexture SelTexture; public CTexture SelTexture;
public SRectF Rect; public SRectF Rect;
public SColorF Color; public SColorF Color;
public SColorF SelColor; public SColorF SelColor;
@@ -79,8 +80,8 @@ namespace VocaluxeLib.Menu
Text.Selected = value; Text.Selected = value;
} }
} }
public bool Visible; public bool Visible = true;
public bool Enabled; public bool Enabled = true;
public string GetThemeName() public string GetThemeName()
{ {
@@ -90,28 +91,10 @@ namespace VocaluxeLib.Menu
public CButton(int partyModeID) public CButton(int partyModeID)
{ {
_PartyModeID = 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); Text = new CText(_PartyModeID);
_SelText = new CText(_PartyModeID); _SelText = new CText(_PartyModeID);
Selected = false; Selected = false;
Visible = true;
EditMode = false; EditMode = false;
Enabled = true;
_Reflection = false;
_ReflectionSpace = 0f;
_ReflectionHeight = 0f;
_SelReflection = false;
_SelReflectionSpace = 0f;
_SelReflectionHeight = 0f;
} }
public CButton(CButton button) public CButton(CButton button)
@@ -131,13 +114,10 @@ namespace VocaluxeLib.Menu
Texture = button.Texture; Texture = button.Texture;
SelTexture = button.SelTexture; SelTexture = button.SelTexture;
_IsSelText = false;
Text = new CText(button.Text); Text = new CText(button.Text);
_SelText = new CText(button._SelText); _SelText = new CText(button._SelText);
Selected = false; Selected = false;
Visible = true;
EditMode = false; EditMode = false;
_ThemeLoaded = false;
Enabled = button.Enabled; Enabled = button.Enabled;
_Reflection = button._Reflection; _Reflection = button._Reflection;
@@ -241,7 +221,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Button color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -253,7 +233,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected button color from ColorScheme (high priority)"); writer.WriteComment("<SColor>: Selected button color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)"); writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName); writer.WriteElementString("SColor", _Theme.SelColorName);
else else
{ {
@@ -301,11 +281,11 @@ namespace VocaluxeLib.Menu
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme && !forceDraw) if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme && !forceDraw)
return; return;
STexture texture; CTexture texture;
if (!Selected && !Pressed || !Enabled) 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); CBase.Drawing.DrawTexture(texture, Rect, Color);
@@ -319,7 +299,7 @@ namespace VocaluxeLib.Menu
} }
else if (!_IsSelText) 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); CBase.Drawing.DrawTexture(texture, Rect, SelColor);
@@ -333,7 +313,7 @@ namespace VocaluxeLib.Menu
} }
else if (_IsSelText) 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); CBase.Drawing.DrawTexture(texture, Rect, SelColor);
@@ -361,10 +341,10 @@ namespace VocaluxeLib.Menu
{ {
Text.LoadTextures(); Text.LoadTextures();
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID); SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
} }
+4 -4
View File
@@ -175,7 +175,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Equalizer color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Equalizer color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -186,7 +186,7 @@ namespace VocaluxeLib.Menu
} }
writer.WriteComment("<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)"); writer.WriteComment("<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)");
writer.WriteComment("or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)"); writer.WriteComment("or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("MaxColor", _Theme.ColorName); writer.WriteElementString("MaxColor", _Theme.ColorName);
else else
{ {
@@ -274,10 +274,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.MaxColorName != "") if (!String.IsNullOrEmpty(_Theme.MaxColorName))
MaxColor = CBase.Theme.GetColor(_Theme.MaxColorName, _PartyModeID); MaxColor = CBase.Theme.GetColor(_Theme.MaxColorName, _PartyModeID);
} }
+4 -4
View File
@@ -172,7 +172,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Lyric text color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Lyric text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -184,7 +184,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Highlighted lyric color from ColorScheme (high priority)"); writer.WriteComment("<SColor>: Highlighted lyric color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)"); writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName); writer.WriteElementString("SColor", _Theme.SelColorName);
else else
{ {
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); _Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
_ColorProcessed = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID); _ColorProcessed = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
} }
+3 -2
View File
@@ -24,6 +24,7 @@ using System.IO;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu.SingNotes; using VocaluxeLib.Menu.SingNotes;
using VocaluxeLib.Menu.SongMenu; using VocaluxeLib.Menu.SongMenu;
@@ -478,7 +479,7 @@ namespace VocaluxeLib.Menu
return new CStatic(oldStatic); 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); return new CStatic(_PartyModeID, texture, color, rect);
} }
@@ -523,7 +524,7 @@ namespace VocaluxeLib.Menu
return new CPlaylist(_PartyModeID); 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); return new CParticleEffect(_PartyModeID, maxNumber, color, area, texture, size, type);
} }
+9 -10
View File
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Profile; using VocaluxeLib.Profile;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
@@ -71,8 +71,8 @@ namespace VocaluxeLib.Menu
public SRectF Rect; public SRectF Rect;
private readonly List<CTile> _Tiles; private readonly List<CTile> _Tiles;
private STexture _TextureEmptyTile; private CTexture _TextureEmptyTile;
private STexture _TextureTileSelected; private CTexture _TextureTileSelected;
public SColorF ColorEmptyTile; public SColorF ColorEmptyTile;
@@ -194,7 +194,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ColorEmptyTile>: Static color from ColorScheme (high priority)"); writer.WriteComment("<ColorEmptyTile>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorEmptyTileName != "") if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
writer.WriteElementString("ColorEmptyTile", _Theme.ColorEmptyTileName); writer.WriteElementString("ColorEmptyTile", _Theme.ColorEmptyTileName);
else else
{ {
@@ -225,7 +225,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Font>: Text font name"); writer.WriteComment("<Font>: Text font name");
writer.WriteElementString("Font", _Theme.NameFont); writer.WriteElementString("Font", _Theme.NameFont);
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
if (_Theme.NameColorName != "") if (!String.IsNullOrEmpty(_Theme.NameColorName))
writer.WriteElementString("Color", _Theme.NameColorName); writer.WriteElementString("Color", _Theme.NameColorName);
else else
{ {
@@ -350,7 +350,7 @@ namespace VocaluxeLib.Menu
public void HandleMouse(SMouseEvent mevent) 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)) if (CHelper.IsInBounds(_Tiles[i].Avatar.Rect, mevent))
{ {
@@ -465,10 +465,10 @@ namespace VocaluxeLib.Menu
_TextureEmptyTile = CBase.Theme.GetSkinTexture(_Theme.TextureEmptyTileName, _PartyModeID); _TextureEmptyTile = CBase.Theme.GetSkinTexture(_Theme.TextureEmptyTileName, _PartyModeID);
_TextureTileSelected = CBase.Theme.GetSkinTexture(_Theme.TextureTileSelectedName, _PartyModeID); _TextureTileSelected = CBase.Theme.GetSkinTexture(_Theme.TextureTileSelectedName, _PartyModeID);
if (_Theme.ColorEmptyTileName != "") if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTileName, _PartyModeID); ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTileName, _PartyModeID);
if (_Theme.NameColorName != "") if (!String.IsNullOrEmpty(_Theme.NameColorName))
_Theme.NameColor = CBase.Theme.GetColor(_Theme.NameColorName, _PartyModeID); _Theme.NameColor = CBase.Theme.GetColor(_Theme.NameColorName, _PartyModeID);
} }
@@ -488,8 +488,7 @@ namespace VocaluxeLib.Menu
for (int j = 0; j < _NumW; j++) 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); 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); CStatic tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect) {Aspect = EAspect.Crop};
tileStatic.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, 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, ""); _Theme.NameFont, _Theme.NameColor, "");
_Tiles.Add(new CTile(tileStatic, tileText, -1)); _Tiles.Add(new CTile(tileStatic, tileText, -1));
+13 -24
View File
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
{ {
@@ -45,11 +46,11 @@ namespace VocaluxeLib.Menu
#region private vars #region private vars
private readonly int _PartyModeID; private readonly int _PartyModeID;
private readonly string _TextureName; private readonly string _TextureName;
private readonly STexture _Texture; private readonly CTexture _Texture;
private SRectF _Rect; private SRectF _Rect;
private float _Size; private float _Size;
private SColorF _Color; private SColorF _Color;
private float _Alpha; private float _Alpha = 1;
private float _Angle; //0..360° private float _Angle; //0..360°
private readonly float _MaxAge; //[s] private readonly float _MaxAge; //[s]
private float _Age; //[s] private float _Age; //[s]
@@ -61,7 +62,7 @@ namespace VocaluxeLib.Menu
private float _LastTime; private float _LastTime;
private readonly EParticleType _Type; private readonly EParticleType _Type;
private readonly Stopwatch _Timer; private readonly Stopwatch _Timer = new Stopwatch();
#endregion private vars #endregion private vars
#region public vars #region public vars
@@ -115,26 +116,20 @@ namespace VocaluxeLib.Menu
{ {
_PartyModeID = partyModeID; _PartyModeID = partyModeID;
_TextureName = textureName; _TextureName = textureName;
_Texture = new STexture(-1);
_Color = color; _Color = color;
_Rect = new SRectF(x, y, size, size, z); _Rect = new SRectF(x, y, size, size, z);
_Size = size; _Size = size;
_Alpha = 1f;
_Angle = 0f;
_Vx = vx; _Vx = vx;
_Vy = vy; _Vy = vy;
_Vr = vr; _Vr = vr;
_Vsize = vsize; _Vsize = vsize;
_LastTime = 0f;
_Type = type; _Type = type;
_Timer = new Stopwatch();
_Age = 0f;
_MaxAge = maxage; _MaxAge = maxage;
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0); _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) EParticleType type)
{ {
_PartyModeID = partyModeID; _PartyModeID = partyModeID;
@@ -143,17 +138,12 @@ namespace VocaluxeLib.Menu
_Color = color; _Color = color;
_Rect = new SRectF(x, y, size, size, z); _Rect = new SRectF(x, y, size, size, z);
_Size = size; _Size = size;
_Alpha = 1f;
_Angle = 0f;
_Vx = vx; _Vx = vx;
_Vy = vy; _Vy = vy;
_Vr = vr; _Vr = vr;
_Vsize = vsize; _Vsize = vsize;
_LastTime = 0f;
_Type = type; _Type = type;
_Timer = new Stopwatch();
_Age = 0f;
_MaxAge = maxage; _MaxAge = maxage;
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0); _Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
} }
@@ -298,7 +288,7 @@ namespace VocaluxeLib.Menu
public void Draw() public void Draw()
{ {
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression // ReSharper disable ConvertIfStatementToConditionalTernaryExpression
if (_TextureName != "") if (!String.IsNullOrEmpty(_TextureName))
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression // ReSharper restore ConvertIfStatementToConditionalTernaryExpression
CBase.Drawing.DrawTexture(CBase.Theme.GetSkinTexture(_TextureName, _PartyModeID), _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha)); CBase.Drawing.DrawTexture(CBase.Theme.GetSkinTexture(_TextureName, _PartyModeID), _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha));
else else
@@ -312,7 +302,7 @@ namespace VocaluxeLib.Menu
private SThemeParticleEffect _Theme; private SThemeParticleEffect _Theme;
private bool _ThemeLoaded; private bool _ThemeLoaded;
public STexture Texture; public CTexture Texture;
public SColorF Color; public SColorF Color;
public SRectF Rect; public SRectF Rect;
@@ -356,7 +346,6 @@ namespace VocaluxeLib.Menu
Rect = rect; Rect = rect;
Color = color; Color = color;
_Theme.TextureName = textureName; _Theme.TextureName = textureName;
Texture = new STexture(-1);
_MaxNumber = maxNumber; _MaxNumber = maxNumber;
_Size = size; _Size = size;
_Type = type; _Type = type;
@@ -365,7 +354,7 @@ namespace VocaluxeLib.Menu
Visible = true; 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; _PartyModeID = partyModeID;
_Theme = new SThemeParticleEffect(); _Theme = new SThemeParticleEffect();
@@ -435,7 +424,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: ParticleEffect color from ColorScheme (high priority)"); writer.WriteComment("<Color>: ParticleEffect color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -546,7 +535,7 @@ namespace VocaluxeLib.Menu
h = 0; h = 0;
CParticle star; CParticle star;
if (_Theme.TextureName != "") if (!String.IsNullOrEmpty(_Theme.TextureName))
{ {
star = new CParticle(_PartyModeID, _Theme.TextureName, Color, star = new CParticle(_PartyModeID, _Theme.TextureName, Color,
CBase.Game.GetRandom(w) + Rect.X - size / 4f, CBase.Game.GetRandom(w) + Rect.X - size / 4f,
@@ -602,14 +591,14 @@ namespace VocaluxeLib.Menu
public void UnloadTextures() public void UnloadTextures()
{ {
Texture = new STexture(); Texture = null;
} }
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.TextureName != "") if (!String.IsNullOrEmpty(_Theme.TextureName))
Texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); Texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
} }
+5 -6
View File
@@ -21,7 +21,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using System.Xml; using System.Xml;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
@@ -373,7 +372,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ColorBackground>: Button color from ColorScheme (high priority)"); writer.WriteComment("<ColorBackground>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <BackgroundR>, <BackgroundG>, <BackgroundB>, <BackgroundA> (lower priority)"); writer.WriteComment("or <BackgroundR>, <BackgroundG>, <BackgroundB>, <BackgroundA> (lower priority)");
if (_Theme.ColorBackgroundName != "") if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
writer.WriteElementString("ColorBackground", _Theme.ColorBackgroundName); writer.WriteElementString("ColorBackground", _Theme.ColorBackgroundName);
else else
{ {
@@ -385,7 +384,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColorBackground>: Selected paylist-entry color from ColorScheme (high priority)"); writer.WriteComment("<SColorBackground>: Selected paylist-entry color from ColorScheme (high priority)");
writer.WriteComment("or <SBackgroundR>, <SBackgroundG>, <SBackgroundB>, <SBackgroundA> (lower priority)"); writer.WriteComment("or <SBackgroundR>, <SBackgroundG>, <SBackgroundB>, <SBackgroundA> (lower priority)");
if (_Theme.SelColorBackgroundName != "") if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
writer.WriteElementString("SColorBackground", _Theme.SelColorBackgroundName); writer.WriteElementString("SColorBackground", _Theme.SelColorBackgroundName);
else else
{ {
@@ -464,10 +463,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorBackgroundName != "") if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackgroundName, _PartyModeID); BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackgroundName, _PartyModeID);
if (_Theme.SelColorBackgroundName != "") if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackgroundName, _PartyModeID); BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackgroundName, _PartyModeID);
_Theme.Text1.LoadTextures(); _Theme.Text1.LoadTextures();
@@ -518,7 +517,7 @@ namespace VocaluxeLib.Menu
break; break;
case Keys.Delete: case Keys.Delete:
case Keys.Back: 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); _Theme.ButtonPlaylistName.Text.Text = _Theme.ButtonPlaylistName.Text.Text.Remove(_Theme.ButtonPlaylistName.Text.Text.Length - 1);
break; break;
} }
+2 -1
View File
@@ -19,6 +19,7 @@
using System; using System;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu 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); return CBase.Theme.GetSkinTexture(value, _PartyModeID);
} }
+32 -36
View File
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
{ {
@@ -110,7 +111,7 @@ namespace VocaluxeLib.Menu
private readonly List<string> _ValueNames; private readonly List<string> _ValueNames;
private readonly List<int> _ValuePartyModeIDs; private readonly List<int> _ValuePartyModeIDs;
private readonly List<STexture> _Textures; private readonly List<CTexture> _Textures;
private readonly List<int> _ValueIndexes; private readonly List<int> _ValueIndexes;
private readonly List<SRectF> _ValueBounds = new List<SRectF>(); private readonly List<SRectF> _ValueBounds = new List<SRectF>();
@@ -178,7 +179,7 @@ namespace VocaluxeLib.Menu
MaxW = 0f; MaxW = 0f;
_Selected = false; _Selected = false;
_Textures = new List<STexture>(); _Textures = new List<CTexture>();
_ValueIndexes = new List<int>(); _ValueIndexes = new List<int>();
_ValueNames = new List<string>(); _ValueNames = new List<string>();
_ValuePartyModeIDs = new List<int>(); _ValuePartyModeIDs = new List<int>();
@@ -226,7 +227,7 @@ namespace VocaluxeLib.Menu
MaxW = slide.MaxW; MaxW = slide.MaxW;
_Selected = slide._Selected; _Selected = slide._Selected;
_Textures = new List<STexture>(slide._Textures); _Textures = new List<CTexture>(slide._Textures);
_ValueIndexes = new List<int>(slide._ValueIndexes); _ValueIndexes = new List<int>(slide._ValueIndexes);
_ValueNames = new List<string>(slide._ValueNames); _ValueNames = new List<string>(slide._ValueNames);
_ValueBounds = new List<SRectF>(slide._ValueBounds); _ValueBounds = new List<SRectF>(slide._ValueBounds);
@@ -411,7 +412,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: SelectSlide color from ColorScheme (high priority)"); writer.WriteComment("<Color>: SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -423,7 +424,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected SelectSlide color from ColorScheme (high priority)"); writer.WriteComment("<SColor>: Selected SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)"); writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName); writer.WriteElementString("SColor", _Theme.SelColorName);
else else
{ {
@@ -435,7 +436,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)"); writer.WriteComment("<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <HR>, <HG>, <HB>, <HA> (lower priority)"); writer.WriteComment("or <HR>, <HG>, <HB>, <HA> (lower priority)");
if (_Theme.HighlightColorName != "") if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
writer.WriteElementString("HColor", _Theme.HighlightColorName); writer.WriteElementString("HColor", _Theme.HighlightColorName);
else else
{ {
@@ -447,7 +448,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ArrowColor>: Arrow color from ColorScheme (high priority)"); writer.WriteComment("<ArrowColor>: Arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)"); writer.WriteComment("or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)");
if (_Theme.ArrowColorName != "") if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
writer.WriteElementString("ArrowColor", _Theme.ArrowColorName); writer.WriteElementString("ArrowColor", _Theme.ArrowColorName);
else else
{ {
@@ -459,7 +460,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ArrowSColor>: Selected arrow color from ColorScheme (high priority)"); writer.WriteComment("<ArrowSColor>: Selected arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)"); writer.WriteComment("or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)");
if (_Theme.SelArrowColorName != "") if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
writer.WriteElementString("ArrowSColor", _Theme.SelArrowColorName); writer.WriteElementString("ArrowSColor", _Theme.SelArrowColorName);
else else
{ {
@@ -471,7 +472,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<TextColor>: Text color from ColorScheme (high priority)"); writer.WriteComment("<TextColor>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)"); writer.WriteComment("or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)");
if (_Theme.TextColorName != "") if (!String.IsNullOrEmpty(_Theme.TextColorName))
writer.WriteElementString("TextColor", _Theme.TextColorName); writer.WriteElementString("TextColor", _Theme.TextColorName);
else else
{ {
@@ -483,7 +484,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<TextSColor>: Selected text color from ColorScheme (high priority)"); writer.WriteComment("<TextSColor>: Selected text color from ColorScheme (high priority)");
writer.WriteComment("or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)"); writer.WriteComment("or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)");
if (_Theme.SelTextColorName != "") if (!String.IsNullOrEmpty(_Theme.SelTextColorName))
writer.WriteElementString("TextSColor", _Theme.SelTextColorName); writer.WriteElementString("TextSColor", _Theme.SelTextColorName);
else else
{ {
@@ -530,20 +531,20 @@ namespace VocaluxeLib.Menu
public void AddValue(string value, int partyModeID) 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); 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); 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); _ValueNames.Add(value);
_Textures.Add(texture); _Textures.Add(texture);
@@ -559,12 +560,12 @@ namespace VocaluxeLib.Menu
public void AddValues(IEnumerable<string> values) public void AddValues(IEnumerable<string> values)
{ {
foreach (string value in values) foreach (string value in values)
_AddValue(value, new STexture(-1), _PartyModeID); _AddValue(value, null, _PartyModeID);
_ValueBounds.Clear(); _ValueBounds.Clear();
} }
public void AddValues(string[] values, STexture[] textures) public void AddValues(string[] values, CTexture[] textures)
{ {
if (values.Length != textures.Length) if (values.Length != textures.Length)
return; return;
@@ -588,12 +589,7 @@ namespace VocaluxeLib.Menu
RenameValue(Selection, newName); RenameValue(Selection, newName);
} }
public void RenameValue(int selection, string newName) public void RenameValue(int selection, string newName, CTexture newTexture = null)
{
RenameValue(selection, newName, new STexture(-1));
}
public void RenameValue(int selection, string newName, STexture newTexture)
{ {
if (selection < 0 && selection >= _ValueNames.Count) if (selection < 0 && selection >= _ValueNames.Count)
return; return;
@@ -696,15 +692,15 @@ namespace VocaluxeLib.Menu
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme) if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme)
return; return;
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
STexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID); CTexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID);
STexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID); CTexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID);
STexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID); CTexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
STexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID); CTexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID);
STexture selTextureArrowRight = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowRightName, _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) if (Selected)
{ {
@@ -791,25 +787,25 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID); SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (_Theme.HighlightColorName != "") if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
HighlightColor = CBase.Theme.GetColor(_Theme.HighlightColorName, _PartyModeID); HighlightColor = CBase.Theme.GetColor(_Theme.HighlightColorName, _PartyModeID);
if (_Theme.ArrowColorName != "") if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColorName, _PartyModeID); ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColorName, _PartyModeID);
if (_Theme.SelArrowColorName != "") if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
SelColorArrow = CBase.Theme.GetColor(_Theme.SelArrowColorName, _PartyModeID); SelColorArrow = CBase.Theme.GetColor(_Theme.SelArrowColorName, _PartyModeID);
if (_Theme.TextColorName != "") if (!String.IsNullOrEmpty(_Theme.TextColorName))
TextColor = CBase.Theme.GetColor(_Theme.TextColorName, _PartyModeID); TextColor = CBase.Theme.GetColor(_Theme.TextColorName, _PartyModeID);
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelTextColor = CBase.Theme.GetColor(_Theme.SelTextColorName, _PartyModeID); SelTextColor = CBase.Theme.GetColor(_Theme.SelTextColorName, _PartyModeID);
} }
+12 -45
View File
@@ -20,6 +20,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu namespace VocaluxeLib.Menu
{ {
@@ -42,10 +43,10 @@ namespace VocaluxeLib.Menu
return _Theme.Name; return _Theme.Name;
} }
private STexture _Texture; private CTexture _Texture;
public STexture 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; } set { _Texture = value; }
} }
@@ -58,35 +59,20 @@ namespace VocaluxeLib.Menu
public float ReflectionHeight; public float ReflectionHeight;
public bool Selected; public bool Selected;
public bool Visible; public bool Visible = true;
public float Alpha; public float Alpha = 1;
public EAspect Aspect = EAspect.Stretch; public EAspect Aspect = EAspect.Stretch;
public CStatic(int partyModeID) public CStatic(int partyModeID)
{ {
_PartyModeID = 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) public CStatic(CStatic s)
{ {
_PartyModeID = s._PartyModeID; _PartyModeID = s._PartyModeID;
_Theme = new SThemeStatic();
_ThemeLoaded = false;
_Texture = s.Texture; _Texture = s.Texture;
Color = new SColorF(s.Color); Color = new SColorF(s.Color);
@@ -100,40 +86,21 @@ namespace VocaluxeLib.Menu
Visible = s.Visible; 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; _PartyModeID = partyModeID;
_Theme = new SThemeStatic();
_ThemeLoaded = false;
_Texture = texture; _Texture = texture;
Color = color; Color = color;
Rect = rect; Rect = rect;
Reflection = false;
ReflectionSpace = 0f;
ReflectionHeight = 0f;
Selected = false;
Alpha = 1f;
Visible = true;
} }
public CStatic(int partyModeID, string textureSkinName, SColorF color, SRectF rect) public CStatic(int partyModeID, string textureSkinName, SColorF color, SRectF rect)
{ {
_PartyModeID = partyModeID; _PartyModeID = partyModeID;
_Theme = new SThemeStatic {TextureName = textureSkinName}; _Theme.TextureName = textureSkinName;
_ThemeLoaded = false;
_Texture = new STexture(-1);
Color = color; Color = color;
Rect = rect; 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) 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("<Color>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -238,7 +205,7 @@ namespace VocaluxeLib.Menu
public void Draw(float scale, float z, EAspect aspect, bool forceDraw = false) 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( SRectF bounds = new SRectF(
Rect.X - Rect.W * (scale - 1f), 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 bounds2 = new RectangleF(bounds.X, bounds.Y, bounds.W, bounds.H);
RectangleF rect2; 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.X = rect2.X;
rect.Y = rect2.Y; rect.Y = rect2.Y;
@@ -277,7 +244,7 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
} }
+7 -7
View File
@@ -169,7 +169,7 @@ namespace VocaluxeLib.Menu
} }
/// <summary> /// <summary>
/// Do NOT read/write this anywhere but in _UpdateTextPosition! /// Do NOT read/write this anywhere but in _UpdateTextPosition!
/// </summary> /// </summary>
private SRectF _Rect; private SRectF _Rect;
public SRectF Rect public SRectF Rect
@@ -396,7 +396,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -408,7 +408,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected Text color from ColorScheme (high priority)"); writer.WriteComment("<SColor>: Selected Text color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)"); writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName); writer.WriteElementString("SColor", _Theme.SelColorName);
else else
{ {
@@ -499,8 +499,8 @@ namespace VocaluxeLib.Menu
public void DrawRelative(float rx, float ry, float reflectionHeight = 0f, float reflectionSpace = 0f, float rectHeight = 0f) public void DrawRelative(float rx, float ry, float reflectionHeight = 0f, float reflectionSpace = 0f, float rectHeight = 0f)
{ {
var oldReflectionSpace = ReflectionSpace; float oldReflectionSpace = ReflectionSpace;
var oldReflectionHeight = ReflectionHeight; float oldReflectionHeight = ReflectionHeight;
if (reflectionHeight > 0) if (reflectionHeight > 0)
{ {
ReflectionSpace = (rectHeight - Rect.Y - Rect.H) * 2 + reflectionSpace; ReflectionSpace = (rectHeight - Rect.Y - Rect.H) * 2 + reflectionSpace;
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures() public void LoadTextures()
{ {
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "") if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID); SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
} }
-11
View File
@@ -17,17 +17,6 @@
// */ // */
#endregion #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 namespace VocaluxeLib.Menu
{ {
public interface IMenu public interface IMenu
+26 -36
View File
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu.SingNotes namespace VocaluxeLib.Menu.SingNotes
@@ -386,9 +386,7 @@ namespace VocaluxeLib.Menu.SingNotes
_PlayerNotes[n].Rect.Z _PlayerNotes[n].Rect.Z
); );
float f = 0.7f; float f = (note.Hit) ? 0.7f : 0.4f;
if (!note.Hit)
f = 0.4f;
_DrawNote(rect, color, f); _DrawNote(rect, color, f);
@@ -471,39 +469,31 @@ namespace VocaluxeLib.Menu.SingNotes
private void _DrawNote(SRectF rect, SColorF color, float factor = 1f) 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 dh = (1f - factor) * rect.H / 2;
float dw = d; float dw = Math.Min(dh, rect.W / 2);
if (2 * dw > rect.W) SRectF noteRect = new SRectF(rect.X + dw, rect.Y + dh, rect.W - 2 * dw, rect.H - 2 * dh, rect.Z);
dw = rect.W / 2;
SRectF r = new SRectF( CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
rect.X + dw + spacing, CTexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID);
rect.Y + d + spacing, CTexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID);
rect.W - 2 * dw - 2 * spacing,
rect.H - 2 * d - 2 * spacing,
rect.Z
);
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID); //Width of each of the ends (round parts)
STexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID); //Need 2 of them so use minimum
STexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID); float endsW = Math.Min(noteRect.H * noteBegin.OrigAspect, noteRect.W / 2);
float dx = noteBegin.Width * r.H / noteBegin.Height; CBase.Drawing.DrawTexture(noteBegin, new SRectF(noteRect.X, noteRect.Y, endsW, noteRect.H, noteRect.Z), color);
if (2 * dx > r.W)
dx = r.W / 2;
SRectF middleRect = new SRectF(noteRect.X + endsW, noteRect.Y, noteRect.W - 2 * endsW, noteRect.H, noteRect.Z);
CBase.Drawing.DrawTexture(noteBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), color); if (noteRect.W >= 4 * endsW)
CBase.Drawing.DrawTexture(noteMiddle, middleRect, 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);
else 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) private void _DrawNoteBG(SRectF rect, SColorF color, float factor, Stopwatch timer)
@@ -534,11 +524,11 @@ namespace VocaluxeLib.Menu.SingNotes
rect.Z rect.Z
); );
STexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID); CTexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID);
STexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID); CTexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID);
STexture noteBackgroundEnd = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName, _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) if (2 * dx > r.W)
dx = r.W / 2; dx = r.W / 2;
@@ -629,8 +619,8 @@ namespace VocaluxeLib.Menu.SingNotes
rect.Z rect.Z
); );
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID); CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
float dx = noteBegin.Width * r.H / noteBegin.Height; float dx = r.H * noteBegin.OrigAspect;
if (2 * dx > r.W) if (2 * dx > r.W)
dx = r.W / 2; dx = r.W / 2;
@@ -686,7 +676,7 @@ namespace VocaluxeLib.Menu.SingNotes
_PlayerNotes[n].Color.B, _PlayerNotes[n].Color.B,
_PlayerNotes[n].Color.A * _PlayerNotes[n].Alpha); _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); CBase.Drawing.DrawTexture(toneHelper, drawRect, color);
+17 -14
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Xml; using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes; using VocaluxeLib.PartyModes;
namespace VocaluxeLib.Menu.SongMenu namespace VocaluxeLib.Menu.SongMenu
@@ -104,7 +105,7 @@ namespace VocaluxeLib.Menu.SongMenu
private readonly List<int> _Streams = new List<int>(); private readonly List<int> _Streams = new List<int>();
private int _Actsong = -1; private int _Actsong = -1;
private int _Actsongstream = -1; private int _Actsongstream = -1;
protected STexture _Vidtex = new STexture(-1); protected CTexture _Vidtex;
protected bool _Initialized; protected bool _Initialized;
protected int _LastKnownNumSongs; protected int _LastKnownNumSongs;
@@ -351,7 +352,7 @@ namespace VocaluxeLib.Menu.SongMenu
writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)"); writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)"); writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName); writer.WriteElementString("Color", _Theme.ColorName);
else else
{ {
@@ -438,19 +439,21 @@ namespace VocaluxeLib.Menu.SongMenu
if (_Actsong != _PreviewSelected) if (_Actsong != _PreviewSelected)
_SelectSong(_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;
CBase.Video.Close(_Video); return;
_Video = -1; }
return;
}
float time = CBase.Sound.GetPosition(_Actsongstream); float time = CBase.Sound.GetPosition(_Actsongstream);
float vtime; float vtime;
CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime); if (CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime))
{
if (_VideoFadeTimer.ElapsedMilliseconds <= 3000L) if (_VideoFadeTimer.ElapsedMilliseconds <= 3000L)
_Vidtex.Color.A = _VideoFadeTimer.ElapsedMilliseconds / 3000f; _Vidtex.Color.A = _VideoFadeTimer.ElapsedMilliseconds / 3000f;
else else
@@ -464,7 +467,7 @@ namespace VocaluxeLib.Menu.SongMenu
public virtual void OnShow() public virtual void OnShow()
{ {
_Actsongstream = -1; _Actsongstream = -1;
_Vidtex = new STexture(-1); _Vidtex = null;
} }
public virtual void OnHide() public virtual void OnHide()
@@ -546,7 +549,7 @@ namespace VocaluxeLib.Menu.SongMenu
{ {
Init(); Init();
if (_Theme.ColorName != "") if (!String.IsNullOrEmpty(_Theme.ColorName))
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID); _Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
} }
+10 -10
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes; using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
@@ -38,8 +39,8 @@ namespace VocaluxeLib.Menu.SongMenu
private CStatic _MedleyCalcIcon; private CStatic _MedleyCalcIcon;
private CStatic _MedleyTagIcon; private CStatic _MedleyTagIcon;
private STexture _CoverBigTexture; private CTexture _CoverBigTexture;
private STexture _CoverTexture; private CTexture _CoverTexture;
private CText _Artist; private CText _Artist;
private CText _Title; private CText _Title;
@@ -323,7 +324,7 @@ namespace VocaluxeLib.Menu.SongMenu
{ {
foreach (CStatic tile in _Tiles) 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()) if (mouseEvent.LB || !CBase.Songs.IsInCategory())
{ {
@@ -371,7 +372,7 @@ namespace VocaluxeLib.Menu.SongMenu
{ {
foreach (CStatic tile in _Tiles) 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); _EnterCategory(_PreviewSelected);
mouseEvent.Handled = true; mouseEvent.Handled = true;
@@ -394,7 +395,7 @@ namespace VocaluxeLib.Menu.SongMenu
else else
{ {
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression // ReSharper disable ConvertIfStatementToConditionalTernaryExpression
if (tile.Texture.Index != _CoverTexture.Index) if (tile.Texture != _CoverTexture)
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression // ReSharper restore ConvertIfStatementToConditionalTernaryExpression
tile.Draw(1f, tile.Rect.Z, EAspect.Crop); tile.Draw(1f, tile.Rect.Z, EAspect.Crop);
else else
@@ -453,18 +454,17 @@ namespace VocaluxeLib.Menu.SongMenu
_TextBG.Draw(); _TextBG.Draw();
if (_Vidtex != null && _Video != -1)
if (_Vidtex.Index != -1 && _Video != -1)
{ {
if (_Vidtex.Color.A < 1) if (_Vidtex.Color.A < 1)
_CoverBig.Draw(1f, EAspect.Crop); _CoverBig.Draw(1f, EAspect.Crop);
RectangleF bounds = new RectangleF(_CoverBig.Rect.X, _CoverBig.Rect.Y, _CoverBig.Rect.W, _CoverBig.Rect.H); 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); RectangleF rect;
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop); 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 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); 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); CBase.Drawing.DrawTextureReflection(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds, _CoverBig.ReflectionSpace, _CoverBig.ReflectionHeight);
} }
else else
+11
View File
@@ -25,6 +25,7 @@ namespace VocaluxeLib.PartyModes
{ {
public abstract class CPartyMode : IPartyMode public abstract class CPartyMode : IPartyMode
{ {
protected string _Folder;
protected SScreenSongOptions _ScreenSongOptions; protected SScreenSongOptions _ScreenSongOptions;
protected readonly Dictionary<string, CMenuParty> _Screens; protected readonly Dictionary<string, CMenuParty> _Screens;
@@ -101,6 +102,16 @@ namespace VocaluxeLib.PartyModes
return 1; 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 SetSearchString(string searchString, bool visible) {}
public virtual void JokerUsed(int teamNr) public virtual void JokerUsed(int teamNr)
-1
View File
@@ -18,7 +18,6 @@
#endregion #endregion
using System; using System;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes namespace VocaluxeLib.PartyModes
{ {
+2
View File
@@ -104,6 +104,8 @@ namespace VocaluxeLib.PartyModes
int GetMaxTeams(); int GetMaxTeams();
int GetMinTeams(); int GetMinTeams();
int GetMaxNumRounds(); int GetMaxNumRounds();
string GetFolder();
void SetFolder(string folder);
void SetSearchString(string searchString, bool visible); void SetSearchString(string searchString, bool visible);
+28 -19
View File
@@ -1,40 +1,49 @@
using System; #region license
using System.Collections.Generic; // /*
using System.Linq; // This file is part of Vocaluxe.
using System.Text; //
// 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 namespace VocaluxeLib.Profile
{ {
public class CAvatar public class CAvatar
{ {
public int ID; public int ID;
public string FileName; public string FileName = "";
public STexture Texture; public CTexture Texture;
public CAvatar(int ID) public CAvatar(int id)
{ {
this.ID = ID; ID = id;
FileName = String.Empty;
Texture = new STexture(-1);
} }
public bool LoadFromFile(string NewFileName) public bool LoadFromFile(string fileName)
{ {
FileName = NewFileName; FileName = fileName;
CBase.Drawing.RemoveTexture(ref Texture); return Reload();
Texture = CBase.Drawing.AddTexture(FileName);
return (Texture.Index != -1);
} }
public bool Reload() public bool Reload()
{ {
STexture oldTexture = Texture; CBase.Drawing.RemoveTexture(ref Texture);
Texture = CBase.Drawing.AddTexture(FileName); Texture = CBase.Drawing.AddTexture(FileName);
CBase.Drawing.RemoveTexture(ref oldTexture);
return Texture.Index != -1; return Texture != null;
} }
public void Unload() public void Unload()
+25 -6
View File
@@ -1,7 +1,24 @@
using System; #region license
using System.Collections.Generic; // /*
// 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.IO;
using System.Linq;
using System.Text; using System.Text;
using System.Xml; using System.Xml;
@@ -9,7 +26,7 @@ namespace VocaluxeLib.Profile
{ {
public class CProfile public class CProfile
{ {
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings() private static readonly XmlWriterSettings _Settings = new XmlWriterSettings
{ {
Indent = true, Indent = true,
Encoding = Encoding.UTF8, Encoding = Encoding.UTF8,
@@ -55,9 +72,9 @@ namespace VocaluxeLib.Profile
return LoadProfile(FileName); return LoadProfile(FileName);
} }
public bool LoadProfile(string NewFileName) public bool LoadProfile(string fileName)
{ {
FileName = NewFileName; FileName = fileName;
CXMLReader xmlReader = CXMLReader.OpenFile(FileName); CXMLReader xmlReader = CXMLReader.OpenFile(FileName);
if (xmlReader == null) if (xmlReader == null)
@@ -85,7 +102,9 @@ namespace VocaluxeLib.Profile
if (FileName == String.Empty) if (FileName == String.Empty)
{ {
string filename = string.Empty; string filename = string.Empty;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (char chr in PlayerName) foreach (char chr in PlayerName)
// ReSharper restore LoopCanBeConvertedToQuery
{ {
if (char.IsLetter(chr)) if (char.IsLetter(chr))
filename += chr.ToString(); filename += chr.ToString();
+8 -10
View File
@@ -18,16 +18,15 @@
#endregion #endregion
using System.Collections.Generic; using System.Collections.Generic;
using VocaluxeLib; using VocaluxeLib.Draw;
namespace VocaluxeLib.Songs namespace VocaluxeLib.Songs
{ {
public class CCategory public class CCategory
{ {
public readonly string Name; public readonly string Name;
private STexture _CoverTextureSmall = new STexture(-1); private CTexture _CoverTextureSmall;
private STexture _CoverTextureBig = new STexture(-1); private CTexture _CoverTextureBig;
private bool _CoverBigLoaded;
public readonly List<CSongPointer> Songs = new List<CSongPointer>(); public readonly List<CSongPointer> Songs = new List<CSongPointer>();
public CCategory(string name) public CCategory(string name)
@@ -35,26 +34,25 @@ namespace VocaluxeLib.Songs
Name = name; Name = name;
} }
public STexture CoverTextureSmall public CTexture CoverTextureSmall
{ {
get { return _CoverTextureSmall; } get { return _CoverTextureSmall; }
set { _CoverTextureSmall = value; } set { _CoverTextureSmall = value; }
} }
public STexture CoverTextureBig public CTexture CoverTextureBig
{ {
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; } get { return _CoverTextureBig ?? _CoverTextureSmall; }
set set
{ {
if (value.Index == -1) if (value == null)
return; return;
_CoverTextureBig = value; _CoverTextureBig = value;
_CoverBigLoaded = true;
} }
} }
public CCategory(string name, STexture coverSmall, STexture coverBig) public CCategory(string name, CTexture coverSmall, CTexture coverBig)
{ {
Name = name; Name = name;
CoverTextureSmall = coverSmall; CoverTextureSmall = coverSmall;
+12 -26
View File
@@ -20,8 +20,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Songs namespace VocaluxeLib.Songs
{ {
@@ -68,10 +70,8 @@ namespace VocaluxeLib.Songs
public class CSong public class CSong
{ {
private bool _CoverSmallLoaded; private CTexture _CoverTextureSmall;
private bool _CoverBigLoaded; private CTexture _CoverTextureBig;
private STexture _CoverTextureSmall = new STexture(-1);
private STexture _CoverTextureBig = new STexture(-1);
public SMedley Medley; public SMedley Medley;
@@ -95,30 +95,22 @@ namespace VocaluxeLib.Songs
public bool NotesLoaded { get; private set; } public bool NotesLoaded { get; private set; }
public STexture CoverTextureSmall public CTexture CoverTextureSmall
{ {
get get
{ {
if (!_CoverSmallLoaded) if (_CoverTextureSmall == null)
LoadSmallCover(); LoadSmallCover();
return _CoverTextureSmall; return _CoverTextureSmall;
} }
set set { _CoverTextureSmall = value; }
{
_CoverTextureSmall = value;
_CoverSmallLoaded = true;
}
} }
public STexture CoverTextureBig public CTexture CoverTextureBig
{ {
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; } get { return _CoverTextureBig ?? _CoverTextureSmall; }
set set { _CoverTextureBig = value; }
{
_CoverTextureBig = value;
_CoverBigLoaded = true;
}
} }
public string Title = String.Empty; public string Title = String.Empty;
@@ -213,8 +205,6 @@ namespace VocaluxeLib.Songs
VideoFileName = song.VideoFileName; VideoFileName = song.VideoFileName;
VideoAspect = song.VideoAspect; VideoAspect = song.VideoAspect;
_CoverSmallLoaded = song._CoverSmallLoaded;
_CoverBigLoaded = song._CoverBigLoaded;
NotesLoaded = song.NotesLoaded; NotesLoaded = song.NotesLoaded;
Artist = song.Artist; Artist = song.Artist;
@@ -749,7 +739,7 @@ namespace VocaluxeLib.Songs
public void LoadSmallCover() public void LoadSmallCover()
{ {
if (_CoverSmallLoaded) if (_CoverTextureSmall != null)
return; return;
if (CoverFileName != "") if (CoverFileName != "")
{ {
@@ -758,8 +748,6 @@ namespace VocaluxeLib.Songs
} }
else else
_CoverTextureSmall = CBase.Cover.GetNoCover(); _CoverTextureSmall = CBase.Cover.GetNoCover();
_CoverSmallLoaded = true;
} }
private void _CheckFiles() private void _CheckFiles()
@@ -818,9 +806,7 @@ namespace VocaluxeLib.Songs
return null; return null;
// build sentences list // build sentences list
List<string> sentences = new List<string>(); List<string> sentences = voice.Lines.Select(line => line.Points != 0 ? line.Lyrics : String.Empty).ToList();
foreach (CLine line in voice.Lines)
sentences.Add(line.Points != 0 ? line.Lyrics : String.Empty);
// find equal sentences series // find equal sentences series
List<SSeries> series = new List<SSeries>(); List<SSeries> series = new List<SSeries>();
-39
View File
@@ -99,45 +99,6 @@ namespace VocaluxeLib
public int Y; public int Y;
public int Z; 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 #endregion Drawing
#region Inputs #region Inputs
+1
View File
@@ -131,6 +131,7 @@
<Compile Include="Menu\CStatic.cs" /> <Compile Include="Menu\CStatic.cs" />
<Compile Include="Menu\CText.cs" /> <Compile Include="Menu\CText.cs" />
<Compile Include="Menu\CScreenSetting.cs" /> <Compile Include="Menu\CScreenSetting.cs" />
<Compile Include="Draw\CTexture.cs" />
<Compile Include="CXMLReader.cs" /> <Compile Include="CXMLReader.cs" />
<Compile Include="Enums.cs" /> <Compile Include="Enums.cs" />
<Compile Include="Menu\IMenu.cs" /> <Compile Include="Menu\IMenu.cs" />