Skip to content
This repository has been archived by the owner. It is now read-only.

Remove version text, add toggleable debug info(with commit hash!) #1029

Merged
merged 3 commits into from Feb 12, 2021
Merged
Changes from 1 commit
Commits
File filter
Filter file types
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.

Always

Just for now

Next
Remove version text, add toggleable debug info(with commit hash!)
  • Loading branch information
erorcun committed Feb 12, 2021
commit 9e1c048e206d4e91d03ef8978bf61a6af654fc3b
@@ -358,3 +358,5 @@ sdk/
codewarrior/re3_Data/
codewarrior/Release/
codewarrior/Debug/

src/extras/GitSHA1.cpp
@@ -313,7 +313,7 @@ project "re3"

filter {}
if(os.getenv("GTA_III_RE_DIR")) then
setpaths("$(GTA_III_RE_DIR)/", "%(cfg.buildtarget.name)")
setpaths(os.getenv("GTA_III_RE_DIR") .. "/", "%(cfg.buildtarget.name)")
end

filter "platforms:win*"
@@ -327,6 +327,10 @@ project "re3"
-- external librw is dynamic
staticruntime "on"
end
prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' }

filter "platforms:not win*"
prebuildcommands { '"%{prj.location}../printHash.sh" "%{prj.location}../src/extras/GitSHA1.cpp"' }

filter "platforms:win*glfw*"
staticruntime "off"
@@ -0,0 +1,26 @@
@echo off

REM creates version.h with HEAD commit hash
REM params: $1=full path to output file (usually points version.h)

setlocal enableextensions enabledelayedexpansion

cd /d "%~dp0"

break> %1

<nul set /p=^"#define GIT_SHA1 ^"^"> %1

where git
if "%errorlevel%" == "0" ( goto :havegit ) else ( goto :writeending )

:havegit
for /f %%v in ('git rev-parse --short HEAD') do set version=%%v
<nul set /p="%version%" >> %1

:writeending

echo ^" >> %1
echo const char* g_GIT_SHA1 = GIT_SHA1; >> %1

EXIT /B
@@ -0,0 +1,14 @@
#!/usr/bin/bash

> $1

echo -n "#define GIT_SHA1 \"" > $1

git --version 2>&1 >/dev/null
GIT_IS_AVAILABLE=$?
if [ $GIT_IS_AVAILABLE -ne 0 ]; then
git rev-parse --short HEAD | tr -d '\n' >> $1
fi

echo "\"" >> $1
echo "const char* g_GIT_SHA1 = GIT_SHA1;" >> $1
@@ -183,7 +183,11 @@ enum Config {

// those infamous texts
#define DRAW_GAME_VERSION_TEXT
#define DRAW_MENU_VERSION_TEXT
#ifdef DRAW_GAME_VERSION_TEXT
#define TOGGLEABLE_VERSION_TEXT
#define USE_OUR_VERSIONING // If you disable this then game will fetch version peds.col, as R* did while in development
#endif
//#define DRAW_MENU_VERSION_TEXT

// Memory allocation and compression
// #define USE_CUSTOM_ALLOCATOR // use CMemoryHeap for allocation. use with care, not finished yet
@@ -70,6 +70,9 @@
#include "custompipes.h"
#include "screendroplets.h"
#include "MemoryHeap.h"
#ifdef USE_OUR_VERSIONING
#include "GitSHA1.h"
#endif

GlobalScene Scene;

@@ -86,6 +89,9 @@ bool gbModelViewer;
#ifdef TIMEBARS
bool gbShowTimebars;
#endif
#ifdef TOGGLEABLE_VERSION_TEXT
bool gDrawVersionText;
#endif

volatile int32 frameCount;

@@ -1089,13 +1095,58 @@ DisplayGameDebugText()

#ifdef DRAW_GAME_VERSION_TEXT
wchar ver[200];


#ifdef TOGGLEABLE_VERSION_TEXT
if(gDrawVersionText)
#endif
{

#ifdef USE_OUR_VERSIONING
char verA[200];
sprintf(verA,
#if defined _WIN32
"Win "
#elif defined __linux__
"Linux "
#elif defined __APPLE__
"Mac OS X "
#elif defined __FreeBSD__
"FreeBSD "
#else
"Posix-compliant "
#endif
#if defined __LP64__ || defined _WIN64
"64-bit "
#else
"32-bit "
#endif
#if defined RW_D3D9
"D3D9 "
#elif defined RWLIBS
"D3D8 "
#elif defined RW_GL3
"OpenGL "
#endif
#if defined AUDIO_OAL
"OAL "
#elif defined AUDIO_MSS
"MSS "
#endif
#if defined _DEBUG || defined DEBUG
"DEBUG "
#endif
"%.8s",
g_GIT_SHA1);
AsciiToUnicode(verA, ver);
CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.7f));
#else
AsciiToUnicode(version_name, ver);
CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.5f));
#endif

CFont::SetPropOn();
CFont::SetBackgroundOff();
CFont::SetFontStyle(FONT_BANK);
CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.5f));
CFont::SetCentreOff();
CFont::SetRightJustifyOff();
CFont::SetWrapx(SCREEN_WIDTH);
@@ -1107,6 +1158,7 @@ DisplayGameDebugText()
#else
CFont::PrintString(10.0f, 10.0f, ver);
#endif
}
#endif // #ifdef DRAW_GAME_VERSION_TEXT

FrameSamples++;
@@ -508,6 +508,10 @@ bool LoadINISettings()
#ifdef FIX_SPRITES
ReadIniIfExists("Draw", "FixSprites", &CDraw::ms_bFixSprites);
#endif
#ifdef TOGGLEABLE_VERSION_TEXT
extern bool gDrawVersionText;
ReadIniIfExists("General", "DrawVersionText", &gDrawVersionText);
#endif

#ifdef CUSTOM_FRONTEND_OPTIONS
bool migrate = cfg.category_size("FrontendOptions") != 0;
@@ -595,6 +599,10 @@ void SaveINISettings()
#ifdef FIX_SPRITES
StoreIni("Draw", "FixSprites", CDraw::ms_bFixSprites);
#endif
#ifdef TOGGLEABLE_VERSION_TEXT
extern bool gDrawVersionText;
StoreIni("General", "DrawVersionText", gDrawVersionText);
#endif
#ifdef CUSTOM_FRONTEND_OPTIONS
for (int i = 0; i < MENUPAGES; i++) {
for (int j = 0; j < NUM_MENUROWS; j++) {
@@ -985,7 +993,10 @@ extern bool gbRenderWorld2;
#endif



#ifdef TOGGLEABLE_VERSION_TEXT
extern bool gDrawVersionText;
DebugMenuAddVarBool8("Debug", "Version Text", &gDrawVersionText, nil);
#endif
#ifndef FINAL
DebugMenuAddVarBool8("Debug", "Print Memory Usage", &gbPrintMemoryUsage, nil);
#ifdef USE_CUSTOM_ALLOCATOR
@@ -0,0 +1,2 @@
#define GIT_SHA1 ""
const char* g_GIT_SHA1 = GIT_SHA1;
@@ -0,0 +1 @@
extern const char* g_GIT_SHA1;