diff options
author | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-01-18 14:10:28 +0000 |
---|---|---|
committer | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-01-18 14:10:28 +0000 |
commit | ecf41a3f0e7c5770cea44659b27162cfaad78a37 (patch) | |
tree | b877a96b8128c5a0d97f46a937b57c3ea3be8b2e | |
parent | 58e4a47fb4c509af436c36e74b98d98ba66a2e9c (diff) | |
download | usdx-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
-rw-r--r-- | src/screens/UScreenScore.pas | 44 |
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; |