unit SUBT;

interface

uses
  _FileTypes;

type
  TFile_SUBT = class(TFile)
    public
      procedure InitDataFields; override;
      procedure InitEditor; override;
  end;

implementation

uses
  ConnectionManager, Math, Classes, TypeDefs, _DataTypes, Forms, StdCtrls;

procedure TFile_SUBT.InitDataFields;
var
  tempi: Integer;
begin
  inherited;
  FDataFields := TBlock.Create(Self, nil, 0, 'Base', '', nil);
  with FDataFields do
  begin
    AddField(TFileID, $00, 'FileID', '', nil);

    AddField(TLevelID, $04, 'LevelID', '', nil);

    tempi := 16;
    AddField(TUnused, $08, 'Unused data', '', @tempi);

    AddField(TRawLink, $18, 'Raw Address', '', nil);

    tempi := 4;
    with AddField(TArray, $1C, 'SUBT offsets array', '', @tempi) do
    begin
      tempi := 4;
      AddField(TInt, $00, 'Offset', '', @tempi);
    end;
  end;
end;


procedure TFile_SUBT.InitEditor;
var
  lab: TLabel;
begin
  FEditor := TFrame.Create(nil);
  lab := TLabel.Create(FEditor);
  lab.Left := 0;
  lab.Top := 0;
  lab.Caption := 'Hello World';
  FEditor.InsertControl(lab);
end;

end.

