diff options
Diffstat (limited to 'OpenSim/Framework/EstateSettings.cs')
-rw-r--r-- | OpenSim/Framework/EstateSettings.cs | 707 |
1 files changed, 707 insertions, 0 deletions
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs new file mode 100644 index 0000000..63b62c6 --- /dev/null +++ b/OpenSim/Framework/EstateSettings.cs | |||
@@ -0,0 +1,707 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
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 | ||
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 | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | * | ||
27 | */ | ||
28 | using System; | ||
29 | using System.IO; | ||
30 | using libsecondlife; | ||
31 | |||
32 | namespace OpenSim.Framework | ||
33 | { | ||
34 | public class EstateSettings | ||
35 | { | ||
36 | //Settings to this island | ||
37 | private float m_billableFactor; | ||
38 | |||
39 | public float billableFactor | ||
40 | { | ||
41 | get { return m_billableFactor; } | ||
42 | set | ||
43 | { | ||
44 | m_billableFactor = value; | ||
45 | configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString()); | ||
46 | } | ||
47 | } | ||
48 | |||
49 | |||
50 | private uint m_estateID; | ||
51 | |||
52 | public uint estateID | ||
53 | { | ||
54 | get { return m_estateID; } | ||
55 | set | ||
56 | { | ||
57 | m_estateID = value; | ||
58 | configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString()); | ||
59 | } | ||
60 | } | ||
61 | |||
62 | |||
63 | private uint m_parentEstateID; | ||
64 | |||
65 | public uint parentEstateID | ||
66 | { | ||
67 | get { return m_parentEstateID; } | ||
68 | set | ||
69 | { | ||
70 | m_parentEstateID = value; | ||
71 | configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString()); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | private byte m_maxAgents; | ||
76 | |||
77 | public byte maxAgents | ||
78 | { | ||
79 | get { return m_maxAgents; } | ||
80 | set | ||
81 | { | ||
82 | m_maxAgents = value; | ||
83 | configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString()); | ||
84 | } | ||
85 | } | ||
86 | |||
87 | private float m_objectBonusFactor; | ||
88 | |||
89 | public float objectBonusFactor | ||
90 | { | ||
91 | get { return m_objectBonusFactor; } | ||
92 | set | ||
93 | { | ||
94 | m_objectBonusFactor = value; | ||
95 | configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString()); | ||
96 | } | ||
97 | } | ||
98 | |||
99 | private int m_redirectGridX; | ||
100 | |||
101 | public int redirectGridX | ||
102 | { | ||
103 | get { return m_redirectGridX; } | ||
104 | set | ||
105 | { | ||
106 | m_redirectGridX = value; | ||
107 | configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString()); | ||
108 | } | ||
109 | } | ||
110 | |||
111 | private int m_redirectGridY; | ||
112 | |||
113 | public int redirectGridY | ||
114 | { | ||
115 | get { return m_redirectGridY; } | ||
116 | set | ||
117 | { | ||
118 | m_redirectGridY = value; | ||
119 | configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString()); | ||
120 | } | ||
121 | } | ||
122 | |||
123 | private Simulator.RegionFlags m_regionFlags; | ||
124 | |||
125 | public Simulator.RegionFlags regionFlags | ||
126 | { | ||
127 | get { return m_regionFlags; } | ||
128 | set | ||
129 | { | ||
130 | m_regionFlags = value; | ||
131 | configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString()); | ||
132 | } | ||
133 | } | ||
134 | |||
135 | |||
136 | private Simulator.SimAccess m_simAccess; | ||
137 | |||
138 | public Simulator.SimAccess simAccess | ||
139 | { | ||
140 | get { return m_simAccess; } | ||
141 | set | ||
142 | { | ||
143 | m_simAccess = value; | ||
144 | configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString()); | ||
145 | } | ||
146 | } | ||
147 | |||
148 | private float m_sunHour; | ||
149 | |||
150 | public float sunHour | ||
151 | { | ||
152 | get { return m_sunHour; } | ||
153 | set | ||
154 | { | ||
155 | m_sunHour = value; | ||
156 | configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString()); | ||
157 | } | ||
158 | } | ||
159 | |||
160 | private float m_terrainRaiseLimit; | ||
161 | |||
162 | public float terrainRaiseLimit | ||
163 | { | ||
164 | get { return m_terrainRaiseLimit; } | ||
165 | set | ||
166 | { | ||
167 | m_terrainRaiseLimit = value; | ||
168 | configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString()); | ||
169 | } | ||
170 | } | ||
171 | |||
172 | private float m_terrainLowerLimit; | ||
173 | |||
174 | public float terrainLowerLimit | ||
175 | { | ||
176 | get { return m_terrainLowerLimit; } | ||
177 | set | ||
178 | { | ||
179 | m_terrainLowerLimit = value; | ||
180 | configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString()); | ||
181 | } | ||
182 | } | ||
183 | |||
184 | private bool m_useFixedSun; | ||
185 | |||
186 | public bool useFixedSun | ||
187 | { | ||
188 | get { return m_useFixedSun; } | ||
189 | set | ||
190 | { | ||
191 | m_useFixedSun = value; | ||
192 | configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString()); | ||
193 | } | ||
194 | } | ||
195 | |||
196 | |||
197 | private int m_pricePerMeter; | ||
198 | |||
199 | public int pricePerMeter | ||
200 | { | ||
201 | get { return m_pricePerMeter; } | ||
202 | set | ||
203 | { | ||
204 | m_pricePerMeter = value; | ||
205 | configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString()); | ||
206 | } | ||
207 | } | ||
208 | |||
209 | |||
210 | private ushort m_regionWaterHeight; | ||
211 | |||
212 | public ushort regionWaterHeight | ||
213 | { | ||
214 | get { return m_regionWaterHeight; } | ||
215 | set | ||
216 | { | ||
217 | m_regionWaterHeight = value; | ||
218 | configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString()); | ||
219 | } | ||
220 | } | ||
221 | |||
222 | |||
223 | private bool m_regionAllowTerraform; | ||
224 | |||
225 | public bool regionAllowTerraform | ||
226 | { | ||
227 | get { return m_regionAllowTerraform; } | ||
228 | set | ||
229 | { | ||
230 | m_regionAllowTerraform = value; | ||
231 | configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString()); | ||
232 | } | ||
233 | } | ||
234 | |||
235 | |||
236 | // Region Information | ||
237 | // Low resolution 'base' textures. No longer used. | ||
238 | private LLUUID m_terrainBase0; | ||
239 | |||
240 | public LLUUID terrainBase0 | ||
241 | { | ||
242 | get { return m_terrainBase0; } | ||
243 | set | ||
244 | { | ||
245 | m_terrainBase0 = value; | ||
246 | configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString()); | ||
247 | } | ||
248 | } | ||
249 | |||
250 | private LLUUID m_terrainBase1; | ||
251 | |||
252 | public LLUUID terrainBase1 | ||
253 | { | ||
254 | get { return m_terrainBase1; } | ||
255 | set | ||
256 | { | ||
257 | m_terrainBase1 = value; | ||
258 | configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString()); | ||
259 | } | ||
260 | } | ||
261 | |||
262 | private LLUUID m_terrainBase2; | ||
263 | |||
264 | public LLUUID terrainBase2 | ||
265 | { | ||
266 | get { return m_terrainBase2; } | ||
267 | set | ||
268 | { | ||
269 | m_terrainBase2 = value; | ||
270 | configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString()); | ||
271 | } | ||
272 | } | ||
273 | |||
274 | private LLUUID m_terrainBase3; | ||
275 | |||
276 | public LLUUID terrainBase3 | ||
277 | { | ||
278 | get { return m_terrainBase3; } | ||
279 | set | ||
280 | { | ||
281 | m_terrainBase3 = value; | ||
282 | configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString()); | ||
283 | } | ||
284 | } | ||
285 | |||
286 | |||
287 | // Higher resolution terrain textures | ||
288 | private LLUUID m_terrainDetail0; | ||
289 | |||
290 | public LLUUID terrainDetail0 | ||
291 | { | ||
292 | get { return m_terrainDetail0; } | ||
293 | set | ||
294 | { | ||
295 | m_terrainDetail0 = value; | ||
296 | configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString()); | ||
297 | } | ||
298 | } | ||
299 | |||
300 | private LLUUID m_terrainDetail1; | ||
301 | |||
302 | public LLUUID terrainDetail1 | ||
303 | { | ||
304 | get { return m_terrainDetail1; } | ||
305 | set | ||
306 | { | ||
307 | m_terrainDetail1 = value; | ||
308 | configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString()); | ||
309 | } | ||
310 | } | ||
311 | |||
312 | private LLUUID m_terrainDetail2; | ||
313 | |||
314 | public LLUUID terrainDetail2 | ||
315 | { | ||
316 | get { return m_terrainDetail2; } | ||
317 | set | ||
318 | { | ||
319 | m_terrainDetail2 = value; | ||
320 | configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString()); | ||
321 | } | ||
322 | } | ||
323 | |||
324 | private LLUUID m_terrainDetail3; | ||
325 | |||
326 | public LLUUID terrainDetail3 | ||
327 | { | ||
328 | get { return m_terrainDetail3; } | ||
329 | set | ||
330 | { | ||
331 | m_terrainDetail3 = value; | ||
332 | configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString()); | ||
333 | } | ||
334 | } | ||
335 | |||
336 | // First quad - each point is bilinearly interpolated at each meter of terrain | ||
337 | private float m_terrainStartHeight0; | ||
338 | |||
339 | public float terrainStartHeight0 | ||
340 | { | ||
341 | get { return m_terrainStartHeight0; } | ||
342 | set | ||
343 | { | ||
344 | m_terrainStartHeight0 = value; | ||
345 | configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString()); | ||
346 | } | ||
347 | } | ||
348 | |||
349 | |||
350 | private float m_terrainStartHeight1; | ||
351 | |||
352 | public float terrainStartHeight1 | ||
353 | { | ||
354 | get { return m_terrainStartHeight1; } | ||
355 | set | ||
356 | { | ||
357 | m_terrainStartHeight1 = value; | ||
358 | configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString()); | ||
359 | } | ||
360 | } | ||
361 | |||
362 | private float m_terrainStartHeight2; | ||
363 | |||
364 | public float terrainStartHeight2 | ||
365 | { | ||
366 | get { return m_terrainStartHeight2; } | ||
367 | set | ||
368 | { | ||
369 | m_terrainStartHeight2 = value; | ||
370 | configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString()); | ||
371 | } | ||
372 | } | ||
373 | |||
374 | private float m_terrainStartHeight3; | ||
375 | |||
376 | public float terrainStartHeight3 | ||
377 | { | ||
378 | get { return m_terrainStartHeight3; } | ||
379 | set | ||
380 | { | ||
381 | m_terrainStartHeight3 = value; | ||
382 | configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString()); | ||
383 | } | ||
384 | } | ||
385 | |||
386 | // Second quad - also bilinearly interpolated. | ||
387 | // Terrain texturing is done that: | ||
388 | // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y] | ||
389 | private float m_terrainHeightRange0; | ||
390 | |||
391 | public float terrainHeightRange0 | ||
392 | { | ||
393 | get { return m_terrainHeightRange0; } | ||
394 | set | ||
395 | { | ||
396 | m_terrainHeightRange0 = value; | ||
397 | configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString()); | ||
398 | } | ||
399 | } | ||
400 | |||
401 | private float m_terrainHeightRange1; | ||
402 | |||
403 | public float terrainHeightRange1 | ||
404 | { | ||
405 | get { return m_terrainHeightRange1; } | ||
406 | set | ||
407 | { | ||
408 | m_terrainHeightRange1 = value; | ||
409 | configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString()); | ||
410 | } | ||
411 | } | ||
412 | |||
413 | private float m_terrainHeightRange2; | ||
414 | |||
415 | public float terrainHeightRange2 | ||
416 | { | ||
417 | get { return m_terrainHeightRange2; } | ||
418 | set | ||
419 | { | ||
420 | m_terrainHeightRange2 = value; | ||
421 | configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString()); | ||
422 | } | ||
423 | } | ||
424 | |||
425 | private float m_terrainHeightRange3; | ||
426 | |||
427 | public float terrainHeightRange3 | ||
428 | { | ||
429 | get { return m_terrainHeightRange3; } | ||
430 | set | ||
431 | { | ||
432 | m_terrainHeightRange3 = value; | ||
433 | configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString()); | ||
434 | } | ||
435 | } | ||
436 | |||
437 | // Terrain Default (Must be in F32 Format!) | ||
438 | private string m_terrainFile; | ||
439 | |||
440 | public string terrainFile | ||
441 | { | ||
442 | get { return m_terrainFile; } | ||
443 | set | ||
444 | { | ||
445 | m_terrainFile = value; | ||
446 | configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString()); | ||
447 | } | ||
448 | } | ||
449 | |||
450 | private double m_terrainMultiplier; | ||
451 | |||
452 | public double terrainMultiplier | ||
453 | { | ||
454 | get { return m_terrainMultiplier; } | ||
455 | set | ||
456 | { | ||
457 | m_terrainMultiplier = value; | ||
458 | configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString()); | ||
459 | } | ||
460 | } | ||
461 | |||
462 | private float m_waterHeight; | ||
463 | |||
464 | public float waterHeight | ||
465 | { | ||
466 | get { return m_waterHeight; } | ||
467 | set | ||
468 | { | ||
469 | m_waterHeight = value; | ||
470 | configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString()); | ||
471 | } | ||
472 | } | ||
473 | |||
474 | private LLUUID m_terrainImageID; | ||
475 | |||
476 | public LLUUID terrainImageID | ||
477 | { | ||
478 | get { return m_terrainImageID; } | ||
479 | set | ||
480 | { | ||
481 | m_terrainImageID = value; | ||
482 | configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString()); | ||
483 | } | ||
484 | } | ||
485 | |||
486 | private ConfigurationMember configMember; | ||
487 | |||
488 | public EstateSettings() | ||
489 | { | ||
490 | // Temporary hack to prevent multiple loadings. | ||
491 | if (configMember == null) | ||
492 | { | ||
493 | configMember = | ||
494 | new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", | ||
495 | loadConfigurationOptions, handleIncomingConfiguration); | ||
496 | configMember.performConfigurationRetrieve(); | ||
497 | } | ||
498 | } | ||
499 | |||
500 | public void loadConfigurationOptions() | ||
501 | { | ||
502 | configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", | ||
503 | "0.0", true); | ||
504 | configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", | ||
505 | true); | ||
506 | configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, | ||
507 | "", "0", true); | ||
508 | configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40", | ||
509 | true); | ||
510 | |||
511 | configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, | ||
512 | "", "1.0", true); | ||
513 | configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", | ||
514 | "0", true); | ||
515 | configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", | ||
516 | "0", true); | ||
517 | configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", | ||
518 | "0", true); | ||
519 | configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21", | ||
520 | true); | ||
521 | configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", | ||
522 | true); | ||
523 | configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, | ||
524 | "", "0", true); | ||
525 | configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, | ||
526 | "", "0", true); | ||
527 | configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", | ||
528 | "false", true); | ||
529 | configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, | ||
530 | "", "1", true); | ||
531 | configMember.addConfigurationOption("region_water_height", | ||
532 | ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true); | ||
533 | configMember.addConfigurationOption("region_allow_terraform", | ||
534 | ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true); | ||
535 | |||
536 | configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", | ||
537 | "b8d3965a-ad78-bf43-699b-bff8eca6c975", true); | ||
538 | configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", | ||
539 | "abb783e6-3e93-26c0-248a-247666855da3", true); | ||
540 | configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", | ||
541 | "179cdabd-398a-9b6b-1391-4dc333ba321f", true); | ||
542 | configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", | ||
543 | "beb169c7-11ea-fff2-efe5-0f24dc881df2", true); | ||
544 | |||
545 | configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, | ||
546 | "", "00000000-0000-0000-0000-000000000000", true); | ||
547 | configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, | ||
548 | "", "00000000-0000-0000-0000-000000000000", true); | ||
549 | configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, | ||
550 | "", "00000000-0000-0000-0000-000000000000", true); | ||
551 | configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, | ||
552 | "", "00000000-0000-0000-0000-000000000000", true); | ||
553 | |||
554 | configMember.addConfigurationOption("terrain_start_height_0", | ||
555 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); | ||
556 | configMember.addConfigurationOption("terrain_start_height_1", | ||
557 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); | ||
558 | configMember.addConfigurationOption("terrain_start_height_2", | ||
559 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); | ||
560 | configMember.addConfigurationOption("terrain_start_height_3", | ||
561 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); | ||
562 | |||
563 | configMember.addConfigurationOption("terrain_height_range_0", | ||
564 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); | ||
565 | configMember.addConfigurationOption("terrain_height_range_1", | ||
566 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); | ||
567 | configMember.addConfigurationOption("terrain_height_range_2", | ||
568 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); | ||
569 | configMember.addConfigurationOption("terrain_height_range_3", | ||
570 | ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); | ||
571 | |||
572 | configMember.addConfigurationOption("terrain_file", | ||
573 | ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "", | ||
574 | "default.r32", true); | ||
575 | configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, | ||
576 | "", "60.0", true); | ||
577 | configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "", | ||
578 | "20.0", true); | ||
579 | configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, | ||
580 | "", "00000000-0000-0000-0000-000000000000", true); | ||
581 | } | ||
582 | |||
583 | public bool handleIncomingConfiguration(string configuration_key, object configuration_result) | ||
584 | { | ||
585 | switch (configuration_key) | ||
586 | { | ||
587 | case "billable_factor": | ||
588 | m_billableFactor = (float) configuration_result; | ||
589 | break; | ||
590 | case "estate_id": | ||
591 | m_estateID = (uint) configuration_result; | ||
592 | break; | ||
593 | case "parent_estate_id": | ||
594 | m_parentEstateID = (uint) configuration_result; | ||
595 | break; | ||
596 | case "max_agents": | ||
597 | m_maxAgents = (byte) configuration_result; | ||
598 | break; | ||
599 | |||
600 | case "object_bonus_factor": | ||
601 | m_objectBonusFactor = (float) configuration_result; | ||
602 | break; | ||
603 | case "redirect_grid_x": | ||
604 | m_redirectGridX = (int) configuration_result; | ||
605 | break; | ||
606 | case "redirect_grid_y": | ||
607 | m_redirectGridY = (int) configuration_result; | ||
608 | break; | ||
609 | case "region_flags": | ||
610 | m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result); | ||
611 | break; | ||
612 | case "sim_access": | ||
613 | m_simAccess = (Simulator.SimAccess) ((byte) configuration_result); | ||
614 | break; | ||
615 | case "sun_hour": | ||
616 | m_sunHour = (float) configuration_result; | ||
617 | break; | ||
618 | case "terrain_raise_limit": | ||
619 | m_terrainRaiseLimit = (float) configuration_result; | ||
620 | break; | ||
621 | case "terrain_lower_limit": | ||
622 | m_terrainLowerLimit = (float) configuration_result; | ||
623 | break; | ||
624 | case "use_fixed_sun": | ||
625 | m_useFixedSun = (bool) configuration_result; | ||
626 | break; | ||
627 | case "price_per_meter": | ||
628 | m_pricePerMeter = Convert.ToInt32(configuration_result); | ||
629 | break; | ||
630 | case "region_water_height": | ||
631 | m_regionWaterHeight = (ushort) configuration_result; | ||
632 | break; | ||
633 | case "region_allow_terraform": | ||
634 | m_regionAllowTerraform = (bool) configuration_result; | ||
635 | break; | ||
636 | |||
637 | case "terrain_base_0": | ||
638 | m_terrainBase0 = (LLUUID) configuration_result; | ||
639 | break; | ||
640 | case "terrain_base_1": | ||
641 | m_terrainBase1 = (LLUUID) configuration_result; | ||
642 | break; | ||
643 | case "terrain_base_2": | ||
644 | m_terrainBase2 = (LLUUID) configuration_result; | ||
645 | break; | ||
646 | case "terrain_base_3": | ||
647 | m_terrainBase3 = (LLUUID) configuration_result; | ||
648 | break; | ||
649 | |||
650 | case "terrain_detail_0": | ||
651 | m_terrainDetail0 = (LLUUID) configuration_result; | ||
652 | break; | ||
653 | case "terrain_detail_1": | ||
654 | m_terrainDetail1 = (LLUUID) configuration_result; | ||
655 | break; | ||
656 | case "terrain_detail_2": | ||
657 | m_terrainDetail2 = (LLUUID) configuration_result; | ||
658 | break; | ||
659 | case "terrain_detail_3": | ||
660 | m_terrainDetail3 = (LLUUID) configuration_result; | ||
661 | break; | ||
662 | |||
663 | case "terrain_start_height_0": | ||
664 | m_terrainStartHeight0 = (float) configuration_result; | ||
665 | break; | ||
666 | case "terrain_start_height_1": | ||
667 | m_terrainStartHeight1 = (float) configuration_result; | ||
668 | break; | ||
669 | case "terrain_start_height_2": | ||
670 | m_terrainStartHeight2 = (float) configuration_result; | ||
671 | break; | ||
672 | case "terrain_start_height_3": | ||
673 | m_terrainStartHeight3 = (float) configuration_result; | ||
674 | break; | ||
675 | |||
676 | case "terrain_height_range_0": | ||
677 | m_terrainHeightRange0 = (float) configuration_result; | ||
678 | break; | ||
679 | case "terrain_height_range_1": | ||
680 | m_terrainHeightRange1 = (float) configuration_result; | ||
681 | break; | ||
682 | case "terrain_height_range_2": | ||
683 | m_terrainHeightRange2 = (float) configuration_result; | ||
684 | break; | ||
685 | case "terrain_height_range_3": | ||
686 | m_terrainHeightRange3 = (float) configuration_result; | ||
687 | break; | ||
688 | |||
689 | case "terrain_file": | ||
690 | m_terrainFile = (string) configuration_result; | ||
691 | break; | ||
692 | case "terrain_multiplier": | ||
693 | m_terrainMultiplier = Convert.ToDouble(configuration_result); | ||
694 | break; | ||
695 | case "water_height": | ||
696 | double tmpVal = (double) configuration_result; | ||
697 | m_waterHeight = (float) tmpVal; | ||
698 | break; | ||
699 | case "terrain_image_id": | ||
700 | m_terrainImageID = (LLUUID) configuration_result; | ||
701 | break; | ||
702 | } | ||
703 | |||
704 | return true; | ||
705 | } | ||
706 | } | ||
707 | } \ No newline at end of file | ||