aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs44
1 files changed, 8 insertions, 36 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs b/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
index fced389..5495c1d 100644
--- a/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
@@ -45,7 +45,7 @@ namespace OpenSim.Region.Environment.Modules
45 private Random rndnums = new Random(System.Environment.TickCount); 45 private Random rndnums = new Random(System.Environment.TickCount);
46 private Scene m_scene = null; 46 private Scene m_scene = null;
47 private bool ready = false; 47 private bool ready = false;
48 private float[] windarr = new float[256*256]; 48 private Vector2[] windSpeeds = new Vector2[16 * 16];
49 49
50 private Dictionary<UUID, ulong> m_rootAgents = new Dictionary<UUID, ulong>(); 50 private Dictionary<UUID, ulong> m_rootAgents = new Dictionary<UUID, ulong>();
51 51
@@ -54,7 +54,6 @@ namespace OpenSim.Region.Environment.Modules
54 54
55 public void Initialise(Scene scene, IConfigSource config) 55 public void Initialise(Scene scene, IConfigSource config)
56 { 56 {
57
58 m_log.Debug("[WIND] Initializing"); 57 m_log.Debug("[WIND] Initializing");
59 58
60 m_scene = scene; 59 m_scene = scene;
@@ -120,15 +119,13 @@ namespace OpenSim.Region.Environment.Modules
120 119
121 public void WindToClient(IClientAPI client) 120 public void WindToClient(IClientAPI client)
122 { 121 {
123
124 if (ready) 122 if (ready)
125 { 123 {
126 //if (!sunFixed) 124 //if (!sunFixed)
127 //GenWindPos(); // Generate shared values once 125 //GenWindPos(); // Generate shared values once
128 client.SendWindData(windarr); 126 client.SendWindData(windSpeeds);
129 m_log.Debug("[WIND] Initial update for new client"); 127 m_log.Debug("[WIND] Initial update for new client");
130 } 128 }
131
132 } 129 }
133 130
134 public void WindUpdate() 131 public void WindUpdate()
@@ -149,11 +146,7 @@ namespace OpenSim.Region.Environment.Modules
149 { 146 {
150 if (!avatar.IsChildAgent) 147 if (!avatar.IsChildAgent)
151 { 148 {
152 149 avatar.ControllingClient.SendWindData(windSpeeds);
153 avatar.ControllingClient.SendWindData(
154 0,
155 0,0,1,
156 windarr);
157 } 150 }
158 } 151 }
159 152
@@ -169,7 +162,7 @@ namespace OpenSim.Region.Environment.Modules
169 foreach (ScenePresence avatar in avatars) 162 foreach (ScenePresence avatar in avatars)
170 { 163 {
171 if (!avatar.IsChildAgent) 164 if (!avatar.IsChildAgent)
172 avatar.ControllingClient.SendWindData(windarr); 165 avatar.ControllingClient.SendWindData(windSpeeds);
173 } 166 }
174 167
175 // set estate settings for region access to sun position 168 // set estate settings for region access to sun position
@@ -182,35 +175,14 @@ namespace OpenSim.Region.Environment.Modules
182 175
183 private void GenWindPos() 176 private void GenWindPos()
184 { 177 {
185 //windarr = new float[256*256]; 178 for (int y = 0; y < 16; y++)
186
187 Array.Clear(windarr, 0, 256 * 256);
188 //float i = 0f;
189 //float i2 = 2f;
190
191 for (int x = 0; x < 16; x++)
192 { 179 {
193 for (int y = 0; y < 16; y++) 180 for (int x = 0; x < 16; x++)
194 { 181 {
195 182 windSpeeds[y * 16 + x].X = (float)(rndnums.NextDouble() * 2d - 1d);
196 windarr[x * 256 + y] = (float)(rndnums.NextDouble() * 2d - 1d); 183 windSpeeds[y * 16 + x].Y = (float)(rndnums.NextDouble() * 2d - 1d);
197
198 } 184 }
199
200 } 185 }
201 for (int x = 16; x < 32; x++)
202 {
203 for (int y = 0; y < 16; y++)
204 {
205
206 windarr[x * 256 + y] = (float)(rndnums.NextDouble() * 2d - 1d);
207
208 }
209
210 }
211
212
213 // m_log.Debug("[SUN] Velocity("+Velocity.X+","+Velocity.Y+","+Velocity.Z+")");
214 } 186 }
215 187
216 private void ClientLoggedOut(UUID AgentId) 188 private void ClientLoggedOut(UUID AgentId)