--- oup/current/FileClasses/AKEV.pas 2007/06/29 12:38:24 233 +++ oup/current/FileClasses/AKEV.pas 2007/11/26 11:02:28 248 @@ -6,7 +6,7 @@ uses _FileTypes; type - TFile_AKEV = class(TFile) + TFile_AKEV = class(TResource) public procedure InitDataFields; override; end; @@ -17,16 +17,49 @@ uses ConnectionManager, Math, Classes, TypeDefs, _DataTypes, Forms, StdCtrls; procedure TFile_AKEV.InitDataFields; -var - tempi: Integer; begin inherited; - FDataFields := TBlock.Create(Self, nil, 0, 'Base', '', nil); + FDataFields := TBlock.Create(Self, nil, 'Base', '', []); with FDataFields do begin - AddField(TFileID, $00, 'FileID', '', nil); - AddField(TLevelID, $04, 'LevelID', '', nil); + AddField(TResourceID, 'FileID', '', []); + AddField(TLevelID, 'LevelID', '', []); + + AddField(TLinkByID, 'PNTA-link', 'Link to the 3D Point Array', ['PNTA']); + AddField(TLinkByID, 'PLEA-link', 'Link to the Plane Equation Array', ['PLEA']); + AddField(TLinkByID, 'TXCA-link', 'Link to the Texture Coordinate Array', ['TXCA']); + AddField(TLinkByID, 'AGQG-link', 'Link to the Gunk Quad General Array', ['AGQG']); + + AddField(TLinkByID, 'AGQR-link', 'Link to the Gunk Quad Render Array', ['AGQR']); + AddField(TLinkByID, 'AGQC-link', 'Link to the Gunk Quad Collision Array', ['AGQC']); + AddField(TLinkByID, 'AGDB-link', 'Link to the Gunk Quad Debug Array', ['AGDB']); + AddField(TLinkByID, 'TXMA-link', 'Link to the Texture Map Array', ['TXMA']); + + AddField(TLinkByID, 'AKVA-link', 'Link to the BNV Node Array', ['AKVA']); + AddField(TLinkByID, 'AKBA-link', 'Link to the Side Array', ['AKBA']); + AddField(TLinkByID, 'IDXA-link', 'Link to the Index Array', ['IDXA']); + AddField(TLinkByID, 'IDXA-link', 'Link to the Index Array', ['IDXA']); + + AddField(TLinkByID, 'AKBP-link', 'Link to the BSP Node Array', ['AKBP']); + AddField(TLinkByID, 'ABNA-link', 'Link to the BSP Tree Node Array', ['ABNA']); + AddField(TLinkByID, 'AKOT-link', 'Link to the Oct Tree', ['AKOT']); + AddField(TLinkByID, 'AKAA-link', 'Link to the Adjacency Array', ['AKAA']); + + AddField(TLinkByID, 'AKDA-link', 'Link to the Door Frame Array', ['AKDA']); + + + AddField(TFloat, 'AABB X-', 'Minimal x-coordinate of the level model', []); + AddField(TFloat, 'AABB Y-', 'Minimal y-coordinate of the level model', []); + AddField(TFloat, 'AABB Z-', 'Minimal z-coordinate of the level model', []); + + AddField(TFloat, 'AABB X+', 'Maximal x-coordinate of the level model', []); + AddField(TFloat, 'AABB Y+', 'Maximal y-coordinate of the level model', []); + AddField(TFloat, 'AABB Z+', 'Maximal z-coordinate of the level model', []); + + AddField(TUnused, 'Not used', '', [1024]); + AddField(TFloat, 'Unknown', 'Unknown; maybe the tolerance', []); end; + FDataFields.Update(0, -1); FFileStream.Free; FFileStream := nil; end;