diff options
Diffstat (limited to 'Game/Code')
-rw-r--r-- | Game/Code/Classes/UMain.pas | 3 | ||||
-rw-r--r-- | Game/Code/Classes/UPlatform.pas | 56 | ||||
-rw-r--r-- | Game/Code/Classes/UPlatformLinux.pas | 66 | ||||
-rw-r--r-- | Game/Code/Classes/UPlatformMacOSX.pas | 66 | ||||
-rw-r--r-- | Game/Code/Classes/UPlatformWindows.pas | 58 | ||||
-rw-r--r-- | Game/Code/Classes/USongs.pas | 222 | ||||
-rw-r--r-- | Game/Code/MacOSX/UltraStarDX.pas | 2 | ||||
-rw-r--r-- | Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 | 171 | ||||
-rw-r--r-- | Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser | 209 | ||||
-rw-r--r-- | Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj | 12 | ||||
-rw-r--r-- | Game/Code/UltraStar.dpr | 9 |
11 files changed, 470 insertions, 404 deletions
diff --git a/Game/Code/Classes/UMain.pas b/Game/Code/Classes/UMain.pas index f25eaa87..c11b68d9 100644 --- a/Game/Code/Classes/UMain.pas +++ b/Game/Code/Classes/UMain.pas @@ -12,9 +12,6 @@ uses {$IFDEF MSWINDOWS} Windows, {$ENDIF} - {$IFDEF DARWIN} // needed for initialization of cthreads - cthreads, - {$ENDIF} SDL, UGraphic, UMusic, diff --git a/Game/Code/Classes/UPlatform.pas b/Game/Code/Classes/UPlatform.pas new file mode 100644 index 00000000..cc971bed --- /dev/null +++ b/Game/Code/Classes/UPlatform.pas @@ -0,0 +1,56 @@ +unit UPlatform; + +// Comment by Eddie: +// This unit defines an interface for platform specific utility functions. +// The Interface is implemented in separate files for each platform: +// UPlatformWindows, UPlatformLinux and UPlatformWindows. + +interface + +{$IFDEF FPC} + {$MODE Delphi} +{$ENDIF} + +{$I switches.inc} + +uses Classes; + +type + + TDirectoryEntry = Record + Name : WideString; + IsDirectory : Boolean; + IsFile : Boolean; + end; + + TDirectoryEntryArray = Array of TDirectoryEntry; + + IPlatform = interface + + // DirectoryFindFiles returns all files matching the filter. Do not use '*' in the filter. + // If you set ReturnAllSubDirs = true all directories will be returned, if yout set it to false + // directories are completely ignored. + Function DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray; + end; + +var + Platform : IPlatform; + +implementation + +uses + {$IFDEF MSWINDOWS} + UPlatformWindows; + {$ENDIF} + {$IFDEF LINUX} + UPlatformLinux; + {$ENDIF} + {$IFDEF DARWIN} + UPlatformMacOSX; + {$ENDIF} + +initialization + + Platform := TPlatform.Create; + +end. diff --git a/Game/Code/Classes/UPlatformLinux.pas b/Game/Code/Classes/UPlatformLinux.pas new file mode 100644 index 00000000..1713df1c --- /dev/null +++ b/Game/Code/Classes/UPlatformLinux.pas @@ -0,0 +1,66 @@ +unit UPlatformLinux;
+
+interface
+
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+{$I switches.inc}
+
+uses Classes, UPlatform;
+
+type
+
+ TPlatform = class(TInterfacedObject, IPlatform)
+ public
+ Function DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray;
+ end;
+
+implementation
+
+uses SysUtils, oldlinux;
+
+Function TPlatform.DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray;
+var
+ i : Integer;
+ TheDir : oldlinux.pdir;
+ ADirent : oldlinux.pDirent;
+ Entry : Longint;
+ info : oldlinux.stat;
+ lAttrib : integer;
+begin
+ i := 0;
+ Filter := LowerCase(Filter);
+
+ TheDir := oldlinux.opendir( Dir );
+ if Assigned(TheDir) then
+ repeat
+ ADirent := oldlinux.ReadDir(TheDir);
+
+ If Assigned(ADirent) and (ADirent^.d_name <> '.') and (ADirent^.d_name <> '..') then
+ begin
+ lAttrib := FileGetAttr(Dir + ADirent^.d_name);
+ if ReturnAllSubDirs and ((lAttrib and faDirectory) <> 0) then
+ begin
+ SetLength( Result, i + 1);
+ Result[i].Name := ADirent^.d_name;
+ Result[i].IsDirectory := true;
+ Result[i].IsFile := false;
+ i := i + 1;
+ end
+ else if (Length(Filter) = 0) or (Pos( Filter, LowerCase(ADirent^.d_name)) > 0) then
+ begin
+ SetLength( Result, i + 1);
+ Result[i].Name := ADirent^.d_name;
+ Result[i].IsDirectory := false;
+ Result[i].IsFile := true;
+ i := i + 1;
+ end;
+ end;
+ Until ADirent = nil;
+
+ oldlinux.CloseDir(TheDir);
+end;
+
+end.
diff --git a/Game/Code/Classes/UPlatformMacOSX.pas b/Game/Code/Classes/UPlatformMacOSX.pas new file mode 100644 index 00000000..56469299 --- /dev/null +++ b/Game/Code/Classes/UPlatformMacOSX.pas @@ -0,0 +1,66 @@ +unit UPlatformMacOSX; + +interface + +{$IFDEF FPC} + {$MODE Delphi} +{$ENDIF} + +{$I switches.inc} + +uses Classes, UPlatform; + +type + + TPlatform = class(TInterfacedObject, IPlatform) + public + Function DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray; + end; + +implementation + +uses SysUtils, baseunix; + +Function TPlatform.DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray; +var + i : Integer; + TheDir : pdir; + ADirent : pDirent; + Entry : Longint; + info : stat; + lAttrib : integer; +begin + i := 0; + Filter := LowerCase(Filter); + + TheDir := FPOpenDir(Dir); + if Assigned(TheDir) then + repeat + ADirent := FPReadDir(TheDir); + + If Assigned(ADirent) and (ADirent^.d_name <> '.') and (ADirent^.d_name <> '..') then + begin + lAttrib := FileGetAttr(Dir + ADirent^.d_name); + if ReturnAllSubDirs and ((lAttrib and faDirectory) <> 0) then + begin + SetLength( Result, i + 1); + Result[i].Name := ADirent^.d_name; + Result[i].IsDirectory := true; + Result[i].IsFile := false; + i := i + 1; + end + else if (Length(Filter) = 0) or (Pos( Filter, LowerCase(ADirent^.d_name)) > 0) then + begin + SetLength( Result, i + 1); + Result[i].Name := ADirent^.d_name; + Result[i].IsDirectory := false; + Result[i].IsFile := true; + i := i + 1; + end; + end; + Until ADirent = nil; + + FPCloseDir(TheDir); +end; + +end. diff --git a/Game/Code/Classes/UPlatformWindows.pas b/Game/Code/Classes/UPlatformWindows.pas new file mode 100644 index 00000000..eb432335 --- /dev/null +++ b/Game/Code/Classes/UPlatformWindows.pas @@ -0,0 +1,58 @@ +unit UPlatformWindows;
+
+interface
+
+{$IFDEF FPC}
+ {$MODE Delphi}
+{$ENDIF}
+
+{$I switches.inc}
+
+uses Classes, UPlatform;
+
+type
+
+ TPlatform = class(TInterfacedObject, IPlatform)
+ public
+ Function DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray;
+ end;
+
+implementation
+
+uses SysUtils, Windows;
+
+Function TPlatform.DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray;
+var
+ i : Integer;
+ SR : TSearchRecW;
+begin
+ i := 0;
+ Filter := LowerCase(Filter);
+
+ if ReturnAllSubDirs then begin
+ if FindFirstW(Dir + '*', faDirectory, SR) = 0 then
+ repeat
+ if (SR.Name <> '.') and (SR.Name <> '..') then
+ begin
+ SetLength( Result, i + 1);
+ Result[i].Name := SR.Name;
+ Result[i].IsDirectory := true;
+ Result[i].IsFile := false;
+ i := i + 1;
+ end;
+ until FindNextW(SR) <> 0;
+ FindCloseW(SR);
+ end;
+
+ if FindFirstW(Dir + '*' + Filter, 0, SR) = 0 then
+ repeat
+ SetLength( Result, i + 1);
+ Result[i].Name := SR.Name;
+ Result[i].IsDirectory := true;
+ Result[i].IsFile := false;
+ i := i + 1;
+ until FindNextW(SR) <> 0;
+ FindCloseW(SR);
+end;
+
+end.
diff --git a/Game/Code/Classes/USongs.pas b/Game/Code/Classes/USongs.pas index 9b9ab7bb..dcca08bd 100644 --- a/Game/Code/Classes/USongs.pas +++ b/Game/Code/Classes/USongs.pas @@ -30,6 +30,7 @@ uses {$ENDIF} SysUtils, Classes, + UPlatform, ULog, UTexture, UCommon, @@ -299,198 +300,51 @@ begin self.resume; end; -// TODO : JB - THis whole function SUX ! and needs refactoring ! :P procedure TSongs.BrowseDir(Dir: widestring); var SLen: integer; - - {$ifdef Delphi} - SR: TSearchRecW; // for parsing Songs Directory - {$ENDIF} - - // eddie: can we merge that? is baseunix working on linux? oldlinux is - // not available on mac os x. - {$IFDEF LINUX} - TheDir : oldlinux.pdir; - ADirent : oldlinux.pDirent; - Entry : Longint; - info : oldlinux.stat; - {$ENDIF} - {$IFDEF DARWIN} - TheDir : pdir; - ADirent : pDirent; - Entry : Longint; - info : stat; - lAttrib : integer; - {$ENDIF} + i : Integer; + Files : TDirectoryEntryArray; begin - {$ifdef Delphi} - if FindFirstW(Dir + '*', faDirectory, SR) = 0 then // JB_Unicode - windows - begin - repeat - if (SR.Name <> '.') and (SR.Name <> '..') then - begin - BrowseDir(Dir + Sr.Name + PathDelim); - end - until FindNextw(SR) <> 0; - end; // if - FindClosew(SR); - - if FindFirstW(Dir + '*.txt', 0, SR) = 0 then - begin - repeat - SLen := BrowsePos; - - Song[SLen].Path := Dir; - Song[SLen].Folder := Copy(Dir, Length(SongPath)+1, 10000); - Song[SLen].Folder := Copy(Song[SLen].Folder, 1, Pos( PathDelim , Song[SLen].Folder)-1); - Song[SLen].FileName := SR.Name; - - if (AnalyseFile(Song[SLen]) = false) then - Dec(BrowsePos) - else - begin - if Song[SLen].Cover = '' then - Song[SLen].Cover := FindSongFile(Dir, '*[CO].jpg'); - end; - - //Change Length Only every 50 Entrys - Inc(BrowsePos); - - if (BrowsePos mod 50 = 0) AND (BrowsePos <> 0) then - begin - SetLength(Song, Length(Song) + 50); - end; - - until FindNextW(SR) <> 0; - end; // if FindFirst - FindCloseW(SR); - {$ENDIF} - - {$IFDEF LINUX} - // Itterate the Songs Directory... ( With unicode capable functions for linux ) - TheDir := oldlinux.opendir( Dir ); // JB_Unicode - linux - if TheDir <> nil then - begin - repeat - ADirent := oldlinux.ReadDir(TheDir); - - If ADirent<>Nil then - begin - With ADirent^ do - begin - - if ( name[0] <> '.') then - BrowseDir( Dir + name + pathdelim ); - - end; - end; - Until ADirent=Nil; - end; - - - - TheDir := oldlinux.opendir( Dir ); // JB_Unicode - linux - if TheDir <> nil then - begin - repeat - ADirent := oldlinux.ReadDir(TheDir); - - if ( ADirent <> Nil ) AND - ( pos( '.txt', ADirent^.name ) > 0 ) then - begin - writeln ('***** FOUND TXT' + ADirent^.name ); - - SLen := BrowsePos; - - Song[SLen].Path := Dir; - Song[SLen].Folder := Copy(Dir, Length(SongPath)+1, 10000); - Song[SLen].Folder := Copy(Song[SLen].Folder, 1, Pos( PathDelim , Song[SLen].Folder)-1); - Song[SLen].FileName := ADirent^.name; - - if (AnalyseFile(Song[SLen]) = false) then - Dec(BrowsePos) - else - begin - if Song[SLen].Cover = '' then - Song[SLen].Cover := FindSongFile(Dir, '*[CO].jpg'); - end; - - //Change Length Only every 50 Entrys - Inc(BrowsePos); - if (BrowsePos mod 50 = 0) AND (BrowsePos <> 0) then - begin - SetLength(Song, Length(Song) + 50); - end; - end; - - Until ADirent=Nil; - end; // if FindFirst - {$endif} - - {$IFDEF DARWIN} - // Itterate the Songs Directory... ( With unicode capable functions for linux ) - TheDir := FPOpenDir(Dir); // JB_Unicode - linux - if TheDir <> nil then - begin - repeat - ADirent := FPReadDir(TheDir); - - If assigned(ADirent) and (ADirent^.d_name <> '.') and (ADirent^.d_name <> '..') then - begin - lAttrib := FileGetAttr(Dir + ADirent^.d_name); - if (lAttrib and faDirectory) <> 0 then - begin - //Log.LogError('Entering dir "' + Dir + ADirent^.d_name + PathDelim + '" now.'); - BrowseDir(Dir + ADirent^.d_name + PathDelim); - end - else if Pos( '.txt', LowerCase(ADirent^.d_name)) > 0 then - begin - SLen := BrowsePos; - - try - Song[SLen].Path := Dir; - Song[SLen].Folder := Copy(String(Dir), Length(String(SongPath))+1, 10000); - Song[SLen].Folder := Copy(String(Song[SLen].Folder), 1, Pos( PathDelim , Song[SLen].Folder)-1); - Song[SLen].FileName := ADirent^.d_name; - //Log.LogError( 'Song: ' + ADirent^.d_name + ', Length(Song) = ' + inttostr(Length(Song)) + ', BrowsePos = ' + IntToStr(BrowsePos) + ', Dir = "' + Dir + '"'); - - if (AnalyseFile(Song[SLen]) = false) then - begin - Log.LogError('AnalyseFile failed for "' + ADirent^.d_name + '".'); - Dec(BrowsePos); - end - else - begin - if Song[SLen].Cover = '' then - Song[SLen].Cover := FindSongFile(Dir, '*[CO].jpg'); - end; - except - end; - - //Change Length Only every 50 Entrys - Inc(BrowsePos); - - if (BrowsePos mod 50 = 0) AND (BrowsePos <> 0) then - begin - SetLength(Song, Length(Song) + 50); - end; - end; - end; - - Until ADirent=Nil; - - if (FPCloseDir(TheDir) <> 0) then + Files := Platform.DirectoryFindFiles( Dir, '.txt', true); + for i := 0 to Length(Files)-1 do + begin + if Files[i].IsDirectory then + begin + BrowseDir( Dir + Files[i].Name + PathDelim ); + end + else begin - Log.LogError('TSongs.BrowseDir: Exception: Error closing dir: "' + Dir + '".') + SLen := BrowsePos; + + Song[SLen].Path := Dir; + Song[SLen].Folder := Copy(String(Dir), Length(String(SongPath))+1, 10000); + Song[SLen].Folder := Copy(String(Song[SLen].Folder), 1, Pos( PathDelim , Song[SLen].Folder)-1); + Song[SLen].FileName := Files[i].Name; + + if (AnalyseFile(Song[SLen]) = false) then + begin + Log.LogError('AnalyseFile failed for "' + Files[i].Name + '".'); + Dec(BrowsePos); + end + else + begin + if Song[SLen].Cover = '' then + Song[SLen].Cover := FindSongFile(Dir, '*[CO].jpg'); + end; + + //Change Length Only every 50 Entrys + Inc(BrowsePos); + + if (BrowsePos mod 50 = 0) AND (BrowsePos <> 0) then + begin + SetLength(Song, Length(Song) + 50); + end; end; - end; + end; + SetLength( Files, 0); - {$endif} - // Log.LogStatus('Parsing directory: ' + Dir + SR.Name, 'LoadSongList'); - - end; procedure TSongs.Sort(Order: integer); diff --git a/Game/Code/MacOSX/UltraStarDX.pas b/Game/Code/MacOSX/UltraStarDX.pas index 1b8a3b63..cab748c6 100644 --- a/Game/Code/MacOSX/UltraStarDX.pas +++ b/Game/Code/MacOSX/UltraStarDX.pas @@ -1,6 +1,6 @@ program UltraStarDX; -uses UMain, UMedia_dummy, UAudio_FFMpeg, UAudio_bass, USingNotes, UTextClasses, UVideo; +uses cthreads, UMain, UMedia_dummy, UAudio_FFMpeg, UAudio_bass, USingNotes, UTextClasses, UVideo; begin Main; diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 index a847e918..60534b6e 100644 --- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 +++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.mode1 @@ -190,24 +190,24 @@ <key>Content</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2CEA2B810CE38FB40097A5FF</string> + <string>2C89379C0CE3A0CD005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>URecord.pas</string> + <string>USongs.pas</string> <key>PBXSplitModuleInNavigatorKey</key> <dict> <key>Split0</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2CEA2B820CE38FB40097A5FF</string> + <string>2C89379D0CE3A0CD005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>URecord.pas</string> + <string>USongs.pas</string> <key>_historyCapacity</key> <integer>0</integer> <key>bookmark</key> - <string>2CEA2B960CE391870097A5FF</string> + <string>2C8938830CE3AFCE005D8A87</string> <key>history</key> <array> - <string>2CEA2B800CE38FA50097A5FF</string> + <string>2C8938610CE3A901005D8A87</string> </array> </dict> <key>SplitCount</key> @@ -223,31 +223,31 @@ <key>PBXModuleWindowStatusBarHidden2</key> <false/> <key>RubberWindowFrame</key> - <string>130 129 797 789 0 0 1680 1028 </string> + <string>15 212 797 789 0 0 1680 1028 </string> </dict> </dict> <dict> <key>Content</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2CEA2B1B0CE38A270097A5FF</string> + <string>2C89386D0CE3AD9B005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>PseudoThread.pas</string> + <string>UltraStarDX.pas</string> <key>PBXSplitModuleInNavigatorKey</key> <dict> <key>Split0</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2CEA2B1C0CE38A270097A5FF</string> + <string>2C89386E0CE3AD9B005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>PseudoThread.pas</string> + <string>UltraStarDX.pas</string> <key>_historyCapacity</key> <integer>0</integer> <key>bookmark</key> - <string>2CEA2B970CE391870097A5FF</string> + <string>2C8938840CE3AFCE005D8A87</string> <key>history</key> <array> - <string>2CEA2B060CE388ED0097A5FF</string> + <string>2C8938690CE3AD88005D8A87</string> </array> </dict> <key>SplitCount</key> @@ -259,35 +259,35 @@ <key>Geometry</key> <dict> <key>Frame</key> - <string>{{0, 20}, {776, 858}}</string> + <string>{{0, 20}, {987, 762}}</string> <key>PBXModuleWindowStatusBarHidden2</key> <false/> <key>RubberWindowFrame</key> - <string>15 124 776 899 0 0 1680 1028 </string> + <string>189 142 987 803 0 0 1680 1028 </string> </dict> </dict> <dict> <key>Content</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2C82EFB90CDFC4BA00A79F26</string> + <string>2C8938710CE3AD9B005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>TextGL.pas</string> + <string>UPlatformMacOSX.pas</string> <key>PBXSplitModuleInNavigatorKey</key> <dict> <key>Split0</key> <dict> <key>PBXProjectModuleGUID</key> - <string>2C82EFBA0CDFC4BA00A79F26</string> + <string>2C8938720CE3AD9B005D8A87</string> <key>PBXProjectModuleLabel</key> - <string>TextGL.pas</string> + <string>UPlatformMacOSX.pas</string> <key>_historyCapacity</key> <integer>0</integer> <key>bookmark</key> - <string>2CEA2B980CE391870097A5FF</string> + <string>2C8938850CE3AFCE005D8A87</string> <key>history</key> <array> - <string>2C3366B90CE129A900399210</string> + <string>2C8938630CE3AA53005D8A87</string> </array> </dict> <key>SplitCount</key> @@ -299,51 +299,11 @@ <key>Geometry</key> <dict> <key>Frame</key> - <string>{{0, 20}, {797, 748}}</string> - <key>PBXModuleWindowStatusBarHidden2</key> - <false/> - <key>RubberWindowFrame</key> - <string>38 213 797 789 0 0 1680 1028 </string> - </dict> - </dict> - <dict> - <key>Content</key> - <dict> - <key>PBXProjectModuleGUID</key> - <string>2C82EF8B0CDFB9B300A79F26</string> - <key>PBXProjectModuleLabel</key> - <string>MacResources.pas</string> - <key>PBXSplitModuleInNavigatorKey</key> - <dict> - <key>Split0</key> - <dict> - <key>PBXProjectModuleGUID</key> - <string>2C82EF8C0CDFB9B300A79F26</string> - <key>PBXProjectModuleLabel</key> - <string>MacResources.pas</string> - <key>_historyCapacity</key> - <integer>0</integer> - <key>bookmark</key> - <string>2CEA2B990CE391870097A5FF</string> - <key>history</key> - <array> - <string>2C3366BA0CE129A900399210</string> - </array> - </dict> - <key>SplitCount</key> - <string>1</string> - </dict> - <key>StatusBarVisibility</key> - <true/> - </dict> - <key>Geometry</key> - <dict> - <key>Frame</key> - <string>{{0, 20}, {873, 642}}</string> + <string>{{0, 20}, {776, 859}}</string> <key>PBXModuleWindowStatusBarHidden2</key> <false/> <key>RubberWindowFrame</key> - <string>200 304 873 683 0 0 1680 1028 </string> + <string>12 87 776 900 0 0 1680 1028 </string> </dict> </dict> </array> @@ -380,6 +340,8 @@ <key>Layout</key> <array> <dict> + <key>BecomeActive</key> + <true/> <key>ContentConfiguration</key> <dict> <key>PBXBottomSmartGroupGIDs</key> @@ -423,7 +385,7 @@ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> <array> <array> - <integer>17</integer> + <integer>22</integer> <integer>15</integer> <integer>0</integer> </array> @@ -448,7 +410,7 @@ <real>266</real> </array> <key>RubberWindowFrame</key> - <string>760 270 817 753 0 0 1680 1028 </string> + <string>759 271 817 753 0 0 1680 1028 </string> </dict> <key>Module</key> <string>PBXSmartGroupTreeModule</string> @@ -485,7 +447,7 @@ <key>Frame</key> <string>{{0, 0}, {529, 0}}</string> <key>RubberWindowFrame</key> - <string>760 270 817 753 0 0 1680 1028 </string> + <string>759 271 817 753 0 0 1680 1028 </string> </dict> <key>Module</key> <string>PBXNavigatorGroup</string> @@ -493,8 +455,6 @@ <string>0pt</string> </dict> <dict> - <key>BecomeActive</key> - <true/> <key>ContentConfiguration</key> <dict> <key>PBXProjectModuleGUID</key> @@ -507,7 +467,7 @@ <key>Frame</key> <string>{{0, 5}, {529, 707}}</string> <key>RubberWindowFrame</key> - <string>760 270 817 753 0 0 1680 1028 </string> + <string>759 271 817 753 0 0 1680 1028 </string> </dict> <key>Module</key> <string>XCDetailModule</string> @@ -531,9 +491,9 @@ </array> <key>TableOfContents</key> <array> - <string>2CEA2ACE0CE384040097A5FF</string> + <string>2C8937960CE3A0CC005D8A87</string> <string>1CE0B1FE06471DED0097A5F4</string> - <string>2CEA2ACF0CE384040097A5FF</string> + <string>2C8937970CE3A0CC005D8A87</string> <string>1CE0B20306471E060097A5F4</string> <string>1CE0B20506471E060097A5F4</string> </array> @@ -667,22 +627,21 @@ <integer>5</integer> <key>WindowOrderList</key> <array> - <string>2CEA2B280CE38A270097A5FF</string> - <string>2CEA2B290CE38A270097A5FF</string> + <string>1C530D57069F1CE1000CFCEE</string> + <string>2C8937D10CE3A1FF005D8A87</string> + <string>2C8937D20CE3A1FF005D8A87</string> <string>2CDD4BFC0CB948FC00549FAC</string> - <string>2CEA2B260CE38A270097A5FF</string> <string>2CDD4B730CB935C700549FAC</string> - <string>1C0AD2B3069F1EA900FABCE6</string> - <string>2C82EF8B0CDFB9B300A79F26</string> - <string>2C82EFB90CDFC4BA00A79F26</string> - <string>2CEA2B1B0CE38A270097A5FF</string> - <string>1C530D57069F1CE1000CFCEE</string> - <string>2CEA2B810CE38FB40097A5FF</string> - <string>/Users/eddie/Projekte/UltraStarDX/trunk/Game/Code/MacOSX/UltraStarDX.xcodeproj</string> <string>1CD10A99069EF8BA00B06720</string> + <string>2C8937230CE3926A005D8A87</string> + <string>2C8938710CE3AD9B005D8A87</string> + <string>2C89386D0CE3AD9B005D8A87</string> + <string>2C89379C0CE3A0CD005D8A87</string> + <string>/Users/eddie/Projekte/UltraStarDX/trunk/Game/Code/MacOSX/UltraStarDX.xcodeproj</string> + <string>1C0AD2B3069F1EA900FABCE6</string> </array> <key>WindowString</key> - <string>760 270 817 753 0 0 1680 1028 </string> + <string>759 271 817 753 0 0 1680 1028 </string> <key>WindowTools</key> <array> <dict> @@ -698,12 +657,14 @@ <key>Dock</key> <array> <dict> + <key>BecomeActive</key> + <true/> <key>ContentConfiguration</key> <dict> <key>PBXProjectModuleGUID</key> <string>1CD0528F0623707200166675</string> <key>PBXProjectModuleLabel</key> - <string>URecord.pas</string> + <string>UPlatform.pas</string> <key>StatusBarVisibility</key> <true/> </dict> @@ -720,8 +681,6 @@ <string>566pt</string> </dict> <dict> - <key>BecomeActive</key> - <true/> <key>ContentConfiguration</key> <dict> <key>PBXProjectModuleGUID</key> @@ -761,7 +720,7 @@ <key>TableOfContents</key> <array> <string>2CDD4B730CB935C700549FAC</string> - <string>2CEA2AD90CE384620097A5FF</string> + <string>2C89375C0CE396D8005D8A87</string> <string>1CD0528F0623707200166675</string> <string>XCMainBuildResultsModuleGUID</string> </array> @@ -803,8 +762,8 @@ <string>yes</string> <key>sizes</key> <array> - <string>{{0, 0}, {335, 414}}</string> - <string>{{335, 0}, {629, 414}}</string> + <string>{{0, 0}, {333, 414}}</string> + <string>{{333, 0}, {631, 414}}</string> </array> </dict> <key>VerticalSplitView</key> @@ -844,7 +803,7 @@ <key>Frame</key> <string>{{0, 0}, {964, 788}}</string> <key>RubberWindowFrame</key> - <string>227 161 964 829 0 0 1680 1028 </string> + <string>227 162 964 829 0 0 1680 1028 </string> </dict> <key>Module</key> <string>PBXDebugSessionModule</string> @@ -867,23 +826,23 @@ <key>TableOfContents</key> <array> <string>1CD10A99069EF8BA00B06720</string> - <string>2CEA2B200CE38A270097A5FF</string> + <string>2C89371D0CE3926A005D8A87</string> <string>1C162984064C10D400B95A72</string> - <string>2CEA2B210CE38A270097A5FF</string> - <string>2CEA2B220CE38A270097A5FF</string> - <string>2CEA2B230CE38A270097A5FF</string> - <string>2CEA2B240CE38A270097A5FF</string> - <string>2CEA2B250CE38A270097A5FF</string> - <string>2CEA2B260CE38A270097A5FF</string> + <string>2C89371E0CE3926A005D8A87</string> + <string>2C89371F0CE3926A005D8A87</string> + <string>2C8937200CE3926A005D8A87</string> + <string>2C8937210CE3926A005D8A87</string> + <string>2C8937220CE3926A005D8A87</string> + <string>2C8937230CE3926A005D8A87</string> </array> <key>ToolbarConfiguration</key> <string>xcode.toolbar.config.debug</string> <key>WindowString</key> - <string>227 161 964 829 0 0 1680 1028 </string> + <string>227 162 964 829 0 0 1680 1028 </string> <key>WindowToolGUID</key> <string>1CD10A99069EF8BA00B06720</string> <key>WindowToolIsVisible</key> - <true/> + <false/> </dict> <dict> <key>FirstTimeWindowDisplayed</key> @@ -908,7 +867,7 @@ <key>PBXProjectModuleGUID</key> <string>1CDD528C0622207200134675</string> <key>PBXProjectModuleLabel</key> - <string>URecord.pas</string> + <string>UMusic.pas</string> <key>StatusBarVisibility</key> <true/> </dict> @@ -964,8 +923,8 @@ <key>TableOfContents</key> <array> <string>1C530D57069F1CE1000CFCEE</string> - <string>2CEA2B4B0CE38D340097A5FF</string> - <string>2CEA2B4C0CE38D340097A5FF</string> + <string>2C89383B0CE3A559005D8A87</string> + <string>2C89383C0CE3A559005D8A87</string> <string>1CDD528C0622207200134675</string> <string>1CD0528E0623707200166675</string> </array> @@ -974,7 +933,7 @@ <key>WindowToolGUID</key> <string>1C530D57069F1CE1000CFCEE</string> <key>WindowToolIsVisible</key> - <true/> + <false/> </dict> <dict> <key>Identifier</key> @@ -1028,7 +987,7 @@ <key>TableOfContents</key> <array> <string>2CDD4BFC0CB948FC00549FAC</string> - <string>2CEA2B270CE38A270097A5FF</string> + <string>2C8937D00CE3A1FF005D8A87</string> <string>1C78EAAC065D492600B07095</string> </array> <key>WindowString</key> @@ -1123,9 +1082,9 @@ <key>TableOfContents</key> <array> <string>1C0AD2B3069F1EA900FABCE6</string> - <string>2CEA2AD30CE384040097A5FF</string> + <string>2C8937C80CE3A1ED005D8A87</string> <string>1CD0528B0623707200166675</string> - <string>2CEA2AD40CE384040097A5FF</string> + <string>2C8937C90CE3A1ED005D8A87</string> </array> <key>ToolbarConfiguration</key> <string>xcode.toolbar.config.run</string> @@ -1134,7 +1093,7 @@ <key>WindowToolGUID</key> <string>1C0AD2B3069F1EA900FABCE6</string> <key>WindowToolIsVisible</key> - <false/> + <true/> </dict> <dict> <key>FirstTimeWindowDisplayed</key> diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser index 481f2448..d421585b 100644 --- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser +++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/eddie.pbxuser @@ -1,25 +1,5 @@ // !$*UTF8*$! { - 2C3366B90CE129A900399210 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */; - name = "TextGL.pas: 116"; - rLen = 0; - rLoc = 2871; - rType = 0; - vrLen = 1468; - vrLoc = 10961; - }; - 2C3366BA0CE129A900399210 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */; - name = "MacResources.pas: 55"; - rLen = 0; - rLoc = 1218; - rType = 0; - vrLen = 2000; - vrLoc = 2591; - }; 2C4D9C620CC9EC8C0031092D /* TextGL.pas */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {758, 7840}}"; @@ -31,8 +11,8 @@ 2C4D9C630CC9EC8C0031092D /* UAudio_bass.pas */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {884, 9100}}"; - sepNavSelRange = "{6579, 19}"; - sepNavVisRect = "{{0, 2661}, {758, 716}}"; + sepNavSelRange = "{16714, 12}"; + sepNavVisRect = "{{0, 8384}, {758, 716}}"; sepNavWindowFrame = "{{15, 178}, {797, 845}}"; }; }; @@ -70,9 +50,9 @@ }; 2C4D9C680CC9EC8C0031092D /* UCore.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1305, 7028}}"; - sepNavSelRange = "{12989, 64}"; - sepNavVisRect = "{{0, 6320}, {1305, 534}}"; + sepNavIntBoundsRect = "{{0, 0}, {1202, 7294}}"; + sepNavSelRange = "{12520, 0}"; + sepNavVisRect = "{{0, 844}, {758, 716}}"; sepNavWindowFrame = "{{107, 94}, {797, 845}}"; }; }; @@ -214,17 +194,17 @@ }; 2C4D9C7B0CC9EC8C0031092D /* UMain.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {998, 15246}}"; - sepNavSelRange = "{7261, 0}"; - sepNavVisRect = "{{0, 3896}, {923, 342}}"; + sepNavIntBoundsRect = "{{0, 0}, {1013, 15204}}"; + sepNavSelRange = "{137, 0}"; + sepNavVisRect = "{{0, 0}, {1013, 614}}"; sepNavWindowFrame = "{{222, 91}, {1052, 743}}"; }; }; 2C4D9C7C0CC9EC8C0031092D /* UMedia_dummy.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {758, 3920}}"; - sepNavSelRange = "{859, 0}"; - sepNavVisRect = "{{0, 3204}, {758, 716}}"; + sepNavIntBoundsRect = "{{0, 0}, {749, 3920}}"; + sepNavSelRange = "{4805, 0}"; + sepNavVisRect = "{{0, 1071}, {749, 470}}"; sepNavWindowFrame = "{{107, 94}, {797, 845}}"; }; }; @@ -239,8 +219,8 @@ 2C4D9C7E0CC9EC8C0031092D /* UMusic.pas */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {749, 4494}}"; - sepNavSelRange = "{5162, 12}"; - sepNavVisRect = "{{0, 2580}, {749, 470}}"; + sepNavSelRange = "{4994, 0}"; + sepNavVisRect = "{{0, 4024}, {749, 470}}"; sepNavWindowFrame = "{{153, 52}, {797, 845}}"; }; }; @@ -278,9 +258,9 @@ }; 2C4D9C840CC9EC8C0031092D /* URecord.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {749, 5194}}"; - sepNavSelRange = "{7313, 19}"; - sepNavVisRect = "{{0, 4333}, {749, 470}}"; + sepNavIntBoundsRect = "{{0, 0}, {758, 5194}}"; + sepNavSelRange = "{7340, 0}"; + sepNavVisRect = "{{0, 4312}, {758, 716}}"; sepNavWindowFrame = "{{130, 73}, {797, 845}}"; }; }; @@ -318,9 +298,9 @@ }; 2C4D9C890CC9EC8C0031092D /* USongs.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1052, 14952}}"; - sepNavSelRange = "{9556, 0}"; - sepNavVisRect = "{{0, 5665}, {758, 716}}"; + sepNavIntBoundsRect = "{{0, 0}, {950, 12908}}"; + sepNavSelRange = "{8059, 0}"; + sepNavVisRect = "{{0, 4142}, {758, 716}}"; sepNavWindowFrame = "{{15, 156}, {797, 845}}"; }; }; @@ -507,6 +487,70 @@ sepNavWindowFrame = "{{15, 282}, {616, 741}}"; }; }; + 2C8937290CE393FB005D8A87 /* UPlatform.pas */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {737, 826}}"; + sepNavSelRange = "{654, 0}"; + sepNavVisRect = "{{0, 0}, {737, 826}}"; + sepNavWindowFrame = "{{200, 62}, {776, 955}}"; + }; + }; + 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {737, 938}}"; + sepNavSelRange = "{1158, 0}"; + sepNavVisRect = "{{0, 111}, {737, 827}}"; + sepNavWindowFrame = "{{12, 31}, {776, 956}}"; + }; + }; + 2C8938610CE3A901005D8A87 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2C4D9C890CC9EC8C0031092D /* USongs.pas */; + name = "USongs.pas: 467"; + rLen = 0; + rLoc = 8854; + rType = 0; + vrLen = 1589; + vrLoc = 12291; + }; + 2C8938630CE3AA53005D8A87 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */; + }; + 2C8938690CE3AD88005D8A87 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = DDC6851B09F57195004E4BFF /* UltraStarDX.pas */; + }; + 2C8938830CE3AFCE005D8A87 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2C4D9C890CC9EC8C0031092D /* USongs.pas */; + name = "USongs.pas: 315"; + rLen = 0; + rLoc = 8059; + rType = 0; + vrLen = 1284; + vrLoc = 7645; + }; + 2C8938840CE3AFCE005D8A87 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = DDC6851B09F57195004E4BFF /* UltraStarDX.pas */; + name = "UltraStarDX.pas: 3"; + rLen = 0; + rLoc = 37; + rType = 0; + vrLen = 141; + vrLoc = 0; + }; + 2C8938850CE3AFCE005D8A87 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */; + name = "UPlatformMacOSX.pas: 52"; + rLen = 0; + rLoc = 1158; + rType = 0; + vrLen = 1411; + vrLoc = 80; + }; 2CDC716B0CDB9CB70018F966 /* StrUtils.pas */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1013, 1022}}"; @@ -580,7 +624,8 @@ fileReference = 2CDD439C0CBBE92D00F364DE /* UMain.pas */; hitCount = 1; lineNumber = 293; - modificationTime = 216240504.343527; + location = UltraStarDX; + modificationTime = 216245614.79797; state = 1; }; 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */ = { @@ -591,58 +636,6 @@ sepNavWindowFrame = "{{15, 68}, {776, 955}}"; }; }; - 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error:column 30 - Only virtual methods can be abstract"; - fRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */; - rLen = 1; - rLoc = 19; - rType = 1; - }; - 2CEA2B800CE38FA50097A5FF /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 2C4D9C840CC9EC8C0031092D /* URecord.pas */; - }; - 2CEA2B960CE391870097A5FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2C4D9C840CC9EC8C0031092D /* URecord.pas */; - name = "URecord.pas: 325"; - rLen = 0; - rLoc = 7340; - rType = 0; - vrLen = 1261; - vrLoc = 6977; - }; - 2CEA2B970CE391870097A5FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2CEA2AF00CE3868E0097A5FF /* PseudoThread.pas */; - name = "PseudoThread.pas: 23"; - rLen = 0; - rLoc = 415; - rType = 0; - vrLen = 764; - vrLoc = 0; - }; - 2CEA2B980CE391870097A5FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2C4D9C620CC9EC8C0031092D /* TextGL.pas */; - name = "TextGL.pas: 116"; - rLen = 0; - rLoc = 2871; - rType = 0; - vrLen = 1468; - vrLoc = 10961; - }; - 2CEA2B990CE391870097A5FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2CF3EF260CDE13BA004F5956 /* MacResources.pas */; - name = "MacResources.pas: 55"; - rLen = 0; - rLoc = 1218; - rType = 0; - vrLen = 2000; - vrLoc = 2591; - }; 2CF3EF210CDE13A0004F5956 /* Messages.pas */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1013, 614}}"; @@ -957,10 +950,10 @@ }; 2CF551A70CDA356800627463 /* UltraStar.dpr */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1031, 2338}}"; - sepNavSelRange = "{6767, 0}"; - sepNavVisRect = "{{0, 1498}, {1031, 840}}"; - sepNavWindowFrame = "{{15, 54}, {1070, 969}}"; + sepNavIntBoundsRect = "{{0, 0}, {914, 2674}}"; + sepNavSelRange = "{4560, 0}"; + sepNavVisRect = "{{0, 990}, {737, 827}}"; + sepNavWindowFrame = "{{15, 67}, {776, 956}}"; }; }; 2CF552110CDA3D1400627463 /* UPluginDefs.pas */ = { @@ -1153,18 +1146,16 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 216237043; - PBXWorkspaceStateSaveDate = 216237043; + PBXPerProjectTemplateStateSaveDate = 216240742; + PBXWorkspaceStateSaveDate = 216240742; }; perUserProjectItems = { - 2C3366B90CE129A900399210 /* PBXTextBookmark */ = 2C3366B90CE129A900399210 /* PBXTextBookmark */; - 2C3366BA0CE129A900399210 /* PBXTextBookmark */ = 2C3366BA0CE129A900399210 /* PBXTextBookmark */; - 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */ = 2CEA2B060CE388ED0097A5FF /* PBXTextBookmark */; - 2CEA2B800CE38FA50097A5FF /* PBXBookmark */ = 2CEA2B800CE38FA50097A5FF /* PBXBookmark */; - 2CEA2B960CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B960CE391870097A5FF /* PBXTextBookmark */; - 2CEA2B970CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B970CE391870097A5FF /* PBXTextBookmark */; - 2CEA2B980CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B980CE391870097A5FF /* PBXTextBookmark */; - 2CEA2B990CE391870097A5FF /* PBXTextBookmark */ = 2CEA2B990CE391870097A5FF /* PBXTextBookmark */; + 2C8938610CE3A901005D8A87 /* PBXTextBookmark */ = 2C8938610CE3A901005D8A87 /* PBXTextBookmark */; + 2C8938630CE3AA53005D8A87 /* PBXBookmark */ = 2C8938630CE3AA53005D8A87 /* PBXBookmark */; + 2C8938690CE3AD88005D8A87 /* PBXBookmark */ = 2C8938690CE3AD88005D8A87 /* PBXBookmark */; + 2C8938830CE3AFCE005D8A87 /* PBXTextBookmark */ = 2C8938830CE3AFCE005D8A87 /* PBXTextBookmark */; + 2C8938840CE3AFCE005D8A87 /* PBXTextBookmark */ = 2C8938840CE3AFCE005D8A87 /* PBXTextBookmark */; + 2C8938850CE3AFCE005D8A87 /* PBXTextBookmark */ = 2C8938850CE3AFCE005D8A87 /* PBXTextBookmark */; }; sourceControlManager = 2CDD4B690CB9357000549FAC /* Source Control */; userBuildSettings = { @@ -1172,9 +1163,9 @@ }; DDC6851B09F57195004E4BFF /* UltraStarDX.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {923, 342}}"; - sepNavSelRange = "{117, 0}"; - sepNavVisRect = "{{0, 0}, {923, 342}}"; + sepNavIntBoundsRect = "{{0, 0}, {948, 730}}"; + sepNavSelRange = "{37, 0}"; + sepNavVisRect = "{{0, 0}, {948, 730}}"; sepNavWindowFrame = "{{189, 86}, {987, 859}}"; }; }; diff --git a/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj b/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj index a1515214..c1ce71ee 100644 --- a/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj +++ b/Game/Code/MacOSX/UltraStarDX.xcodeproj/project.pbxproj @@ -136,6 +136,10 @@ 2C4D9E450CC9F0ED0031092D /* switches.inc in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E440CC9F0ED0031092D /* switches.inc */; }; 2C4D9E460CC9F0ED0031092D /* switches.inc in Sources */ = {isa = PBXBuildFile; fileRef = 2C4D9E440CC9F0ED0031092D /* switches.inc */; }; 2C4FA2A80CDBAD1E002CC3B0 /* ustar-icon_v01.icns in Resources */ = {isa = PBXBuildFile; fileRef = 2C4FA2A70CDBAD1E002CC3B0 /* ustar-icon_v01.icns */; }; + 2C89372A0CE393FB005D8A87 /* UPlatform.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C8937290CE393FB005D8A87 /* UPlatform.pas */; }; + 2C89372B0CE393FB005D8A87 /* UPlatform.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C8937290CE393FB005D8A87 /* UPlatform.pas */; }; + 2C8937340CE395CE005D8A87 /* UPlatformMacOSX.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */; }; + 2C8937370CE395CE005D8A87 /* UPlatformMacOSX.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */; }; 2CDC716C0CDB9CB70018F966 /* StrUtils.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CDC716B0CDB9CB70018F966 /* StrUtils.pas */; }; 2CDC716D0CDB9CB70018F966 /* StrUtils.pas in Sources */ = {isa = PBXBuildFile; fileRef = 2CDC716B0CDB9CB70018F966 /* StrUtils.pas */; }; 2CDD4BDE0CB947A400549FAC /* sdl.pas in Sources */ = {isa = PBXBuildFile; fileRef = 98B8BE5C0B1F974F00162019 /* sdl.pas */; }; @@ -430,6 +434,8 @@ 2C4D9E090CC9EF840031092D /* Windows.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = Windows.pas; path = Wrapper/Windows.pas; sourceTree = "<group>"; tabWidth = 2; }; 2C4D9E440CC9F0ED0031092D /* switches.inc */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = switches.inc; path = ../switches.inc; sourceTree = SOURCE_ROOT; tabWidth = 2; }; 2C4FA2A70CDBAD1E002CC3B0 /* ustar-icon_v01.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = "ustar-icon_v01.icns"; path = "../../Graphics/ustar-icon_v01.icns"; sourceTree = SOURCE_ROOT; }; + 2C8937290CE393FB005D8A87 /* UPlatform.pas */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.pascal; name = UPlatform.pas; path = ../Classes/UPlatform.pas; sourceTree = SOURCE_ROOT; }; + 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; lineEnding = 0; name = UPlatformMacOSX.pas; path = ../Classes/UPlatformMacOSX.pas; sourceTree = SOURCE_ROOT; tabWidth = 2; }; 2CDC716B0CDB9CB70018F966 /* StrUtils.pas */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 2; lastKnownFileType = sourcecode.pascal; name = StrUtils.pas; path = ../../../Modis/SDK/StrUtils.pas; sourceTree = SOURCE_ROOT; tabWidth = 2; }; 2CDEA4F60CBD725B0096994C /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; }; 2CEA2ADE0CE385190097A5FF /* Graphics.pas */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.pascal; name = Graphics.pas; path = Wrapper/Graphics.pas; sourceTree = "<group>"; }; @@ -562,6 +568,8 @@ 2CDD43820CBBE8D400F364DE /* Classes */ = { isa = PBXGroup; children = ( + 2C8937310CE395CE005D8A87 /* UPlatformMacOSX.pas */, + 2C8937290CE393FB005D8A87 /* UPlatform.pas */, 2C4D9C620CC9EC8C0031092D /* TextGL.pas */, 2C4D9C630CC9EC8C0031092D /* UAudio_bass.pas */, 2C4D9C640CC9EC8C0031092D /* UAudio_FFMpeg.pas */, @@ -1083,6 +1091,8 @@ 2CEA2AE00CE385190097A5FF /* Graphics.pas in Sources */, 2CEA2AE10CE385190097A5FF /* JPEG.pas in Sources */, 2CEA2AF10CE3868E0097A5FF /* PseudoThread.pas in Sources */, + 2C89372A0CE393FB005D8A87 /* UPlatform.pas in Sources */, + 2C8937340CE395CE005D8A87 /* UPlatformMacOSX.pas in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1206,6 +1216,8 @@ 2CEA2AE20CE385190097A5FF /* Graphics.pas in Sources */, 2CEA2AE30CE385190097A5FF /* JPEG.pas in Sources */, 2CEA2AF20CE3868E0097A5FF /* PseudoThread.pas in Sources */, + 2C89372B0CE393FB005D8A87 /* UPlatform.pas in Sources */, + 2C8937370CE395CE005D8A87 /* UPlatformMacOSX.pas in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index 0ab28cb6..fcc56d33 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -101,9 +101,16 @@ uses uPluginLoader in 'Classes\uPluginLoader.pas', //New Plugin Loader Module
UParty in 'Classes\UParty.pas', // to - do : rewrite Party Manager as Module, reomplent ability to offer party Mody by Plugin
+ UPlatform in 'Classes\UPlatform.pas',
+{$IFDEF WIN32}
+ UPlatformWindows in 'Classes\UPlatformWindows.pas',
+{$ENDIF}
+{$IFDEF LINUX}
+ UPlatformLinux in 'Classes\UPlatformLinux.pas',
+{$ENDIF}
{$IFDEF FPC}
- ulazjpeg in 'Classes\Ulazjpeg.pas',
+ ulazjpeg in 'Classes\Ulazjpeg.pas',
{$ENDIF}
|