| 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 |