diff options
author | Melanie | 2012-10-28 18:58:43 +0000 |
---|---|---|
committer | Melanie | 2012-10-28 18:58:43 +0000 |
commit | 5b0fc6029624cfe6dedd1096a2f9daa7fdc98470 (patch) | |
tree | fd30d7dd76baaa38c277f143cafbfcca88ff3961 /OpenSim | |
parent | Merge branch 'master' into careminster (diff) | |
parent | Add a property to determine if a link set is stored in the database. Also, fix (diff) | |
download | opensim-SC-5b0fc6029624cfe6dedd1096a2f9daa7fdc98470.zip opensim-SC-5b0fc6029624cfe6dedd1096a2f9daa7fdc98470.tar.gz opensim-SC-5b0fc6029624cfe6dedd1096a2f9daa7fdc98470.tar.bz2 opensim-SC-5b0fc6029624cfe6dedd1096a2f9daa7fdc98470.tar.xz |
Merge branch 'avination' into careminster
Conflicts:
OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 20 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 20 |
2 files changed, 30 insertions, 10 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 782a1af..74d2629 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -307,6 +307,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
307 | 307 | ||
308 | private bool m_isBackedUp; | 308 | private bool m_isBackedUp; |
309 | 309 | ||
310 | public bool IsBackedUp | ||
311 | { | ||
312 | get { return m_isBackedUp; } | ||
313 | } | ||
314 | |||
310 | protected MapAndArray<UUID, SceneObjectPart> m_parts = new MapAndArray<UUID, SceneObjectPart>(); | 315 | protected MapAndArray<UUID, SceneObjectPart> m_parts = new MapAndArray<UUID, SceneObjectPart>(); |
311 | 316 | ||
312 | protected ulong m_regionHandle; | 317 | protected ulong m_regionHandle; |
@@ -3450,6 +3455,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
3450 | 3455 | ||
3451 | bool god = Scene.Permissions.IsGod(AgentID); | 3456 | bool god = Scene.Permissions.IsGod(AgentID); |
3452 | 3457 | ||
3458 | if (field == 1 && god) | ||
3459 | { | ||
3460 | ForEachPart(part => | ||
3461 | { | ||
3462 | part.BaseMask = RootPart.BaseMask; | ||
3463 | }); | ||
3464 | } | ||
3465 | |||
3453 | AdjustChildPrimPermissions(); | 3466 | AdjustChildPrimPermissions(); |
3454 | 3467 | ||
3455 | if (field == 1 && god) // Base mask was set. Update all child part inventories | 3468 | if (field == 1 && god) // Base mask was set. Update all child part inventories |
@@ -4374,6 +4387,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4374 | /// <remarks> | 4387 | /// <remarks> |
4375 | /// When the physics engine has finished with it, the sculpt data is discarded to save memory. | 4388 | /// When the physics engine has finished with it, the sculpt data is discarded to save memory. |
4376 | /// </remarks> | 4389 | /// </remarks> |
4390 | /* | ||
4377 | public void CheckSculptAndLoad() | 4391 | public void CheckSculptAndLoad() |
4378 | { | 4392 | { |
4379 | if (IsDeleted) | 4393 | if (IsDeleted) |
@@ -4386,10 +4400,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
4386 | 4400 | ||
4387 | SceneObjectPart[] parts = m_parts.GetArray(); | 4401 | SceneObjectPart[] parts = m_parts.GetArray(); |
4388 | 4402 | ||
4389 | // for (int i = 0; i < parts.Length; i++) | 4403 | for (int i = 0; i < parts.Length; i++) |
4390 | // parts[i].CheckSculptAndLoad(); | 4404 | parts[i].CheckSculptAndLoad(); |
4391 | } | 4405 | } |
4392 | 4406 | */ | |
4393 | /// <summary> | 4407 | /// <summary> |
4394 | /// Set the user group to which this scene object belongs. | 4408 | /// Set the user group to which this scene object belongs. |
4395 | /// </summary> | 4409 | /// </summary> |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 421ec79..0551c0b 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -352,10 +352,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
352 | if (m_assetFailed) | 352 | if (m_assetFailed) |
353 | { | 353 | { |
354 | d.GeomSetCategoryBits(prim_geom, 0); | 354 | d.GeomSetCategoryBits(prim_geom, 0); |
355 | d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits); | 355 | d.GeomSetCollideBits(prim_geom, BadAssetColideBits()); |
356 | } | 356 | } |
357 | else | 357 | else |
358 | { | 358 | { |
359 | |||
359 | d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories); | 360 | d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories); |
360 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); | 361 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); |
361 | } | 362 | } |
@@ -425,7 +426,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
425 | if (m_assetFailed) | 426 | if (m_assetFailed) |
426 | { | 427 | { |
427 | d.GeomSetCategoryBits(prim_geom, 0); | 428 | d.GeomSetCategoryBits(prim_geom, 0); |
428 | d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits); | 429 | d.GeomSetCollideBits(prim_geom, BadAssetColideBits()); |
429 | } | 430 | } |
430 | else | 431 | else |
431 | { | 432 | { |
@@ -858,6 +859,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
858 | 859 | ||
859 | private static Dictionary<IMesh, IntPtr> m_MeshToTriMeshMap = new Dictionary<IMesh, IntPtr>(); | 860 | private static Dictionary<IMesh, IntPtr> m_MeshToTriMeshMap = new Dictionary<IMesh, IntPtr>(); |
860 | 861 | ||
862 | public int BadAssetColideBits() | ||
863 | { | ||
864 | return (m_isphysical ? (int)CollisionCategories.Land : 0); | ||
865 | } | ||
866 | |||
861 | private void setMesh(OdeScene parent_scene, IMesh mesh) | 867 | private void setMesh(OdeScene parent_scene, IMesh mesh) |
862 | { | 868 | { |
863 | // m_log.DebugFormat("[ODE PRIM]: Setting mesh on {0} to {1}", Name, mesh); | 869 | // m_log.DebugFormat("[ODE PRIM]: Setting mesh on {0} to {1}", Name, mesh); |
@@ -1139,7 +1145,7 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1139 | if (prm.m_assetFailed) | 1145 | if (prm.m_assetFailed) |
1140 | { | 1146 | { |
1141 | d.GeomSetCategoryBits(prm.prim_geom, 0); | 1147 | d.GeomSetCategoryBits(prm.prim_geom, 0); |
1142 | d.GeomSetCollideBits(prm.prim_geom, prm.BadMeshAssetCollideBits); | 1148 | d.GeomSetCollideBits(prm.prim_geom, prm.BadAssetColideBits()); |
1143 | } | 1149 | } |
1144 | else | 1150 | else |
1145 | { | 1151 | { |
@@ -1193,7 +1199,7 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1193 | if (m_assetFailed) | 1199 | if (m_assetFailed) |
1194 | { | 1200 | { |
1195 | d.GeomSetCategoryBits(prim_geom, 0); | 1201 | d.GeomSetCategoryBits(prim_geom, 0); |
1196 | d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits); | 1202 | d.GeomSetCollideBits(prim_geom, BadAssetColideBits()); |
1197 | } | 1203 | } |
1198 | else | 1204 | else |
1199 | { | 1205 | { |
@@ -1395,7 +1401,7 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1395 | if (m_assetFailed) | 1401 | if (m_assetFailed) |
1396 | { | 1402 | { |
1397 | d.GeomSetCategoryBits(prim_geom, 0); | 1403 | d.GeomSetCategoryBits(prim_geom, 0); |
1398 | d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits); | 1404 | d.GeomSetCollideBits(prim_geom, BadAssetColideBits()); |
1399 | } | 1405 | } |
1400 | else | 1406 | else |
1401 | { | 1407 | { |
@@ -2139,7 +2145,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
2139 | } | 2145 | } |
2140 | 2146 | ||
2141 | if (m_assetFailed) | 2147 | if (m_assetFailed) |
2142 | d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits); | 2148 | d.GeomSetCollideBits(prim_geom, BadAssetColideBits()); |
2143 | else | 2149 | else |
2144 | 2150 | ||
2145 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); | 2151 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); |
@@ -3367,4 +3373,4 @@ Console.WriteLine(" JointCreateFixed"); | |||
3367 | } | 3373 | } |
3368 | } | 3374 | } |
3369 | } | 3375 | } |
3370 | } \ No newline at end of file | 3376 | } |