Minor - Adds build versioning to the engine - V14.1.0

Implements a build versioning system to track and display the engine's build information.

- Adds a version header file defining version constants.
- Increments the build number automatically from a configuration file on each build in the binary folder.
- Displays the build version in the ImGui menu bar for easy identification.
- Persists version information by reading/writing to the config file

This provides better tracking and identification of specific engine builds.
This commit is contained in:
2025-09-18 01:58:18 +02:00
parent 2346625afb
commit 29db39910c
8 changed files with 178 additions and 15 deletions

View File

@@ -17,6 +17,8 @@
#include "scene_manager.h"
#include "ecs/entity_manager.h"
#include "version.h"
class application_class;
class stats;
@@ -47,6 +49,16 @@ public:
imguiManager();
~imguiManager();
/**
* Load the build version from a configuration file.
* The configuration file should contain a line with the build version in the format "VER=XXX...".
* If the line is not found, it will be added with a version of 0.
* The build version will be incremented by 1 each time this function is called.
* @param filepath The path to the configuration file.
* @return True if the build version was loaded successfully, otherwise false.
*/
bool IncrementBuildVersionInConfig(const std::string& filepath);
/**
* Initializes the ImGui manager.
* @param hwnd Handle to the window where ImGui will be rendered.
@@ -217,6 +229,8 @@ private:
std::string version_driver_;
ecs::EntityID m_selected_entity_id = 0; // ID of the currently selected entity
int BUILD_VERSION_VER = -1;
};
#endif