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;
|
||||
|
||||
public bool IsBackedUp
|
||||
{
|
||||
get { return m_isBackedUp; }
|
||||
}
|
||||
|
||||
protected MapAndArray<UUID, SceneObjectPart> m_parts = new MapAndArray<UUID, SceneObjectPart>();
|
||||
|
||||
protected ulong m_regionHandle;
|
||||
|
@ -3450,6 +3455,14 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
bool god = Scene.Permissions.IsGod(AgentID);
|
||||
|
||||
if (field == 1 && god)
|
||||
{
|
||||
ForEachPart(part =>
|
||||
{
|
||||
part.BaseMask = RootPart.BaseMask;
|
||||
});
|
||||
}
|
||||
|
||||
AdjustChildPrimPermissions();
|
||||
|
||||
if (field == 1 && god) // Base mask was set. Update all child part inventories
|
||||
|
@ -4374,6 +4387,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <remarks>
|
||||
/// When the physics engine has finished with it, the sculpt data is discarded to save memory.
|
||||
/// </remarks>
|
||||
/*
|
||||
public void CheckSculptAndLoad()
|
||||
{
|
||||
if (IsDeleted)
|
||||
|
@ -4386,10 +4400,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
SceneObjectPart[] parts = m_parts.GetArray();
|
||||
|
||||
// for (int i = 0; i < parts.Length; i++)
|
||||
// parts[i].CheckSculptAndLoad();
|
||||
for (int i = 0; i < parts.Length; i++)
|
||||
parts[i].CheckSculptAndLoad();
|
||||
}
|
||||
|
||||
*/
|
||||
/// <summary>
|
||||
/// Set the user group to which this scene object belongs.
|
||||
/// </summary>
|
||||
|
|
|
@ -352,10 +352,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
if (m_assetFailed)
|
||||
{
|
||||
d.GeomSetCategoryBits(prim_geom, 0);
|
||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories);
|
||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||
}
|
||||
|
@ -425,7 +426,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
if (m_assetFailed)
|
||||
{
|
||||
d.GeomSetCategoryBits(prim_geom, 0);
|
||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -858,6 +859,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
|
||||
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)
|
||||
{
|
||||
// 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)
|
||||
{
|
||||
d.GeomSetCategoryBits(prm.prim_geom, 0);
|
||||
d.GeomSetCollideBits(prm.prim_geom, prm.BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prm.prim_geom, prm.BadAssetColideBits());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1193,7 +1199,7 @@ Console.WriteLine("ZProcessTaints for " + Name);
|
|||
if (m_assetFailed)
|
||||
{
|
||||
d.GeomSetCategoryBits(prim_geom, 0);
|
||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1395,7 +1401,7 @@ Console.WriteLine("ZProcessTaints for " + Name);
|
|||
if (m_assetFailed)
|
||||
{
|
||||
d.GeomSetCategoryBits(prim_geom, 0);
|
||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2139,7 +2145,7 @@ Console.WriteLine(" JointCreateFixed");
|
|||
}
|
||||
|
||||
if (m_assetFailed)
|
||||
d.GeomSetCollideBits(prim_geom, BadMeshAssetCollideBits);
|
||||
d.GeomSetCollideBits(prim_geom, BadAssetColideBits());
|
||||
else
|
||||
|
||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||
|
|
Loading…
Reference in New Issue