X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_basic.pas;h=c7a834beb158b26c35bb5741491706f7fb87fe44;hp=afe112e157ecda9cd1a0e00b6ea25e640c9b2216;hb=f9d99d6e5b67984253827ecf73be6f34a67d1a7c;hpb=1581de2ca25df32e3126a91d6e306e18130656ca diff --git a/src/game/g_basic.pas b/src/game/g_basic.pas index afe112e..c7a834b 100644 --- a/src/game/g_basic.pas +++ b/src/game/g_basic.pas @@ -40,6 +40,7 @@ type 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; @@ -130,6 +131,90 @@ begin 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); @@ -676,7 +761,7 @@ function GetLines (Text: string; FontID: DWORD; MaxWidth: Word): SSArray; 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 --- *) @@ -689,7 +774,7 @@ begin (* --- 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);