From 3fe8ea8961c419dd5eb1577fcb4eb686ba021435 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Wed, 27 Mar 2024 08:04:52 +0100 Subject: [PATCH] Fix timer condition not properly using random values --- plugins/base/macro-condition-timer.cpp | 7 ++++++- plugins/base/macro-condition-timer.hpp | 3 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/base/macro-condition-timer.cpp b/plugins/base/macro-condition-timer.cpp index 5a253930..91c4adb9 100644 --- a/plugins/base/macro-condition-timer.cpp +++ b/plugins/base/macro-condition-timer.cpp @@ -1,6 +1,8 @@ #include "macro-condition-timer.hpp" #include "layout-helpers.hpp" +#include + namespace advss { const std::string MacroConditionTimer::id = "timer"; @@ -17,6 +19,9 @@ const static std::map timerTypes = "AdvSceneSwitcher.condition.timer.type.random"}, }; +static std::random_device rd; +static std::default_random_engine re(rd()); + bool MacroConditionTimer::CheckCondition() { if (_paused) { @@ -48,7 +53,7 @@ void MacroConditionTimer::SetRandomTimeRemaining() } std::uniform_real_distribution unif(min, max); - double remainingTime = unif(_re); + double remainingTime = unif(re); _duration.SetTimeRemaining(remainingTime); } diff --git a/plugins/base/macro-condition-timer.hpp b/plugins/base/macro-condition-timer.hpp index 3fac8270..917314f7 100644 --- a/plugins/base/macro-condition-timer.hpp +++ b/plugins/base/macro-condition-timer.hpp @@ -8,8 +8,6 @@ #include #include -#include - namespace advss { class MacroConditionTimer : public MacroCondition { @@ -41,7 +39,6 @@ private: void SetVariables(double seconds); void SetupTempVars(); - std::default_random_engine _re; static bool _registered; static const std::string id; };