aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes/UCovers.pas
diff options
context:
space:
mode:
authorwhiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-30 16:44:20 +0000
committerwhiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-03-30 16:44:20 +0000
commitd520f9f6ed8a3a0cb8e3063040db19758b7c6f38 (patch)
treeb506e6c32265bea8d5dc5b96cab09ad8dd60b12c /Game/Code/Classes/UCovers.pas
parent61cbc6464e0c9469c4ddcf35285db220a18f153f (diff)
downloadusdx-d520f9f6ed8a3a0cb8e3063040db19758b7c6f38.tar.gz
usdx-d520f9f6ed8a3a0cb8e3063040db19758b7c6f38.tar.xz
usdx-d520f9f6ed8a3a0cb8e3063040db19758b7c6f38.zip
Prepared some classes for enhanced Song loading.
Commited to work with s_alexander in this task. Song loading doesn't work at this point git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@983 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r--Game/Code/Classes/UCovers.pas64
1 files changed, 38 insertions, 26 deletions
diff --git a/Game/Code/Classes/UCovers.pas b/Game/Code/Classes/UCovers.pas
index 9cc2a5e9..4068e02b 100644
--- a/Game/Code/Classes/UCovers.pas
+++ b/Game/Code/Classes/UCovers.pas
@@ -32,25 +32,32 @@ type
end;
TCovers = class
- Cover: array of TCover;
- W: word;
- H: word;
- Size: integer;
- Data: array of byte;
- WritetoFile: Boolean;
-
- constructor Create;
- procedure Load;
- procedure Save;
- procedure AddCover(Name: string);
- function CoverExists(Name: string): boolean;
- function CoverNumber(Name: string): integer;
- procedure PrepareData(Name: string);
+ private
+ Filename: String;
+
+
+
+ WritetoFile: Boolean;
+ public
+ W: word;
+ H: word;
+ Size: integer;
+ Data: array of byte;
+ Cover: array of TCover;
+
+ constructor Create;
+ procedure Load;
+ procedure Save;
+ Function AddCover(FileName: string): Integer; //Returns ID, Checks Cover for Change, Updates Cover if required
+ function CoverExists(FileName: string): boolean;
+ function CoverNumber(FileName: string): integer; //Returns ID by FilePath
+ procedure PrepareData(FileName: string);
+ Procedure LoadTextures;
end;
var
Covers: TCovers;
-
+ // to - do : new Song management
implementation
uses UMain,
@@ -155,7 +162,7 @@ begin
CloseFile(F);}
end;
-procedure TCovers.AddCover(Name: string);
+Function TCovers.AddCover(FileName: string): Integer;
var
B: integer;
F: File;
@@ -163,10 +170,10 @@ var
NLen: word;
Bits: byte;
begin
- if not CoverExists(Name) then
+ if not CoverExists(FileName) then
begin
SetLength(Cover, Length(Cover)+1);
- Cover[High(Cover)].Name := Name;
+ Cover[High(Cover)].Name := FileName;
Cover[High(Cover)].W := W;
Cover[High(Cover)].H := H;
@@ -197,9 +204,9 @@ begin
BlockWrite(F, H, 2);
BlockWrite(F, Bits, 1);
- NLen := Length(Name);
+ NLen := Length(FileName);
BlockWrite(F, NLen, 2);
- BlockWrite(F, Name[1], NLen);
+ BlockWrite(F, FileName[1], NLen);
Cover[High(Cover)].Position := FilePos(F);
BlockWrite(F, CacheMipmap[0], W*H*(Bits div 8));
@@ -211,7 +218,7 @@ begin
Cover[High(Cover)].Position := 0;
end;
-function TCovers.CoverExists(Name: string): boolean;
+function TCovers.CoverExists(FileName: string): boolean;
var
C: integer; // cover
begin
@@ -220,14 +227,14 @@ begin
while (C <= High(Cover)) and (Result = false) do
begin
- if Cover[C].Name = Name then
+ if Cover[C].Name = FileName then
Result := true;
Inc(C);
end;
end;
-function TCovers.CoverNumber(Name: string): integer;
+function TCovers.CoverNumber(FileName: string): integer;
var
C: integer;
begin
@@ -236,14 +243,14 @@ begin
while (C <= High(Cover)) and (Result = -1) do
begin
- if Cover[C].Name = Name then
+ if Cover[C].Name = FileName then
Result := C;
Inc(C);
end;
end;
-procedure TCovers.PrepareData(Name: string);
+procedure TCovers.PrepareData(FileName: string);
var
F: File;
C: integer;
@@ -253,7 +260,7 @@ begin
AssignFile(F, GamePath + 'covers.cache');
Reset(F, 1);
- C := CoverNumber(Name);
+ C := CoverNumber(FileName);
SetLength(Data, Cover[C].Size);
if Length(Data) < 6 then beep;
Seek(F, Cover[C].Position);
@@ -262,4 +269,9 @@ begin
end;
end;
+Procedure TCovers.LoadTextures;
+begin
+
+end;
+
end.