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 233 by alloc, Fri Jun 29 12:38:24 2007 UTC vs.
Revision 236 by alloc, Fri Jul 13 23:15:47 2007 UTC

# Line 21 | Line 21 | uses
21   { TFile_TXMP }
22  
23   procedure TFile_TXMP.InitDataFields;
24 var
25  tempi: Integer;
26  temps: String;
27  templist: TStringList;
24   begin
25    inherited;
26 <  FDataFields := TBlock.Create(Self, nil, 0, 'Base', '', nil);
31 <  templist := TStringList.Create;
26 >  FDataFields := TBlock.Create(Self, nil, 'Base', '', []);
27    with FDataFields do
28    begin
29 <    AddField(TFileID, $00, 'FileID', '', nil);
29 >    AddField(TFileID, 'FileID', '', []);
30 >    AddField(TLevelID, 'LevelID', '', []);
31  
32 <    AddField(TLevelID, $04, 'LevelID', '', nil);
32 >    AddField(TString, 'FileName', '', [128]);
33  
34 <    tempi := 128;
35 <    AddField(TString, $08, 'FileName', '', @tempi);
36 <
37 <    templist.Add('MipMapping enabled');
38 <    templist.Add('unknown');
39 <    templist.Add('U wrapping disabled');
40 <    templist.Add('V wrapping disabled');
41 <    templist.Add('EnvMapped/EnvMap');
42 <    templist.Add('unused');
43 <    templist.Add('Play anim back to back');
44 <    templist.Add('Random anim order + frame time');
45 <    AddField(TBitSet, $88, 'Flags1', '', @templist);
46 <
47 <    templist.Clear;
48 <    templist.Add('Random anim time offset');
49 <    templist.Add('High byte as EnvMap');
50 <    templist.Add('High byte as alpha');
51 <    templist.Add('Different alpha formula');
52 <    templist.Add('Data swapping (always set)');
53 <    templist.Add('used at runtime');
54 <    templist.Add('TXAN looping on/off');
55 <    templist.Add('16 bit blue');
56 <    AddField(TBitSet, $89, 'Flags2', '', @templist);
57 <
58 <    templist.Clear;
59 <    templist.Add('16 bit alpha');
64 <    templist.Add('16 bit red');
65 <    templist.Add('unknown');
66 <    templist.Add('unknown');
67 <    templist.Add('unknown');
68 <    templist.Add('unknown');
69 <    templist.Add('unknown');
70 <    templist.Add('unknown');
71 <    AddField(TBitSet, $8A, 'Flags3', '', @templist);
72 <
73 <    templist.Clear;
74 <    templist.Add('unknown');
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 <    AddField(TBitSet, $8B, 'Flags4', '', @templist);
83 <
84 <    tempi := 2;
85 <    AddField(TInt, $8C, 'Width', '', @tempi);
86 <
87 <    tempi := 2;
88 <    AddField(TInt, $8E, 'Height', '', @tempi);
89 <
90 <    tempi := 4;
91 <    AddField(TInt, $90, 'StoreType', '', @tempi);
92 <
93 <    temps := '*';
94 <    AddField(TLinkByID, $94, 'TXAN', '', @temps);
95 <
96 <    temps := 'TXMP';
97 <    AddField(TLinkByID, $98, 'TXMP', '', @temps);
98 <
99 <    AddField(TRawLink, $9C, 'RawLink', '', nil);
100 <
101 <    AddField(TRawLink, $A0, 'SepLink', '', nil);
102 <
103 <    tempi := $1C;
104 <    AddField(TUnused, $A4, 'Unused', '', @tempi);
34 >    AddField(TBitSet, 'Flags1', '',
35 >        ['MipMapping enabled', 'unknown', 'U wrapping disabled',
36 >         'V wrapping disabled', 'EnvMapped/EnvMap', 'unused',
37 >         'Play anim back to back', 'Random anim order + frame time']);
38 >
39 >    AddField(TBitSet, 'Flags2', '',
40 >        ['Random anim time offset', 'High byte as EnvMap', 'High byte as alpha',
41 >         'Different alpha formula', 'Data swapping (always set)', 'used at runtime',
42 >         'TXAN looping on/off', '16 bit blue']);
43 >
44 >    AddField(TBitSet, 'Flags3', '',
45 >        ['16 bit alpha', '16 bit red', 'unknown', 'unknown',
46 >         'unknown', 'unknown', 'unknown', 'unknown']);
47 >
48 >    AddField(TBitSet, 'Flags4', '',
49 >        ['unknown', 'unknown', 'unknown', 'unknown',
50 >         'unknown', 'unknown', 'unknown', 'unknown']);
51 >
52 >    AddField(TInt, 'Width', '', [2]);
53 >    AddField(TInt, 'Height', '', [2]);
54 >    AddField(TInt, 'StoreType', '', [4]);
55 >    AddField(TLinkByID, 'TXAN', '', ['*']);
56 >    AddField(TLinkByID, 'TXMP', '', ['TXMP']);
57 >    AddField(TRawLink, 'RawLink', '', []);
58 >    AddField(TRawLink, 'SepLink', '', []);
59 >    AddField(TUnused, 'Unused', '', [$1C]);
60    end;
61 <  templist.Free;
61 >  FDataFields.Update(0, -1);
62    FFileStream.Free;
63    FFileStream := nil;
64   end;

Diff Legend

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