ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/FileClasses/TXMP.pas
(Generate patch)

Comparing oup/current/FileClasses/TXMP.pas (file contents):
Revision 206 by alloc, Sun May 27 23:31:26 2007 UTC vs.
Revision 214 by alloc, Tue Jun 12 17:35:56 2007 UTC

# Line 3 | Line 3 | unit TXMP;
3   interface
4  
5   uses
6 <  TypeDefs, _DataTypes, _FileTypes;
6 >  _FileTypes;
7  
8   type
9    TFile_TXMP = class(TFile)
10      protected
11        procedure InitDatLinks; override;
12      procedure InitDataFields; override;
12        procedure InitRawList; override;
13 +    public
14 +      procedure InitDataFields; override;
15    end;
16  
17   implementation
18  
19   uses
20 <  ConnectionManager, Math;
20 <
21 < { TFile_SNDD }
22 <
23 < procedure TFile_TXMP.InitDatLinks;
24 < begin
25 <  SetLength(FDatLinks, 2);
26 <  FDatLinks[0].SrcOffset := $94;
27 <  FDatLinks[0].DestID := -1;
28 <  FDatLinks[0].PosDestExts := '*';
29 <  FDatLinks[1].SrcOffset := $98;
30 <  FDatLinks[1].DestID := -1;
31 <  FDatLinks[1].PosDestExts := 'TXMP';
32 < end;
20 >  ConnectionManager, Math, Classes, TypeDefs, _DataTypes;
21  
22 + { TFile_TXMP }
23  
24   procedure TFile_TXMP.InitDataFields;
25   var
26    tempi: Integer;
27    temps: String;
28 +  templist: TStringList;
29   begin
30 <  FDataFields := TBlock.Create(Self, 0, 'Base', '', nil);
30 >  inherited;
31 >  FDataFields := TBlock.Create(Self, nil, 0, 'Base', '', nil);
32 >  templist := TStringList.Create;
33    with FDataFields do
34    begin
35      AddField(TFileID, $00, 'FileID', '', nil);
36 +
37      AddField(TLevelID, $04, 'LevelID', '', nil);
38 +
39      tempi := 128;
40      AddField(TString, $08, 'FileName', '', @tempi);
41 <    tempi := 4;
42 <    AddField(TInt, $88, 'Flags', '', @tempi);
41 >
42 >    templist.Add('MipMapping enabled');
43 >    templist.Add('unknown');
44 >    templist.Add('U wrapping disabled');
45 >    templist.Add('V wrapping disabled');
46 >    templist.Add('EnvMapped/EnvMap');
47 >    templist.Add('unused');
48 >    templist.Add('Play anim back to back');
49 >    templist.Add('Random anim order + frame time');
50 >    AddField(TBitSet, $88, 'Flags1', '', @templist);
51 >
52 >    templist.Clear;
53 >    templist.Add('Random anim time offset');
54 >    templist.Add('High byte as EnvMap');
55 >    templist.Add('High byte as alpha');
56 >    templist.Add('Different alpha formula');
57 >    templist.Add('Data swapping (always set)');
58 >    templist.Add('used at runtime');
59 >    templist.Add('TXAN looping on/off');
60 >    templist.Add('16 bit blue');
61 >    AddField(TBitSet, $89, 'Flags2', '', @templist);
62 >
63 >    templist.Clear;
64 >    templist.Add('16 bit alpha');
65 >    templist.Add('16 bit red');
66 >    templist.Add('unknown');
67 >    templist.Add('unknown');
68 >    templist.Add('unknown');
69 >    templist.Add('unknown');
70 >    templist.Add('unknown');
71 >    templist.Add('unknown');
72 >    AddField(TBitSet, $8A, 'Flags3', '', @templist);
73 >
74 >    templist.Clear;
75 >    templist.Add('unknown');
76 >    templist.Add('unknown');
77 >    templist.Add('unknown');
78 >    templist.Add('unknown');
79 >    templist.Add('unknown');
80 >    templist.Add('unknown');
81 >    templist.Add('unknown');
82 >    templist.Add('unknown');
83 >    AddField(TBitSet, $8B, 'Flags4', '', @templist);
84 >
85      tempi := 2;
86      AddField(TInt, $8C, 'Width', '', @tempi);
87 +
88      tempi := 2;
89      AddField(TInt, $8E, 'Height', '', @tempi);
90 +
91      tempi := 4;
92      AddField(TInt, $90, 'StoreType', '', @tempi);
93 <    temps := 'TXAN';
93 >
94 >    temps := '*';
95      AddField(TLinkByID, $94, 'TXAN', '', @temps);
96 +
97      temps := 'TXMP';
98      AddField(TLinkByID, $98, 'TXMP', '', @temps);
99 +
100      AddField(TRawLink, $9C, 'RawLink', '', nil);
101 +
102      AddField(TRawLink, $A0, 'SepLink', '', nil);
103 +
104      tempi := $1C;
105      AddField(TUnused, $A4, 'Unused', '', @tempi);
106    end;
107 +  templist.Free;
108 + end;
109 +
110 +
111 + procedure TFile_TXMP.InitDatLinks;
112 + begin
113 +  SetLength(FDatLinks, 2);
114 +  FDatLinks[0].SrcOffset := $94;
115 +  FDatLinks[0].DestID := GetDatLinkValue(FFileStream, $94);
116 +  FDatLinks[0].PosDestExts := '*';
117 +  FDatLinks[1].SrcOffset := $98;
118 +  FDatLinks[1].DestID := GetDatLinkValue(FFileStream, $98);
119 +  FDatLinks[1].PosDestExts := 'TXMP';
120   end;
121  
122  

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)