| 3 | 
   | 
 interface | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 4 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 5 | 
   | 
 uses | 
 
 
 
 
 
 
 
 
 
 
 
 | 6 | 
 < | 
   TypeDefs, _FileTypes, _DataTypes; | 
 
 
 
 
 
 
 
 
 
 | 6 | 
 > | 
   _FileTypes; | 
 
 
 
 
 
 
 
 
 
 
 
 | 7 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 8 | 
   | 
 type | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 9 | 
   | 
   TFile_TXMP = class(TFile) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 | 
   | 
 implementation | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 18 | 
   | 
 uses | 
 
 
 
 
 
 
 
 
 
 
 
 | 19 | 
 < | 
   ConnectionManager, Math, Classes; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 121 | 
   | 
 procedure TFile_TXMP.InitRawList; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 122 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 123 | 
   | 
   link_pc:   Integer; |