aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/EstateManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/EstateManager.cs')
-rw-r--r--OpenSim/Region/Environment/EstateManager.cs598
1 files changed, 299 insertions, 299 deletions
diff --git a/OpenSim/Region/Environment/EstateManager.cs b/OpenSim/Region/Environment/EstateManager.cs
index de0b040..3742486 100644
--- a/OpenSim/Region/Environment/EstateManager.cs
+++ b/OpenSim/Region/Environment/EstateManager.cs
@@ -1,299 +1,299 @@
1/* 1/*
2* Copyright (c) Contributors, http://www.openmetaverse.org/ 2* Copyright (c) Contributors, http://www.openmetaverse.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Text; 30using System.Text;
31using libsecondlife; 31using libsecondlife;
32using libsecondlife.Packets; 32using libsecondlife.Packets;
33using OpenSim.Framework.Console; 33using OpenSim.Framework.Console;
34using OpenSim.Framework.Interfaces; 34using OpenSim.Framework.Interfaces;
35using OpenSim.Framework.Types; 35using OpenSim.Framework.Types;
36using OpenSim.Region.Environment.Scenes; 36using OpenSim.Region.Environment.Scenes;
37using Avatar = OpenSim.Region.Environment.Scenes.ScenePresence; 37using Avatar = OpenSim.Region.Environment.Scenes.ScenePresence;
38 38
39 39
40namespace OpenSim.Region.Environment 40namespace OpenSim.Region.Environment
41{ 41{
42 42
43 /// <summary> 43 /// <summary>
44 /// Processes requests regarding estates. Refer to EstateSettings.cs in OpenSim.Framework. Types for all of the core settings 44 /// Processes requests regarding estates. Refer to EstateSettings.cs in OpenSim.Framework. Types for all of the core settings
45 /// </summary> 45 /// </summary>
46 public class EstateManager 46 public class EstateManager
47 { 47 {
48 private Scene m_world; 48 private Scene m_world;
49 private RegionInfo m_regInfo; 49 private RegionInfo m_regInfo;
50 50
51 public EstateManager(Scene world,RegionInfo reginfo) 51 public EstateManager(Scene world,RegionInfo reginfo)
52 { 52 {
53 m_world = world; //Estate settings found at world.m_regInfo.estateSettings 53 m_world = world; //Estate settings found at world.m_regInfo.estateSettings
54 m_regInfo = reginfo; 54 m_regInfo = reginfo;
55 } 55 }
56 56
57 private bool convertParamStringToBool(byte[] field) 57 private bool convertParamStringToBool(byte[] field)
58 { 58 {
59 string s = Helpers.FieldToUTF8String(field); 59 string s = Helpers.FieldToUTF8String(field);
60 if (s == "1" || s.ToLower() == "y" || s.ToLower() == "yes" || s.ToLower() == "t" || s.ToLower() == "true") 60 if (s == "1" || s.ToLower() == "y" || s.ToLower() == "yes" || s.ToLower() == "t" || s.ToLower() == "true")
61 { 61 {
62 return true; 62 return true;
63 } 63 }
64 return false; 64 return false;
65 } 65 }
66 66
67 public void handleEstateOwnerMessage(EstateOwnerMessagePacket packet, IClientAPI remote_client) 67 public void handleEstateOwnerMessage(EstateOwnerMessagePacket packet, IClientAPI remote_client)
68 { 68 {
69 if (remote_client.AgentId == m_regInfo.MasterAvatarAssignedUUID) 69 if (remote_client.AgentId == m_regInfo.MasterAvatarAssignedUUID)
70 { 70 {
71 switch (Helpers.FieldToUTF8String(packet.MethodData.Method)) 71 switch (Helpers.FieldToUTF8String(packet.MethodData.Method))
72 { 72 {
73 case "getinfo": 73 case "getinfo":
74 this.sendRegionInfoPacketToAll(); 74 this.sendRegionInfoPacketToAll();
75 75
76 break; 76 break;
77 case "setregioninfo": 77 case "setregioninfo":
78 if (packet.ParamList.Length != 9) 78 if (packet.ParamList.Length != 9)
79 { 79 {
80 MainLog.Instance.Error("EstateOwnerMessage: SetRegionInfo method has a ParamList of invalid length"); 80 MainLog.Instance.Error("EstateOwnerMessage: SetRegionInfo method has a ParamList of invalid length");
81 } 81 }
82 else 82 else
83 { 83 {
84 m_regInfo.estateSettings.regionFlags = Simulator.RegionFlags.None; 84 m_regInfo.estateSettings.regionFlags = Simulator.RegionFlags.None;
85 85
86 if (convertParamStringToBool(packet.ParamList[0].Parameter)) 86 if (convertParamStringToBool(packet.ParamList[0].Parameter))
87 { 87 {
88 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.BlockTerraform; 88 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.BlockTerraform;
89 } 89 }
90 90
91 if (convertParamStringToBool(packet.ParamList[1].Parameter)) 91 if (convertParamStringToBool(packet.ParamList[1].Parameter))
92 { 92 {
93 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.NoFly; 93 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.NoFly;
94 } 94 }
95 95
96 if (convertParamStringToBool(packet.ParamList[2].Parameter)) 96 if (convertParamStringToBool(packet.ParamList[2].Parameter))
97 { 97 {
98 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.AllowDamage; 98 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.AllowDamage;
99 } 99 }
100 100
101 if (convertParamStringToBool(packet.ParamList[3].Parameter) == false) 101 if (convertParamStringToBool(packet.ParamList[3].Parameter) == false)
102 { 102 {
103 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.BlockLandResell; 103 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.BlockLandResell;
104 } 104 }
105 105
106 106
107 int tempMaxAgents = Convert.ToInt16(Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[4].Parameter))); 107 int tempMaxAgents = Convert.ToInt16(Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[4].Parameter)));
108 m_regInfo.estateSettings.maxAgents = (byte)tempMaxAgents; 108 m_regInfo.estateSettings.maxAgents = (byte)tempMaxAgents;
109 109
110 float tempObjectBonusFactor = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter)); 110 float tempObjectBonusFactor = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter));
111 m_regInfo.estateSettings.objectBonusFactor = tempObjectBonusFactor; 111 m_regInfo.estateSettings.objectBonusFactor = tempObjectBonusFactor;
112 112
113 int tempMatureLevel = Convert.ToInt16(Helpers.FieldToUTF8String(packet.ParamList[6].Parameter)); 113 int tempMatureLevel = Convert.ToInt16(Helpers.FieldToUTF8String(packet.ParamList[6].Parameter));
114 m_regInfo.estateSettings.simAccess = (Simulator.SimAccess)tempMatureLevel; 114 m_regInfo.estateSettings.simAccess = (Simulator.SimAccess)tempMatureLevel;
115 115
116 116
117 if (convertParamStringToBool(packet.ParamList[7].Parameter)) 117 if (convertParamStringToBool(packet.ParamList[7].Parameter))
118 { 118 {
119 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.RestrictPushObject; 119 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.RestrictPushObject;
120 } 120 }
121 121
122 if (convertParamStringToBool(packet.ParamList[8].Parameter)) 122 if (convertParamStringToBool(packet.ParamList[8].Parameter))
123 { 123 {
124 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.AllowParcelChanges; 124 m_regInfo.estateSettings.regionFlags = m_regInfo.estateSettings.regionFlags | Simulator.RegionFlags.AllowParcelChanges;
125 } 125 }
126 126
127 sendRegionInfoPacketToAll(); 127 sendRegionInfoPacketToAll();
128 128
129 } 129 }
130 break; 130 break;
131 case "texturebase": 131 case "texturebase":
132 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList) 132 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList)
133 { 133 {
134 string s = Helpers.FieldToUTF8String(block.Parameter); 134 string s = Helpers.FieldToUTF8String(block.Parameter);
135 string[] splitField = s.Split(' '); 135 string[] splitField = s.Split(' ');
136 if (splitField.Length == 2) 136 if (splitField.Length == 2)
137 { 137 {
138 LLUUID tempUUID = new LLUUID(splitField[1]); 138 LLUUID tempUUID = new LLUUID(splitField[1]);
139 switch (Convert.ToInt16(splitField[0])) 139 switch (Convert.ToInt16(splitField[0]))
140 { 140 {
141 case 0: 141 case 0:
142 m_regInfo.estateSettings.terrainBase0 = tempUUID; 142 m_regInfo.estateSettings.terrainBase0 = tempUUID;
143 break; 143 break;
144 case 1: 144 case 1:
145 m_regInfo.estateSettings.terrainBase1 = tempUUID; 145 m_regInfo.estateSettings.terrainBase1 = tempUUID;
146 break; 146 break;
147 case 2: 147 case 2:
148 m_regInfo.estateSettings.terrainBase2 = tempUUID; 148 m_regInfo.estateSettings.terrainBase2 = tempUUID;
149 break; 149 break;
150 case 3: 150 case 3:
151 m_regInfo.estateSettings.terrainBase3 = tempUUID; 151 m_regInfo.estateSettings.terrainBase3 = tempUUID;
152 break; 152 break;
153 } 153 }
154 } 154 }
155 } 155 }
156 break; 156 break;
157 case "texturedetail": 157 case "texturedetail":
158 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList) 158 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList)
159 { 159 {
160 160
161 string s = Helpers.FieldToUTF8String(block.Parameter); 161 string s = Helpers.FieldToUTF8String(block.Parameter);
162 string[] splitField = s.Split(' '); 162 string[] splitField = s.Split(' ');
163 if (splitField.Length == 2) 163 if (splitField.Length == 2)
164 { 164 {
165 LLUUID tempUUID = new LLUUID(splitField[1]); 165 LLUUID tempUUID = new LLUUID(splitField[1]);
166 switch (Convert.ToInt16(splitField[0])) 166 switch (Convert.ToInt16(splitField[0]))
167 { 167 {
168 case 0: 168 case 0:
169 m_regInfo.estateSettings.terrainDetail0 = tempUUID; 169 m_regInfo.estateSettings.terrainDetail0 = tempUUID;
170 break; 170 break;
171 case 1: 171 case 1:
172 m_regInfo.estateSettings.terrainDetail1 = tempUUID; 172 m_regInfo.estateSettings.terrainDetail1 = tempUUID;
173 break; 173 break;
174 case 2: 174 case 2:
175 m_regInfo.estateSettings.terrainDetail2 = tempUUID; 175 m_regInfo.estateSettings.terrainDetail2 = tempUUID;
176 break; 176 break;
177 case 3: 177 case 3:
178 m_regInfo.estateSettings.terrainDetail3 = tempUUID; 178 m_regInfo.estateSettings.terrainDetail3 = tempUUID;
179 break; 179 break;
180 } 180 }
181 } 181 }
182 } 182 }
183 break; 183 break;
184 case "textureheights": 184 case "textureheights":
185 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList) 185 foreach (EstateOwnerMessagePacket.ParamListBlock block in packet.ParamList)
186 { 186 {
187 187
188 string s = Helpers.FieldToUTF8String(block.Parameter); 188 string s = Helpers.FieldToUTF8String(block.Parameter);
189 string[] splitField = s.Split(' '); 189 string[] splitField = s.Split(' ');
190 if (splitField.Length == 3) 190 if (splitField.Length == 3)
191 { 191 {
192 192
193 float tempHeightLow = (float)Convert.ToDecimal(splitField[1]); 193 float tempHeightLow = (float)Convert.ToDecimal(splitField[1]);
194 float tempHeightHigh = (float)Convert.ToDecimal(splitField[2]); 194 float tempHeightHigh = (float)Convert.ToDecimal(splitField[2]);
195 195
196 switch (Convert.ToInt16(splitField[0])) 196 switch (Convert.ToInt16(splitField[0]))
197 { 197 {
198 case 0: 198 case 0:
199 m_regInfo.estateSettings.terrainStartHeight0 = tempHeightLow; 199 m_regInfo.estateSettings.terrainStartHeight0 = tempHeightLow;
200 m_regInfo.estateSettings.terrainHeightRange0 = tempHeightHigh; 200 m_regInfo.estateSettings.terrainHeightRange0 = tempHeightHigh;
201 break; 201 break;
202 case 1: 202 case 1:
203 m_regInfo.estateSettings.terrainStartHeight1 = tempHeightLow; 203 m_regInfo.estateSettings.terrainStartHeight1 = tempHeightLow;
204 m_regInfo.estateSettings.terrainHeightRange1 = tempHeightHigh; 204 m_regInfo.estateSettings.terrainHeightRange1 = tempHeightHigh;
205 break; 205 break;
206 case 2: 206 case 2:
207 m_regInfo.estateSettings.terrainStartHeight2 = tempHeightLow; 207 m_regInfo.estateSettings.terrainStartHeight2 = tempHeightLow;
208 m_regInfo.estateSettings.terrainHeightRange2 = tempHeightHigh; 208 m_regInfo.estateSettings.terrainHeightRange2 = tempHeightHigh;
209 break; 209 break;
210 case 3: 210 case 3:
211 m_regInfo.estateSettings.terrainStartHeight3 = tempHeightLow; 211 m_regInfo.estateSettings.terrainStartHeight3 = tempHeightLow;
212 m_regInfo.estateSettings.terrainHeightRange3 = tempHeightHigh; 212 m_regInfo.estateSettings.terrainHeightRange3 = tempHeightHigh;
213 break; 213 break;
214 } 214 }
215 } 215 }
216 } 216 }
217 break; 217 break;
218 case "texturecommit": 218 case "texturecommit":
219 sendRegionHandshakeToAll(); 219 sendRegionHandshakeToAll();
220 break; 220 break;
221 case "setregionterrain": 221 case "setregionterrain":
222 if (packet.ParamList.Length != 9) 222 if (packet.ParamList.Length != 9)
223 { 223 {
224 MainLog.Instance.Error("EstateOwnerMessage: SetRegionTerrain method has a ParamList of invalid length"); 224 MainLog.Instance.Error("EstateOwnerMessage: SetRegionTerrain method has a ParamList of invalid length");
225 } 225 }
226 else 226 else
227 { 227 {
228 m_regInfo.estateSettings.waterHeight = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[0].Parameter)); 228 m_regInfo.estateSettings.waterHeight = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[0].Parameter));
229 m_regInfo.estateSettings.terrainRaiseLimit = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[1].Parameter)); 229 m_regInfo.estateSettings.terrainRaiseLimit = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[1].Parameter));
230 m_regInfo.estateSettings.terrainLowerLimit = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[2].Parameter)); 230 m_regInfo.estateSettings.terrainLowerLimit = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[2].Parameter));
231 m_regInfo.estateSettings.useFixedSun = this.convertParamStringToBool(packet.ParamList[4].Parameter); 231 m_regInfo.estateSettings.useFixedSun = this.convertParamStringToBool(packet.ParamList[4].Parameter);
232 m_regInfo.estateSettings.sunHour = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter)); 232 m_regInfo.estateSettings.sunHour = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter));
233 233
234 sendRegionInfoPacketToAll(); 234 sendRegionInfoPacketToAll();
235 } 235 }
236 break; 236 break;
237 default: 237 default:
238 MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString()); 238 MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
239 break; 239 break;
240 } 240 }
241 } 241 }
242 } 242 }
243 243
244 public void sendRegionInfoPacketToAll() 244 public void sendRegionInfoPacketToAll()
245 { 245 {
246 List<Avatar> avatars = m_world.RequestAvatarList(); 246 List<Avatar> avatars = m_world.RequestAvatarList();
247 247
248 for (int i = 0; i < avatars.Count; i++) 248 for (int i = 0; i < avatars.Count; i++)
249 { 249 {
250 this.sendRegionInfoPacket(avatars[i].ControllingClient); 250 this.sendRegionInfoPacket(avatars[i].ControllingClient);
251 } 251 }
252 } 252 }
253 253
254 public void sendRegionHandshakeToAll() 254 public void sendRegionHandshakeToAll()
255 { 255 {
256 List<Avatar> avatars = m_world.RequestAvatarList(); 256 List<Avatar> avatars = m_world.RequestAvatarList();
257 257
258 for (int i = 0; i < avatars.Count; i++) 258 for (int i = 0; i < avatars.Count; i++)
259 { 259 {
260 this.sendRegionHandshake(avatars[i].ControllingClient); 260 this.sendRegionHandshake(avatars[i].ControllingClient);
261 } 261 }
262 } 262 }
263 263
264 public void sendRegionInfoPacket(IClientAPI remote_client) 264 public void sendRegionInfoPacket(IClientAPI remote_client)
265 { 265 {
266 Encoding _enc = Encoding.ASCII; 266 Encoding _enc = Encoding.ASCII;
267 267
268 AgentCircuitData circuitData = remote_client.RequestClientInfo(); 268 AgentCircuitData circuitData = remote_client.RequestClientInfo();
269 269
270 RegionInfoPacket regionInfoPacket = new RegionInfoPacket(); 270 RegionInfoPacket regionInfoPacket = new RegionInfoPacket();
271 regionInfoPacket.AgentData.AgentID = circuitData.AgentID; 271 regionInfoPacket.AgentData.AgentID = circuitData.AgentID;
272 regionInfoPacket.AgentData.SessionID = circuitData.SessionID; 272 regionInfoPacket.AgentData.SessionID = circuitData.SessionID;
273 regionInfoPacket.RegionInfo.BillableFactor = m_regInfo.estateSettings.billableFactor; 273 regionInfoPacket.RegionInfo.BillableFactor = m_regInfo.estateSettings.billableFactor;
274 regionInfoPacket.RegionInfo.EstateID = m_regInfo.estateSettings.estateID; 274 regionInfoPacket.RegionInfo.EstateID = m_regInfo.estateSettings.estateID;
275 regionInfoPacket.RegionInfo.MaxAgents = m_regInfo.estateSettings.maxAgents; 275 regionInfoPacket.RegionInfo.MaxAgents = m_regInfo.estateSettings.maxAgents;
276 regionInfoPacket.RegionInfo.ObjectBonusFactor = m_regInfo.estateSettings.objectBonusFactor; 276 regionInfoPacket.RegionInfo.ObjectBonusFactor = m_regInfo.estateSettings.objectBonusFactor;
277 regionInfoPacket.RegionInfo.ParentEstateID = m_regInfo.estateSettings.parentEstateID; 277 regionInfoPacket.RegionInfo.ParentEstateID = m_regInfo.estateSettings.parentEstateID;
278 regionInfoPacket.RegionInfo.PricePerMeter = m_regInfo.estateSettings.pricePerMeter; 278 regionInfoPacket.RegionInfo.PricePerMeter = m_regInfo.estateSettings.pricePerMeter;
279 regionInfoPacket.RegionInfo.RedirectGridX = m_regInfo.estateSettings.redirectGridX; 279 regionInfoPacket.RegionInfo.RedirectGridX = m_regInfo.estateSettings.redirectGridX;
280 regionInfoPacket.RegionInfo.RedirectGridY = m_regInfo.estateSettings.redirectGridY; 280 regionInfoPacket.RegionInfo.RedirectGridY = m_regInfo.estateSettings.redirectGridY;
281 regionInfoPacket.RegionInfo.RegionFlags = (uint)m_regInfo.estateSettings.regionFlags; 281 regionInfoPacket.RegionInfo.RegionFlags = (uint)m_regInfo.estateSettings.regionFlags;
282 regionInfoPacket.RegionInfo.SimAccess = (byte)m_regInfo.estateSettings.simAccess; 282 regionInfoPacket.RegionInfo.SimAccess = (byte)m_regInfo.estateSettings.simAccess;
283 regionInfoPacket.RegionInfo.SimName = _enc.GetBytes( m_regInfo.RegionName); 283 regionInfoPacket.RegionInfo.SimName = _enc.GetBytes( m_regInfo.RegionName);
284 regionInfoPacket.RegionInfo.SunHour = m_regInfo.estateSettings.sunHour; 284 regionInfoPacket.RegionInfo.SunHour = m_regInfo.estateSettings.sunHour;
285 regionInfoPacket.RegionInfo.TerrainLowerLimit = m_regInfo.estateSettings.terrainLowerLimit; 285 regionInfoPacket.RegionInfo.TerrainLowerLimit = m_regInfo.estateSettings.terrainLowerLimit;
286 regionInfoPacket.RegionInfo.TerrainRaiseLimit = m_regInfo.estateSettings.terrainRaiseLimit; 286 regionInfoPacket.RegionInfo.TerrainRaiseLimit = m_regInfo.estateSettings.terrainRaiseLimit;
287 regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.estateSettings.useFixedSun; 287 regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.estateSettings.useFixedSun;
288 regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.estateSettings.waterHeight; 288 regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.estateSettings.waterHeight;
289 289
290 remote_client.OutPacket(regionInfoPacket); 290 remote_client.OutPacket(regionInfoPacket);
291 } 291 }
292 292
293 public void sendRegionHandshake(IClientAPI remoteClient) 293 public void sendRegionHandshake(IClientAPI remoteClient)
294 { 294 {
295 remoteClient.SendRegionHandshake(m_regInfo); 295 remoteClient.SendRegionHandshake(m_regInfo);
296 } 296 }
297 297
298 } 298 }
299} 299}