aboutsummaryrefslogtreecommitdiffstats
path: root/src/screens/UScreenScore.pas
diff options
context:
space:
mode:
authorwhiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-01-18 14:10:28 +0000
committerwhiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-01-18 14:10:28 +0000
commitecf41a3f0e7c5770cea44659b27162cfaad78a37 (patch)
treeb877a96b8128c5a0d97f46a937b57c3ea3be8b2e /src/screens/UScreenScore.pas
parent58e4a47fb4c509af436c36e74b98d98ba66a2e9c (diff)
downloadusdx-ecf41a3f0e7c5770cea44659b27162cfaad78a37.tar.gz
usdx-ecf41a3f0e7c5770cea44659b27162cfaad78a37.tar.xz
usdx-ecf41a3f0e7c5770cea44659b27162cfaad78a37.zip
fixed score screen animation speed
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2092 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/screens/UScreenScore.pas')
-rw-r--r--src/screens/UScreenScore.pas44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/screens/UScreenScore.pas b/src/screens/UScreenScore.pas
index bbc0be1d..f1196654 100644
--- a/src/screens/UScreenScore.pas
+++ b/src/screens/UScreenScore.pas
@@ -88,6 +88,13 @@ type
end;
APlayerPositionMap = array of TPlayerPositionMap;
+ { textures for playerstatics of seconds screen players }
+ TPlayerStaticTexture = class
+ Tex: TTexture;
+ Player: integer; // 0..5 playernumber
+
+ end;
+
TScreenScore = class(TMenu)
private
{ holds position and screen of players(index)
@@ -333,27 +340,28 @@ var
begin
CurrentTime := SDL_GetTicks();
- if (ScreenAct = 1) and ((CurrentTime >= BarTime) and ShowFinish) then
- begin
- BarTime := CurrentTime + BarRaiseSpeed;
+ if (ScreenAct = 1) and ShowFinish then
+ while (CurrentTime >= BarTime) do
+ begin
+ Inc(BarTime, BarRaiseSpeed);
- // We actually arise them in the right order, but we have to draw them in reverse order (golden -> phrase -> mainscore)
- if (BarScore_EaseOut_Step < EaseOut_MaxSteps * 10) then
- BarScore_EaseOut_Step:= BarScore_EaseOut_Step + 1
+ // We actually arise them in the right order, but we have to draw them in reverse order (golden -> phrase -> mainscore)
+ if (BarScore_EaseOut_Step < EaseOut_MaxSteps * 10) then
+ BarScore_EaseOut_Step:= BarScore_EaseOut_Step + 1
- // PhrasenBonus
- else if (BarPhrase_EaseOut_Step < EaseOut_MaxSteps * 10) then
- BarPhrase_EaseOut_Step := BarPhrase_EaseOut_Step + 1
+ // PhrasenBonus
+ else if (BarPhrase_EaseOut_Step < EaseOut_MaxSteps * 10) then
+ BarPhrase_EaseOut_Step := BarPhrase_EaseOut_Step + 1
- // GoldenNotebonus
- else if (BarGolden_EaseOut_Step < EaseOut_MaxSteps * 10) then
- BarGolden_EaseOut_Step := BarGolden_EaseOut_Step + 1
+ // GoldenNotebonus
+ else if (BarGolden_EaseOut_Step < EaseOut_MaxSteps * 10) then
+ BarGolden_EaseOut_Step := BarGolden_EaseOut_Step + 1
- // rating icon
- else
- for I := 1 to PlayersPlay do
- CalculateBouncing(I);
- end;
+ // rating icon
+ else
+ for I := 1 to PlayersPlay do
+ CalculateBouncing(I);
+ end;
end;
procedure TScreenScore.DrawPlayerBars;
@@ -509,6 +517,8 @@ begin
TextPhrase_ActualValue[index] := 0;
TextGolden_ActualValue[index] := 0;
end;
+
+ BarTime := SDL_GetTicks();
end;
function TScreenScore.Draw: boolean;