| 137 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 138 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 139 | 
   | 
  | 
 
 
 
 
 
 
 
 
 | 140 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 141 | 
   | 
 procedure TForm_Meta.VSTFocusChanged(Sender: TBaseVirtualTree; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 142 | 
   | 
   Node: PVirtualNode; Column: TColumnIndex); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 143 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 144 | 
   | 
   data: PNodeData; | 
 
 
 
 
 
 
 
 
 | 145 | 
 + | 
   ffile: TFile; | 
 
 
 
 
 
 
 
 
 | 146 | 
 + | 
 //******************************************************************* | 
 
 
 
 
 
 
 
 
 | 147 | 
 + | 
   fs: TFileStream; | 
 
 
 
 
 
 
 
 
 | 148 | 
 + | 
 //******************************************************************* | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 149 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 150 | 
   | 
   data := Sender.GetNodeData(Node); | 
 
 
 
 
 
 
 
 
 | 151 | 
 + | 
   ffile := nil; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 152 | 
   | 
   if data.Field is TFile then | 
 
 
 
 
 
 
 
 
 | 153 | 
 + | 
     ffile := TFile(data.Field); | 
 
 
 
 
 
 
 
 
 | 154 | 
 + | 
   if data.Field is TDatLink then | 
 
 
 
 
 
 
 
 
 | 155 | 
 + | 
     if Assigned(TDatLink(data.Field).TargetFile) then | 
 
 
 
 
 
 
 
 
 | 156 | 
 + | 
       ffile := TFile(TDatLink(data.Field).TargetFile); | 
 
 
 
 
 
 
 
 
 | 157 | 
 + | 
   if Assigned(ffile) then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 158 | 
   | 
   begin | 
 
 
 
 
 
 
 
 
 
 
 
 | 159 | 
 < | 
     TFile(data.Field).InitEditor; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 149 | 
 < | 
     if Assigned(TFile(data.Field).Editor) then | 
 
 
 
 
 
 
 
 
 
 | 159 | 
 > | 
     if Assigned(ffile.Editor) then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 160 | 
   | 
     begin | 
 
 
 
 
 
 
 
 
 
 
 
 | 161 | 
 < | 
       TFile(data.Field).Editor.Align := alClient; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 162 | 
 < | 
       tab_meta.InsertControl(TFile(data.Field).Editor); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 163 | 
 < | 
       TFile(data.Field).Opened := True; | 
 
 
 
 
 
 
 
 
 
 | 161 | 
 > | 
       ffile.Editor.Align := alClient; | 
 
 
 
 
 
 | 162 | 
 > | 
       tab_meta.InsertControl(ffile.Editor); | 
 
 
 
 
 
 | 163 | 
 > | 
       ffile.Opened := True; | 
 
 
 
 
 
 
 
 
 
 
 
 | 164 | 
   | 
     end; | 
 
 
 
 
 
 
 
 
 | 165 | 
 + | 
 //******************************************************************* | 
 
 
 
 
 
 
 
 
 | 166 | 
 + | 
     fs := TFileStream.Create('C:\Spiele\Oni\GameDataFolder\tests\'+IntToStr(ffile.FileInfo.ID)+'_recreated.hex', fmCreate); | 
 
 
 
 
 
 
 
 
 | 167 | 
 + | 
     ffile.ReCreateFile(fs); | 
 
 
 
 
 
 
 
 
 | 168 | 
 + | 
     fs.Free; | 
 
 
 
 
 
 
 
 
 | 169 | 
 + | 
 //******************************************************************* | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 170 | 
   | 
   end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 171 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 172 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 181 | 
   | 
   data := Sender.GetNodeData(NewNode); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 182 | 
   | 
   if data.Field is TFile then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 183 | 
   | 
   begin | 
 
 
 
 
 
 
 
 
 
 | 169 | 
 – | 
     TFile(data.Field).InitEditor; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 184 | 
   | 
     if Assigned(TFile(data.Field).Editor) then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 185 | 
   | 
       Allowed := not TFile(data.Field).Opened | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 186 | 
   | 
     else |