ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/FileClasses/TXAN.pas
Revision: 213
Committed: Tue Jun 12 17:00:48 2007 UTC (18 years, 4 months ago) by alloc
Content type: text/x-pascal
File size: 1730 byte(s)
Log Message:

File Contents

# Content
1 unit TXAN;
2
3 interface
4
5 uses
6 _FileTypes;
7
8 type
9 TFile_TXAN = class(TFile)
10 protected
11 procedure InitDatLinks; override;
12 procedure InitDataFields; override;
13 procedure InitRawList; override;
14 end;
15
16 implementation
17
18 uses
19 ConnectionManager, Math, Classes, TypeDefs, _DataTypes;
20
21 procedure TFile_TXAN.InitDataFields;
22 var
23 tempi: Integer;
24 temps: String;
25 templist: TStringList;
26 begin
27 inherited;
28 FDataFields := TBlock.Create(Self, nil, 0, 'Base', '', nil);
29 templist := TStringList.Create;
30 with FDataFields do
31 begin
32 AddField(TFileID, $00, 'FileID', '', nil);
33
34 AddField(TLevelID, $04, 'LevelID', '', nil);
35
36 tempi := 12;
37 AddField(TUnused, $08, 'Unused data', '', @tempi);
38
39 tempi := 2;
40 AddField(TInt, $14, 'Loop speed', '', @tempi);
41
42 tempi := 2;
43 AddField(TInt, $16, 'Unknown', '', @tempi);
44
45 tempi := 2;
46 AddField(TInt, $18, 'Unknown', '', @tempi);
47
48 tempi := 2;
49 AddField(TUnused, $1A, 'Unused', '', @tempi);
50
51 with AddField(TArray, $1C, 'AnimTextures array', '', @tempi) do
52 begin
53 AddField(TLinkByID, $00, 'Texture', '', nil);
54 end;
55 end;
56 templist.Free;
57 end;
58
59
60 procedure TFile_TXAN.InitDatLinks;
61 var
62 links: Integer;
63 i: Integer;
64 begin
65 ConManager.Connection[FConnectionID].LoadDatFilePart(FFileID, $1C, SizeOf(links), @links);
66 SetLength(FDatLinks, links);
67 for i := 0 to links - 1 do
68 begin
69 FDatLinks[i].SrcOffset := $20 + $4 * i;
70 FDatLinks[i].DestID := GetDatLinkValue(FFileStream, FDatLinks[i].SrcOffset);
71 FDatLinks[i].PosDestExts := 'TXMP';
72 end;
73 end;
74
75
76 procedure TFile_TXAN.InitRawList;
77 begin
78 SetLength(FRawParts, 0);
79 end;
80
81 end.
82