diff options
Diffstat (limited to 'OpenSim/Region')
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 @@ | |||
1 | CURRENT PRIORITIES | 1 | CURRENT PRIORITIES |
2 | ================================================= | 2 | ================================================= |
3 | Crazyness 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. | ||
7 | Create 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 | ||
11 | Mantis 6040 script http://opensimulator.org/mantis/view.php?id=6040 | ||
12 | Msg Kayaker on OSGrid when working | ||
13 | Teravus llMoveToTarget script debug | ||
14 | Mixing of hover, buoyancy/gravity, moveToTarget, into one force | ||
15 | Surf board debugging | ||
16 | Boats floating at proper level | ||
3 | Nebadon vehicles turning funny in arena | 17 | Nebadon vehicles turning funny in arena |
4 | limitMotorUp calibration (more down?) | 18 | limitMotorUp calibration (more down?) |
19 | llRotLookAt | ||
20 | llLookAt | ||
5 | Vehicle angular vertical attraction | 21 | Vehicle angular vertical attraction |
6 | Vehicle angular deflection | 22 | Vehicle 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 |
169 | Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html | 185 | Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html |
186 | Keep avatar scaling correct. http://pennycow.blogspot.fr/2011/07/matter-of-scale.html | ||
170 | 187 | ||
171 | INTERNAL IMPROVEMENT/CLEANUP | 188 | INTERNAL IMPROVEMENT/CLEANUP |
172 | ================================================= | 189 | ================================================= |