aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/General/Types
diff options
context:
space:
mode:
authorMW2007-10-29 21:46:25 +0000
committerMW2007-10-29 21:46:25 +0000
commit3d8219f6c7faa256d6a13ab7925f75d83af95b78 (patch)
treeea507efa88aa7e526575469a6ce913fdc0c0358e /OpenSim/Framework/General/Types
parentFixed a bug in SQLAssetServer that only seemed to be a problem when running u... (diff)
downloadopensim-SC_OLD-3d8219f6c7faa256d6a13ab7925f75d83af95b78.zip
opensim-SC_OLD-3d8219f6c7faa256d6a13ab7925f75d83af95b78.tar.gz
opensim-SC_OLD-3d8219f6c7faa256d6a13ab7925f75d83af95b78.tar.bz2
opensim-SC_OLD-3d8219f6c7faa256d6a13ab7925f75d83af95b78.tar.xz
as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/General/AgentCiruitData.cs (renamed from OpenSim/Framework/General/Types/AgentCiruitData.cs)98
-rw-r--r--OpenSim/Framework/General/AgentWearable.cs (renamed from OpenSim/Framework/General/Types/AgentWearable.cs)144
-rw-r--r--OpenSim/Framework/General/AssetBase.cs (renamed from OpenSim/Framework/General/Types/AssetBase.cs)112
-rw-r--r--OpenSim/Framework/General/AssetLandmark.cs (renamed from OpenSim/Framework/General/Types/AssetLandmark.cs)118
-rw-r--r--OpenSim/Framework/General/AssetStorage.cs (renamed from OpenSim/Framework/General/Types/AssetStorage.cs)94
-rw-r--r--OpenSim/Framework/General/EstateSettings.cs (renamed from OpenSim/Framework/General/Types/EstateSettings.cs)1475
-rw-r--r--OpenSim/Framework/General/InventoryItemBase.cs (renamed from OpenSim/Framework/General/Types/InventoryItemBase.cs)456
-rw-r--r--OpenSim/Framework/General/LandData.cs (renamed from OpenSim/Framework/General/Types/LandData.cs)240
-rw-r--r--OpenSim/Framework/General/Login.cs (renamed from OpenSim/Framework/General/Types/Login.cs)100
-rw-r--r--OpenSim/Framework/General/MapBlockData.cs (renamed from OpenSim/Framework/General/Types/MapBlockData.cs)102
-rw-r--r--OpenSim/Framework/General/NeighbourInfo.cs (renamed from OpenSim/Framework/General/Types/NeighbourInfo.cs)84
-rw-r--r--OpenSim/Framework/General/NetworkServersInfo.cs (renamed from OpenSim/Framework/General/Types/NetworkServersInfo.cs)188
-rw-r--r--OpenSim/Framework/General/PrimitiveBaseShape.cs (renamed from OpenSim/Framework/General/Types/PrimitiveBaseShape.cs)448
-rw-r--r--OpenSim/Framework/General/RegionHandle.cs (renamed from OpenSim/Framework/General/Types/RegionHandle.cs)298
-rw-r--r--OpenSim/Framework/General/RegionInfo.cs (renamed from OpenSim/Framework/General/Types/RegionInfo.cs)697
-rw-r--r--OpenSim/Framework/General/UUID.cs (renamed from OpenSim/Framework/General/Types/UUID.cs)310
-rw-r--r--OpenSim/Framework/General/UserProfileData.cs (renamed from OpenSim/Framework/General/Types/UserProfileData.cs)380
17 files changed, 2670 insertions, 2674 deletions
diff --git a/OpenSim/Framework/General/Types/AgentCiruitData.cs b/OpenSim/Framework/General/AgentCiruitData.cs
index 5695197..0924d36 100644
--- a/OpenSim/Framework/General/Types/AgentCiruitData.cs
+++ b/OpenSim/Framework/General/AgentCiruitData.cs
@@ -1,49 +1,49 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 28using libsecondlife;
29using System; 29using System;
30 30
31namespace OpenSim.Framework.Types 31namespace OpenSim.Framework
32{ 32{
33 [Serializable] 33 [Serializable]
34 public class AgentCircuitData 34 public class AgentCircuitData
35 { 35 {
36 public AgentCircuitData() { } 36 public AgentCircuitData() { }
37 public LLUUID AgentID; 37 public LLUUID AgentID;
38 public LLUUID SessionID; 38 public LLUUID SessionID;
39 public LLUUID SecureSessionID; 39 public LLUUID SecureSessionID;
40 public LLVector3 startpos; 40 public LLVector3 startpos;
41 public string firstname; 41 public string firstname;
42 public string lastname; 42 public string lastname;
43 public uint circuitcode; 43 public uint circuitcode;
44 public bool child; 44 public bool child;
45 public LLUUID InventoryFolder; 45 public LLUUID InventoryFolder;
46 public LLUUID BaseFolder; 46 public LLUUID BaseFolder;
47 public string CapsPath = ""; 47 public string CapsPath = "";
48 } 48 }
49} 49}
diff --git a/OpenSim/Framework/General/Types/AgentWearable.cs b/OpenSim/Framework/General/AgentWearable.cs
index ecd45d5..af8a630 100644
--- a/OpenSim/Framework/General/Types/AgentWearable.cs
+++ b/OpenSim/Framework/General/AgentWearable.cs
@@ -1,72 +1,72 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework.Types 30namespace OpenSim.Framework
31{ 31{
32 public class AvatarWearable 32 public class AvatarWearable
33 { 33 {
34 public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000"); 34 public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
35 public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000"); 35 public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
36 36
37 public AvatarWearable() 37 public AvatarWearable()
38 { 38 {
39 39
40 } 40 }
41 41
42 public AvatarWearable( LLUUID itemId, LLUUID assetId ) 42 public AvatarWearable( LLUUID itemId, LLUUID assetId )
43 { 43 {
44 AssetID = assetId; 44 AssetID = assetId;
45 ItemID = itemId; 45 ItemID = itemId;
46 } 46 }
47 47
48 public static AvatarWearable[] DefaultWearables 48 public static AvatarWearable[] DefaultWearables
49 { 49 {
50 get 50 get
51 { 51 {
52 AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these 52 AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
53 for (int i = 0; i < 13; i++) 53 for (int i = 0; i < 13; i++)
54 { 54 {
55 defaultWearables[i] = new AvatarWearable(); 55 defaultWearables[i] = new AvatarWearable();
56 } 56 }
57 defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"); 57 defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
58 defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9"); 58 defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9");
59 59
60 defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9"); 60 defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
61 defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb"); 61 defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
62 62
63 defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000"); 63 defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000");
64 defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110"); 64 defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110");
65 65
66 defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111"); 66 defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111");
67 defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120"); 67 defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120");
68 return defaultWearables; 68 return defaultWearables;
69 } 69 }
70 } 70 }
71 } 71 }
72} 72}
diff --git a/OpenSim/Framework/General/Types/AssetBase.cs b/OpenSim/Framework/General/AssetBase.cs
index c34887c..9c69eb8 100644
--- a/OpenSim/Framework/General/Types/AssetBase.cs
+++ b/OpenSim/Framework/General/AssetBase.cs
@@ -1,56 +1,56 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework.Types 31namespace OpenSim.Framework
32{ 32{
33 [Serializable] 33 [Serializable]
34 public class AssetBase 34 public class AssetBase
35 { 35 {
36 public byte[] Data; 36 public byte[] Data;
37 public LLUUID FullID; 37 public LLUUID FullID;
38 public sbyte Type; 38 public sbyte Type;
39 public sbyte InvType; 39 public sbyte InvType;
40 public string Name = ""; 40 public string Name = "";
41 public string Description = ""; 41 public string Description = "";
42 public bool Local = false; 42 public bool Local = false;
43 public bool Temporary = false; 43 public bool Temporary = false;
44 44
45 public AssetBase() 45 public AssetBase()
46 { 46 {
47 47
48 } 48 }
49 49
50 public AssetBase(LLUUID assetId, string name) 50 public AssetBase(LLUUID assetId, string name)
51 { 51 {
52 FullID = assetId; 52 FullID = assetId;
53 Name = name; 53 Name = name;
54 } 54 }
55 } 55 }
56} 56}
diff --git a/OpenSim/Framework/General/Types/AssetLandmark.cs b/OpenSim/Framework/General/AssetLandmark.cs
index 0c9fadd..9f05531 100644
--- a/OpenSim/Framework/General/Types/AssetLandmark.cs
+++ b/OpenSim/Framework/General/AssetLandmark.cs
@@ -1,59 +1,59 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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.Text; 28using System.Text;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework.Types 31namespace OpenSim.Framework
32{ 32{
33 public class AssetLandmark : AssetBase 33 public class AssetLandmark : AssetBase
34 { 34 {
35 public int Version; 35 public int Version;
36 public LLVector3 Position; 36 public LLVector3 Position;
37 public LLUUID RegionID; 37 public LLUUID RegionID;
38 38
39 public AssetLandmark(AssetBase a) 39 public AssetLandmark(AssetBase a)
40 { 40 {
41 this.Data = a.Data; 41 this.Data = a.Data;
42 this.FullID = a.FullID; 42 this.FullID = a.FullID;
43 this.Type = a.Type; 43 this.Type = a.Type;
44 this.InvType = a.InvType; 44 this.InvType = a.InvType;
45 this.Name = a.Name; 45 this.Name = a.Name;
46 this.Description = a.Description; 46 this.Description = a.Description;
47 InternData(); 47 InternData();
48 } 48 }
49 49
50 private void InternData() 50 private void InternData()
51 { 51 {
52 string temp = Encoding.UTF8.GetString(Data).Trim(); 52 string temp = Encoding.UTF8.GetString(Data).Trim();
53 string[] parts = temp.Split('\n'); 53 string[] parts = temp.Split('\n');
54 int.TryParse(parts[0].Substring(17, 1), out Version); 54 int.TryParse(parts[0].Substring(17, 1), out Version);
55 LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID); 55 LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID);
56 LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position); 56 LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position);
57 } 57 }
58 } 58 }
59} 59}
diff --git a/OpenSim/Framework/General/Types/AssetStorage.cs b/OpenSim/Framework/General/AssetStorage.cs
index 54b9593..e3193ed 100644
--- a/OpenSim/Framework/General/Types/AssetStorage.cs
+++ b/OpenSim/Framework/General/AssetStorage.cs
@@ -1,47 +1,47 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework.Types 30namespace OpenSim.Framework
31{ 31{
32 public class AssetStorage 32 public class AssetStorage
33 { 33 {
34 34
35 public AssetStorage() { 35 public AssetStorage() {
36 } 36 }
37 37
38 public AssetStorage(LLUUID assetUUID) { 38 public AssetStorage(LLUUID assetUUID) {
39 UUID=assetUUID; 39 UUID=assetUUID;
40 } 40 }
41 41
42 public byte[] Data; 42 public byte[] Data;
43 public sbyte Type; 43 public sbyte Type;
44 public string Name; 44 public string Name;
45 public LLUUID UUID; 45 public LLUUID UUID;
46 } 46 }
47} 47}
diff --git a/OpenSim/Framework/General/Types/EstateSettings.cs b/OpenSim/Framework/General/EstateSettings.cs
index 2675e52..3e99424 100644
--- a/OpenSim/Framework/General/Types/EstateSettings.cs
+++ b/OpenSim/Framework/General/EstateSettings.cs
@@ -1,738 +1,737 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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.IO; 28using System.IO;
29using libsecondlife; 29using libsecondlife;
30using OpenSim.Framework.Configuration; 30using OpenSim.Framework;
31using OpenSim.Framework.Utilities; 31using System.Globalization;
32using System.Globalization; 32
33 33namespace OpenSim.Framework
34namespace OpenSim.Framework.Types 34{
35{ 35 public class EstateSettings
36 public class EstateSettings 36 {
37 { 37
38 38 //Settings to this island
39 //Settings to this island 39 private float m_billableFactor;
40 private float m_billableFactor; 40 public float billableFactor
41 public float billableFactor 41 {
42 { 42 get
43 get 43 {
44 { 44 return m_billableFactor;
45 return m_billableFactor; 45 }
46 } 46 set
47 set 47 {
48 { 48 m_billableFactor = value;
49 m_billableFactor = value; 49 configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString());
50 configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString()); 50 }
51 } 51 }
52 } 52
53 53
54 54 private uint m_estateID;
55 private uint m_estateID; 55 public uint estateID
56 public uint estateID 56 {
57 { 57 get
58 get 58 {
59 { 59 return m_estateID;
60 return m_estateID; 60 }
61 } 61 set
62 set 62 {
63 { 63 m_estateID = value;
64 m_estateID = value; 64 configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString());
65 configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString()); 65 }
66 } 66 }
67 } 67
68 68
69 69 private uint m_parentEstateID;
70 private uint m_parentEstateID; 70 public uint parentEstateID
71 public uint parentEstateID 71 {
72 { 72 get
73 get 73 {
74 { 74 return m_parentEstateID;
75 return m_parentEstateID; 75 }
76 } 76 set
77 set 77 {
78 { 78 m_parentEstateID = value;
79 m_parentEstateID = value; 79 configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString());
80 configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString()); 80 }
81 } 81 }
82 } 82
83 83 private byte m_maxAgents;
84 private byte m_maxAgents; 84 public byte maxAgents
85 public byte maxAgents 85 {
86 { 86 get
87 get 87 {
88 { 88 return m_maxAgents;
89 return m_maxAgents; 89 }
90 } 90 set
91 set 91 {
92 { 92 m_maxAgents = value;
93 m_maxAgents = value; 93 configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
94 configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString()); 94 }
95 } 95 }
96 } 96
97 97 private float m_objectBonusFactor;
98 private float m_objectBonusFactor; 98 public float objectBonusFactor
99 public float objectBonusFactor 99 {
100 { 100 get
101 get 101 {
102 { 102 return m_objectBonusFactor;
103 return m_objectBonusFactor; 103 }
104 } 104 set
105 set 105 {
106 { 106 m_objectBonusFactor = value;
107 m_objectBonusFactor = value; 107 configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
108 configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString()); 108 }
109 } 109 }
110 } 110
111 111 private int m_redirectGridX;
112 private int m_redirectGridX; 112 public int redirectGridX
113 public int redirectGridX 113 {
114 { 114 get
115 get 115 {
116 { 116 return m_redirectGridX;
117 return m_redirectGridX; 117 }
118 } 118 set
119 set 119 {
120 { 120 m_redirectGridX = value;
121 m_redirectGridX = value; 121 configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString());
122 configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString()); 122 }
123 } 123 }
124 } 124
125 125 private int m_redirectGridY;
126 private int m_redirectGridY; 126 public int redirectGridY
127 public int redirectGridY 127 {
128 { 128 get
129 get 129 {
130 { 130 return m_redirectGridY;
131 return m_redirectGridY; 131 }
132 } 132 set
133 set 133 {
134 { 134 m_redirectGridY = value;
135 m_redirectGridY = value; 135 configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString());
136 configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString()); 136 }
137 } 137 }
138 } 138
139 139 private Simulator.RegionFlags m_regionFlags;
140 private Simulator.RegionFlags m_regionFlags; 140 public Simulator.RegionFlags regionFlags
141 public Simulator.RegionFlags regionFlags 141 {
142 { 142 get
143 get 143 {
144 { 144 return m_regionFlags;
145 return m_regionFlags; 145 }
146 } 146 set
147 set 147 {
148 { 148 m_regionFlags = value;
149 m_regionFlags = value; 149 configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString());
150 configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString()); 150 }
151 } 151 }
152 } 152
153 153
154 154 private Simulator.SimAccess m_simAccess;
155 private Simulator.SimAccess m_simAccess; 155 public Simulator.SimAccess simAccess
156 public Simulator.SimAccess simAccess 156 {
157 { 157 get
158 get 158 {
159 { 159 return m_simAccess;
160 return m_simAccess; 160 }
161 } 161 set
162 set 162 {
163 { 163 m_simAccess = value;
164 m_simAccess = value; 164 configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString());
165 configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString()); 165 }
166 } 166 }
167 } 167
168 168 private float m_sunHour;
169 private float m_sunHour; 169 public float sunHour
170 public float sunHour 170 {
171 { 171 get
172 get 172 {
173 { 173 return m_sunHour;
174 return m_sunHour; 174 }
175 } 175 set
176 set 176 {
177 { 177 m_sunHour = value;
178 m_sunHour = value; 178 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
179 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString()); 179 }
180 } 180 }
181 } 181
182 182 private float m_terrainRaiseLimit;
183 private float m_terrainRaiseLimit; 183 public float terrainRaiseLimit
184 public float terrainRaiseLimit 184 {
185 { 185 get
186 get 186 {
187 { 187 return m_terrainRaiseLimit;
188 return m_terrainRaiseLimit; 188 }
189 } 189 set
190 set 190 {
191 { 191 m_terrainRaiseLimit = value;
192 m_terrainRaiseLimit = value; 192 configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
193 configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString()); 193 }
194 } 194 }
195 } 195
196 196 private float m_terrainLowerLimit;
197 private float m_terrainLowerLimit; 197 public float terrainLowerLimit
198 public float terrainLowerLimit 198 {
199 { 199 get
200 get 200 {
201 { 201 return m_terrainLowerLimit;
202 return m_terrainLowerLimit; 202 }
203 } 203 set
204 set 204 {
205 { 205 m_terrainLowerLimit = value;
206 m_terrainLowerLimit = value; 206 configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
207 configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString()); 207 }
208 } 208 }
209 } 209
210 210 private bool m_useFixedSun;
211 private bool m_useFixedSun; 211 public bool useFixedSun
212 public bool useFixedSun 212 {
213 { 213 get
214 get 214 {
215 { 215 return m_useFixedSun;
216 return m_useFixedSun; 216 }
217 } 217 set
218 set 218 {
219 { 219 m_useFixedSun = value;
220 m_useFixedSun = value; 220 configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
221 configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString()); 221 }
222 } 222 }
223 } 223
224 224
225 225 private int m_pricePerMeter;
226 private int m_pricePerMeter; 226 public int pricePerMeter
227 public int pricePerMeter 227 {
228 { 228 get
229 get 229 {
230 { 230 return m_pricePerMeter;
231 return m_pricePerMeter; 231 }
232 } 232 set
233 set 233 {
234 { 234 m_pricePerMeter = value;
235 m_pricePerMeter = value; 235 configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString());
236 configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString()); 236 }
237 } 237 }
238 } 238
239 239
240 240 private ushort m_regionWaterHeight;
241 private ushort m_regionWaterHeight; 241 public ushort regionWaterHeight
242 public ushort regionWaterHeight 242 {
243 { 243 get
244 get 244 {
245 { 245 return m_regionWaterHeight;
246 return m_regionWaterHeight; 246 }
247 } 247 set
248 set 248 {
249 { 249 m_regionWaterHeight = value;
250 m_regionWaterHeight = value; 250 configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
251 configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString()); 251 }
252 } 252 }
253 } 253
254 254
255 255 private bool m_regionAllowTerraform;
256 private bool m_regionAllowTerraform; 256 public bool regionAllowTerraform
257 public bool regionAllowTerraform 257 {
258 { 258 get
259 get 259 {
260 { 260 return m_regionAllowTerraform;
261 return m_regionAllowTerraform; 261 }
262 } 262 set
263 set 263 {
264 { 264 m_regionAllowTerraform = value;
265 m_regionAllowTerraform = value; 265 configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
266 configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString()); 266 }
267 } 267 }
268 } 268
269 269
270 270 // Region Information
271 // Region Information 271 // Low resolution 'base' textures. No longer used.
272 // Low resolution 'base' textures. No longer used. 272 private LLUUID m_terrainBase0;
273 private LLUUID m_terrainBase0; 273 public LLUUID terrainBase0
274 public LLUUID terrainBase0 274 {
275 { 275 get
276 get 276 {
277 { 277 return m_terrainBase0;
278 return m_terrainBase0; 278 }
279 } 279 set
280 set 280 {
281 { 281 m_terrainBase0 = value;
282 m_terrainBase0 = value; 282 configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString());
283 configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString()); 283 }
284 } 284 }
285 } 285
286 286 private LLUUID m_terrainBase1;
287 private LLUUID m_terrainBase1; 287 public LLUUID terrainBase1
288 public LLUUID terrainBase1 288 {
289 { 289 get
290 get 290 {
291 { 291 return m_terrainBase1;
292 return m_terrainBase1; 292 }
293 } 293 set
294 set 294 {
295 { 295 m_terrainBase1 = value;
296 m_terrainBase1 = value; 296 configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString());
297 configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString()); 297 }
298 } 298 }
299 } 299
300 300 private LLUUID m_terrainBase2;
301 private LLUUID m_terrainBase2; 301 public LLUUID terrainBase2
302 public LLUUID terrainBase2 302 {
303 { 303 get
304 get 304 {
305 { 305 return m_terrainBase2;
306 return m_terrainBase2; 306 }
307 } 307 set
308 set 308 {
309 { 309 m_terrainBase2 = value;
310 m_terrainBase2 = value; 310 configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString());
311 configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString()); 311 }
312 } 312 }
313 } 313
314 314 private LLUUID m_terrainBase3;
315 private LLUUID m_terrainBase3; 315 public LLUUID terrainBase3
316 public LLUUID terrainBase3 316 {
317 { 317 get
318 get 318 {
319 { 319 return m_terrainBase3;
320 return m_terrainBase3; 320 }
321 } 321 set
322 set 322 {
323 { 323 m_terrainBase3 = value;
324 m_terrainBase3 = value; 324 configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString());
325 configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString()); 325 }
326 } 326 }
327 } 327
328 328
329 329 // Higher resolution terrain textures
330 // Higher resolution terrain textures 330 private LLUUID m_terrainDetail0;
331 private LLUUID m_terrainDetail0; 331 public LLUUID terrainDetail0
332 public LLUUID terrainDetail0 332 {
333 { 333 get
334 get 334 {
335 { 335 return m_terrainDetail0;
336 return m_terrainDetail0; 336 }
337 } 337 set
338 set 338 {
339 { 339
340 340 m_terrainDetail0 = value;
341 m_terrainDetail0 = value; 341 configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString());
342 configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString()); 342 }
343 } 343 }
344 } 344
345 345 private LLUUID m_terrainDetail1;
346 private LLUUID m_terrainDetail1; 346 public LLUUID terrainDetail1
347 public LLUUID terrainDetail1 347 {
348 { 348 get
349 get 349 {
350 { 350 return m_terrainDetail1;
351 return m_terrainDetail1; 351 }
352 } 352 set
353 set 353 {
354 { 354 m_terrainDetail1 = value;
355 m_terrainDetail1 = value; 355 configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString());
356 configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString()); 356 }
357 } 357 }
358 } 358 private LLUUID m_terrainDetail2;
359 private LLUUID m_terrainDetail2; 359 public LLUUID terrainDetail2
360 public LLUUID terrainDetail2 360 {
361 { 361 get
362 get 362 {
363 { 363 return m_terrainDetail2;
364 return m_terrainDetail2; 364 }
365 } 365 set
366 set 366 {
367 { 367 m_terrainDetail2 = value;
368 m_terrainDetail2 = value; 368 configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString());
369 configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString()); 369 }
370 } 370 }
371 } 371 private LLUUID m_terrainDetail3;
372 private LLUUID m_terrainDetail3; 372 public LLUUID terrainDetail3
373 public LLUUID terrainDetail3 373 {
374 { 374 get
375 get 375 {
376 { 376 return m_terrainDetail3;
377 return m_terrainDetail3; 377 }
378 } 378 set
379 set 379 {
380 { 380 m_terrainDetail3 = value;
381 m_terrainDetail3 = value; 381 configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString());
382 configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString()); 382 }
383 } 383 }
384 } 384
385 385 // First quad - each point is bilinearly interpolated at each meter of terrain
386 // First quad - each point is bilinearly interpolated at each meter of terrain 386 private float m_terrainStartHeight0;
387 private float m_terrainStartHeight0; 387 public float terrainStartHeight0
388 public float terrainStartHeight0 388 {
389 { 389 get
390 get 390 {
391 { 391 return m_terrainStartHeight0;
392 return m_terrainStartHeight0; 392 }
393 } 393 set
394 set 394 {
395 { 395 m_terrainStartHeight0 = value;
396 m_terrainStartHeight0 = value; 396 configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString());
397 configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString()); 397 }
398 } 398 }
399 } 399
400 400
401 401 private float m_terrainStartHeight1;
402 private float m_terrainStartHeight1; 402 public float terrainStartHeight1
403 public float terrainStartHeight1 403 {
404 { 404 get
405 get 405 {
406 { 406 return m_terrainStartHeight1;
407 return m_terrainStartHeight1; 407 }
408 } 408 set
409 set 409 {
410 { 410 m_terrainStartHeight1 = value;
411 m_terrainStartHeight1 = value; 411 configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString());
412 configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString()); 412 }
413 } 413 }
414 } 414
415 415 private float m_terrainStartHeight2;
416 private float m_terrainStartHeight2; 416 public float terrainStartHeight2
417 public float terrainStartHeight2 417 {
418 { 418 get
419 get 419 {
420 { 420 return m_terrainStartHeight2;
421 return m_terrainStartHeight2; 421 }
422 } 422 set
423 set 423 {
424 { 424 m_terrainStartHeight2 = value;
425 m_terrainStartHeight2 = value; 425 configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString());
426 configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString()); 426 }
427 } 427 }
428 } 428
429 429 private float m_terrainStartHeight3;
430 private float m_terrainStartHeight3; 430 public float terrainStartHeight3
431 public float terrainStartHeight3 431 {
432 { 432 get
433 get 433 {
434 { 434 return m_terrainStartHeight3;
435 return m_terrainStartHeight3; 435 }
436 } 436 set
437 set 437 {
438 { 438 m_terrainStartHeight3 = value;
439 m_terrainStartHeight3 = value; 439 configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString());
440 configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString()); 440 }
441 } 441 }
442 } 442 // Second quad - also bilinearly interpolated.
443 // Second quad - also bilinearly interpolated. 443 // Terrain texturing is done that:
444 // Terrain texturing is done that: 444 // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y]
445 // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y] 445 private float m_terrainHeightRange0;
446 private float m_terrainHeightRange0; 446 public float terrainHeightRange0
447 public float terrainHeightRange0 447 {
448 { 448 get
449 get 449 {
450 { 450 return m_terrainHeightRange0;
451 return m_terrainHeightRange0; 451 }
452 } 452 set
453 set 453 {
454 { 454 m_terrainHeightRange0 = value;
455 m_terrainHeightRange0 = value; 455 configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString());
456 configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString()); 456 }
457 } 457 }
458 } 458
459 459 private float m_terrainHeightRange1;
460 private float m_terrainHeightRange1; 460 public float terrainHeightRange1
461 public float terrainHeightRange1 461 {
462 { 462 get
463 get 463 {
464 { 464 return m_terrainHeightRange1;
465 return m_terrainHeightRange1; 465 }
466 } 466 set
467 set 467 {
468 { 468 m_terrainHeightRange1 = value;
469 m_terrainHeightRange1 = value; 469 configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString());
470 configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString()); 470 }
471 } 471 }
472 } 472
473 473 private float m_terrainHeightRange2;
474 private float m_terrainHeightRange2; 474 public float terrainHeightRange2
475 public float terrainHeightRange2 475 {
476 { 476 get
477 get 477 {
478 { 478 return m_terrainHeightRange2;
479 return m_terrainHeightRange2; 479 }
480 } 480 set
481 set 481 {
482 { 482 m_terrainHeightRange2 = value;
483 m_terrainHeightRange2 = value; 483 configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString());
484 configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString()); 484 }
485 } 485 }
486 } 486
487 487 private float m_terrainHeightRange3;
488 private float m_terrainHeightRange3; 488 public float terrainHeightRange3
489 public float terrainHeightRange3 489 {
490 { 490 get
491 get 491 {
492 { 492 return m_terrainHeightRange3;
493 return m_terrainHeightRange3; 493 }
494 } 494 set
495 set 495 {
496 { 496 m_terrainHeightRange3 = value;
497 m_terrainHeightRange3 = value; 497 configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString());
498 configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString()); 498 }
499 } 499 }
500 } 500 // Terrain Default (Must be in F32 Format!)
501 // Terrain Default (Must be in F32 Format!) 501 private string m_terrainFile;
502 private string m_terrainFile; 502 public string terrainFile
503 public string terrainFile 503 {
504 { 504 get
505 get 505 {
506 { 506 return m_terrainFile;
507 return m_terrainFile; 507 }
508 } 508 set
509 set 509 {
510 { 510 m_terrainFile = value;
511 m_terrainFile = value; 511 configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString());
512 configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString()); 512 }
513 } 513 }
514 } 514
515 515 private double m_terrainMultiplier;
516 private double m_terrainMultiplier; 516 public double terrainMultiplier
517 public double terrainMultiplier 517 {
518 { 518 get
519 get 519 {
520 { 520 return m_terrainMultiplier;
521 return m_terrainMultiplier; 521 }
522 } 522 set
523 set 523 {
524 { 524 m_terrainMultiplier = value;
525 m_terrainMultiplier = value; 525 configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString());
526 configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString()); 526 }
527 } 527 }
528 } 528
529 529 private float m_waterHeight;
530 private float m_waterHeight; 530 public float waterHeight
531 public float waterHeight 531 {
532 { 532 get
533 get 533 {
534 { 534 return m_waterHeight;
535 return m_waterHeight; 535 }
536 } 536 set
537 set 537 {
538 { 538 m_waterHeight = value;
539 m_waterHeight = value; 539 configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
540 configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString()); 540 }
541 } 541 }
542 } 542
543 543 private LLUUID m_terrainImageID;
544 private LLUUID m_terrainImageID; 544 public LLUUID terrainImageID
545 public LLUUID terrainImageID 545 {
546 { 546 get
547 get 547 {
548 { 548 return m_terrainImageID;
549 return m_terrainImageID; 549 }
550 } 550 set
551 set 551 {
552 { 552 m_terrainImageID = value;
553 m_terrainImageID = value; 553 configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
554 configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString()); 554 }
555 } 555 }
556 } 556 private ConfigurationMember configMember;
557 private ConfigurationMember configMember; 557 public EstateSettings()
558 public EstateSettings() 558 {
559 { 559 // Temporary hack to prevent multiple loadings.
560 // Temporary hack to prevent multiple loadings. 560 if (configMember == null)
561 if (configMember == null) 561 {
562 { 562 configMember = new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", this.loadConfigurationOptions, this.handleIncomingConfiguration);
563 configMember = new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", this.loadConfigurationOptions, this.handleIncomingConfiguration); 563 configMember.performConfigurationRetrieve();
564 configMember.performConfigurationRetrieve(); 564 }
565 } 565 }
566 } 566
567 567 public void loadConfigurationOptions()
568 public void loadConfigurationOptions() 568 {
569 { 569 configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "","0.0",true);
570 configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "","0.0",true); 570 configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "","0",true);
571 configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "","0",true); 571 configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", true);
572 configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", true); 572 configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40", true);
573 configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40", true); 573
574 574 configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "1.0", true);
575 configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "1.0", true); 575 configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", "0", true);
576 configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", "0", true); 576 configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", "0", true);
577 configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", "0", true); 577 configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", true);
578 configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", true); 578 configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21", true);
579 configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21", true); 579 configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true);
580 configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true); 580 configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true);
581 configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true); 581 configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true);
582 configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", true); 582 configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "false", true);
583 configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "false", true); 583 configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "1", true);
584 configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "1", true); 584 configMember.addConfigurationOption("region_water_height", ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true);
585 configMember.addConfigurationOption("region_water_height", ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true); 585 configMember.addConfigurationOption("region_allow_terraform", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true);
586 configMember.addConfigurationOption("region_allow_terraform", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true); 586
587 587 configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
588 configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "b8d3965a-ad78-bf43-699b-bff8eca6c975", true); 588 configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "abb783e6-3e93-26c0-248a-247666855da3", true);
589 configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "abb783e6-3e93-26c0-248a-247666855da3", true); 589 configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "179cdabd-398a-9b6b-1391-4dc333ba321f", true);
590 configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "179cdabd-398a-9b6b-1391-4dc333ba321f", true); 590 configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "beb169c7-11ea-fff2-efe5-0f24dc881df2", true);
591 configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "beb169c7-11ea-fff2-efe5-0f24dc881df2", true); 591
592 592 configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true);
593 configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true); 593 configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true);
594 configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true); 594 configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true);
595 configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true); 595 configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true);
596 configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true); 596
597 597 configMember.addConfigurationOption("terrain_start_height_0", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
598 configMember.addConfigurationOption("terrain_start_height_0", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 598 configMember.addConfigurationOption("terrain_start_height_1", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
599 configMember.addConfigurationOption("terrain_start_height_1", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 599 configMember.addConfigurationOption("terrain_start_height_2", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
600 configMember.addConfigurationOption("terrain_start_height_2", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 600 configMember.addConfigurationOption("terrain_start_height_3", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
601 configMember.addConfigurationOption("terrain_start_height_3", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 601
602 602 configMember.addConfigurationOption("terrain_height_range_0", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
603 configMember.addConfigurationOption("terrain_height_range_0", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 603 configMember.addConfigurationOption("terrain_height_range_1", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
604 configMember.addConfigurationOption("terrain_height_range_1", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 604 configMember.addConfigurationOption("terrain_height_range_2", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
605 configMember.addConfigurationOption("terrain_height_range_2", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 605 configMember.addConfigurationOption("terrain_height_range_3", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
606 configMember.addConfigurationOption("terrain_height_range_3", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 606
607 607 configMember.addConfigurationOption("terrain_file", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "", "default.r32", true);
608 configMember.addConfigurationOption("terrain_file", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "", "default.r32", true); 608 configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
609 configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 609 configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "", "20.0", true);
610 configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "", "20.0", true); 610 configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true);
611 configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", "00000000-0000-0000-0000-000000000000", true); 611 }
612 } 612
613 613 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
614 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 614 {
615 { 615 switch (configuration_key)
616 switch (configuration_key) 616 {
617 { 617 case "billable_factor":
618 case "billable_factor": 618 this.m_billableFactor = (float)configuration_result;
619 this.m_billableFactor = (float)configuration_result; 619 break;
620 break; 620 case "estate_id":
621 case "estate_id": 621 this.m_estateID = (uint)configuration_result;
622 this.m_estateID = (uint)configuration_result; 622 break;
623 break; 623 case "parent_estate_id":
624 case "parent_estate_id": 624 this.m_parentEstateID = (uint)configuration_result;
625 this.m_parentEstateID = (uint)configuration_result; 625 break;
626 break; 626 case "max_agents":
627 case "max_agents": 627 this.m_maxAgents = (byte)configuration_result;
628 this.m_maxAgents = (byte)configuration_result; 628 break;
629 break; 629
630 630 case "object_bonus_factor":
631 case "object_bonus_factor": 631 this.m_objectBonusFactor = (float)configuration_result;
632 this.m_objectBonusFactor = (float)configuration_result; 632 break;
633 break; 633 case "redirect_grid_x":
634 case "redirect_grid_x": 634 this.m_redirectGridX = (int)configuration_result;
635 this.m_redirectGridX = (int)configuration_result; 635 break;
636 break; 636 case "redirect_grid_y":
637 case "redirect_grid_y": 637 this.m_redirectGridY = (int)configuration_result;
638 this.m_redirectGridY = (int)configuration_result; 638 break;
639 break; 639 case "region_flags":
640 case "region_flags": 640 this.m_regionFlags = (Simulator.RegionFlags)((uint)configuration_result);
641 this.m_regionFlags = (Simulator.RegionFlags)((uint)configuration_result); 641 break;
642 break; 642 case "sim_access":
643 case "sim_access": 643 this.m_simAccess = (Simulator.SimAccess)((byte)configuration_result);
644 this.m_simAccess = (Simulator.SimAccess)((byte)configuration_result); 644 break;
645 break; 645 case "sun_hour":
646 case "sun_hour": 646 this.m_sunHour = (float)configuration_result;
647 this.m_sunHour = (float)configuration_result; 647 break;
648 break; 648 case "terrain_raise_limit":
649 case "terrain_raise_limit": 649 this.m_terrainRaiseLimit = (float)configuration_result;
650 this.m_terrainRaiseLimit = (float)configuration_result; 650 break;
651 break; 651 case "terrain_lower_limit":
652 case "terrain_lower_limit": 652 this.m_terrainLowerLimit = (float)configuration_result;
653 this.m_terrainLowerLimit = (float)configuration_result; 653 break;
654 break; 654 case "use_fixed_sun":
655 case "use_fixed_sun": 655 this.m_useFixedSun = (bool)configuration_result;
656 this.m_useFixedSun = (bool)configuration_result; 656 break;
657 break; 657 case "price_per_meter":
658 case "price_per_meter": 658 this.m_pricePerMeter = System.Convert.ToInt32(configuration_result);
659 this.m_pricePerMeter = System.Convert.ToInt32(configuration_result); 659 break;
660 break; 660 case "region_water_height":
661 case "region_water_height": 661 this.m_regionWaterHeight = (ushort)configuration_result;
662 this.m_regionWaterHeight = (ushort)configuration_result; 662 break;
663 break; 663 case "region_allow_terraform":
664 case "region_allow_terraform": 664 this.m_regionAllowTerraform = (bool)configuration_result;
665 this.m_regionAllowTerraform = (bool)configuration_result; 665 break;
666 break; 666
667 667 case "terrain_base_0":
668 case "terrain_base_0": 668 this.m_terrainBase0 = (LLUUID)configuration_result;
669 this.m_terrainBase0 = (LLUUID)configuration_result; 669 break;
670 break; 670 case "terrain_base_1":
671 case "terrain_base_1": 671 this.m_terrainBase1 = (LLUUID)configuration_result;
672 this.m_terrainBase1 = (LLUUID)configuration_result; 672 break;
673 break; 673 case "terrain_base_2":
674 case "terrain_base_2": 674 this.m_terrainBase2 = (LLUUID)configuration_result;
675 this.m_terrainBase2 = (LLUUID)configuration_result; 675 break;
676 break; 676 case "terrain_base_3":
677 case "terrain_base_3": 677 this.m_terrainBase3 = (LLUUID)configuration_result;
678 this.m_terrainBase3 = (LLUUID)configuration_result; 678 break;
679 break; 679
680 680 case "terrain_detail_0":
681 case "terrain_detail_0": 681 this.m_terrainDetail0 = (LLUUID)configuration_result;
682 this.m_terrainDetail0 = (LLUUID)configuration_result; 682 break;
683 break; 683 case "terrain_detail_1":
684 case "terrain_detail_1": 684 this.m_terrainDetail1 = (LLUUID)configuration_result;
685 this.m_terrainDetail1 = (LLUUID)configuration_result; 685 break;
686 break; 686 case "terrain_detail_2":
687 case "terrain_detail_2": 687 this.m_terrainDetail2 = (LLUUID)configuration_result;
688 this.m_terrainDetail2 = (LLUUID)configuration_result; 688 break;
689 break; 689 case "terrain_detail_3":
690 case "terrain_detail_3": 690 this.m_terrainDetail3 = (LLUUID)configuration_result;
691 this.m_terrainDetail3 = (LLUUID)configuration_result; 691 break;
692 break; 692
693 693 case "terrain_start_height_0":
694 case "terrain_start_height_0": 694 this.m_terrainStartHeight0 = (float)configuration_result;
695 this.m_terrainStartHeight0 = (float)configuration_result; 695 break;
696 break; 696 case "terrain_start_height_1":
697 case "terrain_start_height_1": 697 this.m_terrainStartHeight1 = (float)configuration_result;
698 this.m_terrainStartHeight1 = (float)configuration_result; 698 break;
699 break; 699 case "terrain_start_height_2":
700 case "terrain_start_height_2": 700 this.m_terrainStartHeight2 = (float)configuration_result;
701 this.m_terrainStartHeight2 = (float)configuration_result; 701 break;
702 break; 702 case "terrain_start_height_3":
703 case "terrain_start_height_3": 703 this.m_terrainStartHeight3 = (float)configuration_result;
704 this.m_terrainStartHeight3 = (float)configuration_result; 704 break;
705 break; 705
706 706 case "terrain_height_range_0":
707 case "terrain_height_range_0": 707 this.m_terrainHeightRange0 = (float)configuration_result;
708 this.m_terrainHeightRange0 = (float)configuration_result; 708 break;
709 break; 709 case "terrain_height_range_1":
710 case "terrain_height_range_1": 710 this.m_terrainHeightRange1 = (float)configuration_result;
711 this.m_terrainHeightRange1 = (float)configuration_result; 711 break;
712 break; 712 case "terrain_height_range_2":
713 case "terrain_height_range_2": 713 this.m_terrainHeightRange2 = (float)configuration_result;
714 this.m_terrainHeightRange2 = (float)configuration_result; 714 break;
715 break; 715 case "terrain_height_range_3":
716 case "terrain_height_range_3": 716 this.m_terrainHeightRange3 = (float)configuration_result;
717 this.m_terrainHeightRange3 = (float)configuration_result; 717 break;
718 break; 718
719 719 case "terrain_file":
720 case "terrain_file": 720 this.m_terrainFile = (string)configuration_result;
721 this.m_terrainFile = (string)configuration_result; 721 break;
722 break; 722 case "terrain_multiplier":
723 case "terrain_multiplier": 723 this.m_terrainMultiplier = System.Convert.ToDouble(configuration_result);
724 this.m_terrainMultiplier = System.Convert.ToDouble(configuration_result); 724 break;
725 break; 725 case "water_height":
726 case "water_height": 726 double tmpVal = (double) configuration_result;
727 double tmpVal = (double) configuration_result; 727 this.m_waterHeight = (float) tmpVal;
728 this.m_waterHeight = (float) tmpVal; 728 break;
729 break; 729 case "terrain_image_id":
730 case "terrain_image_id": 730 this.m_terrainImageID = (LLUUID)configuration_result;
731 this.m_terrainImageID = (LLUUID)configuration_result; 731 break;
732 break; 732 }
733 } 733
734 734 return true;
735 return true; 735 }
736 } 736 }
737 } 737}
738}
diff --git a/OpenSim/Framework/General/Types/InventoryItemBase.cs b/OpenSim/Framework/General/InventoryItemBase.cs
index fed7e50..27124d9 100644
--- a/OpenSim/Framework/General/Types/InventoryItemBase.cs
+++ b/OpenSim/Framework/General/InventoryItemBase.cs
@@ -1,228 +1,228 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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.Collections.Generic; 28using System.Collections.Generic;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework.Types 31namespace OpenSim.Framework
32{ 32{
33 /// <summary> 33 /// <summary>
34 /// Inventory Item - contains all the properties associated with an individual inventory piece. 34 /// Inventory Item - contains all the properties associated with an individual inventory piece.
35 /// </summary> 35 /// </summary>
36 public class InventoryItemBase 36 public class InventoryItemBase
37 { 37 {
38 /// <summary> 38 /// <summary>
39 /// A UUID containing the ID for the inventory item itself 39 /// A UUID containing the ID for the inventory item itself
40 /// </summary> 40 /// </summary>
41 public LLUUID inventoryID; 41 public LLUUID inventoryID;
42 /// <summary> 42 /// <summary>
43 /// The UUID of the associated asset on the asset server 43 /// The UUID of the associated asset on the asset server
44 /// </summary> 44 /// </summary>
45 public LLUUID assetID; 45 public LLUUID assetID;
46 /// <summary> 46 /// <summary>
47 /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc) 47 /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc)
48 /// </summary> 48 /// </summary>
49 public int assetType; 49 public int assetType;
50 /// <summary> 50 /// <summary>
51 /// The type of inventory item. (Can be slightly different to the asset type 51 /// The type of inventory item. (Can be slightly different to the asset type
52 /// </summary> 52 /// </summary>
53 public int invType; 53 public int invType;
54 /// <summary> 54 /// <summary>
55 /// The folder this item is contained in 55 /// The folder this item is contained in
56 /// </summary> 56 /// </summary>
57 public LLUUID parentFolderID; 57 public LLUUID parentFolderID;
58 /// <summary> 58 /// <summary>
59 /// The owner of this inventory item 59 /// The owner of this inventory item
60 /// </summary> 60 /// </summary>
61 public LLUUID avatarID; 61 public LLUUID avatarID;
62 /// <summary> 62 /// <summary>
63 /// The creator of this item 63 /// The creator of this item
64 /// </summary> 64 /// </summary>
65 public LLUUID creatorsID; 65 public LLUUID creatorsID;
66 /// <summary> 66 /// <summary>
67 /// The name of the inventory item (must be less than 64 characters) 67 /// The name of the inventory item (must be less than 64 characters)
68 /// </summary> 68 /// </summary>
69 public string inventoryName; 69 public string inventoryName;
70 /// <summary> 70 /// <summary>
71 /// The description of the inventory item (must be less than 64 characters) 71 /// The description of the inventory item (must be less than 64 characters)
72 /// </summary> 72 /// </summary>
73 public string inventoryDescription; 73 public string inventoryDescription;
74 /// <summary> 74 /// <summary>
75 /// A mask containing the permissions for the next owner (cannot be enforced) 75 /// A mask containing the permissions for the next owner (cannot be enforced)
76 /// </summary> 76 /// </summary>
77 public uint inventoryNextPermissions; 77 public uint inventoryNextPermissions;
78 /// <summary> 78 /// <summary>
79 /// A mask containing permissions for the current owner (cannot be enforced) 79 /// A mask containing permissions for the current owner (cannot be enforced)
80 /// </summary> 80 /// </summary>
81 public uint inventoryCurrentPermissions; 81 public uint inventoryCurrentPermissions;
82 /// <summary> 82 /// <summary>
83 /// 83 ///
84 /// </summary> 84 /// </summary>
85 public uint inventoryBasePermissions; 85 public uint inventoryBasePermissions;
86 /// <summary> 86 /// <summary>
87 /// 87 ///
88 /// </summary> 88 /// </summary>
89 public uint inventoryEveryOnePermissions; 89 public uint inventoryEveryOnePermissions;
90 } 90 }
91 91
92 /// <summary> 92 /// <summary>
93 /// A Class for folders which contain users inventory 93 /// A Class for folders which contain users inventory
94 /// </summary> 94 /// </summary>
95 public class InventoryFolderBase 95 public class InventoryFolderBase
96 { 96 {
97 /// <summary> 97 /// <summary>
98 /// The name of the folder (64 characters or less) 98 /// The name of the folder (64 characters or less)
99 /// </summary> 99 /// </summary>
100 public string name; 100 public string name;
101 /// <summary> 101 /// <summary>
102 /// The agent who's inventory this is contained by 102 /// The agent who's inventory this is contained by
103 /// </summary> 103 /// </summary>
104 public LLUUID agentID; 104 public LLUUID agentID;
105 /// <summary> 105 /// <summary>
106 /// The folder this folder is contained in 106 /// The folder this folder is contained in
107 /// </summary> 107 /// </summary>
108 public LLUUID parentID; 108 public LLUUID parentID;
109 /// <summary> 109 /// <summary>
110 /// The UUID for this folder 110 /// The UUID for this folder
111 /// </summary> 111 /// </summary>
112 public LLUUID folderID; 112 public LLUUID folderID;
113 /// <summary> 113 /// <summary>
114 /// Tyep of Items normally stored in this folder 114 /// Tyep of Items normally stored in this folder
115 /// </summary> 115 /// </summary>
116 public short type; 116 public short type;
117 /// <summary> 117 /// <summary>
118 /// 118 ///
119 /// </summary> 119 /// </summary>
120 public ushort version; 120 public ushort version;
121 } 121 }
122 122
123 /// <summary> 123 /// <summary>
124 /// An interface for accessing inventory data from a storage server 124 /// An interface for accessing inventory data from a storage server
125 /// </summary> 125 /// </summary>
126 public interface IInventoryData 126 public interface IInventoryData
127 { 127 {
128 /// <summary> 128 /// <summary>
129 /// Initialises the interface 129 /// Initialises the interface
130 /// </summary> 130 /// </summary>
131 void Initialise(); 131 void Initialise();
132 132
133 /// <summary> 133 /// <summary>
134 /// Closes the interface 134 /// Closes the interface
135 /// </summary> 135 /// </summary>
136 void Close(); 136 void Close();
137 137
138 /// <summary> 138 /// <summary>
139 /// The plugin being loaded 139 /// The plugin being loaded
140 /// </summary> 140 /// </summary>
141 /// <returns>A string containing the plugin name</returns> 141 /// <returns>A string containing the plugin name</returns>
142 string getName(); 142 string getName();
143 143
144 /// <summary> 144 /// <summary>
145 /// The plugins version 145 /// The plugins version
146 /// </summary> 146 /// </summary>
147 /// <returns>A string containing the plugin version</returns> 147 /// <returns>A string containing the plugin version</returns>
148 string getVersion(); 148 string getVersion();
149 149
150 /// <summary> 150 /// <summary>
151 /// Returns a list of inventory items contained within the specified folder 151 /// Returns a list of inventory items contained within the specified folder
152 /// </summary> 152 /// </summary>
153 /// <param name="folderID">The UUID of the target folder</param> 153 /// <param name="folderID">The UUID of the target folder</param>
154 /// <returns>A List of InventoryItemBase items</returns> 154 /// <returns>A List of InventoryItemBase items</returns>
155 List<InventoryItemBase> getInventoryInFolder(LLUUID folderID); 155 List<InventoryItemBase> getInventoryInFolder(LLUUID folderID);
156 156
157 /// <summary> 157 /// <summary>
158 /// Returns a list of the root folders within a users inventory 158 /// Returns a list of the root folders within a users inventory
159 /// </summary> 159 /// </summary>
160 /// <param name="user">The user whos inventory is to be searched</param> 160 /// <param name="user">The user whos inventory is to be searched</param>
161 /// <returns>A list of folder objects</returns> 161 /// <returns>A list of folder objects</returns>
162 List<InventoryFolderBase> getUserRootFolders(LLUUID user); 162 List<InventoryFolderBase> getUserRootFolders(LLUUID user);
163 163
164 /// <summary> 164 /// <summary>
165 /// Returns the users inventory root folder. 165 /// Returns the users inventory root folder.
166 /// </summary> 166 /// </summary>
167 /// <param name="user">The UUID of the user who is having inventory being returned</param> 167 /// <param name="user">The UUID of the user who is having inventory being returned</param>
168 /// <returns>Root inventory folder</returns> 168 /// <returns>Root inventory folder</returns>
169 InventoryFolderBase getUserRootFolder(LLUUID user); 169 InventoryFolderBase getUserRootFolder(LLUUID user);
170 170
171 /// <summary> 171 /// <summary>
172 /// Returns a list of inventory folders contained in the folder 'parentID' 172 /// Returns a list of inventory folders contained in the folder 'parentID'
173 /// </summary> 173 /// </summary>
174 /// <param name="parentID">The folder to get subfolders for</param> 174 /// <param name="parentID">The folder to get subfolders for</param>
175 /// <returns>A list of inventory folders</returns> 175 /// <returns>A list of inventory folders</returns>
176 List<InventoryFolderBase> getInventoryFolders(LLUUID parentID); 176 List<InventoryFolderBase> getInventoryFolders(LLUUID parentID);
177 177
178 /// <summary> 178 /// <summary>
179 /// Returns an inventory item by its UUID 179 /// Returns an inventory item by its UUID
180 /// </summary> 180 /// </summary>
181 /// <param name="item">The UUID of the item to be returned</param> 181 /// <param name="item">The UUID of the item to be returned</param>
182 /// <returns>A class containing item information</returns> 182 /// <returns>A class containing item information</returns>
183 InventoryItemBase getInventoryItem(LLUUID item); 183 InventoryItemBase getInventoryItem(LLUUID item);
184 184
185 /// <summary> 185 /// <summary>
186 /// Returns a specified inventory folder by its UUID 186 /// Returns a specified inventory folder by its UUID
187 /// </summary> 187 /// </summary>
188 /// <param name="folder">The UUID of the folder to be returned</param> 188 /// <param name="folder">The UUID of the folder to be returned</param>
189 /// <returns>A class containing folder information</returns> 189 /// <returns>A class containing folder information</returns>
190 InventoryFolderBase getInventoryFolder(LLUUID folder); 190 InventoryFolderBase getInventoryFolder(LLUUID folder);
191 191
192 /// <summary> 192 /// <summary>
193 /// Creates a new inventory item based on item 193 /// Creates a new inventory item based on item
194 /// </summary> 194 /// </summary>
195 /// <param name="item">The item to be created</param> 195 /// <param name="item">The item to be created</param>
196 void addInventoryItem(InventoryItemBase item); 196 void addInventoryItem(InventoryItemBase item);
197 197
198 /// <summary> 198 /// <summary>
199 /// Updates an inventory item with item (updates based on ID) 199 /// Updates an inventory item with item (updates based on ID)
200 /// </summary> 200 /// </summary>
201 /// <param name="item">The updated item</param> 201 /// <param name="item">The updated item</param>
202 void updateInventoryItem(InventoryItemBase item); 202 void updateInventoryItem(InventoryItemBase item);
203 203
204 /// <summary> 204 /// <summary>
205 /// 205 ///
206 /// </summary> 206 /// </summary>
207 /// <param name="item"></param> 207 /// <param name="item"></param>
208 void deleteInventoryItem(LLUUID item); 208 void deleteInventoryItem(LLUUID item);
209 209
210 /// <summary> 210 /// <summary>
211 /// Adds a new folder specified by folder 211 /// Adds a new folder specified by folder
212 /// </summary> 212 /// </summary>
213 /// <param name="folder">The inventory folder</param> 213 /// <param name="folder">The inventory folder</param>
214 void addInventoryFolder(InventoryFolderBase folder); 214 void addInventoryFolder(InventoryFolderBase folder);
215 215
216 /// <summary> 216 /// <summary>
217 /// Updates a folder based on its ID with folder 217 /// Updates a folder based on its ID with folder
218 /// </summary> 218 /// </summary>
219 /// <param name="folder">The inventory folder</param> 219 /// <param name="folder">The inventory folder</param>
220 void updateInventoryFolder(InventoryFolderBase folder); 220 void updateInventoryFolder(InventoryFolderBase folder);
221 221
222 /// <summary> 222 /// <summary>
223 /// Deletes a folder based on its ID with folder 223 /// Deletes a folder based on its ID with folder
224 /// </summary> 224 /// </summary>
225 /// <param name="folder">The id of the folder</param> 225 /// <param name="folder">The id of the folder</param>
226 void deleteInventoryFolder(LLUUID folder); 226 void deleteInventoryFolder(LLUUID folder);
227 } 227 }
228} 228}
diff --git a/OpenSim/Framework/General/Types/LandData.cs b/OpenSim/Framework/General/LandData.cs
index 63c01df..414b613 100644
--- a/OpenSim/Framework/General/Types/LandData.cs
+++ b/OpenSim/Framework/General/LandData.cs
@@ -1,120 +1,120 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework.Types 30namespace OpenSim.Framework
31{ 31{
32 32
33 public class LandData 33 public class LandData
34 { 34 {
35 public byte[] landBitmapByteArray = new byte[512]; 35 public byte[] landBitmapByteArray = new byte[512];
36 public string landName = "Your Parcel"; 36 public string landName = "Your Parcel";
37 public string landDesc = ""; 37 public string landDesc = "";
38 public LLUUID ownerID = new LLUUID(); 38 public LLUUID ownerID = new LLUUID();
39 public bool isGroupOwned = false; 39 public bool isGroupOwned = false;
40 public LLVector3 AABBMin = new LLVector3(); 40 public LLVector3 AABBMin = new LLVector3();
41 public LLVector3 AABBMax = new LLVector3(); 41 public LLVector3 AABBMax = new LLVector3();
42 public int area = 0; 42 public int area = 0;
43 public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned 43 public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
44 public LLUUID authBuyerID = new LLUUID(); //Unemplemented. Authorized Buyer's UUID 44 public LLUUID authBuyerID = new LLUUID(); //Unemplemented. Authorized Buyer's UUID
45 public Parcel.ParcelCategory category = new Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category 45 public Parcel.ParcelCategory category = new Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category
46 public int claimDate = 0; //Unemplemented 46 public int claimDate = 0; //Unemplemented
47 public int claimPrice = 0; //Unemplemented 47 public int claimPrice = 0; //Unemplemented
48 public LLUUID groupID = new LLUUID(); //Unemplemented 48 public LLUUID groupID = new LLUUID(); //Unemplemented
49 public int groupPrims = 0; 49 public int groupPrims = 0;
50 public int otherPrims = 0; 50 public int otherPrims = 0;
51 public int ownerPrims = 0; 51 public int ownerPrims = 0;
52 public int selectedPrims = 0; 52 public int selectedPrims = 0;
53 public int simwidePrims = 0; 53 public int simwidePrims = 0;
54 public int simwideArea = 0; 54 public int simwideArea = 0;
55 public int salePrice = 0; //Unemeplemented. Parcels price. 55 public int salePrice = 0; //Unemeplemented. Parcels price.
56 public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased; 56 public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
57 public uint landFlags = (uint)Parcel.ParcelFlags.AllowFly | (uint)Parcel.ParcelFlags.AllowLandmark | (uint)Parcel.ParcelFlags.AllowAllObjectEntry | (uint)Parcel.ParcelFlags.AllowDeedToGroup | (uint)Parcel.ParcelFlags.AllowTerraform | (uint)Parcel.ParcelFlags.CreateObjects | (uint)Parcel.ParcelFlags.AllowOtherScripts | (uint)Parcel.ParcelFlags.SoundLocal ; 57 public uint landFlags = (uint)Parcel.ParcelFlags.AllowFly | (uint)Parcel.ParcelFlags.AllowLandmark | (uint)Parcel.ParcelFlags.AllowAllObjectEntry | (uint)Parcel.ParcelFlags.AllowDeedToGroup | (uint)Parcel.ParcelFlags.AllowTerraform | (uint)Parcel.ParcelFlags.CreateObjects | (uint)Parcel.ParcelFlags.AllowOtherScripts | (uint)Parcel.ParcelFlags.SoundLocal ;
58 public byte landingType = 0; 58 public byte landingType = 0;
59 public byte mediaAutoScale = 0; 59 public byte mediaAutoScale = 0;
60 public LLUUID mediaID = LLUUID.Zero; 60 public LLUUID mediaID = LLUUID.Zero;
61 public int localID = 0; 61 public int localID = 0;
62 public LLUUID globalID = new LLUUID(); 62 public LLUUID globalID = new LLUUID();
63 63
64 public string mediaURL = ""; 64 public string mediaURL = "";
65 public string musicURL = ""; 65 public string musicURL = "";
66 public float passHours = 0; 66 public float passHours = 0;
67 public int passPrice = 0; 67 public int passPrice = 0;
68 public LLUUID snapshotID = LLUUID.Zero; 68 public LLUUID snapshotID = LLUUID.Zero;
69 public LLVector3 userLocation = new LLVector3(); 69 public LLVector3 userLocation = new LLVector3();
70 public LLVector3 userLookAt = new LLVector3(); 70 public LLVector3 userLookAt = new LLVector3();
71 71
72 public LandData() 72 public LandData()
73 { 73 {
74 globalID = LLUUID.Random(); 74 globalID = LLUUID.Random();
75 } 75 }
76 76
77 public LandData Copy() 77 public LandData Copy()
78 { 78 {
79 LandData landData = new LandData(); 79 LandData landData = new LandData();
80 80
81 landData.AABBMax = this.AABBMax; 81 landData.AABBMax = this.AABBMax;
82 landData.AABBMin = this.AABBMin; 82 landData.AABBMin = this.AABBMin;
83 landData.area = this.area; 83 landData.area = this.area;
84 landData.auctionID = this.auctionID; 84 landData.auctionID = this.auctionID;
85 landData.authBuyerID = this.authBuyerID; 85 landData.authBuyerID = this.authBuyerID;
86 landData.category = this.category; 86 landData.category = this.category;
87 landData.claimDate = this.claimDate; 87 landData.claimDate = this.claimDate;
88 landData.claimPrice = this.claimPrice; 88 landData.claimPrice = this.claimPrice;
89 landData.globalID = this.globalID; 89 landData.globalID = this.globalID;
90 landData.groupID = this.groupID; 90 landData.groupID = this.groupID;
91 landData.groupPrims = this.groupPrims; 91 landData.groupPrims = this.groupPrims;
92 landData.otherPrims = this.otherPrims; 92 landData.otherPrims = this.otherPrims;
93 landData.ownerPrims = this.ownerPrims; 93 landData.ownerPrims = this.ownerPrims;
94 landData.selectedPrims = this.selectedPrims; 94 landData.selectedPrims = this.selectedPrims;
95 landData.isGroupOwned = this.isGroupOwned; 95 landData.isGroupOwned = this.isGroupOwned;
96 landData.localID = this.localID; 96 landData.localID = this.localID;
97 landData.landingType = this.landingType; 97 landData.landingType = this.landingType;
98 landData.mediaAutoScale = this.mediaAutoScale; 98 landData.mediaAutoScale = this.mediaAutoScale;
99 landData.mediaID = this.mediaID; 99 landData.mediaID = this.mediaID;
100 landData.mediaURL = this.mediaURL; 100 landData.mediaURL = this.mediaURL;
101 landData.musicURL = this.musicURL; 101 landData.musicURL = this.musicURL;
102 landData.ownerID = this.ownerID; 102 landData.ownerID = this.ownerID;
103 landData.landBitmapByteArray = (byte[])this.landBitmapByteArray.Clone(); 103 landData.landBitmapByteArray = (byte[])this.landBitmapByteArray.Clone();
104 landData.landDesc = this.landDesc; 104 landData.landDesc = this.landDesc;
105 landData.landFlags = this.landFlags; 105 landData.landFlags = this.landFlags;
106 landData.landName = this.landName; 106 landData.landName = this.landName;
107 landData.landStatus = this.landStatus; 107 landData.landStatus = this.landStatus;
108 landData.passHours = this.passHours; 108 landData.passHours = this.passHours;
109 landData.passPrice = this.passPrice; 109 landData.passPrice = this.passPrice;
110 landData.salePrice = this.salePrice; 110 landData.salePrice = this.salePrice;
111 landData.snapshotID = this.snapshotID; 111 landData.snapshotID = this.snapshotID;
112 landData.userLocation = this.userLocation; 112 landData.userLocation = this.userLocation;
113 landData.userLookAt = this.userLookAt; 113 landData.userLookAt = this.userLookAt;
114 114
115 return landData; 115 return landData;
116 116
117 } 117 }
118 } 118 }
119 119
120} 120}
diff --git a/OpenSim/Framework/General/Types/Login.cs b/OpenSim/Framework/General/Login.cs
index fc1f3ad..a55fd57 100644
--- a/OpenSim/Framework/General/Types/Login.cs
+++ b/OpenSim/Framework/General/Login.cs
@@ -1,50 +1,50 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework.Types 30namespace OpenSim.Framework
31{ 31{
32 public class Login 32 public class Login
33 { 33 {
34 public string First = "Test"; 34 public string First = "Test";
35 public string Last = "User"; 35 public string Last = "User";
36 public LLUUID Agent; 36 public LLUUID Agent;
37 public LLUUID Session; 37 public LLUUID Session;
38 public LLUUID SecureSession = LLUUID.Zero; 38 public LLUUID SecureSession = LLUUID.Zero;
39 public LLUUID InventoryFolder; 39 public LLUUID InventoryFolder;
40 public LLUUID BaseFolder; 40 public LLUUID BaseFolder;
41 public uint CircuitCode; 41 public uint CircuitCode;
42 public string CapsPath =""; 42 public string CapsPath ="";
43 public LLVector3 StartPos; 43 public LLVector3 StartPos;
44 44
45 public Login() 45 public Login()
46 { 46 {
47 StartPos = new LLVector3(128, 128, 70); 47 StartPos = new LLVector3(128, 128, 70);
48 } 48 }
49 } 49 }
50} 50}
diff --git a/OpenSim/Framework/General/Types/MapBlockData.cs b/OpenSim/Framework/General/MapBlockData.cs
index 5796f19..eafd65d 100644
--- a/OpenSim/Framework/General/Types/MapBlockData.cs
+++ b/OpenSim/Framework/General/MapBlockData.cs
@@ -1,51 +1,51 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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*/
28 28
29using System; 29using System;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework.Types 32namespace OpenSim.Framework
33{ 33{
34 public class MapBlockData 34 public class MapBlockData
35 { 35 {
36 public uint Flags; 36 public uint Flags;
37 public ushort X; 37 public ushort X;
38 public ushort Y; 38 public ushort Y;
39 public byte Agents; 39 public byte Agents;
40 public byte Access; 40 public byte Access;
41 public byte WaterHeight; 41 public byte WaterHeight;
42 public LLUUID MapImageId; 42 public LLUUID MapImageId;
43 public String Name; 43 public String Name;
44 public uint RegionFlags; 44 public uint RegionFlags;
45 45
46 public MapBlockData() 46 public MapBlockData()
47 { 47 {
48 48
49 } 49 }
50 } 50 }
51} 51}
diff --git a/OpenSim/Framework/General/Types/NeighbourInfo.cs b/OpenSim/Framework/General/NeighbourInfo.cs
index 572e77c..771b844 100644
--- a/OpenSim/Framework/General/Types/NeighbourInfo.cs
+++ b/OpenSim/Framework/General/NeighbourInfo.cs
@@ -1,42 +1,42 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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*/
28namespace OpenSim.Framework.Types 28namespace OpenSim.Framework
29{ 29{
30 public class NeighbourInfo 30 public class NeighbourInfo
31 { 31 {
32 public NeighbourInfo() 32 public NeighbourInfo()
33 { 33 {
34 } 34 }
35 35
36 public ulong regionhandle; 36 public ulong regionhandle;
37 public uint RegionLocX; 37 public uint RegionLocX;
38 public uint RegionLocY; 38 public uint RegionLocY;
39 public string sim_ip; 39 public string sim_ip;
40 public uint sim_port; 40 public uint sim_port;
41 } 41 }
42} 42}
diff --git a/OpenSim/Framework/General/Types/NetworkServersInfo.cs b/OpenSim/Framework/General/NetworkServersInfo.cs
index 2357a9e..358e496 100644
--- a/OpenSim/Framework/General/Types/NetworkServersInfo.cs
+++ b/OpenSim/Framework/General/NetworkServersInfo.cs
@@ -1,94 +1,94 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 OpenSim.Framework.Console; 29using OpenSim.Framework.Console;
30using OpenSim.Framework.Interfaces; 30using OpenSim.Framework.Interfaces;
31using OpenSim.Framework.Configuration; 31using OpenSim.Framework;
32 32
33using Nini.Config; 33using Nini.Config;
34namespace OpenSim.Framework.Types 34namespace OpenSim.Framework
35{ 35{
36 public class NetworkServersInfo 36 public class NetworkServersInfo
37 { 37 {
38 public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/"; 38 public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
39 public string AssetSendKey = ""; 39 public string AssetSendKey = "";
40 40
41 public string GridURL = ""; 41 public string GridURL = "";
42 public string GridSendKey = ""; 42 public string GridSendKey = "";
43 public string GridRecvKey = ""; 43 public string GridRecvKey = "";
44 public string UserURL = ""; 44 public string UserURL = "";
45 public string UserSendKey = ""; 45 public string UserSendKey = "";
46 public string UserRecvKey = ""; 46 public string UserRecvKey = "";
47 public bool isSandbox; 47 public bool isSandbox;
48 48
49 public static int DefaultHttpListenerPort = 9000; 49 public static int DefaultHttpListenerPort = 9000;
50 public int HttpListenerPort = DefaultHttpListenerPort; 50 public int HttpListenerPort = DefaultHttpListenerPort;
51 51
52 public static int RemotingListenerPort = 8895; 52 public static int RemotingListenerPort = 8895;
53 53
54 54
55 public NetworkServersInfo() 55 public NetworkServersInfo()
56 { 56 {
57 } 57 }
58 58
59 public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY) 59 public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY)
60 { 60 {
61 m_defaultHomeLocX = defaultHomeLocX; 61 m_defaultHomeLocX = defaultHomeLocX;
62 m_defaultHomeLocY = defaultHomeLocY; 62 m_defaultHomeLocY = defaultHomeLocY;
63 } 63 }
64 64
65 private uint? m_defaultHomeLocX; 65 private uint? m_defaultHomeLocX;
66 public uint DefaultHomeLocX 66 public uint DefaultHomeLocX
67 { 67 {
68 get { return m_defaultHomeLocX.Value; } 68 get { return m_defaultHomeLocX.Value; }
69 } 69 }
70 70
71 private uint? m_defaultHomeLocY; 71 private uint? m_defaultHomeLocY;
72 public uint DefaultHomeLocY 72 public uint DefaultHomeLocY
73 { 73 {
74 get { return m_defaultHomeLocY.Value; } 74 get { return m_defaultHomeLocY.Value; }
75 } 75 }
76 76
77 public void loadFromConfiguration(IConfigSource config) 77 public void loadFromConfiguration(IConfigSource config)
78 { 78 {
79 m_defaultHomeLocX = (uint)config.Configs["StandAlone"].GetInt("default_location_x", 1000); 79 m_defaultHomeLocX = (uint)config.Configs["StandAlone"].GetInt("default_location_x", 1000);
80 m_defaultHomeLocY = (uint)config.Configs["StandAlone"].GetInt("default_location_y", 1000); 80 m_defaultHomeLocY = (uint)config.Configs["StandAlone"].GetInt("default_location_y", 1000);
81 81
82 HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort); 82 HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort);
83 RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort); 83 RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort);
84 GridURL = config.Configs["Network"].GetString("grid_server_url", "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString()); 84 GridURL = config.Configs["Network"].GetString("grid_server_url", "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString());
85 GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null"); 85 GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null");
86 GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null"); 86 GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null");
87 UserURL = config.Configs["Network"].GetString("user_server_url", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString()); 87 UserURL = config.Configs["Network"].GetString("user_server_url", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString());
88 UserSendKey = config.Configs["Network"].GetString("user_send_key", "null"); 88 UserSendKey = config.Configs["Network"].GetString("user_send_key", "null");
89 UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null"); 89 UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null");
90 AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL); 90 AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL);
91 91
92 } 92 }
93 } 93 }
94} 94}
diff --git a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs b/OpenSim/Framework/General/PrimitiveBaseShape.cs
index 5805ece..1799fb8 100644
--- a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/PrimitiveBaseShape.cs
@@ -1,224 +1,224 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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*/
28 28
29using System.Xml.Serialization; 29using System.Xml.Serialization;
30using libsecondlife; 30using libsecondlife;
31using libsecondlife.Packets; 31using libsecondlife.Packets;
32 32
33namespace OpenSim.Framework.Types 33namespace OpenSim.Framework
34{ 34{
35 public enum ProfileShape : byte 35 public enum ProfileShape : byte
36 { 36 {
37 Circle = 0, 37 Circle = 0,
38 Square = 1, 38 Square = 1,
39 IsometricTriangle = 2, 39 IsometricTriangle = 2,
40 EquilateralTriangle = 3, 40 EquilateralTriangle = 3,
41 RightTriangle = 4, 41 RightTriangle = 4,
42 HalfCircle = 5 42 HalfCircle = 5
43 } 43 }
44 44
45 public enum HollowShape : byte 45 public enum HollowShape : byte
46 { 46 {
47 Same = 0, 47 Same = 0,
48 Circle = 16, 48 Circle = 16,
49 Square = 32, 49 Square = 32,
50 Triangle = 48 50 Triangle = 48
51 } 51 }
52 52
53 public enum PCodeEnum : byte 53 public enum PCodeEnum : byte
54 { 54 {
55 Primitive = 9, 55 Primitive = 9,
56 Avatar = 47 56 Avatar = 47
57 } 57 }
58 58
59 public enum Extrusion : byte 59 public enum Extrusion : byte
60 { 60 {
61 Straight = 16, 61 Straight = 16,
62 Curve1 = 32, 62 Curve1 = 32,
63 Curve2 = 48, 63 Curve2 = 48,
64 Flexible = 128 64 Flexible = 128
65 } 65 }
66 66
67 public class PrimitiveBaseShape 67 public class PrimitiveBaseShape
68 { 68 {
69 private static byte[] m_defaultTextureEntry; 69 private static byte[] m_defaultTextureEntry;
70 70
71 public byte PCode; 71 public byte PCode;
72 public ushort PathBegin; 72 public ushort PathBegin;
73 public ushort PathEnd; 73 public ushort PathEnd;
74 public byte PathScaleX; 74 public byte PathScaleX;
75 public byte PathScaleY; 75 public byte PathScaleY;
76 public byte PathShearX; 76 public byte PathShearX;
77 public byte PathShearY; 77 public byte PathShearY;
78 public sbyte PathSkew; 78 public sbyte PathSkew;
79 public ushort ProfileBegin; 79 public ushort ProfileBegin;
80 public ushort ProfileEnd; 80 public ushort ProfileEnd;
81 public LLVector3 Scale; 81 public LLVector3 Scale;
82 public byte PathCurve; 82 public byte PathCurve;
83 public byte ProfileCurve; 83 public byte ProfileCurve;
84 public ushort ProfileHollow; 84 public ushort ProfileHollow;
85 public sbyte PathRadiusOffset; 85 public sbyte PathRadiusOffset;
86 public byte PathRevolutions; 86 public byte PathRevolutions;
87 public sbyte PathTaperX; 87 public sbyte PathTaperX;
88 public sbyte PathTaperY; 88 public sbyte PathTaperY;
89 public sbyte PathTwist; 89 public sbyte PathTwist;
90 public sbyte PathTwistBegin; 90 public sbyte PathTwistBegin;
91 public byte[] TextureEntry; // a LL textureEntry in byte[] format 91 public byte[] TextureEntry; // a LL textureEntry in byte[] format
92 public byte[] ExtraParams; 92 public byte[] ExtraParams;
93 93
94 public ProfileShape ProfileShape 94 public ProfileShape ProfileShape
95 { 95 {
96 get 96 get
97 { 97 {
98 return (ProfileShape)(ProfileCurve & 0xf); 98 return (ProfileShape)(ProfileCurve & 0xf);
99 } 99 }
100 set 100 set
101 { 101 {
102 byte oldValueMasked = (byte)(ProfileCurve & 0xf0); 102 byte oldValueMasked = (byte)(ProfileCurve & 0xf0);
103 ProfileCurve = (byte)(oldValueMasked | (byte)value); 103 ProfileCurve = (byte)(oldValueMasked | (byte)value);
104 } 104 }
105 } 105 }
106 106
107 [XmlIgnore] 107 [XmlIgnore]
108 public HollowShape HollowShape 108 public HollowShape HollowShape
109 { 109 {
110 get 110 get
111 { 111 {
112 return (HollowShape)(ProfileHollow & 0xf0); 112 return (HollowShape)(ProfileHollow & 0xf0);
113 } 113 }
114 set 114 set
115 { 115 {
116 byte oldValueMasked = (byte)(ProfileHollow & 0xf0); 116 byte oldValueMasked = (byte)(ProfileHollow & 0xf0);
117 ProfileHollow = (byte)(oldValueMasked | (byte)value); 117 ProfileHollow = (byte)(oldValueMasked | (byte)value);
118 } 118 }
119 } 119 }
120 120
121 public LLVector3 PrimScale 121 public LLVector3 PrimScale
122 { 122 {
123 get 123 get
124 { 124 {
125 return this.Scale; 125 return this.Scale;
126 } 126 }
127 } 127 }
128 128
129 static PrimitiveBaseShape() 129 static PrimitiveBaseShape()
130 { 130 {
131 m_defaultTextureEntry = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes(); 131 m_defaultTextureEntry = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
132 } 132 }
133 133
134 public PrimitiveBaseShape() 134 public PrimitiveBaseShape()
135 { 135 {
136 PCode = (byte)PCodeEnum.Primitive; 136 PCode = (byte)PCodeEnum.Primitive;
137 ExtraParams = new byte[1]; 137 ExtraParams = new byte[1];
138 TextureEntry = m_defaultTextureEntry; 138 TextureEntry = m_defaultTextureEntry;
139 } 139 }
140 140
141 //void returns need to change of course 141 //void returns need to change of course
142 public virtual void GetMesh() 142 public virtual void GetMesh()
143 { 143 {
144 144
145 } 145 }
146 146
147 public PrimitiveBaseShape Copy() 147 public PrimitiveBaseShape Copy()
148 { 148 {
149 return (PrimitiveBaseShape)this.MemberwiseClone(); 149 return (PrimitiveBaseShape)this.MemberwiseClone();
150 } 150 }
151 } 151 }
152 152
153 public class GenericShape : PrimitiveBaseShape 153 public class GenericShape : PrimitiveBaseShape
154 { 154 {
155 public GenericShape() 155 public GenericShape()
156 : base() 156 : base()
157 { 157 {
158 158
159 } 159 }
160 } 160 }
161 161
162 public class BoxShape : PrimitiveBaseShape 162 public class BoxShape : PrimitiveBaseShape
163 { 163 {
164 public BoxShape() 164 public BoxShape()
165 : base() 165 : base()
166 { 166 {
167 PathCurve = (byte)Extrusion.Straight; 167 PathCurve = (byte)Extrusion.Straight;
168 ProfileShape = ProfileShape.Square; 168 ProfileShape = ProfileShape.Square;
169 PathScaleX = 100; 169 PathScaleX = 100;
170 PathScaleY = 100; 170 PathScaleY = 100;
171 } 171 }
172 172
173 public BoxShape(float side) 173 public BoxShape(float side)
174 : this() 174 : this()
175 { 175 {
176 SetSide(side); 176 SetSide(side);
177 } 177 }
178 178
179 public void SetSide(float side) 179 public void SetSide(float side)
180 { 180 {
181 Scale = new LLVector3(side, side, side); 181 Scale = new LLVector3(side, side, side);
182 } 182 }
183 183
184 public static BoxShape Default 184 public static BoxShape Default
185 { 185 {
186 get 186 get
187 { 187 {
188 BoxShape boxShape = new BoxShape(); 188 BoxShape boxShape = new BoxShape();
189 189
190 boxShape.SetSide(0.5f); 190 boxShape.SetSide(0.5f);
191 191
192 return boxShape; 192 return boxShape;
193 } 193 }
194 } 194 }
195 } 195 }
196 public class CylinderShape : PrimitiveBaseShape 196 public class CylinderShape : PrimitiveBaseShape
197 { 197 {
198 public CylinderShape() 198 public CylinderShape()
199 : base() 199 : base()
200 { 200 {
201 PathCurve = (byte)Extrusion.Straight; 201 PathCurve = (byte)Extrusion.Straight;
202 ProfileShape = ProfileShape.Circle; 202 ProfileShape = ProfileShape.Circle;
203 PathScaleX = 100; 203 PathScaleX = 100;
204 PathScaleY = 100; 204 PathScaleY = 100;
205 } 205 }
206 206
207 public CylinderShape(float radius, float heigth) 207 public CylinderShape(float radius, float heigth)
208 : this() 208 : this()
209 { 209 {
210 SetRadius(radius); 210 SetRadius(radius);
211 SetHeigth(heigth); 211 SetHeigth(heigth);
212 } 212 }
213 213
214 private void SetHeigth(float heigth) 214 private void SetHeigth(float heigth)
215 { 215 {
216 Scale.Z = heigth; 216 Scale.Z = heigth;
217 } 217 }
218 218
219 private void SetRadius(float radius) 219 private void SetRadius(float radius)
220 { 220 {
221 Scale.X = Scale.Y = radius * 2f; 221 Scale.X = Scale.Y = radius * 2f;
222 } 222 }
223 } 223 }
224} 224}
diff --git a/OpenSim/Framework/General/Types/RegionHandle.cs b/OpenSim/Framework/General/RegionHandle.cs
index 5749296..d800e57 100644
--- a/OpenSim/Framework/General/Types/RegionHandle.cs
+++ b/OpenSim/Framework/General/RegionHandle.cs
@@ -1,149 +1,149 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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*/
28 28
29using System; 29using System;
30using System.Net; 30using System.Net;
31 31
32namespace OpenSim.Framework.Types 32namespace OpenSim.Framework
33{ 33{
34 /// <summary> 34 /// <summary>
35 /// A class for manipulating RegionHandle coordinates 35 /// A class for manipulating RegionHandle coordinates
36 /// </summary> 36 /// </summary>
37 class RegionHandle 37 class RegionHandle
38 { 38 {
39 private UInt64 handle; 39 private UInt64 handle;
40 40
41 /// <summary> 41 /// <summary>
42 /// Initialises a new grid-aware RegionHandle 42 /// Initialises a new grid-aware RegionHandle
43 /// </summary> 43 /// </summary>
44 /// <param name="ip">IP Address of the Grid Server for this region</param> 44 /// <param name="ip">IP Address of the Grid Server for this region</param>
45 /// <param name="x">Grid X Coordinate</param> 45 /// <param name="x">Grid X Coordinate</param>
46 /// <param name="y">Grid Y Coordinate</param> 46 /// <param name="y">Grid Y Coordinate</param>
47 public RegionHandle(string ip, short x, short y) 47 public RegionHandle(string ip, short x, short y)
48 { 48 {
49 IPAddress addr = IPAddress.Parse(ip); 49 IPAddress addr = IPAddress.Parse(ip);
50 50
51 if (addr.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) 51 if (addr.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork)
52 throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address"); 52 throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address");
53 53
54 uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0); 54 uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0);
55 55
56 // Split the IP address in half 56 // Split the IP address in half
57 short a = (short)((baseHandle << 16) & 0xFFFF); 57 short a = (short)((baseHandle << 16) & 0xFFFF);
58 short b = (short)((baseHandle << 0) & 0xFFFF); 58 short b = (short)((baseHandle << 0) & 0xFFFF);
59 59
60 // Raise the bounds a little 60 // Raise the bounds a little
61 uint nx = (uint)x; 61 uint nx = (uint)x;
62 uint ny = (uint)y; 62 uint ny = (uint)y;
63 63
64 // Multiply grid coords to get region coords 64 // Multiply grid coords to get region coords
65 nx *= 256; 65 nx *= 256;
66 ny *= 256; 66 ny *= 256;
67 67
68 // Stuff the IP address in too 68 // Stuff the IP address in too
69 nx = (uint)a << 16; 69 nx = (uint)a << 16;
70 ny = (uint)b << 16; 70 ny = (uint)b << 16;
71 71
72 handle = ((UInt64)nx << 32) | (uint)ny; 72 handle = ((UInt64)nx << 32) | (uint)ny;
73 } 73 }
74 74
75 /// <summary> 75 /// <summary>
76 /// Initialises a new RegionHandle that is not inter-grid aware 76 /// Initialises a new RegionHandle that is not inter-grid aware
77 /// </summary> 77 /// </summary>
78 /// <param name="x">Grid X Coordinate</param> 78 /// <param name="x">Grid X Coordinate</param>
79 /// <param name="y">Grid Y Coordinate</param> 79 /// <param name="y">Grid Y Coordinate</param>
80 public RegionHandle(uint x, uint y) 80 public RegionHandle(uint x, uint y)
81 { 81 {
82 handle = ((x * 256) << 32) | (y * 256); 82 handle = ((x * 256) << 32) | (y * 256);
83 } 83 }
84 84
85 /// <summary> 85 /// <summary>
86 /// Initialises a new RegionHandle from an existing value 86 /// Initialises a new RegionHandle from an existing value
87 /// </summary> 87 /// </summary>
88 /// <param name="Region">A U64 RegionHandle</param> 88 /// <param name="Region">A U64 RegionHandle</param>
89 public RegionHandle(UInt64 Region) 89 public RegionHandle(UInt64 Region)
90 { 90 {
91 handle = Region; 91 handle = Region;
92 } 92 }
93 93
94 /// <summary> 94 /// <summary>
95 /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy. 95 /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy.
96 /// </summary> 96 /// </summary>
97 /// <remarks>Do not use for SimulatorEnable packets. The client will choke.</remarks> 97 /// <remarks>Do not use for SimulatorEnable packets. The client will choke.</remarks>
98 /// <returns>Region Handle including IP Address encoding</returns> 98 /// <returns>Region Handle including IP Address encoding</returns>
99 public UInt64 getTeleportHandle() 99 public UInt64 getTeleportHandle()
100 { 100 {
101 return handle; 101 return handle;
102 } 102 }
103 103
104 /// <summary> 104 /// <summary>
105 /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds. 105 /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds.
106 /// </summary> 106 /// </summary>
107 /// <returns>A U64 RegionHandle for use in SimulatorEnable packets.</returns> 107 /// <returns>A U64 RegionHandle for use in SimulatorEnable packets.</returns>
108 public UInt64 getNeighbourHandle() 108 public UInt64 getNeighbourHandle()
109 { 109 {
110 UInt64 mask = 0x0000FFFF0000FFFF; 110 UInt64 mask = 0x0000FFFF0000FFFF;
111 111
112 return handle | mask; 112 return handle | mask;
113 } 113 }
114 114
115 /// <summary> 115 /// <summary>
116 /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle 116 /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle
117 /// </summary> 117 /// </summary>
118 /// <returns>Grid Server IP Address</returns> 118 /// <returns>Grid Server IP Address</returns>
119 public IPAddress getGridIP() 119 public IPAddress getGridIP()
120 { 120 {
121 uint a = (uint)((handle >> 16) & 0xFFFF); 121 uint a = (uint)((handle >> 16) & 0xFFFF);
122 uint b = (uint)((handle >> 48) & 0xFFFF); 122 uint b = (uint)((handle >> 48) & 0xFFFF);
123 123
124 return new IPAddress((long)(a << 16) | (long)b); 124 return new IPAddress((long)(a << 16) | (long)b);
125 } 125 }
126 126
127 /// <summary> 127 /// <summary>
128 /// Returns the X Coordinate from a Grid-Encoded RegionHandle 128 /// Returns the X Coordinate from a Grid-Encoded RegionHandle
129 /// </summary> 129 /// </summary>
130 /// <returns>X Coordinate</returns> 130 /// <returns>X Coordinate</returns>
131 public uint getGridX() 131 public uint getGridX()
132 { 132 {
133 uint x = (uint)((handle >> 32) & 0xFFFF); 133 uint x = (uint)((handle >> 32) & 0xFFFF);
134 134
135 return x; 135 return x;
136 } 136 }
137 137
138 /// <summary> 138 /// <summary>
139 /// Returns the Y Coordinate from a Grid-Encoded RegionHandle 139 /// Returns the Y Coordinate from a Grid-Encoded RegionHandle
140 /// </summary> 140 /// </summary>
141 /// <returns>Y Coordinate</returns> 141 /// <returns>Y Coordinate</returns>
142 public uint getGridY() 142 public uint getGridY()
143 { 143 {
144 uint y = (uint)((handle >> 0) & 0xFFFF); 144 uint y = (uint)((handle >> 0) & 0xFFFF);
145 145
146 return y; 146 return y;
147 } 147 }
148 } 148 }
149} 149}
diff --git a/OpenSim/Framework/General/Types/RegionInfo.cs b/OpenSim/Framework/General/RegionInfo.cs
index 49360f8..32f0c76 100644
--- a/OpenSim/Framework/General/Types/RegionInfo.cs
+++ b/OpenSim/Framework/General/RegionInfo.cs
@@ -1,350 +1,347 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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.Globalization; 29using System.Globalization;
30using System.Net; 30using System.Net;
31using System.Net.Sockets; 31using System.Net.Sockets;
32using Nini.Config; 32using Nini.Config;
33using libsecondlife; 33using libsecondlife;
34using OpenSim.Framework.Console; 34using OpenSim.Framework.Console;
35using OpenSim.Framework.Interfaces; 35using OpenSim.Framework.Interfaces;
36using OpenSim.Framework.Utilities; 36using OpenSim.Framework;
37 37
38using OpenSim.Framework.Configuration; 38namespace OpenSim.Framework
39 39{
40 40 public class SimpleRegionInfo
41namespace OpenSim.Framework.Types 41 {
42{ 42 public SimpleRegionInfo()
43 public class SimpleRegionInfo 43 {
44 { 44 }
45 public SimpleRegionInfo() 45
46 { 46 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
47 } 47 {
48 48
49 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) 49 m_regionLocX = regionLocX;
50 { 50 m_regionLocY = regionLocY;
51 51
52 m_regionLocX = regionLocX; 52 m_internalEndPoint = internalEndPoint;
53 m_regionLocY = regionLocY; 53 m_externalHostName = externalUri;
54 54 }
55 m_internalEndPoint = internalEndPoint; 55
56 m_externalHostName = externalUri; 56 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port)
57 } 57 {
58 58
59 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port) 59 m_regionLocX = regionLocX;
60 { 60 m_regionLocY = regionLocY;
61 61
62 m_regionLocX = regionLocX; 62 m_externalHostName = externalUri;
63 m_regionLocY = regionLocY; 63
64 64 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
65 m_externalHostName = externalUri; 65 }
66 66
67 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port); 67 public LLUUID RegionID = new LLUUID();
68 } 68
69 69 private uint m_remotingPort;
70 public LLUUID RegionID = new LLUUID(); 70 public uint RemotingPort
71 71 {
72 private uint m_remotingPort; 72 get
73 public uint RemotingPort 73 {
74 { 74 return m_remotingPort;
75 get 75 }
76 { 76 set
77 return m_remotingPort; 77 {
78 } 78 m_remotingPort = value;
79 set 79 }
80 { 80 }
81 m_remotingPort = value; 81
82 } 82 public string RemotingAddress;
83 } 83
84 84
85 public string RemotingAddress; 85 public IPEndPoint ExternalEndPoint
86 86 {
87 87 get
88 public IPEndPoint ExternalEndPoint 88 {
89 { 89 // Old one defaults to IPv6
90 get 90 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
91 { 91
92 // Old one defaults to IPv6 92 IPAddress ia = null;
93 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port ); 93 // If it is already an IP, don't resolve it - just return directly
94 94 if (IPAddress.TryParse(m_externalHostName, out ia))
95 IPAddress ia = null; 95 return new IPEndPoint(ia, m_internalEndPoint.Port);
96 // If it is already an IP, don't resolve it - just return directly 96
97 if (IPAddress.TryParse(m_externalHostName, out ia)) 97 // Reset for next check
98 return new IPEndPoint(ia, m_internalEndPoint.Port); 98 ia = null;
99 99
100 // Reset for next check 100
101 ia = null; 101 // New method favors IPv4
102 102 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
103 103 {
104 // New method favors IPv4 104 if (ia == null)
105 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName)) 105 ia = Adr;
106 { 106
107 if (ia == null) 107 if (Adr.AddressFamily == AddressFamily.InterNetwork)
108 ia = Adr; 108 {
109 109 ia = Adr;
110 if (Adr.AddressFamily == AddressFamily.InterNetwork) 110 break;
111 { 111 }
112 ia = Adr; 112
113 break; 113 }
114 } 114
115 115 return new IPEndPoint(ia, m_internalEndPoint.Port);
116 } 116 }
117 117
118 return new IPEndPoint(ia, m_internalEndPoint.Port); 118 set
119 } 119 {
120 120 m_externalHostName = value.ToString();
121 set 121 }
122 { 122 }
123 m_externalHostName = value.ToString(); 123
124 } 124 protected string m_externalHostName;
125 } 125 public string ExternalHostName
126 126 {
127 protected string m_externalHostName; 127 get
128 public string ExternalHostName 128 {
129 { 129 return m_externalHostName;
130 get 130 }
131 { 131 set
132 return m_externalHostName; 132 {
133 } 133 m_externalHostName = value;
134 set 134 }
135 { 135 }
136 m_externalHostName = value; 136
137 } 137 protected IPEndPoint m_internalEndPoint;
138 } 138 public IPEndPoint InternalEndPoint
139 139 {
140 protected IPEndPoint m_internalEndPoint; 140 get
141 public IPEndPoint InternalEndPoint 141 {
142 { 142 return m_internalEndPoint;
143 get 143 }
144 { 144 set
145 return m_internalEndPoint; 145 {
146 } 146 m_internalEndPoint = value;
147 set 147 }
148 { 148 }
149 m_internalEndPoint = value; 149
150 } 150 protected uint? m_regionLocX;
151 } 151 public uint RegionLocX
152 152 {
153 protected uint? m_regionLocX; 153 get
154 public uint RegionLocX 154 {
155 { 155 return m_regionLocX.Value;
156 get 156 }
157 { 157 set
158 return m_regionLocX.Value; 158 {
159 } 159 m_regionLocX = value;
160 set 160 }
161 { 161 }
162 m_regionLocX = value; 162
163 } 163 protected uint? m_regionLocY;
164 } 164 public uint RegionLocY
165 165 {
166 protected uint? m_regionLocY; 166 get
167 public uint RegionLocY 167 {
168 { 168 return m_regionLocY.Value;
169 get 169 }
170 { 170 set
171 return m_regionLocY.Value; 171 {
172 } 172 m_regionLocY = value;
173 set 173 }
174 { 174 }
175 m_regionLocY = value; 175
176 } 176 public ulong RegionHandle
177 } 177 {
178 178 get
179 public ulong RegionHandle 179 {
180 { 180 return Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
181 get 181 }
182 { 182 }
183 return Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256)); 183 }
184 } 184
185 } 185 public class RegionInfo : SimpleRegionInfo
186 } 186 {
187 187 public string RegionName = "";
188 public class RegionInfo : SimpleRegionInfo 188
189 { 189 public string DataStore = "";
190 public string RegionName = ""; 190 public bool isSandbox = false;
191 191
192 public string DataStore = ""; 192 public LLUUID MasterAvatarAssignedUUID = new LLUUID();
193 public bool isSandbox = false; 193 public string MasterAvatarFirstName = "";
194 194 public string MasterAvatarLastName = "";
195 public LLUUID MasterAvatarAssignedUUID = new LLUUID(); 195 public string MasterAvatarSandboxPassword = "";
196 public string MasterAvatarFirstName = ""; 196
197 public string MasterAvatarLastName = ""; 197 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
198 public string MasterAvatarSandboxPassword = ""; 198 private static EstateSettings m_estateSettings;
199 199 public EstateSettings EstateSettings
200 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote. 200 {
201 private static EstateSettings m_estateSettings; 201 get
202 public EstateSettings EstateSettings 202 {
203 { 203 if( m_estateSettings == null )
204 get 204 {
205 { 205 m_estateSettings = new EstateSettings();
206 if( m_estateSettings == null ) 206 }
207 { 207
208 m_estateSettings = new EstateSettings(); 208 return m_estateSettings;
209 } 209 }
210 210
211 return m_estateSettings; 211 }
212 } 212
213 213 public ConfigurationMember configMember;
214 } 214 public RegionInfo(string description, string filename)
215 215 {
216 public ConfigurationMember configMember; 216 configMember = new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
217 public RegionInfo(string description, string filename) 217 configMember.performConfigurationRetrieve();
218 { 218 }
219 configMember = new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 219
220 configMember.performConfigurationRetrieve(); 220 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) :
221 } 221 base(regionLocX, regionLocY, internalEndPoint, externalUri)
222 222 {
223 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) : 223
224 base(regionLocX, regionLocY, internalEndPoint, externalUri) 224
225 { 225 }
226 226
227 227 public RegionInfo()
228 } 228 {
229 229
230 public RegionInfo() 230 }
231 { 231
232 232 //not in use, should swap to nini though.
233 } 233 public void LoadFromNiniSource(IConfigSource source)
234 234 {
235 //not in use, should swap to nini though. 235 this.LoadFromNiniSource(source, "RegionInfo");
236 public void LoadFromNiniSource(IConfigSource source) 236 }
237 { 237
238 this.LoadFromNiniSource(source, "RegionInfo"); 238 //not in use, should swap to nini though.
239 } 239 public void LoadFromNiniSource(IConfigSource source, string sectionName)
240 240 {
241 //not in use, should swap to nini though. 241 string errorMessage = "";
242 public void LoadFromNiniSource(IConfigSource source, string sectionName) 242 this.RegionID = new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated()));
243 { 243 this.RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
244 string errorMessage = ""; 244 this.m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
245 this.RegionID = new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated())); 245 this.m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
246 this.RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test"); 246 this.DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
247 this.m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000")); 247
248 this.m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000")); 248 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
249 this.DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db"); 249 IPAddress ipAddressResult;
250 250 if (IPAddress.TryParse(ipAddress, out ipAddressResult))
251 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0"); 251 {
252 IPAddress ipAddressResult; 252 this.m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
253 if (IPAddress.TryParse(ipAddress, out ipAddressResult)) 253 }
254 { 254 else
255 this.m_internalEndPoint = new IPEndPoint(ipAddressResult, 0); 255 {
256 } 256 errorMessage = "needs an IP Address (IPAddress)";
257 else 257 }
258 { 258 this.m_internalEndPoint.Port = source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort);
259 errorMessage = "needs an IP Address (IPAddress)"; 259
260 } 260 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
261 this.m_internalEndPoint.Port = source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort); 261 if (externalHost != "SYSTEMIP")
262 262 {
263 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1"); 263 this.m_externalHostName = externalHost;
264 if (externalHost != "SYSTEMIP") 264 }
265 { 265 else
266 this.m_externalHostName = externalHost; 266 {
267 } 267 this.m_externalHostName = Util.GetLocalHost().ToString();
268 else 268 }
269 { 269
270 this.m_externalHostName = Util.GetLocalHost().ToString(); 270 this.MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
271 } 271 this.MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
272 272 this.MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
273 this.MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test"); 273
274 this.MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User"); 274 if (errorMessage != "")
275 this.MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test"); 275 {
276 276 // a error
277 if (errorMessage != "") 277 }
278 { 278 }
279 // a error 279
280 } 280 public void loadConfigurationOptions()
281 } 281 {
282 282 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "UUID of Region (Default is recommended, random UUID)", LLUUID.Random().ToString(), true);
283 public void loadConfigurationOptions() 283 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Region Name", "OpenSim Test", false);
284 { 284 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false);
285 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "UUID of Region (Default is recommended, random UUID)", LLUUID.Random().ToString(), true); 285 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false);
286 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Region Name", "OpenSim Test", false); 286 configMember.addConfigurationOption("datastore", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Filename for local storage", "OpenSim.db", false);
287 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false); 287 configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false);
288 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false); 288 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
289 configMember.addConfigurationOption("datastore", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Filename for local storage", "OpenSim.db", false); 289 configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false);
290 configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false); 290 configMember.addConfigurationOption("master_avatar_first", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "First Name of Master Avatar", "Test", false);
291 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); 291 configMember.addConfigurationOption("master_avatar_last", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Last Name of Master Avatar", "User", false);
292 configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false); 292 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "(Sandbox Mode Only)Password for Master Avatar account", "test", false);
293 configMember.addConfigurationOption("master_avatar_first", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "First Name of Master Avatar", "Test", false); 293 }
294 configMember.addConfigurationOption("master_avatar_last", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Last Name of Master Avatar", "User", false); 294
295 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "(Sandbox Mode Only)Password for Master Avatar account", "test", false); 295 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
296 } 296 {
297 297 switch (configuration_key)
298 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 298 {
299 { 299 case "sim_UUID":
300 switch (configuration_key) 300 this.RegionID = (LLUUID)configuration_result;
301 { 301 break;
302 case "sim_UUID": 302 case "sim_name":
303 this.RegionID = (LLUUID)configuration_result; 303 this.RegionName = (string)configuration_result;
304 break; 304 break;
305 case "sim_name": 305 case "sim_location_x":
306 this.RegionName = (string)configuration_result; 306 this.m_regionLocX = (uint)configuration_result;
307 break; 307 break;
308 case "sim_location_x": 308 case "sim_location_y":
309 this.m_regionLocX = (uint)configuration_result; 309 this.m_regionLocY = (uint)configuration_result;
310 break; 310 break;
311 case "sim_location_y": 311 case "datastore":
312 this.m_regionLocY = (uint)configuration_result; 312 this.DataStore = (string)configuration_result;
313 break; 313 break;
314 case "datastore": 314 case "internal_ip_address":
315 this.DataStore = (string)configuration_result; 315 IPAddress address = (IPAddress)configuration_result;
316 break; 316 this.m_internalEndPoint = new IPEndPoint(address, 0);
317 case "internal_ip_address": 317 break;
318 IPAddress address = (IPAddress)configuration_result; 318 case "internal_ip_port":
319 this.m_internalEndPoint = new IPEndPoint(address, 0); 319 this.m_internalEndPoint.Port = (int)configuration_result;
320 break; 320 break;
321 case "internal_ip_port": 321 case "external_host_name":
322 this.m_internalEndPoint.Port = (int)configuration_result; 322 if ((string)configuration_result != "SYSTEMIP")
323 break; 323 {
324 case "external_host_name": 324 this.m_externalHostName = (string)configuration_result;
325 if ((string)configuration_result != "SYSTEMIP") 325 }
326 { 326 else
327 this.m_externalHostName = (string)configuration_result; 327 {
328 } 328 this.m_externalHostName = Util.GetLocalHost().ToString();
329 else 329 }
330 { 330 break;
331 this.m_externalHostName = Util.GetLocalHost().ToString(); 331 case "master_avatar_first":
332 } 332 this.MasterAvatarFirstName = (string)configuration_result;
333 break; 333 break;
334 case "master_avatar_first": 334 case "master_avatar_last":
335 this.MasterAvatarFirstName = (string)configuration_result; 335 this.MasterAvatarLastName = (string)configuration_result;
336 break; 336 break;
337 case "master_avatar_last": 337 case "master_avatar_pass":
338 this.MasterAvatarLastName = (string)configuration_result; 338 string tempMD5Passwd = (string)configuration_result;
339 break; 339 this.MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
340 case "master_avatar_pass": 340 break;
341 string tempMD5Passwd = (string)configuration_result; 341 }
342 this.MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + ""); 342
343 break; 343 return true;
344 } 344 }
345 345
346 return true; 346 }
347 } 347}
348
349 }
350}
diff --git a/OpenSim/Framework/General/Types/UUID.cs b/OpenSim/Framework/General/UUID.cs
index 207b63e..4327f40 100644
--- a/OpenSim/Framework/General/Types/UUID.cs
+++ b/OpenSim/Framework/General/UUID.cs
@@ -1,155 +1,155 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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*/
28 28
29using System; 29using System;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework.Types 32namespace OpenSim.Framework
33{ 33{
34 class UUID 34 class UUID
35 { 35 {
36 public LLUUID llUUID; 36 public LLUUID llUUID;
37 37
38 public UUID(string uuid) 38 public UUID(string uuid)
39 { 39 {
40 llUUID = new LLUUID(uuid); 40 llUUID = new LLUUID(uuid);
41 } 41 }
42 42
43 public UUID(byte[] uuid) 43 public UUID(byte[] uuid)
44 { 44 {
45 llUUID = new LLUUID(uuid, 0); 45 llUUID = new LLUUID(uuid, 0);
46 } 46 }
47 47
48 public UUID(byte[] uuid, int offset) 48 public UUID(byte[] uuid, int offset)
49 { 49 {
50 llUUID = new LLUUID(uuid, offset); 50 llUUID = new LLUUID(uuid, offset);
51 } 51 }
52 52
53 public UUID() 53 public UUID()
54 { 54 {
55 llUUID = LLUUID.Zero; 55 llUUID = LLUUID.Zero;
56 } 56 }
57 57
58 public UUID(ulong uuid) 58 public UUID(ulong uuid)
59 { 59 {
60 llUUID = new LLUUID(uuid); 60 llUUID = new LLUUID(uuid);
61 } 61 }
62 62
63 public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth) 63 public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth)
64 { 64 {
65 byte[] uuid = new byte[16]; 65 byte[] uuid = new byte[16];
66 66
67 byte[] n = BitConverter.GetBytes(first); 67 byte[] n = BitConverter.GetBytes(first);
68 n.CopyTo(uuid, 0); 68 n.CopyTo(uuid, 0);
69 n = BitConverter.GetBytes(second); 69 n = BitConverter.GetBytes(second);
70 n.CopyTo(uuid, 4); 70 n.CopyTo(uuid, 4);
71 n = BitConverter.GetBytes(third); 71 n = BitConverter.GetBytes(third);
72 n.CopyTo(uuid, 8); 72 n.CopyTo(uuid, 8);
73 n = BitConverter.GetBytes(fourth); 73 n = BitConverter.GetBytes(fourth);
74 n.CopyTo(uuid, 12); 74 n.CopyTo(uuid, 12);
75 75
76 llUUID = new LLUUID(uuid,0); 76 llUUID = new LLUUID(uuid,0);
77 } 77 }
78 78
79 public override string ToString() 79 public override string ToString()
80 { 80 {
81 return llUUID.ToString(); 81 return llUUID.ToString();
82 } 82 }
83 83
84 public string ToStringHyphenated() 84 public string ToStringHyphenated()
85 { 85 {
86 return llUUID.ToStringHyphenated(); 86 return llUUID.ToStringHyphenated();
87 } 87 }
88 88
89 public byte[] GetBytes() 89 public byte[] GetBytes()
90 { 90 {
91 return llUUID.GetBytes(); 91 return llUUID.GetBytes();
92 } 92 }
93 93
94 public UInt32[] GetInts() 94 public UInt32[] GetInts()
95 { 95 {
96 UInt32[] ints = new UInt32[4]; 96 UInt32[] ints = new UInt32[4];
97 ints[0] = BitConverter.ToUInt32(llUUID.Data, 0); 97 ints[0] = BitConverter.ToUInt32(llUUID.Data, 0);
98 ints[1] = BitConverter.ToUInt32(llUUID.Data, 4); 98 ints[1] = BitConverter.ToUInt32(llUUID.Data, 4);
99 ints[2] = BitConverter.ToUInt32(llUUID.Data, 8); 99 ints[2] = BitConverter.ToUInt32(llUUID.Data, 8);
100 ints[3] = BitConverter.ToUInt32(llUUID.Data, 12); 100 ints[3] = BitConverter.ToUInt32(llUUID.Data, 12);
101 101
102 return ints; 102 return ints;
103 } 103 }
104 104
105 public LLUUID GetLLUUID() 105 public LLUUID GetLLUUID()
106 { 106 {
107 return llUUID; 107 return llUUID;
108 } 108 }
109 109
110 public uint CRC() 110 public uint CRC()
111 { 111 {
112 return llUUID.CRC(); 112 return llUUID.CRC();
113 } 113 }
114 114
115 public override int GetHashCode() 115 public override int GetHashCode()
116 { 116 {
117 return llUUID.GetHashCode(); 117 return llUUID.GetHashCode();
118 } 118 }
119 119
120 public void Combine(UUID other) 120 public void Combine(UUID other)
121 { 121 {
122 llUUID.Combine(other.GetLLUUID()); 122 llUUID.Combine(other.GetLLUUID());
123 } 123 }
124 124
125 public void Combine(LLUUID other) 125 public void Combine(LLUUID other)
126 { 126 {
127 llUUID.Combine(other); 127 llUUID.Combine(other);
128 } 128 }
129 129
130 public override bool Equals(Object other) 130 public override bool Equals(Object other)
131 { 131 {
132 return llUUID.Equals(other); 132 return llUUID.Equals(other);
133 } 133 }
134 134
135 public static bool operator ==(UUID a, UUID b) 135 public static bool operator ==(UUID a, UUID b)
136 { 136 {
137 return a.llUUID.Equals(b.GetLLUUID()); 137 return a.llUUID.Equals(b.GetLLUUID());
138 } 138 }
139 139
140 public static bool operator !=(UUID a, UUID b) 140 public static bool operator !=(UUID a, UUID b)
141 { 141 {
142 return !a.llUUID.Equals(b.GetLLUUID()); 142 return !a.llUUID.Equals(b.GetLLUUID());
143 } 143 }
144 144
145 public static bool operator ==(UUID a, LLUUID b) 145 public static bool operator ==(UUID a, LLUUID b)
146 { 146 {
147 return a.Equals(b); 147 return a.Equals(b);
148 } 148 }
149 149
150 public static bool operator !=(UUID a, LLUUID b) 150 public static bool operator !=(UUID a, LLUUID b)
151 { 151 {
152 return !a.Equals(b); 152 return !a.Equals(b);
153 } 153 }
154 } 154 }
155} 155}
diff --git a/OpenSim/Framework/General/Types/UserProfileData.cs b/OpenSim/Framework/General/UserProfileData.cs
index 20d8224..444d811 100644
--- a/OpenSim/Framework/General/Types/UserProfileData.cs
+++ b/OpenSim/Framework/General/UserProfileData.cs
@@ -1,191 +1,191 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.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 libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework.Types 31namespace OpenSim.Framework
32{ 32{
33 /// <summary> 33 /// <summary>
34 /// Information about a particular user known to the userserver 34 /// Information about a particular user known to the userserver
35 /// </summary> 35 /// </summary>
36 public class UserProfileData 36 public class UserProfileData
37 { 37 {
38 /// <summary> 38 /// <summary>
39 /// The ID value for this user 39 /// The ID value for this user
40 /// </summary> 40 /// </summary>
41 public LLUUID UUID; 41 public LLUUID UUID;
42 42
43 /// <summary> 43 /// <summary>
44 /// The first component of a users account name 44 /// The first component of a users account name
45 /// </summary> 45 /// </summary>
46 public string username; 46 public string username;
47 /// <summary> 47 /// <summary>
48 /// The second component of a users account name 48 /// The second component of a users account name
49 /// </summary> 49 /// </summary>
50 public string surname; 50 public string surname;
51 51
52 /// <summary> 52 /// <summary>
53 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt) 53 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
54 /// </summary> 54 /// </summary>
55 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks> 55 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks>
56 public string passwordHash; 56 public string passwordHash;
57 /// <summary> 57 /// <summary>
58 /// The salt used for the users hash, should be 32 bytes or longer 58 /// The salt used for the users hash, should be 32 bytes or longer
59 /// </summary> 59 /// </summary>
60 public string passwordSalt; 60 public string passwordSalt;
61 61
62 /// <summary> 62 /// <summary>
63 /// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into 63 /// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into
64 /// </summary> 64 /// </summary>
65 public ulong homeRegion 65 public ulong homeRegion
66 { 66 {
67 get { return Helpers.UIntsToLong((homeRegionX * 256), (homeRegionY * 256)); } 67 get { return Helpers.UIntsToLong((homeRegionX * 256), (homeRegionY * 256)); }
68 set { 68 set {
69 homeRegionX = (uint)(value >> 40); 69 homeRegionX = (uint)(value >> 40);
70 homeRegionY = (((uint)(value)) >> 8); 70 homeRegionY = (((uint)(value)) >> 8);
71 } 71 }
72 } 72 }
73 public uint homeRegionX; 73 public uint homeRegionX;
74 public uint homeRegionY; 74 public uint homeRegionY;
75 /// <summary> 75 /// <summary>
76 /// The coordinates inside the region of the home location 76 /// The coordinates inside the region of the home location
77 /// </summary> 77 /// </summary>
78 public LLVector3 homeLocation; 78 public LLVector3 homeLocation;
79 /// <summary> 79 /// <summary>
80 /// Where the user will be looking when they rez. 80 /// Where the user will be looking when they rez.
81 /// </summary> 81 /// </summary>
82 public LLVector3 homeLookAt; 82 public LLVector3 homeLookAt;
83 83
84 /// <summary> 84 /// <summary>
85 /// A UNIX Timestamp (seconds since epoch) for the users creation 85 /// A UNIX Timestamp (seconds since epoch) for the users creation
86 /// </summary> 86 /// </summary>
87 public int created; 87 public int created;
88 /// <summary> 88 /// <summary>
89 /// A UNIX Timestamp for the users last login date / time 89 /// A UNIX Timestamp for the users last login date / time
90 /// </summary> 90 /// </summary>
91 public int lastLogin; 91 public int lastLogin;
92 92
93 public LLUUID rootInventoryFolderID; 93 public LLUUID rootInventoryFolderID;
94 94
95 /// <summary> 95 /// <summary>
96 /// A URI to the users inventory server, used for foreigners and large grids 96 /// A URI to the users inventory server, used for foreigners and large grids
97 /// </summary> 97 /// </summary>
98 public string userInventoryURI = String.Empty; 98 public string userInventoryURI = String.Empty;
99 /// <summary> 99 /// <summary>
100 /// A URI to the users asset server, used for foreigners and large grids. 100 /// A URI to the users asset server, used for foreigners and large grids.
101 /// </summary> 101 /// </summary>
102 public string userAssetURI = String.Empty; 102 public string userAssetURI = String.Empty;
103 103
104 /// <summary> 104 /// <summary>
105 /// A uint mask containing the "I can do" fields of the users profile 105 /// A uint mask containing the "I can do" fields of the users profile
106 /// </summary> 106 /// </summary>
107 public uint profileCanDoMask; 107 public uint profileCanDoMask;
108 /// <summary> 108 /// <summary>
109 /// A uint mask containing the "I want to do" part of the users profile 109 /// A uint mask containing the "I want to do" part of the users profile
110 /// </summary> 110 /// </summary>
111 public uint profileWantDoMask; // Profile window "I want to" mask 111 public uint profileWantDoMask; // Profile window "I want to" mask
112 112
113 /// <summary> 113 /// <summary>
114 /// The about text listed in a users profile. 114 /// The about text listed in a users profile.
115 /// </summary> 115 /// </summary>
116 public string profileAboutText = String.Empty; 116 public string profileAboutText = String.Empty;
117 /// <summary> 117 /// <summary>
118 /// The first life about text listed in a users profile 118 /// The first life about text listed in a users profile
119 /// </summary> 119 /// </summary>
120 public string profileFirstText = String.Empty; 120 public string profileFirstText = String.Empty;
121 121
122 /// <summary> 122 /// <summary>
123 /// The profile image for an avatar stored on the asset server 123 /// The profile image for an avatar stored on the asset server
124 /// </summary> 124 /// </summary>
125 public LLUUID profileImage; 125 public LLUUID profileImage;
126 /// <summary> 126 /// <summary>
127 /// The profile image for the users first life tab 127 /// The profile image for the users first life tab
128 /// </summary> 128 /// </summary>
129 public LLUUID profileFirstImage; 129 public LLUUID profileFirstImage;
130 /// <summary> 130 /// <summary>
131 /// The users last registered agent (filled in on the user server) 131 /// The users last registered agent (filled in on the user server)
132 /// </summary> 132 /// </summary>
133 public UserAgentData currentAgent; 133 public UserAgentData currentAgent;
134 } 134 }
135 135
136 /// <summary> 136 /// <summary>
137 /// Information about a users session 137 /// Information about a users session
138 /// </summary> 138 /// </summary>
139 public class UserAgentData 139 public class UserAgentData
140 { 140 {
141 /// <summary> 141 /// <summary>
142 /// The UUID of the users avatar (not the agent!) 142 /// The UUID of the users avatar (not the agent!)
143 /// </summary> 143 /// </summary>
144 public LLUUID UUID; 144 public LLUUID UUID;
145 /// <summary> 145 /// <summary>
146 /// The IP address of the user 146 /// The IP address of the user
147 /// </summary> 147 /// </summary>
148 public string agentIP = String.Empty; 148 public string agentIP = String.Empty;
149 /// <summary> 149 /// <summary>
150 /// The port of the user 150 /// The port of the user
151 /// </summary> 151 /// </summary>
152 public uint agentPort; 152 public uint agentPort;
153 /// <summary> 153 /// <summary>
154 /// Is the user online? 154 /// Is the user online?
155 /// </summary> 155 /// </summary>
156 public bool agentOnline; 156 public bool agentOnline;
157 /// <summary> 157 /// <summary>
158 /// The session ID for the user (also the agent ID) 158 /// The session ID for the user (also the agent ID)
159 /// </summary> 159 /// </summary>
160 public LLUUID sessionID; 160 public LLUUID sessionID;
161 /// <summary> 161 /// <summary>
162 /// The "secure" session ID for the user 162 /// The "secure" session ID for the user
163 /// </summary> 163 /// </summary>
164 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks> 164 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
165 public LLUUID secureSessionID; 165 public LLUUID secureSessionID;
166 /// <summary> 166 /// <summary>
167 /// The region the user logged into initially 167 /// The region the user logged into initially
168 /// </summary> 168 /// </summary>
169 public LLUUID regionID; 169 public LLUUID regionID;
170 /// <summary> 170 /// <summary>
171 /// A unix timestamp from when the user logged in 171 /// A unix timestamp from when the user logged in
172 /// </summary> 172 /// </summary>
173 public int loginTime; 173 public int loginTime;
174 /// <summary> 174 /// <summary>
175 /// When this agent expired and logged out, 0 if still online 175 /// When this agent expired and logged out, 0 if still online
176 /// </summary> 176 /// </summary>
177 public int logoutTime; 177 public int logoutTime;
178 /// <summary> 178 /// <summary>
179 /// Current region the user is logged into 179 /// Current region the user is logged into
180 /// </summary> 180 /// </summary>
181 public LLUUID currentRegion; 181 public LLUUID currentRegion;
182 /// <summary> 182 /// <summary>
183 /// Region handle of the current region the user is in 183 /// Region handle of the current region the user is in
184 /// </summary> 184 /// </summary>
185 public ulong currentHandle; 185 public ulong currentHandle;
186 /// <summary> 186 /// <summary>
187 /// The position of the user within the region 187 /// The position of the user within the region
188 /// </summary> 188 /// </summary>
189 public LLVector3 currentPos; 189 public LLVector3 currentPos;
190 } 190 }
191} \ No newline at end of file 191} \ No newline at end of file