From e784adbf59a182d6049d259d97ba92b06333b94d Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Thu, 5 Dec 2019 20:16:00 +0300 Subject: [PATCH] add build info --- src/editor/f_main.pas | 4 ++++ src/editor/g_basic.pas | 35 +++++++++++++++++++++++++++++++++++ src/editor/g_language.pas | 9 +++++---- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/editor/f_main.pas b/src/editor/f_main.pas index 5a246b1..00802bb 100644 --- a/src/editor/f_main.pas +++ b/src/editor/f_main.pas @@ -2651,6 +2651,10 @@ begin EditorDir := ExtractFilePath(Application.ExeName); e_InitLog(EditorDir+'Editor.log', WM_NEWFILE); + e_WriteLog('Doom 2D: Forever Editor version ' + EDITOR_VERSION, MSG_NOTIFY); + e_WriteLog('Build date: ' + EDITOR_BUILDDATE + ' ' + EDITOR_BUILDTIME, MSG_NOTIFY); + e_WriteLog('Build hash: ' + g_GetBuildHash(), MSG_NOTIFY); + e_WriteLog('Build by: ' + g_GetBuilderName(), MSG_NOTIFY); slInvalidTextures := TStringList.Create; diff --git a/src/editor/g_basic.pas b/src/editor/g_basic.pas index e7d3a71..17254de 100644 --- a/src/editor/g_basic.pas +++ b/src/editor/g_basic.pas @@ -7,6 +7,11 @@ interface uses LCLIntf, LCLType, LMessages; +const + EDITOR_VERSION = '0.667'; + EDITOR_BUILDDATE = {$I %DATE%}; + EDITOR_BUILDTIME = {$I %TIME%}; + Type String16 = String[16]; Char16 = packed array[0..15] of Char; @@ -19,6 +24,9 @@ Type TDirection = (D_LEFT, D_RIGHT); +function g_GetBuilderName (): AnsiString; +function g_GetBuildHash (full: Boolean = True): AnsiString; + function g_Collide(X1, Y1: Integer; Width1, Height1: Word; X2, Y2: Integer; Width2, Height2: Word): Boolean; function g_CollidePoint(X, Y, X2, Y2: Integer; Width, Height: Word): Boolean; @@ -53,6 +61,33 @@ implementation uses Math, g_map, MAPDEF, SysUtils; +{$PUSH} +{$WARN 2054 OFF} // unknwon env var +{$WARN 6018 OFF} // unreachable code +function g_GetBuilderName (): AnsiString; +begin + if {$I %D2DF_BUILD_USER%} <> '' then + result := {$I %D2DF_BUILD_USER%} // custom + else if {$I %USER%} <> '' then + result := {$I %USER%} // unix username + else if {$I %USERNAME%} <> '' then + result := {$I %USERNAME%} // windows username + else + result := 'unknown' +end; + +function g_GetBuildHash (full: Boolean = True): AnsiString; +begin + if {$I %D2DF_BUILD_HASH%} <> '' then + if full then + result := {$I %D2DF_BUILD_HASH%} + else + result := Copy({$I %D2DF_BUILD_HASH%}, 1, 7) + else + result := 'custom build' +end; +{$POP} + procedure g_ChangeDir(var dir: TDirection); begin if dir = D_LEFT then diff --git a/src/editor/g_language.pas b/src/editor/g_language.pas index e2c0a34..af6a857 100644 --- a/src/editor/g_language.pas +++ b/src/editor/g_language.pas @@ -2056,15 +2056,16 @@ begin end; procedure SetupCaptions(); -var - i: Integer; - + var i: Integer; s: AnsiString; begin // Главная форма: with MainForm do begin // Заголовок: - FormCaption := _lc[I_EDITOR_TITLE]; + s := g_GetBuildHash(false); + if s = 'custom build' then + s := s + ' by ' + g_GetBuilderName() + ' ' + EDITOR_BUILDDATE + ' ' + EDITOR_BUILDTIME; + FormCaption := _lc[I_EDITOR_TITLE] + ' (' + s + ')'; i := Pos('-', Caption); if i > 0 then begin -- 2.29.2