aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens/UScreenCredits.pas
diff options
context:
space:
mode:
authormogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-04-26 00:11:39 +0000
committermogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-04-26 00:11:39 +0000
commite3ec6fbc344c9af26b80932d3a29fb4bf1f6c9a2 (patch)
tree1dc748145a8d10e2d96b45a5d2f60617a33e055f /Game/Code/Screens/UScreenCredits.pas
parent00523aa053c7fa3ddcc3a8e574417ca10288895a (diff)
downloadusdx-e3ec6fbc344c9af26b80932d3a29fb4bf1f6c9a2.tar.gz
usdx-e3ec6fbc344c9af26b80932d3a29fb4bf1f6c9a2.tar.xz
usdx-e3ec6fbc344c9af26b80932d3a29fb4bf1f6c9a2.zip
Feature: Credits screen is now a screen for itself (UGraphic.pas, UScreenMain.pas, UScreenCredits.pas)
Feature: Credits screen now has a tune in the background, thanks weezl <3 !! (place the mp3 into your "Sounds" path) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@141 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Screens/UScreenCredits.pas')
-rw-r--r--Game/Code/Screens/UScreenCredits.pas223
1 files changed, 223 insertions, 0 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.