From b3ce8e9fc701f95e6441dff38587c3037a7e4a05 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 14 Jun 2020 21:41:50 +0100 Subject: [PATCH] big numbers need more bits.. --- OpenSim/Framework/Util.cs | 6 ++++++ .../CoreModules/World/LightShare/EnvironmentModule.cs | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 33f4d2ef76..aa4b5a7ec3 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -1056,6 +1056,12 @@ namespace OpenSim.Framework return true; } + public static double UnixTimeSinceEpochSecs() + { + TimeSpan t = DateTime.UtcNow - UnixEpoch; + return t.TotalSeconds; + } + public static int UnixTimeSinceEpoch() { TimeSpan t = DateTime.UtcNow - UnixEpoch; diff --git a/OpenSim/Region/CoreModules/World/LightShare/EnvironmentModule.cs b/OpenSim/Region/CoreModules/World/LightShare/EnvironmentModule.cs index e6a06d5747..c0eb1ca9f6 100644 --- a/OpenSim/Region/CoreModules/World/LightShare/EnvironmentModule.cs +++ b/OpenSim/Region/CoreModules/World/LightShare/EnvironmentModule.cs @@ -800,9 +800,9 @@ namespace OpenSim.Region.CoreModules.World.LightShare [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public float GetDayFractionTime(ViewerEnviroment env) { - float dayfrac = env.DayLength; - dayfrac = ((Util.UnixTimeSinceEpoch() + env.DayOffset) % dayfrac) / dayfrac; - return Utils.Clamp(dayfrac, 0f, 1f); + double dayfrac = env.DayLength; + dayfrac = ((Util.UnixTimeSinceEpochSecs() + env.DayOffset) % dayfrac) / dayfrac; + return (float)Utils.Clamp(dayfrac, 0, 1); } [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]