diff --git a/UnleashedRecomp/install/update_checker.h b/UnleashedRecomp/install/update_checker.h index 484eaaaa..5763dc25 100644 --- a/UnleashedRecomp/install/update_checker.h +++ b/UnleashedRecomp/install/update_checker.h @@ -1,5 +1,8 @@ #pragma once +// 6 hour long timeout between checks. +static constexpr double g_timeBetweenUpdateChecksInSeconds = 6 * 60 * 60; + struct UpdateChecker { enum class Result diff --git a/UnleashedRecomp/main.cpp b/UnleashedRecomp/main.cpp index bb241760..b930c078 100644 --- a/UnleashedRecomp/main.cpp +++ b/UnleashedRecomp/main.cpp @@ -307,11 +307,11 @@ int main(int argc, char *argv[]) } #endif - // Check the time since the last time an update was checked. Store the new time if the difference is more than six hours. - constexpr double TimeBetweenUpdateChecksInSeconds = 6 * 60 * 60; + // Check the time since the last time an update was checked. + // Store the new time if the difference is more than g_timeBetweenUpdateChecksInSeconds hours. time_t timeNow = std::time(nullptr); double timeDifferenceSeconds = difftime(timeNow, Config::LastChecked); - if (timeDifferenceSeconds > TimeBetweenUpdateChecksInSeconds) + if (timeDifferenceSeconds > g_timeBetweenUpdateChecksInSeconds) { UpdateChecker::initialize(); UpdateChecker::start(); diff --git a/UnleashedRecomp/patches/CTitleStateIntro_patches.cpp b/UnleashedRecomp/patches/CTitleStateIntro_patches.cpp index 4affb80a..443e93d0 100644 --- a/UnleashedRecomp/patches/CTitleStateIntro_patches.cpp +++ b/UnleashedRecomp/patches/CTitleStateIntro_patches.cpp @@ -129,7 +129,9 @@ PPC_FUNC(sub_822C55B0) void PressStartSaveLoadThreadMidAsmHook() { - if (UpdateChecker::check() == UpdateChecker::Result::UpdateAvailable) + time_t timeNow = std::time(nullptr); + double timeDifferenceSeconds = difftime(timeNow, Config::LastChecked); + if (UpdateChecker::check() == UpdateChecker::Result::UpdateAvailable && timeDifferenceSeconds > g_timeBetweenUpdateChecksInSeconds) { g_updateAvailableMessageOpen = true; g_updateAvailableMessageOpen.wait(true);