diff --git a/lib/graphics_engine/include/ge_main.hpp b/lib/graphics_engine/include/ge_main.hpp index fb8a0a430..a8ab83bdd 100644 --- a/lib/graphics_engine/include/ge_main.hpp +++ b/lib/graphics_engine/include/ge_main.hpp @@ -2,6 +2,7 @@ #define HEADER_GE_MAIN_HPP #include +#include #include namespace GE @@ -19,6 +20,7 @@ GE::GEVulkanDriver* getVKDriver(); const std::string& getShaderFolder(); GEConfig* getGEConfig(); void deinit(); +uint64_t getMonoTimeMs(); } #endif diff --git a/lib/graphics_engine/src/ge_main.cpp b/lib/graphics_engine/src/ge_main.cpp index f1cae51ef..61989b0d3 100644 --- a/lib/graphics_engine/src/ge_main.cpp +++ b/lib/graphics_engine/src/ge_main.cpp @@ -1,11 +1,15 @@ #include "ge_main.hpp" #include "ge_vulkan_driver.hpp" +#include + namespace GE { irr::video::IVideoDriver* g_driver = NULL; GEConfig g_config = {}; std::string g_shader_folder = ""; +std::chrono::steady_clock::time_point g_mono_start = + std::chrono::steady_clock::now(); void setVideoDriver(irr::video::IVideoDriver* driver) { @@ -41,4 +45,12 @@ void deinit() { } +uint64_t getMonoTimeMs() +{ + auto duration = std::chrono::steady_clock::now() - g_mono_start; + auto value = + std::chrono::duration_cast(duration); + return value.count(); +} + }