diff options
Diffstat (limited to 'Game/Code')
-rw-r--r-- | Game/Code/Classes/UCommon.pas | 268 | ||||
-rw-r--r-- | Game/Code/Classes/ULyrics.pas | 7 | ||||
-rw-r--r-- | Game/Code/Classes/ULyrics_bak.pas (renamed from Game/Code/Classes/ULyrics.bak.pas) | 32 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenEditSub.pas | 6 | ||||
-rw-r--r-- | Game/Code/UltraStar.dpr | 2 | ||||
-rw-r--r-- | Game/Code/UltraStar.lpi | 1397 | ||||
-rw-r--r-- | Game/Code/UltraStar.lpr | 825 |
7 files changed, 1250 insertions, 1287 deletions
diff --git a/Game/Code/Classes/UCommon.pas b/Game/Code/Classes/UCommon.pas index b7ddd7ba..b572a768 100644 --- a/Game/Code/Classes/UCommon.pas +++ b/Game/Code/Classes/UCommon.pas @@ -1,132 +1,136 @@ -unit UCommon; - -interface - -{$IFDEF FPC} - {$MODE Delphi} -{$ENDIF} - -uses - -{$IFDEF win32} - windows; -{$ELSE} - lcltype, - messages; -{$ENDIF} - -{$IFNDEF win32} -type - hStream = THandle; - HGLRC = THandle; - TLargeInteger = Int64; - TWin32FindData = LongInt; -{$ENDIF} - -{$IFDEF FPC} - -type - TWndMethod = procedure(var Message: TMessage) of object; - -function RandomRange(aMin: Integer; aMax: Integer) : Integer; -//function AllocateHWnd(Method: TWndMethod): HWND; -//procedure DeallocateHWnd(Wnd: HWND); - -function MaxValue(const Data: array of Double): Double; -function MinValue(const Data: array of Double): Double; -{$ENDIF} - -{$IFNDEF win32} -(* - function QueryPerformanceCounter(lpPerformanceCount:TLARGEINTEGER):Bool; - function QueryPerformanceFrequency(lpFrequency:TLARGEINTEGER):Bool; -*) - procedure ZeroMemory( Destination: Pointer; Length: DWORD ); -{$ENDIF} - -implementation - -{$IFNDEF win32} -procedure ZeroMemory( Destination: Pointer; Length: DWORD ); -begin - FillChar( Destination^, Length, 0 ); -end; //ZeroMemory - -(* -function QueryPerformanceCounter(lpPerformanceCount:TLARGEINTEGER):Bool; - - // From http://en.wikipedia.org/wiki/RDTSC - function RDTSC: Int64; register; - asm - rdtsc - end; - -begin - // Use clock_gettime here maybe ... from libc - lpPerformanceCount := RDTSC(); - result := true; -end; - -function QueryPerformanceFrequency(lpFrequency:TLARGEINTEGER):Bool; -begin - lpFrequency := 0; - result := true; -end; -*) -{$ENDIF} - - -{$IFDEF FPC} - -function MaxValue(const Data: array of Double): Double; -var - I: Integer; -begin - Result := Data[Low(Data)]; - for I := Low(Data) + 1 to High(Data) do - if Result < Data[I] then - Result := Data[I]; -end; - -function MinValue(const Data: array of Double): Double; -var - I: Integer; -begin - Result := Data[Low(Data)]; - for I := Low(Data) + 1 to High(Data) do - if Result > Data[I] then - Result := Data[I]; -end; - -function RandomRange(aMin: Integer; aMax: Integer) : Integer; -begin -RandomRange := Random(aMax-aMin) + aMin ; -end; - - -// NOTE !!!!!!!!!! -// AllocateHWnd is in lclintfh.inc - -{ -// TODO : JB this is dodgey and bad... find a REAL solution ! -function AllocateHWnd(Method: TWndMethod): HWND; -var - TempClass: TWndClass; - ClassRegistered: Boolean; -begin - Result := CreateWindowEx(WS_EX_TOOLWINDOW, '', '', WS_POPUP , 0, 0, 0, 0, 0, 0, HInstance, nil); -end; - -procedure DeallocateHWnd(Wnd: HWND); -var - Instance: Pointer; -begin - Instance := Pointer(GetWindowLong(Wnd, GWL_WNDPROC)); - DestroyWindow(Wnd); -end; -} - -{$ENDIF} - - -end. +unit UCommon;
+
+interface
+
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+uses
+
+{$IFDEF win32}
+ windows;
+{$ELSE}
+ lcltype,
+ messages;
+{$ENDIF}
+
+{$IFNDEF win32}
+type
+ hStream = THandle;
+ HGLRC = THandle;
+ TLargeInteger = Int64;
+ TWin32FindData = LongInt;
+{$ENDIF}
+
+{$IFDEF FPC}
+
+type
+ TWndMethod = procedure(var Message: TMessage) of object;
+
+function RandomRange(aMin: Integer; aMax: Integer) : Integer;
+
+function MaxValue(const Data: array of Double): Double;
+function MinValue(const Data: array of Double): Double;
+
+{$IFDEF Win32}
+function AllocateHWnd(Method: TWndMethod): HWND;
+procedure DeallocateHWnd(Wnd: HWND);
+{$ENDIF}
+
+{$ENDIF}
+
+{$IFNDEF win32}
+(*
+ function QueryPerformanceCounter(lpPerformanceCount:TLARGEINTEGER):Bool;
+ function QueryPerformanceFrequency(lpFrequency:TLARGEINTEGER):Bool;
+*)
+ procedure ZeroMemory( Destination: Pointer; Length: DWORD );
+{$ENDIF}
+
+implementation
+
+{$IFNDEF win32}
+procedure ZeroMemory( Destination: Pointer; Length: DWORD );
+begin
+ FillChar( Destination^, Length, 0 );
+end; //ZeroMemory
+
+(*
+function QueryPerformanceCounter(lpPerformanceCount:TLARGEINTEGER):Bool;
+
+ // From http://en.wikipedia.org/wiki/RDTSC
+ function RDTSC: Int64; register;
+ asm
+ rdtsc
+ end;
+
+begin
+ // Use clock_gettime here maybe ... from libc
+ lpPerformanceCount := RDTSC();
+ result := true;
+end;
+
+function QueryPerformanceFrequency(lpFrequency:TLARGEINTEGER):Bool;
+begin
+ lpFrequency := 0;
+ result := true;
+end;
+*)
+{$ENDIF}
+
+
+{$IFDEF FPC}
+
+function MaxValue(const Data: array of Double): Double;
+var
+ I: Integer;
+begin
+ Result := Data[Low(Data)];
+ for I := Low(Data) + 1 to High(Data) do
+ if Result < Data[I] then
+ Result := Data[I];
+end;
+
+function MinValue(const Data: array of Double): Double;
+var
+ I: Integer;
+begin
+ Result := Data[Low(Data)];
+ for I := Low(Data) + 1 to High(Data) do
+ if Result > Data[I] then
+ Result := Data[I];
+end;
+
+function RandomRange(aMin: Integer; aMax: Integer) : Integer;
+begin
+RandomRange := Random(aMax-aMin) + aMin ;
+end;
+
+
+// NOTE !!!!!!!!!!
+// AllocateHWnd is in lclintfh.inc
+
+{$IFDEF Win32}
+// TODO : JB this is dodgey and bad... find a REAL solution !
+function AllocateHWnd(Method: TWndMethod): HWND;
+var
+ TempClass: TWndClass;
+ ClassRegistered: Boolean;
+begin
+ Result := CreateWindowEx(WS_EX_TOOLWINDOW, '', '', WS_POPUP , 0, 0, 0, 0, 0, 0, HInstance, nil);
+end;
+
+procedure DeallocateHWnd(Wnd: HWND);
+var
+ Instance: Pointer;
+begin
+ Instance := Pointer(GetWindowLong(Wnd, GWL_WNDPROC));
+ DestroyWindow(Wnd);
+end;
+{$ENDIF}
+
+{$ENDIF}
+
+
+end.
diff --git a/Game/Code/Classes/ULyrics.pas b/Game/Code/Classes/ULyrics.pas index 5cf6114d..1c2795ce 100644 --- a/Game/Code/Classes/ULyrics.pas +++ b/Game/Code/Classes/ULyrics.pas @@ -1,6 +1,13 @@ unit ULyrics;
interface
+
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+{$I switches.inc}
+
uses OpenGL12, UTexture, UThemes, UMusic;
type
diff --git a/Game/Code/Classes/ULyrics.bak.pas b/Game/Code/Classes/ULyrics_bak.pas index e432f7e5..43fa46f5 100644 --- a/Game/Code/Classes/ULyrics.bak.pas +++ b/Game/Code/Classes/ULyrics_bak.pas @@ -1,7 +1,17 @@ -unit ULyrics.bak;
+unit ULyrics_bak;
interface
-uses SysUtils, OpenGL12, UMusic, UTexture;
+
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+{$I switches.inc}
+
+uses SysUtils,
+ OpenGL12,
+ UMusic,
+ UTexture;
type
TWord = record
@@ -74,6 +84,15 @@ type Text: string; // LCD
constructor Create;
+
+ procedure AddWord(Text: string);
+ procedure AddCzesc(NrCzesci: integer);
+
+ function SelectedLetter: integer; // LCD
+ function SelectedLength: integer; // LCD
+
+ procedure Clear;
+ procedure Draw;
published
property X: real write SetX;
property Y: real write SetY;
@@ -85,15 +104,6 @@ type property Scale: real write SetScale;
property Style: integer write SetStyle;
property FontStyle: integer write SetFStyle;
- procedure AddWord(Text: string);
- procedure AddCzesc(NrCzesci: integer);
-
- function SelectedLetter: integer; // LCD
- function SelectedLength: integer; // LCD
-
- procedure Clear;
- procedure Draw;
-
end;
var
diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas index 93a4892a..e896d603 100644 --- a/Game/Code/Screens/UScreenEditSub.pas +++ b/Game/Code/Screens/UScreenEditSub.pas @@ -2,6 +2,10 @@ unit UScreenEditSub; interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
{$I switches.inc}
uses
@@ -16,7 +20,7 @@ uses ULog,
UTexture,
UMenuText,
- ULyrics.bak,
+ ULyrics_bak,
Math,
OpenGL12,
{$IFDEF UseMIDIPort}
diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index 42301946..7cbc2e55 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -73,7 +73,7 @@ uses USongs in 'Classes\USongs.pas',
UIni in 'Classes\UIni.pas',
ULyrics in 'Classes\ULyrics.pas',
- ULyrics.bak in 'Classes\ULyrics.bak.pas',
+ ULyrics_bak in 'Classes\ULyrics_bak.pas',
USkins in 'Classes\USkins.pas',
UThemes in 'Classes\UThemes.pas',
ULog in 'Classes\ULog.pas',
diff --git a/Game/Code/UltraStar.lpi b/Game/Code/UltraStar.lpi index a3ff59ad..1b925455 100644 --- a/Game/Code/UltraStar.lpi +++ b/Game/Code/UltraStar.lpi @@ -1,730 +1,667 @@ -<?xml version="1.0"?> -<CONFIG> - <ProjectOptions> - <PathDelim Value="/"/> - <Version Value="5"/> - <General> - <Flags> - <MainUnitHasUsesSectionForAllUnits Value="False"/> - <MainUnitHasCreateFormStatements Value="False"/> - <MainUnitHasTitleStatement Value="False"/> - </Flags> - <MainUnit Value="0"/> - <IconPath Value="./"/> - <TargetFileExt Value=".exe"/> - <ActiveEditorIndexAtStart Value="1"/> - </General> - <VersionInfo> - <ProjectVersion Value=""/> - <Language Value=""/> - <CharSet Value=""/> - </VersionInfo> - <PublishOptions> - <Version Value="2"/> - <IgnoreBinaries Value="False"/> - <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> - </PublishOptions> - <RunParams> - <local> - <FormatVersion Value="1"/> - <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> - </local> - </RunParams> - <RequiredPackages Count="1"> - <Item1> - <PackageName Value="ImagesForLazarus"/> - </Item1> - </RequiredPackages> - <Units Count="73"> - <Unit0> - <Filename Value="UltraStar.lpr"/> - <IsPartOfProject Value="True"/> - <CursorPos X="43" Y="118"/> - <TopLine Value="97"/> - <EditorIndex Value="0"/> - <UsageCount Value="86"/> - <Loaded Value="True"/> - </Unit0> - <Unit1> - <Filename Value="lib/JEDI-SDLv1.0/OpenGL/Pas/opengl12.pas"/> - <UnitName Value="opengl12"/> - <CursorPos X="10" Y="269"/> - <TopLine Value="248"/> - <UsageCount Value="10"/> - </Unit1> - <Unit2> - <Filename Value="Classes/UTexture.pas"/> - <UnitName Value="UTexture"/> - <CursorPos X="7" Y="23"/> - <TopLine Value="2"/> - <UsageCount Value="15"/> - </Unit2> - <Unit3> - <Filename Value="Classes/UCommandLine.pas"/> - <UnitName Value="UCommandLine"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="32"/> - </Unit3> - <Unit4> - <Filename Value="Classes/UIni.pas"/> - <UnitName Value="UIni"/> - <CursorPos X="35" Y="383"/> - <TopLine Value="362"/> - <EditorIndex Value="6"/> - <UsageCount Value="32"/> - <Loaded Value="True"/> - </Unit4> - <Unit5> - <Filename Value="Classes/ULog.pas"/> - <UnitName Value="ULog"/> - <CursorPos X="5" Y="5"/> - <TopLine Value="13"/> - <EditorIndex Value="11"/> - <UsageCount Value="13"/> - <Loaded Value="True"/> - </Unit5> - <Unit6> - <Filename Value="Classes/UFiles.pas"/> - <UnitName Value="UFiles"/> - <CursorPos X="9" Y="56"/> - <TopLine Value="46"/> - <EditorIndex Value="8"/> - <UsageCount Value="12"/> - <Loaded Value="True"/> - </Unit6> - <Unit7> - <Filename Value="Classes/USongs.pas"/> - <UnitName Value="USongs"/> - <CursorPos X="110" Y="151"/> - <TopLine Value="122"/> - <EditorIndex Value="5"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit7> - <Unit8> - <Filename Value="../../../../../lazarus/fpc/2.0.4/source/rtl/objpas/sysutils/sysinth.inc"/> - <CursorPos X="3" Y="95"/> - <TopLine Value="75"/> - <UsageCount Value="4"/> - </Unit8> - <Unit9> - <Filename Value="Classes/UMain.pas"/> - <UnitName Value="UMain"/> - <CursorPos X="99" Y="785"/> - <TopLine Value="595"/> - <EditorIndex Value="9"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit9> - <Unit10> - <Filename Value="Classes/UGraphic.pas"/> - <UnitName Value="UGraphic"/> - <CursorPos X="8" Y="245"/> - <TopLine Value="224"/> - <UsageCount Value="33"/> - </Unit10> - <Unit11> - <Filename Value="Classes/UThemes.pas"/> - <UnitName Value="UThemes"/> - <CursorPos X="29" Y="1746"/> - <TopLine Value="1691"/> - <UsageCount Value="9"/> - </Unit11> - <Unit12> - <Filename Value="Classes/UCovers.pas"/> - <UnitName Value="UCovers"/> - <CursorPos X="7" Y="11"/> - <TopLine Value="1"/> - <UsageCount Value="11"/> - </Unit12> - <Unit13> - <Filename Value="Classes/UMusic.pas"/> - <UnitName Value="UMusic"/> - <CursorPos X="1" Y="14"/> - <TopLine Value="1"/> - <UsageCount Value="15"/> - </Unit13> - <Unit14> - <Filename Value="Classes/ULyrics.pas"/> - <UnitName Value="ULyrics"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="5"/> - </Unit14> - <Unit15> - <Filename Value="Screens/UScreenLoading.pas"/> - <UnitName Value="UScreenLoading"/> - <CursorPos X="8" Y="6"/> - <TopLine Value="1"/> - <UsageCount Value="5"/> - </Unit15> - <Unit16> - <Filename Value="Menu/UMenu.pas"/> - <UnitName Value="UMenu"/> - <CursorPos X="1" Y="8"/> - <TopLine Value="1"/> - <UsageCount Value="9"/> - </Unit16> - <Unit17> - <Filename Value="Menu/UMenuText.pas"/> - <UnitName Value="UMenuText"/> - <CursorPos X="14" Y="60"/> - <TopLine Value="37"/> - <UsageCount Value="11"/> - </Unit17> - <Unit18> - <Filename Value="Menu/UMenuSelectSlide.pas"/> - <UnitName Value="UMenuSelectSlide"/> - <CursorPos X="6" Y="12"/> - <TopLine Value="2"/> - <UsageCount Value="4"/> - </Unit18> - <Unit19> - <Filename Value="Screens/UScreenMain.pas"/> - <UnitName Value="UScreenMain"/> - <CursorPos X="13" Y="37"/> - <TopLine Value="16"/> - <UsageCount Value="31"/> - </Unit19> - <Unit20> - <Filename Value="Menu/UDisplay.pas"/> - <UnitName Value="UDisplay"/> - <CursorPos X="54" Y="21"/> - <TopLine Value="1"/> - <UsageCount Value="14"/> - </Unit20> - <Unit21> - <Filename Value="Classes/ULight.pas"/> - <UnitName Value="ULight"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="13"/> - <UsageCount Value="10"/> - <Bookmarks Count="1"> - <Item0 X="19" Y="66" ID="1"/> - </Bookmarks> - </Unit21> - <Unit22> - <Filename Value="Screens/UScreenSing.pas"/> - <UnitName Value="UScreenSing"/> - <CursorPos X="1" Y="1027"/> - <TopLine Value="1006"/> - <UsageCount Value="10"/> - </Unit22> - <Unit23> - <Filename Value="Classes/UVideo.pas"/> - <UnitName Value="UVideo"/> - <CursorPos X="1" Y="8"/> - <TopLine Value="2"/> - <UsageCount Value="10"/> - </Unit23> - <Unit24> - <Filename Value="Screens/UScreenScore.pas"/> - <UnitName Value="UScreenScore"/> - <CursorPos X="9" Y="7"/> - <TopLine Value="1"/> - <UsageCount Value="10"/> - </Unit24> - <Unit25> - <Filename Value="Screens/UScreenEditSub.pas"/> - <UnitName Value="UScreenEditSub"/> - <CursorPos X="11" Y="1339"/> - <TopLine Value="1330"/> - <UsageCount Value="10"/> - </Unit25> - <Unit26> - <Filename Value="switches.inc"/> - <CursorPos X="19" Y="12"/> - <TopLine Value="1"/> - <UsageCount Value="11"/> - </Unit26> - <Unit27> - <Filename Value="lib/midi/Midiout.pas"/> - <UnitName Value="MidiOut"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="9"/> - </Unit27> - <Unit28> - <Filename Value="Screens/UScreenEditConvert.pas"/> - <UnitName Value="UScreenEditConvert"/> - <CursorPos X="22" Y="26"/> - <TopLine Value="1"/> - <UsageCount Value="32"/> - </Unit28> - <Unit29> - <Filename Value="Screens/UScreenSingModi.pas"/> - <UnitName Value="UScreenSingModi"/> - <CursorPos X="1" Y="24"/> - <TopLine Value="1"/> - <UsageCount Value="31"/> - </Unit29> - <Unit30> - <Filename Value="Screens/UScreenCredits.pas"/> - <UnitName Value="UScreenCredits"/> - <CursorPos X="13" Y="119"/> - <TopLine Value="98"/> - <UsageCount Value="32"/> - </Unit30> - <Unit31> - <Filename Value="Classes/URecord.pas"/> - <UnitName Value="URecord"/> - <CursorPos X="21" Y="293"/> - <TopLine Value="271"/> - <UsageCount Value="31"/> - </Unit31> - <Unit32> - <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/jedi-sdl.inc"/> - <CursorPos X="4" Y="237"/> - <TopLine Value="217"/> - <UsageCount Value="10"/> - </Unit32> - <Unit33> - <Filename Value="../../Modis/SDK/ModiSDK.pas"/> - <UnitName Value="ModiSDK"/> - <CursorPos X="79" Y="145"/> - <TopLine Value="104"/> - <EditorIndex Value="7"/> - <UsageCount Value="31"/> - <Loaded Value="True"/> - </Unit33> - <Unit34> - <Filename Value="Classes/UDLLManager.pas"/> - <UnitName Value="UDLLManager"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <EditorIndex Value="2"/> - <UsageCount Value="32"/> - <Loaded Value="True"/> - </Unit34> - <Unit35> - <Filename Value="Classes/UPlaylist.pas"/> - <UnitName Value="UPlaylist"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <EditorIndex Value="3"/> - <UsageCount Value="31"/> - <Loaded Value="True"/> - </Unit35> - <Unit36> - <Filename Value="Classes/UDataBase.pas"/> - <UnitName Value="UDataBase"/> - <CursorPos X="10" Y="211"/> - <TopLine Value="189"/> - <UsageCount Value="31"/> - </Unit36> - <Unit37> - <Filename Value="Screens/UScreenStatMain.pas"/> - <UnitName Value="UScreenStatMain"/> - <CursorPos X="76" Y="167"/> - <TopLine Value="155"/> - <UsageCount Value="32"/> - <Bookmarks Count="1"> - <Item0 X="21" Y="216" ID="1"/> - </Bookmarks> - </Unit37> - <Unit38> - <Filename Value="Screens/UScreenPartyOptions.pas"/> - <UnitName Value="UScreenPartyOptions"/> - <CursorPos X="42" Y="233"/> - <TopLine Value="213"/> - <UsageCount Value="31"/> - </Unit38> - <Unit39> - <Filename Value="Screens/UScreenPartyNewRound.pas"/> - <UnitName Value="UScreenPartyNewRound"/> - <CursorPos X="5" Y="422"/> - <TopLine Value="382"/> - <UsageCount Value="31"/> - </Unit39> - <Unit40> - <Filename Value="Classes/UParty.pas"/> - <UnitName Value="UParty"/> - <CursorPos X="1" Y="8"/> - <TopLine Value="1"/> - <UsageCount Value="31"/> - </Unit40> - <Unit41> - <Filename Value="Classes/UDraw.pas"/> - <UnitName Value="UDraw"/> - <CursorPos X="7" Y="67"/> - <TopLine Value="43"/> - <UsageCount Value="31"/> - </Unit41> - <Unit42> - <Filename Value="Screens/UScreenSongMenu.pas"/> - <UnitName Value="UScreenSongMenu"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="31"/> - </Unit42> - <Unit43> - <Filename Value="Screens/UScreenTop5.pas"/> - <UnitName Value="UScreenTop5"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="10"/> - </Unit43> - <Unit44> - <Filename Value="Classes/UGraphicClasses.pas"/> - <UnitName Value="UGraphicClasses"/> - <CursorPos X="1" Y="7"/> - <TopLine Value="1"/> - <UsageCount Value="11"/> - </Unit44> - <Unit45> - <Filename Value="Screens/UScreenSong.pas"/> - <UnitName Value="UScreenSong"/> - <CursorPos X="13" Y="126"/> - <TopLine Value="105"/> - <UsageCount Value="10"/> - </Unit45> - <Unit46> - <Filename Value="lib/midi/DELPHMCB.PAS"/> - <UnitName Value="Delphmcb"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="9"/> - </Unit46> - <Unit47> - <Filename Value="Classes/UCommon.pas"/> - <UnitName Value="UCommon"/> - <CursorPos X="3" Y="75"/> - <TopLine Value="34"/> - <EditorIndex Value="15"/> - <UsageCount Value="15"/> - <Loaded Value="True"/> - </Unit47> - <Unit48> - <Filename Value="../../../../../lazarus/fpc/2.0.4/source/rtl/objpas/math.pp"/> - <UnitName Value="math"/> - <CursorPos X="1" Y="1041"/> - <TopLine Value="1036"/> - <UsageCount Value="9"/> - </Unit48> - <Unit49> - <Filename Value="Classes/Ulazjpeg.pas"/> - <UnitName Value="Ulazjpeg"/> - <CursorPos X="44" Y="15"/> - <TopLine Value="63"/> - <UsageCount Value="11"/> - </Unit49> - <Unit50> - <Filename Value="Classes/TextGL.pas"/> - <UnitName Value="TextGL"/> - <CursorPos X="7" Y="64"/> - <TopLine Value="43"/> - <UsageCount Value="13"/> - </Unit50> - <Unit51> - <Filename Value="UltraStar.lrs"/> - <CursorPos X="17" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="10"/> - </Unit51> - <Unit52> - <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/moduleloader.pas"/> - <UnitName Value="moduleloader"/> - <CursorPos X="10" Y="64"/> - <TopLine Value="55"/> - <UsageCount Value="10"/> - </Unit52> - <Unit53> - <Filename Value="lib/bass/delphi/bass.pas"/> - <UnitName Value="Bass"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="9"/> - </Unit53> - <Unit54> - <Filename Value="lib/ffmpeg/avcodec.pas"/> - <UnitName Value="avcodec"/> - <CursorPos X="69" Y="1519"/> - <TopLine Value="1492"/> - <UsageCount Value="12"/> - </Unit54> - <Unit55> - <Filename Value="lib/ffmpeg/rational.pas"/> - <UnitName Value="rational"/> - <CursorPos X="40" Y="33"/> - <TopLine Value="1"/> - <UsageCount Value="12"/> - </Unit55> - <Unit56> - <Filename Value="lib/ffmpeg/opt.pas"/> - <UnitName Value="opt"/> - <CursorPos X="37" Y="46"/> - <TopLine Value="17"/> - <UsageCount Value="9"/> - </Unit56> - <Unit57> - <Filename Value="lib/ffmpeg/avformat.pas"/> - <UnitName Value="avformat"/> - <CursorPos X="10" Y="357"/> - <TopLine Value="335"/> - <UsageCount Value="9"/> - </Unit57> - <Unit58> - <Filename Value="lib/ffmpeg/avio.pas"/> - <UnitName Value="avio"/> - <CursorPos X="1" Y="34"/> - <TopLine Value="1"/> - <UsageCount Value="10"/> - </Unit58> - <Unit59> - <Filename Value="lib/SQLite/SQLiteTable3.pas"/> - <UnitName Value="SQLiteTable3"/> - <CursorPos X="24" Y="16"/> - <TopLine Value="2"/> - <UsageCount Value="9"/> - </Unit59> - <Unit60> - <Filename Value="Menu/UMenuButton.pas"/> - <UnitName Value="UMenuButton"/> - <CursorPos X="13" Y="90"/> - <TopLine Value="69"/> - <UsageCount Value="11"/> - </Unit60> - <Unit61> - <Filename Value="Classes/UTime.pas"/> - <UnitName Value="UTime"/> - <CursorPos X="41" Y="44"/> - <TopLine Value="35"/> - <EditorIndex Value="12"/> - <UsageCount Value="14"/> - <Loaded Value="True"/> - </Unit61> - <Unit62> - <Filename Value="Classes/UJoystick.pas"/> - <UnitName Value="UJoystick"/> - <CursorPos X="1" Y="6"/> - <TopLine Value="1"/> - <UsageCount Value="11"/> - </Unit62> - <Unit63> - <Filename Value="Classes/ULanguage.pas"/> - <UnitName Value="ULanguage"/> - <CursorPos X="29" Y="106"/> - <TopLine Value="96"/> - <EditorIndex Value="10"/> - <UsageCount Value="11"/> - <Loaded Value="True"/> - </Unit63> - <Unit64> - <Filename Value="/usr/share/fpcsrc/rtl/unix/sysutils.pp"/> - <UnitName Value="sysutils"/> - <CursorPos X="7" Y="93"/> - <TopLine Value="72"/> - <UsageCount Value="10"/> - </Unit64> - <Unit65> - <Filename Value="/usr/share/fpcsrc/rtl/objpas/sysutils/sysutilh.inc"/> - <CursorPos X="45" Y="30"/> - <TopLine Value="13"/> - <UsageCount Value="10"/> - </Unit65> - <Unit66> - <Filename Value="/usr/share/fpcsrc/rtl/objpas/sysutils/sysutils.inc"/> - <CursorPos X="86" Y="90"/> - <TopLine Value="73"/> - <UsageCount Value="10"/> - </Unit66> - <Unit67> - <Filename Value="Classes/ULCD.pas"/> - <UnitName Value="ULCD"/> - <CursorPos X="1" Y="1"/> - <TopLine Value="1"/> - <UsageCount Value="10"/> - </Unit67> - <Unit68> - <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/sdl.pas"/> - <UnitName Value="sdl"/> - <CursorPos X="52" Y="2092"/> - <TopLine Value="2071"/> - <UsageCount Value="10"/> - </Unit68> - <Unit69> - <Filename Value="/usr/share/fpcsrc/packages/base/libc/libc.pp"/> - <UnitName Value="libc"/> - <CursorPos X="7" Y="41"/> - <TopLine Value="19"/> - <EditorIndex Value="14"/> - <UsageCount Value="11"/> - <Loaded Value="True"/> - </Unit69> - <Unit70> - <Filename Value="/usr/share/fpcsrc/fv/time.pas"/> - <UnitName Value="Time"/> - <CursorPos X="3" Y="222"/> - <TopLine Value="424"/> - <EditorIndex Value="13"/> - <UsageCount Value="11"/> - <Loaded Value="True"/> - </Unit70> - <Unit71> - <Filename Value="Classes/UCatCovers.pas"/> - <UnitName Value="UCatCovers"/> - <CursorPos X="73" Y="74"/> - <TopLine Value="107"/> - <EditorIndex Value="4"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit71> - <Unit72> - <Filename Value="Classes/USkins.pas"/> - <UnitName Value="USkins"/> - <CursorPos X="53" Y="27"/> - <TopLine Value="1"/> - <EditorIndex Value="1"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit72> - </Units> - <JumpHistory Count="30" HistoryIndex="29"> - <Position1> - <Filename Value="Classes/UFiles.pas"/> - <Caret Line="38" Column="16" TopLine="17"/> - </Position1> - <Position2> - <Filename Value="Classes/UMain.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position2> - <Position3> - <Filename Value="Classes/UMain.pas"/> - <Caret Line="105" Column="16" TopLine="84"/> - </Position3> - <Position4> - <Filename Value="UltraStar.lpr"/> - <Caret Line="103" Column="41" TopLine="82"/> - </Position4> - <Position5> - <Filename Value="UltraStar.lpr"/> - <Caret Line="176" Column="49" TopLine="155"/> - </Position5> - <Position6> - <Filename Value="UltraStar.lpr"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position6> - <Position7> - <Filename Value="Classes/UIni.pas"/> - <Caret Line="15" Column="32" TopLine="1"/> - </Position7> - <Position8> - <Filename Value="Classes/UIni.pas"/> - <Caret Line="325" Column="82" TopLine="221"/> - </Position8> - <Position9> - <Filename Value="Classes/UIni.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position9> - <Position10> - <Filename Value="UltraStar.lpr"/> - <Caret Line="106" Column="1" TopLine="85"/> - </Position10> - <Position11> - <Filename Value="Classes/USongs.pas"/> - <Caret Line="154" Column="70" TopLine="211"/> - </Position11> - <Position12> - <Filename Value="Classes/USongs.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position12> - <Position13> - <Filename Value="Classes/USongs.pas"/> - <Caret Line="124" Column="55" TopLine="103"/> - </Position13> - <Position14> - <Filename Value="UltraStar.lpr"/> - <Caret Line="119" Column="41" TopLine="98"/> - </Position14> - <Position15> - <Filename Value="UltraStar.lpr"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position15> - <Position16> - <Filename Value="UltraStar.lpr"/> - <Caret Line="119" Column="9" TopLine="98"/> - </Position16> - <Position17> - <Filename Value="UltraStar.lpr"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position17> - <Position18> - <Filename Value="Classes/UCatCovers.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position18> - <Position19> - <Filename Value="UltraStar.lpr"/> - <Caret Line="96" Column="44" TopLine="75"/> - </Position19> - <Position20> - <Filename Value="Classes/UPlaylist.pas"/> - <Caret Line="20" Column="55" TopLine="1"/> - </Position20> - <Position21> - <Filename Value="Classes/UPlaylist.pas"/> - <Caret Line="94" Column="15" TopLine="73"/> - </Position21> - <Position22> - <Filename Value="UltraStar.lpr"/> - <Caret Line="116" Column="46" TopLine="95"/> - </Position22> - <Position23> - <Filename Value="UltraStar.lpr"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position23> - <Position24> - <Filename Value="Classes/UDLLManager.pas"/> - <Caret Line="49" Column="7" TopLine="25"/> - </Position24> - <Position25> - <Filename Value="Classes/UDLLManager.pas"/> - <Caret Line="47" Column="1" TopLine="31"/> - </Position25> - <Position26> - <Filename Value="Classes/UDLLManager.pas"/> - <Caret Line="76" Column="23" TopLine="55"/> - </Position26> - <Position27> - <Filename Value="Classes/UDLLManager.pas"/> - <Caret Line="146" Column="48" TopLine="125"/> - </Position27> - <Position28> - <Filename Value="Classes/UDLLManager.pas"/> - <Caret Line="173" Column="47" TopLine="188"/> - </Position28> - <Position29> - <Filename Value="UltraStar.lpr"/> - <Caret Line="101" Column="46" TopLine="80"/> - </Position29> - <Position30> - <Filename Value="Classes/USkins.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position30> - </JumpHistory> - </ProjectOptions> - <CompilerOptions> - <Version Value="5"/> - <SearchPaths> - <IncludeFiles Value="lib/JEDI-SDLv1.0/SDL/Pas/"/> - </SearchPaths> - <CodeGeneration> - <Generate Value="Faster"/> - </CodeGeneration> - <Other> - <CompilerPath Value="$(CompPath)"/> - <CreateMakefileOnBuild Value="True"/> - </Other> - </CompilerOptions> - <Debugging> - <Exceptions Count="2"> - <Item1> - <Name Value="ECodetoolError"/> - </Item1> - <Item2> - <Name Value="EFOpenError"/> - </Item2> - </Exceptions> - </Debugging> -</CONFIG> +<?xml version="1.0"?>
+<CONFIG>
+ <ProjectOptions>
+ <PathDelim Value="\"/>
+ <Version Value="5"/>
+ <General>
+ <Flags>
+ <MainUnitHasUsesSectionForAllUnits Value="False"/>
+ <MainUnitHasCreateFormStatements Value="False"/>
+ <MainUnitHasTitleStatement Value="False"/>
+ </Flags>
+ <MainUnit Value="0"/>
+ <IconPath Value="./"/>
+ <TargetFileExt Value=".exe"/>
+ <ActiveEditorIndexAtStart Value="5"/>
+ </General>
+ <VersionInfo>
+ <ProjectVersion Value=""/>
+ <Language Value=""/>
+ <CharSet Value=""/>
+ </VersionInfo>
+ <PublishOptions>
+ <Version Value="2"/>
+ <DestinationDirectory Value="$(TestDir)\publishedproject\"/>
+ <IgnoreBinaries Value="False"/>
+ <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
+ <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
+ </PublishOptions>
+ <RunParams>
+ <local>
+ <FormatVersion Value="1"/>
+ <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
+ </local>
+ </RunParams>
+ <RequiredPackages Count="1">
+ <Item1>
+ <PackageName Value="ImagesForLazarus"/>
+ </Item1>
+ </RequiredPackages>
+ <Units Count="74">
+ <Unit0>
+ <Filename Value="UltraStar.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <CursorPos X="1" Y="5"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="0"/>
+ <UsageCount Value="86"/>
+ <Loaded Value="True"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="lib\JEDI-SDLv1.0\OpenGL\Pas\opengl12.pas"/>
+ <UnitName Value="opengl12"/>
+ <CursorPos X="10" Y="269"/>
+ <TopLine Value="248"/>
+ <UsageCount Value="10"/>
+ </Unit1>
+ <Unit2>
+ <Filename Value="Classes\UTexture.pas"/>
+ <UnitName Value="UTexture"/>
+ <CursorPos X="7" Y="23"/>
+ <TopLine Value="2"/>
+ <UsageCount Value="15"/>
+ </Unit2>
+ <Unit3>
+ <Filename Value="Classes\UCommandLine.pas"/>
+ <UnitName Value="UCommandLine"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="32"/>
+ </Unit3>
+ <Unit4>
+ <Filename Value="Classes\UIni.pas"/>
+ <UnitName Value="UIni"/>
+ <CursorPos X="35" Y="383"/>
+ <TopLine Value="362"/>
+ <UsageCount Value="32"/>
+ </Unit4>
+ <Unit5>
+ <Filename Value="Classes\ULog.pas"/>
+ <UnitName Value="ULog"/>
+ <CursorPos X="5" Y="5"/>
+ <TopLine Value="13"/>
+ <UsageCount Value="13"/>
+ </Unit5>
+ <Unit6>
+ <Filename Value="Classes\UFiles.pas"/>
+ <UnitName Value="UFiles"/>
+ <CursorPos X="9" Y="56"/>
+ <TopLine Value="46"/>
+ <UsageCount Value="12"/>
+ </Unit6>
+ <Unit7>
+ <Filename Value="Classes\USongs.pas"/>
+ <UnitName Value="USongs"/>
+ <CursorPos X="110" Y="151"/>
+ <TopLine Value="122"/>
+ <UsageCount Value="10"/>
+ </Unit7>
+ <Unit8>
+ <Filename Value="..\..\..\..\..\lazarus\fpc\2.0.4\source\rtl\objpas\sysutils\sysinth.inc"/>
+ <CursorPos X="3" Y="95"/>
+ <TopLine Value="75"/>
+ <UsageCount Value="4"/>
+ </Unit8>
+ <Unit9>
+ <Filename Value="Classes\UMain.pas"/>
+ <UnitName Value="UMain"/>
+ <CursorPos X="99" Y="785"/>
+ <TopLine Value="595"/>
+ <UsageCount Value="10"/>
+ </Unit9>
+ <Unit10>
+ <Filename Value="Classes\UGraphic.pas"/>
+ <UnitName Value="UGraphic"/>
+ <CursorPos X="8" Y="245"/>
+ <TopLine Value="224"/>
+ <UsageCount Value="33"/>
+ </Unit10>
+ <Unit11>
+ <Filename Value="Classes\UThemes.pas"/>
+ <UnitName Value="UThemes"/>
+ <CursorPos X="29" Y="1746"/>
+ <TopLine Value="1691"/>
+ <UsageCount Value="9"/>
+ </Unit11>
+ <Unit12>
+ <Filename Value="Classes\UCovers.pas"/>
+ <UnitName Value="UCovers"/>
+ <CursorPos X="7" Y="11"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="11"/>
+ </Unit12>
+ <Unit13>
+ <Filename Value="Classes\UMusic.pas"/>
+ <UnitName Value="UMusic"/>
+ <CursorPos X="39" Y="17"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="4"/>
+ <UsageCount Value="15"/>
+ <Loaded Value="True"/>
+ </Unit13>
+ <Unit14>
+ <Filename Value="Classes\ULyrics.pas"/>
+ <UnitName Value="ULyrics"/>
+ <CursorPos X="1" Y="5"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="1"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
+ </Unit14>
+ <Unit15>
+ <Filename Value="Screens\UScreenLoading.pas"/>
+ <UnitName Value="UScreenLoading"/>
+ <CursorPos X="8" Y="6"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="5"/>
+ </Unit15>
+ <Unit16>
+ <Filename Value="Menu\UMenu.pas"/>
+ <UnitName Value="UMenu"/>
+ <CursorPos X="1" Y="8"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="9"/>
+ </Unit16>
+ <Unit17>
+ <Filename Value="Menu\UMenuText.pas"/>
+ <UnitName Value="UMenuText"/>
+ <CursorPos X="14" Y="60"/>
+ <TopLine Value="37"/>
+ <UsageCount Value="11"/>
+ </Unit17>
+ <Unit18>
+ <Filename Value="Menu\UMenuSelectSlide.pas"/>
+ <UnitName Value="UMenuSelectSlide"/>
+ <CursorPos X="6" Y="12"/>
+ <TopLine Value="2"/>
+ <UsageCount Value="4"/>
+ </Unit18>
+ <Unit19>
+ <Filename Value="Screens\UScreenMain.pas"/>
+ <UnitName Value="UScreenMain"/>
+ <CursorPos X="13" Y="37"/>
+ <TopLine Value="16"/>
+ <UsageCount Value="31"/>
+ </Unit19>
+ <Unit20>
+ <Filename Value="Menu\UDisplay.pas"/>
+ <UnitName Value="UDisplay"/>
+ <CursorPos X="54" Y="21"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="14"/>
+ </Unit20>
+ <Unit21>
+ <Filename Value="Classes\ULight.pas"/>
+ <UnitName Value="ULight"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="13"/>
+ <UsageCount Value="10"/>
+ <Bookmarks Count="1">
+ <Item0 X="19" Y="66" ID="1"/>
+ </Bookmarks>
+ </Unit21>
+ <Unit22>
+ <Filename Value="Screens\UScreenSing.pas"/>
+ <UnitName Value="UScreenSing"/>
+ <CursorPos X="1" Y="1027"/>
+ <TopLine Value="1006"/>
+ <UsageCount Value="10"/>
+ </Unit22>
+ <Unit23>
+ <Filename Value="Classes\UVideo.pas"/>
+ <UnitName Value="UVideo"/>
+ <CursorPos X="1" Y="8"/>
+ <TopLine Value="2"/>
+ <UsageCount Value="10"/>
+ </Unit23>
+ <Unit24>
+ <Filename Value="Screens\UScreenScore.pas"/>
+ <UnitName Value="UScreenScore"/>
+ <CursorPos X="9" Y="7"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit24>
+ <Unit25>
+ <Filename Value="Screens\UScreenEditSub.pas"/>
+ <UnitName Value="UScreenEditSub"/>
+ <CursorPos X="1" Y="10"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="3"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
+ </Unit25>
+ <Unit26>
+ <Filename Value="switches.inc"/>
+ <CursorPos X="19" Y="12"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="11"/>
+ </Unit26>
+ <Unit27>
+ <Filename Value="lib\midi\Midiout.pas"/>
+ <UnitName Value="MidiOut"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="9"/>
+ </Unit27>
+ <Unit28>
+ <Filename Value="Screens\UScreenEditConvert.pas"/>
+ <UnitName Value="UScreenEditConvert"/>
+ <CursorPos X="22" Y="26"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="32"/>
+ </Unit28>
+ <Unit29>
+ <Filename Value="Screens\UScreenSingModi.pas"/>
+ <UnitName Value="UScreenSingModi"/>
+ <CursorPos X="1" Y="24"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="31"/>
+ </Unit29>
+ <Unit30>
+ <Filename Value="Screens\UScreenCredits.pas"/>
+ <UnitName Value="UScreenCredits"/>
+ <CursorPos X="13" Y="119"/>
+ <TopLine Value="98"/>
+ <UsageCount Value="32"/>
+ </Unit30>
+ <Unit31>
+ <Filename Value="Classes\URecord.pas"/>
+ <UnitName Value="URecord"/>
+ <CursorPos X="21" Y="293"/>
+ <TopLine Value="271"/>
+ <UsageCount Value="31"/>
+ </Unit31>
+ <Unit32>
+ <Filename Value="lib\JEDI-SDLv1.0\SDL\Pas\jedi-sdl.inc"/>
+ <CursorPos X="4" Y="237"/>
+ <TopLine Value="217"/>
+ <UsageCount Value="10"/>
+ </Unit32>
+ <Unit33>
+ <Filename Value="..\..\Modis\SDK\ModiSDK.pas"/>
+ <UnitName Value="ModiSDK"/>
+ <CursorPos X="79" Y="145"/>
+ <TopLine Value="104"/>
+ <UsageCount Value="31"/>
+ </Unit33>
+ <Unit34>
+ <Filename Value="Classes\UDLLManager.pas"/>
+ <UnitName Value="UDLLManager"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="32"/>
+ </Unit34>
+ <Unit35>
+ <Filename Value="Classes\UPlaylist.pas"/>
+ <UnitName Value="UPlaylist"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="31"/>
+ </Unit35>
+ <Unit36>
+ <Filename Value="Classes\UDataBase.pas"/>
+ <UnitName Value="UDataBase"/>
+ <CursorPos X="10" Y="211"/>
+ <TopLine Value="189"/>
+ <UsageCount Value="31"/>
+ </Unit36>
+ <Unit37>
+ <Filename Value="Screens\UScreenStatMain.pas"/>
+ <UnitName Value="UScreenStatMain"/>
+ <CursorPos X="76" Y="167"/>
+ <TopLine Value="155"/>
+ <UsageCount Value="32"/>
+ <Bookmarks Count="1">
+ <Item0 X="21" Y="216" ID="1"/>
+ </Bookmarks>
+ </Unit37>
+ <Unit38>
+ <Filename Value="Screens\UScreenPartyOptions.pas"/>
+ <UnitName Value="UScreenPartyOptions"/>
+ <CursorPos X="42" Y="233"/>
+ <TopLine Value="213"/>
+ <UsageCount Value="31"/>
+ </Unit38>
+ <Unit39>
+ <Filename Value="Screens\UScreenPartyNewRound.pas"/>
+ <UnitName Value="UScreenPartyNewRound"/>
+ <CursorPos X="5" Y="422"/>
+ <TopLine Value="382"/>
+ <UsageCount Value="31"/>
+ </Unit39>
+ <Unit40>
+ <Filename Value="Classes\UParty.pas"/>
+ <UnitName Value="UParty"/>
+ <CursorPos X="1" Y="8"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="31"/>
+ </Unit40>
+ <Unit41>
+ <Filename Value="Classes\UDraw.pas"/>
+ <UnitName Value="UDraw"/>
+ <CursorPos X="7" Y="67"/>
+ <TopLine Value="43"/>
+ <UsageCount Value="31"/>
+ </Unit41>
+ <Unit42>
+ <Filename Value="Screens\UScreenSongMenu.pas"/>
+ <UnitName Value="UScreenSongMenu"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="31"/>
+ </Unit42>
+ <Unit43>
+ <Filename Value="Screens\UScreenTop5.pas"/>
+ <UnitName Value="UScreenTop5"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit43>
+ <Unit44>
+ <Filename Value="Classes\UGraphicClasses.pas"/>
+ <UnitName Value="UGraphicClasses"/>
+ <CursorPos X="1" Y="7"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="11"/>
+ </Unit44>
+ <Unit45>
+ <Filename Value="Screens\UScreenSong.pas"/>
+ <UnitName Value="UScreenSong"/>
+ <CursorPos X="13" Y="126"/>
+ <TopLine Value="105"/>
+ <UsageCount Value="10"/>
+ </Unit45>
+ <Unit46>
+ <Filename Value="lib\midi\DELPHMCB.PAS"/>
+ <UnitName Value="Delphmcb"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="9"/>
+ </Unit46>
+ <Unit47>
+ <Filename Value="Classes\UCommon.pas"/>
+ <UnitName Value="UCommon"/>
+ <CursorPos X="1" Y="40"/>
+ <TopLine Value="11"/>
+ <EditorIndex Value="5"/>
+ <UsageCount Value="15"/>
+ <Loaded Value="True"/>
+ </Unit47>
+ <Unit48>
+ <Filename Value="..\..\..\..\..\lazarus\fpc\2.0.4\source\rtl\objpas\math.pp"/>
+ <UnitName Value="math"/>
+ <CursorPos X="1" Y="1041"/>
+ <TopLine Value="1036"/>
+ <UsageCount Value="9"/>
+ </Unit48>
+ <Unit49>
+ <Filename Value="Classes\Ulazjpeg.pas"/>
+ <UnitName Value="Ulazjpeg"/>
+ <CursorPos X="44" Y="15"/>
+ <TopLine Value="63"/>
+ <UsageCount Value="11"/>
+ </Unit49>
+ <Unit50>
+ <Filename Value="Classes\TextGL.pas"/>
+ <UnitName Value="TextGL"/>
+ <CursorPos X="7" Y="64"/>
+ <TopLine Value="43"/>
+ <UsageCount Value="13"/>
+ </Unit50>
+ <Unit51>
+ <Filename Value="UltraStar.lrs"/>
+ <CursorPos X="17" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit51>
+ <Unit52>
+ <Filename Value="lib\JEDI-SDLv1.0\SDL\Pas\moduleloader.pas"/>
+ <UnitName Value="moduleloader"/>
+ <CursorPos X="10" Y="64"/>
+ <TopLine Value="55"/>
+ <UsageCount Value="10"/>
+ </Unit52>
+ <Unit53>
+ <Filename Value="lib\bass\delphi\bass.pas"/>
+ <UnitName Value="Bass"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="9"/>
+ </Unit53>
+ <Unit54>
+ <Filename Value="lib\ffmpeg\avcodec.pas"/>
+ <UnitName Value="avcodec"/>
+ <CursorPos X="69" Y="1519"/>
+ <TopLine Value="1492"/>
+ <UsageCount Value="12"/>
+ </Unit54>
+ <Unit55>
+ <Filename Value="lib\ffmpeg\rational.pas"/>
+ <UnitName Value="rational"/>
+ <CursorPos X="40" Y="33"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="12"/>
+ </Unit55>
+ <Unit56>
+ <Filename Value="lib\ffmpeg\opt.pas"/>
+ <UnitName Value="opt"/>
+ <CursorPos X="37" Y="46"/>
+ <TopLine Value="17"/>
+ <UsageCount Value="9"/>
+ </Unit56>
+ <Unit57>
+ <Filename Value="lib\ffmpeg\avformat.pas"/>
+ <UnitName Value="avformat"/>
+ <CursorPos X="10" Y="357"/>
+ <TopLine Value="335"/>
+ <UsageCount Value="9"/>
+ </Unit57>
+ <Unit58>
+ <Filename Value="lib\ffmpeg\avio.pas"/>
+ <UnitName Value="avio"/>
+ <CursorPos X="1" Y="34"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit58>
+ <Unit59>
+ <Filename Value="lib\SQLite\SQLiteTable3.pas"/>
+ <UnitName Value="SQLiteTable3"/>
+ <CursorPos X="24" Y="16"/>
+ <TopLine Value="2"/>
+ <UsageCount Value="9"/>
+ </Unit59>
+ <Unit60>
+ <Filename Value="Menu\UMenuButton.pas"/>
+ <UnitName Value="UMenuButton"/>
+ <CursorPos X="13" Y="90"/>
+ <TopLine Value="69"/>
+ <UsageCount Value="11"/>
+ </Unit60>
+ <Unit61>
+ <Filename Value="Classes\UTime.pas"/>
+ <UnitName Value="UTime"/>
+ <CursorPos X="41" Y="44"/>
+ <TopLine Value="35"/>
+ <UsageCount Value="14"/>
+ </Unit61>
+ <Unit62>
+ <Filename Value="Classes\UJoystick.pas"/>
+ <UnitName Value="UJoystick"/>
+ <CursorPos X="1" Y="6"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="11"/>
+ </Unit62>
+ <Unit63>
+ <Filename Value="Classes\ULanguage.pas"/>
+ <UnitName Value="ULanguage"/>
+ <CursorPos X="29" Y="106"/>
+ <TopLine Value="96"/>
+ <UsageCount Value="11"/>
+ </Unit63>
+ <Unit64>
+ <Filename Value="\usr\share\fpcsrc\rtl\unix\sysutils.pp"/>
+ <UnitName Value="sysutils"/>
+ <CursorPos X="7" Y="93"/>
+ <TopLine Value="72"/>
+ <UsageCount Value="10"/>
+ </Unit64>
+ <Unit65>
+ <Filename Value="\usr\share\fpcsrc\rtl\objpas\sysutils\sysutilh.inc"/>
+ <CursorPos X="45" Y="30"/>
+ <TopLine Value="13"/>
+ <UsageCount Value="10"/>
+ </Unit65>
+ <Unit66>
+ <Filename Value="\usr\share\fpcsrc\rtl\objpas\sysutils\sysutils.inc"/>
+ <CursorPos X="86" Y="90"/>
+ <TopLine Value="73"/>
+ <UsageCount Value="10"/>
+ </Unit66>
+ <Unit67>
+ <Filename Value="Classes\ULCD.pas"/>
+ <UnitName Value="ULCD"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit67>
+ <Unit68>
+ <Filename Value="lib\JEDI-SDLv1.0\SDL\Pas\sdl.pas"/>
+ <UnitName Value="sdl"/>
+ <CursorPos X="52" Y="2092"/>
+ <TopLine Value="2071"/>
+ <UsageCount Value="10"/>
+ </Unit68>
+ <Unit69>
+ <Filename Value="\usr\share\fpcsrc\packages\base\libc\libc.pp"/>
+ <UnitName Value="libc"/>
+ <CursorPos X="7" Y="41"/>
+ <TopLine Value="19"/>
+ <UsageCount Value="11"/>
+ </Unit69>
+ <Unit70>
+ <Filename Value="\usr\share\fpcsrc\fv\time.pas"/>
+ <UnitName Value="Time"/>
+ <CursorPos X="3" Y="222"/>
+ <TopLine Value="424"/>
+ <UsageCount Value="11"/>
+ </Unit70>
+ <Unit71>
+ <Filename Value="Classes\UCatCovers.pas"/>
+ <UnitName Value="UCatCovers"/>
+ <CursorPos X="73" Y="74"/>
+ <TopLine Value="107"/>
+ <UsageCount Value="10"/>
+ </Unit71>
+ <Unit72>
+ <Filename Value="Classes\USkins.pas"/>
+ <UnitName Value="USkins"/>
+ <CursorPos X="53" Y="27"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit72>
+ <Unit73>
+ <Filename Value="Classes\ULyrics_bak.pas"/>
+ <UnitName Value="ULyrics_bak"/>
+ <CursorPos X="18" Y="9"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="2"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
+ </Unit73>
+ </Units>
+ <JumpHistory Count="17" HistoryIndex="16">
+ <Position1>
+ <Filename Value="Screens\UScreenEditSub.pas"/>
+ <Caret Line="1339" Column="11" TopLine="1330"/>
+ </Position1>
+ <Position2>
+ <Filename Value="Classes\ULyrics_bak.pas"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
+ </Position2>
+ <Position3>
+ <Filename Value="Classes\ULyrics_bak.pas"/>
+ <Caret Line="99" Column="24" TopLine="72"/>
+ </Position3>
+ <Position4>
+ <Filename Value="Classes\ULyrics_bak.pas"/>
+ <Caret Line="89" Column="22" TopLine="66"/>
+ </Position4>
+ <Position5>
+ <Filename Value="Classes\ULyrics.pas"/>
+ <Caret Line="1" Column="1" TopLine="66"/>
+ </Position5>
+ <Position6>
+ <Filename Value="Classes\ULyrics_bak.pas"/>
+ <Caret Line="82" Column="25" TopLine="62"/>
+ </Position6>
+ <Position7>
+ <Filename Value="Screens\UScreenEditSub.pas"/>
+ <Caret Line="5" Column="1" TopLine="1"/>
+ </Position7>
+ <Position8>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="14" Column="1" TopLine="1"/>
+ </Position8>
+ <Position9>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="229" Column="25" TopLine="209"/>
+ </Position9>
+ <Position10>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="16" Column="11" TopLine="1"/>
+ </Position10>
+ <Position11>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="237" Column="27" TopLine="209"/>
+ </Position11>
+ <Position12>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="203" Column="14" TopLine="176"/>
+ </Position12>
+ <Position13>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="229" Column="25" TopLine="209"/>
+ </Position13>
+ <Position14>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
+ </Position14>
+ <Position15>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="203" Column="11" TopLine="183"/>
+ </Position15>
+ <Position16>
+ <Filename Value="Classes\UMusic.pas"/>
+ <Caret Line="12" Column="11" TopLine="1"/>
+ </Position16>
+ <Position17>
+ <Filename Value="Classes\UCommon.pas"/>
+ <Caret Line="110" Column="1" TopLine="89"/>
+ </Position17>
+ </JumpHistory>
+ </ProjectOptions>
+ <CompilerOptions>
+ <Version Value="5"/>
+ <PathDelim Value="\"/>
+ <SearchPaths>
+ <IncludeFiles Value="lib\JEDI-SDLv1.0\SDL\Pas\"/>
+ </SearchPaths>
+ <CodeGeneration>
+ <Generate Value="Faster"/>
+ </CodeGeneration>
+ <Other>
+ <CompilerPath Value="$(CompPath)"/>
+ <CreateMakefileOnBuild Value="True"/>
+ </Other>
+ </CompilerOptions>
+ <Debugging>
+ <Exceptions Count="2">
+ <Item1>
+ <Name Value="ECodetoolError"/>
+ </Item1>
+ <Item2>
+ <Name Value="EFOpenError"/>
+ </Item2>
+ </Exceptions>
+ </Debugging>
+</CONFIG>
diff --git a/Game/Code/UltraStar.lpr b/Game/Code/UltraStar.lpr index bb3b50b3..9793928e 100644 --- a/Game/Code/UltraStar.lpr +++ b/Game/Code/UltraStar.lpr @@ -1,412 +1,413 @@ -program UltraStar; - -{$DEFINE TRANSLATE} - -{$IFDEF FPC} - {$MODE DELPHI} -{$ELSE} - {$R 'UltraStar.res' 'UltraStar.rc'} -{$ENDIF} - -{$I switches.inc} - -uses - - // *************************************************************************** - // - // Developers PLEASE NOTE !!!!!!! - // - // As of september 2007, I am working towards porting Ultrastar-DX to run - // on Linux. I will be modifiying the source to make it compile in lazarus - // on windows & linux and I will make sure that it compiles in delphi still - // To help me in this endevour, please can you make a point of remembering - // that linux is CASE SENSATIVE, and file / unit names must be as per - // the filename exactly. - // - // EG : opengl12.pas must not be OpenGL in the uses cluase. - // - // thanks for your help... - // - // *************************************************************************** - - //------------------------------ - //Includes - 3rd Party Libraries - //------------------------------ - - // SDL / OpenGL - moduleloader in 'lib\JEDI-SDLv1.0\SDL\Pas\moduleloader.pas', - opengl12 in 'lib\JEDI-SDLv1.0\OpenGL\Pas\opengl12.pas', - sdl in 'lib\JEDI-SDLv1.0\SDL\Pas\sdl.pas', - - // Bass - {$IFDEF UseBASS} - bass in 'lib\bass\delphi\bass.pas', - {$ENDIF} - - // Midi Units - {$IFDEF UseMIDIPort} - Circbuf in 'lib\midi\CIRCBUF.PAS', - Delphmcb in 'lib\midi\Delphmcb.PAS', - MidiCons in 'lib\midi\MidiCons.PAS', - MidiDefs in 'lib\midi\MidiDefs.PAS', - MidiFile in 'lib\midi\MidiFile.PAS', - midiin in 'lib\midi\midiin.pas', - midiout in 'lib\midi\midiout.pas', - MidiType in 'lib\midi\MidiType.PAS', - {$ENDIF} - - // FFMpeg units - avcodec in 'lib\ffmpeg\avcodec.pas', - avformat in 'lib\ffmpeg\avformat.pas', - avio in 'lib\ffmpeg\avio.pas', - avutil in 'lib\ffmpeg\avutil.pas', - opt in 'lib\ffmpeg\opt.pas', - rational in 'lib\ffmpeg\rational.pas', - - - // Sql Lite - SQLiteTable3 in 'lib\SQLite\SQLiteTable3.pas', - SQLite3 in 'lib\SQLite\SQLite3.pas', - - - //------------------------------ - //Includes - Menu System - //------------------------------ - - UDisplay in 'Menu\UDisplay.pas', - UDrawTexture in 'Menu\UDrawTexture.pas', - UMenu in 'Menu\UMenu.pas', - UMenuButton in 'Menu\UMenuButton.pas', - UMenuButtonCollection in 'Menu\UMenuButtonCollection.pas', - UMenuInteract in 'Menu\UMenuInteract.pas', - UMenuSelect in 'Menu\UMenuSelect.pas', - UMenuSelectSlide in 'Menu\UMenuSelectSlide.pas', - UMenuStatic in 'Menu\UMenuStatic.pas', - UMenuText in 'Menu\UMenuText.pas', - - //------------------------------ - //Includes - Classes - //------------------------------ - - {$IFDEF FPC} - ulazjpeg in 'Classes\ulazjpeg.pas', - {$ENDIF} - - TextGL in 'Classes\TextGL.pas', - UCatCovers in 'Classes\UCatCovers.pas', - UCommandLine in 'Classes\UCommandLine.pas', - UCommon in 'Classes\UCommon.pas', - UCovers in 'Classes\UCovers.pas', - UDataBase in 'Classes\UDataBase.pas', - UDLLManager in 'Classes\UDLLManager.pas', - UDraw in 'Classes\UDraw.pas', - UFiles in 'Classes\UFiles.pas', - UGraphic in 'Classes\UGraphic.pas', - UGraphicClasses in 'Classes\UGraphicClasses.pas', - UIni in 'Classes\UIni.pas', - UJoystick in 'Classes\UJoystick.pas', - ULanguage in 'Classes\ULanguage.pas', - ULCD in 'Classes\ULCD.pas', - ULight in 'Classes\ULight.pas', - ULog in 'Classes\ULog.pas', - ULyrics in 'Classes\ULyrics.pas', - UMain in 'Classes\UMain.pas', - UMusic in 'Classes\UMusic.pas', - UParty in 'Classes\UParty.pas', - UPlaylist in 'Classes\UPlaylist.pas', - URecord in 'Classes\URecord.pas', - USkins in 'Classes\USkins.pas', - USongs in 'Classes\USongs.pas', - UTexture in 'Classes\UTexture.pas', - UThemes in 'Classes\UThemes.pas', - UTime in 'Classes\UTime.pas', - - - //------------------------------ - //Includes - Video Support - //------------------------------ - UVideo in 'Classes\UVideo.pas', - - - //------------------------------ - //Includes - Screens - //------------------------------ - UScreenCredits in 'Screens\UScreenCredits.pas', - UScreenEdit in 'Screens\UScreenEdit.pas', - UScreenEditConvert in 'Screens\UScreenEditConvert.pas', - UScreenEditHeader in 'Screens\UScreenEditHeader.pas', - UScreenEditSub in 'Screens\UScreenEditSub.pas', - UScreenLevel in 'Screens\UScreenLevel.pas', - UScreenLoading in 'Screens\UScreenLoading.pas', - UScreenMain in 'Screens\UScreenMain.pas', - UScreenName in 'Screens\UScreenName.pas', - UScreenOpen in 'Screens\UScreenOpen.pas', - UScreenOptions in 'Screens\UScreenOptions.pas', - UScreenOptionsAdvanced in 'Screens\UScreenOptionsAdvanced.pas', - UScreenOptionsGame in 'Screens\UScreenOptionsGame.pas', - UScreenOptionsGraphics in 'Screens\UScreenOptionsGraphics.pas', - UScreenOptionsLyrics in 'Screens\UScreenOptionsLyrics.pas', - UScreenOptionsRecord in 'Screens\UScreenOptionsRecord.pas', - UScreenOptionsSound in 'Screens\UScreenOptionsSound.pas', - UScreenOptionsThemes in 'Screens\UScreenOptionsThemes.pas', - UScreenPopup in 'Screens\UScreenPopup.pas', - UScreenScore in 'Screens\UScreenScore.pas', - UScreenSing in 'Screens\UScreenSing.pas', - UScreenSong in 'Screens\UScreenSong.pas', - UScreenSongJumpto in 'Screens\UScreenSongJumpto.pas', - UScreenSongMenu in 'Screens\UScreenSongMenu.pas', - UScreenStatDetail in 'Screens\UScreenStatDetail.pas', - UScreenStatMain in 'Screens\UScreenStatMain.pas', - UScreenTop5 in 'Screens\UScreenTop5.pas', - UScreenWelcome in 'Screens\UScreenWelcome.pas', - - //------------------------------ - //Includes - Screens PartyMode - //------------------------------ - UScreenPartyNewRound in 'Screens\UScreenPartyNewRound.pas', - UScreenPartyOptions in 'Screens\UScreenPartyOptions.pas', - UScreenPartyPlayer in 'Screens\UScreenPartyPlayer.pas', - UScreenPartyScore in 'Screens\UScreenPartyScore.pas', - UScreenPartyWin in 'Screens\UScreenPartyWin.pas', - UScreenSingModi in 'Screens\UScreenSingModi.pas', - - //------------------------------ - //Includes - Modi SDK - //------------------------------ - ModiSDK in '..\..\Modis\SDK\ModiSDK.pas', - - - //------------------------------ - //Includes - Delphi - //------------------------------ - {$IFDEF win32} - Windows, - {$ENDIF} - SysUtils; - -const - Version = 'UltraStar Deluxe V 1.10 Alpha Build'; - -var - WndTitle: string; - hWnd: THandle; - I: Integer; - -begin - WndTitle := Version; - - {$ifdef Win32} - //------------------------------ - //Start more than One Time Prevention - //------------------------------ - hWnd:= FindWindow(nil, PChar(WndTitle)); - //Programm already started - if (hWnd <> 0) then - begin - I := Messagebox(0, PChar('Another Instance of Ultrastar is already running. Contėnue ?'), PChar(WndTitle), MB_ICONWARNING or MB_YESNO); - if (I = IDYes) then - begin - I := 1; - repeat - Inc(I); - hWnd := FindWindow(nil, PChar(WndTitle + ' Instance ' + InttoStr(I))); - until (hWnd = 0); - - WndTitle := WndTitle + ' Instance ' + InttoStr(I); - end - else - Exit; - end; - {$endif} - - //------------------------------ - //StartUp - Create Classes and Load Files - //------------------------------ - USTime := TTime.Create; - - // Commandline Parameter Parser - Params := TCMDParams.Create; - - // Log + Benchmark - Log := TLog.Create; - Log.Title := WndTitle; - Log.Enabled := Not Params.NoLog; - Log.BenchmarkStart(0); - - // Language - Log.BenchmarkStart(1); - Log.LogStatus('Initialize Paths', 'Initialization'); InitializePaths; - Log.LogStatus('Load Language', 'Initialization'); Language := TLanguage.Create; - //Add Const Values: - Language.AddConst('US_VERSION', Version); - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Language', 1); - - // SDL - Log.BenchmarkStart(1); - Log.LogStatus('Initialize SDL', 'Initialization'); - SDL_Init(SDL_INIT_VIDEO or SDL_INIT_AUDIO); - Log.BenchmarkEnd(1); - Log.LogBenchmark('Initializing SDL', 1); - - // Skin - Log.BenchmarkStart(1); - Log.LogStatus('Loading Skin List', 'Initialization'); Skin := TSkin.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Skin List', 1); - - // Sound Card List - Log.BenchmarkStart(1); - Log.LogStatus('Loading Soundcard list', 'Initialization'); - Recording := TRecord.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Soundcard list', 1); - - // Ini + Paths - Log.BenchmarkStart(1); - Log.LogStatus('Load Ini', 'Initialization'); Ini := TIni.Create; - Ini.Load; - - //Load Languagefile - if (Params.Language <> -1) then - Language.ChangeLanguage(ILanguage[Params.Language]) - else - Language.ChangeLanguage(ILanguage[Ini.Language]); - - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Ini', 1); - - // LCD - Log.BenchmarkStart(1); - Log.LogStatus('Load LCD', 'Initialization'); LCD := TLCD.Create; - if Ini.LPT = 1 then begin -// LCD.HalfInterface := true; - LCD.Enable; - LCD.Clear; - LCD.WriteText(1, ' UltraStar '); - LCD.WriteText(2, ' Loading... '); - end; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading LCD', 1); - - // Light - Log.BenchmarkStart(1); - Log.LogStatus('Load Light', 'Initialization'); Light := TLight.Create; - if Ini.LPT = 2 then begin - Light.Enable; - end; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Light', 1); - - // Theme - Log.BenchmarkStart(1); - Log.LogStatus('Load Themes', 'Initialization'); Theme := TTheme.Create('Themes\' + ITheme[Ini.Theme] + '.ini', Ini.Color); - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Themes', 1); - - // Covers Cache - Log.BenchmarkStart(1); - Log.LogStatus('Creating Covers Cache', 'Initialization'); Covers := TCovers.Create; - Log.LogBenchmark('Loading Covers Cache Array', 1); - Log.BenchmarkStart(1); - - // Category Covers - Log.BenchmarkStart(1); - Log.LogStatus('Creating Category Covers Array', 'Initialization'); - CatCovers:= TCatCovers.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Category Covers Array', 1); - - // Songs - //Log.BenchmarkStart(1); - Log.LogStatus('Creating Song Array', 'Initialization'); Songs := TSongs.Create; - Songs.LoadSongList; - Log.LogStatus('Creating 2nd Song Array', 'Initialization'); CatSongs := TCatSongs.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Songs', 1); - - // PluginManager - Log.BenchmarkStart(1); - Log.LogStatus('PluginManager', 'Initialization'); - DLLMan := TDLLMan.Create; //Load PluginList - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading PluginManager', 1); - - // Party Mode Manager - Log.BenchmarkStart(1); - Log.LogStatus('PartySession Manager', 'Initialization'); - PartySession := TParty_Session.Create; //Load PartySession - - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading PartySession Manager', 1); - - // Graphics - Log.BenchmarkStart(1); - Log.LogStatus('Initialize 3D', 'Initialization'); Initialize3D(WndTitle); - Log.BenchmarkEnd(1); - Log.LogBenchmark('Initializing 3D', 1); - - // Sound - Log.BenchmarkStart(1); - Log.LogStatus('Initialize Sound', 'Initialization'); - Log.LogStatus('Creating Music', 'InitializeSound'); Music := TMusic.Create; - InitializeSound; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Initializing Sound', 1); - - // Score Saving System - Log.BenchmarkStart(1); - Log.LogStatus('DataBase System', 'Initialization'); - DataBase := TDataBaseSystem.Create; - - if (Params.ScoreFile = '') then - DataBase.Init ('Ultrastar.db') - else - DataBase.Init (Params.ScoreFile); - - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading DataBase System', 1); - - //Playlist Manager - Log.BenchmarkStart(1); - Log.LogStatus('Playlist Manager', 'Initialization'); - PlaylistMan := TPlaylistManager.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Playlist Manager', 1); - - //GoldenStarsTwinkleMod - Log.BenchmarkStart(1); - Log.LogStatus('Effect Manager', 'Initialization'); - GoldenRec := TEffectManager.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Loading Particel System', 1); - - // Joypad - if (Ini.Joypad = 1) OR (Params.Joypad) then begin - Log.BenchmarkStart(1); - Log.LogStatus('Initialize Joystick', 'Initialization'); Joy := TJoy.Create; - Log.BenchmarkEnd(1); - Log.LogBenchmark('Initializing Joystick', 1); - end; - - Log.BenchmarkEnd(0); - Log.LogBenchmark('Loading Time', 0); - - - //------------------------------ - //Start- Mainloop - //------------------------------ - //Music.SetLoop(true); - //Music.SetVolume(50); - //Music.Open(SkinPath + 'Menu Music 3.mp3'); - //Music.Play; - Log.LogStatus('Main Loop', 'Initialization'); MainLoop; - - //------------------------------ - //Finish Application - //------------------------------ - if Ini.LPT = 1 then LCD.Clear; - if Ini.LPT = 2 then Light.TurnOff; - - Log.Free; -end. +program UltraStar;
+
+{$DEFINE TRANSLATE}
+
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ELSE}
+ {$R 'UltraStar.res' 'UltraStar.rc'}
+{$ENDIF}
+
+{$I switches.inc}
+
+uses
+
+ // ***************************************************************************
+ //
+ // Developers PLEASE NOTE !!!!!!!
+ //
+ // As of september 2007, I am working towards porting Ultrastar-DX to run
+ // on Linux. I will be modifiying the source to make it compile in lazarus
+ // on windows & linux and I will make sure that it compiles in delphi still
+ // To help me in this endevour, please can you make a point of remembering
+ // that linux is CASE SENSATIVE, and file / unit names must be as per
+ // the filename exactly.
+ //
+ // EG : opengl12.pas must not be OpenGL in the uses cluase.
+ //
+ // thanks for your help...
+ //
+ // ***************************************************************************
+
+ //------------------------------
+ //Includes - 3rd Party Libraries
+ //------------------------------
+
+ // SDL / OpenGL
+ moduleloader in 'lib\JEDI-SDLv1.0\SDL\Pas\moduleloader.pas',
+ opengl12 in 'lib\JEDI-SDLv1.0\OpenGL\Pas\opengl12.pas',
+ sdl in 'lib\JEDI-SDLv1.0\SDL\Pas\sdl.pas',
+
+ // Bass
+ {$IFDEF UseBASS}
+ bass in 'lib\bass\delphi\bass.pas',
+ {$ENDIF}
+
+ // Midi Units
+ {$IFDEF UseMIDIPort}
+ Circbuf in 'lib\midi\CIRCBUF.PAS',
+ Delphmcb in 'lib\midi\Delphmcb.PAS',
+ MidiCons in 'lib\midi\MidiCons.PAS',
+ MidiDefs in 'lib\midi\MidiDefs.PAS',
+ MidiFile in 'lib\midi\MidiFile.PAS',
+ midiin in 'lib\midi\midiin.pas',
+ midiout in 'lib\midi\midiout.pas',
+ MidiType in 'lib\midi\MidiType.PAS',
+ {$ENDIF}
+
+ // FFMpeg units
+ avcodec in 'lib\ffmpeg\avcodec.pas',
+ avformat in 'lib\ffmpeg\avformat.pas',
+ avio in 'lib\ffmpeg\avio.pas',
+ avutil in 'lib\ffmpeg\avutil.pas',
+ opt in 'lib\ffmpeg\opt.pas',
+ rational in 'lib\ffmpeg\rational.pas',
+
+
+ // Sql Lite
+ SQLiteTable3 in 'lib\SQLite\SQLiteTable3.pas',
+ SQLite3 in 'lib\SQLite\SQLite3.pas',
+
+
+ //------------------------------
+ //Includes - Menu System
+ //------------------------------
+
+ UDisplay in 'Menu\UDisplay.pas',
+ UDrawTexture in 'Menu\UDrawTexture.pas',
+ UMenu in 'Menu\UMenu.pas',
+ UMenuButton in 'Menu\UMenuButton.pas',
+ UMenuButtonCollection in 'Menu\UMenuButtonCollection.pas',
+ UMenuInteract in 'Menu\UMenuInteract.pas',
+ UMenuSelect in 'Menu\UMenuSelect.pas',
+ UMenuSelectSlide in 'Menu\UMenuSelectSlide.pas',
+ UMenuStatic in 'Menu\UMenuStatic.pas',
+ UMenuText in 'Menu\UMenuText.pas',
+
+ //------------------------------
+ //Includes - Classes
+ //------------------------------
+
+ {$IFDEF FPC}
+ ulazjpeg in 'Classes\ulazjpeg.pas',
+ {$ENDIF}
+
+ TextGL in 'Classes\TextGL.pas',
+ UCatCovers in 'Classes\UCatCovers.pas',
+ UCommandLine in 'Classes\UCommandLine.pas',
+ UCommon in 'Classes\UCommon.pas',
+ UCovers in 'Classes\UCovers.pas',
+ UDataBase in 'Classes\UDataBase.pas',
+ UDLLManager in 'Classes\UDLLManager.pas',
+ UDraw in 'Classes\UDraw.pas',
+ UFiles in 'Classes\UFiles.pas',
+ UGraphic in 'Classes\UGraphic.pas',
+ UGraphicClasses in 'Classes\UGraphicClasses.pas',
+ UIni in 'Classes\UIni.pas',
+ UJoystick in 'Classes\UJoystick.pas',
+ ULanguage in 'Classes\ULanguage.pas',
+ ULCD in 'Classes\ULCD.pas',
+ ULight in 'Classes\ULight.pas',
+ ULog in 'Classes\ULog.pas',
+ ULyrics in 'Classes\ULyrics.pas',
+ ULyrics_bak in 'Classes\ULyrics_bak.pas',
+ UMain in 'Classes\UMain.pas',
+ UMusic in 'Classes\UMusic.pas',
+ UParty in 'Classes\UParty.pas',
+ UPlaylist in 'Classes\UPlaylist.pas',
+ URecord in 'Classes\URecord.pas',
+ USkins in 'Classes\USkins.pas',
+ USongs in 'Classes\USongs.pas',
+ UTexture in 'Classes\UTexture.pas',
+ UThemes in 'Classes\UThemes.pas',
+ UTime in 'Classes\UTime.pas',
+
+
+ //------------------------------
+ //Includes - Video Support
+ //------------------------------
+ UVideo in 'Classes\UVideo.pas',
+
+
+ //------------------------------
+ //Includes - Screens
+ //------------------------------
+ UScreenCredits in 'Screens\UScreenCredits.pas',
+ UScreenEdit in 'Screens\UScreenEdit.pas',
+ UScreenEditConvert in 'Screens\UScreenEditConvert.pas',
+ UScreenEditHeader in 'Screens\UScreenEditHeader.pas',
+ UScreenEditSub in 'Screens\UScreenEditSub.pas',
+ UScreenLevel in 'Screens\UScreenLevel.pas',
+ UScreenLoading in 'Screens\UScreenLoading.pas',
+ UScreenMain in 'Screens\UScreenMain.pas',
+ UScreenName in 'Screens\UScreenName.pas',
+ UScreenOpen in 'Screens\UScreenOpen.pas',
+ UScreenOptions in 'Screens\UScreenOptions.pas',
+ UScreenOptionsAdvanced in 'Screens\UScreenOptionsAdvanced.pas',
+ UScreenOptionsGame in 'Screens\UScreenOptionsGame.pas',
+ UScreenOptionsGraphics in 'Screens\UScreenOptionsGraphics.pas',
+ UScreenOptionsLyrics in 'Screens\UScreenOptionsLyrics.pas',
+ UScreenOptionsRecord in 'Screens\UScreenOptionsRecord.pas',
+ UScreenOptionsSound in 'Screens\UScreenOptionsSound.pas',
+ UScreenOptionsThemes in 'Screens\UScreenOptionsThemes.pas',
+ UScreenPopup in 'Screens\UScreenPopup.pas',
+ UScreenScore in 'Screens\UScreenScore.pas',
+ UScreenSing in 'Screens\UScreenSing.pas',
+ UScreenSong in 'Screens\UScreenSong.pas',
+ UScreenSongJumpto in 'Screens\UScreenSongJumpto.pas',
+ UScreenSongMenu in 'Screens\UScreenSongMenu.pas',
+ UScreenStatDetail in 'Screens\UScreenStatDetail.pas',
+ UScreenStatMain in 'Screens\UScreenStatMain.pas',
+ UScreenTop5 in 'Screens\UScreenTop5.pas',
+ UScreenWelcome in 'Screens\UScreenWelcome.pas',
+
+ //------------------------------
+ //Includes - Screens PartyMode
+ //------------------------------
+ UScreenPartyNewRound in 'Screens\UScreenPartyNewRound.pas',
+ UScreenPartyOptions in 'Screens\UScreenPartyOptions.pas',
+ UScreenPartyPlayer in 'Screens\UScreenPartyPlayer.pas',
+ UScreenPartyScore in 'Screens\UScreenPartyScore.pas',
+ UScreenPartyWin in 'Screens\UScreenPartyWin.pas',
+ UScreenSingModi in 'Screens\UScreenSingModi.pas',
+
+ //------------------------------
+ //Includes - Modi SDK
+ //------------------------------
+ ModiSDK in '..\..\Modis\SDK\ModiSDK.pas',
+
+
+ //------------------------------
+ //Includes - Delphi
+ //------------------------------
+ {$IFDEF win32}
+ Windows,
+ {$ENDIF}
+ SysUtils;
+
+const
+ Version = 'UltraStar Deluxe V 1.10 Alpha Build';
+
+var
+ WndTitle: string;
+ hWnd: THandle;
+ I: Integer;
+
+begin
+ WndTitle := Version;
+
+ {$ifdef Win32}
+ //------------------------------
+ //Start more than One Time Prevention
+ //------------------------------
+ hWnd:= FindWindow(nil, PChar(WndTitle));
+ //Programm already started
+ if (hWnd <> 0) then
+ begin
+ I := Messagebox(0, PChar('Another Instance of Ultrastar is already running. Contėnue ?'), PChar(WndTitle), MB_ICONWARNING or MB_YESNO);
+ if (I = IDYes) then
+ begin
+ I := 1;
+ repeat
+ Inc(I);
+ hWnd := FindWindow(nil, PChar(WndTitle + ' Instance ' + InttoStr(I)));
+ until (hWnd = 0);
+
+ WndTitle := WndTitle + ' Instance ' + InttoStr(I);
+ end
+ else
+ Exit;
+ end;
+ {$endif}
+
+ //------------------------------
+ //StartUp - Create Classes and Load Files
+ //------------------------------
+ USTime := TTime.Create;
+
+ // Commandline Parameter Parser
+ Params := TCMDParams.Create;
+
+ // Log + Benchmark
+ Log := TLog.Create;
+ Log.Title := WndTitle;
+ Log.Enabled := Not Params.NoLog;
+ Log.BenchmarkStart(0);
+
+ // Language
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Initialize Paths', 'Initialization'); InitializePaths;
+ Log.LogStatus('Load Language', 'Initialization'); Language := TLanguage.Create;
+ //Add Const Values:
+ Language.AddConst('US_VERSION', Version);
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Language', 1);
+
+ // SDL
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Initialize SDL', 'Initialization');
+ SDL_Init(SDL_INIT_VIDEO or SDL_INIT_AUDIO);
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Initializing SDL', 1);
+
+ // Skin
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Loading Skin List', 'Initialization'); Skin := TSkin.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Skin List', 1);
+
+ // Sound Card List
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Loading Soundcard list', 'Initialization');
+ Recording := TRecord.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Soundcard list', 1);
+
+ // Ini + Paths
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Load Ini', 'Initialization'); Ini := TIni.Create;
+ Ini.Load;
+
+ //Load Languagefile
+ if (Params.Language <> -1) then
+ Language.ChangeLanguage(ILanguage[Params.Language])
+ else
+ Language.ChangeLanguage(ILanguage[Ini.Language]);
+
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Ini', 1);
+
+ // LCD
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Load LCD', 'Initialization'); LCD := TLCD.Create;
+ if Ini.LPT = 1 then begin
+// LCD.HalfInterface := true;
+ LCD.Enable;
+ LCD.Clear;
+ LCD.WriteText(1, ' UltraStar ');
+ LCD.WriteText(2, ' Loading... ');
+ end;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading LCD', 1);
+
+ // Light
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Load Light', 'Initialization'); Light := TLight.Create;
+ if Ini.LPT = 2 then begin
+ Light.Enable;
+ end;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Light', 1);
+
+ // Theme
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Load Themes', 'Initialization'); Theme := TTheme.Create('Themes\' + ITheme[Ini.Theme] + '.ini', Ini.Color);
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Themes', 1);
+
+ // Covers Cache
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Creating Covers Cache', 'Initialization'); Covers := TCovers.Create;
+ Log.LogBenchmark('Loading Covers Cache Array', 1);
+ Log.BenchmarkStart(1);
+
+ // Category Covers
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Creating Category Covers Array', 'Initialization');
+ CatCovers:= TCatCovers.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Category Covers Array', 1);
+
+ // Songs
+ //Log.BenchmarkStart(1);
+ Log.LogStatus('Creating Song Array', 'Initialization'); Songs := TSongs.Create;
+ Songs.LoadSongList;
+ Log.LogStatus('Creating 2nd Song Array', 'Initialization'); CatSongs := TCatSongs.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Songs', 1);
+
+ // PluginManager
+ Log.BenchmarkStart(1);
+ Log.LogStatus('PluginManager', 'Initialization');
+ DLLMan := TDLLMan.Create; //Load PluginList
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading PluginManager', 1);
+
+ // Party Mode Manager
+ Log.BenchmarkStart(1);
+ Log.LogStatus('PartySession Manager', 'Initialization');
+ PartySession := TParty_Session.Create; //Load PartySession
+
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading PartySession Manager', 1);
+
+ // Graphics
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Initialize 3D', 'Initialization'); Initialize3D(WndTitle);
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Initializing 3D', 1);
+
+ // Sound
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Initialize Sound', 'Initialization');
+ Log.LogStatus('Creating Music', 'InitializeSound'); Music := TMusic.Create;
+ InitializeSound;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Initializing Sound', 1);
+
+ // Score Saving System
+ Log.BenchmarkStart(1);
+ Log.LogStatus('DataBase System', 'Initialization');
+ DataBase := TDataBaseSystem.Create;
+
+ if (Params.ScoreFile = '') then
+ DataBase.Init ('Ultrastar.db')
+ else
+ DataBase.Init (Params.ScoreFile);
+
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading DataBase System', 1);
+
+ //Playlist Manager
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Playlist Manager', 'Initialization');
+ PlaylistMan := TPlaylistManager.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Playlist Manager', 1);
+
+ //GoldenStarsTwinkleMod
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Effect Manager', 'Initialization');
+ GoldenRec := TEffectManager.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Loading Particel System', 1);
+
+ // Joypad
+ if (Ini.Joypad = 1) OR (Params.Joypad) then begin
+ Log.BenchmarkStart(1);
+ Log.LogStatus('Initialize Joystick', 'Initialization'); Joy := TJoy.Create;
+ Log.BenchmarkEnd(1);
+ Log.LogBenchmark('Initializing Joystick', 1);
+ end;
+
+ Log.BenchmarkEnd(0);
+ Log.LogBenchmark('Loading Time', 0);
+
+
+ //------------------------------
+ //Start- Mainloop
+ //------------------------------
+ //Music.SetLoop(true);
+ //Music.SetVolume(50);
+ //Music.Open(SkinPath + 'Menu Music 3.mp3');
+ //Music.Play;
+ Log.LogStatus('Main Loop', 'Initialization'); MainLoop;
+
+ //------------------------------
+ //Finish Application
+ //------------------------------
+ if Ini.LPT = 1 then LCD.Clear;
+ if Ini.LPT = 2 then Light.TurnOff;
+
+ Log.Free;
+end.
|