diff options
Diffstat (limited to 'NorthstarDedicatedTest/version.cpp')
-rw-r--r-- | NorthstarDedicatedTest/version.cpp | 67 |
1 files changed, 14 insertions, 53 deletions
diff --git a/NorthstarDedicatedTest/version.cpp b/NorthstarDedicatedTest/version.cpp index a0bcee20..3755e4c4 100644 --- a/NorthstarDedicatedTest/version.cpp +++ b/NorthstarDedicatedTest/version.cpp @@ -1,65 +1,26 @@ #include "version.h" #include "pch.h" +#include "ns_version.h" char version[16]; char NSUserAgent[32]; void InitialiseVersion() { - HRSRC hResInfo; - DWORD dwSize; - HGLOBAL hResData; - LPVOID pRes, pResCopy; - UINT uLen = 0; - VS_FIXEDFILEINFO* lpFfi = NULL; - HINSTANCE hInst = ::GetModuleHandle(NULL); + constexpr int northstar_version[4] {NORTHSTAR_VERSION}; - hResInfo = FindResourceW(hInst, MAKEINTRESOURCE(1), RT_VERSION); - if (hResInfo != NULL) + // We actually use the rightmost integer do determine whether or not we're a debug/dev build + // If it is set to 1, we are a dev build + // On github CI, we set this 1 to a 0 automatically as we replace the 0,0,0,1 with the real version number + if (northstar_version[3] == 1) { - dwSize = SizeofResource(hInst, hResInfo); - hResData = LoadResource(hInst, hResInfo); - if (hResData != NULL) - { - pRes = LockResource(hResData); - pResCopy = LocalAlloc(LMEM_FIXED, dwSize); - if (pResCopy != 0) - { - CopyMemory(pResCopy, pRes, dwSize); - VerQueryValueW(pResCopy, L"\\", (LPVOID*)&lpFfi, &uLen); - - DWORD dwFileVersionMS = lpFfi->dwFileVersionMS; - DWORD dwFileVersionLS = lpFfi->dwFileVersionLS; - - DWORD dwLeftMost = HIWORD(dwFileVersionMS); - DWORD dwSecondLeft = LOWORD(dwFileVersionMS); - DWORD dwSecondRight = HIWORD(dwFileVersionLS); - DWORD dwRightMost = LOWORD(dwFileVersionLS); - - // We actually use the rightmost integer do determine whether or not we're a debug/dev build - // If it is set to 1 (as in resources.rc), we are a dev build - // On github CI, we set this 1 to a 0 automatically as we replace the 0.0.0.1 with the real version number - if (dwRightMost == 1) - { - sprintf(version, "%d.%d.%d.%d+dev", dwLeftMost, dwSecondLeft, dwSecondRight, dwRightMost); - sprintf(NSUserAgent, "R2Northstar/%d.%d.%d+dev", dwLeftMost, dwSecondLeft, dwSecondRight); - } - else - { - sprintf(version, "%d.%d.%d.%d", dwLeftMost, dwSecondLeft, dwSecondRight, dwRightMost); - sprintf(NSUserAgent, "R2Northstar/%d.%d.%d", dwLeftMost, dwSecondLeft, dwSecondRight); - } - UnlockResource(hResData); - FreeResource(hResData); - LocalFree(pResCopy); - return; - } - UnlockResource(hResData); - FreeResource(hResData); - LocalFree(pResCopy); - } + sprintf(version, "%d.%d.%d.%d+dev", northstar_version[0], northstar_version[1], northstar_version[2], northstar_version[3]); + sprintf(NSUserAgent, "R2Northstar/%d.%d.%d+dev", northstar_version[0], northstar_version[1], northstar_version[2]); + } + else + { + sprintf(version, "%d.%d.%d.%d", northstar_version[0], northstar_version[1], northstar_version[2], northstar_version[3]); + sprintf(NSUserAgent, "R2Northstar/%d.%d.%d", northstar_version[0], northstar_version[1], northstar_version[2]); } - // Could not locate version info for whatever reason - spdlog::error("Failed to load version info:\n{}", std::system_category().message(GetLastError())); - sprintf(NSUserAgent, "R2Northstar/0.0.0"); + return; } |