aboutsummaryrefslogtreecommitdiffstats
path: root/unicode/src/base/USkins.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-03-14 21:18:50 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-03-14 21:18:50 +0000
commita92d9807237a024106b67f045822679f7ee4df54 (patch)
tree5f2c2501be7da18d2b82216fe60e645d1a2caaac /unicode/src/base/USkins.pas
parentc61a339ad465ecb43897975538a77c3eb87110be (diff)
downloadusdx-a92d9807237a024106b67f045822679f7ee4df54.tar.gz
usdx-a92d9807237a024106b67f045822679f7ee4df54.tar.xz
usdx-a92d9807237a024106b67f045822679f7ee4df54.zip
merge with current trunk (just update)
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1634 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r--unicode/src/base/USkins.pas87
1 files changed, 48 insertions, 39 deletions
diff --git a/unicode/src/base/USkins.pas b/unicode/src/base/USkins.pas
index df736684..a4722d95 100644
--- a/unicode/src/base/USkins.pas
+++ b/unicode/src/base/USkins.pas
@@ -35,23 +35,23 @@ interface
type
TSkinTexture = record
- Name: string;
- FileName: string;
+ Name: string;
+ FileName: string;
end;
TSkinEntry = record
- Theme: string;
- Name: string;
- Path: string;
- FileName: string;
- Creator: string; // not used yet
+ Theme: string;
+ Name: string;
+ Path: string;
+ FileName: string;
+ Creator: string; // not used yet
end;
TSkin = class
- Skin: array of TSkinEntry;
- SkinTexture: array of TSkinTexture;
- SkinPath: string;
- Color: integer;
+ Skin: array of TSkinEntry;
+ SkinTexture: array of TSkinTexture;
+ SkinPath: string;
+ Color: integer;
constructor Create;
procedure LoadList;
procedure ParseDir(Dir: string);
@@ -63,30 +63,33 @@ type
end;
var
- Skin: TSkin;
+ Skin: TSkin;
implementation
-uses IniFiles,
- Classes,
- SysUtils,
- UMain,
- ULog,
- UIni;
+uses
+ IniFiles,
+ Classes,
+ SysUtils,
+ UIni,
+ ULog,
+ UMain,
+ UPath;
constructor TSkin.Create;
begin
inherited;
LoadList;
-// LoadSkin('Lisek');
+// LoadSkin('...');
// SkinColor := Color;
end;
procedure TSkin.LoadList;
var
- SR: TSearchRec;
+ SR: TSearchRec;
begin
- if FindFirst(SkinsPath+'*', faDirectory, SR) = 0 then begin
+ if FindFirst(SkinsPath+'*', faDirectory, SR) = 0 then
+ begin
repeat
if (SR.Name <> '.') and (SR.Name <> '..') then
ParseDir(SkinsPath + SR.Name + PathDelim);
@@ -97,9 +100,10 @@ end;
procedure TSkin.ParseDir(Dir: string);
var
- SR: TSearchRec;
+ SR: TSearchRec;
begin
- if FindFirst(Dir + '*.ini', faAnyFile, SR) = 0 then begin
+ if FindFirst(Dir + '*.ini', faAnyFile, SR) = 0 then
+ begin
repeat
if (SR.Name <> '.') and (SR.Name <> '..') then
@@ -111,8 +115,8 @@ end;
procedure TSkin.LoadHeader(FileName: string);
var
- SkinIni: TMemIniFile;
- S: integer;
+ SkinIni: TMemIniFile;
+ S: integer;
begin
SkinIni := TMemIniFile.Create(FileName);
@@ -130,10 +134,10 @@ end;
procedure TSkin.LoadSkin(Name: string);
var
- SkinIni: TMemIniFile;
- SL: TStringList;
- T: integer;
- S: integer;
+ SkinIni: TMemIniFile;
+ SL: TStringList;
+ T: integer;
+ S: integer;
begin
S := GetSkinNumber(Name);
SkinPath := Skin[S].Path;
@@ -156,39 +160,43 @@ end;
function TSkin.GetTextureFileName(TextureName: string): string;
var
- T: integer;
+ T: integer;
begin
Result := '';
for T := 0 to High(SkinTexture) do
begin
- if ( SkinTexture[T].Name = TextureName ) AND
+ if ( SkinTexture[T].Name = TextureName ) and
( SkinTexture[T].FileName <> '' ) then
begin
Result := SkinPath + SkinTexture[T].FileName;
end;
end;
- if ( TextureName <> '' ) AND
- ( Result <> '' ) THEN
+ if ( TextureName <> '' ) and
+ ( Result <> '' ) then
begin
//Log.LogError('', '-----------------------------------------');
//Log.LogError(TextureName+' - '+ Result, 'TSkin.GetTextureFileName');
end;
{ Result := SkinPath + 'Bar.jpg';
- if TextureName = 'Ball' then Result := SkinPath + 'Ball.bmp';
- if Copy(TextureName, 1, 4) = 'Gray' then Result := SkinPath + 'Ball.bmp';
- if Copy(TextureName, 1, 6) = 'NoteBG' then Result := SkinPath + 'Ball.bmp';}
+ if TextureName = 'Ball' then
+ Result := SkinPath + 'Ball.bmp';
+ if Copy(TextureName, 1, 4) = 'Gray' then
+ Result := SkinPath + 'Ball.bmp';
+ if Copy(TextureName, 1, 6) = 'NoteBG' then
+ Result := SkinPath + 'Ball.bmp';}
end;
function TSkin.GetSkinNumber(Name: string): integer;
var
- S: integer;
+ S: integer;
begin
Result := 0; // set default to the first available skin
for S := 0 to High(Skin) do
- if Skin[S].Name = Name then Result := S;
+ if Skin[S].Name = Name then
+ Result := S;
end;
procedure TSkin.onThemeChange;
@@ -200,7 +208,8 @@ begin
SetLength(ISkin, 0);
Name := Uppercase(ITheme[Ini.Theme]);
for S := 0 to High(Skin) do
- if Name = Uppercase(Skin[S].Theme) then begin
+ if Name = Uppercase(Skin[S].Theme) then
+ begin
SetLength(ISkin, Length(ISkin)+1);
ISkin[High(ISkin)] := Skin[S].Name;
end;