From ac12e8ff541b2d30f0b5dd070f83fc43d9b2116d Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Sun, 4 Jul 2010 17:06:14 +0000 Subject: - possible/remainings score bar in singscreen: red at start, decreasing with lost score, filling green from left with score - added session log. log all played songs with player names and score - fixed calculation of possible scores - change tabs on/off: now with CTRL+T (songscreen) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2573 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Screens/UScreenSingModi.pas | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'Game/Code/Screens/UScreenSingModi.pas') diff --git a/Game/Code/Screens/UScreenSingModi.pas b/Game/Code/Screens/UScreenSingModi.pas index 6144c27f..0370509e 100644 --- a/Game/Code/Screens/UScreenSingModi.pas +++ b/Game/Code/Screens/UScreenSingModi.pas @@ -83,6 +83,7 @@ begin begin PlaylistMedley.CurrentMedleySong:=PlaylistMedley.NumMedleySongs+1; Finish; + FadeOut := true; Music.PlayBack; for I := 0 to PlayersPlay-1 do //TODO: leave all this? @@ -106,6 +107,7 @@ begin end else begin Finish; + FadeOut := true; Music.PlayBack; if (ScreenSong.Mode=smParty) then @@ -624,21 +626,28 @@ end; end; end; - for I := 0 to Length(Czesci) - 1 do + for I := 0 to Length(Czesci) - 1 do begin + //init K ... K := Czesci[I].Akt; + + //find actual line for J := 0 to Czesci[I].High do begin if Czas.AktBeat >= Czesci[I].Czesc[J].Start then K := J; end; + + //time diff ab := GetTimeFromBeat(Czesci[I].Czesc[K].StartNote) - Czas.Teraz; + //last line if (K = Czesci[I].High) then ab := Czas.Teraz - GetTimeFromBeat(Czesci[I].Czesc[K].Nuta[Czesci[I].Czesc[K].HighNut].Start+ Czesci[I].Czesc[K].Nuta[Czesci[I].Czesc[K].HighNut].Dlugosc); - if (ab>2*dt) then + //lyric main and other nice things + if (ab>2.5*dt) or ((K = Czesci[I].High) and (ab>dt)) then begin Alpha[I] := Alpha[I]-TimeSkip/dt; if (Alpha[I]<0) then @@ -651,6 +660,7 @@ end; end else Alpha[I] := 1; + //lyric sub if (K < Czesci[I].High) then begin ab := GetTimeFromBeat(Czesci[I].Czesc[K+1].StartNote) - Czas.Teraz; @@ -664,6 +674,7 @@ end; end; end; + if not AktSong.isDuet then begin Alpha[1] := Alpha[0]; -- cgit v1.2.3