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 ++++++++++++++++++----- Skins/Deluxe/Blue.ini | 1 + Skins/Deluxe/[sing]pause.png | Bin 0 -> 13261 bytes Themes/Deluxe.ini | 10 ++++++++++ 6 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 Skins/Deluxe/[sing]pause.png 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; diff --git a/Skins/Deluxe/Blue.ini b/Skins/Deluxe/Blue.ini index f38d61cd..7631ba04 100644 --- a/Skins/Deluxe/Blue.ini +++ b/Skins/Deluxe/Blue.ini @@ -178,6 +178,7 @@ NotePlainRight = [sing]notesPlainRight.png NoteBGLeft = [sing]notesBgLeft.png NoteBGMid = [sing]notesBgMid.png NoteBGRight = [sing]notesBgRight.png +Pause = [sing]pause.png # # # E F F E C T S # # # diff --git a/Skins/Deluxe/[sing]pause.png b/Skins/Deluxe/[sing]pause.png new file mode 100644 index 00000000..f5ab158c Binary files /dev/null and b/Skins/Deluxe/[sing]pause.png differ diff --git a/Themes/Deluxe.ini b/Themes/Deluxe.ini index 476f7091..76a83551 100644 --- a/Themes/Deluxe.ini +++ b/Themes/Deluxe.ini @@ -7868,3 +7868,13 @@ Z =0.99 Int=1 Color =White Type=Plain + +[PausePopUpStatic] +Tex =Pause +X =0 +Y =0 +W =800 +H =600 +Z =0.95 +Color =White +Type=Colorized -- cgit v1.2.3