From 3260749d369d3466c345d40a8b2189c32c8c1b60 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 7 Nov 2011 15:26:44 +0100 Subject: removed pascal code --- src/base/USkins.pas | 220 ---------------------------------------------------- 1 file changed, 220 deletions(-) delete mode 100644 src/base/USkins.pas (limited to 'src/base/USkins.pas') diff --git a/src/base/USkins.pas b/src/base/USkins.pas deleted file mode 100644 index 6ef5c596..00000000 --- a/src/base/USkins.pas +++ /dev/null @@ -1,220 +0,0 @@ -{* UltraStar Deluxe - Karaoke Game - * - * UltraStar Deluxe is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - *} - -unit USkins; - -interface - -{$IFDEF FPC} - {$MODE Delphi} -{$ENDIF} - -{$I switches.inc} - -uses - UPath; - -type - TSkinTexture = record - Name: string; - FileName: IPath; - end; - - TSkinEntry = record - Theme: string; - Name: string; - Path: IPath; - FileName: IPath; - Creator: string; // not used yet - end; - - TSkin = class - Skin: array of TSkinEntry; - SkinTexture: array of TSkinTexture; - SkinPath: IPath; - Color: integer; - constructor Create; - procedure LoadList; - procedure ParseDir(Dir: IPath); - procedure LoadHeader(FileName: IPath); - procedure LoadSkin(Name: string); - function GetTextureFileName(TextureName: string): IPath; - function GetSkinNumber(Name: string): integer; - procedure onThemeChange; - end; - -var - Skin: TSkin; - -implementation - -uses - IniFiles, - Classes, - SysUtils, - UIni, - ULog, - UMain, - UPathUtils, - UFileSystem; - -constructor TSkin.Create; -begin - inherited; - LoadList; -// LoadSkin('...'); -// SkinColor := Color; -end; - -procedure TSkin.LoadList; -var - Iter: IFileIterator; - DirInfo: TFileInfo; -begin - Iter := FileSystem.FileFind(SkinsPath.Append('*'), faDirectory); - while Iter.HasNext do - begin - DirInfo := Iter.Next(); - if (not DirInfo.Name.Equals('.')) and (not DirInfo.Name.Equals('..')) then - ParseDir(SkinsPath.Append(DirInfo.Name, pdAppend)); - end; -end; - -procedure TSkin.ParseDir(Dir: IPath); -var - Iter: IFileIterator; - IniInfo: TFileInfo; -begin - Iter := FileSystem.FileFind(Dir.Append('*.ini'), 0); - while Iter.HasNext do - begin - IniInfo := Iter.Next; - LoadHeader(Dir.Append(IniInfo.Name)); - end; -end; - -procedure TSkin.LoadHeader(FileName: IPath); -var - SkinIni: TMemIniFile; - S: integer; -begin - SkinIni := TMemIniFile.Create(FileName.ToNative); - - S := Length(Skin); - SetLength(Skin, S+1); - - Skin[S].Path := FileName.GetPath; - Skin[S].FileName := FileName.GetName; - Skin[S].Theme := SkinIni.ReadString('Skin', 'Theme', ''); - Skin[S].Name := SkinIni.ReadString('Skin', 'Name', ''); - Skin[S].Creator := SkinIni.ReadString('Skin', 'Creator', ''); - - SkinIni.Free; -end; - -procedure TSkin.LoadSkin(Name: string); -var - SkinIni: TMemIniFile; - SL: TStringList; - T: integer; - S: integer; -begin - S := GetSkinNumber(Name); - SkinPath := Skin[S].Path; - - SkinIni := TMemIniFile.Create(SkinPath.Append(Skin[S].FileName).ToNative); - - SL := TStringList.Create; - SkinIni.ReadSection('Textures', SL); - - SetLength(SkinTexture, SL.Count); - for T := 0 to SL.Count-1 do - begin - SkinTexture[T].Name := SL.Strings[T]; - SkinTexture[T].FileName := Path(SkinIni.ReadString('Textures', SL.Strings[T], '')); - end; - - SL.Free; - SkinIni.Free; -end; - -function TSkin.GetTextureFileName(TextureName: string): IPath; -var - T: integer; -begin - Result := PATH_NONE; - - for T := 0 to High(SkinTexture) do - begin - if (SkinTexture[T].Name = TextureName) and - (SkinTexture[T].FileName.IsSet) then - begin - Result := SkinPath.Append(SkinTexture[T].FileName); - end; - end; - - if (TextureName <> '') and (Result.IsSet) 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';} -end; - -function TSkin.GetSkinNumber(Name: string): integer; -var - 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; -end; - -procedure TSkin.onThemeChange; -var - S: integer; - Name: String; -begin - Ini.SkinNo:=0; - SetLength(ISkin, 0); - Name := Uppercase(ITheme[Ini.Theme]); - for S := 0 to High(Skin) do - if Name = Uppercase(Skin[S].Theme) then - begin - SetLength(ISkin, Length(ISkin)+1); - ISkin[High(ISkin)] := Skin[S].Name; - end; - -end; - -end. -- cgit v1.2.3