diff --git a/src/game/g_basic.pas b/src/game/g_basic.pas
index 7024514be8898ce6796ea8dd5b9213f69e8c6893..c7a834beb158b26c35bb5741491706f7fb87fe44 100644 (file)
--- a/src/game/g_basic.pas
+++ b/src/game/g_basic.pas
function g_GetBuilderName (): AnsiString;
function g_GetBuildHash (full: Boolean = True): AnsiString;
function g_GetBuilderName (): AnsiString;
function g_GetBuildHash (full: Boolean = True): AnsiString;
+function g_GetBuildArch (): AnsiString;
function g_CreateUID(UIDType: Byte): Word;
function g_GetUIDType(UID: Word): Byte;
function g_CreateUID(UIDType: Byte): Word;
function g_GetUIDType(UID: Word): Byte;
function g_GetBuildHash (full: Boolean = True): AnsiString;
begin
function g_GetBuildHash (full: Boolean = True): AnsiString;
begin
- if {$I %D2DF_BUILD_USER%} <> '' then
+ if {$I %D2DF_BUILD_HASH%} <> '' then
if full then
result := {$I %D2DF_BUILD_HASH%}
else
if full then
result := {$I %D2DF_BUILD_HASH%}
else
end;
{$POP}
end;
{$POP}
+function g_GetBuildArch (): AnsiString;
+ var cpu, mode, fpu: AnsiString;
+begin
+ {$IF DEFINED(CPUX86_64) OR DEFINED(CPUAMD64) OR DEFINED(CPUX64)}
+ cpu := 'x86_64';
+ {$ELSEIF DEFINED(CPUI386) OR DEFINED(CPU386)}
+ cpu := 'x86';
+ {$ELSEIF DEFINED(CPUI8086)}
+ cpu := 'i8086';
+ {$ELSEIF DEFINED(CPUI64)}
+ cpu := 'Itanium64';
+ {$ELSEIF DEFINED(CPUARM)}
+ cpu := 'ARM';
+ {$ELSEIF DEFINED(CPUAVR)}
+ cpu := 'AVR';
+ {$ELSEIF DEFINED(CPUPOWERPC32)}
+ cpu := 'PowerPC_32';
+ {$ELSEIF DEFINED(CPUPOWERPC64)}
+ cpu := 'PowerPC_64';
+ {$ELSEIF DEFINED(CPUALPHA)}}
+ cpu := 'Alpha';
+ {$ELSEIF DEFINED(CPUSPARC32)}
+ cpu := 'Sparc32';
+ {$ELSEIF DEFINED(CPUM68020)}
+ cpu := 'M68020';
+ {$ELSEIF DEFINED(CPU68K) OR DEFINED(CPUM68K)}
+ cpu := 'm68k';
+ {$ELSEIF DEFINED(CPUSPARC)}
+ cpu := 'unknown-sparc';
+ {$ELSEIF DEFINED(CPUPOWERPC)}
+ cpu := 'unknown-ppc';
+ {$ELSEIF DEFINED(CPU86) OR DEFINED(CPU87)}
+ cpu := 'unknown-intel';
+ {$ELSE}
+ cpu := 'unknown-arch';
+ {$ENDIF}
+
+ {$IF DEFINED(CPU64)}
+ mode := '64-bit';
+ {$ELSEIF DEFINED(CPU32)}
+ mode := '32-bit';
+ {$ELSEIF DEFINED(CPU16)}
+ mode := '16-bit';
+ {$ELSE}
+ mode := 'unknown-mode';
+ {$ENDIF}
+
+ {$IF DEFINED(FPUSOFT)}
+ fpu := 'soft';
+ {$ELSEIF DEFINED(FPUSSE3)}
+ fpu := 'sse3';
+ {$ELSEIF DEFINED(FPUSSE2)}
+ fpu := 'sse2';
+ {$ELSEIF DEFINED(FPUSSE)}
+ fpu := 'sse';
+ {$ELSEIF DEFINED(FPUSSE64)}
+ fpu := 'sse64';
+ {$ELSEIF DEFINED(FPULIBGCC)}
+ fpu := 'libgcc';
+ {$ELSEIF DEFINED(FPU68881)}
+ fpu := '68881';
+ {$ELSEIF DEFINED(FPUVFP)}
+ fpu := 'vfp';
+ {$ELSEIF DEFINED(FPUFPA11)}
+ fpu := 'fpa11';
+ {$ELSEIF DEFINED(FPUFPA10)}
+ fpu := 'fpa10';
+ {$ELSEIF DEFINED(FPUFPA)}
+ fpu := 'fpa';
+ {$ELSEIF DEFINED(FPUX87)}
+ fpu := 'x87';
+ {$ELSEIF DEFINED(FPUITANIUM)}
+ fpu := 'itanium';
+ {$ELSEIF DEFINED(FPUSTANDARD)}
+ fpu := 'standard';
+ {$ELSEIF DEFINED(FPUHARD)}
+ fpu := 'hard';
+ {$ELSE}
+ fpu := 'unknown-fpu';
+ {$ENDIF}
+
+ result := cpu + ' ' + mode + ' ' + fpu;
+end;
+
function g_PatchLength(X1, Y1, X2, Y2: Integer): Word;
begin
Result := Min(Round(Hypot(Abs(X2-X1), Abs(Y2-Y1))), 65535);
function g_PatchLength(X1, Y1, X2, Y2: Integer): Word;
begin
Result := Min(Round(Hypot(Abs(X2-X1), Abs(Y2-Y1))), 65535);
begin
result := nil; lines := 0;
j := 1; i := 1; len := Length(Text);
begin
result := nil; lines := 0;
j := 1; i := 1; len := Length(Text);
- e_LogWritefln('GetLines @%s len=%s [%s]', [MaxWidth, len, Text]);
+ // e_LogWritefln('GetLines @%s len=%s [%s]', [MaxWidth, len, Text]);
while j <= len do
begin
(* --- Get longest possible sequence --- *)
while j <= len do
begin
(* --- Get longest possible sequence --- *)
(* --- Add line --- *)
SetLength(result, lines + 1);
result[lines] := GetLine(j, i);
(* --- Add line --- *)
SetLength(result, lines + 1);
result[lines] := GetLine(j, i);
- e_LogWritefln(' -> (%s:%s::%s) [%s]', [j, i, GetWidth(j, i), result[lines]]);
+ // e_LogWritefln(' -> (%s:%s::%s) [%s]', [j, i, GetWidth(j, i), result[lines]]);
Inc(lines);
(* --- Skip spaces --- *)
while (i <= len) and (text[i] = ' ') do Inc(i);
Inc(lines);
(* --- Skip spaces --- *)
while (i <= len) and (text[i] = ' ') do Inc(i);