| 6 |
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
| 7 |
|
Dialogs, StdCtrls, StrUtils, Clipbrd, ExtCtrls, ComCtrls, Menus, Grids, |
| 8 |
|
MPHexEditor, ToolWin, ImgList, Tabs, |
| 9 |
< |
Code_Functions, Data, Code_DataStructures, |
| 10 |
< |
Helper_LevelDB, Code_Exporters, Settings, |
| 11 |
< |
Tool_Preview, Tool_TxmpReplace, Tool_BinEdit, Tool_Extractor, Tool_RawEdit, |
| 12 |
< |
Code_OniDataClass, MDITab, TB2Item, TB2Dock, TB2Toolbar, TB2MDI; |
| 9 |
> |
MDITab, TB2Item, TB2Dock, TB2Toolbar, TB2MDI, |
| 10 |
> |
Code_Functions, Data, Code_DataStructures, Code_OniDataClass, |
| 11 |
> |
Helper_LevelDB, Code_Exporters, Settings, Tool_Template, |
| 12 |
> |
Tool_BinEdit, Tool_Extractor, Tool_Preview, Tool_RawEdit, Tool_TxmpReplace; |
| 13 |
|
|
| 14 |
|
type |
| 15 |
|
TForm_Main = class(TForm) |
| 76 |
|
procedure menu_windows_previousClick(Sender: TObject); |
| 77 |
|
procedure menu_windows_nextClick(Sender: TObject); |
| 78 |
|
procedure menu_windows_tileClick(Sender: TObject); |
| 79 |
< |
function open_child(window_context: String): Boolean; |
| 79 |
> |
function open_child(window_context: String; fileid: Integer): Boolean; |
| 80 |
|
procedure menu_windows_closeallClick(Sender: TObject); |
| 81 |
|
procedure menu_windows_cascadeClick(Sender: TObject); |
| 82 |
|
procedure menu_bineditClick(Sender: TObject); |
| 304 |
|
begin |
| 305 |
|
ext := ExtractFileExt(opend.FileName); |
| 306 |
|
if ext = '.dat' then |
| 307 |
+ |
begin |
| 308 |
|
if not CreateDataConnection(opend.FileName, ODB_Dat) then |
| 309 |
|
ShowMessage('Error while loading the file:' + CrLf + opend.FileName + |
| 310 |
< |
CrLf + 'Perhaps not an Oni-.dat-file?') |
| 311 |
< |
else if ext = '.oldb' then |
| 310 |
> |
CrLf + 'Perhaps not an Oni-.dat-file?'); |
| 311 |
> |
end else if ext = '.oldb' then |
| 312 |
> |
begin |
| 313 |
|
if not CreateDataConnection(opend.FileName, ODB_ADB) then |
| 314 |
|
ShowMessage('Error while loading the file:' + CrLf + opend.FileName + |
| 315 |
< |
CrLf + 'Perhaps not an OniUnPacker-LevelDatabase-file?') |
| 316 |
< |
else |
| 315 |
> |
CrLf + 'Perhaps not an OniUnPacker-LevelDatabase-file?'); |
| 316 |
> |
end else |
| 317 |
|
ShowMessage('Incompatible file'); |
| 318 |
|
AppSettings.DatPath := ExtractFilepath(opend.FileName); |
| 319 |
|
end; |
| 395 |
|
{#################################} |
| 396 |
|
procedure TForm_Main.menu_previewClick(Sender: TObject); |
| 397 |
|
begin |
| 398 |
< |
open_child('preview'); |
| 398 |
> |
open_child('preview', -1); |
| 399 |
|
end; |
| 400 |
|
|
| 401 |
|
|
| 402 |
|
procedure TForm_Main.menu_txmpreplaceClick(Sender: TObject); |
| 403 |
|
begin |
| 404 |
< |
open_child('txmpreplace'); |
| 404 |
> |
open_child('txmpreplace', -1); |
| 405 |
|
end; |
| 406 |
|
|
| 407 |
|
|
| 408 |
|
procedure TForm_Main.menu_bineditClick(Sender: TObject); |
| 409 |
|
begin |
| 410 |
< |
open_child('binedit'); |
| 410 |
> |
open_child('binedit', -1); |
| 411 |
|
end; |
| 412 |
|
|
| 413 |
|
|
| 414 |
|
procedure TForm_Main.menu_raweditClick(Sender: TObject); |
| 415 |
|
begin |
| 416 |
< |
open_child('rawedit'); |
| 416 |
> |
open_child('rawedit', -1); |
| 417 |
|
end; |
| 418 |
|
|
| 419 |
|
|
| 420 |
|
procedure TForm_Main.menu_extractorClick(Sender: TObject); |
| 421 |
|
begin |
| 422 |
< |
open_child('extractor'); |
| 422 |
> |
open_child('extractor', -1); |
| 423 |
|
end; |
| 424 |
|
|
| 425 |
|
|
| 426 |
|
procedure TForm_Main.menu_filecompareClick(Sender: TObject); |
| 427 |
|
begin |
| 428 |
< |
open_child('compare'); |
| 428 |
> |
open_child('compare', -1); |
| 429 |
|
end; |
| 430 |
|
|
| 431 |
|
|
| 516 |
|
|
| 517 |
|
|
| 518 |
|
|
| 519 |
< |
function TForm_Main.open_child(window_context: String): Boolean; |
| 519 |
> |
function TForm_Main.open_child(window_context: String; fileid: Integer): Boolean; |
| 520 |
|
var |
| 521 |
< |
form: TCustomForm; |
| 521 |
> |
toolform: TForm_ToolTemplate; |
| 522 |
|
i: Integer; |
| 523 |
|
tag: Integer; |
| 524 |
|
iconindex: Integer; |
| 535 |
|
|
| 536 |
|
if window_context = 'binedit' then |
| 537 |
|
begin |
| 538 |
< |
form := TForm_BinEdit.Create(Application); |
| 539 |
< |
TForm_BinEdit(form).Recreatelist; |
| 540 |
< |
form.Caption := 'Binary .dat-Editor ' + IntToStr(tag); |
| 539 |
< |
iconindex := 0; |
| 538 |
> |
toolform := TForm_BinEdit.Create(Self); |
| 539 |
> |
toolform.Caption := 'Binary .dat-Editor ' + IntToStr(tag); |
| 540 |
> |
iconindex := 0; |
| 541 |
|
end; |
| 542 |
< |
if window_context = 'rawedit' then |
| 542 |
> |
if window_context = 'extractor' then |
| 543 |
|
begin |
| 544 |
< |
form := TForm_RawEdit.Create(Application); |
| 545 |
< |
TForm_RawEdit(form).Recreatelist; |
| 545 |
< |
form.Caption := 'Binary .raw-Editor ' + IntToStr(tag); |
| 544 |
> |
toolform := TForm_Extractor.Create(Self); |
| 545 |
> |
toolform.Caption := 'Extractor ' + IntToStr(tag); |
| 546 |
|
end; |
| 547 |
|
if window_context = 'preview' then |
| 548 |
|
begin |
| 549 |
< |
form := TForm_Preview.Create(Application); |
| 550 |
< |
TForm_Preview(form).Recreatelist; |
| 551 |
< |
form.Caption := 'Preview-Window ' + IntToStr(tag); |
| 549 |
> |
toolform := TForm_Preview.Create(Self); |
| 550 |
> |
toolform.Caption := 'Preview-Window ' + IntToStr(tag); |
| 551 |
|
end; |
| 552 |
< |
if window_context = 'txmpreplace' then |
| 552 |
> |
if window_context = 'rawedit' then |
| 553 |
|
begin |
| 554 |
< |
form := TForm_TxmpReplace.Create(Application); |
| 555 |
< |
TForm_TxmpReplace(form).Recreatelist; |
| 557 |
< |
form.Caption := 'TXMP Replacer ' + IntToStr(tag); |
| 554 |
> |
toolform := TForm_RawEdit.Create(Self); |
| 555 |
> |
toolform.Caption := 'Binary .raw-Editor ' + IntToStr(tag); |
| 556 |
|
end; |
| 557 |
< |
if window_context = 'extractor' then |
| 557 |
> |
if window_context = 'txmpreplace' then |
| 558 |
|
begin |
| 559 |
< |
form := TForm_Extractor.Create(Application); |
| 560 |
< |
TForm_Extractor(form).Recreatelist; |
| 563 |
< |
form.Caption := 'Extractor ' + IntToStr(tag); |
| 559 |
> |
toolform := TForm_TxmpReplace.Create(Application); |
| 560 |
> |
toolform.Caption := 'TXMP Replacer ' + IntToStr(tag); |
| 561 |
|
end; |
| 562 |
|
|
| 563 |
< |
form.Name := window_context + IntToStr(tag); |
| 564 |
< |
form.Tag := tag; |
| 565 |
< |
|
| 566 |
< |
MDITab.AddTab(TForm(form), iconindex); |
| 563 |
> |
if Assigned(toolform) then |
| 564 |
> |
begin |
| 565 |
> |
toolform.Name := window_context + IntToStr(tag); |
| 566 |
> |
toolform.Tag := tag; |
| 567 |
> |
MDITab.AddTab(TForm(toolform), iconindex); |
| 568 |
> |
if fileid > -1 then |
| 569 |
> |
toolform.SelectFileID(fileid); |
| 570 |
> |
end; |
| 571 |
|
end; |
| 572 |
|
|
| 573 |
|
end. |