diff options
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/IMesher.cs | 14 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/ZeroMesher.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitMeshing/Mesh.cs | 57 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitMeshing/Meshmerizer.cs | 183 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitMeshing/SculptMap.cs | 95 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitMeshing/SculptMesh.cs | 440 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs | 53 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | 19 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 1 | ||||
-rwxr-xr-x | bin/lib32/ode.dll | bin | 548864 -> 547840 bytes | |||
-rwxr-xr-x | bin/lib64/ode.dll | bin | 656384 -> 651776 bytes | |||
-rw-r--r-- | prebuild.xml | 194 |
17 files changed, 463 insertions, 626 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index f7bb817..8cac731 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -517,7 +517,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
517 | /// </summary> | 517 | /// </summary> |
518 | public void Close(bool sendStop) | 518 | public void Close(bool sendStop) |
519 | { | 519 | { |
520 | IsActive = false; | ||
521 | // We lock here to prevent race conditions between two threads calling close simultaneously (e.g. | 520 | // We lock here to prevent race conditions between two threads calling close simultaneously (e.g. |
522 | // a simultaneous relog just as a client is being closed out due to no packet ack from the old connection. | 521 | // a simultaneous relog just as a client is being closed out due to no packet ack from the old connection. |
523 | lock (CloseSyncLock) | 522 | lock (CloseSyncLock) |
@@ -552,8 +551,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
552 | OutPacket(disable, ThrottleOutPacketType.Unknown); | 551 | OutPacket(disable, ThrottleOutPacketType.Unknown); |
553 | } | 552 | } |
554 | 553 | ||
555 | IsActive = false; | ||
556 | |||
557 | // Shutdown the image manager | 554 | // Shutdown the image manager |
558 | ImageManager.Close(); | 555 | ImageManager.Close(); |
559 | 556 | ||
diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index ca320e1..8b2f2f8 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs | |||
@@ -773,4 +773,4 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
773 | return null; | 773 | return null; |
774 | } | 774 | } |
775 | } | 775 | } |
776 | } \ No newline at end of file | 776 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a29b4fd..1fc4c52 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2973,10 +2973,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2973 | try | 2973 | try |
2974 | { | 2974 | { |
2975 | ScenePresence sp = GetScenePresence(agentID); | 2975 | ScenePresence sp = GetScenePresence(agentID); |
2976 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | 2976 | |
2977 | |||
2978 | if (sp != null) | 2977 | if (sp != null) |
2978 | { | ||
2979 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | ||
2979 | sp.ControllingClient.Close(); | 2980 | sp.ControllingClient.Close(); |
2981 | } | ||
2980 | 2982 | ||
2981 | // BANG! SLASH! | 2983 | // BANG! SLASH! |
2982 | m_authenticateHandler.RemoveCircuit(agentID); | 2984 | m_authenticateHandler.RemoveCircuit(agentID); |
@@ -3893,6 +3895,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
3893 | 3895 | ||
3894 | public bool TestLandRestrictions(UUID agentID, out string reason, ref float posX, ref float posY) | 3896 | public bool TestLandRestrictions(UUID agentID, out string reason, ref float posX, ref float posY) |
3895 | { | 3897 | { |
3898 | if (posX < 0) | ||
3899 | posX = 0; | ||
3900 | else if (posX >= 256) | ||
3901 | posX = 255.999f; | ||
3902 | if (posY < 0) | ||
3903 | posY = 0; | ||
3904 | else if (posY >= 256) | ||
3905 | posY = 255.999f; | ||
3906 | |||
3896 | reason = String.Empty; | 3907 | reason = String.Empty; |
3897 | if (Permissions.IsGod(agentID)) | 3908 | if (Permissions.IsGod(agentID)) |
3898 | return true; | 3909 | return true; |
@@ -4251,7 +4262,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4251 | /// <param name='agentID'></param> | 4262 | /// <param name='agentID'></param> |
4252 | protected virtual ScenePresence WaitGetScenePresence(UUID agentID) | 4263 | protected virtual ScenePresence WaitGetScenePresence(UUID agentID) |
4253 | { | 4264 | { |
4254 | int ntimes = 10; | 4265 | int ntimes = 20; |
4255 | ScenePresence sp = null; | 4266 | ScenePresence sp = null; |
4256 | while ((sp = GetScenePresence(agentID)) == null && (ntimes-- > 0)) | 4267 | while ((sp = GetScenePresence(agentID)) == null && (ntimes-- > 0)) |
4257 | Thread.Sleep(1000); | 4268 | Thread.Sleep(1000); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 4d3ab51..47b2ead 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3585,6 +3585,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
3585 | // m_reprioritizationTimer.Dispose(); | 3585 | // m_reprioritizationTimer.Dispose(); |
3586 | 3586 | ||
3587 | RemoveFromPhysicalScene(); | 3587 | RemoveFromPhysicalScene(); |
3588 | |||
3589 | m_scene.EventManager.OnRegionHeartbeatEnd -= RegionHeartbeatEnd; | ||
3590 | |||
3591 | // if (Animator != null) | ||
3592 | // Animator.Close(); | ||
3593 | Animator = null; | ||
3594 | |||
3588 | } | 3595 | } |
3589 | 3596 | ||
3590 | public void AddAttachment(SceneObjectGroup gobj) | 3597 | public void AddAttachment(SceneObjectGroup gobj) |
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs index c32cf38..a8c99f7 100644 --- a/OpenSim/Region/Physics/Manager/IMesher.cs +++ b/OpenSim/Region/Physics/Manager/IMesher.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Runtime.InteropServices; | ||
30 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
31 | using OpenMetaverse; | 32 | using OpenMetaverse; |
32 | 33 | ||
@@ -37,6 +38,8 @@ namespace OpenSim.Region.Physics.Manager | |||
37 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); | 38 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); |
38 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); | 39 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); |
39 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical,bool convex); | 40 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical,bool convex); |
41 | void ReleaseMesh(IMesh mesh); | ||
42 | void ExpireReleaseMeshs(); | ||
40 | } | 43 | } |
41 | 44 | ||
42 | // Values for level of detail to be passed to the mesher. | 45 | // Values for level of detail to be passed to the mesher. |
@@ -54,6 +57,17 @@ namespace OpenSim.Region.Physics.Manager | |||
54 | { | 57 | { |
55 | } | 58 | } |
56 | 59 | ||
60 | [StructLayout(LayoutKind.Explicit)] | ||
61 | public struct AMeshKey | ||
62 | { | ||
63 | [FieldOffset(0)] | ||
64 | public UUID uuid; | ||
65 | [FieldOffset(0)] | ||
66 | public ulong hashA; | ||
67 | [FieldOffset(8)] | ||
68 | public ulong hashB; | ||
69 | } | ||
70 | |||
57 | public interface IMesh | 71 | public interface IMesh |
58 | { | 72 | { |
59 | List<Vector3> getVertexList(); | 73 | List<Vector3> getVertexList(); |
diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs index 8a3b50b..f555cb9 100644 --- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs +++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs | |||
@@ -79,5 +79,7 @@ namespace OpenSim.Region.Physics.Manager | |||
79 | 79 | ||
80 | return null; | 80 | return null; |
81 | } | 81 | } |
82 | public void ReleaseMesh(IMesh mesh) { } | ||
83 | public void ExpireReleaseMeshs() { } | ||
82 | } | 84 | } |
83 | } | 85 | } |
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index 825b858..3c4f737 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs | |||
@@ -763,5 +763,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
763 | 763 | ||
764 | return mesh; | 764 | return mesh; |
765 | } | 765 | } |
766 | public void ReleaseMesh(IMesh imesh) { } | ||
767 | public void ExpireReleaseMeshs() { } | ||
766 | } | 768 | } |
767 | } | 769 | } |
diff --git a/OpenSim/Region/Physics/UbitMeshing/Mesh.cs b/OpenSim/Region/Physics/UbitMeshing/Mesh.cs index c715642..98c0f0b 100644 --- a/OpenSim/Region/Physics/UbitMeshing/Mesh.cs +++ b/OpenSim/Region/Physics/UbitMeshing/Mesh.cs | |||
@@ -37,6 +37,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
37 | { | 37 | { |
38 | public class Mesh : IMesh | 38 | public class Mesh : IMesh |
39 | { | 39 | { |
40 | |||
40 | private Dictionary<Vertex, int> m_vertices; | 41 | private Dictionary<Vertex, int> m_vertices; |
41 | private List<Triangle> m_triangles; | 42 | private List<Triangle> m_triangles; |
42 | GCHandle m_pinnedVertexes; | 43 | GCHandle m_pinnedVertexes; |
@@ -46,8 +47,9 @@ namespace OpenSim.Region.Physics.Meshing | |||
46 | IntPtr m_indicesPtr = IntPtr.Zero; | 47 | IntPtr m_indicesPtr = IntPtr.Zero; |
47 | int m_indexCount = 0; | 48 | int m_indexCount = 0; |
48 | public float[] m_normals; | 49 | public float[] m_normals; |
49 | Vector3 _centroid; | 50 | Vector3 m_centroid; |
50 | int _centroidDiv; | 51 | int m_centroidDiv; |
52 | |||
51 | 53 | ||
52 | private class vertexcomp : IEqualityComparer<Vertex> | 54 | private class vertexcomp : IEqualityComparer<Vertex> |
53 | { | 55 | { |
@@ -65,7 +67,6 @@ namespace OpenSim.Region.Physics.Meshing | |||
65 | int c = v.Z.GetHashCode(); | 67 | int c = v.Z.GetHashCode(); |
66 | return (a << 16) ^ (b << 8) ^ c; | 68 | return (a << 16) ^ (b << 8) ^ c; |
67 | } | 69 | } |
68 | |||
69 | } | 70 | } |
70 | 71 | ||
71 | public Mesh() | 72 | public Mesh() |
@@ -74,8 +75,18 @@ namespace OpenSim.Region.Physics.Meshing | |||
74 | 75 | ||
75 | m_vertices = new Dictionary<Vertex, int>(vcomp); | 76 | m_vertices = new Dictionary<Vertex, int>(vcomp); |
76 | m_triangles = new List<Triangle>(); | 77 | m_triangles = new List<Triangle>(); |
77 | _centroid = Vector3.Zero; | 78 | m_centroid = Vector3.Zero; |
78 | _centroidDiv = 0; | 79 | m_centroidDiv = 0; |
80 | } | ||
81 | |||
82 | public int RefCount { get; set; } | ||
83 | |||
84 | public AMeshKey Key { get; set; } | ||
85 | |||
86 | public void Scale(Vector3 scale) | ||
87 | { | ||
88 | |||
89 | |||
79 | } | 90 | } |
80 | 91 | ||
81 | public Mesh Clone() | 92 | public Mesh Clone() |
@@ -86,8 +97,8 @@ namespace OpenSim.Region.Physics.Meshing | |||
86 | { | 97 | { |
87 | result.Add(new Triangle(t.v1.Clone(), t.v2.Clone(), t.v3.Clone())); | 98 | result.Add(new Triangle(t.v1.Clone(), t.v2.Clone(), t.v3.Clone())); |
88 | } | 99 | } |
89 | result._centroid = _centroid; | 100 | result.m_centroid = m_centroid; |
90 | result._centroidDiv = _centroidDiv; | 101 | result.m_centroidDiv = m_centroidDiv; |
91 | return result; | 102 | return result; |
92 | } | 103 | } |
93 | 104 | ||
@@ -109,41 +120,41 @@ namespace OpenSim.Region.Physics.Meshing | |||
109 | 120 | ||
110 | if (m_vertices.Count == 0) | 121 | if (m_vertices.Count == 0) |
111 | { | 122 | { |
112 | _centroidDiv = 0; | 123 | m_centroidDiv = 0; |
113 | _centroid = Vector3.Zero; | 124 | m_centroid = Vector3.Zero; |
114 | } | 125 | } |
115 | 126 | ||
116 | if (!m_vertices.ContainsKey(triangle.v1)) | 127 | if (!m_vertices.ContainsKey(triangle.v1)) |
117 | { | 128 | { |
118 | m_vertices[triangle.v1] = m_vertices.Count; | 129 | m_vertices[triangle.v1] = m_vertices.Count; |
119 | _centroid.X += triangle.v1.X; | 130 | m_centroid.X += triangle.v1.X; |
120 | _centroid.Y += triangle.v1.Y; | 131 | m_centroid.Y += triangle.v1.Y; |
121 | _centroid.Z += triangle.v1.Z; | 132 | m_centroid.Z += triangle.v1.Z; |
122 | _centroidDiv++; | 133 | m_centroidDiv++; |
123 | } | 134 | } |
124 | if (!m_vertices.ContainsKey(triangle.v2)) | 135 | if (!m_vertices.ContainsKey(triangle.v2)) |
125 | { | 136 | { |
126 | m_vertices[triangle.v2] = m_vertices.Count; | 137 | m_vertices[triangle.v2] = m_vertices.Count; |
127 | _centroid.X += triangle.v2.X; | 138 | m_centroid.X += triangle.v2.X; |
128 | _centroid.Y += triangle.v2.Y; | 139 | m_centroid.Y += triangle.v2.Y; |
129 | _centroid.Z += triangle.v2.Z; | 140 | m_centroid.Z += triangle.v2.Z; |
130 | _centroidDiv++; | 141 | m_centroidDiv++; |
131 | } | 142 | } |
132 | if (!m_vertices.ContainsKey(triangle.v3)) | 143 | if (!m_vertices.ContainsKey(triangle.v3)) |
133 | { | 144 | { |
134 | m_vertices[triangle.v3] = m_vertices.Count; | 145 | m_vertices[triangle.v3] = m_vertices.Count; |
135 | _centroid.X += triangle.v3.X; | 146 | m_centroid.X += triangle.v3.X; |
136 | _centroid.Y += triangle.v3.Y; | 147 | m_centroid.Y += triangle.v3.Y; |
137 | _centroid.Z += triangle.v3.Z; | 148 | m_centroid.Z += triangle.v3.Z; |
138 | _centroidDiv++; | 149 | m_centroidDiv++; |
139 | } | 150 | } |
140 | m_triangles.Add(triangle); | 151 | m_triangles.Add(triangle); |
141 | } | 152 | } |
142 | 153 | ||
143 | public Vector3 GetCentroid() | 154 | public Vector3 GetCentroid() |
144 | { | 155 | { |
145 | if (_centroidDiv > 0) | 156 | if (m_centroidDiv > 0) |
146 | return new Vector3(_centroid.X / _centroidDiv, _centroid.Y / _centroidDiv, _centroid.Z / _centroidDiv); | 157 | return new Vector3(m_centroid.X / m_centroidDiv, m_centroid.Y / m_centroidDiv, m_centroid.Z / m_centroidDiv); |
147 | else | 158 | else |
148 | return Vector3.Zero; | 159 | return Vector3.Zero; |
149 | } | 160 | } |
diff --git a/OpenSim/Region/Physics/UbitMeshing/Meshmerizer.cs b/OpenSim/Region/Physics/UbitMeshing/Meshmerizer.cs index f002bba..4c40175 100644 --- a/OpenSim/Region/Physics/UbitMeshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/UbitMeshing/Meshmerizer.cs | |||
@@ -82,7 +82,10 @@ namespace OpenSim.Region.Physics.Meshing | |||
82 | 82 | ||
83 | private float minSizeForComplexMesh = 0.2f; // prims with all dimensions smaller than this will have a bounding box mesh | 83 | private float minSizeForComplexMesh = 0.2f; // prims with all dimensions smaller than this will have a bounding box mesh |
84 | 84 | ||
85 | private Dictionary<ulong, Mesh> m_uniqueMeshes = new Dictionary<ulong, Mesh>(); | 85 | // private Dictionary<ulong, Mesh> m_uniqueMeshes = new Dictionary<ulong, Mesh>(); |
86 | // private Dictionary<ulong, Mesh> m_uniqueReleasedMeshes = new Dictionary<ulong, Mesh>(); | ||
87 | private Dictionary<AMeshKey, Mesh> m_uniqueMeshes = new Dictionary<AMeshKey, Mesh>(); | ||
88 | private Dictionary<AMeshKey, Mesh> m_uniqueReleasedMeshes = new Dictionary<AMeshKey, Mesh>(); | ||
86 | 89 | ||
87 | public Meshmerizer(IConfigSource config) | 90 | public Meshmerizer(IConfigSource config) |
88 | { | 91 | { |
@@ -314,6 +317,9 @@ namespace OpenSim.Region.Physics.Meshing | |||
314 | coords[f.v3].X, coords[f.v3].Y, coords[f.v3].Z)); | 317 | coords[f.v3].X, coords[f.v3].Y, coords[f.v3].Z)); |
315 | } | 318 | } |
316 | 319 | ||
320 | coords.Clear(); | ||
321 | faces.Clear(); | ||
322 | |||
317 | return mesh; | 323 | return mesh; |
318 | } | 324 | } |
319 | 325 | ||
@@ -780,7 +786,9 @@ namespace OpenSim.Region.Physics.Meshing | |||
780 | } | 786 | } |
781 | 787 | ||
782 | PrimMesher.SculptMesh.SculptType sculptType; | 788 | PrimMesher.SculptMesh.SculptType sculptType; |
783 | switch ((OpenMetaverse.SculptType)primShape.SculptType) | 789 | // remove mirror and invert bits |
790 | OpenMetaverse.SculptType pbsSculptType = ((OpenMetaverse.SculptType)(primShape.SculptType & 0x3f)); | ||
791 | switch (pbsSculptType) | ||
784 | { | 792 | { |
785 | case OpenMetaverse.SculptType.Cylinder: | 793 | case OpenMetaverse.SculptType.Cylinder: |
786 | sculptType = PrimMesher.SculptMesh.SculptType.cylinder; | 794 | sculptType = PrimMesher.SculptMesh.SculptType.cylinder; |
@@ -802,7 +810,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
802 | bool mirror = ((primShape.SculptType & 128) != 0); | 810 | bool mirror = ((primShape.SculptType & 128) != 0); |
803 | bool invert = ((primShape.SculptType & 64) != 0); | 811 | bool invert = ((primShape.SculptType & 64) != 0); |
804 | 812 | ||
805 | sculptMesh = new PrimMesher.SculptMesh((Bitmap)idata, sculptType, (int)lod, false, mirror, invert); | 813 | sculptMesh = new PrimMesher.SculptMesh((Bitmap)idata, sculptType, (int)lod, mirror, invert); |
806 | 814 | ||
807 | idata.Dispose(); | 815 | idata.Dispose(); |
808 | 816 | ||
@@ -971,6 +979,76 @@ namespace OpenSim.Region.Physics.Meshing | |||
971 | return true; | 979 | return true; |
972 | } | 980 | } |
973 | 981 | ||
982 | public AMeshKey GetMeshUniqueKey(PrimitiveBaseShape primShape, Vector3 size, byte lod, bool convex) | ||
983 | { | ||
984 | AMeshKey key = new AMeshKey(); | ||
985 | Byte[] someBytes; | ||
986 | |||
987 | key.hashB = 5181; | ||
988 | ulong hash = 5381; | ||
989 | |||
990 | if (primShape.SculptEntry) | ||
991 | { | ||
992 | key.uuid = primShape.SculptTexture; | ||
993 | key.hashB = mdjb2(key.hashB, primShape.SculptType); | ||
994 | } | ||
995 | else | ||
996 | { | ||
997 | hash = mdjb2(hash, primShape.PathCurve); | ||
998 | hash = mdjb2(hash, (byte)primShape.HollowShape); | ||
999 | hash = mdjb2(hash, (byte)primShape.ProfileShape); | ||
1000 | hash = mdjb2(hash, primShape.PathBegin); | ||
1001 | hash = mdjb2(hash, primShape.PathEnd); | ||
1002 | hash = mdjb2(hash, primShape.PathScaleX); | ||
1003 | hash = mdjb2(hash, primShape.PathScaleY); | ||
1004 | hash = mdjb2(hash, primShape.PathShearX); | ||
1005 | hash = mdjb2(hash, primShape.PathShearY); | ||
1006 | hash = mdjb2(hash, (byte)primShape.PathTwist); | ||
1007 | hash = mdjb2(hash, (byte)primShape.PathTwistBegin); | ||
1008 | hash = mdjb2(hash, (byte)primShape.PathRadiusOffset); | ||
1009 | hash = mdjb2(hash, (byte)primShape.PathTaperX); | ||
1010 | hash = mdjb2(hash, (byte)primShape.PathTaperY); | ||
1011 | hash = mdjb2(hash, primShape.PathRevolutions); | ||
1012 | hash = mdjb2(hash, (byte)primShape.PathSkew); | ||
1013 | hash = mdjb2(hash, primShape.ProfileBegin); | ||
1014 | hash = mdjb2(hash, primShape.ProfileEnd); | ||
1015 | hash = mdjb2(hash, primShape.ProfileHollow); | ||
1016 | key.hashA = hash; | ||
1017 | } | ||
1018 | |||
1019 | hash = key.hashB; | ||
1020 | |||
1021 | someBytes = size.GetBytes(); | ||
1022 | for (int i = 0; i < someBytes.Length; i++) | ||
1023 | hash = mdjb2(hash, someBytes[i]); | ||
1024 | |||
1025 | hash = mdjb2(hash, lod); | ||
1026 | |||
1027 | hash &= 0x3fffffffffffffff; | ||
1028 | |||
1029 | if (convex) | ||
1030 | hash |= 0x4000000000000000; | ||
1031 | |||
1032 | if (primShape.SculptEntry) | ||
1033 | hash |= 0x8000000000000000; | ||
1034 | |||
1035 | key.hashB = hash; | ||
1036 | |||
1037 | return key; | ||
1038 | } | ||
1039 | |||
1040 | private ulong mdjb2(ulong hash, byte c) | ||
1041 | { | ||
1042 | return ((hash << 5) + hash) + (ulong)c; | ||
1043 | } | ||
1044 | |||
1045 | private ulong mdjb2(ulong hash, ushort c) | ||
1046 | { | ||
1047 | hash = ((hash << 5) + hash) + (ulong)((byte)c); | ||
1048 | return ((hash << 5) + hash) + (ulong)(c >> 8); | ||
1049 | } | ||
1050 | |||
1051 | |||
974 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) | 1052 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) |
975 | { | 1053 | { |
976 | return CreateMesh(primName, primShape, size, lod, false,false); | 1054 | return CreateMesh(primName, primShape, size, lod, false,false); |
@@ -981,6 +1059,8 @@ namespace OpenSim.Region.Physics.Meshing | |||
981 | return CreateMesh(primName, primShape, size, lod, false,false); | 1059 | return CreateMesh(primName, primShape, size, lod, false,false); |
982 | } | 1060 | } |
983 | 1061 | ||
1062 | private static Vector3 m_MeshUnitSize = new Vector3(0.5f, 0.5f, 0.5f); | ||
1063 | |||
984 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex) | 1064 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex) |
985 | { | 1065 | { |
986 | #if SPAM | 1066 | #if SPAM |
@@ -988,18 +1068,42 @@ namespace OpenSim.Region.Physics.Meshing | |||
988 | #endif | 1068 | #endif |
989 | 1069 | ||
990 | Mesh mesh = null; | 1070 | Mesh mesh = null; |
991 | ulong key = 0; | 1071 | // ulong key = 0; |
992 | 1072 | ||
993 | // If this mesh has been created already, return it instead of creating another copy | ||
994 | // For large regions with 100k+ prims and hundreds of copies of each, this can save a GB or more of memory | ||
995 | key = primShape.GetMeshKey(size, lod, convex); | ||
996 | if (m_uniqueMeshes.TryGetValue(key, out mesh)) | ||
997 | return mesh; | ||
998 | 1073 | ||
999 | if (size.X < 0.01f) size.X = 0.01f; | 1074 | if (size.X < 0.01f) size.X = 0.01f; |
1000 | if (size.Y < 0.01f) size.Y = 0.01f; | 1075 | if (size.Y < 0.01f) size.Y = 0.01f; |
1001 | if (size.Z < 0.01f) size.Z = 0.01f; | 1076 | if (size.Z < 0.01f) size.Z = 0.01f; |
1002 | 1077 | ||
1078 | // try to find a identical mesh on meshs in use | ||
1079 | // key = primShape.GetMeshKey(size, lod, convex); | ||
1080 | AMeshKey key = GetMeshUniqueKey(primShape,size,(byte)lod, convex); | ||
1081 | |||
1082 | lock (m_uniqueMeshes) | ||
1083 | { | ||
1084 | m_uniqueMeshes.TryGetValue(key, out mesh); | ||
1085 | |||
1086 | if (mesh != null) | ||
1087 | { | ||
1088 | mesh.RefCount++; | ||
1089 | return mesh; | ||
1090 | } | ||
1091 | } | ||
1092 | |||
1093 | // try to find a identical mesh on meshs recently released | ||
1094 | lock (m_uniqueReleasedMeshes) | ||
1095 | { | ||
1096 | m_uniqueReleasedMeshes.TryGetValue(key, out mesh); | ||
1097 | if (mesh != null) | ||
1098 | { | ||
1099 | m_uniqueReleasedMeshes.Remove(key); | ||
1100 | lock (m_uniqueMeshes) | ||
1101 | m_uniqueMeshes.Add(key, mesh); | ||
1102 | mesh.RefCount = 1; | ||
1103 | return mesh; | ||
1104 | } | ||
1105 | } | ||
1106 | |||
1003 | mesh = CreateMeshFromPrimMesher(primName, primShape, size, lod,convex); | 1107 | mesh = CreateMeshFromPrimMesher(primName, primShape, size, lod,convex); |
1004 | 1108 | ||
1005 | if (mesh != null) | 1109 | if (mesh != null) |
@@ -1016,11 +1120,68 @@ namespace OpenSim.Region.Physics.Meshing | |||
1016 | 1120 | ||
1017 | // trim the vertex and triangle lists to free up memory | 1121 | // trim the vertex and triangle lists to free up memory |
1018 | mesh.TrimExcess(); | 1122 | mesh.TrimExcess(); |
1123 | mesh.Key = key; | ||
1124 | mesh.RefCount = 1; | ||
1019 | 1125 | ||
1020 | m_uniqueMeshes.Add(key, mesh); | 1126 | lock(m_uniqueMeshes) |
1127 | m_uniqueMeshes.Add(key, mesh); | ||
1021 | } | 1128 | } |
1022 | 1129 | ||
1023 | return mesh; | 1130 | return mesh; |
1024 | } | 1131 | } |
1132 | |||
1133 | public void ReleaseMesh(IMesh imesh) | ||
1134 | { | ||
1135 | if (imesh == null) | ||
1136 | return; | ||
1137 | |||
1138 | Mesh mesh = (Mesh)imesh; | ||
1139 | |||
1140 | int curRefCount = mesh.RefCount; | ||
1141 | curRefCount--; | ||
1142 | |||
1143 | if (curRefCount > 0) | ||
1144 | { | ||
1145 | mesh.RefCount = curRefCount; | ||
1146 | return; | ||
1147 | } | ||
1148 | |||
1149 | lock (m_uniqueMeshes) | ||
1150 | { | ||
1151 | mesh.RefCount = 0; | ||
1152 | m_uniqueMeshes.Remove(mesh.Key); | ||
1153 | lock (m_uniqueReleasedMeshes) | ||
1154 | m_uniqueReleasedMeshes.Add(mesh.Key, mesh); | ||
1155 | } | ||
1156 | } | ||
1157 | |||
1158 | public void ExpireReleaseMeshs() | ||
1159 | { | ||
1160 | if (m_uniqueReleasedMeshes.Count == 0) | ||
1161 | return; | ||
1162 | |||
1163 | List<Mesh> meshstodelete = new List<Mesh>(); | ||
1164 | int refcntr; | ||
1165 | |||
1166 | lock (m_uniqueReleasedMeshes) | ||
1167 | { | ||
1168 | foreach (Mesh m in m_uniqueReleasedMeshes.Values) | ||
1169 | { | ||
1170 | refcntr = m.RefCount; | ||
1171 | refcntr--; | ||
1172 | if (refcntr > -6) | ||
1173 | m.RefCount = refcntr; | ||
1174 | else | ||
1175 | meshstodelete.Add(m); | ||
1176 | } | ||
1177 | |||
1178 | foreach (Mesh m in meshstodelete) | ||
1179 | { | ||
1180 | m_uniqueReleasedMeshes.Remove(m.Key); | ||
1181 | m.releaseSourceMeshData(); | ||
1182 | m.releasePinned(); | ||
1183 | } | ||
1184 | } | ||
1185 | } | ||
1025 | } | 1186 | } |
1026 | } | 1187 | } |
diff --git a/OpenSim/Region/Physics/UbitMeshing/SculptMap.cs b/OpenSim/Region/Physics/UbitMeshing/SculptMap.cs index b3d9cb6..1c75db6 100644 --- a/OpenSim/Region/Physics/UbitMeshing/SculptMap.cs +++ b/OpenSim/Region/Physics/UbitMeshing/SculptMap.cs | |||
@@ -25,14 +25,10 @@ | |||
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 | // to build without references to System.Drawing, comment this out | ||
29 | #define SYSTEM_DRAWING | ||
30 | |||
31 | using System; | 28 | using System; |
32 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
33 | using System.Text; | 30 | using System.Text; |
34 | 31 | ||
35 | #if SYSTEM_DRAWING | ||
36 | using System.Drawing; | 32 | using System.Drawing; |
37 | using System.Drawing.Imaging; | 33 | using System.Drawing.Imaging; |
38 | 34 | ||
@@ -60,11 +56,12 @@ namespace PrimMesher | |||
60 | 56 | ||
61 | int numLodPixels = lod * lod; // (32 * 2)^2 = 64^2 pixels for default sculpt map image | 57 | int numLodPixels = lod * lod; // (32 * 2)^2 = 64^2 pixels for default sculpt map image |
62 | 58 | ||
63 | bool smallMap = bmW * bmH <= numLodPixels; | ||
64 | bool needsScaling = false; | 59 | bool needsScaling = false; |
60 | bool smallMap = false; | ||
65 | 61 | ||
66 | width = bmW; | 62 | width = bmW; |
67 | height = bmH; | 63 | height = bmH; |
64 | |||
68 | while (width * height > numLodPixels * 4) | 65 | while (width * height > numLodPixels * 4) |
69 | { | 66 | { |
70 | width >>= 1; | 67 | width >>= 1; |
@@ -85,9 +82,12 @@ namespace PrimMesher | |||
85 | 82 | ||
86 | if (width * height > numLodPixels) | 83 | if (width * height > numLodPixels) |
87 | { | 84 | { |
85 | smallMap = false; | ||
88 | width >>= 1; | 86 | width >>= 1; |
89 | height >>= 1; | 87 | height >>= 1; |
90 | } | 88 | } |
89 | else | ||
90 | smallMap = true; | ||
91 | 91 | ||
92 | int numBytes = (width + 1) * (height + 1); | 92 | int numBytes = (width + 1) * (height + 1); |
93 | redBytes = new byte[numBytes]; | 93 | redBytes = new byte[numBytes]; |
@@ -95,21 +95,18 @@ namespace PrimMesher | |||
95 | blueBytes = new byte[numBytes]; | 95 | blueBytes = new byte[numBytes]; |
96 | 96 | ||
97 | int byteNdx = 0; | 97 | int byteNdx = 0; |
98 | Color c; | ||
98 | 99 | ||
99 | try | 100 | try |
100 | { | 101 | { |
101 | for (int y = 0; y <= height; y++) | 102 | for (int y = 0; y <= height; y++) |
102 | { | 103 | { |
103 | for (int x = 0; x <= width; x++) | 104 | for (int x = 0; x < width; x++) |
104 | { | 105 | { |
105 | Color c; | ||
106 | |||
107 | if (smallMap) | 106 | if (smallMap) |
108 | c = bm.GetPixel(x < width ? x : x - 1, | 107 | c = bm.GetPixel(x, y < height ? y : y - 1); |
109 | y < height ? y : y - 1); | ||
110 | else | 108 | else |
111 | c = bm.GetPixel(x < width ? x * 2 : x * 2 - 1, | 109 | c = bm.GetPixel(x * 2, y < height ? y * 2 : y * 2 - 1); |
112 | y < height ? y * 2 : y * 2 - 1); | ||
113 | 110 | ||
114 | redBytes[byteNdx] = c.R; | 111 | redBytes[byteNdx] = c.R; |
115 | greenBytes[byteNdx] = c.G; | 112 | greenBytes[byteNdx] = c.G; |
@@ -117,6 +114,17 @@ namespace PrimMesher | |||
117 | 114 | ||
118 | ++byteNdx; | 115 | ++byteNdx; |
119 | } | 116 | } |
117 | |||
118 | if (smallMap) | ||
119 | c = bm.GetPixel(width - 1, y < height ? y : y - 1); | ||
120 | else | ||
121 | c = bm.GetPixel(width * 2 - 1, y < height ? y * 2 : y * 2 - 1); | ||
122 | |||
123 | redBytes[byteNdx] = c.R; | ||
124 | greenBytes[byteNdx] = c.G; | ||
125 | blueBytes[byteNdx] = c.B; | ||
126 | |||
127 | ++byteNdx; | ||
120 | } | 128 | } |
121 | } | 129 | } |
122 | catch (Exception e) | 130 | catch (Exception e) |
@@ -140,7 +148,6 @@ namespace PrimMesher | |||
140 | int rowNdx, colNdx; | 148 | int rowNdx, colNdx; |
141 | int smNdx = 0; | 149 | int smNdx = 0; |
142 | 150 | ||
143 | |||
144 | for (rowNdx = 0; rowNdx < numRows; rowNdx++) | 151 | for (rowNdx = 0; rowNdx < numRows; rowNdx++) |
145 | { | 152 | { |
146 | List<Coord> row = new List<Coord>(numCols); | 153 | List<Coord> row = new List<Coord>(numCols); |
@@ -163,16 +170,27 @@ namespace PrimMesher | |||
163 | { | 170 | { |
164 | 171 | ||
165 | Bitmap scaledImage = new Bitmap(destWidth, destHeight, PixelFormat.Format24bppRgb); | 172 | Bitmap scaledImage = new Bitmap(destWidth, destHeight, PixelFormat.Format24bppRgb); |
166 | 173 | ||
167 | Color c; | 174 | Color c; |
168 | float xscale = srcImage.Width / destWidth; | ||
169 | float yscale = srcImage.Height / destHeight; | ||
170 | 175 | ||
176 | |||
177 | // will let last step to be eventually diferent, as seems to be in sl | ||
178 | |||
179 | float xscale = (float)srcImage.Width / (float)destWidth; | ||
180 | float yscale = (float)srcImage.Height / (float)destHeight; | ||
181 | |||
182 | int lastsx = srcImage.Width - 1; | ||
183 | int lastsy = srcImage.Height - 1; | ||
184 | int lastdx = destWidth - 1; | ||
185 | int lastdy = destHeight - 1; | ||
186 | |||
171 | float sy = 0.5f; | 187 | float sy = 0.5f; |
172 | for (int y = 0; y < destHeight; y++) | 188 | float sx; |
189 | |||
190 | for (int y = 0; y < lastdy; y++) | ||
173 | { | 191 | { |
174 | float sx = 0.5f; | 192 | sx = 0.5f; |
175 | for (int x = 0; x < destWidth; x++) | 193 | for (int x = 0; x < lastdx; x++) |
176 | { | 194 | { |
177 | try | 195 | try |
178 | { | 196 | { |
@@ -182,16 +200,45 @@ namespace PrimMesher | |||
182 | catch (IndexOutOfRangeException) | 200 | catch (IndexOutOfRangeException) |
183 | { | 201 | { |
184 | } | 202 | } |
185 | |||
186 | sx += xscale; | 203 | sx += xscale; |
187 | } | 204 | } |
205 | try | ||
206 | { | ||
207 | c = srcImage.GetPixel(lastsx, (int)(sy)); | ||
208 | scaledImage.SetPixel(lastdx, y, Color.FromArgb(c.R, c.G, c.B)); | ||
209 | } | ||
210 | catch (IndexOutOfRangeException) | ||
211 | { | ||
212 | } | ||
213 | |||
188 | sy += yscale; | 214 | sy += yscale; |
189 | } | 215 | } |
216 | |||
217 | sx = 0.5f; | ||
218 | for (int x = 0; x < lastdx; x++) | ||
219 | { | ||
220 | try | ||
221 | { | ||
222 | c = srcImage.GetPixel((int)(sx), lastsy); | ||
223 | scaledImage.SetPixel(x, lastdy, Color.FromArgb(c.R, c.G, c.B)); | ||
224 | } | ||
225 | catch (IndexOutOfRangeException) | ||
226 | { | ||
227 | } | ||
228 | |||
229 | sx += xscale; | ||
230 | } | ||
231 | try | ||
232 | { | ||
233 | c = srcImage.GetPixel(lastsx, lastsy); | ||
234 | scaledImage.SetPixel(lastdx, lastdy, Color.FromArgb(c.R, c.G, c.B)); | ||
235 | } | ||
236 | catch (IndexOutOfRangeException) | ||
237 | { | ||
238 | } | ||
239 | |||
190 | srcImage.Dispose(); | 240 | srcImage.Dispose(); |
191 | return scaledImage; | 241 | return scaledImage; |
192 | } | 242 | } |
193 | |||
194 | } | ||
195 | |||
196 | } | 243 | } |
197 | #endif | 244 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Physics/UbitMeshing/SculptMesh.cs b/OpenSim/Region/Physics/UbitMeshing/SculptMesh.cs index 4a7f3ad..bc1375b 100644 --- a/OpenSim/Region/Physics/UbitMeshing/SculptMesh.cs +++ b/OpenSim/Region/Physics/UbitMeshing/SculptMesh.cs | |||
@@ -25,18 +25,13 @@ | |||
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 | // to build without references to System.Drawing, comment this out | ||
29 | #define SYSTEM_DRAWING | ||
30 | |||
31 | using System; | 28 | using System; |
32 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
33 | using System.Text; | 30 | using System.Text; |
34 | using System.IO; | 31 | using System.IO; |
35 | 32 | ||
36 | #if SYSTEM_DRAWING | ||
37 | using System.Drawing; | 33 | using System.Drawing; |
38 | using System.Drawing.Imaging; | 34 | using System.Drawing.Imaging; |
39 | #endif | ||
40 | 35 | ||
41 | namespace PrimMesher | 36 | namespace PrimMesher |
42 | { | 37 | { |
@@ -46,274 +41,28 @@ namespace PrimMesher | |||
46 | public List<Coord> coords; | 41 | public List<Coord> coords; |
47 | public List<Face> faces; | 42 | public List<Face> faces; |
48 | 43 | ||
49 | public List<ViewerFace> viewerFaces; | ||
50 | public List<Coord> normals; | ||
51 | public List<UVCoord> uvs; | ||
52 | |||
53 | public enum SculptType { sphere = 1, torus = 2, plane = 3, cylinder = 4 }; | 44 | public enum SculptType { sphere = 1, torus = 2, plane = 3, cylinder = 4 }; |
54 | 45 | ||
55 | #if SYSTEM_DRAWING | ||
56 | |||
57 | public SculptMesh SculptMeshFromFile(string fileName, SculptType sculptType, int lod, bool viewerMode) | ||
58 | { | ||
59 | Bitmap bitmap = (Bitmap)Bitmap.FromFile(fileName); | ||
60 | SculptMesh sculptMesh = new SculptMesh(bitmap, sculptType, lod, viewerMode); | ||
61 | bitmap.Dispose(); | ||
62 | return sculptMesh; | ||
63 | } | ||
64 | |||
65 | |||
66 | public SculptMesh(string fileName, int sculptType, int lod, int viewerMode, int mirror, int invert) | ||
67 | { | ||
68 | Bitmap bitmap = (Bitmap)Bitmap.FromFile(fileName); | ||
69 | _SculptMesh(bitmap, (SculptType)sculptType, lod, viewerMode != 0, mirror != 0, invert != 0); | ||
70 | bitmap.Dispose(); | ||
71 | } | ||
72 | #endif | ||
73 | |||
74 | /// <summary> | ||
75 | /// ** Experimental ** May disappear from future versions ** not recommeneded for use in applications | ||
76 | /// Construct a sculpt mesh from a 2D array of floats | ||
77 | /// </summary> | ||
78 | /// <param name="zMap"></param> | ||
79 | /// <param name="xBegin"></param> | ||
80 | /// <param name="xEnd"></param> | ||
81 | /// <param name="yBegin"></param> | ||
82 | /// <param name="yEnd"></param> | ||
83 | /// <param name="viewerMode"></param> | ||
84 | public SculptMesh(float[,] zMap, float xBegin, float xEnd, float yBegin, float yEnd, bool viewerMode) | ||
85 | { | ||
86 | float xStep, yStep; | ||
87 | float uStep, vStep; | ||
88 | |||
89 | int numYElements = zMap.GetLength(0); | ||
90 | int numXElements = zMap.GetLength(1); | ||
91 | |||
92 | try | ||
93 | { | ||
94 | xStep = (xEnd - xBegin) / (float)(numXElements - 1); | ||
95 | yStep = (yEnd - yBegin) / (float)(numYElements - 1); | ||
96 | |||
97 | uStep = 1.0f / (numXElements - 1); | ||
98 | vStep = 1.0f / (numYElements - 1); | ||
99 | } | ||
100 | catch (DivideByZeroException) | ||
101 | { | ||
102 | return; | ||
103 | } | ||
104 | |||
105 | coords = new List<Coord>(); | ||
106 | faces = new List<Face>(); | ||
107 | normals = new List<Coord>(); | ||
108 | uvs = new List<UVCoord>(); | ||
109 | |||
110 | viewerFaces = new List<ViewerFace>(); | ||
111 | |||
112 | int p1, p2, p3, p4; | ||
113 | |||
114 | int x, y; | ||
115 | int xStart = 0, yStart = 0; | ||
116 | |||
117 | for (y = yStart; y < numYElements; y++) | ||
118 | { | ||
119 | int rowOffset = y * numXElements; | ||
120 | |||
121 | for (x = xStart; x < numXElements; x++) | ||
122 | { | ||
123 | /* | ||
124 | * p1-----p2 | ||
125 | * | \ f2 | | ||
126 | * | \ | | ||
127 | * | f1 \| | ||
128 | * p3-----p4 | ||
129 | */ | ||
130 | |||
131 | p4 = rowOffset + x; | ||
132 | p3 = p4 - 1; | ||
133 | |||
134 | p2 = p4 - numXElements; | ||
135 | p1 = p3 - numXElements; | ||
136 | |||
137 | Coord c = new Coord(xBegin + x * xStep, yBegin + y * yStep, zMap[y, x]); | ||
138 | this.coords.Add(c); | ||
139 | if (viewerMode) | ||
140 | { | ||
141 | this.normals.Add(new Coord()); | ||
142 | this.uvs.Add(new UVCoord(uStep * x, 1.0f - vStep * y)); | ||
143 | } | ||
144 | |||
145 | if (y > 0 && x > 0) | ||
146 | { | ||
147 | Face f1, f2; | ||
148 | |||
149 | if (viewerMode) | ||
150 | { | ||
151 | f1 = new Face(p1, p4, p3, p1, p4, p3); | ||
152 | f1.uv1 = p1; | ||
153 | f1.uv2 = p4; | ||
154 | f1.uv3 = p3; | ||
155 | |||
156 | f2 = new Face(p1, p2, p4, p1, p2, p4); | ||
157 | f2.uv1 = p1; | ||
158 | f2.uv2 = p2; | ||
159 | f2.uv3 = p4; | ||
160 | } | ||
161 | else | ||
162 | { | ||
163 | f1 = new Face(p1, p4, p3); | ||
164 | f2 = new Face(p1, p2, p4); | ||
165 | } | ||
166 | |||
167 | this.faces.Add(f1); | ||
168 | this.faces.Add(f2); | ||
169 | } | ||
170 | } | ||
171 | } | ||
172 | |||
173 | if (viewerMode) | ||
174 | calcVertexNormals(SculptType.plane, numXElements, numYElements); | ||
175 | } | ||
176 | |||
177 | #if SYSTEM_DRAWING | ||
178 | public SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode) | ||
179 | { | ||
180 | _SculptMesh(sculptBitmap, sculptType, lod, viewerMode, false, false); | ||
181 | } | ||
182 | 46 | ||
183 | public SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode, bool mirror, bool invert) | 47 | public SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool mirror, bool invert) |
184 | { | 48 | { |
185 | _SculptMesh(sculptBitmap, sculptType, lod, viewerMode, mirror, invert); | 49 | if (mirror) |
186 | } | 50 | invert = !invert; |
187 | #endif | ||
188 | |||
189 | public SculptMesh(List<List<Coord>> rows, SculptType sculptType, bool viewerMode, bool mirror, bool invert) | ||
190 | { | ||
191 | _SculptMesh(rows, sculptType, viewerMode, mirror, invert); | ||
192 | } | ||
193 | |||
194 | #if SYSTEM_DRAWING | ||
195 | /// <summary> | ||
196 | /// converts a bitmap to a list of lists of coords, while scaling the image. | ||
197 | /// the scaling is done in floating point so as to allow for reduced vertex position | ||
198 | /// quantization as the position will be averaged between pixel values. this routine will | ||
199 | /// likely fail if the bitmap width and height are not powers of 2. | ||
200 | /// </summary> | ||
201 | /// <param name="bitmap"></param> | ||
202 | /// <param name="scale"></param> | ||
203 | /// <param name="mirror"></param> | ||
204 | /// <returns></returns> | ||
205 | private List<List<Coord>> bitmap2Coords(Bitmap bitmap, int scale, bool mirror) | ||
206 | { | ||
207 | int numRows = bitmap.Height / scale; | ||
208 | int numCols = bitmap.Width / scale; | ||
209 | List<List<Coord>> rows = new List<List<Coord>>(numRows); | ||
210 | |||
211 | float pixScale = 1.0f / (scale * scale); | ||
212 | pixScale /= 255; | ||
213 | |||
214 | int imageX, imageY = 0; | ||
215 | |||
216 | int rowNdx, colNdx; | ||
217 | |||
218 | for (rowNdx = 0; rowNdx < numRows; rowNdx++) | ||
219 | { | ||
220 | List<Coord> row = new List<Coord>(numCols); | ||
221 | for (colNdx = 0; colNdx < numCols; colNdx++) | ||
222 | { | ||
223 | imageX = colNdx * scale; | ||
224 | int imageYStart = rowNdx * scale; | ||
225 | int imageYEnd = imageYStart + scale; | ||
226 | int imageXEnd = imageX + scale; | ||
227 | float rSum = 0.0f; | ||
228 | float gSum = 0.0f; | ||
229 | float bSum = 0.0f; | ||
230 | for (; imageX < imageXEnd; imageX++) | ||
231 | { | ||
232 | for (imageY = imageYStart; imageY < imageYEnd; imageY++) | ||
233 | { | ||
234 | Color c = bitmap.GetPixel(imageX, imageY); | ||
235 | if (c.A != 255) | ||
236 | { | ||
237 | bitmap.SetPixel(imageX, imageY, Color.FromArgb(255, c.R, c.G, c.B)); | ||
238 | c = bitmap.GetPixel(imageX, imageY); | ||
239 | } | ||
240 | rSum += c.R; | ||
241 | gSum += c.G; | ||
242 | bSum += c.B; | ||
243 | } | ||
244 | } | ||
245 | if (mirror) | ||
246 | row.Add(new Coord(-(rSum * pixScale - 0.5f), gSum * pixScale - 0.5f, bSum * pixScale - 0.5f)); | ||
247 | else | ||
248 | row.Add(new Coord(rSum * pixScale - 0.5f, gSum * pixScale - 0.5f, bSum * pixScale - 0.5f)); | ||
249 | |||
250 | } | ||
251 | rows.Add(row); | ||
252 | } | ||
253 | return rows; | ||
254 | } | ||
255 | |||
256 | private List<List<Coord>> bitmap2CoordsSampled(Bitmap bitmap, int scale, bool mirror) | ||
257 | { | ||
258 | int numRows = bitmap.Height / scale; | ||
259 | int numCols = bitmap.Width / scale; | ||
260 | List<List<Coord>> rows = new List<List<Coord>>(numRows); | ||
261 | |||
262 | float pixScale = 1.0f / 256.0f; | ||
263 | |||
264 | int imageX, imageY = 0; | ||
265 | |||
266 | int rowNdx, colNdx; | ||
267 | |||
268 | for (rowNdx = 0; rowNdx <= numRows; rowNdx++) | ||
269 | { | ||
270 | List<Coord> row = new List<Coord>(numCols); | ||
271 | imageY = rowNdx * scale; | ||
272 | if (rowNdx == numRows) imageY--; | ||
273 | for (colNdx = 0; colNdx <= numCols; colNdx++) | ||
274 | { | ||
275 | imageX = colNdx * scale; | ||
276 | if (colNdx == numCols) imageX--; | ||
277 | |||
278 | Color c = bitmap.GetPixel(imageX, imageY); | ||
279 | if (c.A != 255) | ||
280 | { | ||
281 | bitmap.SetPixel(imageX, imageY, Color.FromArgb(255, c.R, c.G, c.B)); | ||
282 | c = bitmap.GetPixel(imageX, imageY); | ||
283 | } | ||
284 | |||
285 | if (mirror) | ||
286 | row.Add(new Coord(-(c.R * pixScale - 0.5f), c.G * pixScale - 0.5f, c.B * pixScale - 0.5f)); | ||
287 | else | ||
288 | row.Add(new Coord(c.R * pixScale - 0.5f, c.G * pixScale - 0.5f, c.B * pixScale - 0.5f)); | ||
289 | 51 | ||
290 | } | 52 | SculptMap smap = new SculptMap(sculptBitmap, lod); |
291 | rows.Add(row); | ||
292 | } | ||
293 | return rows; | ||
294 | } | ||
295 | 53 | ||
54 | List<List<Coord>> rows = smap.ToRows(mirror); | ||
296 | 55 | ||
297 | void _SculptMesh(Bitmap sculptBitmap, SculptType sculptType, int lod, bool viewerMode, bool mirror, bool invert) | 56 | _SculptMesh(rows, sculptType, invert); |
298 | { | ||
299 | _SculptMesh(new SculptMap(sculptBitmap, lod).ToRows(mirror), sculptType, viewerMode, mirror, invert); | ||
300 | } | 57 | } |
301 | #endif | ||
302 | 58 | ||
303 | void _SculptMesh(List<List<Coord>> rows, SculptType sculptType, bool viewerMode, bool mirror, bool invert) | 59 | private void _SculptMesh(List<List<Coord>> rows, SculptType sculptType, bool invert) |
304 | { | 60 | { |
305 | coords = new List<Coord>(); | 61 | coords = new List<Coord>(); |
306 | faces = new List<Face>(); | 62 | faces = new List<Face>(); |
307 | normals = new List<Coord>(); | ||
308 | uvs = new List<UVCoord>(); | ||
309 | 63 | ||
310 | sculptType = (SculptType)(((int)sculptType) & 0x07); | 64 | sculptType = (SculptType)(((int)sculptType) & 0x07); |
311 | 65 | ||
312 | if (mirror) | ||
313 | invert = !invert; | ||
314 | |||
315 | viewerFaces = new List<ViewerFace>(); | ||
316 | |||
317 | int width = rows[0].Count; | 66 | int width = rows[0].Count; |
318 | 67 | ||
319 | int p1, p2, p3, p4; | 68 | int p1, p2, p3, p4; |
@@ -375,7 +124,6 @@ namespace PrimMesher | |||
375 | 124 | ||
376 | int coordsDown = rows.Count; | 125 | int coordsDown = rows.Count; |
377 | int coordsAcross = rows[0].Count; | 126 | int coordsAcross = rows[0].Count; |
378 | // int lastColumn = coordsAcross - 1; | ||
379 | 127 | ||
380 | float widthUnit = 1.0f / (coordsAcross - 1); | 128 | float widthUnit = 1.0f / (coordsAcross - 1); |
381 | float heightUnit = 1.0f / (coordsDown - 1); | 129 | float heightUnit = 1.0f / (coordsDown - 1); |
@@ -401,45 +149,11 @@ namespace PrimMesher | |||
401 | p1 = p3 - coordsAcross; | 149 | p1 = p3 - coordsAcross; |
402 | 150 | ||
403 | this.coords.Add(rows[imageY][imageX]); | 151 | this.coords.Add(rows[imageY][imageX]); |
404 | if (viewerMode) | ||
405 | { | ||
406 | this.normals.Add(new Coord()); | ||
407 | this.uvs.Add(new UVCoord(widthUnit * imageX, heightUnit * imageY)); | ||
408 | } | ||
409 | 152 | ||
410 | if (imageY > 0 && imageX > 0) | 153 | if (imageY > 0 && imageX > 0) |
411 | { | 154 | { |
412 | Face f1, f2; | 155 | Face f1, f2; |
413 | 156 | ||
414 | if (viewerMode) | ||
415 | { | ||
416 | if (invert) | ||
417 | { | ||
418 | f1 = new Face(p1, p4, p3, p1, p4, p3); | ||
419 | f1.uv1 = p1; | ||
420 | f1.uv2 = p4; | ||
421 | f1.uv3 = p3; | ||
422 | |||
423 | f2 = new Face(p1, p2, p4, p1, p2, p4); | ||
424 | f2.uv1 = p1; | ||
425 | f2.uv2 = p2; | ||
426 | f2.uv3 = p4; | ||
427 | } | ||
428 | else | ||
429 | { | ||
430 | f1 = new Face(p1, p3, p4, p1, p3, p4); | ||
431 | f1.uv1 = p1; | ||
432 | f1.uv2 = p3; | ||
433 | f1.uv3 = p4; | ||
434 | |||
435 | f2 = new Face(p1, p4, p2, p1, p4, p2); | ||
436 | f2.uv1 = p1; | ||
437 | f2.uv2 = p4; | ||
438 | f2.uv3 = p2; | ||
439 | } | ||
440 | } | ||
441 | else | ||
442 | { | ||
443 | if (invert) | 157 | if (invert) |
444 | { | 158 | { |
445 | f1 = new Face(p1, p4, p3); | 159 | f1 = new Face(p1, p4, p3); |
@@ -450,16 +164,12 @@ namespace PrimMesher | |||
450 | f1 = new Face(p1, p3, p4); | 164 | f1 = new Face(p1, p3, p4); |
451 | f2 = new Face(p1, p4, p2); | 165 | f2 = new Face(p1, p4, p2); |
452 | } | 166 | } |
453 | } | ||
454 | 167 | ||
455 | this.faces.Add(f1); | 168 | this.faces.Add(f1); |
456 | this.faces.Add(f2); | 169 | this.faces.Add(f2); |
457 | } | 170 | } |
458 | } | 171 | } |
459 | } | 172 | } |
460 | |||
461 | if (viewerMode) | ||
462 | calcVertexNormals(sculptType, coordsAcross, coordsDown); | ||
463 | } | 173 | } |
464 | 174 | ||
465 | /// <summary> | 175 | /// <summary> |
@@ -475,129 +185,6 @@ namespace PrimMesher | |||
475 | { | 185 | { |
476 | coords = new List<Coord>(sm.coords); | 186 | coords = new List<Coord>(sm.coords); |
477 | faces = new List<Face>(sm.faces); | 187 | faces = new List<Face>(sm.faces); |
478 | viewerFaces = new List<ViewerFace>(sm.viewerFaces); | ||
479 | normals = new List<Coord>(sm.normals); | ||
480 | uvs = new List<UVCoord>(sm.uvs); | ||
481 | } | ||
482 | |||
483 | private void calcVertexNormals(SculptType sculptType, int xSize, int ySize) | ||
484 | { // compute vertex normals by summing all the surface normals of all the triangles sharing | ||
485 | // each vertex and then normalizing | ||
486 | int numFaces = this.faces.Count; | ||
487 | for (int i = 0; i < numFaces; i++) | ||
488 | { | ||
489 | Face face = this.faces[i]; | ||
490 | Coord surfaceNormal = face.SurfaceNormal(this.coords); | ||
491 | this.normals[face.n1] += surfaceNormal; | ||
492 | this.normals[face.n2] += surfaceNormal; | ||
493 | this.normals[face.n3] += surfaceNormal; | ||
494 | } | ||
495 | |||
496 | int numNormals = this.normals.Count; | ||
497 | for (int i = 0; i < numNormals; i++) | ||
498 | this.normals[i] = this.normals[i].Normalize(); | ||
499 | |||
500 | if (sculptType != SculptType.plane) | ||
501 | { // blend the vertex normals at the cylinder seam | ||
502 | for (int y = 0; y < ySize; y++) | ||
503 | { | ||
504 | int rowOffset = y * xSize; | ||
505 | |||
506 | this.normals[rowOffset] = this.normals[rowOffset + xSize - 1] = (this.normals[rowOffset] + this.normals[rowOffset + xSize - 1]).Normalize(); | ||
507 | } | ||
508 | } | ||
509 | |||
510 | foreach (Face face in this.faces) | ||
511 | { | ||
512 | ViewerFace vf = new ViewerFace(0); | ||
513 | vf.v1 = this.coords[face.v1]; | ||
514 | vf.v2 = this.coords[face.v2]; | ||
515 | vf.v3 = this.coords[face.v3]; | ||
516 | |||
517 | vf.coordIndex1 = face.v1; | ||
518 | vf.coordIndex2 = face.v2; | ||
519 | vf.coordIndex3 = face.v3; | ||
520 | |||
521 | vf.n1 = this.normals[face.n1]; | ||
522 | vf.n2 = this.normals[face.n2]; | ||
523 | vf.n3 = this.normals[face.n3]; | ||
524 | |||
525 | vf.uv1 = this.uvs[face.uv1]; | ||
526 | vf.uv2 = this.uvs[face.uv2]; | ||
527 | vf.uv3 = this.uvs[face.uv3]; | ||
528 | |||
529 | this.viewerFaces.Add(vf); | ||
530 | } | ||
531 | } | ||
532 | |||
533 | /// <summary> | ||
534 | /// Adds a value to each XYZ vertex coordinate in the mesh | ||
535 | /// </summary> | ||
536 | /// <param name="x"></param> | ||
537 | /// <param name="y"></param> | ||
538 | /// <param name="z"></param> | ||
539 | public void AddPos(float x, float y, float z) | ||
540 | { | ||
541 | int i; | ||
542 | int numVerts = this.coords.Count; | ||
543 | Coord vert; | ||
544 | |||
545 | for (i = 0; i < numVerts; i++) | ||
546 | { | ||
547 | vert = this.coords[i]; | ||
548 | vert.X += x; | ||
549 | vert.Y += y; | ||
550 | vert.Z += z; | ||
551 | this.coords[i] = vert; | ||
552 | } | ||
553 | |||
554 | if (this.viewerFaces != null) | ||
555 | { | ||
556 | int numViewerFaces = this.viewerFaces.Count; | ||
557 | |||
558 | for (i = 0; i < numViewerFaces; i++) | ||
559 | { | ||
560 | ViewerFace v = this.viewerFaces[i]; | ||
561 | v.AddPos(x, y, z); | ||
562 | this.viewerFaces[i] = v; | ||
563 | } | ||
564 | } | ||
565 | } | ||
566 | |||
567 | /// <summary> | ||
568 | /// Rotates the mesh | ||
569 | /// </summary> | ||
570 | /// <param name="q"></param> | ||
571 | public void AddRot(Quat q) | ||
572 | { | ||
573 | int i; | ||
574 | int numVerts = this.coords.Count; | ||
575 | |||
576 | for (i = 0; i < numVerts; i++) | ||
577 | this.coords[i] *= q; | ||
578 | |||
579 | int numNormals = this.normals.Count; | ||
580 | for (i = 0; i < numNormals; i++) | ||
581 | this.normals[i] *= q; | ||
582 | |||
583 | if (this.viewerFaces != null) | ||
584 | { | ||
585 | int numViewerFaces = this.viewerFaces.Count; | ||
586 | |||
587 | for (i = 0; i < numViewerFaces; i++) | ||
588 | { | ||
589 | ViewerFace v = this.viewerFaces[i]; | ||
590 | v.v1 *= q; | ||
591 | v.v2 *= q; | ||
592 | v.v3 *= q; | ||
593 | |||
594 | v.n1 *= q; | ||
595 | v.n2 *= q; | ||
596 | v.n3 *= q; | ||
597 | |||
598 | this.viewerFaces[i] = v; | ||
599 | } | ||
600 | } | ||
601 | } | 188 | } |
602 | 189 | ||
603 | public void Scale(float x, float y, float z) | 190 | public void Scale(float x, float y, float z) |
@@ -608,19 +195,6 @@ namespace PrimMesher | |||
608 | Coord m = new Coord(x, y, z); | 195 | Coord m = new Coord(x, y, z); |
609 | for (i = 0; i < numVerts; i++) | 196 | for (i = 0; i < numVerts; i++) |
610 | this.coords[i] *= m; | 197 | this.coords[i] *= m; |
611 | |||
612 | if (this.viewerFaces != null) | ||
613 | { | ||
614 | int numViewerFaces = this.viewerFaces.Count; | ||
615 | for (i = 0; i < numViewerFaces; i++) | ||
616 | { | ||
617 | ViewerFace v = this.viewerFaces[i]; | ||
618 | v.v1 *= m; | ||
619 | v.v2 *= m; | ||
620 | v.v3 *= m; | ||
621 | this.viewerFaces[i] = v; | ||
622 | } | ||
623 | } | ||
624 | } | 198 | } |
625 | 199 | ||
626 | public void DumpRaw(String path, String name, String title) | 200 | public void DumpRaw(String path, String name, String title) |
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs index 6bf5be1..fbc6134 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs | |||
@@ -57,7 +57,6 @@ using OdeAPI; | |||
57 | using OpenSim.Framework; | 57 | using OpenSim.Framework; |
58 | using OpenSim.Region.Physics.Manager; | 58 | using OpenSim.Region.Physics.Manager; |
59 | 59 | ||
60 | |||
61 | namespace OpenSim.Region.Physics.OdePlugin | 60 | namespace OpenSim.Region.Physics.OdePlugin |
62 | { | 61 | { |
63 | public class OdePrim : PhysicsActor | 62 | public class OdePrim : PhysicsActor |
@@ -538,24 +537,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
538 | { | 537 | { |
539 | set | 538 | set |
540 | { | 539 | { |
541 | /* | ||
542 | IMesh mesh = null; | ||
543 | if (_parent_scene.needsMeshing(value)) | ||
544 | { | ||
545 | bool convex; | ||
546 | if (m_shapetype == 0) | ||
547 | convex = false; | ||
548 | else | ||
549 | convex = true; | ||
550 | mesh = _parent_scene.mesher.CreateMesh(Name, _pbs, _size, (int)LevelOfDetail.High, true, convex); | ||
551 | } | ||
552 | |||
553 | if (mesh != null) | ||
554 | { | ||
555 | lock (m_meshlock) | ||
556 | m_mesh = mesh; | ||
557 | } | ||
558 | */ | ||
559 | AddChange(changes.Shape, value); | 540 | AddChange(changes.Shape, value); |
560 | } | 541 | } |
561 | } | 542 | } |
@@ -1092,18 +1073,21 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1092 | CalcPrimBodyData(); | 1073 | CalcPrimBodyData(); |
1093 | 1074 | ||
1094 | m_mesh = null; | 1075 | m_mesh = null; |
1095 | if (_parent_scene.needsMeshing(pbs)) | 1076 | if (_parent_scene.needsMeshing(pbs) && (pbs.SculptData.Length > 0)) |
1096 | { | 1077 | { |
1097 | bool convex; | 1078 | bool convex; |
1079 | int clod = (int)LevelOfDetail.High; | ||
1098 | if (m_shapetype == 0) | 1080 | if (m_shapetype == 0) |
1099 | convex = false; | 1081 | convex = false; |
1100 | else | 1082 | else |
1083 | { | ||
1101 | convex = true; | 1084 | convex = true; |
1102 | 1085 | if (_pbs.SculptType != (byte)SculptType.Mesh) | |
1103 | m_mesh = _parent_scene.mesher.CreateMesh(Name, _pbs, _size, (int)LevelOfDetail.High, true, convex); | 1086 | clod = (int)LevelOfDetail.Low; |
1087 | } | ||
1088 | m_mesh = _parent_scene.mesher.CreateMesh(Name, _pbs, _size, clod, true, convex); | ||
1104 | } | 1089 | } |
1105 | 1090 | ||
1106 | |||
1107 | m_building = true; // control must set this to false when done | 1091 | m_building = true; // control must set this to false when done |
1108 | 1092 | ||
1109 | AddChange(changes.Add, null); | 1093 | AddChange(changes.Add, null); |
@@ -1354,18 +1338,23 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1354 | 1338 | ||
1355 | IMesh mesh = null; | 1339 | IMesh mesh = null; |
1356 | 1340 | ||
1357 | |||
1358 | lock (m_meshlock) | 1341 | lock (m_meshlock) |
1359 | { | 1342 | { |
1360 | if (m_mesh == null) | 1343 | if (m_mesh == null) |
1361 | { | 1344 | { |
1362 | bool convex; | 1345 | bool convex; |
1346 | int clod = (int)LevelOfDetail.High; | ||
1347 | |||
1363 | if (m_shapetype == 0) | 1348 | if (m_shapetype == 0) |
1364 | convex = false; | 1349 | convex = false; |
1365 | else | 1350 | else |
1351 | { | ||
1366 | convex = true; | 1352 | convex = true; |
1353 | if (_pbs.SculptType != (byte)SculptType.Mesh) | ||
1354 | clod = (int)LevelOfDetail.Low; | ||
1355 | } | ||
1367 | 1356 | ||
1368 | mesh = _parent_scene.mesher.CreateMesh(Name, _pbs, _size, (int)LevelOfDetail.High, true, convex); | 1357 | mesh = _parent_scene.mesher.CreateMesh(Name, _pbs, _size, clod, true, convex); |
1369 | } | 1358 | } |
1370 | else | 1359 | else |
1371 | { | 1360 | { |
@@ -1373,7 +1362,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1373 | } | 1362 | } |
1374 | 1363 | ||
1375 | if (mesh == null) | 1364 | if (mesh == null) |
1376 | { | 1365 | { |
1377 | m_log.WarnFormat("[PHYSICS]: CreateMesh Failed on prim {0} at <{1},{2},{3}>.", Name, _position.X, _position.Y, _position.Z); | 1366 | m_log.WarnFormat("[PHYSICS]: CreateMesh Failed on prim {0} at <{1},{2},{3}>.", Name, _position.X, _position.Y, _position.Z); |
1378 | return false; | 1367 | return false; |
1379 | } | 1368 | } |
@@ -1394,7 +1383,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1394 | hasOOBoffsetFromMesh = true; | 1383 | hasOOBoffsetFromMesh = true; |
1395 | 1384 | ||
1396 | mesh.releaseSourceMeshData(); | 1385 | mesh.releaseSourceMeshData(); |
1397 | m_mesh = null; | 1386 | m_mesh = mesh; |
1398 | } | 1387 | } |
1399 | 1388 | ||
1400 | IntPtr geo = IntPtr.Zero; | 1389 | IntPtr geo = IntPtr.Zero; |
@@ -1536,7 +1525,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1536 | d.GeomTriMeshDataDestroy(_triMeshData); | 1525 | d.GeomTriMeshDataDestroy(_triMeshData); |
1537 | _triMeshData = IntPtr.Zero; | 1526 | _triMeshData = IntPtr.Zero; |
1538 | } | 1527 | } |
1528 | |||
1539 | } | 1529 | } |
1530 | |||
1531 | |||
1540 | // catch (System.AccessViolationException) | 1532 | // catch (System.AccessViolationException) |
1541 | catch (Exception e) | 1533 | catch (Exception e) |
1542 | { | 1534 | { |
@@ -1550,6 +1542,13 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1550 | { | 1542 | { |
1551 | m_log.ErrorFormat("[PHYSICS]: PrimGeom destruction BAD {0}", Name); | 1543 | m_log.ErrorFormat("[PHYSICS]: PrimGeom destruction BAD {0}", Name); |
1552 | } | 1544 | } |
1545 | |||
1546 | if (m_mesh != null) | ||
1547 | { | ||
1548 | _parent_scene.mesher.ReleaseMesh(m_mesh); | ||
1549 | m_mesh = null; | ||
1550 | } | ||
1551 | |||
1553 | Body = IntPtr.Zero; | 1552 | Body = IntPtr.Zero; |
1554 | hasOOBoffsetFromMesh = false; | 1553 | hasOOBoffsetFromMesh = false; |
1555 | } | 1554 | } |
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs index f3ac3ca..3ee5198 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | |||
@@ -194,7 +194,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
194 | private float metersInSpace = 25.6f; | 194 | private float metersInSpace = 25.6f; |
195 | private float m_timeDilation = 1.0f; | 195 | private float m_timeDilation = 1.0f; |
196 | 196 | ||
197 | DateTime m_lastframe; | 197 | private DateTime m_lastframe; |
198 | private DateTime m_lastMeshExpire; | ||
198 | 199 | ||
199 | public float gravityx = 0f; | 200 | public float gravityx = 0f; |
200 | public float gravityy = 0f; | 201 | public float gravityy = 0f; |
@@ -203,6 +204,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
203 | private float waterlevel = 0f; | 204 | private float waterlevel = 0f; |
204 | private int framecount = 0; | 205 | private int framecount = 0; |
205 | 206 | ||
207 | private int m_meshExpireCntr; | ||
208 | |||
206 | // private IntPtr WaterGeom = IntPtr.Zero; | 209 | // private IntPtr WaterGeom = IntPtr.Zero; |
207 | // private IntPtr WaterHeightmapData = IntPtr.Zero; | 210 | // private IntPtr WaterHeightmapData = IntPtr.Zero; |
208 | // private GCHandle WaterMapHandler = new GCHandle(); | 211 | // private GCHandle WaterMapHandler = new GCHandle(); |
@@ -263,7 +266,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
263 | const int maxContactsbeforedeath = 4000; | 266 | const int maxContactsbeforedeath = 4000; |
264 | private volatile int m_global_contactcount = 0; | 267 | private volatile int m_global_contactcount = 0; |
265 | 268 | ||
266 | |||
267 | private IntPtr contactgroup; | 269 | private IntPtr contactgroup; |
268 | 270 | ||
269 | public ContactData[] m_materialContactsData = new ContactData[8]; | 271 | public ContactData[] m_materialContactsData = new ContactData[8]; |
@@ -594,6 +596,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
594 | } | 596 | } |
595 | 597 | ||
596 | m_lastframe = DateTime.UtcNow; | 598 | m_lastframe = DateTime.UtcNow; |
599 | m_lastMeshExpire = m_lastframe; | ||
597 | } | 600 | } |
598 | 601 | ||
599 | internal void waitForSpaceUnlock(IntPtr space) | 602 | internal void waitForSpaceUnlock(IntPtr space) |
@@ -1768,9 +1771,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1768 | { | 1771 | { |
1769 | 1772 | ||
1770 | DateTime now = DateTime.UtcNow; | 1773 | DateTime now = DateTime.UtcNow; |
1771 | TimeSpan SinceLastFrame = now - m_lastframe; | 1774 | TimeSpan timedif = now - m_lastframe; |
1772 | m_lastframe = now; | 1775 | m_lastframe = now; |
1773 | timeStep = (float)SinceLastFrame.TotalSeconds; | 1776 | timeStep = (float)timedif.TotalSeconds; |
1774 | 1777 | ||
1775 | // acumulate time so we can reduce error | 1778 | // acumulate time so we can reduce error |
1776 | step_time += timeStep; | 1779 | step_time += timeStep; |
@@ -1972,6 +1975,14 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1972 | _badCharacter.Clear(); | 1975 | _badCharacter.Clear(); |
1973 | } | 1976 | } |
1974 | } | 1977 | } |
1978 | |||
1979 | timedif = now - m_lastMeshExpire; | ||
1980 | |||
1981 | if (timedif.Seconds > 10) | ||
1982 | { | ||
1983 | mesher.ExpireReleaseMeshs(); | ||
1984 | m_lastMeshExpire = now; | ||
1985 | } | ||
1975 | /* | 1986 | /* |
1976 | int nactivegeoms = d.SpaceGetNumGeoms(ActiveSpace); | 1987 | int nactivegeoms = d.SpaceGetNumGeoms(ActiveSpace); |
1977 | int nstaticgeoms = d.SpaceGetNumGeoms(StaticSpace); | 1988 | int nstaticgeoms = d.SpaceGetNumGeoms(StaticSpace); |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index cd93386..e1c2243 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -86,6 +86,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
86 | reason = String.Empty; | 86 | reason = String.Empty; |
87 | if (destination == null) | 87 | if (destination == null) |
88 | { | 88 | { |
89 | reason = "Destination not found"; | ||
89 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Given destination is null"); | 90 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Given destination is null"); |
90 | return false; | 91 | return false; |
91 | } | 92 | } |
diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 90106ca..c3263ae 100755 --- a/bin/lib32/ode.dll +++ b/bin/lib32/ode.dll | |||
Binary files differ | |||
diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index df3a6c4..6f5b504 100755 --- a/bin/lib64/ode.dll +++ b/bin/lib64/ode.dll | |||
Binary files differ | |||
diff --git a/prebuild.xml b/prebuild.xml index 621e0b4..09336b3 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -21,7 +21,7 @@ | |||
21 | <CompilerDefines>TRACE</CompilerDefines> | 21 | <CompilerDefines>TRACE</CompilerDefines> |
22 | <OptimizeCode>true</OptimizeCode> | 22 | <OptimizeCode>true</OptimizeCode> |
23 | <CheckUnderflowOverflow>false</CheckUnderflowOverflow> | 23 | <CheckUnderflowOverflow>false</CheckUnderflowOverflow> |
24 | <AllowUnsafe>false</AllowUnsafe> | 24 | <AllowUnsafe>true</AllowUnsafe> |
25 | <WarningLevel>4</WarningLevel> | 25 | <WarningLevel>4</WarningLevel> |
26 | <WarningsAsErrors>false</WarningsAsErrors> | 26 | <WarningsAsErrors>false</WarningsAsErrors> |
27 | <SuppressWarnings/> | 27 | <SuppressWarnings/> |
@@ -34,7 +34,7 @@ | |||
34 | 34 | ||
35 | <!-- Core OpenSim Projects --> | 35 | <!-- Core OpenSim Projects --> |
36 | <!-- | 36 | <!-- |
37 | <Project frameworkVersion="v4_0" name="OpenSim.Model" path="OpenSim/Model" type="Library"> | 37 | <Project frameworkVersion="v3_5" name="OpenSim.Model" path="OpenSim/Model" type="Library"> |
38 | <Configuration name="Debug"> | 38 | <Configuration name="Debug"> |
39 | <Options> | 39 | <Options> |
40 | <OutputPath>../../../bin/</OutputPath> | 40 | <OutputPath>../../../bin/</OutputPath> |
@@ -55,7 +55,7 @@ | |||
55 | </Project> | 55 | </Project> |
56 | --> | 56 | --> |
57 | 57 | ||
58 | <Project frameworkVersion="v4_0" name="SmartThreadPool" path="ThirdParty/SmartThreadPool" type="Library"> | 58 | <Project frameworkVersion="v3_5" name="SmartThreadPool" path="ThirdParty/SmartThreadPool" type="Library"> |
59 | <Configuration name="Debug"> | 59 | <Configuration name="Debug"> |
60 | <Options> | 60 | <Options> |
61 | <OutputPath>../../bin/</OutputPath> | 61 | <OutputPath>../../bin/</OutputPath> |
@@ -77,7 +77,7 @@ | |||
77 | </Files> | 77 | </Files> |
78 | </Project> | 78 | </Project> |
79 | 79 | ||
80 | <Project frameworkVersion="v4_0" name="OpenSim.Framework" path="OpenSim/Framework" type="Library"> | 80 | <Project frameworkVersion="v3_5" name="OpenSim.Framework" path="OpenSim/Framework" type="Library"> |
81 | <Configuration name="Debug"> | 81 | <Configuration name="Debug"> |
82 | <Options> | 82 | <Options> |
83 | <OutputPath>../../bin/</OutputPath> | 83 | <OutputPath>../../bin/</OutputPath> |
@@ -112,7 +112,7 @@ | |||
112 | </Files> | 112 | </Files> |
113 | </Project> | 113 | </Project> |
114 | 114 | ||
115 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Monitoring" path="OpenSim/Framework/Monitoring" type="Library"> | 115 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Monitoring" path="OpenSim/Framework/Monitoring" type="Library"> |
116 | <Configuration name="Debug"> | 116 | <Configuration name="Debug"> |
117 | <Options> | 117 | <Options> |
118 | <OutputPath>../../../bin/</OutputPath> | 118 | <OutputPath>../../../bin/</OutputPath> |
@@ -138,7 +138,7 @@ | |||
138 | </Files> | 138 | </Files> |
139 | </Project> | 139 | </Project> |
140 | 140 | ||
141 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Servers.HttpServer" path="OpenSim/Framework/Servers/HttpServer" type="Library"> | 141 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Servers.HttpServer" path="OpenSim/Framework/Servers/HttpServer" type="Library"> |
142 | <Configuration name="Debug"> | 142 | <Configuration name="Debug"> |
143 | <Options> | 143 | <Options> |
144 | <OutputPath>../../../../bin/</OutputPath> | 144 | <OutputPath>../../../../bin/</OutputPath> |
@@ -178,7 +178,7 @@ | |||
178 | </Files> | 178 | </Files> |
179 | </Project> | 179 | </Project> |
180 | 180 | ||
181 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Console" path="OpenSim/Framework/Console" type="Library"> | 181 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Console" path="OpenSim/Framework/Console" type="Library"> |
182 | <Configuration name="Debug"> | 182 | <Configuration name="Debug"> |
183 | <Options> | 183 | <Options> |
184 | <OutputPath>../../../bin/</OutputPath> | 184 | <OutputPath>../../../bin/</OutputPath> |
@@ -205,7 +205,7 @@ | |||
205 | </Files> | 205 | </Files> |
206 | </Project> | 206 | </Project> |
207 | 207 | ||
208 | <Project frameworkVersion="v4_0" name="OpenSim.Services.Interfaces" path="OpenSim/Services/Interfaces" type="Library"> | 208 | <Project frameworkVersion="v3_5" name="OpenSim.Services.Interfaces" path="OpenSim/Services/Interfaces" type="Library"> |
209 | <Configuration name="Debug"> | 209 | <Configuration name="Debug"> |
210 | <Options> | 210 | <Options> |
211 | <OutputPath>../../../bin/</OutputPath> | 211 | <OutputPath>../../../bin/</OutputPath> |
@@ -233,7 +233,7 @@ | |||
233 | </Files> | 233 | </Files> |
234 | </Project> | 234 | </Project> |
235 | 235 | ||
236 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Serialization" path="OpenSim/Framework/Serialization" type="Library"> | 236 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Serialization" path="OpenSim/Framework/Serialization" type="Library"> |
237 | <Configuration name="Debug"> | 237 | <Configuration name="Debug"> |
238 | <Options> | 238 | <Options> |
239 | <OutputPath>../../../bin/</OutputPath> | 239 | <OutputPath>../../../bin/</OutputPath> |
@@ -262,7 +262,7 @@ | |||
262 | </Files> | 262 | </Files> |
263 | </Project> | 263 | </Project> |
264 | 264 | ||
265 | <Project frameworkVersion="v4_0" name="OpenSim.Data" path="OpenSim/Data" type="Library"> | 265 | <Project frameworkVersion="v3_5" name="OpenSim.Data" path="OpenSim/Data" type="Library"> |
266 | <Configuration name="Debug"> | 266 | <Configuration name="Debug"> |
267 | <Options> | 267 | <Options> |
268 | <OutputPath>../../bin/</OutputPath> | 268 | <OutputPath>../../bin/</OutputPath> |
@@ -291,7 +291,7 @@ | |||
291 | </Files> | 291 | </Files> |
292 | </Project> | 292 | </Project> |
293 | 293 | ||
294 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Configuration.XML" path="OpenSim/Framework/Configuration/XML" type="Library"> | 294 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Configuration.XML" path="OpenSim/Framework/Configuration/XML" type="Library"> |
295 | <Configuration name="Debug"> | 295 | <Configuration name="Debug"> |
296 | <Options> | 296 | <Options> |
297 | <OutputPath>../../../../bin/</OutputPath> | 297 | <OutputPath>../../../../bin/</OutputPath> |
@@ -316,7 +316,7 @@ | |||
316 | </Files> | 316 | </Files> |
317 | </Project> | 317 | </Project> |
318 | 318 | ||
319 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Configuration.HTTP" path="OpenSim/Framework/Configuration/HTTP" type="Library"> | 319 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Configuration.HTTP" path="OpenSim/Framework/Configuration/HTTP" type="Library"> |
320 | <Configuration name="Debug"> | 320 | <Configuration name="Debug"> |
321 | <Options> | 321 | <Options> |
322 | <OutputPath>../../../../bin/</OutputPath> | 322 | <OutputPath>../../../../bin/</OutputPath> |
@@ -343,7 +343,7 @@ | |||
343 | </Files> | 343 | </Files> |
344 | </Project> | 344 | </Project> |
345 | 345 | ||
346 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.AssetLoader.Filesystem" path="OpenSim/Framework/AssetLoader/Filesystem" type="Library"> | 346 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.AssetLoader.Filesystem" path="OpenSim/Framework/AssetLoader/Filesystem" type="Library"> |
347 | <Configuration name="Debug"> | 347 | <Configuration name="Debug"> |
348 | <Options> | 348 | <Options> |
349 | <OutputPath>../../../../bin/</OutputPath> | 349 | <OutputPath>../../../../bin/</OutputPath> |
@@ -368,7 +368,7 @@ | |||
368 | </Files> | 368 | </Files> |
369 | </Project> | 369 | </Project> |
370 | 370 | ||
371 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.RegionLoader.Web" path="OpenSim/Framework/RegionLoader/Web" type="Library"> | 371 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.RegionLoader.Web" path="OpenSim/Framework/RegionLoader/Web" type="Library"> |
372 | <Configuration name="Debug"> | 372 | <Configuration name="Debug"> |
373 | <Options> | 373 | <Options> |
374 | <OutputPath>../../../../bin/</OutputPath> | 374 | <OutputPath>../../../../bin/</OutputPath> |
@@ -394,7 +394,7 @@ | |||
394 | </Files> | 394 | </Files> |
395 | </Project> | 395 | </Project> |
396 | 396 | ||
397 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.RegionLoader.Filesystem" path="OpenSim/Framework/RegionLoader/Filesystem" type="Library"> | 397 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.RegionLoader.Filesystem" path="OpenSim/Framework/RegionLoader/Filesystem" type="Library"> |
398 | <Configuration name="Debug"> | 398 | <Configuration name="Debug"> |
399 | <Options> | 399 | <Options> |
400 | <OutputPath>../../../../bin/</OutputPath> | 400 | <OutputPath>../../../../bin/</OutputPath> |
@@ -420,7 +420,7 @@ | |||
420 | </Files> | 420 | </Files> |
421 | </Project> | 421 | </Project> |
422 | 422 | ||
423 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Servers" path="OpenSim/Framework/Servers" type="Library"> | 423 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Servers" path="OpenSim/Framework/Servers" type="Library"> |
424 | <Configuration name="Debug"> | 424 | <Configuration name="Debug"> |
425 | <Options> | 425 | <Options> |
426 | <OutputPath>../../../bin/</OutputPath> | 426 | <OutputPath>../../../bin/</OutputPath> |
@@ -452,7 +452,7 @@ | |||
452 | </Files> | 452 | </Files> |
453 | </Project> | 453 | </Project> |
454 | 454 | ||
455 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.Manager" path="OpenSim/Region/Physics/Manager" type="Library"> | 455 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.Manager" path="OpenSim/Region/Physics/Manager" type="Library"> |
456 | <Configuration name="Debug"> | 456 | <Configuration name="Debug"> |
457 | <Options> | 457 | <Options> |
458 | <OutputPath>../../../../bin/</OutputPath> | 458 | <OutputPath>../../../../bin/</OutputPath> |
@@ -480,7 +480,7 @@ | |||
480 | </Project> | 480 | </Project> |
481 | 481 | ||
482 | <!-- Physics Plug-ins --> | 482 | <!-- Physics Plug-ins --> |
483 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.BasicPhysicsPlugin" path="OpenSim/Region/Physics/BasicPhysicsPlugin" type="Library"> | 483 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.BasicPhysicsPlugin" path="OpenSim/Region/Physics/BasicPhysicsPlugin" type="Library"> |
484 | <Configuration name="Debug"> | 484 | <Configuration name="Debug"> |
485 | <Options> | 485 | <Options> |
486 | <OutputPath>../../../../bin/Physics/</OutputPath> | 486 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -503,7 +503,7 @@ | |||
503 | </Files> | 503 | </Files> |
504 | </Project> | 504 | </Project> |
505 | 505 | ||
506 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.POSPlugin" path="OpenSim/Region/Physics/POSPlugin" type="Library"> | 506 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.POSPlugin" path="OpenSim/Region/Physics/POSPlugin" type="Library"> |
507 | <Configuration name="Debug"> | 507 | <Configuration name="Debug"> |
508 | <Options> | 508 | <Options> |
509 | <OutputPath>../../../../bin/Physics/</OutputPath> | 509 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -526,7 +526,7 @@ | |||
526 | </Files> | 526 | </Files> |
527 | </Project> | 527 | </Project> |
528 | 528 | ||
529 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.OdePlugin" path="OpenSim/Region/Physics/OdePlugin" type="Library"> | 529 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.OdePlugin" path="OpenSim/Region/Physics/OdePlugin" type="Library"> |
530 | <Configuration name="Debug"> | 530 | <Configuration name="Debug"> |
531 | <Options> | 531 | <Options> |
532 | <OutputPath>../../../../bin/Physics/</OutputPath> | 532 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -556,7 +556,7 @@ | |||
556 | </Files> | 556 | </Files> |
557 | </Project> | 557 | </Project> |
558 | 558 | ||
559 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.ConvexDecompositionDotNet" path="OpenSim/Region/Physics/ConvexDecompositionDotNet" type="Library"> | 559 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.ConvexDecompositionDotNet" path="OpenSim/Region/Physics/ConvexDecompositionDotNet" type="Library"> |
560 | <Configuration name="Debug"> | 560 | <Configuration name="Debug"> |
561 | <Options> | 561 | <Options> |
562 | <OutputPath>../../../../bin/</OutputPath> | 562 | <OutputPath>../../../../bin/</OutputPath> |
@@ -581,7 +581,7 @@ | |||
581 | </Files> | 581 | </Files> |
582 | </Project> | 582 | </Project> |
583 | 583 | ||
584 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.ChOdePlugin" path="OpenSim/Region/Physics/ChOdePlugin" type="Library"> | 584 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.ChOdePlugin" path="OpenSim/Region/Physics/ChOdePlugin" type="Library"> |
585 | <Configuration name="Debug"> | 585 | <Configuration name="Debug"> |
586 | <Options> | 586 | <Options> |
587 | <OutputPath>../../../../bin/Physics/</OutputPath> | 587 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -612,7 +612,7 @@ | |||
612 | </Files> | 612 | </Files> |
613 | </Project> | 613 | </Project> |
614 | 614 | ||
615 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.UbitOdePlugin" path="OpenSim/Region/Physics/UbitOdePlugin" type="Library"> | 615 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.UbitOdePlugin" path="OpenSim/Region/Physics/UbitOdePlugin" type="Library"> |
616 | <Configuration name="Debug"> | 616 | <Configuration name="Debug"> |
617 | <Options> | 617 | <Options> |
618 | <OutputPath>../../../../bin/Physics/</OutputPath> | 618 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -643,7 +643,7 @@ | |||
643 | </Files> | 643 | </Files> |
644 | </Project> | 644 | </Project> |
645 | 645 | ||
646 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.Meshing" path="OpenSim/Region/Physics/Meshing" type="Library"> | 646 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.Meshing" path="OpenSim/Region/Physics/Meshing" type="Library"> |
647 | <Configuration name="Debug"> | 647 | <Configuration name="Debug"> |
648 | <Options> | 648 | <Options> |
649 | <OutputPath>../../../../bin/Physics/</OutputPath> | 649 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -674,7 +674,7 @@ | |||
674 | </Files> | 674 | </Files> |
675 | </Project> | 675 | </Project> |
676 | 676 | ||
677 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.UbitMeshing" path="OpenSim/Region/Physics/UbitMeshing" type="Library"> | 677 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.UbitMeshing" path="OpenSim/Region/Physics/UbitMeshing" type="Library"> |
678 | <Configuration name="Debug"> | 678 | <Configuration name="Debug"> |
679 | <Options> | 679 | <Options> |
680 | <OutputPath>../../../../bin/Physics/</OutputPath> | 680 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -706,7 +706,7 @@ | |||
706 | </Files> | 706 | </Files> |
707 | </Project> | 707 | </Project> |
708 | 708 | ||
709 | <Project frameworkVersion="v4_0" name="OpenSim.Capabilities" path="OpenSim/Capabilities" type="Library"> | 709 | <Project frameworkVersion="v3_5" name="OpenSim.Capabilities" path="OpenSim/Capabilities" type="Library"> |
710 | <Configuration name="Debug"> | 710 | <Configuration name="Debug"> |
711 | <Options> | 711 | <Options> |
712 | <OutputPath>../../bin/</OutputPath> | 712 | <OutputPath>../../bin/</OutputPath> |
@@ -741,7 +741,7 @@ | |||
741 | </Project> | 741 | </Project> |
742 | 742 | ||
743 | 743 | ||
744 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Communications" path="OpenSim/Framework/Communications" type="Library"> | 744 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Communications" path="OpenSim/Framework/Communications" type="Library"> |
745 | <Configuration name="Debug"> | 745 | <Configuration name="Debug"> |
746 | <Options> | 746 | <Options> |
747 | <OutputPath>../../../bin/</OutputPath> | 747 | <OutputPath>../../../bin/</OutputPath> |
@@ -782,7 +782,7 @@ | |||
782 | </Project> | 782 | </Project> |
783 | 783 | ||
784 | 784 | ||
785 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Framework" path="OpenSim/Region/Framework" type="Library"> | 785 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Framework" path="OpenSim/Region/Framework" type="Library"> |
786 | <Configuration name="Debug"> | 786 | <Configuration name="Debug"> |
787 | <Options> | 787 | <Options> |
788 | <OutputPath>../../../bin/</OutputPath> | 788 | <OutputPath>../../../bin/</OutputPath> |
@@ -835,7 +835,7 @@ | |||
835 | <!-- OGS projects --> | 835 | <!-- OGS projects --> |
836 | 836 | ||
837 | 837 | ||
838 | <Project frameworkVersion="v4_0" name="OpenSim.Server.Base" path="OpenSim/Server/Base" type="Library"> | 838 | <Project frameworkVersion="v3_5" name="OpenSim.Server.Base" path="OpenSim/Server/Base" type="Library"> |
839 | <Configuration name="Debug"> | 839 | <Configuration name="Debug"> |
840 | <Options> | 840 | <Options> |
841 | <OutputPath>../../../bin/</OutputPath> | 841 | <OutputPath>../../../bin/</OutputPath> |
@@ -865,7 +865,7 @@ | |||
865 | </Files> | 865 | </Files> |
866 | </Project> | 866 | </Project> |
867 | 867 | ||
868 | <Project frameworkVersion="v4_0" name="OpenSim.Services.Base" path="OpenSim/Services/Base" type="Library"> | 868 | <Project frameworkVersion="v3_5" name="OpenSim.Services.Base" path="OpenSim/Services/Base" type="Library"> |
869 | <Configuration name="Debug"> | 869 | <Configuration name="Debug"> |
870 | <Options> | 870 | <Options> |
871 | <OutputPath>../../../bin/</OutputPath> | 871 | <OutputPath>../../../bin/</OutputPath> |
@@ -892,7 +892,7 @@ | |||
892 | </Files> | 892 | </Files> |
893 | </Project> | 893 | </Project> |
894 | 894 | ||
895 | <Project frameworkVersion="v4_0" name="OpenSim.Services.UserAccountService" path="OpenSim/Services/UserAccountService" type="Library"> | 895 | <Project frameworkVersion="v3_5" name="OpenSim.Services.UserAccountService" path="OpenSim/Services/UserAccountService" type="Library"> |
896 | <Configuration name="Debug"> | 896 | <Configuration name="Debug"> |
897 | <Options> | 897 | <Options> |
898 | <OutputPath>../../../bin/</OutputPath> | 898 | <OutputPath>../../../bin/</OutputPath> |
@@ -923,7 +923,7 @@ | |||
923 | </Files> | 923 | </Files> |
924 | </Project> | 924 | </Project> |
925 | 925 | ||
926 | <Project frameworkVersion="v4_0" name="OpenSim.Services.FriendsService" path="OpenSim/Services/Friends" type="Library"> | 926 | <Project frameworkVersion="v3_5" name="OpenSim.Services.FriendsService" path="OpenSim/Services/Friends" type="Library"> |
927 | <Configuration name="Debug"> | 927 | <Configuration name="Debug"> |
928 | <Options> | 928 | <Options> |
929 | <OutputPath>../../../bin/</OutputPath> | 929 | <OutputPath>../../../bin/</OutputPath> |
@@ -954,7 +954,7 @@ | |||
954 | </Files> | 954 | </Files> |
955 | </Project> | 955 | </Project> |
956 | 956 | ||
957 | <Project frameworkVersion="v4_0" name="OpenSim.Services.Connectors" path="OpenSim/Services/Connectors" type="Library"> | 957 | <Project frameworkVersion="v3_5" name="OpenSim.Services.Connectors" path="OpenSim/Services/Connectors" type="Library"> |
958 | <Configuration name="Debug"> | 958 | <Configuration name="Debug"> |
959 | <Options> | 959 | <Options> |
960 | <OutputPath>../../../bin/</OutputPath> | 960 | <OutputPath>../../../bin/</OutputPath> |
@@ -993,7 +993,7 @@ | |||
993 | </Files> | 993 | </Files> |
994 | </Project> | 994 | </Project> |
995 | 995 | ||
996 | <Project frameworkVersion="v4_0" name="OpenSim.Services.AssetService" path="OpenSim/Services/AssetService" type="Library"> | 996 | <Project frameworkVersion="v3_5" name="OpenSim.Services.AssetService" path="OpenSim/Services/AssetService" type="Library"> |
997 | <Configuration name="Debug"> | 997 | <Configuration name="Debug"> |
998 | <Options> | 998 | <Options> |
999 | <OutputPath>../../../bin/</OutputPath> | 999 | <OutputPath>../../../bin/</OutputPath> |
@@ -1024,7 +1024,7 @@ | |||
1024 | </Files> | 1024 | </Files> |
1025 | </Project> | 1025 | </Project> |
1026 | 1026 | ||
1027 | <Project frameworkVersion="v4_0" name="OpenSim.Services.AuthorizationService" path="OpenSim/Services/AuthorizationService" type="Library"> | 1027 | <Project frameworkVersion="v3_5" name="OpenSim.Services.AuthorizationService" path="OpenSim/Services/AuthorizationService" type="Library"> |
1028 | <Configuration name="Debug"> | 1028 | <Configuration name="Debug"> |
1029 | <Options> | 1029 | <Options> |
1030 | <OutputPath>../../../bin/</OutputPath> | 1030 | <OutputPath>../../../bin/</OutputPath> |
@@ -1055,7 +1055,7 @@ | |||
1055 | </Files> | 1055 | </Files> |
1056 | </Project> | 1056 | </Project> |
1057 | 1057 | ||
1058 | <Project frameworkVersion="v4_0" name="OpenSim.Services.FreeswitchService" path="OpenSim/Services/FreeswitchService" type="Library"> | 1058 | <Project frameworkVersion="v3_5" name="OpenSim.Services.FreeswitchService" path="OpenSim/Services/FreeswitchService" type="Library"> |
1059 | <Configuration name="Debug"> | 1059 | <Configuration name="Debug"> |
1060 | <Options> | 1060 | <Options> |
1061 | <OutputPath>../../../bin/</OutputPath> | 1061 | <OutputPath>../../../bin/</OutputPath> |
@@ -1087,7 +1087,7 @@ | |||
1087 | </Files> | 1087 | </Files> |
1088 | </Project> | 1088 | </Project> |
1089 | 1089 | ||
1090 | <Project frameworkVersion="v4_0" name="OpenSim.Services.AuthenticationService" path="OpenSim/Services/AuthenticationService" type="Library"> | 1090 | <Project frameworkVersion="v3_5" name="OpenSim.Services.AuthenticationService" path="OpenSim/Services/AuthenticationService" type="Library"> |
1091 | <Configuration name="Debug"> | 1091 | <Configuration name="Debug"> |
1092 | <Options> | 1092 | <Options> |
1093 | <OutputPath>../../../bin/</OutputPath> | 1093 | <OutputPath>../../../bin/</OutputPath> |
@@ -1120,7 +1120,7 @@ | |||
1120 | </Files> | 1120 | </Files> |
1121 | </Project> | 1121 | </Project> |
1122 | 1122 | ||
1123 | <Project frameworkVersion="v4_0" name="OpenSim.Services.GridService" path="OpenSim/Services/GridService" type="Library"> | 1123 | <Project frameworkVersion="v3_5" name="OpenSim.Services.GridService" path="OpenSim/Services/GridService" type="Library"> |
1124 | <Configuration name="Debug"> | 1124 | <Configuration name="Debug"> |
1125 | <Options> | 1125 | <Options> |
1126 | <OutputPath>../../../bin/</OutputPath> | 1126 | <OutputPath>../../../bin/</OutputPath> |
@@ -1154,7 +1154,7 @@ | |||
1154 | </Files> | 1154 | </Files> |
1155 | </Project> | 1155 | </Project> |
1156 | 1156 | ||
1157 | <Project frameworkVersion="v4_0" name="OpenSim.Services.PresenceService" path="OpenSim/Services/PresenceService" type="Library"> | 1157 | <Project frameworkVersion="v3_5" name="OpenSim.Services.PresenceService" path="OpenSim/Services/PresenceService" type="Library"> |
1158 | <Configuration name="Debug"> | 1158 | <Configuration name="Debug"> |
1159 | <Options> | 1159 | <Options> |
1160 | <OutputPath>../../../bin/</OutputPath> | 1160 | <OutputPath>../../../bin/</OutputPath> |
@@ -1185,7 +1185,7 @@ | |||
1185 | </Files> | 1185 | </Files> |
1186 | </Project> | 1186 | </Project> |
1187 | 1187 | ||
1188 | <Project frameworkVersion="v4_0" name="OpenSim.Services.AvatarService" path="OpenSim/Services/AvatarService" type="Library"> | 1188 | <Project frameworkVersion="v3_5" name="OpenSim.Services.AvatarService" path="OpenSim/Services/AvatarService" type="Library"> |
1189 | <Configuration name="Debug"> | 1189 | <Configuration name="Debug"> |
1190 | <Options> | 1190 | <Options> |
1191 | <OutputPath>../../../bin/</OutputPath> | 1191 | <OutputPath>../../../bin/</OutputPath> |
@@ -1216,7 +1216,7 @@ | |||
1216 | </Files> | 1216 | </Files> |
1217 | </Project> | 1217 | </Project> |
1218 | 1218 | ||
1219 | <Project frameworkVersion="v4_0" name="OpenSim.Services.InventoryService" path="OpenSim/Services/InventoryService" type="Library"> | 1219 | <Project frameworkVersion="v3_5" name="OpenSim.Services.InventoryService" path="OpenSim/Services/InventoryService" type="Library"> |
1220 | <Configuration name="Debug"> | 1220 | <Configuration name="Debug"> |
1221 | <Options> | 1221 | <Options> |
1222 | <OutputPath>../../../bin/</OutputPath> | 1222 | <OutputPath>../../../bin/</OutputPath> |
@@ -1249,7 +1249,7 @@ | |||
1249 | </Project> | 1249 | </Project> |
1250 | 1250 | ||
1251 | 1251 | ||
1252 | <Project frameworkVersion="v4_0" name="OpenSim.Services.LLLoginService" path="OpenSim/Services/LLLoginService" type="Library"> | 1252 | <Project frameworkVersion="v3_5" name="OpenSim.Services.LLLoginService" path="OpenSim/Services/LLLoginService" type="Library"> |
1253 | <Configuration name="Debug"> | 1253 | <Configuration name="Debug"> |
1254 | <Options> | 1254 | <Options> |
1255 | <OutputPath>../../../bin/</OutputPath> | 1255 | <OutputPath>../../../bin/</OutputPath> |
@@ -1282,7 +1282,7 @@ | |||
1282 | </Files> | 1282 | </Files> |
1283 | </Project> | 1283 | </Project> |
1284 | 1284 | ||
1285 | <Project frameworkVersion="v4_0" name="OpenSim.Services.HypergridService" path="OpenSim/Services/HypergridService" type="Library"> | 1285 | <Project frameworkVersion="v3_5" name="OpenSim.Services.HypergridService" path="OpenSim/Services/HypergridService" type="Library"> |
1286 | <Configuration name="Debug"> | 1286 | <Configuration name="Debug"> |
1287 | <Options> | 1287 | <Options> |
1288 | <OutputPath>../../../bin/</OutputPath> | 1288 | <OutputPath>../../../bin/</OutputPath> |
@@ -1320,7 +1320,7 @@ | |||
1320 | </Files> | 1320 | </Files> |
1321 | </Project> | 1321 | </Project> |
1322 | 1322 | ||
1323 | <Project frameworkVersion="v4_0" name="OpenSim.Services.MapImageService" path="OpenSim/Services/MapImageService" type="Library"> | 1323 | <Project frameworkVersion="v3_5" name="OpenSim.Services.MapImageService" path="OpenSim/Services/MapImageService" type="Library"> |
1324 | <Configuration name="Debug"> | 1324 | <Configuration name="Debug"> |
1325 | <Options> | 1325 | <Options> |
1326 | <OutputPath>../../../bin/</OutputPath> | 1326 | <OutputPath>../../../bin/</OutputPath> |
@@ -1350,7 +1350,7 @@ | |||
1350 | </Files> | 1350 | </Files> |
1351 | </Project> | 1351 | </Project> |
1352 | 1352 | ||
1353 | <Project frameworkVersion="v4_0" name="OpenSim.Server.Handlers" path="OpenSim/Server/Handlers" type="Library"> | 1353 | <Project frameworkVersion="v3_5" name="OpenSim.Server.Handlers" path="OpenSim/Server/Handlers" type="Library"> |
1354 | <Configuration name="Debug"> | 1354 | <Configuration name="Debug"> |
1355 | <Options> | 1355 | <Options> |
1356 | <OutputPath>../../../bin/</OutputPath> | 1356 | <OutputPath>../../../bin/</OutputPath> |
@@ -1389,7 +1389,7 @@ | |||
1389 | </Project> | 1389 | </Project> |
1390 | 1390 | ||
1391 | 1391 | ||
1392 | <Project frameworkVersion="v4_0" name="OpenSim.Capabilities.Handlers" path="OpenSim/Capabilities/Handlers" type="Library"> | 1392 | <Project frameworkVersion="v3_5" name="OpenSim.Capabilities.Handlers" path="OpenSim/Capabilities/Handlers" type="Library"> |
1393 | <Configuration name="Debug"> | 1393 | <Configuration name="Debug"> |
1394 | <Options> | 1394 | <Options> |
1395 | <OutputPath>../../../bin/</OutputPath> | 1395 | <OutputPath>../../../bin/</OutputPath> |
@@ -1430,7 +1430,7 @@ | |||
1430 | </Project> | 1430 | </Project> |
1431 | 1431 | ||
1432 | 1432 | ||
1433 | <Project frameworkVersion="v4_0" name="Robust" path="OpenSim/Server" type="Exe"> | 1433 | <Project frameworkVersion="v3_5" name="Robust" path="OpenSim/Server" type="Exe"> |
1434 | <Configuration name="Debug"> | 1434 | <Configuration name="Debug"> |
1435 | <Options> | 1435 | <Options> |
1436 | <OutputPath>../../bin/</OutputPath> | 1436 | <OutputPath>../../bin/</OutputPath> |
@@ -1464,7 +1464,7 @@ | |||
1464 | </Files> | 1464 | </Files> |
1465 | </Project> | 1465 | </Project> |
1466 | 1466 | ||
1467 | <Project frameworkVersion="v4_0" name="OpenSim.ConsoleClient" path="OpenSim/ConsoleClient" type="Exe"> | 1467 | <Project frameworkVersion="v3_5" name="OpenSim.ConsoleClient" path="OpenSim/ConsoleClient" type="Exe"> |
1468 | <Configuration name="Debug"> | 1468 | <Configuration name="Debug"> |
1469 | <Options> | 1469 | <Options> |
1470 | <OutputPath>../../bin/</OutputPath> | 1470 | <OutputPath>../../bin/</OutputPath> |
@@ -1496,7 +1496,7 @@ | |||
1496 | </Files> | 1496 | </Files> |
1497 | </Project> | 1497 | </Project> |
1498 | 1498 | ||
1499 | <Project frameworkVersion="v4_0" name="OpenSim.Region.CoreModules" path="OpenSim/Region/CoreModules" type="Library"> | 1499 | <Project frameworkVersion="v3_5" name="OpenSim.Region.CoreModules" path="OpenSim/Region/CoreModules" type="Library"> |
1500 | <Configuration name="Debug"> | 1500 | <Configuration name="Debug"> |
1501 | <Options> | 1501 | <Options> |
1502 | <OutputPath>../../../bin/</OutputPath> | 1502 | <OutputPath>../../../bin/</OutputPath> |
@@ -1562,7 +1562,7 @@ | |||
1562 | </Files> | 1562 | </Files> |
1563 | </Project> | 1563 | </Project> |
1564 | 1564 | ||
1565 | <Project frameworkVersion="v4_0" name="OpenSim.Region.RegionCombinerModule" path="OpenSim/Region/RegionCombinerModule" type="Library"> | 1565 | <Project frameworkVersion="v3_5" name="OpenSim.Region.RegionCombinerModule" path="OpenSim/Region/RegionCombinerModule" type="Library"> |
1566 | <Configuration name="Debug"> | 1566 | <Configuration name="Debug"> |
1567 | <Options> | 1567 | <Options> |
1568 | <OutputPath>../../../bin/</OutputPath> | 1568 | <OutputPath>../../../bin/</OutputPath> |
@@ -1600,7 +1600,7 @@ | |||
1600 | </Files> | 1600 | </Files> |
1601 | </Project> | 1601 | </Project> |
1602 | 1602 | ||
1603 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ClientStack" path="OpenSim/Region/ClientStack" type="Library"> | 1603 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ClientStack" path="OpenSim/Region/ClientStack" type="Library"> |
1604 | <Configuration name="Debug"> | 1604 | <Configuration name="Debug"> |
1605 | <Options> | 1605 | <Options> |
1606 | <OutputPath>../../../bin/</OutputPath> | 1606 | <OutputPath>../../../bin/</OutputPath> |
@@ -1635,7 +1635,7 @@ | |||
1635 | </Project> | 1635 | </Project> |
1636 | 1636 | ||
1637 | <!-- ClientStack Plugins --> | 1637 | <!-- ClientStack Plugins --> |
1638 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ClientStack.LindenUDP" path="OpenSim/Region/ClientStack/Linden/UDP" type="Library"> | 1638 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ClientStack.LindenUDP" path="OpenSim/Region/ClientStack/Linden/UDP" type="Library"> |
1639 | <Configuration name="Debug"> | 1639 | <Configuration name="Debug"> |
1640 | <Options> | 1640 | <Options> |
1641 | <OutputPath>../../../../../bin/</OutputPath> | 1641 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -1678,7 +1678,7 @@ | |||
1678 | </Files> | 1678 | </Files> |
1679 | </Project> | 1679 | </Project> |
1680 | 1680 | ||
1681 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ClientStack.LindenCaps" path="OpenSim/Region/ClientStack/Linden/Caps" type="Library"> | 1681 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ClientStack.LindenCaps" path="OpenSim/Region/ClientStack/Linden/Caps" type="Library"> |
1682 | <Configuration name="Debug"> | 1682 | <Configuration name="Debug"> |
1683 | <Options> | 1683 | <Options> |
1684 | <OutputPath>../../../../../bin/</OutputPath> | 1684 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -1720,7 +1720,7 @@ | |||
1720 | </Files> | 1720 | </Files> |
1721 | </Project> | 1721 | </Project> |
1722 | 1722 | ||
1723 | <Project frameworkVersion="v4_0" name="OpenSim.Region.OptionalModules" path="OpenSim/Region/OptionalModules" type="Library"> | 1723 | <Project frameworkVersion="v3_5" name="OpenSim.Region.OptionalModules" path="OpenSim/Region/OptionalModules" type="Library"> |
1724 | <Configuration name="Debug"> | 1724 | <Configuration name="Debug"> |
1725 | <Options> | 1725 | <Options> |
1726 | <OutputPath>../../../bin/</OutputPath> | 1726 | <OutputPath>../../../bin/</OutputPath> |
@@ -1777,7 +1777,7 @@ | |||
1777 | </Project> | 1777 | </Project> |
1778 | 1778 | ||
1779 | <!-- Datastore Plugins --> | 1779 | <!-- Datastore Plugins --> |
1780 | <Project frameworkVersion="v4_0" name="OpenSim.Data.Null" path="OpenSim/Data/Null" type="Library"> | 1780 | <Project frameworkVersion="v3_5" name="OpenSim.Data.Null" path="OpenSim/Data/Null" type="Library"> |
1781 | <Configuration name="Debug"> | 1781 | <Configuration name="Debug"> |
1782 | <Options> | 1782 | <Options> |
1783 | <OutputPath>../../../bin/</OutputPath> | 1783 | <OutputPath>../../../bin/</OutputPath> |
@@ -1829,7 +1829,7 @@ | |||
1829 | </Files> | 1829 | </Files> |
1830 | </Project> | 1830 | </Project> |
1831 | 1831 | ||
1832 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.BulletSPlugin" path="OpenSim/Region/Physics/BulletSPlugin" type="Library"> | 1832 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.BulletSPlugin" path="OpenSim/Region/Physics/BulletSPlugin" type="Library"> |
1833 | <Configuration name="Debug"> | 1833 | <Configuration name="Debug"> |
1834 | <Options> | 1834 | <Options> |
1835 | <OutputPath>../../../../bin/Physics/</OutputPath> | 1835 | <OutputPath>../../../../bin/Physics/</OutputPath> |
@@ -1863,7 +1863,7 @@ | |||
1863 | </Project> | 1863 | </Project> |
1864 | 1864 | ||
1865 | <!-- OpenSim app --> | 1865 | <!-- OpenSim app --> |
1866 | <Project frameworkVersion="v4_0" name="OpenSim" path="OpenSim/Region/Application" type="Exe"> | 1866 | <Project frameworkVersion="v3_5" name="OpenSim" path="OpenSim/Region/Application" type="Exe"> |
1867 | <Configuration name="Debug"> | 1867 | <Configuration name="Debug"> |
1868 | <Options> | 1868 | <Options> |
1869 | <OutputPath>../../../bin/</OutputPath> | 1869 | <OutputPath>../../../bin/</OutputPath> |
@@ -1907,7 +1907,7 @@ | |||
1907 | </Files> | 1907 | </Files> |
1908 | </Project> | 1908 | </Project> |
1909 | 1909 | ||
1910 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.LoadRegions" path="OpenSim/ApplicationPlugins/LoadRegions" type="Library"> | 1910 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.LoadRegions" path="OpenSim/ApplicationPlugins/LoadRegions" type="Library"> |
1911 | <Configuration name="Debug"> | 1911 | <Configuration name="Debug"> |
1912 | <Options> | 1912 | <Options> |
1913 | <OutputPath>../../../bin/</OutputPath> | 1913 | <OutputPath>../../../bin/</OutputPath> |
@@ -1942,7 +1942,7 @@ | |||
1942 | </Files> | 1942 | </Files> |
1943 | </Project> | 1943 | </Project> |
1944 | 1944 | ||
1945 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.RegionModulesController" path="OpenSim/ApplicationPlugins/RegionModulesController" type="Library"> | 1945 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.RegionModulesController" path="OpenSim/ApplicationPlugins/RegionModulesController" type="Library"> |
1946 | <Configuration name="Debug"> | 1946 | <Configuration name="Debug"> |
1947 | <Options> | 1947 | <Options> |
1948 | <OutputPath>../../../bin/</OutputPath> | 1948 | <OutputPath>../../../bin/</OutputPath> |
@@ -1972,7 +1972,7 @@ | |||
1972 | </Files> | 1972 | </Files> |
1973 | </Project> | 1973 | </Project> |
1974 | 1974 | ||
1975 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.RemoteController" path="OpenSim/ApplicationPlugins/RemoteController" type="Library"> | 1975 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.RemoteController" path="OpenSim/ApplicationPlugins/RemoteController" type="Library"> |
1976 | <Configuration name="Debug"> | 1976 | <Configuration name="Debug"> |
1977 | <Options> | 1977 | <Options> |
1978 | <OutputPath>../../../bin/</OutputPath> | 1978 | <OutputPath>../../../bin/</OutputPath> |
@@ -2013,7 +2013,7 @@ | |||
2013 | </Project> | 2013 | </Project> |
2014 | 2014 | ||
2015 | <!-- REST plugins --> | 2015 | <!-- REST plugins --> |
2016 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.Rest" path="OpenSim/ApplicationPlugins/Rest" type="Library"> | 2016 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.Rest" path="OpenSim/ApplicationPlugins/Rest" type="Library"> |
2017 | <Configuration name="Debug"> | 2017 | <Configuration name="Debug"> |
2018 | <Options> | 2018 | <Options> |
2019 | <OutputPath>../../../bin/</OutputPath> | 2019 | <OutputPath>../../../bin/</OutputPath> |
@@ -2048,7 +2048,7 @@ | |||
2048 | </Files> | 2048 | </Files> |
2049 | </Project> | 2049 | </Project> |
2050 | 2050 | ||
2051 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.Rest.Regions" path="OpenSim/ApplicationPlugins/Rest/Regions" type="Library"> | 2051 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.Rest.Regions" path="OpenSim/ApplicationPlugins/Rest/Regions" type="Library"> |
2052 | <Configuration name="Debug"> | 2052 | <Configuration name="Debug"> |
2053 | <Options> | 2053 | <Options> |
2054 | <OutputPath>../../../../bin/</OutputPath> | 2054 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2085,7 +2085,7 @@ | |||
2085 | </Files> | 2085 | </Files> |
2086 | </Project> | 2086 | </Project> |
2087 | 2087 | ||
2088 | <Project frameworkVersion="v4_0" name="OpenSim.ApplicationPlugins.Rest.Inventory" path="OpenSim/ApplicationPlugins/Rest/Inventory" type="Library"> | 2088 | <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.Rest.Inventory" path="OpenSim/ApplicationPlugins/Rest/Inventory" type="Library"> |
2089 | <Configuration name="Debug"> | 2089 | <Configuration name="Debug"> |
2090 | <Options> | 2090 | <Options> |
2091 | <OutputPath>../../../../bin/</OutputPath> | 2091 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2129,7 +2129,7 @@ | |||
2129 | 2129 | ||
2130 | <!-- Scene Server API Example Apps --> | 2130 | <!-- Scene Server API Example Apps --> |
2131 | 2131 | ||
2132 | <Project frameworkVersion="v4_0" name="OpenSim.Region.DataSnapshot" path="OpenSim/Region/DataSnapshot" type="Library"> | 2132 | <Project frameworkVersion="v3_5" name="OpenSim.Region.DataSnapshot" path="OpenSim/Region/DataSnapshot" type="Library"> |
2133 | <Configuration name="Debug"> | 2133 | <Configuration name="Debug"> |
2134 | <Options> | 2134 | <Options> |
2135 | <OutputPath>../../../bin/</OutputPath> | 2135 | <OutputPath>../../../bin/</OutputPath> |
@@ -2166,7 +2166,7 @@ | |||
2166 | </Project> | 2166 | </Project> |
2167 | 2167 | ||
2168 | <!-- Data Base Modules --> | 2168 | <!-- Data Base Modules --> |
2169 | <Project frameworkVersion="v4_0" name="OpenSim.Data.MySQL" path="OpenSim/Data/MySQL" type="Library"> | 2169 | <Project frameworkVersion="v3_5" name="OpenSim.Data.MySQL" path="OpenSim/Data/MySQL" type="Library"> |
2170 | <Configuration name="Debug"> | 2170 | <Configuration name="Debug"> |
2171 | <Options> | 2171 | <Options> |
2172 | <OutputPath>../../../bin/</OutputPath> | 2172 | <OutputPath>../../../bin/</OutputPath> |
@@ -2204,7 +2204,7 @@ | |||
2204 | </Files> | 2204 | </Files> |
2205 | </Project> | 2205 | </Project> |
2206 | 2206 | ||
2207 | <Project frameworkVersion="v4_0" name="OpenSim.Data.MSSQL" path="OpenSim/Data/MSSQL" type="Library"> | 2207 | <Project frameworkVersion="v3_5" name="OpenSim.Data.MSSQL" path="OpenSim/Data/MSSQL" type="Library"> |
2208 | <Configuration name="Debug"> | 2208 | <Configuration name="Debug"> |
2209 | <Options> | 2209 | <Options> |
2210 | <OutputPath>../../../bin/</OutputPath> | 2210 | <OutputPath>../../../bin/</OutputPath> |
@@ -2238,7 +2238,7 @@ | |||
2238 | </Files> | 2238 | </Files> |
2239 | </Project> | 2239 | </Project> |
2240 | 2240 | ||
2241 | <Project frameworkVersion="v4_0" name="OpenSim.Data.SQLite" path="OpenSim/Data/SQLite" type="Library"> | 2241 | <Project frameworkVersion="v3_5" name="OpenSim.Data.SQLite" path="OpenSim/Data/SQLite" type="Library"> |
2242 | <Configuration name="Debug"> | 2242 | <Configuration name="Debug"> |
2243 | <Options> | 2243 | <Options> |
2244 | <OutputPath>../../../bin/</OutputPath> | 2244 | <OutputPath>../../../bin/</OutputPath> |
@@ -2279,7 +2279,7 @@ | |||
2279 | </Project> | 2279 | </Project> |
2280 | 2280 | ||
2281 | 2281 | ||
2282 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared" path="OpenSim/Region/ScriptEngine/Shared" type="Library"> | 2282 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared" path="OpenSim/Region/ScriptEngine/Shared" type="Library"> |
2283 | <Configuration name="Debug"> | 2283 | <Configuration name="Debug"> |
2284 | <Options> | 2284 | <Options> |
2285 | <OutputPath>../../../../bin/</OutputPath> | 2285 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2317,7 +2317,7 @@ | |||
2317 | </Files> | 2317 | </Files> |
2318 | </Project> | 2318 | </Project> |
2319 | 2319 | ||
2320 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared.Api.Runtime" path="OpenSim/Region/ScriptEngine/Shared/Api/Runtime" type="Library"> | 2320 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared.Api.Runtime" path="OpenSim/Region/ScriptEngine/Shared/Api/Runtime" type="Library"> |
2321 | <Configuration name="Debug"> | 2321 | <Configuration name="Debug"> |
2322 | <Options> | 2322 | <Options> |
2323 | <OutputPath>../../../../../../bin/</OutputPath> | 2323 | <OutputPath>../../../../../../bin/</OutputPath> |
@@ -2350,7 +2350,7 @@ | |||
2350 | </Files> | 2350 | </Files> |
2351 | </Project> | 2351 | </Project> |
2352 | 2352 | ||
2353 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared.YieldProlog" path="OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/" type="Library"> | 2353 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared.YieldProlog" path="OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/" type="Library"> |
2354 | <Configuration name="Debug"> | 2354 | <Configuration name="Debug"> |
2355 | <Options> | 2355 | <Options> |
2356 | <OutputPath>../../../../../../../bin/</OutputPath> | 2356 | <OutputPath>../../../../../../../bin/</OutputPath> |
@@ -2382,7 +2382,7 @@ | |||
2382 | </Files> | 2382 | </Files> |
2383 | </Project> | 2383 | </Project> |
2384 | 2384 | ||
2385 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared.Api" path="OpenSim/Region/ScriptEngine/Shared/Api/Implementation" type="Library"> | 2385 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared.Api" path="OpenSim/Region/ScriptEngine/Shared/Api/Implementation" type="Library"> |
2386 | <Configuration name="Debug"> | 2386 | <Configuration name="Debug"> |
2387 | <Options> | 2387 | <Options> |
2388 | <OutputPath>../../../../../../bin/</OutputPath> | 2388 | <OutputPath>../../../../../../bin/</OutputPath> |
@@ -2422,7 +2422,7 @@ | |||
2422 | </Files> | 2422 | </Files> |
2423 | </Project> | 2423 | </Project> |
2424 | 2424 | ||
2425 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared.CodeTools" path="OpenSim/Region/ScriptEngine/Shared/CodeTools" type="Library"> | 2425 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared.CodeTools" path="OpenSim/Region/ScriptEngine/Shared/CodeTools" type="Library"> |
2426 | <Configuration name="Debug"> | 2426 | <Configuration name="Debug"> |
2427 | <Options> | 2427 | <Options> |
2428 | <OutputPath>../../../../../bin/</OutputPath> | 2428 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -2453,7 +2453,7 @@ | |||
2453 | </Files> | 2453 | </Files> |
2454 | </Project> | 2454 | </Project> |
2455 | 2455 | ||
2456 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Shared.Instance" path="OpenSim/Region/ScriptEngine/Shared/Instance" type="Library"> | 2456 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Shared.Instance" path="OpenSim/Region/ScriptEngine/Shared/Instance" type="Library"> |
2457 | <Configuration name="Debug"> | 2457 | <Configuration name="Debug"> |
2458 | <Options> | 2458 | <Options> |
2459 | <OutputPath>../../../../../bin/</OutputPath> | 2459 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -2491,7 +2491,7 @@ | |||
2491 | </Files> | 2491 | </Files> |
2492 | </Project> | 2492 | </Project> |
2493 | 2493 | ||
2494 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.XEngine" path="OpenSim/Region/ScriptEngine/XEngine" type="Library"> | 2494 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.XEngine" path="OpenSim/Region/ScriptEngine/XEngine" type="Library"> |
2495 | <Configuration name="Debug"> | 2495 | <Configuration name="Debug"> |
2496 | <Options> | 2496 | <Options> |
2497 | <OutputPath>../../../../bin/</OutputPath> | 2497 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2533,7 +2533,7 @@ | |||
2533 | </Files> | 2533 | </Files> |
2534 | </Project> | 2534 | </Project> |
2535 | 2535 | ||
2536 | <Project frameworkVersion="v4_0" name="OpenSim.Region.UserStatistics" path="OpenSim/Region/UserStatistics" type="Library"> | 2536 | <Project frameworkVersion="v3_5" name="OpenSim.Region.UserStatistics" path="OpenSim/Region/UserStatistics" type="Library"> |
2537 | <Configuration name="Debug"> | 2537 | <Configuration name="Debug"> |
2538 | <Options> | 2538 | <Options> |
2539 | <OutputPath>../../../bin/</OutputPath> | 2539 | <OutputPath>../../../bin/</OutputPath> |
@@ -2584,7 +2584,7 @@ | |||
2584 | 2584 | ||
2585 | <!-- Tools --> | 2585 | <!-- Tools --> |
2586 | 2586 | ||
2587 | <Project frameworkVersion="v4_0" name="pCampBot" path="OpenSim/Tools/pCampBot" type="Exe"> | 2587 | <Project frameworkVersion="v3_5" name="pCampBot" path="OpenSim/Tools/pCampBot" type="Exe"> |
2588 | <Configuration name="Debug"> | 2588 | <Configuration name="Debug"> |
2589 | <Options> | 2589 | <Options> |
2590 | <OutputPath>../../../bin/</OutputPath> | 2590 | <OutputPath>../../../bin/</OutputPath> |
@@ -2611,7 +2611,7 @@ | |||
2611 | </Files> | 2611 | </Files> |
2612 | </Project> | 2612 | </Project> |
2613 | 2613 | ||
2614 | <Project frameworkVersion="v4_0" name="OpenSim.Tools.lslc" path="OpenSim/Tools/Compiler" type="Exe"> | 2614 | <Project frameworkVersion="v3_5" name="OpenSim.Tools.lslc" path="OpenSim/Tools/Compiler" type="Exe"> |
2615 | <Configuration name="Debug"> | 2615 | <Configuration name="Debug"> |
2616 | <Options> | 2616 | <Options> |
2617 | <OutputPath>../../../bin/</OutputPath> | 2617 | <OutputPath>../../../bin/</OutputPath> |
@@ -2638,7 +2638,7 @@ | |||
2638 | </Files> | 2638 | </Files> |
2639 | </Project> | 2639 | </Project> |
2640 | 2640 | ||
2641 | <Project frameworkVersion="v4_0" name="OpenSim.Tools.Configger" path="OpenSim/Tools/Configger" type="Exe"> | 2641 | <Project frameworkVersion="v3_5" name="OpenSim.Tools.Configger" path="OpenSim/Tools/Configger" type="Exe"> |
2642 | <Configuration name="Debug"> | 2642 | <Configuration name="Debug"> |
2643 | <Options> | 2643 | <Options> |
2644 | <OutputPath>../../../bin/</OutputPath> | 2644 | <OutputPath>../../../bin/</OutputPath> |
@@ -2662,7 +2662,7 @@ | |||
2662 | </Project> | 2662 | </Project> |
2663 | 2663 | ||
2664 | <!-- Test Clients --> | 2664 | <!-- Test Clients --> |
2665 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Clients.GridClient" path="OpenSim/Tests/Clients/Grid" type="Exe"> | 2665 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Clients.GridClient" path="OpenSim/Tests/Clients/Grid" type="Exe"> |
2666 | <Configuration name="Debug"> | 2666 | <Configuration name="Debug"> |
2667 | <Options> | 2667 | <Options> |
2668 | <OutputPath>../../../../bin/</OutputPath> | 2668 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2689,7 +2689,7 @@ | |||
2689 | </Files> | 2689 | </Files> |
2690 | </Project> | 2690 | </Project> |
2691 | 2691 | ||
2692 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Clients.PresenceClient" path="OpenSim/Tests/Clients/Presence" type="Exe"> | 2692 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Clients.PresenceClient" path="OpenSim/Tests/Clients/Presence" type="Exe"> |
2693 | <Configuration name="Debug"> | 2693 | <Configuration name="Debug"> |
2694 | <Options> | 2694 | <Options> |
2695 | <OutputPath>../../../../bin/</OutputPath> | 2695 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2716,7 +2716,7 @@ | |||
2716 | </Files> | 2716 | </Files> |
2717 | </Project> | 2717 | </Project> |
2718 | 2718 | ||
2719 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Clients.UserAccountClient" path="OpenSim/Tests/Clients/UserAccounts" type="Exe"> | 2719 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Clients.UserAccountClient" path="OpenSim/Tests/Clients/UserAccounts" type="Exe"> |
2720 | <Configuration name="Debug"> | 2720 | <Configuration name="Debug"> |
2721 | <Options> | 2721 | <Options> |
2722 | <OutputPath>../../../../bin/</OutputPath> | 2722 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2743,7 +2743,7 @@ | |||
2743 | </Files> | 2743 | </Files> |
2744 | </Project> | 2744 | </Project> |
2745 | 2745 | ||
2746 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Clients.InstantantMessage" path="OpenSim/Tests/Clients/InstantMessage" type="Exe"> | 2746 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Clients.InstantantMessage" path="OpenSim/Tests/Clients/InstantMessage" type="Exe"> |
2747 | <Configuration name="Debug"> | 2747 | <Configuration name="Debug"> |
2748 | <Options> | 2748 | <Options> |
2749 | <OutputPath>../../../../bin/</OutputPath> | 2749 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2771,7 +2771,7 @@ | |||
2771 | </Project> | 2771 | </Project> |
2772 | 2772 | ||
2773 | <!-- Test assemblies --> | 2773 | <!-- Test assemblies --> |
2774 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Common" path="OpenSim/Tests/Common" type="Library"> | 2774 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Common" path="OpenSim/Tests/Common" type="Library"> |
2775 | <Configuration name="Debug"> | 2775 | <Configuration name="Debug"> |
2776 | <Options> | 2776 | <Options> |
2777 | <OutputPath>../../../bin/</OutputPath> | 2777 | <OutputPath>../../../bin/</OutputPath> |
@@ -2815,7 +2815,7 @@ | |||
2815 | </Files> | 2815 | </Files> |
2816 | </Project> | 2816 | </Project> |
2817 | 2817 | ||
2818 | <Project frameworkVersion="v4_0" name="OpenSim.Tests" path="OpenSim/Tests" type="Library"> | 2818 | <Project frameworkVersion="v3_5" name="OpenSim.Tests" path="OpenSim/Tests" type="Library"> |
2819 | <Configuration name="Debug"> | 2819 | <Configuration name="Debug"> |
2820 | <Options> | 2820 | <Options> |
2821 | <OutputPath>../../bin/</OutputPath> | 2821 | <OutputPath>../../bin/</OutputPath> |
@@ -2838,7 +2838,7 @@ | |||
2838 | </Project> | 2838 | </Project> |
2839 | 2839 | ||
2840 | 2840 | ||
2841 | <Project frameworkVersion="v4_0" name="OpenSim.Capabilities.Handlers.Tests" path="OpenSim/Capabilities/Handlers" type="Library"> | 2841 | <Project frameworkVersion="v3_5" name="OpenSim.Capabilities.Handlers.Tests" path="OpenSim/Capabilities/Handlers" type="Library"> |
2842 | <Configuration name="Debug"> | 2842 | <Configuration name="Debug"> |
2843 | <Options> | 2843 | <Options> |
2844 | <OutputPath>../../../bin/</OutputPath> | 2844 | <OutputPath>../../../bin/</OutputPath> |
@@ -2888,7 +2888,7 @@ | |||
2888 | </Project> | 2888 | </Project> |
2889 | 2889 | ||
2890 | 2890 | ||
2891 | <Project frameworkVersion="v4_0" name="OpenSim.Data.Tests" path="OpenSim/Data/Tests" type="Library"> | 2891 | <Project frameworkVersion="v3_5" name="OpenSim.Data.Tests" path="OpenSim/Data/Tests" type="Library"> |
2892 | <Configuration name="Debug"> | 2892 | <Configuration name="Debug"> |
2893 | <Options> | 2893 | <Options> |
2894 | <OutputPath>../../../bin/</OutputPath> | 2894 | <OutputPath>../../../bin/</OutputPath> |
@@ -2930,7 +2930,7 @@ | |||
2930 | </Files> | 2930 | </Files> |
2931 | </Project> | 2931 | </Project> |
2932 | 2932 | ||
2933 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Tests" path="OpenSim/Framework/Tests" type="Library"> | 2933 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Tests" path="OpenSim/Framework/Tests" type="Library"> |
2934 | <Configuration name="Debug"> | 2934 | <Configuration name="Debug"> |
2935 | <Options> | 2935 | <Options> |
2936 | <OutputPath>../../../bin/</OutputPath> | 2936 | <OutputPath>../../../bin/</OutputPath> |
@@ -2961,7 +2961,7 @@ | |||
2961 | </Files> | 2961 | </Files> |
2962 | </Project> | 2962 | </Project> |
2963 | 2963 | ||
2964 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Serialization.Tests" path="OpenSim/Framework/Serialization/Tests" type="Library"> | 2964 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Serialization.Tests" path="OpenSim/Framework/Serialization/Tests" type="Library"> |
2965 | <Configuration name="Debug"> | 2965 | <Configuration name="Debug"> |
2966 | <Options> | 2966 | <Options> |
2967 | <OutputPath>../../../../bin/</OutputPath> | 2967 | <OutputPath>../../../../bin/</OutputPath> |
@@ -2992,7 +2992,7 @@ | |||
2992 | </Files> | 2992 | </Files> |
2993 | </Project> | 2993 | </Project> |
2994 | 2994 | ||
2995 | <Project frameworkVersion="v4_0" name="OpenSim.Framework.Servers.Tests" path="OpenSim/Framework/Servers/Tests" type="Library"> | 2995 | <Project frameworkVersion="v3_5" name="OpenSim.Framework.Servers.Tests" path="OpenSim/Framework/Servers/Tests" type="Library"> |
2996 | <Configuration name="Debug"> | 2996 | <Configuration name="Debug"> |
2997 | <Options> | 2997 | <Options> |
2998 | <OutputPath>../../../../bin/</OutputPath> | 2998 | <OutputPath>../../../../bin/</OutputPath> |
@@ -3022,7 +3022,7 @@ | |||
3022 | </Files> | 3022 | </Files> |
3023 | </Project> | 3023 | </Project> |
3024 | 3024 | ||
3025 | <Project frameworkVersion="v4_0" name="OpenSim.Region.CoreModules.Tests" path="OpenSim/Region/CoreModules" type="Library"> | 3025 | <Project frameworkVersion="v3_5" name="OpenSim.Region.CoreModules.Tests" path="OpenSim/Region/CoreModules" type="Library"> |
3026 | <Configuration name="Debug"> | 3026 | <Configuration name="Debug"> |
3027 | <Options> | 3027 | <Options> |
3028 | <OutputPath>../../../bin/</OutputPath> | 3028 | <OutputPath>../../../bin/</OutputPath> |
@@ -3095,7 +3095,7 @@ | |||
3095 | </Files> | 3095 | </Files> |
3096 | </Project> | 3096 | </Project> |
3097 | 3097 | ||
3098 | <Project frameworkVersion="v4_0" name="OpenSim.Region.OptionalModules.Tests" path="OpenSim/Region/OptionalModules" type="Library"> | 3098 | <Project frameworkVersion="v3_5" name="OpenSim.Region.OptionalModules.Tests" path="OpenSim/Region/OptionalModules" type="Library"> |
3099 | <Configuration name="Debug"> | 3099 | <Configuration name="Debug"> |
3100 | <Options> | 3100 | <Options> |
3101 | <OutputPath>../../../bin/</OutputPath> | 3101 | <OutputPath>../../../bin/</OutputPath> |
@@ -3154,7 +3154,7 @@ | |||
3154 | </Files> | 3154 | </Files> |
3155 | </Project> | 3155 | </Project> |
3156 | 3156 | ||
3157 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Framework.Tests" path="OpenSim/Region/Framework" type="Library"> | 3157 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Framework.Tests" path="OpenSim/Region/Framework" type="Library"> |
3158 | <Configuration name="Debug"> | 3158 | <Configuration name="Debug"> |
3159 | <Options> | 3159 | <Options> |
3160 | <OutputPath>../../../bin/</OutputPath> | 3160 | <OutputPath>../../../bin/</OutputPath> |
@@ -3213,7 +3213,7 @@ | |||
3213 | </Files> | 3213 | </Files> |
3214 | </Project> | 3214 | </Project> |
3215 | 3215 | ||
3216 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ClientStack.LindenCaps.Tests" path="OpenSim/Region/ClientStack/Linden/Caps" type="Library"> | 3216 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ClientStack.LindenCaps.Tests" path="OpenSim/Region/ClientStack/Linden/Caps" type="Library"> |
3217 | <Configuration name="Debug"> | 3217 | <Configuration name="Debug"> |
3218 | <Options> | 3218 | <Options> |
3219 | <OutputPath>../../../../../bin/</OutputPath> | 3219 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -3250,7 +3250,7 @@ | |||
3250 | </Files> | 3250 | </Files> |
3251 | </Project> | 3251 | </Project> |
3252 | 3252 | ||
3253 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ClientStack.LindenUDP.Tests" path="OpenSim/Region/ClientStack/Linden/UDP/Tests" type="Library"> | 3253 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ClientStack.LindenUDP.Tests" path="OpenSim/Region/ClientStack/Linden/UDP/Tests" type="Library"> |
3254 | <Configuration name="Debug"> | 3254 | <Configuration name="Debug"> |
3255 | <Options> | 3255 | <Options> |
3256 | <OutputPath>../../../../../../bin/</OutputPath> | 3256 | <OutputPath>../../../../../../bin/</OutputPath> |
@@ -3286,7 +3286,7 @@ | |||
3286 | </Files> | 3286 | </Files> |
3287 | </Project> | 3287 | </Project> |
3288 | 3288 | ||
3289 | <Project frameworkVersion="v4_0" name="OpenSim.Region.ScriptEngine.Tests" path="OpenSim/Region/ScriptEngine" type="Library"> | 3289 | <Project frameworkVersion="v3_5" name="OpenSim.Region.ScriptEngine.Tests" path="OpenSim/Region/ScriptEngine" type="Library"> |
3290 | <Configuration name="Debug"> | 3290 | <Configuration name="Debug"> |
3291 | <Options> | 3291 | <Options> |
3292 | <OutputPath>../../../bin/</OutputPath> | 3292 | <OutputPath>../../../bin/</OutputPath> |
@@ -3340,7 +3340,7 @@ | |||
3340 | TODO: this is kind of lame, we basically build a duplicate | 3340 | TODO: this is kind of lame, we basically build a duplicate |
3341 | assembly but with tests added in, just because we can't resolve cross-bin-dir-refs. | 3341 | assembly but with tests added in, just because we can't resolve cross-bin-dir-refs. |
3342 | --> | 3342 | --> |
3343 | <Project frameworkVersion="v4_0" name="OpenSim.Region.Physics.OdePlugin.Tests" path="OpenSim/Region/Physics/OdePlugin/Tests" type="Library"> | 3343 | <Project frameworkVersion="v3_5" name="OpenSim.Region.Physics.OdePlugin.Tests" path="OpenSim/Region/Physics/OdePlugin/Tests" type="Library"> |
3344 | <Configuration name="Debug"> | 3344 | <Configuration name="Debug"> |
3345 | <Options> | 3345 | <Options> |
3346 | <OutputPath>../../../../../bin/</OutputPath> | 3346 | <OutputPath>../../../../../bin/</OutputPath> |
@@ -3370,7 +3370,7 @@ | |||
3370 | </Files> | 3370 | </Files> |
3371 | </Project> | 3371 | </Project> |
3372 | 3372 | ||
3373 | <Project frameworkVersion="v4_0" name="OpenSim.Tests.Torture" path="OpenSim/Tests/Torture" type="Library"> | 3373 | <Project frameworkVersion="v3_5" name="OpenSim.Tests.Torture" path="OpenSim/Tests/Torture" type="Library"> |
3374 | <Configuration name="Debug"> | 3374 | <Configuration name="Debug"> |
3375 | <Options> | 3375 | <Options> |
3376 | <OutputPath>../../../bin/</OutputPath> | 3376 | <OutputPath>../../../bin/</OutputPath> |