--- oup/rewrite/Main.pas 2007/01/22 23:05:45 97 +++ oup/current/Main.pas 2007/03/30 00:51:58 139 @@ -10,8 +10,7 @@ uses Functions, Settings, {Helper_LevelDB, } Template, - Preview; -// BinEdit, Extractor, RawEdit, TxmpReplace; + RawEdit, BinEdit, Extractor, Preview, TxmpReplace; type TForm_Main = class(TForm) @@ -138,6 +137,9 @@ var implementation +uses + LevelDB; + {$R *.dfm} @@ -161,6 +163,7 @@ begin if RepMsg = SM_OK then begin UpdateStatBar; + UpdateConLists; end; end; @@ -169,6 +172,7 @@ var i: Integer; toolform: TForm_ToolTemplate; begin + Result := True; if MDITab.MDIChildCount > 0 then begin for i := 0 to MDITab.MDIChildCount - 1 do @@ -179,7 +183,10 @@ begin if toolform.ConnectionID = ConManager.ConnectionByIndex[index].ConnectionID then begin if not toolform.Closeable then - ShowMessage('Can not close toolwindow: ' + toolform.Caption); + begin + ShowMessage('Can not close toolwindow: ' + toolform.Caption); + Result := False; + end; end; end; end; @@ -234,8 +241,6 @@ end; procedure TForm_Main.FormCreate(Sender: TObject); -var - RepMsg: TStatusMessages; begin Self.Caption := 'Oni Un/Packer ' + version; Self.FormResize(Self); @@ -254,7 +259,6 @@ begin begin AppSettings.DatPath := ExtractFilepath(Application.EXEname); AppSettings.ExtractPath := ExtractFilepath(Application.EXEname) + '\extract'; - AppSettings.FilenumbersAsHex := False; AppSettings.CharSet := DEFAULT_CHARSET; AppSettings.HideUnusedData := False; end; @@ -441,7 +445,6 @@ var position: TTBDockPosition; mode: TTBItemDisplayMode; i: Integer; - isEnabled: Boolean; begin toolbar := TTBToolbar(Sender); if toolbar.Floating then @@ -496,7 +499,7 @@ end; procedure TForm_Main.LoadFile(typedb: Boolean); var - ext: String; + i: Integer; begin opend.InitialDir := AppSettings.DatPath; opend.Filter := 'Compatible level files|*.dat;*.oldb|Oni level (*.dat)|*.dat|OUP level database (*.oldb)|*.oldb|Any (*.*)|*'; @@ -506,15 +509,9 @@ begin opend.FilterIndex := 2; if opend.Execute then begin - ext := ExtractFileExt(opend.FileName); - if ext = '.dat' then - begin - CreateConnection(opend.FileName); - end else if ext = '.oldb' then - begin - CreateConnection(opend.FileName); - end else - ShowMessage('Incompatible file'); + if opend.Files.Count > 0 then + for i := 0 to opend.Files.Count - 1 do + CreateConnection(opend.Files.Strings[i]); AppSettings.DatPath := ExtractFilepath(opend.FileName); end; UpdateStatBar; @@ -553,29 +550,27 @@ end; {####################################} procedure TForm_Main.menu_createdbClick(Sender: TObject); begin - ShowMessage('Not yet usable'); -{ +// ShowMessage('Not yet usable'); + opend.Filter := 'Oni-Dat-Files|*.dat'; saved.Filter := 'OUP-Level-DB (*.oldb)|*.oldb'; saved.DefaultExt := 'oldb'; if opend.Execute then if saved.Execute then Form_LevelDB.CreateDatabase(opend.FileName, saved.FileName); -} end; procedure TForm_Main.menu_createlvlClick(Sender: TObject); begin - ShowMessage('Not yet usable'); -{ +// ShowMessage('Not yet usable'); + opend.Filter := 'OUP-Level-DB (*.oldb)|*.oldb'; saved.Filter := 'Oni-Dat-Files|*.dat'; saved.DefaultExt := 'dat'; if opend.Execute then if saved.Execute then Form_LevelDB.CreateLevel(opend.FileName, saved.FileName); -} end; @@ -680,7 +675,6 @@ end; procedure TForm_Main.menu_conns_itemClick(Sender: TObject); var name: String; - i: Integer; index: Integer; RepMsg: TStatusMessages; begin @@ -692,6 +686,8 @@ begin begin CheckConnectionCloseable(index); ConManager.CloseConnectionByIndex(index, RepMsg); + ShowOpenMsg(RepMsg); + UpdateConLists; end; UpdateStatBar; end; @@ -748,15 +744,17 @@ begin iconindex := -1; caption_end := IntToStr(tag) + ' '; + toolform := nil; + if window_context = 'binedit' then begin -// toolform := TForm_BinEdit.Create(Self); + toolform := TForm_BinEdit.Create(Self); toolform.Caption := 'Binary .dat-Editor ' + caption_end; iconindex := 5; end; if window_context = 'extractor' then begin -// toolform := TForm_Extractor.Create(Self); + toolform := TForm_Extractor.Create(Self); toolform.Caption := 'Extractor ' + caption_end; iconindex := 8; end; @@ -768,13 +766,13 @@ begin end; if window_context = 'rawedit' then begin -// toolform := TForm_RawEdit.Create(Self); + toolform := TForm_RawEdit.Create(Self); toolform.Caption := 'Binary .raw-Editor ' + caption_end; iconindex := 6; end; if window_context = 'txmpreplace' then begin -// toolform := TForm_TxmpReplace.Create(Application); + toolform := TForm_TxmpReplace.Create(Self); toolform.Caption := 'TXMP Replacer ' + caption_end; iconindex := 7; end;