Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
785671e242
|
@ -100,7 +100,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
private bool m_hackSentFly = false;
|
||||
private int m_requestedUpdateFrequency = 0;
|
||||
private Vector3 m_taintPosition;
|
||||
|
||||
internal bool m_avatarplanted = false;
|
||||
/// <summary>
|
||||
/// Hold set forces so we can process them outside physics calculations. This prevents race conditions if we set force
|
||||
/// while calculatios are going on
|
||||
|
@ -413,7 +413,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
set
|
||||
{
|
||||
m_iscollidingObj = value;
|
||||
if (value)
|
||||
if (value && !m_avatarplanted)
|
||||
m_pidControllerActive = false;
|
||||
else
|
||||
m_pidControllerActive = true;
|
||||
|
|
|
@ -501,6 +501,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
public int physics_logging_interval = 0;
|
||||
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 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);
|
||||
avMovementDivisorRun = physicsconfig.GetFloat("av_movement_divisor_run", 0.8f);
|
||||
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);
|
||||
|
||||
contactsPerCollision = physicsconfig.GetInt("contacts_per_collision", 80);
|
||||
|
@ -664,6 +669,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
MeshSculptphysicalLOD = physicsconfig.GetFloat("mesh_physical_lod", 16f);
|
||||
m_filterCollisions = physicsconfig.GetBoolean("filter_collisions", false);
|
||||
|
||||
|
||||
|
||||
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
||||
{
|
||||
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))
|
||||
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))
|
||||
skipThisContact = true; // No collision on volume detect prims
|
||||
|
||||
|
@ -1972,6 +1983,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
|
||||
newAv.Flying = isFlying;
|
||||
newAv.MinimumGroundFlightOffset = minimumGroundFlightOffset;
|
||||
newAv.m_avatarplanted = avplanted;
|
||||
|
||||
return newAv;
|
||||
}
|
||||
|
@ -1987,6 +1999,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
|
||||
internal void AddCharacter(OdeCharacter chr)
|
||||
{
|
||||
chr.m_avatarplanted = avplanted;
|
||||
if (!_characters.Contains(chr))
|
||||
{
|
||||
_characters.Add(chr);
|
||||
|
|
|
@ -844,6 +844,15 @@
|
|||
; When the avatar flies, it will be moved up by this amount off the ground (in meters)
|
||||
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
|
||||
; ##
|
||||
|
|
Loading…
Reference in New Issue