aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/EstateSettings.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs3
-rw-r--r--OpenSim/Region/Environment/Modules/World/Sun/SunModule.cs16
3 files changed, 21 insertions, 2 deletions
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs
index 331d7c3..d0e56ab 100644
--- a/OpenSim/Framework/EstateSettings.cs
+++ b/OpenSim/Framework/EstateSettings.cs
@@ -199,7 +199,9 @@ namespace OpenSim.Framework
199 set 199 set
200 { 200 {
201 m_sunHour = value; 201 m_sunHour = value;
202 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString()); 202
203 if (useFixedSun)
204 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
203 } 205 }
204 } 206 }
205 207
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index 6c63c36..96ae065 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -183,7 +183,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
183 // Time of day / fixed sun 183 // Time of day / fixed sun
184 m_scene.RegionInfo.EstateSettings.useFixedSun = UseFixedSun; 184 m_scene.RegionInfo.EstateSettings.useFixedSun = UseFixedSun;
185 m_scene.RegionInfo.EstateSettings.sunHour = SunHour; 185 m_scene.RegionInfo.EstateSettings.sunHour = SunHour;
186 186 //m_log.Debug("[ESTATE]: UFS: " + UseFixedSun.ToString());
187 //m_log.Debug("[ESTATE]: SunHour: " + SunHour.ToString());
187 sendRegionInfoPacketToAll(); 188 sendRegionInfoPacketToAll();
188 } 189 }
189 190
diff --git a/OpenSim/Region/Environment/Modules/World/Sun/SunModule.cs b/OpenSim/Region/Environment/Modules/World/Sun/SunModule.cs
index 6e8c28a..889be97 100644
--- a/OpenSim/Region/Environment/Modules/World/Sun/SunModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Sun/SunModule.cs
@@ -94,6 +94,9 @@ namespace OpenSim.Region.Environment.Modules
94 private LLVector3 Position = new LLVector3(0,0,0); 94 private LLVector3 Position = new LLVector3(0,0,0);
95 private LLVector3 Velocity = new LLVector3(0,0,0); 95 private LLVector3 Velocity = new LLVector3(0,0,0);
96 private LLQuaternion Tilt = new LLQuaternion(1,0,0,0); 96 private LLQuaternion Tilt = new LLQuaternion(1,0,0,0);
97 private float LindenEstateHour = 6f;
98 private bool sunFixed = false;
99 private long estateTicksOffset = 0;
97 100
98 private Dictionary<LLUUID, ulong> m_rootAgents = new Dictionary<LLUUID, ulong>(); 101 private Dictionary<LLUUID, ulong> m_rootAgents = new Dictionary<LLUUID, ulong>();
99 102
@@ -101,9 +104,21 @@ namespace OpenSim.Region.Environment.Modules
101 private ulong CurrentTime 104 private ulong CurrentTime
102 { 105 {
103 get { 106 get {
107
104 return (ulong)(((System.DateTime.Now.Ticks) - TicksToEpoch + TicksOffset)/10000000); 108 return (ulong)(((System.DateTime.Now.Ticks) - TicksToEpoch + TicksOffset)/10000000);
105 } 109 }
106 } 110 }
111 private float GetLindenEstateHourFromCurrentTime()
112 {
113 float ticksleftover = ((float)((ulong)(((System.DateTime.Now.Ticks) - TicksToEpoch + TicksOffset) / 10000000))) % ((float)SecondsPerSunCycle);
114 //m_log.Debug("[TICKS]: " + ticksleftover.ToString());
115 float hour = (24 * (ticksleftover / SecondsPerSunCycle)) + 6;
116 //m_log.Debug("[LINDENHOUR]: " + hour.ToString());
117 //m_log.Debug("[SunCycle]: " + (ticksleftover / 3600));
118 //m_log.Debug("[DayLength]: " + m_day_length.ToString());
119
120 return hour;
121 }
107 122
108 // Called immediately after the module is loaded for a given region 123 // Called immediately after the module is loaded for a given region
109 // i.e. Immediately after instance creation. 124 // i.e. Immediately after instance creation.
@@ -256,6 +271,7 @@ namespace OpenSim.Region.Environment.Modules
256 271
257 // set estate settings for region access to sun position 272 // set estate settings for region access to sun position
258 m_scene.RegionInfo.EstateSettings.sunPosition = Position; 273 m_scene.RegionInfo.EstateSettings.sunPosition = Position;
274 m_scene.RegionInfo.EstateSettings.sunHour = GetLindenEstateHourFromCurrentTime();
259 } 275 }
260 276
261 /// <summary> 277 /// <summary>