aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens
diff options
context:
space:
mode:
Diffstat (limited to 'Game/Code/Screens')
-rw-r--r--Game/Code/Screens/UScreenCredits.pas223
-rw-r--r--Game/Code/Screens/UScreenMain.pas184
2 files changed, 237 insertions, 170 deletions
diff --git a/Game/Code/Screens/UScreenCredits.pas b/Game/Code/Screens/UScreenCredits.pas
new file mode 100644
index 00000000..2e5f4abc
--- /dev/null
+++ b/Game/Code/Screens/UScreenCredits.pas
@@ -0,0 +1,223 @@
+unit UScreenCredits;
+
+interface
+
+uses
+ UMenu, SDL, UDisplay, UMusic, UPliki, SysUtils, UThemes, ULCD, ULight;
+
+type
+ TScreenCredits = class(TMenu)
+ public
+
+ Credits_Y: Real;
+ Credits_Time: Cardinal;
+ Credits_Alpha: Cardinal;
+
+ Fadeout: boolean;
+ constructor Create(Back: String); override;
+ function ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; override;
+ function Draw: boolean; override;
+ procedure onShow; override;
+ procedure onHide; override;
+ procedure DrawCredits;
+ end;
+
+ const Credits_Text: Array[0..52] of PChar = (
+ ':SPACE:',
+ 'Main Idea: Corvus 5',
+ 'Thank you very much for this great Game',
+ ':SPACE:',
+ 'The Ultrastar Deluxe Team:',
+ ':SPACE:',
+ 'blindy:',
+ 'VFX Programming',
+ ':SPACE:',
+ 'commandi00:',
+ 'Beta Testing',
+ ':SPACE:',
+ 'Crazy Joker:',
+ 'Graphics',
+ ':SPACE:',
+ 'DennistheMenace:',
+ 'Beta Testing and great Support in "the Board"',
+ ':SPACE:',
+ 'Mog:',
+ 'Programming, Graphics',
+ ':SPACE:',
+ 'Mota:',
+ 'Programming, Idea of creating this Mod',
+ ':SPACE:',
+ 'Sawyer:',
+ 'Web Master, Programming',
+ ':SPACE:',
+ 'Whiteshark:',
+ 'Programming, Creating Release',
+ ':SPACE:',
+ ':SPACE:',
+ 'Thanks to',
+ ':SPACE:',
+ 'Blind Guard',
+ 'for supporting us and administrate this great Board',
+ ':SPACE:',
+ 'Weezl',
+ 'for the credits screen music',
+ ':SPACE:',
+ 'The whole Community from www.ultra-star.dl.am',
+ 'for supporting us, supporting the newbies',
+ 'and remembering us to continue work',
+ ':SPACE:',
+ 'You',
+ 'for using Ultrastar Deluxe',
+ ':SPACE:',
+ ':SPACE:',
+ 'Visit us at:',
+ 'http://www.ultrastardx.dl.am',
+ 'http://sourceforge.net/projects/ultrastardx/',
+ 'http://www.Ultra-Star.dl.am',
+ 'Please write Bug Reports and Feature Requests',
+ 'to help making this a better Game');
+
+
+implementation
+
+uses Dialogs,Windows, UGraphic, UMain, UIni, UTexture, USongs, Textgl, opengl, ULanguage;
+
+function TScreenCredits.ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean;
+begin
+ Result := true;
+ If (PressedDown) Then
+ begin // Key Down
+ case PressedKey of
+ SDLK_ESCAPE :
+ begin
+ FadeTo(@ScreenMain);
+ Music.PlayBack;
+ end;
+ end;//esac
+ end; //fi
+end;
+
+constructor TScreenCredits.Create(Back: String);
+var
+ I: integer;
+begin
+ inherited Create(Back);
+
+ AddBackground(Theme.Loading.Background.Tex);
+
+// for I := 0 to High(Theme.Loading.Static) do
+// AddStatic(Theme.Loading.Static[I]);
+
+// for I := 0 to High(Theme.Loading.Text) do
+// AddText(Theme.Loading.Text[I]);
+
+ Fadeout := false;
+end;
+
+function TScreenCredits.Draw: boolean;
+begin
+ DrawCredits;
+end;
+
+procedure TScreenCredits.onShow;
+begin
+ Credits_Y := 600;
+ Credits_Alpha := 0;
+ //Music.SetLoop(true); Loop looped ned, so ne scheisse
+ Music.Open(soundpath + 'wome_-_echoes.mp3'); //danke kleinster liebster weeeetüüüüü!!
+ Music.Play;
+end;
+
+procedure TScreenCredits.onHide;
+begin
+ Music.Stop;
+end;
+
+procedure TScreenCredits.DrawCredits;
+var
+ T,I: Cardinal;
+ Y: Real;
+ Ver: PChar;
+begin
+ T := GetTickCount div 33;
+ if T <> Credits_Time then
+ begin
+ Credits_Time := T;
+ //Change Position
+ Credits_Y := Credits_Y - 1;
+ //Change Alpha
+ Inc (Credits_Alpha, 3);
+ end;
+ //If lowest Position is outside the Screen-> Show MainMenu
+ if (Y <= 0) then
+ Y := 600;
+ //Draw BackGround
+ DrawBG;
+
+
+ //Draw pulsing Credits Text
+ //Set Font
+ SetFontStyle (2);
+ SetFontItalic(False);
+ SetFontSize(9);
+ SetFontPos (10, 5);
+ glColor4f(1, 0, 0, 0.2 + Abs((Credits_Alpha mod 150)/100 - 0.75));
+ glPrint ('You may press ESC now');
+
+ //Set Font Size for Credits
+ SetFontSize(12);
+ //Draw Version
+ if (Credits_Y>-35) then
+ begin
+ Ver := PChar(Language.Translate('US_VERSION'));
+ //Set Color
+ if Credits_Y > 500 then
+ glColor4f(1, 0.6, 0.08, (600 - Credits_Y)/100 - 0.2)
+ else
+ glColor4f(1, 0.6, 0.08, 0.8);
+
+ SetFontPos (400 - glTextWidth(Ver)/2, Credits_Y);
+ glprint(Ver);
+ end;
+
+ //Set Color + Start Pos
+ glColor4f(0.8, 0.8, 1, 0.8);
+ Y := Credits_Y + 50;
+
+ //Search upper Position
+ For I := 0 to high(Credits_Text) do
+ begin
+ if (Credits_Text[I]=':SPACE:') then //Spacer
+ Y := Y + 55
+ else
+ Y := Y + 30;
+
+ if Y > -35 then
+ break;
+ end;
+
+ //Draw Text
+ For T := I+1 to high(Credits_Text) do
+ begin
+ if (Credits_Text[T]=':SPACE:') then //Spacer
+ Y := Y + 55
+ else
+ begin
+ //Set Color
+ if Y > 500 then
+ glColor4f(0.8, 0.8, 1, (600 - Y)/100 - 0.2)
+ else
+ glColor4f(0.8, 0.8, 1, 0.8);
+
+ SetFontPos (400 - glTextWidth(Credits_Text[T])/2, Y);
+ glprint(Credits_Text[T]);
+ Y := Y + 30;
+ end;
+
+ if Y > 600 then
+ break;
+ end;
+
+end;
+
+end.
diff --git a/Game/Code/Screens/UScreenMain.pas b/Game/Code/Screens/UScreenMain.pas
index 051cd101..28c255d1 100644
--- a/Game/Code/Screens/UScreenMain.pas
+++ b/Game/Code/Screens/UScreenMain.pas
@@ -11,14 +11,6 @@ type
TextDescription: integer;
TextDescriptionLong: integer;
- //Credits Mod
- Credits_Visible: Boolean;
- Credits_Y: Real;
- Credits_Time: Cardinal;
- Credits_Alpha: Cardinal;
- procedure DrawCredits;
- //Credits Mod End
-
constructor Create; override;
function ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; override;
procedure onShow; override;
@@ -26,65 +18,12 @@ type
procedure InteractPrev; override;
procedure UpdateLCD;
procedure SetAnimationProgress(Progress: real); override;
- function Draw: boolean; override;
+ //function Draw: boolean; override;
end;
-const Credits_Text: Array[0..49] of PChar = (
- ':SPACE:',
- 'Main Idea: Corvus 5',
- 'Thank you very much for this great Game',
- ':SPACE:',
- 'The Ultrastar Deluxe Team:',
- ':SPACE:',
- 'blindy:',
- 'VFX Programming',
- ':SPACE:',
- 'commandi00:',
- 'Beta Testing',
- ':SPACE:',
- 'Crazy Joker:',
- 'Graphics',
- ':SPACE:',
- 'DennistheMenace:',
- 'Beta Testing and great Support in "the Board"',
- ':SPACE:',
- 'Mog:',
- 'Programming, Graphics',
- ':SPACE:',
- 'Mota:',
- 'Programming, Idea of creating this Mod',
- ':SPACE:',
- 'Sawyer:',
- 'Web Master, Programming',
- ':SPACE:',
- 'Whiteshark:',
- 'Programming, Creating Release',
- ':SPACE:',
- ':SPACE:',
- 'Thanks to',
- ':SPACE:',
- 'Blind Guard',
- 'for supporting us and administrate this great Board',
- ':SPACE:',
- 'The whole Community from www.ultra-star.dl.am',
- 'for supporting us, supporting the newbies',
- 'and remembering us to continue work',
- ':SPACE:',
- 'You',
- 'for using Ultrastar Deluxe',
- ':SPACE:',
- ':SPACE:',
- 'Visit us at:',
- 'http://www.ultrastardx.dl.am',
- 'http://sourceforge.net/projects/ultrastardx/',
- 'http://www.Ultra-Star.dl.am',
- 'Please write Bug Reports and Feature Requests',
- 'to help making this a better Game');
-
-
implementation
-uses Windows, UGraphic, UMain, UIni, UTexture, USongs, Textgl, opengl, ULanguage, UParty, UDLLManager;
+uses Windows, UGraphic, UMain, UIni, UTexture, USongs, Textgl, opengl, ULanguage, UParty, UDLLManager, UScreenCredits;
function TScreenMain.ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean;
@@ -98,11 +37,11 @@ begin
+ KMOD_LCTRL + KMOD_RCTRL + KMOD_LALT + KMOD_RALT);
//Deactivate Credits when Key is pressed
- if Credits_Visible then
- begin
- Credits_Visible := False;
- exit;
- end;
+// if Credits_Visible then
+// begin
+// Credits_Visible := False;
+// exit;
+// end;
If (PressedDown) Then
begin // Key Down
@@ -121,9 +60,11 @@ begin
begin
if (SDL_ModState = KMOD_LALT) then
begin
- Credits_Y := 600;
- Credits_Alpha := 0;
- Credits_Visible := True;
+ //Credits_Y := 600;
+ //Credits_Alpha := 0;
+ //Credits_Visible := True;
+ Music.PlayStart;
+ FadeTo(@ScreenCredits);
end;
end;
SDLK_M:
@@ -210,7 +151,7 @@ begin
Interaction := 0;
//Some Testing for Button Fade
- Button[0].SelectH := Button[0].H * 3;
+{ Button[0].SelectH := Button[0].H * 3;
Button[0].Fade := True;
Button[0].FadeText := True;
Button[0].DeSelectReflectionspacing := 280;
@@ -225,6 +166,7 @@ begin
Button[3].SelectH := Button[0].H * 3;
Button[3].Fade := True;
Button[3].FadeText := True;
+}
end;
procedure TScreenMain.onShow;
@@ -266,102 +208,4 @@ begin
Static[0].Texture.ScaleW := Progress;
Static[0].Texture.ScaleH := Progress;
end;
-
-function TScreenMain.Draw: boolean;
-begin
-Result := True;
-if Credits_Visible then
- DrawCredits
-else
- Result := inherited Draw;
-end;
-
-procedure TScreenMain.DrawCredits;
-var
- T, I: Cardinal;
- Y: Real;
- Ver: PChar;
-begin
- T := GetTickCount div 33;
- if T <> Credits_Time then
- begin
- Credits_Time := T;
- //Change Position
- Credits_Y := Credits_Y - 1;
- //Change Alpha
- Inc (Credits_Alpha, 3);
- end;
-
- //Draw BackGround
- DrawBG;
-
-
- //Draw pulsing Credits Text
- //Set Font
- SetFontStyle (2);
- SetFontItalic(False);
- SetFontSize(9);
- SetFontPos (10, 5);
- glColor4f(1, 0, 0, 0.2 + Abs((Credits_Alpha mod 150)/100 - 0.75));
- glPrint ('Credits! Press any Key to Continue');
-
- //Set Font Size for Credits
- SetFontSize(12);
- //Draw Version
- if (Credits_Y>-35) then
- begin
- Ver := PChar(Language.Translate('US_VERSION'));
- //Set Color
- if Credits_Y > 500 then
- glColor4f(1, 0.6, 0.08, (600 - Credits_Y)/100 - 0.2)
- else
- glColor4f(1, 0.6, 0.08, 0.8);
-
- SetFontPos (400 - glTextWidth(Ver)/2, Credits_Y);
- glprint(Ver);
- end;
-
- //Set Color + Start Pos
- glColor4f(0.8, 0.8, 1, 0.8);
- Y := Credits_Y + 50;
-
- //Search upper Position
- For I := 0 to high(Credits_Text) do
- begin
- if (Credits_Text[I]=':SPACE:') then //Spacer
- Y := Y + 55
- else
- Y := Y + 30;
-
- if Y > -35 then
- break;
- end;
-
- //Draw Text
- For T := I+1 to high(Credits_Text) do
- begin
- if (Credits_Text[T]=':SPACE:') then //Spacer
- Y := Y + 55
- else
- begin
- //Set Color
- if Y > 500 then
- glColor4f(0.8, 0.8, 1, (600 - Y)/100 - 0.2)
- else
- glColor4f(0.8, 0.8, 1, 0.8);
-
- SetFontPos (400 - glTextWidth(Credits_Text[T])/2, Y);
- glprint(Credits_Text[T]);
- Y := Y + 30;
- end;
-
- if Y > 600 then
- break;
- end;
-
- //If lowest Position is outside the Screen-> Show MainMenu
- if (Y <= 0) then
- Credits_Visible := False;
-end;
-
end.