diff options
Diffstat (limited to 'Game/Code')
-rw-r--r-- | Game/Code/Classes/UGraphic.pas | 11 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenCredits.pas | 223 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenMain.pas | 184 | ||||
-rw-r--r-- | Game/Code/UltraStar.dpr | 25 |
4 files changed, 247 insertions, 196 deletions
diff --git a/Game/Code/Classes/UGraphic.pas b/Game/Code/Classes/UGraphic.pas index 342efe3c..df7cd411 100644 --- a/Game/Code/Classes/UGraphic.pas +++ b/Game/Code/Classes/UGraphic.pas @@ -8,7 +8,8 @@ uses UScreenSong, UScreenSing, UScreenScore, UScreenTop5, UScreenEditSub,
UScreenEdit, UScreenEditConvert, UScreenEditHeader, UScreenOpen, UThemes, USkins, UScreenSongMenu, UScreenSongJumpto,
{Party Screens} UScreenSingModi, UScreenPartyNewRound, UScreenPartyScore, UScreenPartyOptions, UScreenPartyWin, UScreenPartyPlayer,
- {Stats Screens} UScreenStatMain, UScreenStatDetail;
+ {Stats Screens} UScreenStatMain, UScreenStatDetail,
+ {CreditsScreen} UScreenCredits;
type
TRecR = record
@@ -67,7 +68,10 @@ var ScreenStatMain: TScreenStatMain;
ScreenStatDetail: TScreenStatDetail;
+ //CreditsScreen
+ ScreenCredits: TScreenCredits;
+ //Notes
Tex_Left: array[0..6] of TTexture;
Tex_Mid: array[0..6] of TTexture;
Tex_Right: array[0..6] of TTexture;
@@ -443,6 +447,9 @@ begin Log.BenchmarkEnd(3); Log.LogBenchmark('====> Screen Stat Main', 3); Log.BenchmarkStart(3);
ScreenStatDetail := TScreenStatDetail.Create;
Log.BenchmarkEnd(3); Log.LogBenchmark('====> Screen Stat Detail', 3); Log.BenchmarkStart(3);
-end;
+ ScreenCredits := TScreenCredits.Create('');
+ Log.BenchmarkEnd(3); Log.LogBenchmark('====> Screen Credits', 3); Log.BenchmarkStart(3);
+
+ end;
end.
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.
diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index d5418e04..0db37635 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -6,9 +6,6 @@ program UltraStar; {$R 'UltraStar.res' 'UltraStar.rc'}
uses
- //------------------------------
- //Includes - Menu System
- //------------------------------
UDisplay in 'Menu\UDisplay.pas',
UMenu in 'Menu\UMenu.pas',
UMenuStatic in 'Menu\UMenuStatic.pas',
@@ -18,10 +15,6 @@ uses UMenuSelect in 'Menu\UMenuSelect.pas',
UMenuSelectSlide in 'Menu\UMenuSelectSlide.pas',
UDrawTexture in 'Menu\UDrawTexture.pas',
-
- //------------------------------
- //Includes - Classes
- //------------------------------
UGraphic in 'Classes\UGraphic.pas',
UTexture in 'Classes\UTexture.pas',
UMusic in 'Classes\UMusic.pas',
@@ -50,10 +43,6 @@ uses UDLLManager in 'Classes\UDLLManager.pas',
UParty in 'Classes\UParty.pas',
UPlaylist in 'Classes\UPlaylist.pas',
-
- //------------------------------
- //Includes - Screens
- //------------------------------
UScreenLoading in 'Screens\UScreenLoading.pas',
UScreenWelcome in 'Screens\UScreenWelcome.pas',
UScreenMain in 'Screens\UScreenMain.pas',
@@ -80,30 +69,18 @@ uses UScreenSongJumpto in 'Screens\UScreenSongJumpto.pas',
UScreenStatMain in 'Screens\UScreenStatMain.pas',
UScreenStatDetail in 'Screens\UScreenStatDetail.pas',
-
- //------------------------------
- //Includes - Screens PartyMode
- //------------------------------
UScreenSingModi in 'Screens\UScreenSingModi.pas',
UScreenPartyNewRound in 'Screens\UScreenPartyNewRound.pas',
UScreenPartyScore in 'Screens\UScreenPartyScore.pas',
UScreenPartyPlayer in 'Screens\UScreenPartyPlayer.pas',
UScreenPartyOptions in 'Screens\UScreenPartyOptions.pas',
UScreenPartyWin in 'Screens\UScreenPartyWin.pas',
-
- //------------------------------
- //Includes - Modi SDK
- //------------------------------
ModiSDK in '..\..\Modis\SDK\ModiSDK.pas',
-
- //------------------------------
- //Includes - Delphi
- //------------------------------
+ UScreenCredits in 'Screens\UScreenCredits.pas',
Windows,
SDL,
SysUtils;
-
const
Version = 'UltraStar Deluxe V 0.96 Beta';
|