mirror of
https://github.com/OpenSim-NGC/OpenSim-Sasquatch.git
synced 2024-11-21 06:26:09 -07:00
Merge remote-tracking branch 'upstream/master' into feature/dotnet6
This commit is contained in:
commit
253700ca33
10 changed files with 29 additions and 96 deletions
|
@ -2645,7 +2645,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
// false to be applied as a impulse
|
||||
pa.AddForce(impulse, false);
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2659,7 +2658,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
// false to be applied as a impulse
|
||||
pa.AddAngularForce(impulse, false);
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3287,7 +3285,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (linkPart.PhysActor is not null && m_rootPart.PhysActor is not null && m_rootPart.PhysActor.IsPhysical)
|
||||
{
|
||||
linkPart.PhysActor.link(m_rootPart.PhysActor);
|
||||
this.Scene.PhysicsScene.AddPhysicsActorTaint(linkPart.PhysActor);
|
||||
}
|
||||
|
||||
linkPart.LinkNum = linkNum++;
|
||||
|
@ -3316,7 +3313,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (part.PhysActor is not null && m_rootPart.PhysActor is not null && m_rootPart.PhysActor.IsPhysical)
|
||||
{
|
||||
part.PhysActor.link(m_rootPart.PhysActor);
|
||||
this.Scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor);
|
||||
}
|
||||
}
|
||||
part.ClearUndoState();
|
||||
|
@ -3704,7 +3700,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
Vector3 grabforce = pos - AbsolutePosition;
|
||||
grabforce *= pa.Mass * 0.1f;
|
||||
pa.AddForce(grabforce, false);
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3826,7 +3821,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
else
|
||||
spinforce = spinforce * pa.Mass * -0.1f; // 0.1 is an arbitrary torque scaling
|
||||
pa.AddAngularForce(spinforce,true);
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -4057,15 +4051,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock, uint localID)
|
||||
{
|
||||
SceneObjectPart part = GetPart(localID);
|
||||
if (part is not null)
|
||||
{
|
||||
part.UpdateShape(shapeBlock);
|
||||
|
||||
PhysicsActor pa = m_rootPart.PhysActor;
|
||||
|
||||
if (pa is not null)
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
part?.UpdateShape(shapeBlock);
|
||||
InvalidBoundsRadius();
|
||||
}
|
||||
|
||||
|
@ -4529,7 +4515,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (actor is not null)
|
||||
{
|
||||
actor.Orientation = m_rootPart.RotationOffset;
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
}
|
||||
|
||||
if (IsAttachment)
|
||||
|
@ -4616,7 +4601,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (pa is not null)
|
||||
{
|
||||
pa.Orientation = m_rootPart.RotationOffset;
|
||||
m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
|
||||
SceneObjectPart[] parts = m_parts.GetArray();
|
||||
|
|
|
@ -806,10 +806,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
actor.Position = GetWorldPosition();
|
||||
actor.Orientation = GetWorldRotation();
|
||||
}
|
||||
|
||||
// Tell the physics engines that this prim changed.
|
||||
if (ParentGroup != null && ParentGroup.Scene != null && ParentGroup.Scene.PhysicsScene != null)
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -842,10 +838,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
actor.Position = GetWorldPosition();
|
||||
actor.Orientation = GetWorldRotation();
|
||||
|
||||
// Tell the physics engines that this prim changed.
|
||||
if (ParentGroup.Scene != null && ParentGroup.Scene.PhysicsScene != null)
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
}
|
||||
|
||||
if (!m_parentGroup.m_dupeInProgress)
|
||||
|
@ -928,10 +920,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
actor.Orientation = resultingrotation;
|
||||
//m_log.Info("[PART]: RO2:" + actor.Orientation.ToString());
|
||||
}
|
||||
|
||||
if (ParentGroup != null && ParentGroup.Scene != null && ParentGroup.Scene.PhysicsScene != null)
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
//}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -966,14 +954,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_velocity = value;
|
||||
|
||||
PhysicsActor actor = PhysActor;
|
||||
if (actor != null)
|
||||
{
|
||||
if (actor.IsPhysical)
|
||||
{
|
||||
if (actor is not null && actor.IsPhysical)
|
||||
actor.Velocity = m_velocity;
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1120,21 +1102,20 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return m_shape.Scale; }
|
||||
set
|
||||
{
|
||||
if (m_shape != null)
|
||||
if (m_shape is not null)
|
||||
{
|
||||
Vector3 oldscale = m_shape.Scale;
|
||||
m_shape.Scale = value;
|
||||
if (ParentGroup != null && ((value - oldscale).LengthSquared() >1.0f))
|
||||
if (ParentGroup is not null && ((value - oldscale).LengthSquared() >1.0f))
|
||||
ParentGroup.InvalidBoundsRadius();
|
||||
PhysicsActor actor = PhysActor;
|
||||
if (actor != null)
|
||||
if (actor is not null)
|
||||
{
|
||||
if (ParentGroup.Scene != null)
|
||||
if (ParentGroup.Scene is not null)
|
||||
{
|
||||
if (ParentGroup.Scene.PhysicsScene != null)
|
||||
{
|
||||
actor.Size = m_shape.Scale;
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2319,8 +2300,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
else
|
||||
pa.SetVolumeDetect(0);
|
||||
}
|
||||
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3964,11 +3943,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
public void SetPhysicsAxisRotation()
|
||||
{
|
||||
PhysicsActor pa = PhysActor;
|
||||
|
||||
if (pa != null)
|
||||
if (pa is not null)
|
||||
{
|
||||
pa.LockAngularMotion(RotationAxisLocks);
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4870,11 +4847,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
// if (Shape.SculptEntry)
|
||||
// CheckSculptAndLoad();
|
||||
// else
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
|
||||
if (!building)
|
||||
pa.Building = false;
|
||||
}
|
||||
|
@ -4952,12 +4924,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_shape.PathTwistBegin = shapeBlock.PathTwistBegin;
|
||||
|
||||
PhysicsActor pa = PhysActor;
|
||||
|
||||
if (pa != null)
|
||||
{
|
||||
if (pa is not null)
|
||||
pa.Shape = m_shape;
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(pa);
|
||||
}
|
||||
|
||||
// This is what makes vehicle trailers work
|
||||
// A script in a child prim re-issues
|
||||
|
@ -5013,7 +4981,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (updatePossiblyNeeded && PhysActor != null)
|
||||
{
|
||||
PhysActor.Shape = m_shape;
|
||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor);
|
||||
}
|
||||
if (updatePossiblyNeeded)
|
||||
{
|
||||
|
|
|
@ -151,10 +151,6 @@ namespace OpenSim.Region.PhysicsModule.BasicPhysics
|
|||
_actors.Remove(act);
|
||||
}
|
||||
|
||||
public override void AddPhysicsActorTaint(PhysicsActor prim)
|
||||
{
|
||||
}
|
||||
|
||||
public override float Simulate(float timeStep)
|
||||
{
|
||||
// Console.WriteLine("Simulating");
|
||||
|
|
|
@ -621,11 +621,6 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
|||
return prim;
|
||||
}
|
||||
|
||||
// This is a call from the simulator saying that some physical property has been updated.
|
||||
// The BulletSim driver senses the changing of relevant properties so this taint
|
||||
// information call is not needed.
|
||||
public override void AddPhysicsActorTaint(PhysicsActor prim) { }
|
||||
|
||||
#endregion // Prim and Avatar addition and removal
|
||||
|
||||
#region Simulation
|
||||
|
|
|
@ -182,10 +182,6 @@ namespace OpenSim.Region.PhysicsModule.POS
|
|||
return false;
|
||||
}
|
||||
|
||||
public override void AddPhysicsActorTaint(PhysicsActor prim)
|
||||
{
|
||||
}
|
||||
|
||||
public override float Simulate(float timeStep)
|
||||
{
|
||||
float fps = 0;
|
||||
|
|
|
@ -74,10 +74,6 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
|
|||
return PhysicsActor.Null;
|
||||
}
|
||||
|
||||
public override void AddPhysicsActorTaint(PhysicsActor prim)
|
||||
{
|
||||
}
|
||||
|
||||
public override float Simulate(float timeStep)
|
||||
{
|
||||
m_workIndicator = (m_workIndicator + 1) % 10;
|
||||
|
|
|
@ -220,7 +220,8 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
|
|||
get { return 1.0f; }
|
||||
}
|
||||
|
||||
public abstract void AddPhysicsActorTaint(PhysicsActor prim);
|
||||
//legacy for any modules that may still call it
|
||||
public virtual void AddPhysicsActorTaint(PhysicsActor prim) { }
|
||||
|
||||
public virtual void ProcessPreSimulation() { }
|
||||
|
||||
|
|
|
@ -857,7 +857,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
Collision_accounting_events(p1, p2, ref maxDepthContact);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void CharPrimNearCallback(IntPtr space, IntPtr g1, IntPtr g2)
|
||||
{
|
||||
// no lock here! It's invoked from within Simulate(), which is thread-locked
|
||||
|
@ -965,12 +965,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
{
|
||||
ref UBOdeNative.ContactGeom curctc = ref m_contacts[i];
|
||||
useAltcontact = false;
|
||||
|
||||
|
||||
if ((((OdeCharacter)p1).Collide(g2, false, ref curctc, ref altWorkContact, ref useAltcontact, ref FeetCollision)))
|
||||
{
|
||||
if(p2.rootVelocity.LengthSquared() > 0.0f)
|
||||
p2.CollidingObj = true;
|
||||
|
||||
|
||||
Joint = useAltcontact ?
|
||||
CreateContacJoint(ref altWorkContact, false) :
|
||||
CreateContacJoint(ref curctc, false);
|
||||
|
@ -1144,13 +1144,13 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
OdeCharacter chr2 = charsSpan[j];
|
||||
if (chr2.Colliderfilter < -1)
|
||||
continue;
|
||||
|
||||
|
||||
if(Mx < chr2._AABB2D.minx ||
|
||||
mx > chr2._AABB2D.maxx ||
|
||||
My < chr2._AABB2D.miny ||
|
||||
my > chr2._AABB2D.maxy)
|
||||
continue;
|
||||
|
||||
|
||||
CollideCharChar(chr, chr2);
|
||||
}
|
||||
}
|
||||
|
@ -1549,16 +1549,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
ChangesQueue.Enqueue(item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called after our prim properties are set Scale, position etc.
|
||||
/// We use this event queue like method to keep changes to the physical scene occuring in the threadlocked mutex
|
||||
/// This assures us that we have no race conditions
|
||||
/// </summary>
|
||||
/// <param name="prim"></param>
|
||||
public override void AddPhysicsActorTaint(PhysicsActor prim)
|
||||
{
|
||||
}
|
||||
|
||||
// does all pending changes generated during region load process
|
||||
public override void ProcessPreSimulation()
|
||||
{
|
||||
|
@ -1791,18 +1781,18 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
}
|
||||
*/
|
||||
//tmpTime = Util.GetTimeStampMS();
|
||||
lock (_activegroups)
|
||||
lock (_activegroups)
|
||||
{
|
||||
{
|
||||
foreach (OdePrim actor in _activegroups)
|
||||
{
|
||||
foreach (OdePrim actor in _activegroups)
|
||||
if (actor.IsPhysical)
|
||||
{
|
||||
if (actor.IsPhysical)
|
||||
{
|
||||
actor.UpdatePositionAndVelocity(framecount);
|
||||
}
|
||||
actor.UpdatePositionAndVelocity(framecount);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//updatesTime += Util.GetTimeStampMS() - tmpTime;
|
||||
}
|
||||
|
|
|
@ -656,6 +656,10 @@
|
|||
; a RSS page for grid status
|
||||
;GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/GridStatusRSS
|
||||
|
||||
; optional web page for profiles
|
||||
;[AGENT_NAME] will be converted to Firstname.LastName by viewers
|
||||
; web_profile_url = http://webprofilesurl:ItsPort?name=[AGENT_NAME]
|
||||
|
||||
[GatekeeperService]
|
||||
LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
|
||||
;; for the service
|
||||
|
|
|
@ -572,6 +572,10 @@
|
|||
; a RSS page for grid status
|
||||
;GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/GridStatusRSS
|
||||
|
||||
; optional web page for profiles
|
||||
;[AGENT_NAME] will be converted to Firstname.LastName by viewers
|
||||
; web_profile_url = http://webprofilesurl:ItsPort?name=[AGENT_NAME]
|
||||
|
||||
[Messaging]
|
||||
; OfflineIM
|
||||
OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
|
||||
|
|
Loading…
Reference in a new issue