From 54c1c2d7e9aa8757ac3cc31e40aefd51787c04b7 Mon Sep 17 00:00:00 2001 From: Pieter Hulshoff Date: Mon, 15 Apr 2019 15:04:27 +0200 Subject: [PATCH] Added attractModeNextTime setting to allow different times for Attract Mode first start and consecutive starts. --- RetroFE/Source/Execute/AttractMode.cpp | 16 ++++++++++------ RetroFE/Source/Execute/AttractMode.h | 2 ++ RetroFE/Source/RetroFE.cpp | 5 ++++- RetroFE/Source/Version.cpp | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/RetroFE/Source/Execute/AttractMode.cpp b/RetroFE/Source/Execute/AttractMode.cpp index fa0d06e..44e827b 100644 --- a/RetroFE/Source/Execute/AttractMode.cpp +++ b/RetroFE/Source/Execute/AttractMode.cpp @@ -20,7 +20,9 @@ AttractMode::AttractMode() : idleTime(0) + , idleNextTime(0) , isActive_(false) + , isSet_(false) , elapsedTime_(0) , activeTime_(0) { @@ -29,8 +31,9 @@ AttractMode::AttractMode() void AttractMode::reset() { elapsedTime_ = 0; - isActive_ = false; - activeTime_ = 0; + isActive_ = false; + isSet_ = false; + activeTime_ = 0; } void AttractMode::update(float dt, Page &page) @@ -38,11 +41,12 @@ void AttractMode::update(float dt, Page &page) elapsedTime_ += dt; // enable attract mode when idling for the expected time. Disable if idle time is set to 0. - if(!isActive_ && elapsedTime_ > idleTime && idleTime > 0) + if(!isActive_ && ((elapsedTime_ > idleTime && idleTime > 0) || (isSet_ && elapsedTime_ > idleNextTime && idleNextTime > 0))) { - isActive_ = true; + isActive_ = true; + isSet_ = true; elapsedTime_ = 0; - activeTime_ = ((float)((1000+rand()) % 5000)) / 1000; + activeTime_ = ((float)((1000+rand()) % 5000)) / 1000; } if(isActive_) @@ -67,4 +71,4 @@ void AttractMode::update(float dt, Page &page) bool AttractMode::isActive() { return isActive_; -} \ No newline at end of file +} diff --git a/RetroFE/Source/Execute/AttractMode.h b/RetroFE/Source/Execute/AttractMode.h index e398e53..f5c0ddf 100644 --- a/RetroFE/Source/Execute/AttractMode.h +++ b/RetroFE/Source/Execute/AttractMode.h @@ -24,10 +24,12 @@ public: void reset(); void update(float dt, Page &page); float idleTime; + float idleNextTime; bool isActive(); private: bool isActive_; + bool isSet_; float elapsedTime_; float activeTime_; diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 7c92092..62d4c25 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -302,14 +302,17 @@ void RetroFE::run( ) } int attractModeTime = 0; + int attractModeNextTime = 0; std::string firstCollection = "Main"; bool running = true; RETROFE_STATE state = RETROFE_NEW; config_.getProperty( "attractModeTime", attractModeTime ); + config_.getProperty( "attractModeNextTime", attractModeNextTime ); config_.getProperty( "firstCollection", firstCollection ); - attract_.idleTime = static_cast(attractModeTime); + attract_.idleTime = static_cast(attractModeTime); + attract_.idleNextTime = static_cast(attractModeNextTime); int initializeStatus = 0; diff --git a/RetroFE/Source/Version.cpp b/RetroFE/Source/Version.cpp index 1b02fe4..67eb7a4 100644 --- a/RetroFE/Source/Version.cpp +++ b/RetroFE/Source/Version.cpp @@ -21,7 +21,7 @@ std::string retrofe_version_major = "0"; std::string retrofe_version_minor = "8"; -std::string retrofe_version_build = "26"; +std::string retrofe_version_build = "27"; std::string Version::getString( )