From 3086b0cb208ddda5fd4cc8934080c68f034194c2 Mon Sep 17 00:00:00 2001 From: f1fth_freed0m Date: Wed, 12 Mar 2008 05:40:28 +0000 Subject: Added an skinable overlay in SingScreen to indicate if pause is enabled Fixed the erroroutput of ZeroNote Check git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@955 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/USong.pas | 2 +- Game/Code/Classes/UThemes.pas | 6 ++++++ Game/Code/Screens/UScreenSing.pas | 23 ++++++++++++++++++----- 3 files changed, 25 insertions(+), 6 deletions(-) (limited to 'Game/Code') diff --git a/Game/Code/Classes/USong.pas b/Game/Code/Classes/USong.pas index 427cba2e..0ac8e841 100644 --- a/Game/Code/Classes/USong.pas +++ b/Game/Code/Classes/USong.pas @@ -248,7 +248,7 @@ begin Read(SongFile, ParamS); //Check for ZeroNote - if Param2 = 0 then Log.LogError('Error: Found ZeroNote at "'+TempC+' '+IntToStr(Param1)+' '+IntToStr(Param2)+' '+IntToStr(Param3)+' '+ParamS+'" -> Note ignored!') else + if Param2 = 0 then Log.LogError('Found ZeroNote at "'+TempC+' '+IntToStr(Param1)+' '+IntToStr(Param2)+' '+IntToStr(Param3)+ParamS+'" -> Note ignored!') else begin // add notes if not Both then diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas index f47fbc0f..dcdb8681 100644 --- a/Game/Code/Classes/UThemes.pas +++ b/Game/Code/Classes/UThemes.pas @@ -316,6 +316,9 @@ type //Linebonus Translations LineBonusText: Array [0..8] of String; + + //Pause Popup + PausePopUp: TThemeStatic; end; TThemeScore = class(TThemeBasic) @@ -1056,6 +1059,9 @@ begin Sing.LineBonusText[7] := Language.Translate('POPUP_AWESOME'); Sing.LineBonusText[8] := Language.Translate('POPUP_PERFECT'); + //PausePopup + ThemeLoadStatic(Sing.PausePopUp, 'PausePopUpStatic'); + // Score ThemeLoadBasic(Score, 'Score'); diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas index 608bae72..964123aa 100644 --- a/Game/Code/Screens/UScreenSing.pas +++ b/Game/Code/Screens/UScreenSing.pas @@ -87,6 +87,7 @@ type {StaticP3RScoreBG: integer; TextP3RScore: integer;} + StaticPausePopup: integer; Tex_Background: TTexture; FadeOut: boolean; @@ -202,7 +203,7 @@ end; //Pause Mod procedure TScreenSing.Pause; begin - if not paused then //Pause einschalten + if not paused then //enable Pause begin // pause Time PauseTime := LineState.CurrentTime; @@ -216,7 +217,7 @@ begin fCurrentVideoPlaybackEngine.Pause; end - else //Pause ausschalten + else //disable Pause begin LineState.CurrentTime := PauseTime; //Position of Notes @@ -303,6 +304,9 @@ begin TextP3RScore := AddText(Theme.Sing.TextP3RScore); StaticP3SingBar := AddStatic(Theme.Sing.StaticP3SingBar);} + StaticPausePopup := AddStatic(Theme.Sing.PausePopUp); + Static[StaticPausePopup].Visible := false; //Pausepopup is not visibile at the beginning + if ScreenAct = 2 then begin // katze und affe @@ -347,7 +351,7 @@ begin Scores.Init; //Get Positions for Players - + // prepare players SetLength(Player, PlayersPlay); @@ -1212,8 +1216,7 @@ begin if ShowFinish then begin if (not AudioPlayback.Finished) and ((CurrentSong.Finish = 0) or (LineState.CurrentTime*1000 <= CurrentSong.Finish)) then begin //Pause Mod: - if not Paused then - Sing(Self); // analyze song + if not Paused then Sing(Self); // analyze song end else begin // Log.LogError('End'); if not FadeOut then begin @@ -1260,6 +1263,16 @@ begin for T := 0 to 1 do Text[T].X := Text[T].X - 10*ScreenX; + //Draw Pausepopup + //I use this workaround that the Static is drawen over the Lyrics, Lines, Scores and Effects + //maybe someone could find a better solution + if Paused then + begin + Static[StaticPausePopup].Visible := true; + Static[StaticPausePopup].Draw; + Static[StaticPausePopup].Visible := false; + end; + end; procedure TScreenSing.Finish; -- cgit v1.2.3