diff --git a/output/tim2view_linux_i386 b/output/tim2view_linux_i386
index 7f3db65..0003fe9 100644
Binary files a/output/tim2view_linux_i386 and b/output/tim2view_linux_i386 differ
diff --git a/output/tim2view_linux_x86_64 b/output/tim2view_linux_x86_64
new file mode 100644
index 0000000..bc4fee4
Binary files /dev/null and b/output/tim2view_linux_x86_64 differ
diff --git a/output/tim2view_win32.exe b/output/tim2view_win32_i386.exe
similarity index 72%
rename from output/tim2view_win32.exe
rename to output/tim2view_win32_i386.exe
index 8b4e3c9..d0b00f4 100644
Binary files a/output/tim2view_win32.exe and b/output/tim2view_win32_i386.exe differ
diff --git a/output/tim2view_win64.exe b/output/tim2view_win64_x86_64.exe
similarity index 71%
rename from output/tim2view_win64.exe
rename to output/tim2view_win64_x86_64.exe
index ce6726f..c112e2c 100644
Binary files a/output/tim2view_win64.exe and b/output/tim2view_win64_x86_64.exe differ
diff --git a/tim2view.lpi b/tim2view.lpi
index 95f9393..e153d53 100644
--- a/tim2view.lpi
+++ b/tim2view.lpi
@@ -27,7 +27,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -77,7 +77,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
@@ -157,7 +157,7 @@
-
+
@@ -197,7 +197,7 @@
-
+
@@ -316,7 +316,7 @@
-
+
diff --git a/udrawtim.pas b/udrawtim.pas
index 6c70361..fcc8c30 100644
--- a/udrawtim.pas
+++ b/udrawtim.pas
@@ -11,7 +11,7 @@ type
PDrawGrid = ^TDrawGrid;
-procedure Tim2Png(TIM: PTIM; CLUT_NUM: Integer; Image: PDrawSurf; TranspMode: Byte; ForExport: Boolean);
+procedure Tim2Png(TIM: PTIM; CLUT_NUM: Integer; Image: PDrawSurf; TranspMode: Byte);
procedure Png2Tim(Image: PDrawSurf; Dest: PTIM);
procedure DrawClutCell(TIM: PTIM; CLUT_NUM: Integer; Grid: PDrawGrid; X, Y: Integer);
procedure DrawClut(TIM: PTIM; CLUT_NUM: Integer; Grid: PDrawGrid);
@@ -69,7 +69,7 @@ begin
end
end;
-procedure PrepareClut(TIM: PTIM; CLUT_NUM: Integer; Pal: PFPPalette; TranspMode: Integer; ForExport: Boolean);
+procedure PrepareClut(TIM: PTIM; CLUT_NUM: Integer; Pal: PFPPalette; TranspMode: Integer);
var
I, COUNT: Integer;
CC: TCLUT_COLOR;
@@ -105,12 +105,9 @@ begin
A := 0;
end;
- if ForExport then
- begin
- R := R + ((I - 1) and %00000011);
- G := G + ((I - 1) and %00011100) shr 2;
- B := B + ((I - 1) and %11100000) shr 5;
- end;
+ R := R + ((I - 1) and %00000011);
+ G := G + ((I - 1) and %00011100) shr 2;
+ B := B + ((I - 1) and %11100000) shr 5;
FC := BGRAToFPColor(BGRA(R, G, B, A));
AlphaForMode(@FC, TranspMode);
@@ -182,7 +179,7 @@ begin
ClearCanvas(@Grid^.Canvas, Grid^.CellRect(X - 1, Y - 1));
end;
-procedure Tim2Png(TIM: PTIM; CLUT_NUM: Integer; Image: PDrawSurf; TranspMode: Byte; ForExport: Boolean);
+procedure Tim2Png(TIM: PTIM; CLUT_NUM: Integer; Image: PDrawSurf; TranspMode: Byte);
var
RW, RH, CW: Word;
INDEXES: PIMAGE_INDEXES;
@@ -202,7 +199,7 @@ begin
PAL := @(Image^.Palette);
- PrepareClut(TIM, CLUT_NUM, PAL, TranspMode, ForExport);
+ PrepareClut(TIM, CLUT_NUM, PAL, TranspMode);
INDEXES := PrepareIMAGE(TIM);
COLORS := GetTimColorsCount(TIM);
diff --git a/umain.lfm b/umain.lfm
index 7092ba0..edcbbf7 100644
--- a/umain.lfm
+++ b/umain.lfm
@@ -578,8 +578,8 @@ object frmMain: TfrmMain
TabOrder = 0
object lvList: TListView
Left = 0
- Height = 384
- Top = 28
+ Height = 412
+ Top = 0
Width = 253
Align = alClient
Columns = <
@@ -624,35 +624,6 @@ object frmMain: TfrmMain
OnData = lvListData
OnSelectItem = lvListSelectItem
end
- object pnlExtractAll: TPanel
- Left = 0
- Height = 28
- Top = 0
- Width = 253
- Align = alTop
- BevelOuter = bvLowered
- ClientHeight = 28
- ClientWidth = 253
- TabOrder = 1
- object btnExtractAllTims: TButton
- Left = 152
- Height = 26
- Top = 1
- Width = 100
- Action = actExtractPngs
- Align = alRight
- TabOrder = 0
- end
- object btnExtractPNGs: TButton
- Left = 1
- Height = 26
- Top = 1
- Width = 100
- Action = actExtractFiles
- Align = alLeft
- TabOrder = 1
- end
- end
object tblTimInfo: TStringGrid
Left = 0
Height = 185
@@ -667,7 +638,7 @@ object frmMain: TfrmMain
Flat = True
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goSmoothScroll]
RowCount = 9
- TabOrder = 2
+ TabOrder = 1
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
@@ -904,10 +875,10 @@ object frmMain: TfrmMain
object mnImage: TMenuItem
Caption = '&Image'
object mnSaveTIM: TMenuItem
- Action = actExtractFile
+ Action = actExtractTim
end
object mnReplaceIn: TMenuItem
- Action = actReplaceFile
+ Action = actReplaceTim
end
object MenuItem1: TMenuItem
Caption = '-'
@@ -918,6 +889,15 @@ object frmMain: TfrmMain
object mnImportPng: TMenuItem
Action = actPngImport
end
+ object N21: TMenuItem
+ Caption = '-'
+ end
+ object mnExtractAllTims3: TMenuItem
+ Action = actExtractTims
+ end
+ object mnExtractAllPngs3: TMenuItem
+ Action = actExtractPngs
+ end
end
object mnOptions: TMenuItem
Caption = '&Options'
@@ -1029,9 +1009,9 @@ object frmMain: TfrmMain
OnExecute = actExitExecute
ShortCut = 121
end
- object actExtractFile: TAction
- Caption = '&Extract File...'
- OnExecute = actExtractFileExecute
+ object actExtractTim: TAction
+ Caption = '&Extract TIM...'
+ OnExecute = actExtractTimExecute
ShortCut = 113
end
object actPngExport: TAction
@@ -1044,9 +1024,9 @@ object frmMain: TfrmMain
OnExecute = actPngImportExecute
ShortCut = 116
end
- object actReplaceFile: TAction
- Caption = '&Replace File...'
- OnExecute = actReplaceFileExecute
+ object actReplaceTim: TAction
+ Caption = '&Replace TIM...'
+ OnExecute = actReplaceTimExecute
ShortCut = 114
end
object actOpenRepo: TAction
@@ -1071,13 +1051,13 @@ object frmMain: TfrmMain
Caption = '&SendTo Shortcut for Tim2View'
OnExecute = actAddToSendtoExecute
end
- object actExtractFiles: TAction
- Caption = 'Extract all &Files'
- OnExecute = actExtractFilesExecute
+ object actExtractTims: TAction
+ Caption = 'Extract all &TIMs (This File)'
+ OnExecute = actExtractTimsExecute
ShortCut = 8305
end
object actExtractPngs: TAction
- Caption = '&Extract all PNGs'
+ Caption = '&Extract all PNGs (This File)'
OnExecute = actExtractPngsExecute
ShortCut = 8307
end
@@ -1108,20 +1088,26 @@ object frmMain: TfrmMain
object pmList: TPopupMenu
left = 432
top = 112
- object ExtractTIM1: TMenuItem
- Action = actExtractFile
+ object mnSaveTIM1: TMenuItem
+ Action = actExtractTim
end
- object ReplaceTIM1: TMenuItem
- Action = actReplaceFile
- end
- object SaveasPNG1: TMenuItem
- Action = actPngExport
+ object mnReplaceIn1: TMenuItem
+ Action = actReplaceTim
end
object N7: TMenuItem
Caption = '-'
end
+ object mnSaveToPNG1: TMenuItem
+ Action = actPngExport
+ end
+ object mnImportPng1: TMenuItem
+ Action = actPngImport
+ end
+ object N20: TMenuItem
+ Caption = '-'
+ end
object mnExtractAllTims2: TMenuItem
- Action = actExtractFiles
+ Action = actExtractTims
end
object mnExtractAllPngs2: TMenuItem
Action = actExtractPngs
@@ -1134,7 +1120,7 @@ object frmMain: TfrmMain
Action = actPngExport
end
object mnSaveAsTim: TMenuItem
- Action = actExtractFile
+ Action = actExtractTim
end
object N5: TMenuItem
Caption = '-'
diff --git a/umain.pas b/umain.pas
index 4625cb4..cc8fa12 100644
--- a/umain.pas
+++ b/umain.pas
@@ -24,8 +24,8 @@ type
actCloseFiles: TAction;
actExit: TAction;
actExtractPngs: TAction;
- actExtractFile: TAction;
- actExtractFiles: TAction;
+ actExtractTim: TAction;
+ actExtractTims: TAction;
actChangeFile: TAction;
actChangeBackColor: TAction;
actShowFileInfo: TAction;
@@ -33,15 +33,13 @@ type
actStopScan: TAction;
actOpenLab: TAction;
actOpenRepo: TAction;
- actReplaceFile: TAction;
+ actReplaceTim: TAction;
actReturnFocus: TAction;
actScanDir: TAction;
actScanFile: TAction;
actList: TActionList;
actStretch: TAction;
actPngExport: TAction;
- btnExtractAllTims: TButton;
- btnExtractPNGs: TButton;
btnShowClut: TButton;
btnStopScan: TButton;
cbbBitMode: TComboBox;
@@ -52,13 +50,18 @@ type
dlgOpenFile: TOpenDialog;
dlgSavePNG: TSavePictureDialog;
dlgSaveFile: TSaveDialog;
- ExtractTIM1: TMenuItem;
+ mnExtractAllPngs3: TMenuItem;
+ mnExtractAllTims3: TMenuItem;
+ N21: TMenuItem;
+ N20: TMenuItem;
+ mnSaveTIM1: TMenuItem;
grdClut: TDrawGrid;
imgTim: TImage;
lblClutHint: TLabel;
lblStatus: TLabel;
lvList: TListView;
MenuItem1: TMenuItem;
+ mnImportPng1: TMenuItem;
mnShowTimInfo: TMenuItem;
mnImportPng: TMenuItem;
mnChangeBackColor2: TMenuItem;
@@ -94,7 +97,6 @@ type
dlgOpenPNG: TOpenPictureDialog;
pnlClut: TPanel;
pbProgress: TProgressBar;
- pnlExtractAll: TPanel;
pnlImage: TPanel;
pnlImageOptions: TPanel;
pnlList: TPanel;
@@ -102,8 +104,8 @@ type
pnlMain: TPanel;
pmImage: TPopupMenu;
pmList: TPopupMenu;
- ReplaceTIM1: TMenuItem;
- SaveasPNG1: TMenuItem;
+ mnReplaceIn1: TMenuItem;
+ mnSaveToPNG1: TMenuItem;
dlgSelectDir: TSelectDirectoryDialog;
splMain: TSplitter;
tblTimInfo: TStringGrid;
@@ -116,12 +118,12 @@ type
procedure actCloseFilesExecute(Sender: TObject);
procedure actExitExecute(Sender: TObject);
procedure actExtractPngsExecute(Sender: TObject);
- procedure actExtractFileExecute(Sender: TObject);
- procedure actExtractFilesExecute(Sender: TObject);
+ procedure actExtractTimExecute(Sender: TObject);
+ procedure actExtractTimsExecute(Sender: TObject);
procedure actOpenLabExecute(Sender: TObject);
procedure actOpenRepoExecute(Sender: TObject);
procedure actPngImportExecute(Sender: TObject);
- procedure actReplaceFileExecute(Sender: TObject);
+ procedure actReplaceTimExecute(Sender: TObject);
procedure actReturnFocusExecute(Sender: TObject);
procedure actScanDirExecute(Sender: TObject);
procedure actScanFileExecute(Sender: TObject);
@@ -255,7 +257,7 @@ begin
New(Image);
Image^ := nil;
- Tim2Png(TIM, cbbCLUT.ItemIndex, Image, cbbTranspMode.ItemIndex, True);
+ Tim2Png(TIM, cbbCLUT.ItemIndex, Image, cbbTranspMode.ItemIndex);
SaveImage(dlgSavePNG.FileName, Image, TIMisIndexed(TIM));
FreeTIM(TIM);
Image^.Free;
@@ -402,7 +404,7 @@ begin
CreateDirUTF8(Path);
TIM := LoadTimFromFile(FName, OFFSET, IsImage, SIZE);
- Tim2Png(TIM, cbbCLUT.ItemIndex, Image, cbbTranspMode.ItemIndex, False);
+ Tim2Png(TIM, cbbCLUT.ItemIndex, Image, cbbTranspMode.ItemIndex);
Path := Path + FormatPngName(FName, I - 1, BIT_MODE, 0);
SaveImage(Path, Image, False);
@@ -420,7 +422,7 @@ begin
pbProgress.Position := 0;
end;
-procedure TfrmMain.actExtractFileExecute(Sender: TObject);
+procedure TfrmMain.actExtractTimExecute(Sender: TObject);
var
TIM: PTIM;
begin
@@ -435,7 +437,7 @@ begin
FreeTIM(TIM);
end;
-procedure TfrmMain.actExtractFilesExecute(Sender: TObject);
+procedure TfrmMain.actExtractTimsExecute(Sender: TObject);
var
I, OFFSET, BIT_MODE, SIZE, MAGIC: Integer;
FName, Path: string;
@@ -507,7 +509,7 @@ begin
Dispose(Image);
end;
-procedure TfrmMain.actReplaceFileExecute(Sender: TObject);
+procedure TfrmMain.actReplaceTimExecute(Sender: TObject);
var
ScanRes: TScanResult;
begin
@@ -845,13 +847,13 @@ begin
actScanFile.Enabled := ScanThreads.Count = 0;
actScanDir.Enabled := ScanThreads.Count = 0;
- actReplaceFile.Enabled := (lvList.Selected <> nil) and (lvList.Selected.Index <> -1);
+ actReplaceTim.Enabled := (lvList.Selected <> nil) and (lvList.Selected.Index <> -1);
- actPngExport.Enabled := (Surf^ <> nil) and actReplaceFile.Enabled;
- actPngImport.Enabled := actReplaceFile.Enabled;
- actExtractFile.Enabled := actReplaceFile.Enabled;
+ actPngExport.Enabled := (Surf^ <> nil) and actReplaceTim.Enabled;
+ actPngImport.Enabled := actReplaceTim.Enabled;
+ actExtractTim.Enabled := actReplaceTim.Enabled;
- pnlImageOptions.Enabled := actReplaceFile.Enabled;
+ pnlImageOptions.Enabled := actReplaceTim.Enabled;
end;
procedure TfrmMain.ScanFinished(Sender: TObject);
@@ -941,7 +943,7 @@ begin
TIM := SelectedTimInMode;
if TIM = nil then Exit;
- Tim2Png(TIM, cbbCLUT.ItemIndex, Surf, cbbTranspMode.ItemIndex, False);
+ Tim2Png(TIM, cbbCLUT.ItemIndex, Surf, cbbTranspMode.ItemIndex);
imgTim.Picture.Bitmap.Assign(Surf^.Bitmap);
FreeTIM(TIM);