Compare commits

...

7 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
2c54659ca8 Revert "Committing the same fix here for the infinity problem on TPs."
This reverts commit f5343e4b07.

This is because a returning viewer by teleport before 15 seconds are up will be disrupted by the close and so is a significant behaviour change
Development along the longer delay lines will continue in dev code
2013-07-26 01:44:48 +01:00
Diva Canto
f5343e4b07 Committing the same fix here for the infinity problem on TPs. 2013-07-24 16:44:12 -07:00
Robert Adams
764f6dd5e9 BulletSim: remove unused reference to BulletXNA in prebuild.xml. 2013-07-08 12:39:02 -07:00
Robert Adams
5444b3b1a5 BulletSim: fix problem with walking up stairs that are oriented
in certain directions. The problem was really that the avatar capsule
orientation was being set incorrectly.
2013-05-22 16:14:05 -07:00
Robert Adams
cfbb4f52e4 Eliminate race condition where SimStatsReporter starts reporting
stats before the region is completely initialized.
2013-05-14 18:45:27 -07:00
Vegaslon
00d125dada BulletSim: Fix for mantis 6487, also minor adjustment to fix flying while you are running.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
2013-05-14 18:45:17 -07:00
Robert Adams
5b3e7156a3 BulletSim: add a lock to try and catch a native shape creation/destruction
race condition.
2013-05-14 18:45:06 -07:00
4 changed files with 22 additions and 5 deletions

View File

@@ -289,6 +289,9 @@ namespace OpenSim.Region.Framework.Scenes
private void statsHeartBeat(object sender, EventArgs e)
{
if (!m_scene.Active)
return;
SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[22];
SimStatsPacket.RegionBlock rb = new SimStatsPacket.RegionBlock();

View File

@@ -419,7 +419,7 @@ public sealed class BSCharacter : BSPhysObject
DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value);
m_targetVelocity = value;
OMV.Vector3 targetVel = value;
if (_setAlwaysRun)
if (_setAlwaysRun && !_flying)
targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 0f);
if (m_moveActor != null)
@@ -481,7 +481,17 @@ public sealed class BSCharacter : BSPhysObject
_orientation = value;
PhysScene.TaintedObject("BSCharacter.setOrientation", delegate()
{
ForceOrientation = _orientation;
// Bullet assumes we know what we are doing when forcing orientation
// so it lets us go against all the rules and just compensates for them later.
// This forces rotation to be only around the Z axis and doesn't change any of the other axis.
// This keeps us from flipping the capsule over which the veiwer does not understand.
float oRoll, oPitch, oYaw;
_orientation.GetEulerAngles(out oRoll, out oPitch, out oYaw);
OMV.Quaternion trimmedOrientation = OMV.Quaternion.CreateFromEulers(0f, 0f, oYaw);
// DetailLog("{0},BSCharacter.setOrientation,taint,val={1},valDir={2},conv={3},convDir={4}",
// LocalID, _orientation, OMV.Vector3.UnitX * _orientation,
// trimmedOrientation, OMV.Vector3.UnitX * trimmedOrientation);
ForceOrientation = trimmedOrientation;
});
}
}

View File

@@ -283,8 +283,13 @@ public class BSShapeNative : BSShape
public override BSShape GetReference(BSScene pPhysicsScene, BSPhysObject pPrim)
{
// Native shapes are not shared so we return a new shape.
return new BSShapeNative(CreatePhysicalNativeShape(pPhysicsScene, pPrim,
physShapeInfo.shapeType, (FixedShapeKey)physShapeInfo.shapeKey) );
BSShape ret = null;
lock (physShapeInfo)
{
ret = new BSShapeNative(CreatePhysicalNativeShape(pPhysicsScene, pPrim,
physShapeInfo.shapeType, (FixedShapeKey)physShapeInfo.shapeKey));
}
return ret;
}
// Make this reference to the physical shape go away since native shapes are not shared.

View File

@@ -1747,7 +1747,6 @@
<Reference name="OpenSim.Framework.Console"/>
<Reference name="OpenSim.Region.Physics.Manager"/>
<Reference name="OpenSim.Region.Physics.ConvexDecompositionDotNet"/>
<Reference name="BulletXNA.dll" path="../../../../bin/"/>
<Reference name="log4net.dll" path="../../../../bin/"/>
<Files>