aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs5
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs4
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs42
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt17
4 files changed, 51 insertions, 17 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
index a5fec87..2e900b3 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
@@ -855,7 +855,10 @@ public sealed class BSCharacter : BSPhysObject
855 _rotationalVelocity = entprop.RotationalVelocity; 855 _rotationalVelocity = entprop.RotationalVelocity;
856 856
857 // Do some sanity checking for the avatar. Make sure it's above ground and inbounds. 857 // Do some sanity checking for the avatar. Make sure it's above ground and inbounds.
858 PositionSanityCheck(true); 858 if (PositionSanityCheck(true))
859 {
860 entprop.Position = _position;
861 }
859 862
860 // remember the current and last set values 863 // remember the current and last set values
861 LastEntityProperties = CurrentEntityProperties; 864 LastEntityProperties = CurrentEntityProperties;
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
index 2dc89b5..eff909c 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
@@ -108,8 +108,8 @@ public sealed class BSLinksetCompound : BSLinkset
108 // Schedule a refresh to happen after all the other taint processing. 108 // Schedule a refresh to happen after all the other taint processing.
109 private void ScheduleRebuild(BSPhysObject requestor) 109 private void ScheduleRebuild(BSPhysObject requestor)
110 { 110 {
111 DetailLog("{0},BSLinksetCompound.ScheduleRebuild,,rebuilding={1},hasChildren={2}", 111 DetailLog("{0},BSLinksetCompound.ScheduleRebuild,,rebuilding={1},hasChildren={2},actuallyScheduling={3}",
112 requestor.LocalID, Rebuilding, HasAnyChildren); 112 requestor.LocalID, Rebuilding, HasAnyChildren, (!Rebuilding && HasAnyChildren));
113 // When rebuilding, it is possible to set properties that would normally require a rebuild. 113 // When rebuilding, it is possible to set properties that would normally require a rebuild.
114 // If already rebuilding, don't request another rebuild. 114 // If already rebuilding, don't request another rebuild.
115 // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding. 115 // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding.
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
index addab29..4f0d345 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
@@ -513,6 +513,7 @@ public sealed class BSShapeCollection : IDisposable
513 return ret; 513 return ret;
514 } 514 }
515 515
516 // return 'true' if the shape was changed
516 public bool CreateGeomMeshOrHull(BSPhysObject prim, ShapeDestructionCallback shapeCallback) 517 public bool CreateGeomMeshOrHull(BSPhysObject prim, ShapeDestructionCallback shapeCallback)
517 { 518 {
518 519
@@ -872,8 +873,7 @@ public sealed class BSShapeCollection : IDisposable
872 { 873 {
873 prim.LastAssetBuildFailed = true; 874 prim.LastAssetBuildFailed = true;
874 BSPhysObject xprim = prim; 875 BSPhysObject xprim = prim;
875 DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset,lID={1},lastFailed={2}", 876 DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset,lastFailed={1}", prim.LocalID, prim.LastAssetBuildFailed);
876 LogHeader, prim.LocalID, prim.LastAssetBuildFailed);
877 Util.FireAndForget(delegate 877 Util.FireAndForget(delegate
878 { 878 {
879 RequestAssetDelegate assetProvider = PhysicsScene.RequestAssetMethod; 879 RequestAssetDelegate assetProvider = PhysicsScene.RequestAssetMethod;
@@ -882,19 +882,34 @@ public sealed class BSShapeCollection : IDisposable
882 BSPhysObject yprim = xprim; // probably not necessary, but, just in case. 882 BSPhysObject yprim = xprim; // probably not necessary, but, just in case.
883 assetProvider(yprim.BaseShape.SculptTexture, delegate(AssetBase asset) 883 assetProvider(yprim.BaseShape.SculptTexture, delegate(AssetBase asset)
884 { 884 {
885 if (!yprim.BaseShape.SculptEntry) 885 bool assetFound = false; // DEBUG DEBUG
886 return; 886 string mismatchIDs = String.Empty; // DEBUG DEBUG
887 if (yprim.BaseShape.SculptTexture.ToString() != asset.ID) 887 if (yprim.BaseShape.SculptEntry)
888 return; 888 {
889 889 if (yprim.BaseShape.SculptTexture.ToString() == asset.ID)
890 yprim.BaseShape.SculptData = asset.Data; 890 {
891 // This will cause the prim to see that the filler shape is not the right 891 yprim.BaseShape.SculptData = asset.Data;
892 // one and try again to build the object. 892 // This will cause the prim to see that the filler shape is not the right
893 // No race condition with the normal shape setting since the rebuild is at taint time. 893 // one and try again to build the object.
894 yprim.ForceBodyShapeRebuild(false); 894 // No race condition with the normal shape setting since the rebuild is at taint time.
895 yprim.ForceBodyShapeRebuild(false /* inTaintTime */);
896 assetFound = true;
897 }
898 else
899 {
900 mismatchIDs = yprim.BaseShape.SculptTexture.ToString() + "/" + asset.ID;
901 }
902 }
903 DetailLog("{0},BSShapeCollection,fetchAssetCallback,found={1},isSculpt={2},ids={3}",
904 yprim.LocalID, assetFound, yprim.BaseShape.SculptEntry, mismatchIDs );
895 905
896 }); 906 });
897 } 907 }
908 else
909 {
910 PhysicsScene.Logger.ErrorFormat("{0} Physical object requires asset but no asset provider. Name={1}",
911 LogHeader, PhysicsScene.Name);
912 }
898 }); 913 });
899 } 914 }
900 else 915 else
@@ -907,8 +922,7 @@ public sealed class BSShapeCollection : IDisposable
907 } 922 }
908 923
909 // While we figure out the real problem, stick in a simple box for the object. 924 // While we figure out the real problem, stick in a simple box for the object.
910 BulletShape fillinShape = 925 BulletShape fillinShape = BuildPhysicalNativeShape(prim, BSPhysicsShapeType.SHAPE_BOX, FixedShapeKey.KEY_BOX);
911 BuildPhysicalNativeShape(prim, BSPhysicsShapeType.SHAPE_BOX, FixedShapeKey.KEY_BOX);
912 926
913 return fillinShape; 927 return fillinShape;
914 } 928 }
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
index 59cbab9..067e64a 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
+++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt
@@ -1,7 +1,23 @@
1CURRENT PRIORITIES 1CURRENT PRIORITIES
2================================================= 2=================================================
3Crazyness during 20130115 office hours was PositionAdjustUnderground for both char and prim
4 m1:logs/20130115.0934/physics-BulletSim-20130115083613.log
5 Creation of Neb's terrain made the terrain "disappear". Everything started to fall
6 and then get restored to be above terrain.
7Create tests for different interface components
8 Have test objects/scripts measure themselves and turn color if correct/bad
9 Test functions in SL and calibrate correctness there
10 Create auto rezzer and tracker to run through the tests
11Mantis 6040 script http://opensimulator.org/mantis/view.php?id=6040
12 Msg Kayaker on OSGrid when working
13Teravus llMoveToTarget script debug
14 Mixing of hover, buoyancy/gravity, moveToTarget, into one force
15Surf board debugging
16Boats floating at proper level
3Nebadon vehicles turning funny in arena 17Nebadon vehicles turning funny in arena
4limitMotorUp calibration (more down?) 18limitMotorUp calibration (more down?)
19llRotLookAt
20llLookAt
5Vehicle angular vertical attraction 21Vehicle angular vertical attraction
6Vehicle angular deflection 22Vehicle angular deflection
7 Preferred orientation angular correction fix 23 Preferred orientation angular correction fix
@@ -167,6 +183,7 @@ Enforce physical parameter min/max:
167 Restitution [0, 1] 183 Restitution [0, 1]
168 http://wiki.secondlife.com/wiki/Physics_Material_Settings_test 184 http://wiki.secondlife.com/wiki/Physics_Material_Settings_test
169Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html 185Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html
186Keep avatar scaling correct. http://pennycow.blogspot.fr/2011/07/matter-of-scale.html
170 187
171INTERNAL IMPROVEMENT/CLEANUP 188INTERNAL IMPROVEMENT/CLEANUP
172================================================= 189=================================================