Merge branch 'avination' into careminster
Conflicts: OpenSim/Region/Physics/OdePlugin/ODEPrim.csavinationmerge
commit
5b0fc60296
|
@ -307,6 +307,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
private bool m_isBackedUp;
|
private bool m_isBackedUp;
|
||||||
|
|
||||||
|
public bool IsBackedUp
|
||||||
|
{
|
||||||
|
get { return m_isBackedUp; }
|
||||||
|
}
|
||||||
|
|
||||||
protected MapAndArray<UUID, SceneObjectPart> m_parts = new MapAndArray<UUID, SceneObjectPart>();
|
protected MapAndArray<UUID, SceneObjectPart> m_parts = new MapAndArray<UUID, SceneObjectPart>();
|
||||||
|
|
||||||
protected ulong m_regionHandle;
|
protected ulong m_regionHandle;
|
||||||
|
@ -3450,6 +3455,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
bool god = Scene.Permissions.IsGod(AgentID);
|
bool god = Scene.Permissions.IsGod(AgentID);
|
||||||
|
|
||||||
|
if (field == 1 && god)
|
||||||
|
{
|
||||||
|
ForEachPart(part =>
|
||||||
|
{
|
||||||
|
part.BaseMask = RootPart.BaseMask;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
AdjustChildPrimPermissions();
|
AdjustChildPrimPermissions();
|
||||||
|
|
||||||
if (field == 1 && god) // Base mask was set. Update all child part inventories
|
if (field == 1 && god) // Base mask was set. Update all child part inventories
|
||||||
|
@ -4374,6 +4387,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// When the physics engine has finished with it, the sculpt data is discarded to save memory.
|
/// When the physics engine has finished with it, the sculpt data is discarded to save memory.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
/*
|
||||||
public void CheckSculptAndLoad()
|
public void CheckSculptAndLoad()
|
||||||
{
|
{
|
||||||
if (IsDeleted)
|
if (IsDeleted)
|
||||||
|
@ -4386,10 +4400,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
SceneObjectPart[] parts = m_parts.GetArray();
|
SceneObjectPart[] parts = m_parts.GetArray();
|
||||||
|
|
||||||
// for (int i = 0; i < parts.Length; i++)
|
for (int i = 0; i < parts.Length; i++)
|
||||||
// parts[i].CheckSculptAndLoad();
|
parts[i].CheckSculptAndLoad();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set the user group to which this scene object belongs.
|
/// Set the user group to which this scene object belongs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -352,10 +352,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (m_assetFailed)
|
if (m_assetFailed)
|
||||||
{
|
{
|
||||||
d.GeomSetCategoryBits(prim_geom, 0);
|
d.GeomSetCategoryBits(prim_geom, 0);
|
||||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories);
|
d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories);
|
||||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||||
}
|
}
|
||||||
|
@ -425,7 +426,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (m_assetFailed)
|
if (m_assetFailed)
|
||||||
{
|
{
|
||||||
d.GeomSetCategoryBits(prim_geom, 0);
|
d.GeomSetCategoryBits(prim_geom, 0);
|
||||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -858,6 +859,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
private static Dictionary<IMesh, IntPtr> m_MeshToTriMeshMap = new Dictionary<IMesh, IntPtr>();
|
private static Dictionary<IMesh, IntPtr> m_MeshToTriMeshMap = new Dictionary<IMesh, IntPtr>();
|
||||||
|
|
||||||
|
public int BadAssetColideBits()
|
||||||
|
{
|
||||||
|
return (m_isphysical ? (int)CollisionCategories.Land : 0);
|
||||||
|
}
|
||||||
|
|
||||||
private void setMesh(OdeScene parent_scene, IMesh mesh)
|
private void setMesh(OdeScene parent_scene, IMesh mesh)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[ODE PRIM]: Setting mesh on {0} to {1}", Name, mesh);
|
// m_log.DebugFormat("[ODE PRIM]: Setting mesh on {0} to {1}", Name, mesh);
|
||||||
|
@ -1139,7 +1145,7 @@ Console.WriteLine("ZProcessTaints for " + Name);
|
||||||
if (prm.m_assetFailed)
|
if (prm.m_assetFailed)
|
||||||
{
|
{
|
||||||
d.GeomSetCategoryBits(prm.prim_geom, 0);
|
d.GeomSetCategoryBits(prm.prim_geom, 0);
|
||||||
d.GeomSetCollideBits(prm.prim_geom, prm.BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prm.prim_geom, prm.BadAssetColideBits());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1193,7 +1199,7 @@ Console.WriteLine("ZProcessTaints for " + Name);
|
||||||
if (m_assetFailed)
|
if (m_assetFailed)
|
||||||
{
|
{
|
||||||
d.GeomSetCategoryBits(prim_geom, 0);
|
d.GeomSetCategoryBits(prim_geom, 0);
|
||||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1395,7 +1401,7 @@ Console.WriteLine("ZProcessTaints for " + Name);
|
||||||
if (m_assetFailed)
|
if (m_assetFailed)
|
||||||
{
|
{
|
||||||
d.GeomSetCategoryBits(prim_geom, 0);
|
d.GeomSetCategoryBits(prim_geom, 0);
|
||||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2139,7 +2145,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_assetFailed)
|
if (m_assetFailed)
|
||||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||||
else
|
else
|
||||||
|
|
||||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||||
|
@ -3367,4 +3373,4 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue