diff --git a/tim2view.dproj b/tim2view.dproj index c4e3ce8..0733094 100644 --- a/tim2view.dproj +++ b/tim2view.dproj @@ -6,7 +6,7 @@ tim2view.dpr True Release - Win32 + Win64 3 Application diff --git a/tim2view.res b/tim2view.res index acce4cd..2a0bfa4 100644 Binary files a/tim2view.res and b/tim2view.res differ diff --git a/units/uMain.dfm b/units/uMain.dfm index 425443d..db58765 100644 --- a/units/uMain.dfm +++ b/units/uMain.dfm @@ -529,7 +529,9 @@ object frmMain: TfrmMain Height = 28 Align = alLeft Caption = 'Stop Scan' + DoubleBuffered = False Enabled = False + ParentDoubleBuffered = False TabOrder = 0 OnClick = btnStopScanClick end @@ -683,6 +685,8 @@ object frmMain: TfrmMain Height = 27 Align = alRight Caption = 'CLUT' + DoubleBuffered = False + ParentDoubleBuffered = False TabOrder = 0 OnClick = btnShowClutClick end @@ -697,8 +701,10 @@ object frmMain: TfrmMain AutoCloseUp = True Style = csDropDownList Anchors = [] + DoubleBuffered = False Enabled = False ItemIndex = 0 + ParentDoubleBuffered = False TabOrder = 1 Text = 'Real' OnChange = actDrawSelectedTimExecute @@ -721,8 +727,10 @@ object frmMain: TfrmMain AutoCloseUp = True Style = csDropDownList Anchors = [] + DoubleBuffered = False Enabled = False ItemIndex = 0 + ParentDoubleBuffered = False TabOrder = 2 Text = 'Full transparence' OnChange = cbbTranspModeChange @@ -799,11 +807,11 @@ object frmMain: TfrmMain object N4: TMenuItem Caption = '-' end - object IMInfo1: TMenuItem + object mnTimInfoMain: TMenuItem Action = actTimInfo end end - object mnConfig: TMenuItem + object mnOptions: TMenuItem Caption = '&Options' object mnAssociate: TMenuItem Action = actAssocTims @@ -898,7 +906,7 @@ object frmMain: TfrmMain OnExecute = actOpenLabExecute end object actAbout: TAction - Caption = 'About...' + Caption = '&About...' OnExecute = actAboutExecute end object actStretch: TAction @@ -907,32 +915,26 @@ object frmMain: TfrmMain OnExecute = actStretchExecute end object actTimInfo: TAction - Caption = 'TIM Info' + Caption = '&TIM Info' Enabled = False OnExecute = actTimInfoExecute end object actAssocTims: TAction - Caption = 'Open TIMs with T2V' + Caption = '&Open TIMs with T2V' OnExecute = actAssocTimsExecute end object actExtractList: TAction - Caption = 'Extract TIMs' + Caption = '&Extract TIMs' Enabled = False ShortCut = 112 OnExecute = actExtractListExecute end object actChangeClutIdx: TAction - Caption = 'actChangeClutIdx' - end - object actChangeBackColor: TAction - Caption = '&Change Background Color' end object actReturnFocus: TAction - Caption = 'actReturnFocus' OnExecute = actReturnFocusExecute end object actDrawSelectedTim: TAction - Caption = 'actDrawSelectedTim' OnExecute = actDrawSelectedTimExecute end end diff --git a/units/uMain.pas b/units/uMain.pas index 887ee89..5c9f022 100644 --- a/units/uMain.pas +++ b/units/uMain.pas @@ -32,7 +32,7 @@ type N3: TMenuItem; mnAbout: TMenuItem; pbProgress: TProgressBar; - mnConfig: TMenuItem; + mnOptions: TMenuItem; pnlStatus: TPanel; lblStatus: TLabel; btnStopScan: TButton; @@ -74,7 +74,7 @@ type actStretch: TAction; actTimInfo: TAction; mnTIMInfo: TMenuItem; - IMInfo1: TMenuItem; + mnTimInfoMain: TMenuItem; actAssocTims: TAction; mnAssociate: TMenuItem; N6: TMenuItem; @@ -83,7 +83,6 @@ type pbTim: TImage; btnShowClut: TButton; cbbCLUT: TComboBox; - actChangeBackColor: TAction; actReturnFocus: TAction; actDrawSelectedTim: TAction; procedure btnStopScanClick(Sender: TObject); @@ -682,7 +681,7 @@ procedure TfrmMain.FormCreate(Sender: TObject); var hGridRect: TGridRect; begin - Settings := TSettings.Create; + Settings := TSettings.Create(ExtractFilePath(ParamStr(0))); Settings.LoadFromFile; actStretch.Checked := Settings.StretchMode; diff --git a/units/uSettings.pas b/units/uSettings.pas index 6680caf..0623c6f 100644 --- a/units/uSettings.pas +++ b/units/uSettings.pas @@ -8,6 +8,7 @@ unit uSettings; type TCustomSettings = class private + FFileName: string; procedure LoadFromStream(const Stream: TStream) ; procedure SaveToStream(const Stream: TStream) ; public @@ -21,31 +22,26 @@ unit uSettings; FStretchMode: Boolean; FLastDir: string; public - constructor Create; + constructor Create(const DirPath: string); published property TranspMode: Integer read FTranspMode write FTranspMode; property StretchMode: Boolean read FStretchMode write FStretchMode; property LastDir: string read FLastDir write FLastDir; end; - var - Settings: TSettings; - implementation uses TypInfo, Sysutils; - const FileName = 'settings.t2v'; - { TSettings } procedure TCustomSettings.LoadFromFile() ; var Stream: TStream; begin - if not FileExists(FileName) then Exit; + if not FileExists(FFileName) then Exit; - Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite) ; + Stream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyWrite) ; try LoadFromStream(Stream) ; finally @@ -76,7 +72,7 @@ unit uSettings; var Stream: TStream; begin - Stream := TFileStream.Create(FileName, fmCreate) ; + Stream := TFileStream.Create(FFileName, fmCreate) ; try SaveToStream(Stream) ; finally @@ -84,46 +80,43 @@ unit uSettings; end; end; - procedure TCustomSettings.SaveToStream(const Stream: TStream) ; - var - PropName, PropValue: string; - cnt: Integer; - lPropInfo: PPropInfo; - lPropCount: Integer; - lPropList: PPropList; - lPropType: PPTypeInfo; - Writer: TWriter; +procedure TCustomSettings.SaveToStream(const Stream: TStream) ; +var + PropName, PropValue: string; + cnt: Integer; + lPropInfo: PPropInfo; + lPropCount: Integer; + lPropList: PPropList; + lPropType: PPTypeInfo; + Writer: TWriter; +begin + lPropCount := GetPropList(PTypeInfo(ClassInfo), lPropList) ; + Writer := TWriter.Create(Stream, $FFF) ; + Stream.Size := 0; + Writer.WriteListBegin; + for cnt := 0 to lPropCount - 1 do begin - lPropCount := GetPropList(PTypeInfo(ClassInfo), lPropList) ; - Writer := TWriter.Create(Stream, $FFF) ; - Stream.Size := 0; - Writer.WriteListBegin; - for cnt := 0 to lPropCount - 1 do - begin - lPropInfo := lPropList^[cnt]; - lPropType := lPropInfo^.PropType; - if lPropType^.Kind = tkMethod then Continue; + lPropInfo := lPropList^[cnt]; + lPropType := lPropInfo^.PropType; + if lPropType^.Kind = tkMethod then Continue; - PropName := lPropInfo.Name; - PropValue := GetPropValue(Self, lPropInfo) ; - Writer.WriteString(PropName) ; - Writer.WriteString(PropValue) ; - end; - - Writer.WriteListEnd; - FreeAndNil(Writer) ; + PropName := lPropInfo.Name; + PropValue := GetPropValue(Self, lPropInfo) ; + Writer.WriteString(PropName) ; + Writer.WriteString(PropValue) ; end; - { TSettings } + Writer.WriteListEnd; + FreeAndNil(Writer) ; +end; -constructor TSettings.Create; +{ TSettings } + +constructor TSettings.Create(const DirPath: string); begin + FFileName := IncludeTrailingPathDelimiter(DirPath) + 'settings.t2v'; FTranspMode := 0; FStretchMode := False; end; -initialization - Settings := TSettings.Create; - finalization - FreeAndNil(Settings) ; - end. +end.