Merge branch 'master' into connector_plugin
commit
276600ab71
|
@ -85,21 +85,6 @@ namespace OpenSim.Data
|
||||||
List<RegionData> GetHyperlinks(UUID scopeID);
|
List<RegionData> GetHyperlinks(UUID scopeID);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Flags]
|
|
||||||
public enum RegionFlags : int
|
|
||||||
{
|
|
||||||
DefaultRegion = 1, // Used for new Rez. Random if multiple defined
|
|
||||||
FallbackRegion = 2, // Regions we redirect to when the destination is down
|
|
||||||
RegionOnline = 4, // Set when a region comes online, unset when it unregisters and DeleteOnUnregister is false
|
|
||||||
NoDirectLogin = 8, // Region unavailable for direct logins (by name)
|
|
||||||
Persistent = 16, // Don't remove on unregister
|
|
||||||
LockedOut = 32, // Don't allow registration
|
|
||||||
NoMove = 64, // Don't allow moving this region
|
|
||||||
Reservation = 128, // This is an inactive reservation
|
|
||||||
Authenticate = 256, // Require authentication
|
|
||||||
Hyperlink = 512 // Record represents a HG link
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RegionDataDistanceCompare : IComparer<RegionData>
|
public class RegionDataDistanceCompare : IComparer<RegionData>
|
||||||
{
|
{
|
||||||
private Vector2 m_origin;
|
private Vector2 m_origin;
|
||||||
|
|
|
@ -37,6 +37,7 @@ using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using RegionFlags = OpenSim.Framework.RegionFlags;
|
||||||
|
|
||||||
namespace OpenSim.Data.MSSQL
|
namespace OpenSim.Data.MSSQL
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,11 +30,11 @@ using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using MySql.Data.MySqlClient;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Data;
|
using OpenSim.Data;
|
||||||
using MySql.Data.MySqlClient;
|
using RegionFlags = OpenSim.Framework.RegionFlags;
|
||||||
|
|
||||||
namespace OpenSim.Data.MySQL
|
namespace OpenSim.Data.MySQL
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,6 +33,7 @@ using OpenSim.Framework;
|
||||||
using OpenSim.Data;
|
using OpenSim.Data;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using RegionFlags = OpenSim.Framework.RegionFlags;
|
||||||
|
|
||||||
namespace OpenSim.Data.Null
|
namespace OpenSim.Data.Null
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace OpenSim.Framework
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Region flags used internally by OpenSimulator to store installation specific information about regions.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Don't confuse with OpenMetaverse.RegionFlags which are client facing flags (i.e. they go over the wire).
|
||||||
|
/// Returned by IGridService.GetRegionFlags()
|
||||||
|
/// </remarks>
|
||||||
|
[Flags]
|
||||||
|
public enum RegionFlags : int
|
||||||
|
{
|
||||||
|
DefaultRegion = 1, // Used for new Rez. Random if multiple defined
|
||||||
|
FallbackRegion = 2, // Regions we redirect to when the destination is down
|
||||||
|
RegionOnline = 4, // Set when a region comes online, unset when it unregisters and DeleteOnUnregister is false
|
||||||
|
NoDirectLogin = 8, // Region unavailable for direct logins (by name)
|
||||||
|
Persistent = 16, // Don't remove on unregister
|
||||||
|
LockedOut = 32, // Don't allow registration
|
||||||
|
NoMove = 64, // Don't allow moving this region
|
||||||
|
Reservation = 128, // This is an inactive reservation
|
||||||
|
Authenticate = 256, // Require authentication
|
||||||
|
Hyperlink = 512 // Record represents a HG link
|
||||||
|
}
|
||||||
|
}
|
|
@ -47,6 +47,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
using Timer = System.Timers.Timer;
|
using Timer = System.Timers.Timer;
|
||||||
using AssetLandmark = OpenSim.Framework.AssetLandmark;
|
using AssetLandmark = OpenSim.Framework.AssetLandmark;
|
||||||
|
using RegionFlags = OpenMetaverse.RegionFlags;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
|
@ -212,7 +212,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, region.RegionID);
|
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, region.RegionID);
|
||||||
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: region {0} flags: {1}", region.RegionID, flags);
|
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: region {0} flags: {1}", region.RegionID, flags);
|
||||||
|
|
||||||
if ((flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0)
|
if ((flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Destination region {0} is hyperlink", region.RegionID);
|
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Destination region {0} is hyperlink", region.RegionID);
|
||||||
GridRegion real_destination = m_GatekeeperConnector.GetHyperlinkRegion(region, region.RegionID);
|
GridRegion real_destination = m_GatekeeperConnector.GetHyperlinkRegion(region, region.RegionID);
|
||||||
|
@ -232,7 +232,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
||||||
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0)
|
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -256,7 +256,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
reason = string.Empty;
|
reason = string.Empty;
|
||||||
logout = false;
|
logout = false;
|
||||||
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
||||||
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0)
|
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||||
{
|
{
|
||||||
// this user is going to another grid
|
// this user is going to another grid
|
||||||
// check if HyperGrid teleport is allowed, based on user level
|
// check if HyperGrid teleport is allowed, based on user level
|
||||||
|
@ -298,7 +298,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// The rest is only needed for controlling appearance
|
// The rest is only needed for controlling appearance
|
||||||
|
|
||||||
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
int flags = Scene.GridService.GetRegionFlags(Scene.RegionInfo.ScopeID, reg.RegionID);
|
||||||
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0)
|
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||||
{
|
{
|
||||||
// this user is going to another grid
|
// this user is going to another grid
|
||||||
if (Scene.UserManagementModule.IsLocalGridUser(sp.UUID))
|
if (Scene.UserManagementModule.IsLocalGridUser(sp.UUID))
|
||||||
|
|
|
@ -39,6 +39,7 @@ using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using RegionFlags = OpenMetaverse.RegionFlags;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.World.Estate
|
namespace OpenSim.Region.CoreModules.World.Estate
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,6 +33,7 @@ using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using RegionFlags = OpenMetaverse.RegionFlags;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.World.Land
|
namespace OpenSim.Region.CoreModules.World.Land
|
||||||
{
|
{
|
||||||
|
|
|
@ -913,7 +913,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public event SceneObjectPartCopyDelegate OnSceneObjectPartCopy;
|
public event SceneObjectPartCopyDelegate OnSceneObjectPartCopy;
|
||||||
public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original, bool userExposed);
|
public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original, bool userExposed);
|
||||||
|
|
||||||
public delegate void SceneObjectPartUpdated(SceneObjectPart sop);
|
public delegate void SceneObjectPartUpdated(SceneObjectPart sop, bool full);
|
||||||
public event SceneObjectPartUpdated OnSceneObjectPartUpdated;
|
public event SceneObjectPartUpdated OnSceneObjectPartUpdated;
|
||||||
|
|
||||||
public delegate void ScenePresenceUpdated(ScenePresence sp);
|
public delegate void ScenePresenceUpdated(ScenePresence sp);
|
||||||
|
@ -2837,7 +2837,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TriggerSceneObjectPartUpdated(SceneObjectPart sop)
|
public void TriggerSceneObjectPartUpdated(SceneObjectPart sop, bool full)
|
||||||
{
|
{
|
||||||
SceneObjectPartUpdated handler = OnSceneObjectPartUpdated;
|
SceneObjectPartUpdated handler = OnSceneObjectPartUpdated;
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
|
@ -2846,7 +2846,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
d(sop);
|
d(sop, full);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2139,7 +2139,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public bool AddRestoredSceneObject(
|
public bool AddRestoredSceneObject(
|
||||||
SceneObjectGroup sceneObject, bool attachToBackup, bool alreadyPersisted, bool sendClientUpdates)
|
SceneObjectGroup sceneObject, bool attachToBackup, bool alreadyPersisted, bool sendClientUpdates)
|
||||||
{
|
{
|
||||||
return m_sceneGraph.AddRestoredSceneObject(sceneObject, attachToBackup, alreadyPersisted, sendClientUpdates);
|
if (m_sceneGraph.AddRestoredSceneObject(sceneObject, attachToBackup, alreadyPersisted, sendClientUpdates))
|
||||||
|
{
|
||||||
|
EventManager.TriggerObjectAddedToScene(sceneObject);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -2465,7 +2465,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// UUID, Name, TimeStampFull);
|
// UUID, Name, TimeStampFull);
|
||||||
|
|
||||||
if (ParentGroup.Scene != null)
|
if (ParentGroup.Scene != null)
|
||||||
ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
|
ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -2499,7 +2499,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ParentGroup.Scene != null)
|
if (ParentGroup.Scene != null)
|
||||||
ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
|
ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ScriptSetPhysicsStatus(bool UsePhysics)
|
public void ScriptSetPhysicsStatus(bool UsePhysics)
|
||||||
|
|
|
@ -100,7 +100,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
private bool m_hackSentFly = false;
|
private bool m_hackSentFly = false;
|
||||||
private int m_requestedUpdateFrequency = 0;
|
private int m_requestedUpdateFrequency = 0;
|
||||||
private Vector3 m_taintPosition;
|
private Vector3 m_taintPosition;
|
||||||
|
internal bool m_avatarplanted = false;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Hold set forces so we can process them outside physics calculations. This prevents race conditions if we set force
|
/// Hold set forces so we can process them outside physics calculations. This prevents race conditions if we set force
|
||||||
/// while calculatios are going on
|
/// while calculatios are going on
|
||||||
|
@ -413,7 +413,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
m_iscollidingObj = value;
|
m_iscollidingObj = value;
|
||||||
if (value)
|
if (value && !m_avatarplanted)
|
||||||
m_pidControllerActive = false;
|
m_pidControllerActive = false;
|
||||||
else
|
else
|
||||||
m_pidControllerActive = true;
|
m_pidControllerActive = true;
|
||||||
|
|
|
@ -501,6 +501,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
public int physics_logging_interval = 0;
|
public int physics_logging_interval = 0;
|
||||||
public bool physics_logging_append_existing_logfile = false;
|
public bool physics_logging_append_existing_logfile = false;
|
||||||
|
|
||||||
|
private bool avplanted = false;
|
||||||
|
private bool av_av_collisions_off = false;
|
||||||
|
|
||||||
public d.Vector3 xyz = new d.Vector3(128.1640f, 128.3079f, 25.7600f);
|
public d.Vector3 xyz = new d.Vector3(128.1640f, 128.3079f, 25.7600f);
|
||||||
public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f);
|
public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f);
|
||||||
|
@ -644,6 +646,9 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
avMovementDivisorWalk = physicsconfig.GetFloat("av_movement_divisor_walk", 1.3f);
|
avMovementDivisorWalk = physicsconfig.GetFloat("av_movement_divisor_walk", 1.3f);
|
||||||
avMovementDivisorRun = physicsconfig.GetFloat("av_movement_divisor_run", 0.8f);
|
avMovementDivisorRun = physicsconfig.GetFloat("av_movement_divisor_run", 0.8f);
|
||||||
avCapRadius = physicsconfig.GetFloat("av_capsule_radius", 0.37f);
|
avCapRadius = physicsconfig.GetFloat("av_capsule_radius", 0.37f);
|
||||||
|
avplanted = physicsconfig.GetBoolean("av_planted", false);
|
||||||
|
av_av_collisions_off = physicsconfig.GetBoolean("av_av_collisions_off", false);
|
||||||
|
|
||||||
IsAvCapsuleTilted = physicsconfig.GetBoolean("av_capsule_tilted", false);
|
IsAvCapsuleTilted = physicsconfig.GetBoolean("av_capsule_tilted", false);
|
||||||
|
|
||||||
contactsPerCollision = physicsconfig.GetInt("contacts_per_collision", 80);
|
contactsPerCollision = physicsconfig.GetInt("contacts_per_collision", 80);
|
||||||
|
@ -664,6 +669,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
||||||
m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", false);
|
m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
||||||
{
|
{
|
||||||
avPIDD = physicsconfig.GetFloat("av_pid_derivative_linux", 2200.0f);
|
avPIDD = physicsconfig.GetFloat("av_pid_derivative_linux", 2200.0f);
|
||||||
|
@ -1309,6 +1316,10 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if ((p1 is OdePrim) && (((OdePrim)p1).m_isVolumeDetect))
|
if ((p1 is OdePrim) && (((OdePrim)p1).m_isVolumeDetect))
|
||||||
skipThisContact = true; // No collision on volume detect prims
|
skipThisContact = true; // No collision on volume detect prims
|
||||||
|
|
||||||
|
if (av_av_collisions_off)
|
||||||
|
if ((p1 is OdeCharacter) && (p2 is OdeCharacter))
|
||||||
|
skipThisContact = true;
|
||||||
|
|
||||||
if (!skipThisContact && (p2 is OdePrim) && (((OdePrim)p2).m_isVolumeDetect))
|
if (!skipThisContact && (p2 is OdePrim) && (((OdePrim)p2).m_isVolumeDetect))
|
||||||
skipThisContact = true; // No collision on volume detect prims
|
skipThisContact = true; // No collision on volume detect prims
|
||||||
|
|
||||||
|
@ -1972,6 +1983,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
newAv.Flying = isFlying;
|
newAv.Flying = isFlying;
|
||||||
newAv.MinimumGroundFlightOffset = minimumGroundFlightOffset;
|
newAv.MinimumGroundFlightOffset = minimumGroundFlightOffset;
|
||||||
|
newAv.m_avatarplanted = avplanted;
|
||||||
|
|
||||||
return newAv;
|
return newAv;
|
||||||
}
|
}
|
||||||
|
@ -1987,6 +1999,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
internal void AddCharacter(OdeCharacter chr)
|
internal void AddCharacter(OdeCharacter chr)
|
||||||
{
|
{
|
||||||
|
chr.m_avatarplanted = avplanted;
|
||||||
if (!_characters.Contains(chr))
|
if (!_characters.Contains(chr))
|
||||||
{
|
{
|
||||||
_characters.Add(chr);
|
_characters.Add(chr);
|
||||||
|
|
|
@ -384,8 +384,8 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
||||||
if (response["Success"].AsBoolean())
|
if (response["Success"].AsBoolean())
|
||||||
{
|
{
|
||||||
OSDMap extraData = response["ExtraData"] as OSDMap;
|
OSDMap extraData = response["ExtraData"] as OSDMap;
|
||||||
int enabled = response["Enabled"].AsBoolean() ? (int) OpenSim.Data.RegionFlags.RegionOnline : 0;
|
int enabled = response["Enabled"].AsBoolean() ? (int)OpenSim.Framework.RegionFlags.RegionOnline : 0;
|
||||||
int hypergrid = extraData["HyperGrid"].AsBoolean() ? (int) OpenSim.Data.RegionFlags.Hyperlink : 0;
|
int hypergrid = extraData["HyperGrid"].AsBoolean() ? (int)OpenSim.Framework.RegionFlags.Hyperlink : 0;
|
||||||
int flags = enabled | hypergrid;
|
int flags = enabled | hypergrid;
|
||||||
m_log.DebugFormat("[SGGC] enabled - {0} hg - {1} flags - {2}", enabled, hypergrid, flags);
|
m_log.DebugFormat("[SGGC] enabled - {0} hg - {1} flags - {2}", enabled, hypergrid, flags);
|
||||||
return flags;
|
return flags;
|
||||||
|
|
|
@ -151,11 +151,11 @@ namespace OpenSim.Services.GridService
|
||||||
//
|
//
|
||||||
// Get it's flags
|
// Get it's flags
|
||||||
//
|
//
|
||||||
OpenSim.Data.RegionFlags rflags = (OpenSim.Data.RegionFlags)Convert.ToInt32(region.Data["flags"]);
|
OpenSim.Framework.RegionFlags rflags = (OpenSim.Framework.RegionFlags)Convert.ToInt32(region.Data["flags"]);
|
||||||
|
|
||||||
// Is this a reservation?
|
// Is this a reservation?
|
||||||
//
|
//
|
||||||
if ((rflags & OpenSim.Data.RegionFlags.Reservation) != 0)
|
if ((rflags & OpenSim.Framework.RegionFlags.Reservation) != 0)
|
||||||
{
|
{
|
||||||
// Regions reserved for the null key cannot be taken.
|
// Regions reserved for the null key cannot be taken.
|
||||||
if ((string)region.Data["PrincipalID"] == UUID.Zero.ToString())
|
if ((string)region.Data["PrincipalID"] == UUID.Zero.ToString())
|
||||||
|
@ -166,10 +166,10 @@ namespace OpenSim.Services.GridService
|
||||||
// NOTE: Fudging the flags value here, so these flags
|
// NOTE: Fudging the flags value here, so these flags
|
||||||
// should not be used elsewhere. Don't optimize
|
// should not be used elsewhere. Don't optimize
|
||||||
// this with the later retrieval of the same flags!
|
// this with the later retrieval of the same flags!
|
||||||
rflags |= OpenSim.Data.RegionFlags.Authenticate;
|
rflags |= OpenSim.Framework.RegionFlags.Authenticate;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((rflags & OpenSim.Data.RegionFlags.Authenticate) != 0)
|
if ((rflags & OpenSim.Framework.RegionFlags.Authenticate) != 0)
|
||||||
{
|
{
|
||||||
// Can we authenticate at all?
|
// Can we authenticate at all?
|
||||||
//
|
//
|
||||||
|
@ -205,10 +205,10 @@ namespace OpenSim.Services.GridService
|
||||||
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
|
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
|
||||||
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
|
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
|
||||||
{
|
{
|
||||||
if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Data.RegionFlags.NoMove) != 0)
|
if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.NoMove) != 0)
|
||||||
return "Can't move this region";
|
return "Can't move this region";
|
||||||
|
|
||||||
if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Data.RegionFlags.LockedOut) != 0)
|
if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.LockedOut) != 0)
|
||||||
return "Region locked out";
|
return "Region locked out";
|
||||||
|
|
||||||
// Region reregistering in other coordinates. Delete the old entry
|
// Region reregistering in other coordinates. Delete the old entry
|
||||||
|
@ -233,7 +233,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
int oldFlags = Convert.ToInt32(region.Data["flags"]);
|
int oldFlags = Convert.ToInt32(region.Data["flags"]);
|
||||||
|
|
||||||
oldFlags &= ~(int)OpenSim.Data.RegionFlags.Reservation;
|
oldFlags &= ~(int)OpenSim.Framework.RegionFlags.Reservation;
|
||||||
|
|
||||||
rdata.Data["flags"] = oldFlags.ToString(); // Preserve flags
|
rdata.Data["flags"] = oldFlags.ToString(); // Preserve flags
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ namespace OpenSim.Services.GridService
|
||||||
}
|
}
|
||||||
|
|
||||||
int flags = Convert.ToInt32(rdata.Data["flags"]);
|
int flags = Convert.ToInt32(rdata.Data["flags"]);
|
||||||
flags |= (int)OpenSim.Data.RegionFlags.RegionOnline;
|
flags |= (int)OpenSim.Framework.RegionFlags.RegionOnline;
|
||||||
rdata.Data["flags"] = flags.ToString();
|
rdata.Data["flags"] = flags.ToString();
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -283,9 +283,9 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
int flags = Convert.ToInt32(region.Data["flags"]);
|
int flags = Convert.ToInt32(region.Data["flags"]);
|
||||||
|
|
||||||
if (!m_DeleteOnUnregister || (flags & (int)OpenSim.Data.RegionFlags.Persistent) != 0)
|
if (!m_DeleteOnUnregister || (flags & (int)OpenSim.Framework.RegionFlags.Persistent) != 0)
|
||||||
{
|
{
|
||||||
flags &= ~(int)OpenSim.Data.RegionFlags.RegionOnline;
|
flags &= ~(int)OpenSim.Framework.RegionFlags.RegionOnline;
|
||||||
region.Data["flags"] = flags.ToString();
|
region.Data["flags"] = flags.ToString();
|
||||||
region.Data["last_seen"] = Util.UnixTimeSinceEpoch();
|
region.Data["last_seen"] = Util.UnixTimeSinceEpoch();
|
||||||
try
|
try
|
||||||
|
@ -320,7 +320,7 @@ namespace OpenSim.Services.GridService
|
||||||
if (rdata.RegionID != regionID)
|
if (rdata.RegionID != regionID)
|
||||||
{
|
{
|
||||||
int flags = Convert.ToInt32(rdata.Data["flags"]);
|
int flags = Convert.ToInt32(rdata.Data["flags"]);
|
||||||
if ((flags & (int)Data.RegionFlags.Hyperlink) == 0) // no hyperlinks as neighbours
|
if ((flags & (int)Framework.RegionFlags.Hyperlink) == 0) // no hyperlinks as neighbours
|
||||||
rinfos.Add(RegionData2RegionInfo(rdata));
|
rinfos.Add(RegionData2RegionInfo(rdata));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -470,7 +470,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
foreach (RegionData r in regions)
|
foreach (RegionData r in regions)
|
||||||
{
|
{
|
||||||
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Data.RegionFlags.RegionOnline) != 0)
|
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.RegionOnline) != 0)
|
||||||
ret.Add(RegionData2RegionInfo(r));
|
ret.Add(RegionData2RegionInfo(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -486,7 +486,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
foreach (RegionData r in regions)
|
foreach (RegionData r in regions)
|
||||||
{
|
{
|
||||||
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Data.RegionFlags.RegionOnline) != 0)
|
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.RegionOnline) != 0)
|
||||||
ret.Add(RegionData2RegionInfo(r));
|
ret.Add(RegionData2RegionInfo(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -502,7 +502,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
foreach (RegionData r in regions)
|
foreach (RegionData r in regions)
|
||||||
{
|
{
|
||||||
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Data.RegionFlags.RegionOnline) != 0)
|
if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.RegionOnline) != 0)
|
||||||
ret.Add(RegionData2RegionInfo(r));
|
ret.Add(RegionData2RegionInfo(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -629,7 +629,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
private void OutputRegionToConsole(RegionData r)
|
private void OutputRegionToConsole(RegionData r)
|
||||||
{
|
{
|
||||||
OpenSim.Data.RegionFlags flags = (OpenSim.Data.RegionFlags)Convert.ToInt32(r.Data["flags"]);
|
OpenSim.Framework.RegionFlags flags = (OpenSim.Framework.RegionFlags)Convert.ToInt32(r.Data["flags"]);
|
||||||
|
|
||||||
ConsoleDisplayList dispList = new ConsoleDisplayList();
|
ConsoleDisplayList dispList = new ConsoleDisplayList();
|
||||||
dispList.AddRow("Region Name", r.RegionName);
|
dispList.AddRow("Region Name", r.RegionName);
|
||||||
|
@ -659,7 +659,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
foreach (RegionData r in regions)
|
foreach (RegionData r in regions)
|
||||||
{
|
{
|
||||||
OpenSim.Data.RegionFlags flags = (OpenSim.Data.RegionFlags)Convert.ToInt32(r.Data["flags"]);
|
OpenSim.Framework.RegionFlags flags = (OpenSim.Framework.RegionFlags)Convert.ToInt32(r.Data["flags"]);
|
||||||
dispTable.AddRow(
|
dispTable.AddRow(
|
||||||
r.RegionName,
|
r.RegionName,
|
||||||
r.RegionID.ToString(),
|
r.RegionID.ToString(),
|
||||||
|
@ -673,7 +673,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
private int ParseFlags(int prev, string flags)
|
private int ParseFlags(int prev, string flags)
|
||||||
{
|
{
|
||||||
OpenSim.Data.RegionFlags f = (OpenSim.Data.RegionFlags)prev;
|
OpenSim.Framework.RegionFlags f = (OpenSim.Framework.RegionFlags)prev;
|
||||||
|
|
||||||
string[] parts = flags.Split(new char[] {',', ' '}, StringSplitOptions.RemoveEmptyEntries);
|
string[] parts = flags.Split(new char[] {',', ' '}, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
|
||||||
|
@ -685,18 +685,18 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
if (p.StartsWith("+"))
|
if (p.StartsWith("+"))
|
||||||
{
|
{
|
||||||
val = (int)Enum.Parse(typeof(OpenSim.Data.RegionFlags), p.Substring(1));
|
val = (int)Enum.Parse(typeof(OpenSim.Framework.RegionFlags), p.Substring(1));
|
||||||
f |= (OpenSim.Data.RegionFlags)val;
|
f |= (OpenSim.Framework.RegionFlags)val;
|
||||||
}
|
}
|
||||||
else if (p.StartsWith("-"))
|
else if (p.StartsWith("-"))
|
||||||
{
|
{
|
||||||
val = (int)Enum.Parse(typeof(OpenSim.Data.RegionFlags), p.Substring(1));
|
val = (int)Enum.Parse(typeof(OpenSim.Framework.RegionFlags), p.Substring(1));
|
||||||
f &= ~(OpenSim.Data.RegionFlags)val;
|
f &= ~(OpenSim.Framework.RegionFlags)val;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
val = (int)Enum.Parse(typeof(OpenSim.Data.RegionFlags), p);
|
val = (int)Enum.Parse(typeof(OpenSim.Framework.RegionFlags), p);
|
||||||
f |= (OpenSim.Data.RegionFlags)val;
|
f |= (OpenSim.Framework.RegionFlags)val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
@ -728,7 +728,7 @@ namespace OpenSim.Services.GridService
|
||||||
int flags = Convert.ToInt32(r.Data["flags"]);
|
int flags = Convert.ToInt32(r.Data["flags"]);
|
||||||
flags = ParseFlags(flags, cmd[4]);
|
flags = ParseFlags(flags, cmd[4]);
|
||||||
r.Data["flags"] = flags.ToString();
|
r.Data["flags"] = flags.ToString();
|
||||||
OpenSim.Data.RegionFlags f = (OpenSim.Data.RegionFlags)flags;
|
OpenSim.Framework.RegionFlags f = (OpenSim.Framework.RegionFlags)flags;
|
||||||
|
|
||||||
MainConsole.Instance.Output(String.Format("Set region {0} to {1}", r.RegionName, f));
|
MainConsole.Instance.Output(String.Format("Set region {0} to {1}", r.RegionName, f));
|
||||||
m_Database.Store(r);
|
m_Database.Store(r);
|
||||||
|
|
|
@ -390,8 +390,8 @@ namespace OpenSim.Services.GridService
|
||||||
List<RegionData> regions = m_Database.Get(mapName, m_ScopeID);
|
List<RegionData> regions = m_Database.Get(mapName, m_ScopeID);
|
||||||
if (regions != null && regions.Count > 0)
|
if (regions != null && regions.Count > 0)
|
||||||
{
|
{
|
||||||
OpenSim.Data.RegionFlags rflags = (OpenSim.Data.RegionFlags)Convert.ToInt32(regions[0].Data["flags"]);
|
OpenSim.Framework.RegionFlags rflags = (OpenSim.Framework.RegionFlags)Convert.ToInt32(regions[0].Data["flags"]);
|
||||||
if ((rflags & OpenSim.Data.RegionFlags.Hyperlink) != 0)
|
if ((rflags & OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||||
{
|
{
|
||||||
regInfo = new GridRegion();
|
regInfo = new GridRegion();
|
||||||
regInfo.RegionID = regions[0].RegionID;
|
regInfo.RegionID = regions[0].RegionID;
|
||||||
|
@ -460,7 +460,7 @@ namespace OpenSim.Services.GridService
|
||||||
private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle)
|
private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle)
|
||||||
{
|
{
|
||||||
RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo);
|
RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo);
|
||||||
int flags = (int)OpenSim.Data.RegionFlags.Hyperlink + (int)OpenSim.Data.RegionFlags.NoDirectLogin + (int)OpenSim.Data.RegionFlags.RegionOnline;
|
int flags = (int)OpenSim.Framework.RegionFlags.Hyperlink + (int)OpenSim.Framework.RegionFlags.NoDirectLogin + (int)OpenSim.Framework.RegionFlags.RegionOnline;
|
||||||
rdata.Data["flags"] = flags.ToString();
|
rdata.Data["flags"] = flags.ToString();
|
||||||
|
|
||||||
m_Database.Store(rdata);
|
m_Database.Store(rdata);
|
||||||
|
|
|
@ -100,6 +100,19 @@ namespace OpenSim.Services.Interfaces
|
||||||
List<GridRegion> GetFallbackRegions(UUID scopeID, int x, int y);
|
List<GridRegion> GetFallbackRegions(UUID scopeID, int x, int y);
|
||||||
List<GridRegion> GetHyperlinks(UUID scopeID);
|
List<GridRegion> GetHyperlinks(UUID scopeID);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get internal OpenSimulator region flags.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// See OpenSimulator.Framework.RegionFlags. These are not returned in the GridRegion structure -
|
||||||
|
/// they currently need to be requested separately. Possibly this should change to avoid multiple service calls
|
||||||
|
/// in some situations.
|
||||||
|
/// </remarks>
|
||||||
|
/// <returns>
|
||||||
|
/// The region flags.
|
||||||
|
/// </returns>
|
||||||
|
/// <param name='scopeID'></param>
|
||||||
|
/// <param name='regionID'></param>
|
||||||
int GetRegionFlags(UUID scopeID, UUID regionID);
|
int GetRegionFlags(UUID scopeID, UUID regionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -844,6 +844,15 @@
|
||||||
; When the avatar flies, it will be moved up by this amount off the ground (in meters)
|
; When the avatar flies, it will be moved up by this amount off the ground (in meters)
|
||||||
minimum_ground_flight_offset = 3.0
|
minimum_ground_flight_offset = 3.0
|
||||||
|
|
||||||
|
; Plant avatar. This reduces the effect of physical contacts with the avatar.
|
||||||
|
; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
|
||||||
|
; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
|
||||||
|
; will lock the avatar in place
|
||||||
|
av_planted = false
|
||||||
|
|
||||||
|
; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
|
||||||
|
av_av_collisions_off = false
|
||||||
|
|
||||||
; ##
|
; ##
|
||||||
; ## Object options
|
; ## Object options
|
||||||
; ##
|
; ##
|
||||||
|
|
Loading…
Reference in New Issue