--- oup/current/Tools/MetaEditor.pas 2007/07/14 20:22:05 239 +++ oup/current/Tools/MetaEditor.pas 2007/07/14 23:12:26 240 @@ -137,21 +137,36 @@ begin end; + procedure TForm_Meta.VSTFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex); var data: PNodeData; + ffile: TFile; +//******************************************************************* + fs: TFileStream; +//******************************************************************* begin data := Sender.GetNodeData(Node); + ffile := nil; if data.Field is TFile then + ffile := TFile(data.Field); + if data.Field is TDatLink then + if Assigned(TDatLink(data.Field).TargetFile) then + ffile := TFile(TDatLink(data.Field).TargetFile); + if Assigned(ffile) then begin - TFile(data.Field).InitEditor; - if Assigned(TFile(data.Field).Editor) then + if Assigned(ffile.Editor) then begin - TFile(data.Field).Editor.Align := alClient; - tab_meta.InsertControl(TFile(data.Field).Editor); - TFile(data.Field).Opened := True; + ffile.Editor.Align := alClient; + tab_meta.InsertControl(ffile.Editor); + ffile.Opened := True; end; +//******************************************************************* + fs := TFileStream.Create('C:\Spiele\Oni\GameDataFolder\tests\'+IntToStr(ffile.FileInfo.ID)+'_recreated.hex', fmCreate); + ffile.ReCreateFile(fs); + fs.Free; +//******************************************************************* end; end; @@ -166,7 +181,6 @@ begin data := Sender.GetNodeData(NewNode); if data.Field is TFile then begin - TFile(data.Field).InitEditor; if Assigned(TFile(data.Field).Editor) then Allowed := not TFile(data.Field).Opened else