aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes/UPlatform.pas
diff options
context:
space:
mode:
authorjaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-12-20 03:33:14 +0000
committerjaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-12-20 03:33:14 +0000
commit7d61a98f807803a337fd12342c29eb0f5f69fc76 (patch)
treecbd759f06ca19ec49d95af10ea5362798d4d38a4 /Game/Code/Classes/UPlatform.pas
parentcdfdd0ea3fa2eb92893db46c158cf61b7a9411d7 (diff)
downloadusdx-7d61a98f807803a337fd12342c29eb0f5f69fc76.tar.gz
usdx-7d61a98f807803a337fd12342c29eb0f5f69fc76.tar.xz
usdx-7d61a98f807803a337fd12342c29eb0f5f69fc76.zip
made USDX function when file paths differ from previous expectations..
( most of the software was still using hard coded paths ) also added ability to have multiple song directories. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@735 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Classes/UPlatform.pas')
-rw-r--r--Game/Code/Classes/UPlatform.pas63
1 files changed, 48 insertions, 15 deletions
diff --git a/Game/Code/Classes/UPlatform.pas b/Game/Code/Classes/UPlatform.pas
index a06914d0..bdd6cf78 100644
--- a/Game/Code/Classes/UPlatform.pas
+++ b/Game/Code/Classes/UPlatform.pas
@@ -25,7 +25,17 @@ type
TDirectoryEntryArray = Array of TDirectoryEntry;
- TPlatform = class
+ IPlatform = Interface
+ ['{63A5EBC3-3F4D-4F23-8DFB-B5165FCA23DF}']
+ Function DirectoryFindFiles(Dir, Filter : WideString; ReturnAllSubDirs : Boolean) : TDirectoryEntryArray;
+ function TerminateIfAlreadyRunning(var WndTitle : String) : Boolean;
+
+ function GetLogPath : WideString;
+ function GetGameSharedPath : WideString;
+ function GetGameUserPath : WideString;
+ end;
+
+ TPlatform = class( TInterfacedOBject, IPlatform )
// 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
@@ -34,11 +44,16 @@ type
function TerminateIfAlreadyRunning(var WndTitle : String) : Boolean; virtual;
- function GetGamePath : WideString; virtual;
+// function GetGamePath : WideString; virtual;
+ function GetLogPath : WideString; virtual;
+ function GetGameSharedPath : WideString; virtual;
+ function GetGameUserPath : WideString; virtual;
+
end;
+
var
- Platform : TPlatform;
+ Platform : IPlatform;
implementation
@@ -55,19 +70,37 @@ uses
{$ENDIF}
{ TPlatform }
-
+
+(*
function TPlatform.GetGamePath: WideString;
-begin
- // Windows and Linux use this:
- Result := ExtractFilePath(ParamStr(0));
-end;
-
+begin
+ // Windows and Linux use this:
+ Result := ExtractFilePath(ParamStr(0));
+end;
+*)
+function TPlatform.GetLogPath : WideString;
+begin
+ result := ExtractFilePath(ParamStr(0));
+end;
+
+function TPlatform.GetGameSharedPath : WideString;
+begin
+ result := ExtractFilePath(ParamStr(0));
+end;
+
+function TPlatform.GetGameUserPath : WideString;
+begin
+ result := ExtractFilePath(ParamStr(0));
+end;
+
+
+
function TPlatform.TerminateIfAlreadyRunning(var WndTitle : String) : Boolean;
-begin
- // Linux and Mac don't check for running apps at the moment
- Result := false;
-end;
-
+begin
+ // Linux and Mac don't check for running apps at the moment
+ Result := false;
+end;
+
initialization
{$IFDEF MSWINDOWS}
@@ -81,5 +114,5 @@ initialization
{$ENDIF}
finalization
- freeandnil( Platform );
+ Platform := nil;
end.