- Fixed typo in UMulManager

- Added array initialization to TAnimDataProvider
- Adjusted frmLogin
- Some code cleanups
This commit is contained in:
2009-12-08 22:17:39 +01:00
parent 06c9c2c507
commit 1759e0763c
8 changed files with 288 additions and 118 deletions

View File

@@ -48,6 +48,7 @@ type
FAnimData: TAnimDataArray;
function CalculateOffset(AID: Integer): Integer; override;
function GetData(AID, AOffset: Integer): TAnimData; override;
procedure InitArray;
procedure SetData(AID, AOffset: Integer; ABlock: TMulBlock); override;
public
property AnimData: TAnimDataArray read FAnimData;
@@ -61,15 +62,22 @@ implementation
constructor TAnimDataProvider.Create(AData: TStream; AReadOnly: Boolean);
begin
inherited Create(AData, AReadOnly);
InitArray;
end;
constructor TAnimDataProvider.Create(AData: string; AReadOnly: Boolean);
begin
inherited Create(AData, AReadOnly);
InitArray;
end;
destructor TAnimDataProvider.Destroy;
var
i: Integer;
begin
for i := 0 to Length(FAnimData) - 1 do
FreeAndNil(FAnimData[i]);
inherited Destroy;
end;
@@ -83,6 +91,17 @@ begin
Result := FAnimData[AID];
end;
procedure TAnimDataProvider.InitArray;
var
i: Integer;
begin
for i := 0 to Length(FAnimData) - 1 do
begin
FData.Position := GetAnimDataOffset(i);
FAnimData[i] := TAnimData.Create(FData);
end;
end;
procedure TAnimDataProvider.SetData(AID, AOffset: Integer; ABlock: TMulBlock);
begin
FreeAndNil(FAnimData[AID]);

View File

@@ -123,7 +123,7 @@ procedure TMulManager.RegisterAnimDataProvider(
AAnimDataProvider: TAnimDataProvider);
begin
FreeAndNil(FAnimDataProvider);
FTileDataProvider := AAnimDataProvider;
FAnimDataProvider := AAnimDataProvider;
end;
end.