From 60d3c7caf6bf7c0553a962c6f05304cc4e910f03 Mon Sep 17 00:00:00 2001 From: praydog Date: Wed, 31 Jan 2024 02:38:21 -0800 Subject: [PATCH] UI: Add commit hash and build date to window title time --- CMakeLists.txt | 6 ++++++ MakeCommitHash.bat | 17 +++++++++++++++++ cmake.toml | 6 ++++++ src/CommitHash.hpp | 4 ++++ src/Framework.cpp | 5 ++++- 5 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 MakeCommitHash.bat create mode 100644 src/CommitHash.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 2530dd88..ce24ee2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -681,6 +681,7 @@ list(APPEND uevr_SOURCES "src/uevr-imgui/imgui_impl_dx12.cpp" "src/uevr-imgui/imgui_impl_win32.cpp" "src/utility/ImGui.cpp" + "src/CommitHash.hpp" "src/ExceptionHandler.hpp" "src/Framework.hpp" "src/LicenseStrings.hpp" @@ -795,6 +796,11 @@ set_target_properties(uevr PROPERTIES "${CMAKE_BINARY_DIR}/lib/${CMKR_TARGET}" ) +add_custom_command( + TARGET uevr PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E echo "Generating commit hash..." + COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/MakeCommitHash.bat +) add_custom_command( TARGET uevr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $) diff --git a/MakeCommitHash.bat b/MakeCommitHash.bat new file mode 100644 index 00000000..d8853813 --- /dev/null +++ b/MakeCommitHash.bat @@ -0,0 +1,17 @@ +@echo off +FOR /F "tokens=*" %%g IN ('git rev-parse HEAD') DO (SET UEVR_COMMIT_HASH=%%g) + +FOR /F "tokens=2 delims==" %%a IN ('wmic OS get localdatetime /value') DO ( + SET datetime=%%a +) + +SET year=%datetime:~0,4% +SET month=%datetime:~4,2% +SET day=%datetime:~6,2% +SET hour=%datetime:~8,2% +SET minute=%datetime:~10,2% + +echo #pragma once > src/CommitHash.hpp +echo #define UEVR_COMMIT_HASH "%UEVR_COMMIT_HASH%" >> src/CommitHash.hpp +echo #define UEVR_BUILD_DATE "%day%.%month%.%year%" >> src/CommitHash.hpp +echo #define UEVR_BUILD_TIME "%hour%:%minute%" >> src/CommitHash.hpp diff --git a/cmake.toml b/cmake.toml index 890ad75d..95b22358 100644 --- a/cmake.toml +++ b/cmake.toml @@ -254,7 +254,13 @@ link-libraries = [ "uesdk" ] cmake-after=""" +add_custom_command( + TARGET uevr PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E echo "Generating commit hash..." + COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/MakeCommitHash.bat +) add_custom_command( TARGET uevr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $) + """ diff --git a/src/CommitHash.hpp b/src/CommitHash.hpp new file mode 100644 index 00000000..d2df89c6 --- /dev/null +++ b/src/CommitHash.hpp @@ -0,0 +1,4 @@ +#pragma once +#define UEVR_COMMIT_HASH "d921a7f616a228e549a0f6826266dcd88a5066f9" +#define UEVR_BUILD_DATE "31.01.2024" +#define UEVR_BUILD_TIME "00:00" diff --git a/src/Framework.cpp b/src/Framework.cpp index 56697795..50410910 100644 --- a/src/Framework.cpp +++ b/src/Framework.cpp @@ -26,6 +26,7 @@ #include "mods/VR.hpp" #include "mods/ImGuiThemeHelpers.hpp" +#include "CommitHash.hpp" #include "ExceptionHandler.hpp" #include "LicenseStrings.hpp" #include "mods/FrameworkConfig.hpp" @@ -1157,9 +1158,11 @@ void Framework::draw_ui() { if (!m_last_draw_ui || m_cursor_state_changed) { m_cursor_state_changed = false; } + + static const auto UEVR_NAME = std::format("UEVR [rev. {:.8}][{} {}]", UEVR_COMMIT_HASH, UEVR_BUILD_DATE, UEVR_BUILD_TIME); ImGui::SetNextWindowSize(ImVec2(window_w, window_h), ImGuiCond_::ImGuiCond_Once); - ImGui::Begin("UEVR", &m_draw_ui); + ImGui::Begin(UEVR_NAME.c_str(), &m_draw_ui); ImGui::BeginGroup(); ImGui::Columns(2);