Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
ab4d530462
|
@ -77,5 +77,11 @@ BEGIN;
|
|||
ALTER TABLE estate_settings AUTO_INCREMENT = 100;
|
||||
COMMIT;
|
||||
|
||||
:VERSION 33 #---------------------
|
||||
|
||||
BEGIN;
|
||||
ALTER TABLE estate_settings ADD COLUMN `AllowLandmark` tinyint(4) NOT NULL default '1';
|
||||
ALTER TABLE estate_settings ADD COLUMN `AllowParcelChanges` tinyint(4) NOT NULL default '1';
|
||||
ALTER TABLE estate_settings ADD COLUMN `AllowSetHome` tinyint(4) NOT NULL default '1';
|
||||
COMMIT;
|
||||
|
||||
|
|
|
@ -86,3 +86,12 @@ begin;
|
|||
alter table estate_settings add column DenyMinors tinyint not null default 0;
|
||||
|
||||
commit;
|
||||
|
||||
:VERSION 9
|
||||
|
||||
begin;
|
||||
alter table estate_settings add column AllowLandmark tinyint not null default '1';
|
||||
alter table estate_settings add column AllowParcelChanges tinyint not null default '1';
|
||||
alter table estate_settings add column AllowSetHome tinyint not null default '1';
|
||||
commit;
|
||||
|
||||
|
|
|
@ -58,6 +58,30 @@ namespace OpenSim.Framework
|
|||
set { m_EstateName = value; }
|
||||
}
|
||||
|
||||
private bool m_AllowLandmark = true;
|
||||
|
||||
public bool AllowLandmark
|
||||
{
|
||||
get { return m_AllowLandmark; }
|
||||
set { m_AllowLandmark = value; }
|
||||
}
|
||||
|
||||
private bool m_AllowParcelChanges = true;
|
||||
|
||||
public bool AllowParcelChanges
|
||||
{
|
||||
get { return m_AllowParcelChanges; }
|
||||
set { m_AllowParcelChanges = value; }
|
||||
}
|
||||
|
||||
private bool m_AllowSetHome = true;
|
||||
|
||||
public bool AllowSetHome
|
||||
{
|
||||
get { return m_AllowSetHome; }
|
||||
set { m_AllowSetHome = value; }
|
||||
}
|
||||
|
||||
private uint m_ParentEstateID = 1;
|
||||
|
||||
public uint ParentEstateID
|
||||
|
@ -374,10 +398,18 @@ namespace OpenSim.Framework
|
|||
return l_EstateAccess.Contains(user);
|
||||
}
|
||||
|
||||
public void SetFromFlags(ulong regionFlags)
|
||||
{
|
||||
ResetHomeOnTeleport = ((regionFlags & (ulong)OpenMetaverse.RegionFlags.ResetHomeOnTeleport) == (ulong)OpenMetaverse.RegionFlags.ResetHomeOnTeleport);
|
||||
BlockDwell = ((regionFlags & (ulong)OpenMetaverse.RegionFlags.BlockDwell) == (ulong)OpenMetaverse.RegionFlags.BlockDwell);
|
||||
AllowLandmark = ((regionFlags & (ulong)OpenMetaverse.RegionFlags.AllowLandmark) == (ulong)OpenMetaverse.RegionFlags.AllowLandmark);
|
||||
AllowParcelChanges = ((regionFlags & (ulong)OpenMetaverse.RegionFlags.AllowParcelChanges) == (ulong)OpenMetaverse.RegionFlags.AllowParcelChanges);
|
||||
AllowSetHome = ((regionFlags & (ulong)OpenMetaverse.RegionFlags.AllowSetHome) == (ulong)OpenMetaverse.RegionFlags.AllowSetHome);
|
||||
}
|
||||
|
||||
public bool GroupAccess(UUID groupID)
|
||||
{
|
||||
return l_EstateGroups.Contains(groupID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1245,6 +1245,8 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
|||
flags |= RegionFlags.NoFly;
|
||||
if (Scene.RegionInfo.RegionSettings.RestrictPushing)
|
||||
flags |= RegionFlags.RestrictPushObject;
|
||||
if (Scene.RegionInfo.RegionSettings.AllowLandJoinDivide)
|
||||
flags |= RegionFlags.AllowParcelChanges;
|
||||
if (Scene.RegionInfo.RegionSettings.BlockShowInSearch)
|
||||
flags |= RegionFlags.BlockParcelSearch;
|
||||
|
||||
|
@ -1254,6 +1256,10 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
|||
flags |= RegionFlags.Sandbox;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowVoice)
|
||||
flags |= RegionFlags.AllowVoice;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowLandmark)
|
||||
flags |= RegionFlags.AllowLandmark;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowSetHome)
|
||||
flags |= RegionFlags.AllowSetHome;
|
||||
if (Scene.RegionInfo.EstateSettings.BlockDwell)
|
||||
flags |= RegionFlags.BlockDwell;
|
||||
if (Scene.RegionInfo.EstateSettings.ResetHomeOnTeleport)
|
||||
|
@ -1299,6 +1305,12 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
|||
flags |= RegionFlags.ResetHomeOnTeleport;
|
||||
if (Scene.RegionInfo.EstateSettings.TaxFree)
|
||||
flags |= RegionFlags.TaxFree;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowLandmark)
|
||||
flags |= RegionFlags.AllowLandmark;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowParcelChanges)
|
||||
flags |= RegionFlags.AllowParcelChanges;
|
||||
if (Scene.RegionInfo.EstateSettings.AllowSetHome)
|
||||
flags |= RegionFlags.AllowSetHome;
|
||||
if (Scene.RegionInfo.EstateSettings.DenyMinors)
|
||||
flags |= (RegionFlags)(1 << 30);
|
||||
|
||||
|
|
|
@ -4189,8 +4189,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_log.DebugFormat(
|
||||
"[SCENE]: Incoming child agent update for {0} in {1}", cAgentData.AgentID, RegionInfo.RegionName);
|
||||
|
||||
// XPTO: if this agent is not allowed here as root, always return false
|
||||
|
||||
// TODO: This check should probably be in QueryAccess().
|
||||
ILandObject nearestParcel = GetNearestAllowedParcel(cAgentData.AgentID, Constants.RegionSize / 2, Constants.RegionSize / 2);
|
||||
if (nearestParcel == null)
|
||||
|
|
|
@ -368,9 +368,10 @@ public class BSShapeMesh : BSShape
|
|||
|
||||
// Check to see if mesh was created (might require an asset).
|
||||
newShape = VerifyMeshCreated(physicsScene, newShape, prim);
|
||||
if (!newShape.isNativeShape)
|
||||
if (!newShape.isNativeShape || prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed)
|
||||
{
|
||||
// If a mesh was what was created, remember the built shape for later sharing.
|
||||
// Also note that if meshing failed we put it in the mesh list as there is nothing else to do about the mesh.
|
||||
Meshes.Add(newMeshKey, retMesh);
|
||||
}
|
||||
|
||||
|
@ -481,8 +482,11 @@ public class BSShapeMesh : BSShape
|
|||
}
|
||||
else
|
||||
{
|
||||
// Force the asset condition to 'failed' so we won't try to keep fetching and processing this mesh.
|
||||
prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed;
|
||||
physicsScene.Logger.DebugFormat("{0} All mesh triangles degenerate. Prim {1} at {2} in {3}",
|
||||
LogHeader, prim.PhysObjectName, prim.RawPosition, physicsScene.Name);
|
||||
physicsScene.DetailLog("{0},BSShapeMesh.CreatePhysicalMesh,allDegenerate,key={1}", prim.LocalID, newMeshKey);
|
||||
}
|
||||
}
|
||||
newShape.shapeKey = newMeshKey;
|
||||
|
@ -521,7 +525,7 @@ public class BSShapeHull : BSShape
|
|||
|
||||
// Check to see if hull was created (might require an asset).
|
||||
newShape = VerifyMeshCreated(physicsScene, newShape, prim);
|
||||
if (!newShape.isNativeShape)
|
||||
if (!newShape.isNativeShape || prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed)
|
||||
{
|
||||
// If a mesh was what was created, remember the built shape for later sharing.
|
||||
Hulls.Add(newHullKey, retHull);
|
||||
|
|
Loading…
Reference in New Issue