diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-10-16 08:07:18 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-10-17 06:37:49 +0200 |
commit | ef811c64259f0b83aa72c99bad9d4e48082129f8 (patch) | |
tree | 68a10f30c76c06fe2cbd7893d6481e7372e57613 /src/core | |
parent | Merge pull request #7190 from Morph1984/missing-ui-main (diff) | |
download | yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar.gz yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar.bz2 yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar.lz yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar.xz yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.tar.zst yuzu-ef811c64259f0b83aa72c99bad9d4e48082129f8.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/core.cpp | 5 | ||||
-rw-r--r-- | src/core/hle/service/time/time_manager.cpp | 13 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 3042d611b..3c75f42ae 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -196,8 +196,9 @@ struct System::Impl { cpu_manager.Initialize(); core_timing.Initialize([&system]() { system.RegisterHostThread(); }); - const auto current_time = std::chrono::duration_cast<std::chrono::seconds>( - std::chrono::system_clock::now().time_since_epoch()); + const auto posix_time = std::chrono::system_clock::now().time_since_epoch(); + const auto current_time = + std::chrono::duration_cast<std::chrono::seconds>(posix_time).count(); Settings::values.custom_rtc_differential = Settings::values.custom_rtc.value_or(current_time) - current_time; diff --git a/src/core/hle/service/time/time_manager.cpp b/src/core/hle/service/time/time_manager.cpp index 4bbc606a1..9c4c960ef 100644 --- a/src/core/hle/service/time/time_manager.cpp +++ b/src/core/hle/service/time/time_manager.cpp @@ -13,18 +13,19 @@ #include "core/hle/service/time/time_manager.h" namespace Service::Time { - +namespace { constexpr Clock::TimeSpanType standard_network_clock_accuracy{0x0009356907420000ULL}; -static std::chrono::seconds GetSecondsSinceEpoch() { - return std::chrono::duration_cast<std::chrono::seconds>( - std::chrono::system_clock::now().time_since_epoch()) + +s64 GetSecondsSinceEpoch() { + const auto time_since_epoch = std::chrono::system_clock::now().time_since_epoch(); + return std::chrono::duration_cast<std::chrono::seconds>(time_since_epoch).count() + Settings::values.custom_rtc_differential; } -static s64 GetExternalRtcValue() { - return GetSecondsSinceEpoch().count() + TimeManager::GetExternalTimeZoneOffset(); +s64 GetExternalRtcValue() { + return GetSecondsSinceEpoch() + TimeManager::GetExternalTimeZoneOffset(); } +} // Anonymous namespace struct TimeManager::Impl final { explicit Impl(Core::System& system) |