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

Diff Legend

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