From dbe444f87b85da27a37f38e80bfd540178b8dde0 Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Wed, 1 Sep 2010 14:09:58 +0000 Subject: - fix: position of player 3 and 4 in 4-player-mode on one screen in singscreen - fix: scorescreen for 4-player-mode on one screen - add: tag #CALCMEDLEY:Off => disable calculation of medley for that song - add: sorting RANDOM for party-modes - add: ShuffleMode FULL (play whole file) in fullscreen if video available - add: it possible to select the 2 songs left and right of the random selected song in party mode - add: num song in in party options (in the selected folder/playlist) - fix: dont change line in editor while playing only one line - removed option solmization from lyric option screen - add: play last sung song in party score screen - added some plugins (thx to MasterPhW) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2629 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/UDraw.pas | 20 +- Game/Code/Classes/UFiles.pas | 50 ++- Game/Code/Classes/UIni.pas | 14 +- Game/Code/Classes/UParty.pas | 9 +- Game/Code/Classes/UPlaylist.pas | 38 +- Game/Code/Classes/USongs.pas | 63 ++- Game/Code/Classes/UThemes.pas | 49 +-- Game/Code/Screens/UScreenEditSub.pas | 49 ++- Game/Code/Screens/UScreenMain.pas | 9 + Game/Code/Screens/UScreenOptionsLyrics.pas | 11 +- Game/Code/Screens/UScreenPartyOptions.pas | 22 +- Game/Code/Screens/UScreenPartyOptionsM2.pas | 10 +- Game/Code/Screens/UScreenPartyScore.pas | 209 ++++++++- Game/Code/Screens/UScreenScore.pas | 168 +++++--- Game/Code/Screens/UScreenSing.pas | 3 +- Game/Code/Screens/UScreenSingModi.pas | 3 +- Game/Code/Screens/UScreenSong.pas | 171 +++++--- Game/Code/Screens/UScreenSongMenu.pas | 18 + Game/Code/UltraStar.bdsproj | 3 +- Game/Code/UltraStar.dpr | 2 +- Game/Output/Languages/Dutch.ini | 45 ++ Game/Output/Languages/English.ini | 45 ++ Game/Output/Languages/German.ini | 45 ++ Game/Output/Languages/Italian.ini | 45 ++ Game/Output/Languages/Languages.xls | Bin 205312 -> 211968 bytes Game/Output/Plugins/AtLeast3500.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/AtLeast5000.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/AtLeast7500.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/Blind_NoScore.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/Blind_NoScore2.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/DuellBlindScore.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/Erreich7000.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/Handicap.dll | Bin 0 -> 15360 bytes Game/Output/Plugins/Handicap2.dll | Bin 0 -> 113152 bytes Game/Output/Plugins/Joker.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/Line-Bonus.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/MehrAls500.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/More2000.dll | Bin 0 -> 15360 bytes Game/Output/Plugins/More3000.dll | Bin 0 -> 15360 bytes Game/Output/Plugins/MoreThan1000.dll | Bin 0 -> 113152 bytes Game/Output/Plugins/Pkziel3000.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/PremioCastigo.dll | Bin 0 -> 15360 bytes Game/Output/Plugins/PunkteB5000.dll | Bin 0 -> 14848 bytes Game/Output/Plugins/RandomPoints.dll | Bin 0 -> 115712 bytes Game/Output/Plugins/Regula.dll | Bin 0 -> 15360 bytes Game/Output/Plugins/Ziel.dll | Bin 0 -> 15360 bytes Game/Output/Themes/Blue Sensation.ini | 645 ++++++++++++++++++++++++++++ Game/Output/Themes/Deluxe.ini | 645 ++++++++++++++++++++++++++++ Game/Output/Themes/iStar.ini | 645 ++++++++++++++++++++++++++++ 49 files changed, 2811 insertions(+), 225 deletions(-) create mode 100644 Game/Output/Plugins/AtLeast3500.dll create mode 100644 Game/Output/Plugins/AtLeast5000.dll create mode 100644 Game/Output/Plugins/AtLeast7500.dll create mode 100644 Game/Output/Plugins/Blind_NoScore.dll create mode 100644 Game/Output/Plugins/Blind_NoScore2.dll create mode 100644 Game/Output/Plugins/DuellBlindScore.dll create mode 100644 Game/Output/Plugins/Erreich7000.dll create mode 100644 Game/Output/Plugins/Handicap.dll create mode 100644 Game/Output/Plugins/Handicap2.dll create mode 100644 Game/Output/Plugins/Joker.dll create mode 100644 Game/Output/Plugins/Line-Bonus.dll create mode 100644 Game/Output/Plugins/MehrAls500.dll create mode 100644 Game/Output/Plugins/More2000.dll create mode 100644 Game/Output/Plugins/More3000.dll create mode 100644 Game/Output/Plugins/MoreThan1000.dll create mode 100644 Game/Output/Plugins/Pkziel3000.dll create mode 100644 Game/Output/Plugins/PremioCastigo.dll create mode 100644 Game/Output/Plugins/PunkteB5000.dll create mode 100644 Game/Output/Plugins/RandomPoints.dll create mode 100644 Game/Output/Plugins/Regula.dll create mode 100644 Game/Output/Plugins/Ziel.dll (limited to 'Game') diff --git a/Game/Code/Classes/UDraw.pas b/Game/Code/Classes/UDraw.pas index ad4ecae7..38e94482 100644 --- a/Game/Code/Classes/UDraw.pas +++ b/Game/Code/Classes/UDraw.pas @@ -1021,8 +1021,8 @@ begin SingDrawCzesc(400+NR.Left + 20, Skin_P1_NotesB, 400+NR.Right - 20, 0, 15, Alpha[0]); SingDrawCzesc(400+NR.Left + 20, Skin_P2_NotesB, 400+NR.Right - 20, 0, 15, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P1_NotesB, 400+Nr.Width - 40, 0, 2, 15, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P2_NotesB, 400+Nr.Width - 40, 0, 3, 15, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P1_NotesB, Nr.Width - 40, 0, 2, 15, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P2_NotesB, Nr.Width - 40, 0, 3, 15, Alpha[0]); end; end; @@ -1071,9 +1071,9 @@ begin SingDrawCzesc(400+NR.Left + 20, 245+95, 400+NR.Right - 20, 0, 12, Alpha[0]); SingDrawCzesc(400+NR.Left + 20, 370+95, 400+NR.Right - 20, 0, 12, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 120+95, 400+Nr.Width - 40, 0, 3, 12, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 245+95, 400+Nr.Width - 40, 0, 4, 12, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 370+95, 400+Nr.Width - 40, 0, 5, 12, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 120+95, Nr.Width - 40, 0, 3, 12, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 245+95, Nr.Width - 40, 0, 4, 12, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 370+95, Nr.Width - 40, 0, 5, 12, Alpha[0]); end; end; end; @@ -1148,8 +1148,8 @@ begin SingDrawCzesc(400+NR.Left + 20, Skin_P1_NotesB, 400+NR.Right - 20, 0, 15, Alpha[0]); SingDrawCzesc(400+NR.Left + 20, Skin_P2_NotesB, 400+NR.Right - 20, 1, 15, Alpha[1]); - SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P1_NotesB, 400+Nr.Width - 40, 0, 2, 15, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P2_NotesB, 400+Nr.Width - 40, 1, 3, 15, Alpha[1]); + SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P1_NotesB, Nr.Width - 40, 0, 2, 15, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, Skin_P2_NotesB, Nr.Width - 40, 1, 3, 15, Alpha[1]); end; end; @@ -1193,9 +1193,9 @@ begin SingDrawCzesc(400+NR.Left + 20, 245+95, 400+NR.Right - 20, 1, 12, Alpha[1]); SingDrawCzesc(400+NR.Left + 20, 370+95, 400+NR.Right - 20, 0, 12, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 120+95, 400+Nr.Width - 40, 0, 3, 12, Alpha[0]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 245+95, 400+Nr.Width - 40, 1, 4, 12, Alpha[1]); - SingDrawPlayerCzesc(400+Nr.Left + 20, 370+95, 400+Nr.Width - 40, 0, 5, 12, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 120+95, Nr.Width - 40, 0, 3, 12, Alpha[0]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 245+95, Nr.Width - 40, 1, 4, 12, Alpha[1]); + SingDrawPlayerCzesc(400+Nr.Left + 20, 370+95, Nr.Width - 40, 0, 5, 12, Alpha[0]); end; end; end; diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas index 16ff7c63..2b051353 100644 --- a/Game/Code/Classes/UFiles.pas +++ b/Game/Code/Classes/UFiles.pas @@ -133,6 +133,7 @@ begin SetLength(Song.Edition, 1); Song.Edition[0] := 'Unknown'; Song.Language := 'Unknown'; //Language Patch + Song.Year := ''; //Required Information Song.Mp3 := ''; @@ -152,8 +153,12 @@ begin Song.Resolution := 4; Song.Creator := ''; Song.Medley.Source:=msNone; + Song.CalcMedley := true; Song.PreviewStart := 0; SetLength(Song.CustomTags, 0); + SetLength(Song.DuetNames, 2); + Song.DuetNames[0] := 'P1'; + Song.DuetNames[1] := 'P2'; end; //-------------------- @@ -350,6 +355,12 @@ begin Song.Language := Value; end + //Year Sorting + else if (Identifier = 'YEAR') then + begin + Song.Year := Value; + end + // Song Start else if (Identifier = 'START') then begin @@ -406,6 +417,25 @@ begin MedleyFlags := MedleyFlags or 4; end + // Medley + else if (Identifier = 'CALCMEDLEY') then + begin + if (Uppercase(Value) = 'OFF') then + Song.CalcMedley := false; + end + + // Duet Singer Name P1 + else if (Identifier = 'DUETSINGERP1') then + begin + Song.DuetNames[0] := Value; + end + + // Duet Singer Name P2 + else if (Identifier = 'DUETSINGERP2') then + begin + Song.DuetNames[1] := Value; + end + // unsupported tag else begin @@ -1128,13 +1158,17 @@ begin if Song.Creator <> '' then WriteLn(SongFile, '#CREATOR:' + Song.Creator); + if Song.Language <> 'Unknown' then WriteLn(SongFile, '#LANGUAGE:' + Song.Language); + for C := 0 to Length(Song.Edition)-1 do if Song.Edition[C] <> 'Unknown' then WriteLn(SongFile, '#EDITION:' + Song.Edition[C]); for C := 0 to Length(Song.Genre) - 1 do if Song.Genre[C] <> 'Unknown' then WriteLn(SongFile, '#GENRE:' + Song.Genre[C]); - - if Song.Language <> 'Unknown' then WriteLn(SongFile, '#LANGUAGE:' + Song.Language); + + if Song.Year <> '' then WriteLn(SongFile, '#YEAR:' + Song.Year); + + WriteLn(SongFile, '#MP3:' + Song.Mp3); @@ -1154,6 +1188,15 @@ begin WriteLn(SongFile, '#MedleyEndBeat:' + IntToStr(Song.Medley.EndBeat)); end; + if (not Song.CalcMedley) then + WriteLn(SongFile, '#CalcMedley:Off'); + + {if (Song.isDuet) then + begin + WriteLn(SongFile, '#DuetSingerP1:' + Song.DuetNames[0]); + WriteLn(SongFile, '#DuetSingerP2:' + Song.DuetNames[1]); + end;} + if Relative then WriteLn(SongFile, '#RELATIVE:yes'); WriteLn(SongFile, '#BPM:' + FloatToStr(Song.BPM[0].BPM / 4)); @@ -1222,6 +1265,9 @@ begin if AktSong.Medley.Source = msTag then Exit; + if not AktSong.CalcMedley then + Exit; + //relative is not supported for medley by now! if AktSong.Relative then begin diff --git a/Game/Code/Classes/UIni.pas b/Game/Code/Classes/UIni.pas index 0f1b26ce..97030d1d 100644 --- a/Game/Code/Classes/UIni.pas +++ b/Game/Code/Classes/UIni.pas @@ -19,7 +19,9 @@ type Difficulty: integer; Language: integer; Tabs: integer; + tabs_temp: integer; Sorting: integer; + sorting_temp: integer; ShuffleTime: integer; Debug: integer; LoadFaultySongs:integer; @@ -108,7 +110,7 @@ const IDifficulty: array[0..2] of string = ('Easy', 'Medium', 'Hard'); ITabs: array[0..1] of string = ('Off', 'On'); - ISorting: array[0..7] of string = ('Edition', 'Genre', 'Language', 'Folder', 'Title', 'Artist', 'Title2', 'Artist2'); + ISorting: array[0..8] of string = ('Edition', 'Genre', 'Language', 'Folder', 'Title', 'Artist', 'Title2', 'Artist2', 'Random'); sEdition = 0; sGenre = 1; sLanguage = 2; @@ -117,8 +119,9 @@ const sArtist = 5; sTitle2 = 6; sArtist2 = 7; + sRandom = 8; - IShuffleTime: array[0..9] of string = ('Off', + IShuffleTime: array[0..10] of string = ('Off', '15 Sec', '30 Sec', '45 Sec', @@ -127,7 +130,8 @@ const '90 Sec', '105 Sec', '120 Sec', - 'MAX'); + 'MAX', + 'FULL'); IDebug: array[0..1] of string = ('Off', 'On'); ILoadFaultySongs: array[0..1] of string = ('Off', 'On'); @@ -248,11 +252,13 @@ begin Tekst := IniFile.ReadString('Game', 'Tabs', ITabs[0]); for Pet := 0 to High(ITabs) do if Tekst = ITabs[Pet] then Ini.Tabs := Pet; + tabs_temp := Tabs; // Sorting Tekst := IniFile.ReadString('Game', 'Sorting', ISorting[0]); for Pet := 0 to High(ISorting) do if Tekst = ISorting[Pet] then Ini.Sorting := Pet; + sorting_temp := Sorting; // ShuffleTime Tekst := IniFile.ReadString('Game', 'ShuffleTime', 'Off'); @@ -653,10 +659,12 @@ begin // Tabs Tekst := ITabs[Ini.Tabs]; IniFile.WriteString('Game', 'Tabs', Tekst); + tabs_temp := Tabs; // Sorting Tekst := ISorting[Ini.Sorting]; IniFile.WriteString('Game', 'Sorting', Tekst); + sorting_temp := Sorting; //ShuffleTime Tekst := IShuffleTime[Ini.ShuffleTime]; diff --git a/Game/Code/Classes/UParty.pas b/Game/Code/Classes/UParty.pas index 22a4847c..a416bb4c 100644 --- a/Game/Code/Classes/UParty.pas +++ b/Game/Code/Classes/UParty.pas @@ -37,10 +37,11 @@ type function IsWinner(Player, Winner: Byte): boolean; procedure GenScores; public - Plugins: array of TPartyPlugin; - Teams: TTeamInfo; - Rounds: array of TRoundInfo; + Plugins: array of TPartyPlugin; + Teams: TTeamInfo; + Rounds: array of TRoundInfo; CurRound: Byte; + Rand3: boolean; constructor Create; @@ -131,6 +132,8 @@ begin //Set cur Round to Round 1 CurRound := 255; + Rand3 := true; + //Set Rounds NumMedleys := 0; If (Length(Plugins) >= 1) then diff --git a/Game/Code/Classes/UPlaylist.pas b/Game/Code/Classes/UPlaylist.pas index 66bd8189..36bbf051 100644 --- a/Game/Code/Classes/UPlaylist.pas +++ b/Game/Code/Classes/UPlaylist.pas @@ -47,7 +47,9 @@ type Procedure DelItem(const iItem: Cardinal; const iPlaylist: Integer = -1); Procedure GetNames(var PLNames: array of String); + Procedure GetNamesAndNumSongs(var PLNames: array of String); Function GetIndexbySongID(const SongID: Cardinal; const iPlaylist: Integer = -1): Integer; + Function GetNumSongs(Index: Cardinal): integer; end; {Modes: @@ -414,13 +416,13 @@ end; //---------- //GetNames - Writes Playlist Names in a Array //---------- -Procedure TPlayListManager.GetNames(var PLNames: array of String); +Procedure TPlayListManager.GetNames(var PLNames: array of String); var I: Integer; Len: Integer; begin Len := High(Playlists); - + if (Length(PLNames) <> Len + 1) then exit; @@ -428,6 +430,23 @@ begin PLNames[I] := Playlists[I].Name; end; +//---------- +//GetNamesAndNumSongs - Writes Playlist Names + Num Songs in an Array +//---------- +Procedure TPlayListManager.GetNamesAndNumSongs(var PLNames: array of String); +var + I: Integer; + Len: Integer; +begin + Len := High(Playlists); + + if (Length(PLNames) <> Len + 1) then + exit; + + For I := 0 to Len do + PLNames[I] := Playlists[I].Name + ' ( ' + IntToStr(GetNumSongs(I)) + ' Songs)'; +end; + //---------- //GetIndexbySongID - Returns Index in the specified Playlist of the given Song //---------- @@ -455,4 +474,19 @@ begin end; end; +function TPlayListManager.GetNumSongs(Index: Cardinal): integer; +var + I: integer; + +begin + Result := 0; + + //Count Songs in Playlist + For I := 0 to high(PlayLists[Index].Items) do + begin + if (ScreenSong.Mode=smNormal) or not CatSongs.Song[PlayLists[Index].Items[I].SongID].isDuet then + Inc(Result); + end; +end; + end. diff --git a/Game/Code/Classes/USongs.pas b/Game/Code/Classes/USongs.pas index 5a579474..e669edf6 100644 --- a/Game/Code/Classes/USongs.pas +++ b/Game/Code/Classes/USongs.pas @@ -44,7 +44,9 @@ type FileName: string; isDuet: boolean; + DuetNames: array of string; Medley: TMedley; + CalcMedley: boolean; PreviewStart: real; //in seconds CustomTags: array of TCustomHeaderTag; // from 1.1 @@ -53,6 +55,7 @@ type Genre: array of string; Edition: array of string; Language: string; // 0.5.0: new + Year: string; Title: string; Artist: string; @@ -118,6 +121,7 @@ type function SetFilter(FilterStr: String; const fType: Byte): Cardinal; function NumCatSongs(Cat: integer): integer; + function NumSongs(): integer; function NumVisibleCats(): integer; end; @@ -319,6 +323,21 @@ begin SongSort[S] := TempSong; end; end; + sRandom: + begin + for S2 := 0 to Length(SongSort)-1 do + begin + for S := 1 to Length(SongSort)-1 do + begin + if (Random(2) = 0) then + begin + TempSong := SongSort[S-1]; + SongSort[S-1] := SongSort[S]; + SongSort[S] := TempSong; + end; + end; + end; + end; end; // case end; @@ -441,6 +460,7 @@ begin sArtist: Songs.Sort(sArtist); sTitle2: Songs.Sort(sTitle2); // by title2 ??? sArtist2: Songs.Sort(sArtist2); // by artist2 ??? + sRandom: Songs.Sort(sRandom); end; // case @@ -670,7 +690,32 @@ begin CatSongs.Song[CatLen].Visible := true; end; - end; + end else if (Ini.Sorting = sRandom) and + (Length(Songs.SongSort[S].Artist)>=1) and + (Letter <> 'R') then + begin + // add a letter Category Button + Inc(Order); + Letter := 'R'; + CatLen := Length(CatSongs.Song); + SetLength(CatSongs.Song, CatLen+1); + CatSongs.Song[CatLen].Artist := '[RANDOM]'; + CatSongs.Song[CatLen].Main := true; + CatSongs.Song[CatLen].OrderTyp := 0; + CatSongs.Song[CatLen].OrderNum := Order; + + CatSongs.Song[CatLen].Cover := CatCovers.GetCover(Ini.Sorting, Letter); + + //CatNumber Patch + if (Letter <> ' ') then + begin + if (CatLen - CatNumber - 1>=0) then + Song[CatLen - CatNumber - 1].CatNumber := CatNumber;//Set CatNumber of Categroy + CatNumber := 0; + end; + + CatSongs.Song[CatLen].Visible := true; + end end; CatLen := Length(CatSongs.Song); @@ -757,6 +802,22 @@ begin end; end; +function TCatSongs.NumSongs(): integer; +var + I: integer; +begin + Result := 0; + for I := 0 to Length(CatSongs.Song)-1 do + begin + if (Not CatSongs.Song[I].Main) then + begin + if ((ScreenSong.Mode<>smNormal) and (not CatSongs.Song[I].isDuet)) or + (ScreenSong.Mode=smNormal) then + inc(Result); + end; + end; +end; + function TCatSongs.NumVisibleCats(): integer; var I: integer; diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas index 38d11db4..52893dc6 100644 --- a/Game/Code/Classes/UThemes.pas +++ b/Game/Code/Classes/UThemes.pas @@ -443,29 +443,29 @@ type StaticMedleyNav: TThemeStatic; TextMedleyNav: TThemeText; - PlayerStatic: array[1..6] of AThemeStatic; - PlayerTexts: array[1..6] of AThemeText; - - TextName: array[1..6] of TThemeText; - TextScore: array[1..6] of TThemeText; - - TextNotes: array[1..6] of TThemeText; - TextNotesScore: array[1..6] of TThemeText; - TextLineBonus: array[1..6] of TThemeText; - TextLineBonusScore: array[1..6] of TThemeText; - TextGoldenNotes: array[1..6] of TThemeText; - TextGoldenNotesScore: array[1..6] of TThemeText; - TextTotal: array[1..6] of TThemeText; - TextTotalScore: array[1..6] of TThemeText; - - StaticBoxLightest: array[1..6] of TThemeStatic; - StaticBoxLight: array[1..6] of TThemeStatic; - StaticBoxDark: array[1..6] of TThemeStatic; - - StaticBackLevel: array[1..6] of TThemeStatic; - StaticBackLevelRound: array[1..6] of TThemeStatic; - StaticLevel: array[1..6] of TThemeStatic; - StaticLevelRound: array[1..6] of TThemeStatic; + PlayerStatic: array[1..10] of AThemeStatic; + PlayerTexts: array[1..10] of AThemeText; + + TextName: array[1..10] of TThemeText; + TextScore: array[1..10] of TThemeText; + + TextNotes: array[1..10] of TThemeText; + TextNotesScore: array[1..10] of TThemeText; + TextLineBonus: array[1..10] of TThemeText; + TextLineBonusScore: array[1..10] of TThemeText; + TextGoldenNotes: array[1..10] of TThemeText; + TextGoldenNotesScore: array[1..10] of TThemeText; + TextTotal: array[1..10] of TThemeText; + TextTotalScore: array[1..10] of TThemeText; + + StaticBoxLightest: array[1..10] of TThemeStatic; + StaticBoxLight: array[1..10] of TThemeStatic; + StaticBoxDark: array[1..10] of TThemeStatic; + + StaticBackLevel: array[1..10] of TThemeStatic; + StaticBackLevelRound: array[1..10] of TThemeStatic; + StaticLevel: array[1..10] of TThemeStatic; + StaticLevelRound: array[1..10] of TThemeStatic; // Description: array[0..5] of string;} end; @@ -1396,7 +1396,8 @@ begin ThemeLoadStatic(Score.StaticMedleyNav, 'ScoreMedleyNavStatic'); ThemeLoadText(Score.TextMedleyNav, 'ScoreMedleyNavText'); - for I := 1 to 6 do begin + for I := 1 to 10 do + begin ThemeLoadStatics(Score.PlayerStatic[I], 'ScorePlayer' + IntToStr(I) + 'Static'); ThemeLoadTexts(Score.PlayerTexts[I], 'ScorePlayer' + IntToStr(I) + 'Text'); diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas index 38199ad9..a8c0a20d 100644 --- a/Game/Code/Screens/UScreenEditSub.pas +++ b/Game/Code/Screens/UScreenEditSub.pas @@ -50,6 +50,7 @@ type PlaySentenceMidi: boolean; PlayOneNote: boolean; PlayOneNoteMidi: boolean; + PlayOneSentence: boolean; //for mp3 and midi PlayStopTime: real; LastClick: integer; @@ -148,7 +149,7 @@ var begin Result := true; - + PlayOneSentence := false; Text[TextDebug].Text := ''; if TextEditMode then @@ -726,12 +727,13 @@ begin SDLK_P: begin + // one line, mp3 + clicks if SDL_ModState = 0 then begin - // Play Sentence MidiOut.PutShort($81, Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[MidiLastNote].Ton + 60, 127); PlaySentenceMidi := false; PlayOneNoteMidi := false; + PlayOneSentence := true; Click := true; Music.Stop; R := GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].StartNote); @@ -746,10 +748,12 @@ begin end; end; + // one line, midi if SDL_ModState = KMOD_LSHIFT then begin PlaySentenceMidi := true; PlayOneNoteMidi := false; + PlayOneSentence := true; MidiTime := USTime.GetTime; Music.Stop; PlaySentence := false; @@ -760,10 +764,12 @@ begin LastClick := -100; end; + // one line midi + mp3 if SDL_ModState = KMOD_LSHIFT or KMOD_LCTRL then begin PlaySentenceMidi := true; PlayOneNoteMidi := false; + PlayOneSentence := true; MidiTime := USTime.GetTime; MidiStart := GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].StartNote); MidiStop := GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].Koniec); @@ -771,7 +777,7 @@ begin PlaySentence := true; PlayOneNote := false; - Click := true; + //Click := true; Music.Stop; Music.MoveTo(GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].StartNote)+0{-0.10}); PlayStopTime := GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].Koniec)+0; @@ -825,7 +831,7 @@ begin PlaySentence := true; PlayOneNote := false; - Click := true; + //Click := true; Music.Stop; Music.MoveTo(GetTimeFromBeat(Czesci[CP].Czesc[Czesci[CP].Akt].StartNote)+0{-0.10}); PlayStopTime := Music.Length; @@ -1252,15 +1258,16 @@ begin if Ini.Debug=1 then Text[TextDebug].Text := 'PressedKey: ' + IntToStr(PressedKey) + ' ScanCode: ' + IntToStr(ScanCode); - + // check normal keys if not (ScanCode in [0..31, 127..159]) then //=isPrintable begin Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst := Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst + chr(ScanCode); - EditorLyric[CP].ChangeCurText(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst); + //EditorLyric[CP].ChangeCurText(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst); EditorLyric[CP].AddCzesc(CP, Czesci[CP].Akt); + EditorLyric[CP].Selected := AktNuta[CP]; Exit; end; @@ -1284,8 +1291,9 @@ begin Delete(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst, Length(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst), 1); - EditorLyric[CP].ChangeCurText(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst); + //EditorLyric[CP].ChangeCurText(Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Tekst); EditorLyric[CP].AddCzesc(CP, Czesci[CP].Akt); + EditorLyric[CP].Selected := AktNuta[CP]; end; SDLK_RIGHT: begin @@ -1868,15 +1876,21 @@ begin Czesci[CP].Czesc[C].Nuta[AktNuta[CP]].Dlugosc; if (Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Dlugosc>0) then - Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Tekst := '~' - else + begin + Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Tekst := '~'; + Czesci[CP].Czesc[C].Nuta[AktNuta[CP]].Color := 2; + Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Color := 0; + end else + begin Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Tekst := ' '; + Czesci[CP].Czesc[C].Nuta[AktNuta[CP]].Color := 0; + Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Color := 2; - Czesci[CP].Czesc[C].Nuta[AktNuta[CP]].Color := 0; - Czesci[CP].Czesc[C].Nuta[AktNuta[CP]+1].Color := 2; + Inc(AktNuta[CP]); + end; - Inc(AktNuta[CP]); EditorLyric[CP].AddCzesc(CP, Czesci[CP].Akt); + EditorLyric[CP].Selected := AktNuta[CP]; end; procedure TScreenEditSub.DeleteNote; @@ -2599,7 +2613,8 @@ begin for note := 0 to Length(Czesci[CP].Czesc[line].Nuta) - 1 do begin //line change - if (Czesci[CP].Czesc[line].Start = AktBeat) and (line <> Czesci[CP].Akt) and not end_ then + if (Czesci[CP].Czesc[line].Start = AktBeat) and (line <> Czesci[CP].Akt) and + not end_ and not PlayOneSentence then begin Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Color := 0; AktNuta[CP] := 0; @@ -2618,7 +2633,7 @@ begin end; end; - if AktSong.isDuet then + if AktSong.isDuet and not PlayOneSentence then begin for line := 0 to Length(Czesci[(CP+1) mod 2].Czesc) - 1 do begin @@ -2645,6 +2660,7 @@ begin LineChanged[0]:=false; LineChanged[1]:=false; PlayVideo := false; + PlayOneSentence := false; end; // midi music @@ -2712,7 +2728,8 @@ begin begin //note change if (Czesci[CP].Czesc[line].Nuta[note].Start = AktBeat) and - ((note <> AktNuta[CP]) or LineChanged[CP]) then + (((note <> AktNuta[CP]) or LineChanged[CP]) and + (not PlayOneSentence or (line = Czesci[CP].Akt))) then begin Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Color := 0; if not LineChanged[CP] then @@ -2729,7 +2746,7 @@ begin end; end; - if AktSong.isDuet then + if AktSong.isDuet and not PlayOneSentence then begin for line := 0 to Length(Czesci[(CP+1) mod 2].Czesc) - 1 do begin diff --git a/Game/Code/Screens/UScreenMain.pas b/Game/Code/Screens/UScreenMain.pas index b92e59a2..fbaa2e37 100644 --- a/Game/Code/Screens/UScreenMain.pas +++ b/Game/Code/Screens/UScreenMain.pas @@ -277,6 +277,15 @@ begin if (Ini.LoadFaultySongs=0) and ShowNumErrors and (Songs.NumFaultySongs>0) then begin ScreenPopupCheck.ShowPopup(Format(Language.Translate('MSG_ERROR_SONGLOADING'), [Songs.NumFaultySongs])); + end else + ShowNumErrors := false; + + if (Ini.tabs_temp <> Ini.tabs) or (Ini.sorting_temp <> Ini.Sorting)then + begin + Ini.Tabs := Ini.tabs_temp; + Ini.Sorting := Ini.sorting_temp; + ScreenSong.Refresh(true); + PlaylistMan.LoadPlayLists; end; end; diff --git a/Game/Code/Screens/UScreenOptionsLyrics.pas b/Game/Code/Screens/UScreenOptionsLyrics.pas index a6ee2464..bfb69c92 100644 --- a/Game/Code/Screens/UScreenOptionsLyrics.pas +++ b/Game/Code/Screens/UScreenOptionsLyrics.pas @@ -44,7 +44,8 @@ begin end; SDLK_RETURN: begin - if SelInteraction = 3 then begin + if SelInteraction = 2 then + begin Ini.Save; Music.PlayBack; FadeTo(@ScreenOptions); @@ -56,14 +57,16 @@ begin InteractPrev; SDLK_RIGHT: begin - if (SelInteraction >= 0) and (SelInteraction <= 2) then begin + if (SelInteraction >= 0) and (SelInteraction <= 1) then + begin Music.PlayOption; InteractInc; end; end; SDLK_LEFT: begin - if (SelInteraction >= 0) and (SelInteraction <= 2) then begin + if (SelInteraction >= 0) and (SelInteraction <= 1) then + begin Music.PlayOption; InteractDec; end; @@ -80,7 +83,7 @@ begin AddSelect(Theme.OptionsLyrics.SelectLyricsFont, Ini.LyricsFont, ILyricsFont); AddSelect(Theme.OptionsLyrics.SelectLyricsEffect, Ini.LyricsEffect, ILyricsEffect); - AddSelect(Theme.OptionsLyrics.SelectSolmization, Ini.Solmization, ISolmization); + //AddSelect(Theme.OptionsLyrics.SelectSolmization, Ini.Solmization, ISolmization); AddButton(Theme.OptionsLyrics.ButtonExit); diff --git a/Game/Code/Screens/UScreenPartyOptions.pas b/Game/Code/Screens/UScreenPartyOptions.pas index deeb8c96..0a58cd79 100644 --- a/Game/Code/Screens/UScreenPartyOptions.pas +++ b/Game/Code/Screens/UScreenPartyOptions.pas @@ -156,6 +156,14 @@ begin SDLK_RETURN: begin + if (Playlist = 0) and ((Ini.Tabs = 1) or (Ini.Sorting <> sRandom)) then + begin + Ini.Tabs := 0; + Ini.Sorting := sRandom; + ScreenSong.Refresh(true); + PlaylistMan.LoadPlayLists; + end; + MenuPluginOpen := false; if not Help.SetHelpID(ID) then Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenPartyOptions)'); @@ -214,7 +222,7 @@ begin J := -1; For I := 0 to high(CatSongs.Song) do begin - if CatSongs.Song[I].Main then + if CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then Inc(J); if J = Playlist2 then @@ -479,13 +487,15 @@ begin end; procedure TScreenPartyOptions.SetPlaylist2; -var I: Integer; +var + I: Integer; + begin Case Playlist of 0: begin SetLength(IPlaylist2, 1); - IPlaylist2[0] := '---'; + IPlaylist2[0] := '(' + IntToStr(CatSongs.NumSongs()) + ' Songs)'; end; 1: begin @@ -495,7 +505,8 @@ begin If CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then begin SetLength(IPlaylist2, Length(IPlaylist2) + 1); - IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist; + IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist + + ' (' + IntToStr(CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)) + ' Songs)'; end; end; @@ -510,7 +521,7 @@ begin if (Length(PlaylistMan.Playlists) > 0) then begin SetLength(IPlaylist2, Length(PlaylistMan.Playlists)); - PlaylistMan.GetNames(IPlaylist2); + PlaylistMan.GetNamesAndNumSongs(IPlaylist2); end else begin @@ -638,6 +649,7 @@ begin SelectedPlugin := 0; ScreenSong.Mode := smParty; + SetPlaylist2; end; procedure TScreenPartyOptions.SetAnimationProgress(Progress: real); diff --git a/Game/Code/Screens/UScreenPartyOptionsM2.pas b/Game/Code/Screens/UScreenPartyOptionsM2.pas index 057881f9..f27acc01 100644 --- a/Game/Code/Screens/UScreenPartyOptionsM2.pas +++ b/Game/Code/Screens/UScreenPartyOptionsM2.pas @@ -179,7 +179,7 @@ begin J := -1; For I := 0 to high(CatSongs.Song) do begin - if CatSongs.Song[I].Main then + if CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then Inc(J); if J = Playlist2 then @@ -642,7 +642,7 @@ begin 0: begin SetLength(IPlaylist2, 1); - IPlaylist2[0] := '---'; + IPlaylist2[0] := '(' + IntToStr(CatSongs.NumSongs()) + ' Songs)'; end; 1: begin @@ -652,7 +652,8 @@ begin if CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then begin SetLength(IPlaylist2, Length(IPlaylist2) + 1); - IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist; + IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist + + ' (' + IntToStr(CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)) + ' Songs)'; end; end; @@ -667,7 +668,7 @@ begin if (Length(PlaylistMan.Playlists) > 0) then begin SetLength(IPlaylist2, Length(PlaylistMan.Playlists)); - PlaylistMan.GetNames(IPlaylist2); + PlaylistMan.GetNamesAndNumSongs(IPlaylist2); end else begin @@ -798,6 +799,7 @@ begin SelectedPlugin := 0; ScreenSong.Mode := smChallenge; + SetPlaylist2; end; function TScreenPartyOptionsM2.Draw: boolean; diff --git a/Game/Code/Screens/UScreenPartyScore.pas b/Game/Code/Screens/UScreenPartyScore.pas index cf08018d..01a4349e 100644 --- a/Game/Code/Screens/UScreenPartyScore.pas +++ b/Game/Code/Screens/UScreenPartyScore.pas @@ -6,6 +6,11 @@ uses UMenu, SDL, UDisplay, UMusic, SysUtils, UThemes; type + THandler = record + changed: boolean; + change_time: real; + end; + TScreenPartyScore = class(TMenu) public TextScoreTeam1: Cardinal; @@ -30,12 +35,21 @@ type R, G, B: Real; end; - MaxScore: Word; + MaxScore: Word; + + ActualRound: integer; + Voice: integer; + Fadeout: boolean; + + MP3VolumeHandler: THandler; constructor Create; override; function ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; override; procedure onShow; override; + function Draw: boolean; override; procedure SetAnimationProgress(Progress: real); override; + procedure StartPreview; + procedure StartVoice; end; const @@ -43,7 +57,7 @@ const implementation -uses UGraphic, UMain, UParty, UScreenSingModi, ULanguage, UTexture, USkins, UHelp, ULog; +uses UGraphic, UDraw, UTime, UMain, UParty, USongs, UScreenSingModi, ULanguage, UTexture, UIni, USkins, UHelp, ULog; function TScreenPartyScore.ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; begin @@ -61,26 +75,81 @@ begin Result := false; end; + //MP3-Volume Up + SDLK_PAGEUP: + begin + if (ScreenSong.MP3Volume<100) then + begin + ScreenSong.MP3Volume := ScreenSong.MP3Volume+5; + Music.SetMusicVolume(ScreenSong.MP3Volume); + end; + MP3VolumeHandler.changed := true; + MP3VolumeHandler.change_time := 0; + end; + + //MP3-Volume Down + SDLK_PAGEDOWN: + begin + if (ScreenSong.MP3Volume>0) then + begin + ScreenSong.MP3Volume := ScreenSong.MP3Volume-5; + Music.SetMusicVolume(ScreenSong.MP3Volume); + end; + MP3VolumeHandler.changed := true; + MP3VolumeHandler.change_time := 0; + end; + SDLK_ESCAPE, - SDLK_BACKSPACE : + SDLK_BACKSPACE, + SDLK_RETURN : begin - Music.PlayStart; - if (PartySession.CurRound < High(PartySession.Rounds)) then - FadeTo(@ScreenPartyNewRound) - else + if (not Fadeout) then begin - PartySession.EndRound; - FadeTo(@ScreenPartyWin); + Music.PlayStart; + + if (Ini.SavePlayback=1) then + Music.VoicesClose; + + ScreenSong.SongIndex := -1; + Music.FadeStop(Ini.PreviewFading); + + if (PartySession.CurRound < High(PartySession.Rounds)) then + FadeTo(@ScreenPartyNewRound) + else + begin + PartySession.EndRound; + FadeTo(@ScreenPartyWin); + end; + Fadeout := true; end; end; - SDLK_RETURN: + SDLK_RIGHT: begin - Music.PlayStart; - if (PartySession.CurRound < High(PartySession.Rounds)) then - FadeTo(@ScreenPartyNewRound) - else - FadeTo(@ScreenPartyWin); + if ActualRound0 then + begin + Music.PlayChange; + dec(ActualRound); + //RefreshTexts; + if not (Ini.SavePlayback=1) then + StartPreview + else + StartVoice; + end; end; end; end; @@ -164,6 +233,9 @@ begin if Music.VocalRemoverActivated() then Music.DisableVocalRemover; + + ActualRound := 0; + Fadeout := false; //Get Maxscore MaxScore := 0; @@ -285,6 +357,113 @@ begin Static[StaticTeam3BG].Visible := False; Static[StaticTeam3Deco].Visible := False; end; + + MP3VolumeHandler.changed := false; + if not (Ini.SavePlayback=1) then + StartPreview + else + begin + Voice := -1; + StartVoice; + end; +end; + +function TScreenPartyScore.Draw: boolean; +begin + inherited Draw; + + if MP3VolumeHandler.changed and (MP3VolumeHandler.change_time+TimeSkip<3) then + begin + MP3VolumeHandler.change_time := MP3VolumeHandler.change_time + TimeSkip; + DrawVolumeBar(10, 530, 780, 12, ScreenSong.MP3Volume); + end else + MP3VolumeHandler.changed := false; +end; + +procedure TScreenPartyScore.StartPreview; +var + select: integer; + changed: boolean; +begin + //When Music Preview is avtivated -> then Change Music + if (Ini.PreviewVolume <> 0) then + begin + changed := false; + if (ScreenSong.Mode = smMedley) or ScreenSong.PartyMedley then + begin + if (ActualRound PlaylistMedley.Song[ActualRound]) then + begin + select := PlaylistMedley.Song[ActualRound]; + changed := true; + ScreenSong.SongIndex := select; + end; + end else + begin + select := ScreenSong.Interaction; + ScreenSong.SongIndex := select; + changed := true; + end; + + if changed then + begin + Music.Close; + if Music.Open(CatSongs.Song[select].Path + CatSongs.Song[select].Mp3) then + begin + if (CatSongs.Song[select].PreviewStart>0) then + Music.MoveTo(CatSongs.Song[select].PreviewStart) + else + Music.MoveTo(Music.Length / 4); + + //If Song Fading is activated then don't Play directly, and Set Volume to Null, else Play normal + if (Ini.PreviewFading = 0) then + begin + Music.SetMusicVolume (ScreenSong.MP3Volume); + Music.Play; + end else + begin + Music.Fade(0, ScreenSong.MP3Volume, Ini.PreviewFading); + Music.Play; + end; + end; + end; + end; +end; + +procedure TScreenPartyScore.StartVoice; +var + changed: boolean; + files: array of string; + I: integer; + +begin + //Music.Close; + //ScreenSong.SongIndex := -1; + changed := false; + if (ScreenSong.Mode = smMedley) or ScreenSong.PartyMedley then + begin + if (ActualRound ActualRound) then + begin + Voice := ActualRound; + changed := true; + SetLength(files, PlaylistMedley.NumPlayer); + for I := 0 to Length(files) - 1 do + files[I] := PlaylistMedley.Stats[Voice].Player[I].VoiceFile; + end; + end else + begin + Voice := 0; + changed := true; + SetLength(files, PlayersPlay); + for I := 0 to Length(files) - 1 do + files[I] := Player[I].VoiceFile; + end; + + if changed then + begin + Music.VoicesClose; + if (Music.VoicesOpen(files)>0) then + Music.VoicesPlay; + end; end; procedure TScreenPartyScore.SetAnimationProgress(Progress: real); diff --git a/Game/Code/Screens/UScreenScore.pas b/Game/Code/Screens/UScreenScore.pas index b8a7b61c..7c5c8253 100644 --- a/Game/Code/Screens/UScreenScore.pas +++ b/Game/Code/Screens/UScreenScore.pas @@ -23,30 +23,30 @@ type StaticMedleyNav: integer; TextMedleyNav: integer; - TextName: array[1..6] of integer; - TextScore: array[1..6] of integer; + TextName: array[1..10] of integer; + TextScore: array[1..10] of integer; - TextNotes: array[1..6] of integer; - TextNotesScore: array[1..6] of integer; - TextLineBonus: array[1..6] of integer; - TextLineBonusScore: array[1..6] of integer; - TextGoldenNotes: array[1..6] of integer; - TextGoldenNotesScore: array[1..6] of integer; - TextTotal: array[1..6] of integer; - TextTotalScore: array[1..6] of integer; + TextNotes: array[1..10] of integer; + TextNotesScore: array[1..10] of integer; + TextLineBonus: array[1..10] of integer; + TextLineBonusScore: array[1..10] of integer; + TextGoldenNotes: array[1..10] of integer; + TextGoldenNotesScore: array[1..10] of integer; + TextTotal: array[1..10] of integer; + TextTotalScore: array[1..10] of integer; - PlayerStatic: array[1..6] of array of integer; - PlayerTexts : array[1..6] of array of integer; + PlayerStatic: array[1..10] of array of integer; + PlayerTexts : array[1..10] of array of integer; - StaticBoxLightest: array[1..6] of integer; - StaticBoxLight: array[1..6] of integer; - StaticBoxDark: array[1..6] of integer; + StaticBoxLightest: array[1..10] of integer; + StaticBoxLight: array[1..10] of integer; + StaticBoxDark: array[1..10] of integer; - StaticBackLevel: array[1..6] of integer; - StaticBackLevelRound: array[1..6] of integer; - StaticLevel: array[1..6] of integer; - StaticLevelRound: array[1..6] of integer; + StaticBackLevel: array[1..10] of integer; + StaticBackLevelRound: array[1..10] of integer; + StaticLevel: array[1..10] of integer; + StaticLevelRound: array[1..10] of integer; Animation: real; Fadeout: boolean; @@ -227,7 +227,8 @@ begin StaticMedleyNav := AddStatic(Theme.Score.StaticMedleyNav); TextMedleyNav := AddText(Theme.Score.TextMedleyNav); - for P := 1 to 6 do begin + for P := 1 to 10 do + begin TextName[P] := AddText(Theme.Score.TextName[P]); TextScore[P] := AddText(Theme.Score.TextScore[P]); @@ -268,7 +269,7 @@ procedure TScreenScore.onShow; var P: integer; // player I: integer; - V: array[1..6] of boolean; // visibility array + V: array[1..10] of boolean; // visibility array begin if not Help.SetHelpID(ID) then Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenScore)'); @@ -284,34 +285,78 @@ begin Text[TextArtistTitle].Text := AktSong.Artist + ' - ' + AktSong.Title; // set visibility - case PlayersPlay of - 1: begin + if (not ScreenSing.P4Mode) then + begin + case PlayersPlay of + 1: begin V[1] := true; V[2] := false; V[3] := false; V[4] := false; V[5] := false; V[6] := false; - end; - 2, 4: begin + V[7] := false; + V[8] := false; + V[9] := false; + V[10] := false; + end; + 2, 4: begin V[1] := false; V[2] := true; V[3] := true; V[4] := false; V[5] := false; V[6] := false; - end; - 3, 6: begin + V[7] := false; + V[8] := false; + V[9] := false; + V[10] := false; + end; + 3, 6: begin V[1] := false; V[2] := false; V[3] := false; V[4] := true; V[5] := true; V[6] := true; - end; + V[7] := false; + V[8] := false; + V[9] := false; + V[10] := false; + end; + end; + end else + begin + case PlayersPlay of + 4: begin + V[1] := false; + V[2] := false; + V[3] := false; + V[4] := false; + V[5] := false; + V[6] := false; + V[7] := true; + V[8] := true; + V[9] := true; + V[10] := true; + end; + 6: begin //not finished yet! + V[1] := false; + V[2] := false; + V[3] := false; + V[4] := true; + V[5] := true; + V[6] := true; + V[7] := false; + V[8] := false; + V[9] := false; + V[10] := false; + end; + end; + end; - for P := 1 to 6 do + for P := 1 to 10 do begin Text[TextName[P]].Visible := V[P]; Text[TextScore[P]].Visible := V[P]; @@ -325,6 +370,15 @@ begin Text[TextTotal[P]].Visible := V[P]; Text[TextTotalScore[P]].Visible := V[P]; + //4P-hack: + if (P>7) then + begin + Text[TextNotes[P]].Visible := false; + Text[TextLineBonus[P]].Visible := false; + Text[TextGoldenNotes[P]].Visible := false; + Text[TextTotal[P]].Visible := false; + end; + for I := 0 to high(PlayerStatic[P]) do Static[PlayerStatic[P, I]].Visible := V[P]; @@ -341,21 +395,6 @@ begin Static[StaticLevelRound[P]].Visible := V[P]; end; - { - if PlayersPlay <= 3 then begin // only for 1 screen mode - for P := 0 to PlayersPlay-1 do begin - case PlayersPlay of - 1: PP := 1; - 2: PP := P + 2; - 3: PP := P + 4; - end; - - //Replaced this whole thing with one Procedure call - FillPlayer(PP, P); - - end; // for - end; // if } - if (ScreenSong.Mode = smMedley) or ScreenSong.PartyMedley then begin Static[StaticMedleyNav].Visible := true; @@ -380,19 +419,15 @@ end; function TScreenScore.Draw: boolean; var -{ Min: real; - Max: real; - Wsp: real; - Wsp2: real; - Pet: integer;} - Item: integer; P: integer; begin Item := 0; P := 0; - if PlayersPlay <= 3 then begin // only for 1 screen mode - for P := 0 to PlayersPlay-1 do begin + if PlayersPlay <= 3 then + begin // only for 1 screen mode + for P := 0 to PlayersPlay-1 do + begin case PlayersPlay of 1: Item := 1; 2: Item := P + 2; @@ -406,8 +441,10 @@ begin end; // if // 0.5.0: try also use 4 players screen with nicks - if PlayersPlay = 4 then begin - for Item := 2 to 3 do begin + if (not ScreenSing.P4Mode) and (PlayersPlay = 4) then + begin + for Item := 2 to 3 do + begin if ScreenAct = 1 then P := Item-2; if ScreenAct = 2 then P := Item; @@ -415,10 +452,21 @@ begin end; end; + if (ScreenSing.P4Mode) and (PlayersPlay = 4) then + begin + for Item := 7 to 10 do + begin + P := Item-7; + FillPlayer(Item, P); + end; + end; + // Singstar - let it be...... with 6 statics - if PlayersPlay = 6 then begin - for Item := 4 to 6 do begin + if PlayersPlay = 6 then + begin + for Item := 4 to 6 do + begin if ScreenAct = 1 then P := Item-4; if ScreenAct = 2 then P := Item-1; @@ -501,7 +549,8 @@ begin Static[StaticLevel[Item]].Texture.Y := Static[StaticBackLevel[Item]].Texture.Y + Static[StaticBackLevel[Item]].Texture.H - Static[StaticLevel[Item]].Texture.H; // we modify LevelRound texture by changing it's Y. TexY1 and TexY2 change when the height to draw is lower than 20 - if Lev * MaxH < Static[StaticBackLevelRound[Item]].Texture.H / 2 then begin + if Lev * MaxH < Static[StaticBackLevelRound[Item]].Texture.H / 2 then + begin // when it's lower than 20 => we move TexY1 and TexY2 higher to show only part of this texture Static[StaticLevelRound[Item]].Texture.Y := Static[StaticBackLevel[Item]].Texture.Y + Static[StaticBackLevel[Item]].Texture.H - Static[StaticBackLevelRound[Item]].Texture.H; // - 0.25 when points = 0 @@ -512,7 +561,8 @@ begin Wsp := Lev * MaxH / (Static[StaticBackLevelRound[Item]].Texture.H / 2); Static[StaticLevelRound[Item]].Texture.TexY1 := Static[StaticBackLevelRound[Item]].Texture.TexY1 - 0.25 + 0.25 * Wsp; Static[StaticLevelRound[Item]].Texture.TexY2 := Static[StaticBackLevelRound[Item]].Texture.TexY2 - 0.25 + 0.25 * Wsp; - end else begin + end else + begin // when it's higher or equal 20 => full texture is being shown Static[StaticLevelRound[Item]].Texture.TexY1 := Static[StaticBackLevelRound[Item]].Texture.TexY1; Static[StaticLevelRound[Item]].Texture.TexY2 := Static[StaticBackLevelRound[Item]].Texture.TexY2; @@ -600,7 +650,7 @@ begin end; end; -procedure TScreenSCore.StartVoice; +procedure TScreenScore.StartVoice; var changed: boolean; files: array of string; diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas index e8884329..472d11dc 100644 --- a/Game/Code/Screens/UScreenSing.pas +++ b/Game/Code/Screens/UScreenSing.pas @@ -240,8 +240,7 @@ begin Result := false; end; - SDLK_ESCAPE, - SDLK_BACKSPACE : + SDLK_ESCAPE: begin //Record Sound Hack: //Sound[0].BufferLong diff --git a/Game/Code/Screens/UScreenSingModi.pas b/Game/Code/Screens/UScreenSingModi.pas index 0370509e..56ea438a 100644 --- a/Game/Code/Screens/UScreenSingModi.pas +++ b/Game/Code/Screens/UScreenSingModi.pas @@ -76,8 +76,7 @@ begin If (PressedDown) Then begin // Key Down case PressedKey of - SDLK_ESCAPE, - SDLK_BACKSPACE : + SDLK_ESCAPE: begin if ScreenSong.PartyMedley then begin diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas index 6b5792d2..7c7d04ba 100644 --- a/Game/Code/Screens/UScreenSong.pas +++ b/Game/Code/Screens/UScreenSong.pas @@ -41,6 +41,7 @@ type isScrolling: boolean; public + Sel3: integer; //Selection in party mode (0=current, -1=left, 1=right) MP3Volume: integer; MP3VolumeHandler: THandler; TextArtist: integer; @@ -618,87 +619,100 @@ begin SDLK_ESCAPE, SDLK_BACKSPACE : begin - WaitHandler.change_time := 0; - if (Mode = smNormal) or ((Mode = smChallenge) and not PartyMedley and not FoundCAT) then - begin - //On Escape goto Cat-List Hack - if (Ini.Tabs = 1) AND (CatSongs.CatNumShow <> -1) then + if UVideo.VideoOpened then + begin + if TargetVidVis=full then begin - //Find Category - I := Interaction; - while not catsongs.Song[I].Main do + TargetVidVis:=windowed; + TargetAspect := acoCrop; + if not VidVisHandler.changed then begin - Dec (I); - if (I < low(catsongs.Song)) then - break; + VidVisHandler.changed := true; + VidVisHandler.change_time := 0; end; - if (I<= 1) then - Interaction := high(catsongs.Song) - else - Interaction := I - 1; - - //Stop Music - Music.Stop; + Exit; + end; + end; - //Stop Video - acClose; + WaitHandler.change_time := 0; + if (Mode = smNormal) or ((Mode = smChallenge) and not PartyMedley and not FoundCAT) then + begin + //On Escape goto Cat-List Hack + if (Ini.Tabs = 1) AND (CatSongs.CatNumShow <> -1) then + begin + //Find Category + I := Interaction; + while not catsongs.Song[I].Main do + begin + Dec (I); + if (I < low(catsongs.Song)) then + break; + end; - CatSongs.ShowCategoryList; + if (I<= 1) then + Interaction := high(catsongs.Song) + else + Interaction := I - 1; - //Show Cat in Top Left Mod - HideCatTL; + //Stop Music + Music.Stop; + //Stop Video + acClose; - //Show Wrong Song when Tabs on Fix - SelectNext; - FixSelected; - //SelectPrev; - //CatSongs.Song[0].Visible := False; - end - else - begin - //On Escape goto Cat-List Hack End - //Tabs off and in Search or Playlist -> Go back to Song view - if (CatSongs.CatNumShow < -1) then - begin - //Atm: Set Empty Filter - CatSongs.SetFilter('', 0); + CatSongs.ShowCategoryList; //Show Cat in Top Left Mod HideCatTL; - Interaction := 0; + //Show Wrong Song when Tabs on Fix SelectNext; FixSelected; - - ChangeMusic; - end - else if (Mode = smNormal) then + //SelectPrev; + //CatSongs.Song[0].Visible := False; + end else begin - Music.Stop; - Music.PlayBack; - acClose; + //On Escape goto Cat-List Hack End + //Tabs off and in Search or Playlist -> Go back to Song view + if (CatSongs.CatNumShow < -1) then + begin + //Atm: Set Empty Filter + CatSongs.SetFilter('', 0); - FadeTo(@ScreenMain); - end else if (Mode = smChallenge) then - begin - Music.PlayBack; - CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); + //Show Cat in Top Left Mod + HideCatTL; + Interaction := 0; + + //Show Wrong Song when Tabs on Fix + SelectNext; + FixSelected; + + ChangeMusic; + end else if (Mode = smNormal) then + begin + Music.Stop; + Music.PlayBack; + acClose; + + FadeTo(@ScreenMain); + end else if (Mode = smChallenge) then + begin + Music.PlayBack; + CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); + end; end; + end else if (Mode = smChallenge) then + begin + Music.PlayBack; + CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); + end + //When in party Mode then Ask before Close + else if (Mode = smParty) then + begin + Music.PlayBack; + CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); end; - end - else if (Mode = smChallenge) then - begin - Music.PlayBack; - CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); - end - //When in party Mode then Ask before Close - else if (Mode = smParty) then - begin - Music.PlayBack; - CheckFadeTo(@ScreenMain,'MSG_END_PARTY'); - end; end; SDLK_RETURN: begin @@ -955,8 +969,12 @@ begin SDLK_RIGHT: begin if (Length(Songs.Song) > 0) AND - ((Mode = smNormal) or ((Mode = smChallenge) and CatSongs.Song[Interaction].Main)) then + (((Mode = smNormal) or ((Mode = smChallenge) and CatSongs.Song[Interaction].Main)) or + ((Mode = smParty) and (PartySession.Rand3) and (Sel3<=0))) then begin + if (Mode = smParty) then + Inc(Sel3); + Music.PlayChange; SelectNext; ChangeMusic; @@ -967,8 +985,12 @@ begin SDLK_LEFT: begin if (Length(Songs.Song) > 0) AND - ((Mode = smNormal) or ((Mode = smChallenge) and CatSongs.Song[Interaction].Main)) then + (((Mode = smNormal) or ((Mode = smChallenge) and CatSongs.Song[Interaction].Main)) or + ((Mode = smParty) and (PartySession.Rand3) and (Sel3>=0))) then begin + if (Mode = smParty) then + Dec(Sel3); + Music.PlayChange; SelectPrev; ChangeMusic; @@ -2085,6 +2107,8 @@ begin MakeMedley := false; isScrolling := false; + Sel3 := 0; + StartTry := false; AspectHandler.changed := false; InfoHandler.changed := false; @@ -2104,7 +2128,7 @@ begin Text[TextTop[I]].Visible := false; Static[StaticTop].Visible := false; - + HideCatTL; //Cat Mod etc if (Ini.Tabs = 1) AND (CatSongs.CatNumShow = -1) AND (PlaylistMan.Mode=0) then @@ -2659,6 +2683,9 @@ begin WaitHandler.active := true; WaitHandler.lastIndex := Interaction; WaitHandler.lastCat := CatSongs.CatNumShow; + + if (Ini.ShuffleTime=10) and (VidVis<>full) then + VidVis := full; end; if(Ini.Tabs<>1) or (CatSongs.CatNumShow < -1) then @@ -2720,7 +2747,7 @@ begin end; end; - Music.PlayChange; + //Music.PlayChange; ChangeMusic; SetScroll4; end else if (Ini.ShuffleTime>0) then @@ -2912,10 +2939,13 @@ begin begin if Music.Open(CatSongs.Song[Interaction].Path + CatSongs.Song[Interaction].Mp3) then begin - if (CatSongs.Song[Interaction].PreviewStart>0) then - Music.MoveTo(CatSongs.Song[Interaction].PreviewStart) - else - Music.MoveTo(Music.Length / 4); + if not (Ini.ShuffleTime>9) or not WaitHandler.active then + begin + if (CatSongs.Song[Interaction].PreviewStart>0) then + Music.MoveTo(CatSongs.Song[Interaction].PreviewStart) + else + Music.MoveTo(Music.Length / 4); + end; StartVideoPreview; //If Song Fading is activated then don't Play directly, and Set Volume to Null, else Play normal @@ -3679,6 +3709,7 @@ end; //Team No of Team (0-5) procedure TScreenSong.DoJoker (Team: Byte; SDL_ModState: Word); begin + Sel3 := 0; if not PartyMedley and (ChooseableSongs>1) and (Mode = smParty) AND (PartySession.Teams.NumTeams >= Team + 1) AND (PartySession.Teams.Teaminfo[Team].Joker > 0) then begin diff --git a/Game/Code/Screens/UScreenSongMenu.pas b/Game/Code/Screens/UScreenSongMenu.pas index 1a3ee675..72ec1337 100644 --- a/Game/Code/Screens/UScreenSongMenu.pas +++ b/Game/Code/Screens/UScreenSongMenu.pas @@ -179,6 +179,15 @@ begin if (CurMenu = SM_Sort) then Button[3].Visible := (Ini.Sorting <> SelectValue); + + if (ScreenSong.Mode = smParty) and (ScreenSong.Sel3<=0) then + begin + Inc(ScreenSong.Sel3); + Music.PlayChange; + ScreenSong.SelectNext; + ScreenSong.ChangeMusic; + ScreenSong.SetScroll4; + end; end; SDLK_LEFT: begin @@ -187,6 +196,15 @@ begin if (CurMenu = SM_Sort) then Button[3].Visible := (Ini.Sorting <> SelectValue); + + if (ScreenSong.Mode = smParty) and (ScreenSong.Sel3>=0) then + begin + Dec(ScreenSong.Sel3); + Music.PlayChange; + ScreenSong.SelectPrev; + ScreenSong.ChangeMusic; + ScreenSong.SetScroll4; + end; end; SDLK_1: diff --git a/Game/Code/UltraStar.bdsproj b/Game/Code/UltraStar.bdsproj index acdabdad..c08bee96 100644 --- a/Game/Code/UltraStar.bdsproj +++ b/Game/Code/UltraStar.bdsproj @@ -170,8 +170,7 @@ 1.0.0.0 - - + Borland InterBase Express Components Intraweb 8.0 Design Package for Borland Development Studio 2006 Indy 10 Core Design Time diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index f9dae482..0ebd5c78 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -119,7 +119,7 @@ uses UVideo in 'Classes\UVideo.pas'; const - Version = 'UltraStar Deluxe Challenge, Medley & Duet Edition r9 RC'; + Version = 'UltraStar Deluxe Challenge, Medley & Duet Edition r9 RC2.1'; var WndTitle: string; diff --git a/Game/Output/Languages/Dutch.ini b/Game/Output/Languages/Dutch.ini index 74def31d..6f8abeab 100644 --- a/Game/Output/Languages/Dutch.ini +++ b/Game/Output/Languages/Dutch.ini @@ -77,14 +77,35 @@ PARTY_WIN_DESC = winnaar van het party spel PARTY_WIN_LEGEND_CONTINUE = Terug naar het hoofdmenu PARTY_WIN_WHEREAMI = Party Winnaar PLAYLIST_CATTEXT = Speellijst: %s +PLUGIN_ATLEAST3500_DESC = Erreiche mindestens 3500 Punkte um zu gewinnen. +PLUGIN_ATLEAST3500_NAME = Mindestens 3500 +PLUGIN_ATLEAST5000_DESC = Erreiche mindestens 5000 Punkte um zu gewinnen. +PLUGIN_ATLEAST5000_NAME = Mindestens 5K +PLUGIN_ATLEAST7500_DESC = Erreiche mindestens 7500 Punkte um zu gewinnen. +PLUGIN_ATLEAST7500_NAME = Mindestens 7500 PLUGIN_BLIND_DESC = Duel zonder de dat je de noten ziet. PLUGIN_BLIND_NAME = Blinde Modus +PLUGIN_BLIND_NOSCORE_DESC = Erreiche Blind und ohne Punkteanzeige die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE_NAME = Blind&No Score +PLUGIN_BLIND_NOSCORE2_DESC = Erreiche Blind, ohne Punkteanzeige und Linebonus die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE2_NAME = Blind&No Score2 PLUGIN_DUELL_DESC = Zing een duel tot 10000 punten. PLUGIN_DUELL_NAME = Duel +PLUGIN_ERREICH7000_DESC = Jeder der 7000 Punkte erreicht, bekommt Punkte. +PLUGIN_ERREICH7000_NAME = Erreiche 7k +PLUGIN_HANDICAP_DESC = Wer zuerst 5000 Punkte hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP_NAME = Handicap 10% A5K +PLUGIN_HANDICAP2_DESC = Wer 1000 Punkte Vorsprung hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP2_NAME = Handicap 10% R1K PLUGIN_HAUDENLUKAS_DESC = Zing niet slechter dan de wijzer in de zing-o-meter aangeeft PLUGIN_HAUDENLUKAS_NAME = Hit the Lukas PLUGIN_HDL_DESC = Don't get worse than the pointer at the rating bar shows you. PLUGIN_HDL_NAME = Houd de Regel +PLUGIN_JOKER_DESC = Bei 4 oder mehr Jokern bekommt man 5% mehr Punkte. +PLUGIN_JOKER_NAME = Joker~cap +PLUGIN_LINE-BONUS_DESC = Man bekommt nur Punkte für komplette Lines (Linebonus). +PLUGIN_LINE-BONUS_NAME = Line-Bonus +PLUGIN_LOCURA3000_DESC = Erreiche Blind und ohne Punkteanzeige eine Punktzahl von 3000 oder niedriger. PLUGIN_MEDLEY_DESC = Sing up to 5 songs in a medley. PLUGIN_MEDLEY_NAME = Medley PLUGIN_MEDLEYBLIND_DESC = Sing up to 5 songs in a medley blind. @@ -95,16 +116,40 @@ PLUGIN_MEDLEYSURPRISE_DESC = Up to 5 songs medley, only selecting the 1st song. PLUGIN_MEDLEYSURPRISE_NAME = Medley Surprise PLUGIN_MEDLEYSURPRISEBLIND_DESC = Up to 5 songs medley blind, only selecting the 1st song. PLUGIN_MEDLEYSURPRISEBLIND_NAME = Medley Surprise 2 +PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben. +PLUGIN_MEHRALS500_NAME = Sieg 500+ +PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE1000_DESC = Loop meer dan 1000 punten voor. +PLUGIN_MORE1000_NAME = PLUGIN_MORE1000_NAME = Meer dan 1000 +PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE2000_NAME = 2K Vorsprung +PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE3000_NAME = 3K Vorsprung +PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE500_DESC = Loop meer dan 500 punten voor. +PLUGIN_MORE500_NAME = PLUGIN_MORE500_NAME = Meer dan 500 +PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zurückliegt, fliegt raus. +PLUGIN_MORETHAN1000_NAME = Rückstand 1K PLUGIN_NOSCORE_DESC = Duel zonder dat de scores zichtbaar zijn. PLUGIN_NOSCORE_NAME = Geen Score +PLUGIN_PKZIEL3000_NAME = <=3000 Blind +PLUGIN_PREMIOCASTIGO_DESC = Die erreichbaren Punkte sind vom Linebonus abhängig +PLUGIN_PREMIOCASTIGO_NAME = Line-Bonus Pkt +PLUGIN_PUNKTEB5000_DESC = Erreiche 5000 Punkte, ohne die Punktzahl zu sehen. +PLUGIN_PUNKTEB5000_NAME = Punkteblind bis 5K +PLUGIN_RANDPOINTS_CHANGE = Punktetausch +PLUGIN_RANDPOINTS_DESC = Punktestände der Spieler können zufällig tauschen. +PLUGIN_RANDPOINTS_NAME = Punktetausch +PLUGIN_REGULA_DESC = Derjenige der hinten liegt, bekommt 10% mehr Punkte. +PLUGIN_REGULA_NAME = Regulator +10% PLUGIN_TEAMDUELL_DESC = Pass The Mic! PLUGIN_TEAMDUELL_NAME = Team Duell PLUGIN_UNTIL5000_DESC = Wie het eerst 5000 punten heeft wint het spel. PLUGIN_UNTIL5000_NAME = Tot 5000 +PLUGIN_ZIEL_DESC = Jedes Mal, wenn neue 1k Punkte erreicht werden, gibt es einen Punkt. +PLUGIN_ZIEL_NAME = Ziel 1K POPUP_AWESOME = super! POPUP_AWFUL = verschrikking! POPUP_BAD = slecht! diff --git a/Game/Output/Languages/English.ini b/Game/Output/Languages/English.ini index fede3397..26327e12 100644 --- a/Game/Output/Languages/English.ini +++ b/Game/Output/Languages/English.ini @@ -77,14 +77,35 @@ PARTY_WIN_DESC = and the winner is... PARTY_WIN_LEGEND_CONTINUE = back to main menu PARTY_WIN_WHEREAMI = Party Winner PLAYLIST_CATTEXT = Playlist: %s +PLUGIN_ATLEAST3500_DESC = Erreiche mindestens 3500 Punkte um zu gewinnen. +PLUGIN_ATLEAST3500_NAME = Mindestens 3500 +PLUGIN_ATLEAST5000_DESC = Erreiche mindestens 5000 Punkte um zu gewinnen. +PLUGIN_ATLEAST5000_NAME = Mindestens 5K +PLUGIN_ATLEAST7500_DESC = Erreiche mindestens 7500 Punkte um zu gewinnen. +PLUGIN_ATLEAST7500_NAME = Mindestens 7500 PLUGIN_BLIND_DESC = Random song without notes, highest score wins PLUGIN_BLIND_NAME = Blind Battle +PLUGIN_BLIND_NOSCORE_DESC = Erreiche Blind und ohne Punkteanzeige die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE_NAME = Blind&No Score +PLUGIN_BLIND_NOSCORE2_DESC = Erreiche Blind, ohne Punkteanzeige und Linebonus die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE2_NAME = Blind&No Score2 PLUGIN_DUELL_DESC = Random song, highest score wins PLUGIN_DUELL_NAME = Battle +PLUGIN_ERREICH7000_DESC = Jeder der 7000 Punkte erreicht, bekommt Punkte. +PLUGIN_ERREICH7000_NAME = Erreiche 7k +PLUGIN_HANDICAP_DESC = Wer zuerst 5000 Punkte hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP_NAME = Handicap 10% A5K +PLUGIN_HANDICAP2_DESC = Wer 1000 Punkte Vorsprung hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP2_NAME = Handicap 10% R1K PLUGIN_HAUDENLUKAS_DESC = Random song, most perfect notes wins PLUGIN_HAUDENLUKAS_NAME = Pitch Perfect PLUGIN_HDL_DESC = Random song, bar held above critical line longest wins PLUGIN_HDL_NAME = Battle Lines +PLUGIN_JOKER_DESC = Bei 4 oder mehr Jokern bekommt man 5% mehr Punkte. +PLUGIN_JOKER_NAME = Joker~cap +PLUGIN_LINE-BONUS_DESC = Man bekommt nur Punkte für komplette Lines (Linebonus). +PLUGIN_LINE-BONUS_NAME = Line-Bonus +PLUGIN_LOCURA3000_DESC = Erreiche Blind und ohne Punkteanzeige eine Punktzahl von 3000 oder niedriger. PLUGIN_MEDLEY_DESC = Picked 5-song medley, highest score wins PLUGIN_MEDLEY_NAME = Medley PLUGIN_MEDLEYBLIND_DESC = Picked 5-song medley without notes, highest score wins @@ -95,16 +116,40 @@ PLUGIN_MEDLEYSURPRISE_DESC = 5-song medley (1st picked, rest random), highest sc PLUGIN_MEDLEYSURPRISE_NAME = Medley Surprise PLUGIN_MEDLEYSURPRISEBLIND_DESC = 5-song medley (1st picked, rest random) without notes, highest score wins PLUGIN_MEDLEYSURPRISEBLIND_NAME = Blind Medley Surprise +PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben. +PLUGIN_MEHRALS500_NAME = Sieg 500+ +PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE1000_DESC = Random song, first to 1000-point lead wins +PLUGIN_MORE1000_NAME = PLUGIN_MORE1000_NAME = Lead by 1000 +PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE2000_NAME = 2K Vorsprung +PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE3000_NAME = 3K Vorsprung +PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE500_DESC = Random song, first to 500-point lead wins +PLUGIN_MORE500_NAME = PLUGIN_MORE500_NAME = Lead by 500 +PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zurückliegt, fliegt raus. +PLUGIN_MORETHAN1000_NAME = Rückstand 1K PLUGIN_NOSCORE_DESC = Random song without running scoreboard, highest score wins PLUGIN_NOSCORE_NAME = Unscored Battle +PLUGIN_PKZIEL3000_NAME = <=3000 Blind +PLUGIN_PREMIOCASTIGO_DESC = Die erreichbaren Punkte sind vom Linebonus abhängig +PLUGIN_PREMIOCASTIGO_NAME = Line-Bonus Pkt +PLUGIN_PUNKTEB5000_DESC = Erreiche 5000 Punkte, ohne die Punktzahl zu sehen. +PLUGIN_PUNKTEB5000_NAME = Punkteblind bis 5K +PLUGIN_RANDPOINTS_CHANGE = Punktetausch +PLUGIN_RANDPOINTS_DESC = Punktestände der Spieler können zufällig tauschen. +PLUGIN_RANDPOINTS_NAME = Punktetausch +PLUGIN_REGULA_DESC = Derjenige der hinten liegt, bekommt 10% mehr Punkte. +PLUGIN_REGULA_NAME = Regulator +10% PLUGIN_TEAMDUELL_DESC = Pass the mic between team to sing random song, highest score wins PLUGIN_TEAMDUELL_NAME = Pass the Mic PLUGIN_UNTIL5000_DESC = Random song, first to reach 5000 points wins PLUGIN_UNTIL5000_NAME = First to 5000 +PLUGIN_ZIEL_DESC = Jedes Mal, wenn neue 1k Punkte erreicht werden, gibt es einen Punkt. +PLUGIN_ZIEL_NAME = Ziel 1K POPUP_AWESOME = awesome! POPUP_AWFUL = awful! POPUP_BAD = bad! diff --git a/Game/Output/Languages/German.ini b/Game/Output/Languages/German.ini index e6b3d11d..ca49e024 100644 --- a/Game/Output/Languages/German.ini +++ b/Game/Output/Languages/German.ini @@ -77,14 +77,35 @@ PARTY_WIN_DESC = Sieger des Partyspiels. PARTY_WIN_LEGEND_CONTINUE = zurück zum Hauptmenü PARTY_WIN_WHEREAMI = Party Sieger PLAYLIST_CATTEXT = Playlist: %s +PLUGIN_ATLEAST3500_DESC = Erreiche mindestens 3500 Punkte um zu gewinnen. +PLUGIN_ATLEAST3500_NAME = Mindestens 3500 +PLUGIN_ATLEAST5000_DESC = Erreiche mindestens 5000 Punkte um zu gewinnen. +PLUGIN_ATLEAST5000_NAME = Mindestens 5K +PLUGIN_ATLEAST7500_DESC = Erreiche mindestens 7500 Punkte um zu gewinnen. +PLUGIN_ATLEAST7500_NAME = Mindestens 7500 PLUGIN_BLIND_DESC = Erreiche blind die höchste Punktzahl. PLUGIN_BLIND_NAME = Blind Mode +PLUGIN_BLIND_NOSCORE_DESC = Erreiche Blind und ohne Punkteanzeige die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE_NAME = Blind&No Score +PLUGIN_BLIND_NOSCORE2_DESC = Erreiche Blind, ohne Punkteanzeige und Linebonus die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE2_NAME = Blind&No Score2 PLUGIN_DUELL_DESC = Normales Spiel. Höchste Punktzahl gewinnt. PLUGIN_DUELL_NAME = Duell +PLUGIN_ERREICH7000_DESC = Jeder der 7000 Punkte erreicht, bekommt Punkte. +PLUGIN_ERREICH7000_NAME = Erreiche 7k +PLUGIN_HANDICAP_DESC = Wer zuerst 5000 Punkte hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP_NAME = Handicap 10% A5K +PLUGIN_HANDICAP2_DESC = Wer 1000 Punkte Vorsprung hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP2_NAME = Handicap 10% R1K PLUGIN_HAUDENLUKAS_DESC = Triff die Töne und gewinne! PLUGIN_HAUDENLUKAS_NAME = Hau den Lukas PLUGIN_HDL_DESC = Halte die Bewertungsanzeige im angezeigten Bereich. PLUGIN_HDL_NAME = Balken halten +PLUGIN_JOKER_DESC = Bei 4 oder mehr Jokern bekommt man 5% mehr Punkte. +PLUGIN_JOKER_NAME = Joker~cap +PLUGIN_LINE-BONUS_DESC = Man bekommt nur Punkte für komplette Lines (Linebonus). +PLUGIN_LINE-BONUS_NAME = Line-Bonus +PLUGIN_LOCURA3000_DESC = Erreiche Blind und ohne Punkteanzeige eine Punktzahl von 3000 oder niedriger. PLUGIN_MEDLEY_DESC = Singe bis zu 5 Lieder in einem Medley PLUGIN_MEDLEY_NAME = Medley PLUGIN_MEDLEYBLIND_DESC = Singe bis zu 5 Lieder blind in einem Medley @@ -95,16 +116,40 @@ PLUGIN_MEDLEYSURPRISE_DESC = Nur das erste Lied darf man aussuchen. PLUGIN_MEDLEYSURPRISE_NAME = Medley Surprise PLUGIN_MEDLEYSURPRISEBLIND_DESC = Nur das erste Lied darf man aussuchen, blind. PLUGIN_MEDLEYSURPRISEBLIND_NAME = Medley Surprise 2 +PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben. +PLUGIN_MEHRALS500_NAME = Sieg 500+ +PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE1000_DESC = Erreiche einen Abstand von 1000 Punkten. +PLUGIN_MORE1000_NAME = 1K Vorsprung PLUGIN_MORE1000_NAME = Mehr als 1000 +PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE2000_NAME = 2K Vorsprung +PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE3000_NAME = 3K Vorsprung +PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE500_DESC = Erreiche einen Abstand von 500 Punkten. +PLUGIN_MORE500_NAME = 500 Vorsprung PLUGIN_MORE500_NAME = Mehr als 500 +PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zurückliegt, fliegt raus. +PLUGIN_MORETHAN1000_NAME = Rückstand 1K PLUGIN_NOSCORE_DESC = Ein Duell ohne Punkteanzeige. PLUGIN_NOSCORE_NAME = No Score +PLUGIN_PKZIEL3000_NAME = <=3000 Blind +PLUGIN_PREMIOCASTIGO_DESC = Die erreichbaren Punkte sind vom Linebonus abhängig +PLUGIN_PREMIOCASTIGO_NAME = Line-Bonus Pkt +PLUGIN_PUNKTEB5000_DESC = Erreiche 5000 Punkte, ohne die Punktzahl zu sehen. +PLUGIN_PUNKTEB5000_NAME = Punkteblind bis 5K +PLUGIN_RANDPOINTS_CHANGE = Punktetausch +PLUGIN_RANDPOINTS_DESC = Punktestände der Spieler können zufällig tauschen. +PLUGIN_RANDPOINTS_NAME = Punktetausch +PLUGIN_REGULA_DESC = Derjenige der hinten liegt, bekommt 10% mehr Punkte. +PLUGIN_REGULA_NAME = Regulator +10% PLUGIN_TEAMDUELL_DESC = Gib das Mikro weiter! PLUGIN_TEAMDUELL_NAME = Teamsingen PLUGIN_UNTIL5000_DESC = Wer zuerst 5000 Punkte hat, gewinnt. PLUGIN_UNTIL5000_NAME = Bis 5000 +PLUGIN_ZIEL_DESC = Jedes Mal, wenn neue 1k Punkte erreicht werden, gibt es einen Punkt. +PLUGIN_ZIEL_NAME = Ziel 1K POPUP_AWESOME = Super! POPUP_AWFUL = Grausam! POPUP_BAD = Schlecht! diff --git a/Game/Output/Languages/Italian.ini b/Game/Output/Languages/Italian.ini index b304b4a0..0f770cbb 100644 --- a/Game/Output/Languages/Italian.ini +++ b/Game/Output/Languages/Italian.ini @@ -77,14 +77,35 @@ PARTY_WIN_DESC = Vincitore Party PARTY_WIN_LEGEND_CONTINUE = Torna al menu principale PARTY_WIN_WHEREAMI = Vincitore Party PLAYLIST_CATTEXT = Playlist: %s +PLUGIN_ATLEAST3500_DESC = Erreiche mindestens 3500 Punkte um zu gewinnen. +PLUGIN_ATLEAST3500_NAME = Mindestens 3500 +PLUGIN_ATLEAST5000_DESC = Erreiche mindestens 5000 Punkte um zu gewinnen. +PLUGIN_ATLEAST5000_NAME = Mindestens 5K +PLUGIN_ATLEAST7500_DESC = Erreiche mindestens 7500 Punkte um zu gewinnen. +PLUGIN_ATLEAST7500_NAME = Mindestens 7500 PLUGIN_BLIND_DESC = Duello senza le note visualizzate. PLUGIN_BLIND_NAME = Alla cieca +PLUGIN_BLIND_NOSCORE_DESC = Erreiche Blind und ohne Punkteanzeige die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE_NAME = Blind&No Score +PLUGIN_BLIND_NOSCORE2_DESC = Erreiche Blind, ohne Punkteanzeige und Linebonus die höchste Punktzahl. +PLUGIN_BLIND_NOSCORE2_NAME = Blind&No Score2 PLUGIN_DUELL_DESC = Duello classico fino a 10000 punti. PLUGIN_DUELL_NAME = Duello +PLUGIN_ERREICH7000_DESC = Jeder der 7000 Punkte erreicht, bekommt Punkte. +PLUGIN_ERREICH7000_NAME = Erreiche 7k +PLUGIN_HANDICAP_DESC = Wer zuerst 5000 Punkte hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP_NAME = Handicap 10% A5K +PLUGIN_HANDICAP2_DESC = Wer 1000 Punkte Vorsprung hat, bekommt danach 10% weniger. +PLUGIN_HANDICAP2_NAME = Handicap 10% R1K PLUGIN_HAUDENLUKAS_DESC = Get all tones and win the game! PLUGIN_HAUDENLUKAS_NAME = Hit the Lukas PLUGIN_HDL_DESC = Non lasciare che l'indicatore scenda al di sotto del livello indicato. PLUGIN_HDL_NAME = Tieni il passo +PLUGIN_JOKER_DESC = Bei 4 oder mehr Jokern bekommt man 5% mehr Punkte. +PLUGIN_JOKER_NAME = Joker~cap +PLUGIN_LINE-BONUS_DESC = Man bekommt nur Punkte für komplette Lines (Linebonus). +PLUGIN_LINE-BONUS_NAME = Line-Bonus +PLUGIN_LOCURA3000_DESC = Erreiche Blind und ohne Punkteanzeige eine Punktzahl von 3000 oder niedriger. PLUGIN_MEDLEY_DESC = Sing up to 5 songs in a medley PLUGIN_MEDLEY_NAME = Medley PLUGIN_MEDLEYBLIND_DESC = Sing up to 5 songs in a medley blind @@ -95,16 +116,40 @@ PLUGIN_MEDLEYSURPRISE_DESC = Up to 5 songs medley, only selecting the 1st song. PLUGIN_MEDLEYSURPRISE_NAME = Medley Surprise PLUGIN_MEDLEYSURPRISEBLIND_DESC = Up to 5 songs medley blind, only selecting the 1st song. PLUGIN_MEDLEYSURPRISEBLIND_NAME = Medley Surprise 2 +PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben. +PLUGIN_MEHRALS500_NAME = Sieg 500+ +PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE1000_DESC = Avanza di 1000 punti in più dell'altro. +PLUGIN_MORE1000_NAME = PLUGIN_MORE1000_NAME = Più di 1000 +PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE2000_NAME = 2K Vorsprung +PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. +PLUGIN_MORE3000_NAME = 3K Vorsprung +PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt höchste Punktzahl. PLUGIN_MORE500_DESC = Avanza di 500 punti in più dell'altro. +PLUGIN_MORE500_NAME = PLUGIN_MORE500_NAME = Più di 500 +PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zurückliegt, fliegt raus. +PLUGIN_MORETHAN1000_NAME = Rückstand 1K PLUGIN_NOSCORE_DESC = Duello senza vedere il punteggio PLUGIN_NOSCORE_NAME = Niente punteggio +PLUGIN_PKZIEL3000_NAME = <=3000 Blind +PLUGIN_PREMIOCASTIGO_DESC = Die erreichbaren Punkte sind vom Linebonus abhängig +PLUGIN_PREMIOCASTIGO_NAME = Line-Bonus Pkt +PLUGIN_PUNKTEB5000_DESC = Erreiche 5000 Punkte, ohne die Punktzahl zu sehen. +PLUGIN_PUNKTEB5000_NAME = Punkteblind bis 5K +PLUGIN_RANDPOINTS_CHANGE = Punktetausch +PLUGIN_RANDPOINTS_DESC = Punktestände der Spieler können zufällig tauschen. +PLUGIN_RANDPOINTS_NAME = Punktetausch +PLUGIN_REGULA_DESC = Derjenige der hinten liegt, bekommt 10% mehr Punkte. +PLUGIN_REGULA_NAME = Regulator +10% PLUGIN_TEAMDUELL_DESC = Passa il microfono! PLUGIN_TEAMDUELL_NAME = Team Duell PLUGIN_UNTIL5000_DESC = Chi arriva per primo a 5000 punti vince. PLUGIN_UNTIL5000_NAME = Fino a 5000 +PLUGIN_ZIEL_DESC = Jedes Mal, wenn neue 1k Punkte erreicht werden, gibt es einen Punkt. +PLUGIN_ZIEL_NAME = Ziel 1K POPUP_AWESOME = Fantastico! POPUP_AWFUL = Terribile! POPUP_BAD = Male! diff --git a/Game/Output/Languages/Languages.xls b/Game/Output/Languages/Languages.xls index 7dc60d29..f5ba6bf6 100644 Binary files a/Game/Output/Languages/Languages.xls and b/Game/Output/Languages/Languages.xls differ diff --git a/Game/Output/Plugins/AtLeast3500.dll b/Game/Output/Plugins/AtLeast3500.dll new file mode 100644 index 00000000..bb7ca9a3 Binary files /dev/null and b/Game/Output/Plugins/AtLeast3500.dll differ diff --git a/Game/Output/Plugins/AtLeast5000.dll b/Game/Output/Plugins/AtLeast5000.dll new file mode 100644 index 00000000..9fb830a5 Binary files /dev/null and b/Game/Output/Plugins/AtLeast5000.dll differ diff --git a/Game/Output/Plugins/AtLeast7500.dll b/Game/Output/Plugins/AtLeast7500.dll new file mode 100644 index 00000000..5a11f9d4 Binary files /dev/null and b/Game/Output/Plugins/AtLeast7500.dll differ diff --git a/Game/Output/Plugins/Blind_NoScore.dll b/Game/Output/Plugins/Blind_NoScore.dll new file mode 100644 index 00000000..40f6846c Binary files /dev/null and b/Game/Output/Plugins/Blind_NoScore.dll differ diff --git a/Game/Output/Plugins/Blind_NoScore2.dll b/Game/Output/Plugins/Blind_NoScore2.dll new file mode 100644 index 00000000..86cf96a8 Binary files /dev/null and b/Game/Output/Plugins/Blind_NoScore2.dll differ diff --git a/Game/Output/Plugins/DuellBlindScore.dll b/Game/Output/Plugins/DuellBlindScore.dll new file mode 100644 index 00000000..0fb9c717 Binary files /dev/null and b/Game/Output/Plugins/DuellBlindScore.dll differ diff --git a/Game/Output/Plugins/Erreich7000.dll b/Game/Output/Plugins/Erreich7000.dll new file mode 100644 index 00000000..414b82a5 Binary files /dev/null and b/Game/Output/Plugins/Erreich7000.dll differ diff --git a/Game/Output/Plugins/Handicap.dll b/Game/Output/Plugins/Handicap.dll new file mode 100644 index 00000000..669d5bf8 Binary files /dev/null and b/Game/Output/Plugins/Handicap.dll differ diff --git a/Game/Output/Plugins/Handicap2.dll b/Game/Output/Plugins/Handicap2.dll new file mode 100644 index 00000000..0671c162 Binary files /dev/null and b/Game/Output/Plugins/Handicap2.dll differ diff --git a/Game/Output/Plugins/Joker.dll b/Game/Output/Plugins/Joker.dll new file mode 100644 index 00000000..cff54bec Binary files /dev/null and b/Game/Output/Plugins/Joker.dll differ diff --git a/Game/Output/Plugins/Line-Bonus.dll b/Game/Output/Plugins/Line-Bonus.dll new file mode 100644 index 00000000..e0357f3e Binary files /dev/null and b/Game/Output/Plugins/Line-Bonus.dll differ diff --git a/Game/Output/Plugins/MehrAls500.dll b/Game/Output/Plugins/MehrAls500.dll new file mode 100644 index 00000000..046cfceb Binary files /dev/null and b/Game/Output/Plugins/MehrAls500.dll differ diff --git a/Game/Output/Plugins/More2000.dll b/Game/Output/Plugins/More2000.dll new file mode 100644 index 00000000..64c49ca5 Binary files /dev/null and b/Game/Output/Plugins/More2000.dll differ diff --git a/Game/Output/Plugins/More3000.dll b/Game/Output/Plugins/More3000.dll new file mode 100644 index 00000000..c0f889f0 Binary files /dev/null and b/Game/Output/Plugins/More3000.dll differ diff --git a/Game/Output/Plugins/MoreThan1000.dll b/Game/Output/Plugins/MoreThan1000.dll new file mode 100644 index 00000000..caa031f6 Binary files /dev/null and b/Game/Output/Plugins/MoreThan1000.dll differ diff --git a/Game/Output/Plugins/Pkziel3000.dll b/Game/Output/Plugins/Pkziel3000.dll new file mode 100644 index 00000000..1dc0e5ac Binary files /dev/null and b/Game/Output/Plugins/Pkziel3000.dll differ diff --git a/Game/Output/Plugins/PremioCastigo.dll b/Game/Output/Plugins/PremioCastigo.dll new file mode 100644 index 00000000..69198573 Binary files /dev/null and b/Game/Output/Plugins/PremioCastigo.dll differ diff --git a/Game/Output/Plugins/PunkteB5000.dll b/Game/Output/Plugins/PunkteB5000.dll new file mode 100644 index 00000000..a883facd Binary files /dev/null and b/Game/Output/Plugins/PunkteB5000.dll differ diff --git a/Game/Output/Plugins/RandomPoints.dll b/Game/Output/Plugins/RandomPoints.dll new file mode 100644 index 00000000..7c88f094 Binary files /dev/null and b/Game/Output/Plugins/RandomPoints.dll differ diff --git a/Game/Output/Plugins/Regula.dll b/Game/Output/Plugins/Regula.dll new file mode 100644 index 00000000..2658fd27 Binary files /dev/null and b/Game/Output/Plugins/Regula.dll differ diff --git a/Game/Output/Plugins/Ziel.dll b/Game/Output/Plugins/Ziel.dll new file mode 100644 index 00000000..b4d411bb Binary files /dev/null and b/Game/Output/Plugins/Ziel.dll differ diff --git a/Game/Output/Themes/Blue Sensation.ini b/Game/Output/Themes/Blue Sensation.ini index ab90d97c..fb61f20a 100644 --- a/Game/Output/Themes/Blue Sensation.ini +++ b/Game/Output/Themes/Blue Sensation.ini @@ -2863,6 +2863,651 @@ Tex=ScoreLine Type=Font Black Color=White +# # # # # # # # # # # # # # # # # # Four Player Score # # # # # # # # # # # # +# P L A Y E R O N E +[ScoreTextName7] +X=330 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P1 +Color=P1Dark + +[ScoreTextNotes7] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore7] +X=330 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus7] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore7] +X=330 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes7] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore7] +X=330 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore7] +X=330 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal7] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore7] +X=330 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark7] +Tex =PlayerNumberBox +X =185 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P1Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer7Text1] +X =189 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P1 + +#lines +[ScorePlayer7Static1] +X=20 +Y=218 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static2] +X=20 +Y=248 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static3] +X=20 +Y=278 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static4] +X=20 +Y=308 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static5] +X=20 +Y=338 +W=310 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T W O +[ScoreTextName8] +X=480 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P2 +Color=P2Dark + +[ScoreTextNotes8] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore8] +X=480 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus8] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore8] +X=480 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes8] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore8] +X=480 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore8] +X=480 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal8] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore8] +X=480 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark8] +Tex =PlayerNumberBox +X =335 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P2Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer8Text1] +X =339 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P2 + +#lines +[ScorePlayer8Static1] +X=335 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static2] +X=335 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static3] +X=335 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static4] +X=335 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static5] +X=335 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T H R E E +[ScoreTextName9] +X=630 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P3 +Color=P3Dark + +[ScoreTextNotes9] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore9] +X=630 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus9] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore9] +X=630 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes9] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore9] +X=630 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore9] +X=630 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal9] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore9] +X=630 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark9] +Tex =PlayerNumberBox +X =485 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P3Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer9Text1] +X =489 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P3 + +#lines +[ScorePlayer9Static1] +X=485 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static2] +X=485 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static3] +X=485 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static4] +X=485 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static5] +X=485 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R F O U R +[ScoreTextName10] +X=780 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P4 +Color=P4Dark + +[ScoreTextNotes10] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore10] +X=780 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus10] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore10] +X=780 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes10] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore10] +X=780 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore10] +X=780 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal10] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore10] +X=780 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark10] +Tex =PlayerNumberBox +X =635 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P4Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer10Text1] +X =639 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P4 + +#lines +[ScorePlayer10Static1] +X=635 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static2] +X=635 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static3] +X=635 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static4] +X=635 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static5] +X=635 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + [Options] Texts = 6 Fade = 2 diff --git a/Game/Output/Themes/Deluxe.ini b/Game/Output/Themes/Deluxe.ini index 77d0ae34..85d95ea2 100644 --- a/Game/Output/Themes/Deluxe.ini +++ b/Game/Output/Themes/Deluxe.ini @@ -2248,6 +2248,651 @@ Tex=ScoreLine Type=Font Black Color=White +# # # # # # # # # # # # # # # # # # Four Player Score # # # # # # # # # # # # +# P L A Y E R O N E +[ScoreTextName7] +X=330 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P1 +Color=P1Dark + +[ScoreTextNotes7] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore7] +X=330 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus7] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore7] +X=330 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes7] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore7] +X=330 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore7] +X=330 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal7] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore7] +X=330 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark7] +Tex =PlayerNumberBox +X =185 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P1Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer7Text1] +X =189 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P1 + +#lines +[ScorePlayer7Static1] +X=20 +Y=218 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static2] +X=20 +Y=248 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static3] +X=20 +Y=278 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static4] +X=20 +Y=308 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static5] +X=20 +Y=338 +W=310 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T W O +[ScoreTextName8] +X=480 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P2 +Color=P2Dark + +[ScoreTextNotes8] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore8] +X=480 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus8] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore8] +X=480 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes8] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore8] +X=480 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore8] +X=480 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal8] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore8] +X=480 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark8] +Tex =PlayerNumberBox +X =335 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P2Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer8Text1] +X =339 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P2 + +#lines +[ScorePlayer8Static1] +X=335 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static2] +X=335 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static3] +X=335 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static4] +X=335 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static5] +X=335 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T H R E E +[ScoreTextName9] +X=630 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P3 +Color=P3Dark + +[ScoreTextNotes9] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore9] +X=630 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus9] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore9] +X=630 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes9] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore9] +X=630 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore9] +X=630 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal9] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore9] +X=630 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark9] +Tex =PlayerNumberBox +X =485 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P3Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer9Text1] +X =489 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P3 + +#lines +[ScorePlayer9Static1] +X=485 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static2] +X=485 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static3] +X=485 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static4] +X=485 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static5] +X=485 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R F O U R +[ScoreTextName10] +X=780 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P4 +Color=P4Dark + +[ScoreTextNotes10] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore10] +X=780 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus10] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore10] +X=780 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes10] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore10] +X=780 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore10] +X=780 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal10] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore10] +X=780 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark10] +Tex =PlayerNumberBox +X =635 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P4Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer10Text1] +X =639 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P4 + +#lines +[ScorePlayer10Static1] +X=635 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static2] +X=635 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static3] +X=635 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static4] +X=635 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static5] +X=635 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + [Options] Texts = 6 Fade = 2 diff --git a/Game/Output/Themes/iStar.ini b/Game/Output/Themes/iStar.ini index eb02e430..6ba225f1 100644 --- a/Game/Output/Themes/iStar.ini +++ b/Game/Output/Themes/iStar.ini @@ -2841,6 +2841,651 @@ Tex=ScoreLine Type=Font Black Color=White +# # # # # # # # # # # # # # # # # # Four Player Score # # # # # # # # # # # # +# P L A Y E R O N E +[ScoreTextName7] +X=330 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P1 +Color=P1Dark + +[ScoreTextNotes7] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore7] +X=330 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus7] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore7] +X=330 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes7] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore7] +X=330 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore7] +X=330 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal7] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore7] +X=330 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark7] +Tex =PlayerNumberBox +X =185 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P1Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer7Text1] +X =189 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P1 + +#lines +[ScorePlayer7Static1] +X=20 +Y=218 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static2] +X=20 +Y=248 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static3] +X=20 +Y=278 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static4] +X=20 +Y=308 +W=310 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer7Static5] +X=20 +Y=338 +W=310 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T W O +[ScoreTextName8] +X=480 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P2 +Color=P2Dark + +[ScoreTextNotes8] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore8] +X=480 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus8] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore8] +X=480 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes8] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore8] +X=480 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore8] +X=480 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal8] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore8] +X=480 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark8] +Tex =PlayerNumberBox +X =335 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P2Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer8Text1] +X =339 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P2 + +#lines +[ScorePlayer8Static1] +X=335 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static2] +X=335 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static3] +X=335 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static4] +X=335 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer8Static5] +X=335 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R T H R E E +[ScoreTextName9] +X=630 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P3 +Color=P3Dark + +[ScoreTextNotes9] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore9] +X=630 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus9] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore9] +X=630 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes9] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore9] +X=630 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore9] +X=630 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal9] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore9] +X=630 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark9] +Tex =PlayerNumberBox +X =485 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P3Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer9Text1] +X =489 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P3 + +#lines +[ScorePlayer9Static1] +X=485 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static2] +X=485 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static3] +X=485 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static4] +X=485 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer9Static5] +X=485 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + +# P L A Y E R F O U R +[ScoreTextName10] +X=780 +Y=170 +Font=0 +Size=10 +Align=2 +Text=P4 +Color=P4Dark + +[ScoreTextNotes10] +X=20 +Y=220 +Font=0 +Size=9 +Align=0 +Text=SING_NOTES +Color=White + +[ScoreTextNotesScore10] +X=780 +Y=220 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextLineBonus10] +X=20 +Y=250 +Font=0 +Size=9 +Align=0 +Text=SING_PHRASE_BONUS +Color=White + +[ScoreTextLineBonusScore10] +X=780 +Y=250 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextGoldenNotes10] +X=20 +Y=280 +Font=0 +Size=9 +Align=0 +Text=SING_GOLDEN_NOTES +Color=White + +[ScoreTextGoldenNotesScore10] +X=780 +Y=280 +Font=0 +Size=10 +Align=2 +Text=0000 +Color=White + +[ScoreTextScore10] +X=780 +Y=310 +Font=1 +Size=9 +Align=2 +Text=Tone Deaf +Color=White + +[ScoreTextTotal10] +X=20 +Y=373 +Font=0 +Size=10 +Align=0 +Text=SING_TOTAL +Color=White + +[ScoreTextTotalScore10] +X=780 +Y=364 +Font=0 +Size=14 +Align=2 +Text=00000 +Color=White + +[ScoreStaticBoxDark10] +Tex =PlayerNumberBox +X =635 +Y =370 +W =25 +H =24 +Type =Font Black +Color =P4Dark +Z=0.9 +Reflection=1 +ReflectionSpacing=4 + +[ScorePlayer10Text1] +X =639 +Y =376 +W =30 +H =30 +Z=1 +Color=White +Font =1 +Size =5 +Align=0 +Text=P4 + +#lines +[ScorePlayer10Static1] +X=635 +Y=218 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static2] +X=635 +Y=248 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static3] +X=635 +Y=278 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static4] +X=635 +Y=308 +W=145 +H=2 +Tex=ScoreLine +Type=Font Black +Color=White + +[ScorePlayer10Static5] +X=635 +Y=338 +W=145 +H=4 +Tex=ScoreLine +Type=Font Black +Color=White + [Options] Texts = 6 Fade = 2 -- cgit v1.2.3