From 4e9a191776560d0bc669800461948e5b9b206679 Mon Sep 17 00:00:00 2001
From: jaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c>
Date: Wed, 19 Sep 2007 23:34:34 +0000
Subject: tested ffmpeg in lazarus - linux.. working :)

just need to make sure development packages are installed for ffmpeg.
such as : libavcodec-dev  & libavformat-dev


git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@406 b956fd51-792f-4845-bead-9b4dfca2ff2c
---
 Game/Code/UltraStar.lpi        | 1181 +++++++++++++++++++++-------------------
 Game/Code/UltraStar.lpr        |  797 ++++++++++++++-------------
 Game/Code/lib/requirements.txt |    6 +-
 3 files changed, 1027 insertions(+), 957 deletions(-)

(limited to 'Game/Code')

diff --git a/Game/Code/UltraStar.lpi b/Game/Code/UltraStar.lpi
index a402e9a0..84980b53 100644
--- a/Game/Code/UltraStar.lpi
+++ b/Game/Code/UltraStar.lpi
@@ -1,569 +1,612 @@
-<?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="8"/>
-    </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="52">
-      <Unit0>
-        <Filename Value="UltraStar.lpr"/>
-        <IsPartOfProject Value="True"/>
-        <CursorPos X="32" Y="72"/>
-        <TopLine Value="52"/>
-        <EditorIndex Value="0"/>
-        <UsageCount Value="71"/>
-        <Loaded Value="True"/>
-      </Unit0>
-      <Unit1>
-        <Filename Value="lib\JEDI-SDLv1.0\OpenGL\Pas\opengl12.pas"/>
-        <UnitName Value="opengl12"/>
-        <CursorPos X="2" Y="256"/>
-        <TopLine Value="236"/>
-        <UsageCount Value="6"/>
-      </Unit1>
-      <Unit2>
-        <Filename Value="Classes\UTexture.pas"/>
-        <UnitName Value="UTexture"/>
-        <CursorPos X="36" Y="458"/>
-        <TopLine Value="883"/>
-        <EditorIndex Value="8"/>
-        <UsageCount Value="12"/>
-        <Loaded Value="True"/>
-      </Unit2>
-      <Unit3>
-        <Filename Value="Classes\UCommandLine.pas"/>
-        <UnitName Value="UCommandLine"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="33"/>
-      </Unit3>
-      <Unit4>
-        <Filename Value="Classes\UIni.pas"/>
-        <UnitName Value="UIni"/>
-        <CursorPos X="9" Y="7"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="33"/>
-      </Unit4>
-      <Unit5>
-        <Filename Value="Classes\ULog.pas"/>
-        <UnitName Value="ULog"/>
-        <CursorPos X="41" Y="204"/>
-        <TopLine Value="186"/>
-        <EditorIndex Value="1"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit5>
-      <Unit6>
-        <Filename Value="Classes\UFiles.pas"/>
-        <UnitName Value="UFiles"/>
-        <CursorPos X="8" Y="132"/>
-        <TopLine Value="96"/>
-        <EditorIndex Value="5"/>
-        <UsageCount Value="12"/>
-        <Loaded Value="True"/>
-      </Unit6>
-      <Unit7>
-        <Filename Value="Classes\USongs.pas"/>
-        <UnitName Value="USongs"/>
-        <CursorPos X="57" Y="115"/>
-        <TopLine Value="91"/>
-        <UsageCount Value="6"/>
-      </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="5"/>
-      </Unit8>
-      <Unit9>
-        <Filename Value="Classes\UMain.pas"/>
-        <UnitName Value="UMain"/>
-        <CursorPos X="5" Y="9"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="10"/>
-      </Unit9>
-      <Unit10>
-        <Filename Value="Classes\UGraphic.pas"/>
-        <UnitName Value="UGraphic"/>
-        <CursorPos X="3" Y="56"/>
-        <TopLine Value="19"/>
-        <UsageCount Value="33"/>
-      </Unit10>
-      <Unit11>
-        <Filename Value="Classes\UThemes.pas"/>
-        <UnitName Value="UThemes"/>
-        <CursorPos X="29" Y="1746"/>
-        <TopLine Value="1691"/>
-        <UsageCount Value="10"/>
-      </Unit11>
-      <Unit12>
-        <Filename Value="Classes\UCovers.pas"/>
-        <UnitName Value="UCovers"/>
-        <CursorPos X="12" Y="7"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="10"/>
-      </Unit12>
-      <Unit13>
-        <Filename Value="Classes\UMusic.pas"/>
-        <UnitName Value="UMusic"/>
-        <CursorPos X="46" Y="219"/>
-        <TopLine Value="198"/>
-        <UsageCount Value="10"/>
-      </Unit13>
-      <Unit14>
-        <Filename Value="Classes\ULyrics.pas"/>
-        <UnitName Value="ULyrics"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="6"/>
-      </Unit14>
-      <Unit15>
-        <Filename Value="Screens\UScreenLoading.pas"/>
-        <UnitName Value="UScreenLoading"/>
-        <CursorPos X="8" Y="6"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="6"/>
-      </Unit15>
-      <Unit16>
-        <Filename Value="Menu\UMenu.pas"/>
-        <UnitName Value="UMenu"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="10"/>
-      </Unit16>
-      <Unit17>
-        <Filename Value="Menu\UMenuText.pas"/>
-        <UnitName Value="UMenuText"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="6"/>
-      </Unit17>
-      <Unit18>
-        <Filename Value="Menu\UMenuSelectSlide.pas"/>
-        <UnitName Value="UMenuSelectSlide"/>
-        <CursorPos X="6" Y="12"/>
-        <TopLine Value="2"/>
-        <UsageCount Value="5"/>
-      </Unit18>
-      <Unit19>
-        <Filename Value="Screens\UScreenMain.pas"/>
-        <UnitName Value="UScreenMain"/>
-        <CursorPos X="3" Y="14"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit19>
-      <Unit20>
-        <Filename Value="Menu\UDisplay.pas"/>
-        <UnitName Value="UDisplay"/>
-        <CursorPos X="7" Y="65"/>
-        <TopLine Value="165"/>
-        <EditorIndex Value="7"/>
-        <UsageCount Value="12"/>
-        <Loaded Value="True"/>
-      </Unit20>
-      <Unit21>
-        <Filename Value="Classes\ULight.pas"/>
-        <UnitName Value="ULight"/>
-        <CursorPos X="81" Y="55"/>
-        <TopLine Value="51"/>
-        <UsageCount Value="5"/>
-      </Unit21>
-      <Unit22>
-        <Filename Value="Screens\UScreenSing.pas"/>
-        <UnitName Value="UScreenSing"/>
-        <CursorPos X="40" Y="21"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="11"/>
-      </Unit22>
-      <Unit23>
-        <Filename Value="Classes\UVideo.pas"/>
-        <UnitName Value="UVideo"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="2"/>
-        <UsageCount Value="11"/>
-      </Unit23>
-      <Unit24>
-        <Filename Value="Screens\UScreenScore.pas"/>
-        <UnitName Value="UScreenScore"/>
-        <CursorPos X="9" Y="7"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="11"/>
-      </Unit24>
-      <Unit25>
-        <Filename Value="Screens\UScreenEditSub.pas"/>
-        <UnitName Value="UScreenEditSub"/>
-        <CursorPos X="11" Y="1339"/>
-        <TopLine Value="1330"/>
-        <UsageCount Value="11"/>
-      </Unit25>
-      <Unit26>
-        <Filename Value="switches.inc"/>
-        <CursorPos X="10" Y="3"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="5"/>
-      </Unit26>
-      <Unit27>
-        <Filename Value="lib\midi\Midiout.pas"/>
-        <UnitName Value="MidiOut"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="10"/>
-      </Unit27>
-      <Unit28>
-        <Filename Value="Screens\UScreenEditConvert.pas"/>
-        <UnitName Value="UScreenEditConvert"/>
-        <CursorPos X="22" Y="26"/>
-        <TopLine Value="1"/>
-        <EditorIndex Value="2"/>
-        <UsageCount Value="33"/>
-        <Loaded Value="True"/>
-      </Unit28>
-      <Unit29>
-        <Filename Value="Screens\UScreenSingModi.pas"/>
-        <UnitName Value="UScreenSingModi"/>
-        <CursorPos X="6" Y="26"/>
-        <TopLine Value="6"/>
-        <UsageCount Value="32"/>
-      </Unit29>
-      <Unit30>
-        <Filename Value="Screens\UScreenCredits.pas"/>
-        <UnitName Value="UScreenCredits"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit30>
-      <Unit31>
-        <Filename Value="Classes\URecord.pas"/>
-        <UnitName Value="URecord"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit31>
-      <Unit32>
-        <Filename Value="lib\JEDI-SDLv1.0\SDL\Pas\jedi-sdl.inc"/>
-        <CursorPos X="4" Y="237"/>
-        <TopLine Value="217"/>
-        <UsageCount Value="11"/>
-      </Unit32>
-      <Unit33>
-        <Filename Value="..\..\Modis\SDK\ModiSDK.pas"/>
-        <UnitName Value="ModiSDK"/>
-        <CursorPos X="41" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit33>
-      <Unit34>
-        <Filename Value="Classes\UDLLManager.pas"/>
-        <UnitName Value="UDLLManager"/>
-        <CursorPos X="12" Y="5"/>
-        <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="32"/>
-      </Unit35>
-      <Unit36>
-        <Filename Value="Classes\UDataBase.pas"/>
-        <UnitName Value="UDataBase"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit36>
-      <Unit37>
-        <Filename Value="Screens\UScreenStatMain.pas"/>
-        <UnitName Value="UScreenStatMain"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit37>
-      <Unit38>
-        <Filename Value="Screens\UScreenPartyOptions.pas"/>
-        <UnitName Value="UScreenPartyOptions"/>
-        <CursorPos X="42" Y="233"/>
-        <TopLine Value="213"/>
-        <UsageCount Value="32"/>
-      </Unit38>
-      <Unit39>
-        <Filename Value="Screens\UScreenPartyNewRound.pas"/>
-        <UnitName Value="UScreenPartyNewRound"/>
-        <CursorPos X="5" Y="422"/>
-        <TopLine Value="382"/>
-        <UsageCount Value="32"/>
-      </Unit39>
-      <Unit40>
-        <Filename Value="Classes\UParty.pas"/>
-        <UnitName Value="UParty"/>
-        <CursorPos X="1" Y="8"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit40>
-      <Unit41>
-        <Filename Value="Classes\UDraw.pas"/>
-        <UnitName Value="UDraw"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit41>
-      <Unit42>
-        <Filename Value="Screens\UScreenSongMenu.pas"/>
-        <UnitName Value="UScreenSongMenu"/>
-        <CursorPos X="1" Y="5"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="32"/>
-      </Unit42>
-      <Unit43>
-        <Filename Value="Screens\UScreenTop5.pas"/>
-        <UnitName Value="UScreenTop5"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="11"/>
-      </Unit43>
-      <Unit44>
-        <Filename Value="Classes\UGraphicClasses.pas"/>
-        <UnitName Value="UGraphicClasses"/>
-        <CursorPos X="1" Y="1"/>
-        <TopLine Value="1"/>
-        <UsageCount Value="11"/>
-      </Unit44>
-      <Unit45>
-        <Filename Value="Screens\UScreenSong.pas"/>
-        <UnitName Value="UScreenSong"/>
-        <CursorPos X="13" Y="1162"/>
-        <TopLine Value="1135"/>
-        <UsageCount Value="10"/>
-      </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"/>
-        <UsageCount Value="10"/>
-      </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>
-      <Unit49>
-        <Filename Value="Classes\Ulazjpeg.pas"/>
-        <UnitName Value="Ulazjpeg"/>
-        <CursorPos X="44" Y="15"/>
-        <TopLine Value="63"/>
-        <EditorIndex Value="6"/>
-        <UsageCount Value="12"/>
-        <Loaded Value="True"/>
-      </Unit49>
-      <Unit50>
-        <Filename Value="Classes\TextGL.pas"/>
-        <UnitName Value="TextGL"/>
-        <CursorPos X="36" Y="372"/>
-        <TopLine Value="339"/>
-        <EditorIndex Value="3"/>
-        <UsageCount Value="11"/>
-        <Bookmarks Count="1">
-          <Item0 X="1" Y="124" ID="1"/>
-        </Bookmarks>
-        <Loaded Value="True"/>
-      </Unit50>
-      <Unit51>
-        <Filename Value="UltraStar.lrs"/>
-        <CursorPos X="17" Y="1"/>
-        <TopLine Value="1"/>
-        <EditorIndex Value="4"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit51>
-    </Units>
-    <JumpHistory Count="30" HistoryIndex="29">
-      <Position1>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position1>
-      <Position2>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="362" Column="33" TopLine="339"/>
-      </Position2>
-      <Position3>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position3>
-      <Position4>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="68" Column="30" TopLine="47"/>
-      </Position4>
-      <Position5>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position5>
-      <Position6>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="68" Column="30" TopLine="48"/>
-      </Position6>
-      <Position7>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="70" Column="31" TopLine="50"/>
-      </Position7>
-      <Position8>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="78" Column="28" TopLine="58"/>
-      </Position8>
-      <Position9>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="116" Column="29" TopLine="96"/>
-      </Position9>
-      <Position10>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="120" Column="29" TopLine="100"/>
-      </Position10>
-      <Position11>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="124" Column="29" TopLine="104"/>
-      </Position11>
-      <Position12>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="128" Column="29" TopLine="108"/>
-      </Position12>
-      <Position13>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="78" Column="1" TopLine="68"/>
-      </Position13>
-      <Position14>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="368" Column="1" TopLine="328"/>
-      </Position14>
-      <Position15>
-        <Filename Value="UltraStar.lrs"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position15>
-      <Position16>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="68" Column="31" TopLine="49"/>
-      </Position16>
-      <Position17>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="1" Column="1" TopLine="101"/>
-      </Position17>
-      <Position18>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="10" Column="5" TopLine="1"/>
-      </Position18>
-      <Position19>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="71" Column="52" TopLine="42"/>
-      </Position19>
-      <Position20>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="119" Column="34" TopLine="101"/>
-      </Position20>
-      <Position21>
-        <Filename Value="UltraStar.lpr"/>
-        <Caret Line="212" Column="11" TopLine="194"/>
-      </Position21>
-      <Position22>
-        <Filename Value="UltraStar.lpr"/>
-        <Caret Line="213" Column="6" TopLine="193"/>
-      </Position22>
-      <Position23>
-        <Filename Value="UltraStar.lpr"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position23>
-      <Position24>
-        <Filename Value="Classes\ULog.pas"/>
-        <Caret Line="7" Column="9" TopLine="1"/>
-      </Position24>
-      <Position25>
-        <Filename Value="Classes\TextGL.pas"/>
-        <Caret Line="65" Column="20" TopLine="51"/>
-      </Position25>
-      <Position26>
-        <Filename Value="Classes\UTexture.pas"/>
-        <Caret Line="314" Column="42" TopLine="311"/>
-      </Position26>
-      <Position27>
-        <Filename Value="Classes\UTexture.pas"/>
-        <Caret Line="320" Column="39" TopLine="288"/>
-      </Position27>
-      <Position28>
-        <Filename Value="Classes\UTexture.pas"/>
-        <Caret Line="323" Column="55" TopLine="303"/>
-      </Position28>
-      <Position29>
-        <Filename Value="Classes\UTexture.pas"/>
-        <Caret Line="397" Column="42" TopLine="369"/>
-      </Position29>
-      <Position30>
-        <Filename Value="Classes\UTexture.pas"/>
-        <Caret Line="422" Column="37" TopLine="394"/>
-      </Position30>
-    </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>
+<?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"/>
+      <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="60">
+      <Unit0>
+        <Filename Value="UltraStar.lpr"/>
+        <IsPartOfProject Value="True"/>
+        <CursorPos X="18" Y="36"/>
+        <TopLine Value="11"/>
+        <EditorIndex Value="0"/>
+        <UsageCount Value="72"/>
+        <Loaded Value="True"/>
+      </Unit0>
+      <Unit1>
+        <Filename Value="lib/JEDI-SDLv1.0/OpenGL/Pas/opengl12.pas"/>
+        <UnitName Value="opengl12"/>
+        <CursorPos X="2" Y="256"/>
+        <TopLine Value="236"/>
+        <UsageCount Value="6"/>
+      </Unit1>
+      <Unit2>
+        <Filename Value="Classes/UTexture.pas"/>
+        <UnitName Value="UTexture"/>
+        <CursorPos X="36" Y="458"/>
+        <TopLine Value="883"/>
+        <EditorIndex Value="14"/>
+        <UsageCount Value="12"/>
+        <Loaded Value="True"/>
+      </Unit2>
+      <Unit3>
+        <Filename Value="Classes/UCommandLine.pas"/>
+        <UnitName Value="UCommandLine"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="33"/>
+      </Unit3>
+      <Unit4>
+        <Filename Value="Classes/UIni.pas"/>
+        <UnitName Value="UIni"/>
+        <CursorPos X="9" Y="7"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="33"/>
+      </Unit4>
+      <Unit5>
+        <Filename Value="Classes/ULog.pas"/>
+        <UnitName Value="ULog"/>
+        <CursorPos X="41" Y="204"/>
+        <TopLine Value="186"/>
+        <EditorIndex Value="9"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit5>
+      <Unit6>
+        <Filename Value="Classes/UFiles.pas"/>
+        <UnitName Value="UFiles"/>
+        <CursorPos X="8" Y="132"/>
+        <TopLine Value="96"/>
+        <EditorIndex Value="12"/>
+        <UsageCount Value="12"/>
+        <Loaded Value="True"/>
+      </Unit6>
+      <Unit7>
+        <Filename Value="Classes/USongs.pas"/>
+        <UnitName Value="USongs"/>
+        <CursorPos X="57" Y="115"/>
+        <TopLine Value="91"/>
+        <UsageCount Value="6"/>
+      </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="5"/>
+      </Unit8>
+      <Unit9>
+        <Filename Value="Classes/UMain.pas"/>
+        <UnitName Value="UMain"/>
+        <CursorPos X="5" Y="9"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="10"/>
+      </Unit9>
+      <Unit10>
+        <Filename Value="Classes/UGraphic.pas"/>
+        <UnitName Value="UGraphic"/>
+        <CursorPos X="3" Y="56"/>
+        <TopLine Value="19"/>
+        <UsageCount Value="33"/>
+      </Unit10>
+      <Unit11>
+        <Filename Value="Classes/UThemes.pas"/>
+        <UnitName Value="UThemes"/>
+        <CursorPos X="29" Y="1746"/>
+        <TopLine Value="1691"/>
+        <UsageCount Value="10"/>
+      </Unit11>
+      <Unit12>
+        <Filename Value="Classes/UCovers.pas"/>
+        <UnitName Value="UCovers"/>
+        <CursorPos X="12" Y="7"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="10"/>
+      </Unit12>
+      <Unit13>
+        <Filename Value="Classes/UMusic.pas"/>
+        <UnitName Value="UMusic"/>
+        <CursorPos X="46" Y="219"/>
+        <TopLine Value="198"/>
+        <UsageCount Value="10"/>
+      </Unit13>
+      <Unit14>
+        <Filename Value="Classes/ULyrics.pas"/>
+        <UnitName Value="ULyrics"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="6"/>
+      </Unit14>
+      <Unit15>
+        <Filename Value="Screens/UScreenLoading.pas"/>
+        <UnitName Value="UScreenLoading"/>
+        <CursorPos X="8" Y="6"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="6"/>
+      </Unit15>
+      <Unit16>
+        <Filename Value="Menu/UMenu.pas"/>
+        <UnitName Value="UMenu"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="10"/>
+      </Unit16>
+      <Unit17>
+        <Filename Value="Menu/UMenuText.pas"/>
+        <UnitName Value="UMenuText"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="6"/>
+      </Unit17>
+      <Unit18>
+        <Filename Value="Menu/UMenuSelectSlide.pas"/>
+        <UnitName Value="UMenuSelectSlide"/>
+        <CursorPos X="6" Y="12"/>
+        <TopLine Value="2"/>
+        <UsageCount Value="5"/>
+      </Unit18>
+      <Unit19>
+        <Filename Value="Screens/UScreenMain.pas"/>
+        <UnitName Value="UScreenMain"/>
+        <CursorPos X="3" Y="14"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit19>
+      <Unit20>
+        <Filename Value="Menu/UDisplay.pas"/>
+        <UnitName Value="UDisplay"/>
+        <CursorPos X="7" Y="65"/>
+        <TopLine Value="165"/>
+        <EditorIndex Value="13"/>
+        <UsageCount Value="12"/>
+        <Loaded Value="True"/>
+      </Unit20>
+      <Unit21>
+        <Filename Value="Classes/ULight.pas"/>
+        <UnitName Value="ULight"/>
+        <CursorPos X="81" Y="55"/>
+        <TopLine Value="51"/>
+        <UsageCount Value="5"/>
+      </Unit21>
+      <Unit22>
+        <Filename Value="Screens/UScreenSing.pas"/>
+        <UnitName Value="UScreenSing"/>
+        <CursorPos X="40" Y="21"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="11"/>
+      </Unit22>
+      <Unit23>
+        <Filename Value="Classes/UVideo.pas"/>
+        <UnitName Value="UVideo"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="2"/>
+        <UsageCount Value="11"/>
+      </Unit23>
+      <Unit24>
+        <Filename Value="Screens/UScreenScore.pas"/>
+        <UnitName Value="UScreenScore"/>
+        <CursorPos X="9" Y="7"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="11"/>
+      </Unit24>
+      <Unit25>
+        <Filename Value="Screens/UScreenEditSub.pas"/>
+        <UnitName Value="UScreenEditSub"/>
+        <CursorPos X="11" Y="1339"/>
+        <TopLine Value="1330"/>
+        <UsageCount Value="11"/>
+      </Unit25>
+      <Unit26>
+        <Filename Value="switches.inc"/>
+        <CursorPos X="10" Y="3"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="5"/>
+      </Unit26>
+      <Unit27>
+        <Filename Value="lib/midi/Midiout.pas"/>
+        <UnitName Value="MidiOut"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="10"/>
+      </Unit27>
+      <Unit28>
+        <Filename Value="Screens/UScreenEditConvert.pas"/>
+        <UnitName Value="UScreenEditConvert"/>
+        <CursorPos X="22" Y="26"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="10"/>
+        <UsageCount Value="33"/>
+        <Loaded Value="True"/>
+      </Unit28>
+      <Unit29>
+        <Filename Value="Screens/UScreenSingModi.pas"/>
+        <UnitName Value="UScreenSingModi"/>
+        <CursorPos X="6" Y="26"/>
+        <TopLine Value="6"/>
+        <UsageCount Value="32"/>
+      </Unit29>
+      <Unit30>
+        <Filename Value="Screens/UScreenCredits.pas"/>
+        <UnitName Value="UScreenCredits"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit30>
+      <Unit31>
+        <Filename Value="Classes/URecord.pas"/>
+        <UnitName Value="URecord"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit31>
+      <Unit32>
+        <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/jedi-sdl.inc"/>
+        <CursorPos X="4" Y="237"/>
+        <TopLine Value="217"/>
+        <UsageCount Value="11"/>
+      </Unit32>
+      <Unit33>
+        <Filename Value="../../Modis/SDK/ModiSDK.pas"/>
+        <UnitName Value="ModiSDK"/>
+        <CursorPos X="41" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit33>
+      <Unit34>
+        <Filename Value="Classes/UDLLManager.pas"/>
+        <UnitName Value="UDLLManager"/>
+        <CursorPos X="12" Y="5"/>
+        <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="32"/>
+      </Unit35>
+      <Unit36>
+        <Filename Value="Classes/UDataBase.pas"/>
+        <UnitName Value="UDataBase"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit36>
+      <Unit37>
+        <Filename Value="Screens/UScreenStatMain.pas"/>
+        <UnitName Value="UScreenStatMain"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit37>
+      <Unit38>
+        <Filename Value="Screens/UScreenPartyOptions.pas"/>
+        <UnitName Value="UScreenPartyOptions"/>
+        <CursorPos X="42" Y="233"/>
+        <TopLine Value="213"/>
+        <UsageCount Value="32"/>
+      </Unit38>
+      <Unit39>
+        <Filename Value="Screens/UScreenPartyNewRound.pas"/>
+        <UnitName Value="UScreenPartyNewRound"/>
+        <CursorPos X="5" Y="422"/>
+        <TopLine Value="382"/>
+        <UsageCount Value="32"/>
+      </Unit39>
+      <Unit40>
+        <Filename Value="Classes/UParty.pas"/>
+        <UnitName Value="UParty"/>
+        <CursorPos X="1" Y="8"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit40>
+      <Unit41>
+        <Filename Value="Classes/UDraw.pas"/>
+        <UnitName Value="UDraw"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit41>
+      <Unit42>
+        <Filename Value="Screens/UScreenSongMenu.pas"/>
+        <UnitName Value="UScreenSongMenu"/>
+        <CursorPos X="1" Y="5"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="32"/>
+      </Unit42>
+      <Unit43>
+        <Filename Value="Screens/UScreenTop5.pas"/>
+        <UnitName Value="UScreenTop5"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="11"/>
+      </Unit43>
+      <Unit44>
+        <Filename Value="Classes/UGraphicClasses.pas"/>
+        <UnitName Value="UGraphicClasses"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="11"/>
+      </Unit44>
+      <Unit45>
+        <Filename Value="Screens/UScreenSong.pas"/>
+        <UnitName Value="UScreenSong"/>
+        <CursorPos X="13" Y="1162"/>
+        <TopLine Value="1135"/>
+        <UsageCount Value="10"/>
+      </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"/>
+        <UsageCount Value="10"/>
+      </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>
+      <Unit49>
+        <Filename Value="Classes/Ulazjpeg.pas"/>
+        <UnitName Value="Ulazjpeg"/>
+        <CursorPos X="44" Y="15"/>
+        <TopLine Value="63"/>
+        <UsageCount Value="12"/>
+      </Unit49>
+      <Unit50>
+        <Filename Value="Classes/TextGL.pas"/>
+        <UnitName Value="TextGL"/>
+        <CursorPos X="36" Y="372"/>
+        <TopLine Value="335"/>
+        <EditorIndex Value="11"/>
+        <UsageCount Value="11"/>
+        <Bookmarks Count="1">
+          <Item0 X="1" Y="124" ID="1"/>
+        </Bookmarks>
+        <Loaded Value="True"/>
+      </Unit50>
+      <Unit51>
+        <Filename Value="UltraStar.lrs"/>
+        <CursorPos X="17" Y="1"/>
+        <TopLine Value="1"/>
+        <UsageCount Value="11"/>
+      </Unit51>
+      <Unit52>
+        <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/moduleloader.pas"/>
+        <UnitName Value="moduleloader"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="8"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit52>
+      <Unit53>
+        <Filename Value="lib/bass/delphi/bass.pas"/>
+        <UnitName Value="Bass"/>
+        <CursorPos X="1" Y="1"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="7"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit53>
+      <Unit54>
+        <Filename Value="lib/ffmpeg/avcodec.pas"/>
+        <UnitName Value="avcodec"/>
+        <CursorPos X="1" Y="31"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="1"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit54>
+      <Unit55>
+        <Filename Value="lib/ffmpeg/rational.pas"/>
+        <UnitName Value="rational"/>
+        <CursorPos X="40" Y="33"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="2"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit55>
+      <Unit56>
+        <Filename Value="lib/ffmpeg/opt.pas"/>
+        <UnitName Value="opt"/>
+        <CursorPos X="37" Y="46"/>
+        <TopLine Value="17"/>
+        <EditorIndex Value="3"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit56>
+      <Unit57>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <UnitName Value="avformat"/>
+        <CursorPos X="10" Y="357"/>
+        <TopLine Value="335"/>
+        <EditorIndex Value="4"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit57>
+      <Unit58>
+        <Filename Value="lib/ffmpeg/avio.pas"/>
+        <UnitName Value="avio"/>
+        <CursorPos X="1" Y="34"/>
+        <TopLine Value="1"/>
+        <EditorIndex Value="6"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit58>
+      <Unit59>
+        <Filename Value="lib/SQLite/SQLiteTable3.pas"/>
+        <UnitName Value="SQLiteTable3"/>
+        <CursorPos X="24" Y="16"/>
+        <TopLine Value="2"/>
+        <EditorIndex Value="5"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit59>
+    </Units>
+    <JumpHistory Count="24" HistoryIndex="23">
+      <Position1>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="72" Column="32" TopLine="52"/>
+      </Position1>
+      <Position2>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position2>
+      <Position3>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="66" Column="30" TopLine="44"/>
+      </Position3>
+      <Position4>
+        <Filename Value="lib/JEDI-SDLv1.0/SDL/Pas/moduleloader.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position4>
+      <Position5>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="16" Column="68" TopLine="1"/>
+      </Position5>
+      <Position6>
+        <Filename Value="lib/bass/delphi/bass.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position6>
+      <Position7>
+        <Filename Value="lib/bass/delphi/bass.pas"/>
+        <Caret Line="25" Column="55" TopLine="1"/>
+      </Position7>
+      <Position8>
+        <Filename Value="lib/bass/delphi/bass.pas"/>
+        <Caret Line="968" Column="1" TopLine="925"/>
+      </Position8>
+      <Position9>
+        <Filename Value="lib/bass/delphi/bass.pas"/>
+        <Caret Line="957" Column="115" TopLine="925"/>
+      </Position9>
+      <Position10>
+        <Filename Value="lib/ffmpeg/avcodec.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position10>
+      <Position11>
+        <Filename Value="lib/ffmpeg/rational.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position11>
+      <Position12>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="41" Column="11" TopLine="2"/>
+      </Position12>
+      <Position13>
+        <Filename Value="UltraStar.lpr"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position13>
+      <Position14>
+        <Filename Value="lib/ffmpeg/opt.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position14>
+      <Position15>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position15>
+      <Position16>
+        <Filename Value="lib/ffmpeg/avio.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position16>
+      <Position17>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="29" Column="10" TopLine="4"/>
+      </Position17>
+      <Position18>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="401" Column="27" TopLine="336"/>
+      </Position18>
+      <Position19>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="41" Column="1" TopLine="1"/>
+      </Position19>
+      <Position20>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="422" Column="34" TopLine="280"/>
+      </Position20>
+      <Position21>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="30" Column="10" TopLine="6"/>
+      </Position21>
+      <Position22>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="416" Column="1" TopLine="584"/>
+      </Position22>
+      <Position23>
+        <Filename Value="lib/ffmpeg/avformat.pas"/>
+        <Caret Line="355" Column="27" TopLine="334"/>
+      </Position23>
+      <Position24>
+        <Filename Value="lib/SQLite/SQLiteTable3.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position24>
+    </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>
diff --git a/Game/Code/UltraStar.lpr b/Game/Code/UltraStar.lpr
index 6aa8b53a..31207bcb 100644
--- a/Game/Code/UltraStar.lpr
+++ b/Game/Code/UltraStar.lpr
@@ -1,386 +1,411 @@
-program UltraStar;
-
-{$DEFINE TRANSLATE}
-
-{$IFDEF FPC}
-  {$MODE DELPHI}
-{$ELSE}
-  {$R 'UltraStar.res' 'UltraStar.rc'}
-{$ENDIF}
-
-{$I switches.inc}
-
-uses
-
-  //------------------------------
-  //Includes - 3rd Party Libraries
-  //------------------------------
-  sdl          in 'lib\JEDI-SDLv1.0\SDL\Pas\sdl.pas',
-  moduleloader in 'lib\JEDI-SDLv1.0\SDL\Pas\moduleloader.pas',
-  OpenGL12     in 'lib\JEDI-SDLv1.0\OpenGL\Pas\OpenGL12.pas',
-
-  bass         in 'lib\bass\delphi\bass.pas',
-
-  {$IFDEF UseMIDIPort}
-  midiout      in 'lib\midi\midiout.pas',
-  midiin       in 'lib\midi\midiin.pas',
-  Circbuf      in 'lib\midi\CIRCBUF.PAS',
-  MidiType     in 'lib\midi\MidiType.PAS',
-  MidiDefs     in 'lib\midi\MidiDefs.PAS',
-  MidiCons     in 'lib\midi\MidiCons.PAS',
-  MidiFile     in 'lib\midi\MidiFile.PAS',
-  Delphmcb     in 'lib\midi\Delphmcb.PAS',
-  {$ENDIF}
-
-  avcodec      in 'lib\ffmpeg\avcodec.pas',
-  avformat     in 'lib\ffmpeg\avformat.pas',
-  avutil       in 'lib\ffmpeg\avutil.pas',
-  rational     in 'lib\ffmpeg\rational.pas',
-  opt          in 'lib\ffmpeg\opt.pas',
-  avio         in 'lib\ffmpeg\avio.pas',
-
-  SQLiteTable3 in 'lib\SQLite\SQLiteTable3.pas',
-  SQLite3      in 'lib\SQLite\SQLite3.pas',
-
-
-  //------------------------------
-  //Includes - Menu System
-  //------------------------------
-  UMenu in 'Menu\UMenu.pas',
-  UDisplay in 'Menu\UDisplay.pas',
-  UMenuStatic in 'Menu\UMenuStatic.pas',
-  UMenuText in 'Menu\UMenuText.pas',
-  UMenuButton in 'Menu\UMenuButton.pas',
-  UMenuInteract in 'Menu\UMenuInteract.pas',
-  UMenuSelect in 'Menu\UMenuSelect.pas',
-  UMenuSelectSlide in 'Menu\UMenuSelectSlide.pas',
-  UDrawTexture in 'Menu\UDrawTexture.pas',
-  UMenuButtonCollection in 'Menu\UMenuButtonCollection.pas',
-
-
-  //------------------------------
-  //Includes - Classes
-  //------------------------------
-  
-  {$IFDEF FPC}
-  Ulazjpeg      in 'Classes\Ulazjpeg.pas',
-  {$ENDIF}
-  
-  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',
-
-  UGraphic in 'Classes\UGraphic.pas',
-  UMusic in 'Classes\UMusic.pas',
-  ULanguage in 'Classes\ULanguage.pas',
-  UDraw in 'Classes\UDraw.pas',
-  URecord in 'Classes\URecord.pas',
-  TextGL in 'Classes\TextGL.pas',
-  USongs in 'Classes\USongs.pas',
-  ULyrics in 'Classes\ULyrics.pas',
-  USkins in 'Classes\USkins.pas',
-  UThemes in 'Classes\UThemes.pas',
-  UJoystick in 'Classes\UJoystick.pas',
-  ULCD in 'Classes\ULCD.pas',
-  ULight in 'Classes\ULight.pas',
-  UDataBase in 'Classes\UDataBase.pas',
-  UCovers in 'Classes\UCovers.pas',
-  UCatCovers in 'Classes\UCatCovers.pas',
-  UFiles in 'Classes\UFiles.pas',
-  UGraphicClasses in 'Classes\UGraphicClasses.pas',
-  UDLLManager in 'Classes\UDLLManager.pas',
-  UParty in 'Classes\UParty.pas',
-  UPlaylist in 'Classes\UPlaylist.pas',
-
-  //------------------------------
-  //Includes - Video Support
-  //------------------------------
-  UVideo in 'Classes\UVideo.pas',
-
-
-  //------------------------------
-  //Includes - Screens
-  //------------------------------
-  UScreenLoading in 'Screens\UScreenLoading.pas',
-  UScreenWelcome in 'Screens\UScreenWelcome.pas',
-  UScreenMain in 'Screens\UScreenMain.pas',
-  UScreenName in 'Screens\UScreenName.pas',
-  UScreenLevel in 'Screens\UScreenLevel.pas',
-  UScreenSong in 'Screens\UScreenSong.pas',
-  UScreenSing in 'Screens\UScreenSing.pas',
-  UScreenScore in 'Screens\UScreenScore.pas',
-  UScreenOptions in 'Screens\UScreenOptions.pas',
-  UScreenOptionsGame in 'Screens\UScreenOptionsGame.pas',
-  UScreenOptionsGraphics in 'Screens\UScreenOptionsGraphics.pas',
-  UScreenOptionsSound in 'Screens\UScreenOptionsSound.pas',
-  UScreenOptionsLyrics in 'Screens\UScreenOptionsLyrics.pas',
-  UScreenOptionsThemes in 'Screens\UScreenOptionsThemes.pas',
-  UScreenOptionsRecord in 'Screens\UScreenOptionsRecord.pas',
-  UScreenOptionsAdvanced in 'Screens\UScreenOptionsAdvanced.pas',
-  UScreenEditSub in 'Screens\UScreenEditSub.pas',
-  UScreenEdit in 'Screens\UScreenEdit.pas',
-  UScreenEditConvert in 'Screens\UScreenEditConvert.pas',
-  UScreenEditHeader in 'Screens\UScreenEditHeader.pas',
-  UScreenOpen in 'Screens\UScreenOpen.pas',
-  UScreenTop5 in 'Screens\UScreenTop5.pas',
-  UScreenSongMenu in 'Screens\UScreenSongMenu.pas',
-  UScreenSongJumpto in 'Screens\UScreenSongJumpto.pas',
-  UScreenStatMain in 'Screens\UScreenStatMain.pas',
-  UScreenStatDetail in 'Screens\UScreenStatDetail.pas',
-  UScreenCredits in 'Screens\UScreenCredits.pas',
-  UScreenPopup in 'Screens\UScreenPopup.pas',
-
-
-  //------------------------------
-  //Includes - Screens PartyMode
-  //------------------------------
-  UScreenSingModi in 'Screens\UScreenSingModi.pas',
-  UScreenPartyNewRound in 'Screens\UScreenPartyNewRound.pas',
-  UScreenPartyScore in 'Screens\UScreenPartyScore.pas',
-  UScreenPartyPlayer in 'Screens\UScreenPartyPlayer.pas',
-  UScreenPartyOptions in 'Screens\UScreenPartyOptions.pas',
-  UScreenPartyWin in 'Screens\UScreenPartyWin.pas',
-
-
-  //------------------------------
-  //Includes - Modi SDK
-  //------------------------------
-  ModiSDK in '..\..\Modis\SDK\ModiSDK.pas',
-
-
-  //------------------------------
-  //Includes - Delphi
-  //------------------------------
-  Windows,
-  SysUtils;
-
-const
-  Version = 'UltraStar Deluxe V 1.10 Alpha Build';
-
-var
-  WndTitle: string;
-  hWnd: THandle;
-  I: Integer;
-
-begin
-  WndTitle := Version;
-
-  //------------------------------
-  //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;
-
-  //------------------------------
-  //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
+  sdl          in 'lib\JEDI-SDLv1.0\SDL\Pas\sdl.pas',
+  moduleloader in 'lib\JEDI-SDLv1.0\SDL\Pas\moduleloader.pas',
+  opengl12     in 'lib\JEDI-SDLv1.0\OpenGL\Pas\opengl12.pas',
+
+  // Bass
+  {$IFDEF win32}
+  bass         in 'lib\bass\delphi\bass.pas',
+  {$ENDIF}
+
+  // Midi Units
+  {$IFDEF UseMIDIPort}
+  midiout      in 'lib\midi\midiout.pas',
+  midiin       in 'lib\midi\midiin.pas',
+  Circbuf      in 'lib\midi\CIRCBUF.PAS',
+  MidiType     in 'lib\midi\MidiType.PAS',
+  MidiDefs     in 'lib\midi\MidiDefs.PAS',
+  MidiCons     in 'lib\midi\MidiCons.PAS',
+  MidiFile     in 'lib\midi\MidiFile.PAS',
+  Delphmcb     in 'lib\midi\Delphmcb.PAS',
+  {$ENDIF}
+
+  // FFMpeg units
+  avcodec      in 'lib\ffmpeg\avcodec.pas',
+  avformat     in 'lib\ffmpeg\avformat.pas',
+  avutil       in 'lib\ffmpeg\avutil.pas',
+  rational     in 'lib\ffmpeg\rational.pas',
+  opt          in 'lib\ffmpeg\opt.pas',
+  avio         in 'lib\ffmpeg\avio.pas',
+
+  // Sql Lite
+  SQLiteTable3 in 'lib\SQLite\SQLiteTable3.pas',
+  SQLite3      in 'lib\SQLite\SQLite3.pas',
+
+
+  //------------------------------
+  //Includes - Menu System
+  //------------------------------
+  UMenu in 'Menu\UMenu.pas',
+  UDisplay in 'Menu\UDisplay.pas',
+  UMenuStatic in 'Menu\UMenuStatic.pas',
+  UMenuText in 'Menu\UMenuText.pas',
+  UMenuButton in 'Menu\UMenuButton.pas',
+  UMenuInteract in 'Menu\UMenuInteract.pas',
+  UMenuSelect in 'Menu\UMenuSelect.pas',
+  UMenuSelectSlide in 'Menu\UMenuSelectSlide.pas',
+  UDrawTexture in 'Menu\UDrawTexture.pas',
+  UMenuButtonCollection in 'Menu\UMenuButtonCollection.pas',
+
+
+  //------------------------------
+  //Includes - Classes
+  //------------------------------
+  
+  {$IFDEF FPC}
+  ulazjpeg      in 'Classes\ulazjpeg.pas',
+  {$ENDIF}
+  
+  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',
+
+  UGraphic in 'Classes\UGraphic.pas',
+  UMusic in 'Classes\UMusic.pas',
+  ULanguage in 'Classes\ULanguage.pas',
+  UDraw in 'Classes\UDraw.pas',
+  URecord in 'Classes\URecord.pas',
+  TextGL in 'Classes\TextGL.pas',
+  USongs in 'Classes\USongs.pas',
+  ULyrics in 'Classes\ULyrics.pas',
+  USkins in 'Classes\USkins.pas',
+  UThemes in 'Classes\UThemes.pas',
+  UJoystick in 'Classes\UJoystick.pas',
+  ULCD in 'Classes\ULCD.pas',
+  ULight in 'Classes\ULight.pas',
+  UDataBase in 'Classes\UDataBase.pas',
+  UCovers in 'Classes\UCovers.pas',
+  UCatCovers in 'Classes\UCatCovers.pas',
+  UFiles in 'Classes\UFiles.pas',
+  UGraphicClasses in 'Classes\UGraphicClasses.pas',
+  UDLLManager in 'Classes\UDLLManager.pas',
+  UParty in 'Classes\UParty.pas',
+  UPlaylist in 'Classes\UPlaylist.pas',
+
+  //------------------------------
+  //Includes - Video Support
+  //------------------------------
+  UVideo in 'Classes\UVideo.pas',
+
+
+  //------------------------------
+  //Includes - Screens
+  //------------------------------
+  UScreenLoading in 'Screens\UScreenLoading.pas',
+  UScreenWelcome in 'Screens\UScreenWelcome.pas',
+  UScreenMain in 'Screens\UScreenMain.pas',
+  UScreenName in 'Screens\UScreenName.pas',
+  UScreenLevel in 'Screens\UScreenLevel.pas',
+  UScreenSong in 'Screens\UScreenSong.pas',
+  UScreenSing in 'Screens\UScreenSing.pas',
+  UScreenScore in 'Screens\UScreenScore.pas',
+  UScreenOptions in 'Screens\UScreenOptions.pas',
+  UScreenOptionsGame in 'Screens\UScreenOptionsGame.pas',
+  UScreenOptionsGraphics in 'Screens\UScreenOptionsGraphics.pas',
+  UScreenOptionsSound in 'Screens\UScreenOptionsSound.pas',
+  UScreenOptionsLyrics in 'Screens\UScreenOptionsLyrics.pas',
+  UScreenOptionsThemes in 'Screens\UScreenOptionsThemes.pas',
+  UScreenOptionsRecord in 'Screens\UScreenOptionsRecord.pas',
+  UScreenOptionsAdvanced in 'Screens\UScreenOptionsAdvanced.pas',
+  UScreenEditSub in 'Screens\UScreenEditSub.pas',
+  UScreenEdit in 'Screens\UScreenEdit.pas',
+  UScreenEditConvert in 'Screens\UScreenEditConvert.pas',
+  UScreenEditHeader in 'Screens\UScreenEditHeader.pas',
+  UScreenOpen in 'Screens\UScreenOpen.pas',
+  UScreenTop5 in 'Screens\UScreenTop5.pas',
+  UScreenSongMenu in 'Screens\UScreenSongMenu.pas',
+  UScreenSongJumpto in 'Screens\UScreenSongJumpto.pas',
+  UScreenStatMain in 'Screens\UScreenStatMain.pas',
+  UScreenStatDetail in 'Screens\UScreenStatDetail.pas',
+  UScreenCredits in 'Screens\UScreenCredits.pas',
+  UScreenPopup in 'Screens\UScreenPopup.pas',
+
+
+  //------------------------------
+  //Includes - Screens PartyMode
+  //------------------------------
+  UScreenSingModi in 'Screens\UScreenSingModi.pas',
+  UScreenPartyNewRound in 'Screens\UScreenPartyNewRound.pas',
+  UScreenPartyScore in 'Screens\UScreenPartyScore.pas',
+  UScreenPartyPlayer in 'Screens\UScreenPartyPlayer.pas',
+  UScreenPartyOptions in 'Screens\UScreenPartyOptions.pas',
+  UScreenPartyWin in 'Screens\UScreenPartyWin.pas',
+
+
+  //------------------------------
+  //Includes - Modi SDK
+  //------------------------------
+  ModiSDK in '..\..\Modis\SDK\ModiSDK.pas',
+
+
+  //------------------------------
+  //Includes - Delphi
+  //------------------------------
+  Windows,
+  SysUtils;
+
+const
+  Version = 'UltraStar Deluxe V 1.10 Alpha Build';
+
+var
+  WndTitle: string;
+  hWnd: THandle;
+  I: Integer;
+
+begin
+  WndTitle := Version;
+
+  //------------------------------
+  //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;
+
+  //------------------------------
+  //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.
diff --git a/Game/Code/lib/requirements.txt b/Game/Code/lib/requirements.txt
index 8eafe2d2..30f84f39 100644
--- a/Game/Code/lib/requirements.txt
+++ b/Game/Code/lib/requirements.txt
@@ -2,7 +2,9 @@ Not Included in SVN ( to many potential updates )
 ---------------------------------------------------------------------------
 
 Jedi-sdl
-  http://sourceforge.net/projects/jedi-sdl
+  http://sourceforge.net/projects/jedi-sdl
+  Make sure to download VERSION 1, beta...
+  not version 0.5
 
 
 Included in SVN ..
@@ -21,4 +23,4 @@ ffmpeg
   http://www.iversenit.dk/dev/ffmpeg-headers/
 
 SQLLite Wrapper
-  http://www.itwriting.com/sqlitesimple.php
\ No newline at end of file
+  http://www.itwriting.com/sqlitesimple.php
-- 
cgit v1.2.3