diff --git a/src/openrct2/OpenRCT2.cpp b/src/openrct2/OpenRCT2.cpp index e0a2834462..1816f98ac7 100644 --- a/src/openrct2/OpenRCT2.cpp +++ b/src/openrct2/OpenRCT2.cpp @@ -101,7 +101,7 @@ extern "C" { void openrct2_write_full_version_info(utf8 * buffer, size_t bufferSize) { - String::Set(buffer, bufferSize, Version::GetInfo().c_str()); + String::Set(buffer, bufferSize, gVersionInfoFull); } static void openrct2_set_exe_path() diff --git a/src/openrct2/Version.cpp b/src/openrct2/Version.cpp index fd54151ae9..99be33e0ee 100644 --- a/src/openrct2/Version.cpp +++ b/src/openrct2/Version.cpp @@ -23,63 +23,47 @@ #endif #ifdef OPENRCT2_BUILD_NUMBER - const char *gBuildNumber = OPENRCT2_BUILD_NUMBER; + const char gBuildNumber[] = OPENRCT2_BUILD_NUMBER; #else - const char *gBuildNumber = ""; + const char gBuildNumber[] = ""; #endif #ifdef OPENRCT2_BUILD_SERVER - const char *gBuildServer = OPENRCT2_BUILD_SERVER; + const char gBuildServer[] = OPENRCT2_BUILD_SERVER; #else - const char *gBuildServer = ""; + const char gBuildServer[] = ""; #endif #ifdef OPENRCT2_BRANCH - const char *gGitBranch = OPENRCT2_BRANCH; + const char gGitBranch[] = OPENRCT2_BRANCH; #else - const char *gGitBranch = ""; + const char gGitBranch[] = ""; #endif #ifdef OPENRCT2_COMMIT_SHA1 - const char *gCommitSha1 = OPENRCT2_COMMIT_SHA1; + const char gCommitSha1[] = OPENRCT2_COMMIT_SHA1; #else - const char *gCommitSha1 = ""; + const char gCommitSha1[] = ""; #endif #ifdef OPENRCT2_COMMIT_SHA1_SHORT - const char *gCommitSha1Short = OPENRCT2_COMMIT_SHA1_SHORT; + const char gCommitSha1Short[] = OPENRCT2_COMMIT_SHA1_SHORT; #else - const char *gCommitSha1Short = ""; + const char gCommitSha1Short[] = ""; #endif -namespace Version -{ - static std::string _info; - - std::string GetInfo() - { - if (_info.empty()) - { - utf8 buffer[256]; - size_t bufferSize = sizeof(buffer); - String::Set(buffer, bufferSize, OPENRCT2_NAME ", v" OPENRCT2_VERSION); - if (!String::IsNullOrEmpty(gGitBranch)) - { - String::AppendFormat(buffer, bufferSize, "-%s", gGitBranch); - } - if (!String::IsNullOrEmpty(gCommitSha1Short)) - { - String::AppendFormat(buffer, bufferSize, " build %s", gCommitSha1Short); - } - if (!String::IsNullOrEmpty(gBuildServer)) - { - String::AppendFormat(buffer, bufferSize, " provided by %s", gBuildServer); - } +const char gVersionInfoFull[] = + OPENRCT2_NAME ", v" OPENRCT2_VERSION +#ifdef OPENRCT2_BRANCH + "-" OPENRCT2_BRANCH +#endif +#ifdef OPENRCT2_COMMIT_SHA1_SHORT + " build " OPENRCT2_COMMIT_SHA1_SHORT +#endif +#ifdef OPENRCT2_BUILD_SERVER + " provided by " OPENRCT2_BUILD_SERVER +#endif #ifdef DEBUG - String::AppendFormat(buffer, bufferSize, " (DEBUG)", gBuildServer); + " (DEBUG)" #endif - _info = std::string(buffer); - } - return _info; - } -} + ; diff --git a/src/openrct2/Version.h b/src/openrct2/Version.h index 0a474bf7eb..e7d6528424 100644 --- a/src/openrct2/Version.h +++ b/src/openrct2/Version.h @@ -61,21 +61,12 @@ extern "C" { #endif // The following constants are for automated build servers - extern const char *gBuildNumber; - extern const char *gBuildServer; - extern const char *gGitBranch; - extern const char *gCommitSha1; - extern const char *gCommitSha1Short; + extern const char gBuildNumber[]; + extern const char gBuildServer[]; + extern const char gGitBranch[]; + extern const char gCommitSha1[]; + extern const char gCommitSha1Short[]; + extern const char gVersionInfoFull[]; #ifdef __cplusplus } #endif - -#ifdef __cplusplus - -#include - -namespace Version -{ - std::string GetInfo(); -} -#endif diff --git a/src/openrct2/core/Guard.cpp b/src/openrct2/core/Guard.cpp index 94083328c9..1754d0ea35 100644 --- a/src/openrct2/core/Guard.cpp +++ b/src/openrct2/core/Guard.cpp @@ -85,7 +85,7 @@ namespace Guard if (expression) return; Console::Error::WriteLine(ASSERTION_MESSAGE); - Console::Error::WriteLine("Version: %s", Version::GetInfo().c_str()); + Console::Error::WriteLine("Version: %s", gVersionInfoFull); // This is never freed, but acceptable considering we are about to crash out utf8 * formattedMessage = nullptr; @@ -143,7 +143,7 @@ namespace Guard String::Set(buffer, bufferSize, ASSERTION_MESSAGE); String::Append(buffer, bufferSize, "\r\n\r\n"); String::Append(buffer, bufferSize, "Version: "); - String::Append(buffer, bufferSize, Version::GetInfo().c_str()); + String::Append(buffer, bufferSize, gVersionInfoFull); if (formattedMessage != nullptr) { String::Append(buffer, bufferSize, "\r\n");