aboutsummaryrefslogtreecommitdiffstats
path: root/Game
diff options
context:
space:
mode:
Diffstat (limited to 'Game')
-rw-r--r--Game/Code/Classes/TextGL.pas11
-rw-r--r--Game/Code/Classes/UCommon.pas98
-rw-r--r--Game/Code/Classes/UCovers.pas4
-rw-r--r--Game/Code/Classes/UDraw.pas1
-rw-r--r--Game/Code/Classes/UFiles.pas9
-rw-r--r--Game/Code/Classes/UGraphicClasses.pas14
-rw-r--r--Game/Code/Classes/ULog.pas4
-rw-r--r--Game/Code/Classes/UMusic.pas26
-rw-r--r--Game/Code/Classes/USongs.pas6
-rw-r--r--Game/Code/Classes/UTexture.pas45
-rw-r--r--Game/Code/Classes/UThemes.pas7
-rw-r--r--Game/Code/Classes/UVideo.pas9
-rw-r--r--Game/Code/Menu/UDisplay.pas20
-rw-r--r--Game/Code/Menu/UMenu.pas7
-rw-r--r--Game/Code/Screens/UScreenCredits.pas12
-rw-r--r--Game/Code/Screens/UScreenEditConvert.pas14
-rw-r--r--Game/Code/Screens/UScreenEditSub.pas12
-rw-r--r--Game/Code/Screens/UScreenScore.pas14
-rw-r--r--Game/Code/Screens/UScreenSing.pas10
-rw-r--r--Game/Code/Screens/UScreenSong.pas7
-rw-r--r--Game/Code/Screens/UScreenTop5.pas13
-rw-r--r--Game/Code/UltraStar.dpr1
-rw-r--r--Game/Code/UltraStar.lpi389
-rw-r--r--Game/Code/UltraStar.lpr6
-rw-r--r--Game/Code/lib/midi/MidiFile.pas13
-rw-r--r--Game/Code/lib/midi/Midiin.pas4
26 files changed, 482 insertions, 274 deletions
diff --git a/Game/Code/Classes/TextGL.pas b/Game/Code/Classes/TextGL.pas
index 0f4ae82e..aa5fa18b 100644
--- a/Game/Code/Classes/TextGL.pas
+++ b/Game/Code/Classes/TextGL.pas
@@ -2,7 +2,16 @@ unit TextGL;
interface
-uses OpenGL12, SDL, UTexture, Classes, ULog;
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+
+uses OpenGL12,
+ SDL,
+ UTexture,
+ Classes,
+ ULog;
procedure BuildFont; // Build Our Bitmap Font
procedure KillFont; // Delete The Font
diff --git a/Game/Code/Classes/UCommon.pas b/Game/Code/Classes/UCommon.pas
new file mode 100644
index 00000000..f25e025b
--- /dev/null
+++ b/Game/Code/Classes/UCommon.pas
@@ -0,0 +1,98 @@
+unit UCommon;
+
+interface
+
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+uses
+ windows;
+
+{$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}
+
+implementation
+
+{$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;
+
+
+
+// TODO : JB this is dodgey and bad... find a REAL solution !
+function AllocateHWnd(Method: TWndMethod): HWND;
+var
+ TempClass: TWndClass;
+ ClassRegistered: Boolean;
+begin
+(*
+ UtilWindowClass.hInstance := HInstance;
+{$IFDEF PIC}
+ UtilWindowClass.lpfnWndProc := @DefWindowProc;
+{$ENDIF}
+ ClassRegistered := GetClassInfo(HInstance, UtilWindowClass.lpszClassName, TempClass);
+ if not ClassRegistered or (TempClass.lpfnWndProc <> @DefWindowProc) then
+ begin
+ if ClassRegistered then
+ Windows.UnregisterClass(UtilWindowClass.lpszClassName, HInstance);
+ Windows.RegisterClass(UtilWindowClass);
+ end;
+ Result := CreateWindowEx(WS_EX_TOOLWINDOW, UtilWindowClass.lpszClassName, '', WS_POPUP {+ 0}, 0, 0, 0, 0, 0, 0, HInstance, nil);
+*)
+ Result := CreateWindowEx(WS_EX_TOOLWINDOW, '', '', WS_POPUP {+ 0}, 0, 0, 0, 0, 0, 0, HInstance, nil);
+
+(*
+ if Assigned(Method) then
+ SetWindowLong(Result, GWL_WNDPROC, Longint(MakeObjectInstance(Method)));
+*)
+end;
+
+procedure DeallocateHWnd(Wnd: HWND);
+var
+ Instance: Pointer;
+begin
+ Instance := Pointer(GetWindowLong(Wnd, GWL_WNDPROC));
+ DestroyWindow(Wnd);
+
+// if Instance <> @DefWindowProc then
+// FreeObjectInstance(Instance);
+end;
+
+{$ENDIF}
+
+
+end.
diff --git a/Game/Code/Classes/UCovers.pas b/Game/Code/Classes/UCovers.pas
index 4040b4d8..efed1435 100644
--- a/Game/Code/Classes/UCovers.pas
+++ b/Game/Code/Classes/UCovers.pas
@@ -2,6 +2,10 @@ unit UCovers;
interface
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
uses OpenGL12,
Windows,
Math,
diff --git a/Game/Code/Classes/UDraw.pas b/Game/Code/Classes/UDraw.pas
index cbfafbe6..a28f1efc 100644
--- a/Game/Code/Classes/UDraw.pas
+++ b/Game/Code/Classes/UDraw.pas
@@ -9,7 +9,6 @@ interface
uses UThemes,
ModiSDK,
UGraphicClasses;
- // dialogs;
procedure SingDraw;
procedure SingModiDraw (PlayerInfo: TPlayerInfo);
diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas
index 008061a4..bbb22136 100644
--- a/Game/Code/Classes/UFiles.pas
+++ b/Game/Code/Classes/UFiles.pas
@@ -2,6 +2,10 @@ unit UFiles;
interface
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
uses SysUtils,
ULog,
UMusic,
@@ -108,7 +112,12 @@ begin
//Required Information
Song.Mp3 := '';
+ {$IFDEF FPC}
+ Song.BPM := NULL;
+ {$ELSE}
Song.BPM := 0;
+ {$ENDIF}
+
Song.GAP := 0;
Song.Start := 0;
Song.Finish := 0;
diff --git a/Game/Code/Classes/UGraphicClasses.pas b/Game/Code/Classes/UGraphicClasses.pas
index 83d192d6..761ec058 100644
--- a/Game/Code/Classes/UGraphicClasses.pas
+++ b/Game/Code/Classes/UGraphicClasses.pas
@@ -3,6 +3,7 @@ unit UGraphicClasses;
interface
uses UTexture;
+
const DelayBetweenFrames : Cardinal = 60;
type
@@ -79,7 +80,18 @@ type
var GoldenRec : TEffectManager;
implementation
-uses sysutils, Windows,OpenGl12, UIni, UMain, UThemes, USkins, UGraphic, UDrawTexture, math, dialogs;
+
+uses sysutils,
+ Windows,
+ OpenGl12,
+ UIni,
+ UMain,
+ UThemes,
+ USkins,
+ UGraphic,
+ UDrawTexture,
+ UCommon,
+ math;
//TParticle
Constructor TParticle.Create(cX,cY: Real; cScreen: Integer; cLive: Byte; cFrame : integer; cRecArrayIndex : Integer; cStarType : TParticleType; Player: Cardinal);
diff --git a/Game/Code/Classes/ULog.pas b/Game/Code/Classes/ULog.pas
index 2233ec1b..4a18b8e2 100644
--- a/Game/Code/Classes/ULog.pas
+++ b/Game/Code/Classes/ULog.pas
@@ -2,6 +2,10 @@ unit ULog;
interface
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
uses Classes;
type
diff --git a/Game/Code/Classes/UMusic.pas b/Game/Code/Classes/UMusic.pas
index f9c6457d..be585ee1 100644
--- a/Game/Code/Classes/UMusic.pas
+++ b/Game/Code/Classes/UMusic.pas
@@ -2,6 +2,11 @@ unit UMusic;
interface
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+
uses Classes,
Windows,
Messages,
@@ -180,7 +185,14 @@ const
ModeStr: array[TMPModes] of string = ('Not ready', 'Stopped', 'Playing', 'Recording', 'Seeking', 'Paused', 'Open');
implementation
-uses UGraphic, URecord, UFiles, UIni, UMain, UThemes;
+
+uses UCommon,
+ UGraphic,
+ URecord,
+ UFiles,
+ UIni,
+ UMain,
+ UThemes;
procedure InitializeSound;
begin
@@ -195,12 +207,18 @@ var
begin
Log.BenchmarkStart(4);
Log.LogStatus('Initializing Playback Subsystem', 'Music Initialize');
+
Loaded := false;
- Loop := false;
- fHWND := AllocateHWND( nil);
+ Loop := false;
+
+ fHWND := AllocateHWND( nil); // TODO : JB - can we do something different here ?? lazarus didnt like this function
- if not BASS_Init(1, 44100, 0, fHWND, nil) then begin
+ if not BASS_Init(1, 44100, 0, fHWND, nil) then
+ begin
+ {$IFNDEF FPC}
+ // TODO : JB find a way to do this nice..
Application.MessageBox ('Could not initialize BASS', 'Error');
+ {$ENDIF}
Exit;
end;
diff --git a/Game/Code/Classes/USongs.pas b/Game/Code/Classes/USongs.pas
index 7065024b..f5afbee2 100644
--- a/Game/Code/Classes/USongs.pas
+++ b/Game/Code/Classes/USongs.pas
@@ -1,6 +1,12 @@
unit USongs;
interface
+
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+
uses SysUtils, ULog, UTexture, UCatCovers;
type
diff --git a/Game/Code/Classes/UTexture.pas b/Game/Code/Classes/UTexture.pas
index d1ca0917..4eb00b4b 100644
--- a/Game/Code/Classes/UTexture.pas
+++ b/Game/Code/Classes/UTexture.pas
@@ -1,10 +1,5 @@
unit UTexture;
-{$IFDEF FPC}
- {$MODE DELPHI}
-{$ENDIF}
-
-
// Plain (alpha = 1)
// Transparent
// Transparent Range
@@ -17,16 +12,24 @@ unit UTexture;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
uses OpenGL12,
Windows,
Math,
Classes,
SysUtils,
- {$IFNDEF FPC}
Graphics,
+
+ {$IFDEF FPC}
+ lazjpeg,
+ {$ELSE}
JPEG,
PNGImage,
{$ENDIF}
+ UCommon,
UThemes;
@@ -192,11 +195,19 @@ var
begin
hls[0]:=hue;
- clr[0]:=src[0]/255; clr[1]:=src[1]/255; clr[2]:=src[2]/255;
+ clr[0] := src[0]/255;
+ clr[1] := src[1]/255;
+ clr[2] := src[2]/255;
+
//calculate luminance and saturation from rgb
- hls[1]:=maxvalue(clr); //l:=...
- delta:=hls[1]-minvalue(clr);
- if hls[1]=0.0 then hls[2]:=0.0 else hls[2]:=delta/hls[1]; //v:=...
+ hls[1] := maxvalue(clr); //l:=...
+ delta := hls[1] - minvalue(clr);
+
+ if hls[1] = 0.0 then
+ hls[2] := 0.0
+ else
+ hls[2] := delta/hls[1]; //v:=...
+
// calc new rgb from our hls (h from color, l ans s from pixel)
// if (hls[1]<>0.0) and (hls[2]<>0.0) then // only if colorizing makes sense
begin
@@ -287,7 +298,10 @@ var
Res: TResourceStream;
TextureB: TBitmap;
TextureJ: TJPEGImage;
+ {$IFNDEF FPC}
TexturePNG: TPNGObject;
+ {$ENDIF}
+
TextureAlpha: array of byte;
AlphaPtr: PByte;
TransparentColor: TColor;
@@ -306,6 +320,8 @@ var
RGBPtr: PByte;
myHue: Double;
begin
+ {$IFNDEF FPC} // TODO : JB eeeew this is a nasty one...
+ // but lazarus implementation scanlines is different :(
Log.BenchmarkStart(4);
Mipmapping := true;
@@ -347,7 +363,10 @@ begin
TextureJ.Free;
end
- else if Format = 'PNG' then begin
+ else if Format = 'PNG' then
+ begin
+ {$IFNDEF FPC}
+ // TODO : JB - fix this for lazarus..
TexturePNG := TPNGObject.Create;
if FromRegistry then TexturePNG.LoadFromStream(Res)
else begin
@@ -389,6 +408,7 @@ begin
setlength(TextureAlpha,0); // just no special transparency for unimplemented transparency types (ptmBit)
// transparent png hack end
TexturePNG.Free;
+ {$ENDIF}
end;
if FromRegistry then Res.Free;
@@ -872,7 +892,8 @@ begin
if Log.BenchmarkTimeLength[4] >= 1 then
Log.LogBenchmark('**********> Texture Load Time Warning - ' + Format + '/' + Identifier + '/' + Typ, 4);
- end; // logerror
+ end; // logerror
+ {$ENDIF}
end;
{procedure ResizeTexture(s: pbytearray; d: pbytearray);
diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas
index b2e2b01e..6436ee39 100644
--- a/Game/Code/Classes/UThemes.pas
+++ b/Game/Code/Classes/UThemes.pas
@@ -7,7 +7,9 @@ interface
{$ENDIF}
uses
-IniFiles, SysUtils, Classes;
+ IniFiles,
+ SysUtils,
+ Classes;
type
TRGB = record
@@ -739,7 +741,8 @@ uses
{{$IFDEF TRANSLATE}
ULanguage,
{{$ENDIF}
-USkins, UIni, Dialogs;
+ USkins,
+ UIni;
constructor TTheme.Create(FileName: string);
begin
diff --git a/Game/Code/Classes/UVideo.pas b/Game/Code/Classes/UVideo.pas
index c97057ac..4c8a4076 100644
--- a/Game/Code/Classes/UVideo.pas
+++ b/Game/Code/Classes/UVideo.pas
@@ -5,10 +5,6 @@
# based on 'An ffmpeg and SDL Tutorial' (http://www.dranger.com/ffmpeg/) #
#############################################################################}
-{$IFDEF FPC}
- {$MODE DELPHI}
-{$ENDIF}
-
//{$define DebugDisplay} // uncomment if u want to see the debug stuff
{$define DebugFrames}
{$define Info}
@@ -18,6 +14,11 @@ unit UVideo;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+
uses SDL,
UGraphicClasses,
textgl,
diff --git a/Game/Code/Menu/UDisplay.pas b/Game/Code/Menu/UDisplay.pas
index 6ad01406..160e8a73 100644
--- a/Game/Code/Menu/UDisplay.pas
+++ b/Game/Code/Menu/UDisplay.pas
@@ -2,7 +2,15 @@ unit UDisplay;
interface
-uses Windows, SDL, UMenu, OpenGL12, SysUtils;
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+uses Windows,
+ SDL,
+ UMenu,
+ OpenGL12,
+ SysUtils;
type
TDisplay = class
@@ -53,10 +61,12 @@ var
implementation
uses
- {$IFNDEF FPC}
- Graphics,
+ {$IFDEF FPC}
+ lazjpeg,
+ {$ELSE}
JPEG,
{$ENDIF}
+ graphics,
TextGL,
// UFiles,
UMain,
@@ -320,8 +330,8 @@ begin
end;
glReadPixels(0, 0, ScreenW, ScreenH, GL_RGBA, GL_UNSIGNED_BYTE, @PrintScreenData[0]);
- Bitmap := TBitmap.Create;
- Bitmap.Width := ScreenW;
+ Bitmap := TBitmap.Create;
+ Bitmap.Width := ScreenW;
Bitmap.Height := ScreenH;
for Y := 0 to ScreenH-1 do
diff --git a/Game/Code/Menu/UMenu.pas b/Game/Code/Menu/UMenu.pas
index 3c50967d..1e6c1e87 100644
--- a/Game/Code/Menu/UMenu.pas
+++ b/Game/Code/Menu/UMenu.pas
@@ -154,7 +154,12 @@ const
implementation
-uses UMain, UDrawTexture, UGraphic, UDisplay, UCovers, USkins, Dialogs;
+uses UMain,
+ UDrawTexture,
+ UGraphic,
+ UDisplay,
+ UCovers,
+ USkins;
destructor TMenu.Destroy;
begin
diff --git a/Game/Code/Screens/UScreenCredits.pas b/Game/Code/Screens/UScreenCredits.pas
index 21e164b9..3b1efc6e 100644
--- a/Game/Code/Screens/UScreenCredits.pas
+++ b/Game/Code/Screens/UScreenCredits.pas
@@ -104,24 +104,16 @@ const
implementation
-uses // Dialogs,
- Windows,
+uses Windows,
UGraphic,
UMain,
UIni,
USongs,
Textgl,
-// opengl,
ULanguage,
+ UCommon,
Math;
-{$IFDEF FPC}
-// TODO : JB - move this to a lazarus common file for ultrastar
-function RandomRange(aMin: Integer; aMax: Integer) : Integer;
-begin
-RandomRange := Random(aMax-aMin) + aMin ;
-end;
-{$ENDIF}
function TScreenCredits.ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean;
begin
diff --git a/Game/Code/Screens/UScreenEditConvert.pas b/Game/Code/Screens/UScreenEditConvert.pas
index cb6aef6d..762f84c2 100644
--- a/Game/Code/Screens/UScreenEditConvert.pas
+++ b/Game/Code/Screens/UScreenEditConvert.pas
@@ -2,6 +2,10 @@ unit UScreenEditConvert;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
{$I switches.inc}
uses UMenu,
@@ -353,11 +357,13 @@ begin
if ((ATrack[T].Status div 1) and 1) = 1 then Inc(Result);
end;
+{$IFDEF UseMIDIPort}
procedure TScreenEditConvert.MidiFile1MidiEvent(event: PMidiEvent);
begin
// Log.LogStatus(IntToStr(event.event), 'MIDI');
MidiOut.PutShort(event.event, event.data1, event.data2);
end;
+{$ENDIF}
constructor TScreenEditConvert.Create;
var
@@ -407,6 +413,7 @@ var
C: integer; // channel
CN: integer; // channel note
begin
+{$IFDEF UseMIDIPort}
MidiOut := TMidiOutput.Create(nil);
if Ini.Debug = 1 then
MidiOut.ProductName := 'Microsoft GS Wavetable SW Synth'; // for my kxproject without midi table
@@ -486,6 +493,7 @@ begin
end;
Interaction := 0;
+{$ENDIF}
end;
function TScreenEditConvert.Draw: boolean;
@@ -552,7 +560,9 @@ begin
end;
// playing line
- X := 60+MidiFile.GetCurrentTime/MidiFile.GetTrackLength*730;
+ {$IFDEF UseMIDIPort}
+ X := 60 + MidiFile.GetCurrentTime/MidiFile.GetTrackLength*730;
+ {$ENDIF}
DrawLine(X, Y, X, Bottom, 0.3, 0.3, 0.3);
@@ -560,8 +570,10 @@ end;
procedure TScreenEditConvert.onHide;
begin
+{$IFDEF UseMIDIPort}
MidiOut.Close;
MidiOut.Free;
+{$ENDIF}
end;
end.
diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas
index 7184b0b6..3843fbf4 100644
--- a/Game/Code/Screens/UScreenEditSub.pas
+++ b/Game/Code/Screens/UScreenEditSub.pas
@@ -1169,11 +1169,12 @@ begin
Exit;
end
else begin
+ {$IFDEF UseMIDIPort}
MidiOut := TMidiOutput.Create(nil);
if Ini.Debug = 1 then
MidiOut.ProductName := 'Microsoft GS Wavetable SW Synth'; // for my kxproject without midi table
MidiOut.Open;
-
+ {$ENDIF}
Text[TextTitle].Text := AktSong.Title;
Text[TextArtist].Text := AktSong.Artist;
Text[TextMp3].Text := AktSong.Mp3;
@@ -1224,11 +1225,13 @@ begin
if PlaySentenceMidi then begin
MidiPos := USTime.GetTime - MidiTime + MidiStart;
+ {$IFDEF UseMIDIPort}
// stop the music
if (MidiPos > MidiStop) then begin
MidiOut.PutShort($81, Czesci[0].Czesc[Czesci[0].Akt].Nuta[MidiLastNote].Ton + 60, 127);
PlaySentenceMidi := false;
end;
+ {$ENDIF}
// click
AktBeat := Floor(GetMidBeat(MidiPos - AktSong.GAP / 1000));
@@ -1236,13 +1239,16 @@ begin
if AktBeat <> LastClick then begin
for Pet := 0 to Czesci[0].Czesc[Czesci[0].Akt].HighNut do
- if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Start = AktBeat) then begin
+ if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Start = AktBeat) then
+ begin
+ {$IFDEF UseMIDIPort}
LastClick := AktBeat;
if Pet > 0 then
MidiOut.PutShort($81, Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet-1].Ton + 60, 127);
MidiOut.PutShort($91, Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Ton + 60, 127);
MidiLastNote := Pet;
+ {$ENDIF}
end;
end;
@@ -1312,8 +1318,10 @@ end;
procedure TScreenEditSub.onHide;
begin
+ {$IFDEF UseMIDIPort}
MidiOut.Close;
MidiOut.Free;
+ {$ENDIF}
//Music.SetVolume(100);
end;
diff --git a/Game/Code/Screens/UScreenScore.pas b/Game/Code/Screens/UScreenScore.pas
index 19e934f4..42edf4c9 100644
--- a/Game/Code/Screens/UScreenScore.pas
+++ b/Game/Code/Screens/UScreenScore.pas
@@ -2,6 +2,10 @@ unit UScreenScore;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
uses
UMenu,
SDL,
@@ -274,7 +278,7 @@ begin
Text[TextName[PP]].Text := Ini.Name[P];
- {{$IFDEF TRANSLATE}
+ //{$IFDEF TRANSLATE}
case (Player[P].ScoreTotalI) of
0..2000: Text[TextScore[PP]].Text := Language.Translate('SING_SCORE_TONE_DEAF');
2010..4000: Text[TextScore[PP]].Text := Language.Translate('SING_SCORE_AMATEUR');
@@ -284,7 +288,7 @@ begin
9010..9800: Text[TextScore[PP]].Text := Language.Translate('SING_SCORE_SUPERSTAR');
9810..10000: Text[TextScore[PP]].Text := Language.Translate('SING_SCORE_ULTRASTAR');
end;
- {{$ELSE}{
+ (* {$ELSE}{
case (Player[P].ScoreTotalI) of
0..2000: Text[TextScore[PP]].Text := 'Tone Deaf';
2010..4000: Text[TextScore[PP]].Text := 'Amateur';
@@ -294,7 +298,7 @@ begin
9010..9800: Text[TextScore[PP]].Text := 'Superstar';
9810..10000: Text[TextScore[PP]].Text := 'Ultrastar';
end;
- {$ENDIF}
+ {$ENDIF} *)
S := IntToStr(Player[P].ScoreI);
while (Length(S)<4) do S := '0' + S;
@@ -313,10 +317,12 @@ begin
Text[TextTotalScore[PP]].Text := S;
// Level bar length
-{ Lev := ((Round(Player[P].Punkty) div 10) * 10) / 10000;
+(*
+ Lev := ((Round(Player[P].Punkty) div 10) * 10) / 10000;
Static[StaticLevel[PP]].Texture.H := Round(Static[StaticBackLevel[PP]].Texture.H * Lev);
Static[StaticLevel[PP]].Texture.Y := Static[StaticBackLevel[PP]].Texture.Y + Static[StaticBackLevel[PP]].Texture.H - Static[StaticLevel[PP]].Texture.H;
Static[StaticLevelRound[PP]].Texture.Y := Static[StaticLevel[PP]].Texture.Y - Static[StaticLevelRound[PP]].Texture.H;}
+*)
// doesn't align too much... (to fix)
// hint: play with wrapping textures
// resolution: setting TexY1 and TexY2 to 0.1 and 0.9
diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas
index a5f6a317..1dd31ae9 100644
--- a/Game/Code/Screens/UScreenSing.pas
+++ b/Game/Code/Screens/UScreenSing.pas
@@ -2,6 +2,11 @@ unit UScreenSing;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+
uses UMenu, UMusic, SDL, SysUtils, UFiles, UTime, USongs, UIni, ULog, UTexture, ULyrics,
TextGL, OpenGL12, BASS, UThemes, ULCD, UGraphicClasses, UVideo;
@@ -364,8 +369,9 @@ begin
// set movie
if (AktSong.Video <> '') and FileExists(AktSong.Path + AktSong.Video) then begin
-{ OpenSmpeg(AktSong.Path + AktSong.Video);
- SkipSmpeg(AktSong.VideoGAP + AktSong.Start);}
+(* OpenSmpeg(AktSong.Path + AktSong.Video);
+ SkipSmpeg(AktSong.VideoGAP + AktSong.Start);*)
+
// todo: VideoGap and Start time verwursten
FFmpegOpenFile(pAnsiChar(AktSong.Path + AktSong.Video));
FFmpegSkip(AktSong.VideoGAP + AktSong.Start);
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas
index 2d10c9dc..7b16c315 100644
--- a/Game/Code/Screens/UScreenSong.pas
+++ b/Game/Code/Screens/UScreenSong.pas
@@ -1078,7 +1078,8 @@ begin
end;
end;
-{procedure TScreenSong.SetScroll4; // rotate
+(*
+procedure TScreenSong.SetScroll4; // rotate
var
B: integer;
Wsp: real;
@@ -1158,7 +1159,7 @@ begin
else Button[B].Visible := False;
end;
end;
-end; }
+end; *)
procedure TScreenSong.SetScroll5; // rotate
var
@@ -2003,4 +2004,4 @@ FixSelected; }
end;
-end. \ No newline at end of file
+end.
diff --git a/Game/Code/Screens/UScreenTop5.pas b/Game/Code/Screens/UScreenTop5.pas
index f9de4114..4971d12a 100644
--- a/Game/Code/Screens/UScreenTop5.pas
+++ b/Game/Code/Screens/UScreenTop5.pas
@@ -2,6 +2,11 @@ unit UScreenTop5;
interface
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+
uses
UMenu, SDL, SysUtils, UDisplay, UMusic, USongs, UThemes, ULCD;
@@ -131,7 +136,7 @@ function TScreenTop5.Draw: boolean;
C: integer;}
begin
// Singstar - let it be...... with 6 statics
-{ if PlayersPlay = 6 then begin
+(* if PlayersPlay = 6 then begin
for Item := 4 to 6 do begin
if ScreenAct = 1 then P := Item-4;
if ScreenAct = 2 then P := Item-1;
@@ -152,10 +157,10 @@ begin
Static[StaticBoxLightest[Item]].Texture.ColG,
Static[StaticBoxLightest[Item]].Texture.ColB,
'P4Dark');
- end;}
+ end; }
-{ end;
- end;}
+ end;
+ end; *)
inherited Draw;
end;
diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr
index df4846b3..474bf173 100644
--- a/Game/Code/UltraStar.dpr
+++ b/Game/Code/UltraStar.dpr
@@ -60,6 +60,7 @@ uses
//------------------------------
//Includes - Classes
//------------------------------
+ UCommon in 'Classes\UCommon.pas',
UGraphic in 'Classes\UGraphic.pas',
UTexture in 'Classes\UTexture.pas',
UMusic in 'Classes\UMusic.pas',
diff --git a/Game/Code/UltraStar.lpi b/Game/Code/UltraStar.lpi
index 43d4cd5c..519db01f 100644
--- a/Game/Code/UltraStar.lpi
+++ b/Game/Code/UltraStar.lpi
@@ -12,7 +12,7 @@
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
- <ActiveEditorIndexAtStart Value="3"/>
+ <ActiveEditorIndexAtStart Value="9"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@@ -31,14 +31,22 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
- <Units Count="43">
+ <RequiredPackages Count="2">
+ <Item1>
+ <PackageName Value="ImagesForLazarus"/>
+ </Item1>
+ <Item2>
+ <PackageName Value="JPEGForLazarus"/>
+ </Item2>
+ </RequiredPackages>
+ <Units Count="49">
<Unit0>
<Filename Value="UltraStar.lpr"/>
<IsPartOfProject Value="True"/>
- <CursorPos X="6" Y="70"/>
- <TopLine Value="50"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
<EditorIndex Value="0"/>
- <UsageCount Value="22"/>
+ <UsageCount Value="67"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@@ -46,22 +54,25 @@
<UnitName Value="opengl12"/>
<CursorPos X="2" Y="256"/>
<TopLine Value="236"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="7"/>
</Unit1>
<Unit2>
<Filename Value="Classes\UTexture.pas"/>
<UnitName Value="UTexture"/>
- <CursorPos X="1" Y="20"/>
- <TopLine Value="1"/>
- <UsageCount Value="11"/>
+ <CursorPos X="52" Y="874"/>
+ <TopLine Value="870"/>
+ <UsageCount Value="10"/>
+ <Bookmarks Count="1">
+ <Item0 X="29" Y="203" ID="1"/>
+ </Bookmarks>
</Unit2>
<Unit3>
<Filename Value="Classes\UCommandLine.pas"/>
<UnitName Value="UCommandLine"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <EditorIndex Value="7"/>
- <UsageCount Value="11"/>
+ <EditorIndex Value="24"/>
+ <UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
@@ -69,183 +80,206 @@
<UnitName Value="UIni"/>
<CursorPos X="9" Y="7"/>
<TopLine Value="1"/>
- <EditorIndex Value="1"/>
- <UsageCount Value="11"/>
+ <EditorIndex Value="13"/>
+ <UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="Classes\ULog.pas"/>
<UnitName Value="ULog"/>
- <CursorPos X="1" Y="1"/>
+ <CursorPos X="9" Y="7"/>
<TopLine Value="1"/>
- <UsageCount Value="11"/>
+ <EditorIndex Value="8"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="Classes\UFiles.pas"/>
<UnitName Value="UFiles"/>
- <CursorPos X="1" Y="38"/>
- <TopLine Value="1"/>
+ <CursorPos X="1" Y="512"/>
+ <TopLine Value="492"/>
+ <EditorIndex Value="5"/>
<UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="Classes\USongs.pas"/>
<UnitName Value="USongs"/>
<CursorPos X="57" Y="115"/>
<TopLine Value="91"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="7"/>
</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="10"/>
+ <UsageCount Value="6"/>
</Unit8>
<Unit9>
<Filename Value="Classes\UMain.pas"/>
<UnitName Value="UMain"/>
- <CursorPos X="1" Y="1"/>
+ <CursorPos X="5" Y="9"/>
<TopLine Value="1"/>
+ <EditorIndex Value="10"/>
<UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit9>
<Unit10>
<Filename Value="Classes\UGraphic.pas"/>
<UnitName Value="UGraphic"/>
<CursorPos X="3" Y="56"/>
<TopLine Value="19"/>
- <EditorIndex Value="8"/>
- <UsageCount Value="11"/>
+ <EditorIndex Value="25"/>
+ <UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
<Filename Value="Classes\UThemes.pas"/>
<UnitName Value="UThemes"/>
- <CursorPos X="24" Y="379"/>
- <TopLine Value="359"/>
- <UsageCount Value="11"/>
+ <CursorPos X="37" Y="165"/>
+ <TopLine Value="139"/>
+ <EditorIndex Value="9"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
</Unit11>
<Unit12>
<Filename Value="Classes\UCovers.pas"/>
<UnitName Value="UCovers"/>
- <CursorPos X="14" Y="11"/>
+ <CursorPos X="12" Y="7"/>
<TopLine Value="1"/>
+ <EditorIndex Value="3"/>
<UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit12>
<Unit13>
<Filename Value="Classes\UMusic.pas"/>
<UnitName Value="UMusic"/>
- <CursorPos X="1" Y="1"/>
- <TopLine Value="1"/>
+ <CursorPos X="46" Y="219"/>
+ <TopLine Value="198"/>
+ <EditorIndex Value="7"/>
<UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="Classes\ULyrics.pas"/>
<UnitName Value="ULyrics"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="7"/>
</Unit14>
<Unit15>
<Filename Value="Screens\UScreenLoading.pas"/>
<UnitName Value="UScreenLoading"/>
<CursorPos X="8" Y="6"/>
<TopLine Value="1"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="7"/>
</Unit15>
<Unit16>
<Filename Value="Menu\UMenu.pas"/>
<UnitName Value="UMenu"/>
- <CursorPos X="9" Y="7"/>
+ <CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
+ <EditorIndex Value="12"/>
<UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit16>
<Unit17>
<Filename Value="Menu\UMenuText.pas"/>
<UnitName Value="UMenuText"/>
<CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="7"/>
</Unit17>
<Unit18>
<Filename Value="Menu\UMenuSelectSlide.pas"/>
<UnitName Value="UMenuSelectSlide"/>
<CursorPos X="6" Y="12"/>
<TopLine Value="2"/>
- <UsageCount Value="10"/>
+ <UsageCount Value="6"/>
</Unit18>
<Unit19>
<Filename Value="Screens\UScreenMain.pas"/>
<UnitName Value="UScreenMain"/>
<CursorPos X="3" Y="14"/>
<TopLine Value="1"/>
- <EditorIndex Value="4"/>
- <UsageCount Value="10"/>
- <Bookmarks Count="1">
- <Item0 X="6" Y="43" ID="1"/>
- </Bookmarks>
+ <EditorIndex Value="21"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit19>
<Unit20>
<Filename Value="Menu\UDisplay.pas"/>
<UnitName Value="UDisplay"/>
- <CursorPos X="1" Y="60"/>
- <TopLine Value="35"/>
- <UsageCount Value="10"/>
+ <CursorPos X="29" Y="410"/>
+ <TopLine Value="390"/>
+ <EditorIndex Value="6"/>
+ <UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit20>
<Unit21>
<Filename Value="Classes\ULight.pas"/>
<UnitName Value="ULight"/>
<CursorPos X="81" Y="55"/>
<TopLine Value="51"/>
- <UsageCount Value="10"/>
+ <UsageCount Value="6"/>
</Unit21>
<Unit22>
<Filename Value="Screens\UScreenSing.pas"/>
<UnitName Value="UScreenSing"/>
- <CursorPos X="65" Y="6"/>
+ <CursorPos X="40" Y="21"/>
<TopLine Value="1"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="19"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
</Unit22>
<Unit23>
<Filename Value="Classes\UVideo.pas"/>
<UnitName Value="UVideo"/>
- <CursorPos X="9" Y="10"/>
- <TopLine Value="1"/>
- <UsageCount Value="10"/>
+ <CursorPos X="1" Y="8"/>
+ <TopLine Value="2"/>
+ <EditorIndex Value="20"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
</Unit23>
<Unit24>
<Filename Value="Screens\UScreenScore.pas"/>
<UnitName Value="UScreenScore"/>
- <CursorPos X="1" Y="1"/>
+ <CursorPos X="9" Y="7"/>
<TopLine Value="1"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="18"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
</Unit24>
<Unit25>
<Filename Value="Screens\UScreenEditSub.pas"/>
<UnitName Value="UScreenEditSub"/>
- <CursorPos X="19" Y="545"/>
- <TopLine Value="505"/>
- <UsageCount Value="10"/>
+ <CursorPos X="11" Y="1339"/>
+ <TopLine Value="1330"/>
+ <EditorIndex Value="16"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="switches.inc"/>
<CursorPos X="10" Y="3"/>
<TopLine Value="1"/>
- <UsageCount Value="10"/>
+ <UsageCount Value="6"/>
</Unit26>
<Unit27>
<Filename Value="lib\midi\Midiout.pas"/>
<UnitName Value="MidiOut"/>
- <CursorPos X="110" Y="20"/>
+ <CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="2"/>
+ <UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit27>
<Unit28>
<Filename Value="Screens\UScreenEditConvert.pas"/>
<UnitName Value="UScreenEditConvert"/>
- <CursorPos X="48" Y="356"/>
- <TopLine Value="336"/>
- <EditorIndex Value="3"/>
- <UsageCount Value="10"/>
+ <CursorPos X="23" Y="563"/>
+ <TopLine Value="537"/>
+ <EditorIndex Value="15"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit28>
<Unit29>
@@ -253,17 +287,17 @@
<UnitName Value="UScreenSingModi"/>
<CursorPos X="6" Y="26"/>
<TopLine Value="6"/>
- <EditorIndex Value="6"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="23"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit29>
<Unit30>
<Filename Value="Screens\UScreenCredits.pas"/>
<UnitName Value="UScreenCredits"/>
- <CursorPos X="64" Y="119"/>
- <TopLine Value="96"/>
- <EditorIndex Value="11"/>
- <UsageCount Value="10"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="28"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit30>
<Unit31>
@@ -271,23 +305,25 @@
<UnitName Value="URecord"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <EditorIndex Value="18"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="36"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit31>
<Unit32>
<Filename Value="lib\JEDI-SDLv1.0\SDL\Pas\jedi-sdl.inc"/>
<CursorPos X="4" Y="237"/>
<TopLine Value="217"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="11"/>
+ <UsageCount Value="11"/>
+ <Loaded Value="True"/>
</Unit32>
<Unit33>
<Filename Value="..\..\Modis\SDK\ModiSDK.pas"/>
<UnitName Value="ModiSDK"/>
<CursorPos X="41" Y="8"/>
<TopLine Value="1"/>
- <EditorIndex Value="5"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="22"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit33>
<Unit34>
@@ -295,8 +331,8 @@
<UnitName Value="UDLLManager"/>
<CursorPos X="12" Y="5"/>
<TopLine Value="1"/>
- <EditorIndex Value="9"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="26"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit34>
<Unit35>
@@ -304,8 +340,8 @@
<UnitName Value="UPlaylist"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <EditorIndex Value="10"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="27"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit35>
<Unit36>
@@ -313,8 +349,8 @@
<UnitName Value="UDataBase"/>
<CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
- <EditorIndex Value="17"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="35"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit36>
<Unit37>
@@ -322,8 +358,8 @@
<UnitName Value="UScreenStatMain"/>
<CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
- <EditorIndex Value="12"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="29"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit37>
<Unit38>
@@ -331,8 +367,8 @@
<UnitName Value="UScreenPartyOptions"/>
<CursorPos X="42" Y="233"/>
<TopLine Value="213"/>
- <EditorIndex Value="13"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="30"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit38>
<Unit39>
@@ -340,8 +376,8 @@
<UnitName Value="UScreenPartyNewRound"/>
<CursorPos X="5" Y="422"/>
<TopLine Value="382"/>
- <EditorIndex Value="14"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="31"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit39>
<Unit40>
@@ -349,151 +385,80 @@
<UnitName Value="UParty"/>
<CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
- <EditorIndex Value="15"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="32"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit40>
<Unit41>
<Filename Value="Classes\UDraw.pas"/>
<UnitName Value="UDraw"/>
- <CursorPos X="22" Y="11"/>
+ <CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
- <EditorIndex Value="16"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="33"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit41>
<Unit42>
<Filename Value="Screens\UScreenSongMenu.pas"/>
<UnitName Value="UScreenSongMenu"/>
- <CursorPos X="9" Y="7"/>
+ <CursorPos X="1" Y="5"/>
<TopLine Value="1"/>
- <EditorIndex Value="2"/>
- <UsageCount Value="10"/>
+ <EditorIndex Value="14"/>
+ <UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit42>
+ <Unit43>
+ <Filename Value="Screens\UScreenTop5.pas"/>
+ <UnitName Value="UScreenTop5"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="17"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
+ </Unit43>
+ <Unit44>
+ <Filename Value="Classes\UGraphicClasses.pas"/>
+ <UnitName Value="UGraphicClasses"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="34"/>
+ <UsageCount Value="12"/>
+ <Loaded Value="True"/>
+ </Unit44>
+ <Unit45>
+ <Filename Value="Screens\UScreenSong.pas"/>
+ <UnitName Value="UScreenSong"/>
+ <CursorPos X="13" Y="1162"/>
+ <TopLine Value="1135"/>
+ <EditorIndex Value="4"/>
+ <UsageCount Value="11"/>
+ <Loaded Value="True"/>
+ </Unit45>
+ <Unit46>
+ <Filename Value="lib\midi\DELPHMCB.PAS"/>
+ <UnitName Value="Delphmcb"/>
+ <CursorPos X="1" Y="1"/>
+ <TopLine Value="1"/>
+ <UsageCount Value="10"/>
+ </Unit46>
+ <Unit47>
+ <Filename Value="Classes\UCommon.pas"/>
+ <UnitName Value="UCommon"/>
+ <CursorPos X="55" Y="22"/>
+ <TopLine Value="7"/>
+ <EditorIndex Value="1"/>
+ <UsageCount Value="10"/>
+ <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="10"/>
+ </Unit48>
</Units>
- <JumpHistory Count="30" HistoryIndex="29">
- <Position1>
- <Filename Value="Screens\UScreenPartyNewRound.pas"/>
- <Caret Line="11" Column="51" TopLine="1"/>
- </Position1>
- <Position2>
- <Filename Value="Classes\UParty.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position2>
- <Position3>
- <Filename Value="Classes\UParty.pas"/>
- <Caret Line="322" Column="33" TopLine="297"/>
- </Position3>
- <Position4>
- <Filename Value="Classes\UParty.pas"/>
- <Caret Line="294" Column="3" TopLine="274"/>
- </Position4>
- <Position5>
- <Filename Value="Classes\UDraw.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position5>
- <Position6>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position6>
- <Position7>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="1110" Column="1" TopLine="1070"/>
- </Position7>
- <Position8>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="152" Column="33" TopLine="681"/>
- </Position8>
- <Position9>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position9>
- <Position10>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="165" Column="18" TopLine="139"/>
- </Position10>
- <Position11>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="9" Column="9" TopLine="1"/>
- </Position11>
- <Position12>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="7" Column="9" TopLine="1"/>
- </Position12>
- <Position13>
- <Filename Value="Screens\UScreenSingModi.pas"/>
- <Caret Line="176" Column="52" TopLine="156"/>
- </Position13>
- <Position14>
- <Filename Value="UltraStar.lpr"/>
- <Caret Line="106" Column="34" TopLine="86"/>
- </Position14>
- <Position15>
- <Filename Value="UltraStar.lpr"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position15>
- <Position16>
- <Filename Value="UltraStar.lpr"/>
- <Caret Line="70" Column="6" TopLine="50"/>
- </Position16>
- <Position17>
- <Filename Value="Screens\UScreenSongMenu.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position17>
- <Position18>
- <Filename Value="Screens\UScreenSongMenu.pas"/>
- <Caret Line="166" Column="71" TopLine="146"/>
- </Position18>
- <Position19>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="1" Column="1" TopLine="1"/>
- </Position19>
- <Position20>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="118" Column="14" TopLine="86"/>
- </Position20>
- <Position21>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="137" Column="21" TopLine="113"/>
- </Position21>
- <Position22>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="144" Column="21" TopLine="122"/>
- </Position22>
- <Position23>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="147" Column="38" TopLine="127"/>
- </Position23>
- <Position24>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="148" Column="50" TopLine="128"/>
- </Position24>
- <Position25>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="151" Column="21" TopLine="131"/>
- </Position25>
- <Position26>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="169" Column="34" TopLine="149"/>
- </Position26>
- <Position27>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="171" Column="48" TopLine="151"/>
- </Position27>
- <Position28>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="356" Column="38" TopLine="336"/>
- </Position28>
- <Position29>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="393" Column="11" TopLine="371"/>
- </Position29>
- <Position30>
- <Filename Value="Screens\UScreenEditConvert.pas"/>
- <Caret Line="409" Column="28" TopLine="433"/>
- </Position30>
- </JumpHistory>
+ <JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
diff --git a/Game/Code/UltraStar.lpr b/Game/Code/UltraStar.lpr
index aebf549c..2e2a98a2 100644
--- a/Game/Code/UltraStar.lpr
+++ b/Game/Code/UltraStar.lpr
@@ -61,14 +61,16 @@ uses
//------------------------------
//Includes - Classes
//------------------------------
+
+ UCommon in 'Classes\UCommon.pas',
UTime in 'Classes\UTime.pas',
UCommandLine in 'Classes\UCommandLine.pas',
ULog in 'Classes\ULog.pas',
UMain in 'Classes\UMain.pas',
- UIni in 'Classes\UIni.pas',
- UTexture in 'Classes\UTexture.pas',
+ UIni in 'Classes\UIni.pas',
+ UTexture in 'Classes\UTexture.pas',
UGraphic in 'Classes\UGraphic.pas',
UMusic in 'Classes\UMusic.pas',
diff --git a/Game/Code/lib/midi/MidiFile.pas b/Game/Code/lib/midi/MidiFile.pas
index 5c15481e..10b64a80 100644
--- a/Game/Code/lib/midi/MidiFile.pas
+++ b/Game/Code/lib/midi/MidiFile.pas
@@ -91,8 +91,17 @@ unit MidiFile;
interface
uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- stdctrls, ExtCtrls, WinProcs;
+ Windows,
+ Messages,
+ SysUtils,
+ Classes,
+ Graphics,
+ Controls,
+ Forms,
+ stdctrls,
+ ExtCtrls,
+ WinProcs;
+
type
TChunkType = (illegal, header, track);
TFileFormat = (single, multi_synch, multi_asynch);
diff --git a/Game/Code/lib/midi/Midiin.pas b/Game/Code/lib/midi/Midiin.pas
index 2f2e76c0..32a17c51 100644
--- a/Game/Code/lib/midi/Midiin.pas
+++ b/Game/Code/lib/midi/Midiin.pas
@@ -212,7 +212,9 @@ procedure Register;
{====================================================================}
implementation
-uses Graphics, Controls, Forms, Dialogs;
+uses Controls,
+ Forms,
+ Graphics;
(* Not used in Delphi 3
{ This is the callback procedure in the external DLL.