Commit Graph

1613 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
8d72145112 If Bullet is running on its own thread, use a reset event to control timing rather than a sleep.
In theory, there should be no difference between these mechanisms.
However, on at least Mono 3.2.8 waiting via an event appears to be much more accurate.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
23561239ee Make BulletSim thread be ThreadPriority.Highest if running
Will only effect Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 applied
For test purposes
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
c5a0f0ba36 Temporary hack to disable av to av collisions in bulletsim.
Need to do this for a test.  Final implementation will be properly controlled through a property.
2014-11-25 23:18:37 +00:00
Justin Clark-Casey
7a2c77e7ea If calling llStopMoveToTarget() on an in-world prim, don't send an unnecessary object update if the prim was not moving to target.
This involves making PhysicsActor.PIDActive get as well as set.
On physics components that don't implement this (all characters and some phys engines) we return false.
2014-11-19 20:06:56 +00:00
Robert Adams
47ac103df7 Merge branch 'master' into bullet-2.82 2014-09-03 21:21:01 -07:00
Justin Clark-Casey (justincc)
4b04d22899 Don't need to check separate physics status in bulletsim update since that method is only run for an indepndent thread anyway.
Also remove bulletsim monitored thread from watchdog on shutdown.
2014-09-03 23:53:04 +01:00
Justin Clark-Casey (justincc)
6e6512eb4a Make bulletsim thread alarm if no update for 5 seconds.
The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason.
2014-09-03 23:43:59 +01:00
Justin Clark-Casey (justincc)
29400538b7 minor: fix indenting from previous commit b08ab1e 2014-09-03 23:37:20 +01:00
Justin Clark-Casey (justincc)
b08ab1e375 If BulletSim is running on its own threads, start this thread via the thread watchdog.
This allows us to see the presence of the permanent thread via the "show threads" console comand.
Also adds the region name to the thread name.
2014-09-03 23:35:18 +01:00
Robert Adams
674be72225 BulletSim: add new Bullet 2.82 constraint type codes and rename the
BulletSim fixed constraint to not be confused with the native version.
2014-08-21 06:33:04 -07:00
Robert Adams
50ed97aa1a BulletSim: thread safe handling of list of avatars.
Fix for 7284 which is an enumeration exception when starting up a region.
2014-07-30 21:49:57 -07:00
Justin Clark-Casey (justincc)
3654ae8d8c Allow the "debug scene set physics false|true" command to work when bulletsim physics is running in a separate thread.
This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
2014-07-29 01:21:15 +01:00
Robert Adams
9c804466e5 BulletSim: rearrange code for sensing whether shapes have been
constructed.
Add routine to check for failed and use that method rather than
    checking individual state.
2014-07-26 16:03:43 -07:00
Oren Hurvitz
feacae173e Fixed avatar hovering above the ground. The avatar physics capsule was too tall.
This is related to http://opensimulator.org/mantis/view.php?id=7067 .
But that bug complains about BulletSim, and this fix is for ODE.
2014-07-21 09:27:57 +01:00
Vegaslon
738c60459c BulletSim: Modify first and default vehicle vertical attractor to be feature complete with use of the Limit Roll Only Flag.
Signed-off-by: Robert Adams <misterblue@misterblue.com>
2014-07-18 19:07:00 -07:00
Justin Clark-Casey (justincc)
f0853139d5 refactor: slightly adjust some code in ODECharacter.Move() to eliminate a condition check without changing the logic 2014-07-18 18:13:38 +01:00
Justin Clark-Casey (justincc)
cfbfca6447 With ODE physics, fix an issue where the avatar couldn't jump and then move forward when moving south or west.
Addresses http://opensimulator.org/mantis/view.php?id=5003
Thanks to UbitUmarov for this fix.
2014-07-18 18:03:30 +01:00
Robert Adams
1daec26ba0 BulletSim: rearrange code to prevent using null pointers when a
child mesh is not available when building a linkset.
2014-07-17 21:41:39 -07:00
Vegaslon
abf85b7f19 Bulletsim: Create AvatarTerminalVelocity to BulletSim like what ODE and SL has. Before this falling from really high caused the avatar to fall faster then the veiwer can handle and cause camera issues. 2014-06-27 23:34:34 +01:00
Robert Adams
481b7c71c3 BulletSim: add some locking for collision lists to prevent collsions
from locking up when running BulletSim on a separate thread.
2014-06-20 21:42:08 -07:00
Robert Adams
4651cd1f50 BulletSim: stop processing linkset child when it is discovered that the
child doesn't have a physical shape. Another attempt at fixing Mantis 7191.
2014-06-18 23:01:39 -07:00
Robert Adams
f348928590 BulletSim: more tweeks to AliciaRaven's flying mods. Added parameters
AvatarFlyingGroundMargin and AvatarFlyingGroundUpForce set to 5.0 and
2.0 respectively which seems to give about the same action as in SL.
Also moved force addition to before the velocity to force computation
so the upward velocity is properly applied to the avatar mass.
2014-06-18 22:39:28 -07:00
AliciaRaven
db0c41501c Fix previous commit to ignore water height and allow flying underwater (swimming)
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-06-17 23:06:49 -04:00
AliciaRaven
ff892b5bcf Add upward force to flight when close to the ground. Prevents current belly flop to the floor when flying with bullet physics and acts more like ODE and SL flight.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-06-17 21:47:36 -04:00
Justin Clark-Casey (justincc)
5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Robert Adams
3552cfb1a5 BulletSim: fix exceptions while rebuilding linksets with mesh children.
This should get around the exception reported in Mantis 7191 and 7204
by checking for the unbuilt child and rebuilding the linkset the next tick.
A warning message is output when this rebuild happens and this message is
clamped to 10 times in case there is a problem with a loop.
2014-06-08 09:03:38 -07:00
Justin Clark-Casey (justincc)
a755c57b44 Fix issue with BulletSim avatar level flight jitter by commenting out RawVelocity update threshold for now in BSCharacter.UpdateProperties().
For some reason as yet unidentified (feedback?) a threshold above 0.4 here causes the RawVelocity to move between a lower and upper bound rather than remaining constant.
The RawVelocity increased until it triggered the threshold update, at which point it started to decrease until it again triggered the threshhold update.
This delta-v was enough to exceed the checks in ScenePresence.SendTerseUpdateToAllClients() and produce jittery avatar flight because of the fluctuating velocity.
With a threshold of 0.4 (or 0, as with ODE), the RawVelocity remains constant in BulletSim and so avatar flight becomes mostly smooth - remaining occasional glitches appear to be a result of errors in distance extraploation.
There are no obvious problems with commenting out the threshold.
Misterblue, if this is wrong or I've missed some subtlety here, please feel free to revert and/or correct.
The same considerations may or may not apply to object velocity updates.
2014-05-30 22:12:23 +01:00
Robert Adams
fab0389cb1 BulletSim: add locking of PhysObjects while processing simulation
step updates and collisions. This is an attempt to fix a crash reported
by Justin when doing high velocity teleports.
2014-05-26 20:29:45 -07:00
Justin Clark-Casey (justincc)
1b156b7fe8 Add regression test for in-range chat between neighbouring regions from east to west. 2014-05-22 19:18:24 +01:00
Robert Adams
0be9e3b079 BulletSim: adjust avatar step up parameters to better walk up small
staircases. This change is required because of the change in the
avatar default shape from the capsule to the rectangle.
2014-05-17 20:11:22 -07:00
Justin Clark-Casey (justincc)
2dbc18054e Add regression test for NPC movement on a variable region.
Extends basic physics to allow av movement on a varregion (basic physics is only really useful for regression test purposes).
2014-04-29 19:29:16 +01:00
Robert Adams
df89e15290 BulletSim: non-functional changes to debugging statements and formatting. 2014-04-28 18:36:50 -07:00
Robert Adams
63aea3a5f2 BUlletSim: move safeynet ground plane to lower altitude. Define new BulletSim
parameter 'TerrainGroundPlane' which defaults to -500.

BulletSim had assumed altitudes never went negative but that is not true. The
ground plane is just a safety net so things wouldn't fall to infinity.
2014-04-28 11:08:47 -07:00
Oren Hurvitz
998d7009a6 Eliminated many warnings 2014-04-23 16:37:36 +03:00
Robert Adams
c8914d22eb BulletSim: reduce the terrain collison margin to be the same as other
objects in the world.

This was originally changed in an attempt to make vehicles work better
but the effect was not that large and it causes avatars to float
above the terrain.
2014-04-12 17:37:57 -07:00
Robert Adams
562a3cb338 BulletSim: small tweek to avatar height reduce feet embedded into prims.
This adjustment makes a default, shoeless avatar stand properly on a prim
for the various heights (0% to 100% in the appearance adjustment).
2014-04-10 06:53:36 -07:00
Vegaslon
3c5b7d7b79 BulletSim: Minor Fix to vehicle hovering, add more ways to disable it.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-04-03 13:07:48 -04:00
Robert Adams
65c4cb48ac BulletSim: make avatar physical shape to be a rectangle rather than
a capsule. Set the default to be the rectangle shape and adjust the
parameters in OpenSimDefaults.ini for the new shape.

The rectangle shape will perform better and avatar height can be
computed more accurately.
2014-04-02 21:53:58 -07:00
Robert Adams
b0cb0ec02f BulletSim: fix problem where axis constraints were also constraining
linear motion.

The code was limiting linear motion to be only in the positive direction
for any axis that was constrained.
2014-03-23 13:08:31 -07:00
Vegaslon
d4dad75a3c BulletSim: Fix jumping while running. Was unintentional taking way all upward target motion for avatar when running.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-03-22 15:00:48 -04:00
Robert Adams
3a7c8d1f32 BulletSim: the minimum vehicle velocity was set too low so moving slow
was getting zeroed too easily. Added VehicleMinVelocity parameter.
2014-02-11 21:07:55 -08:00
Robert Adams
0842e2e15b BulletSim: default physical terrain implementation to heightmap.
It originally looked like mesh terrain would perform better for vehicles
but, after much use, heightmap is the clear winner.
Force terrain implementation to heightmap if the physics region is
larger than legacy region size. This solves running out of memory for
very large regions.
2014-01-29 06:44:14 -08:00
Robert Adams
1cf17a3cf7 Merge branch 'master' into varregion
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/SceneBase.cs
	OpenSim/Services/Interfaces/IGridService.cs
	OpenSim/Services/LLLoginService/LLLoginResponse.cs
(conflicts were debug statements that are commented out in master branch)
2014-01-11 08:52:23 -08:00
Robert Adams
239b85d7ce Fix crash in BulletSim which sometimes happens making a linkset physical
(like sitting on and activating a vehicle) and crossing borders.
This keeps better bookkeeping on compound shapes so BulletSim can
identify them when being freed.
2014-01-10 22:52:31 -08:00
Robert Adams
2d2bea4aa7 varregion: many more updates removing the constant RegionSize and replacing
with a passed region size. This time in the map code and grid services code.
2013-12-26 22:45:59 -08:00
Robert Adams
6937eec258 Merge branch 'master' into varregion
Add new region crossing code to varregion

Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -08:00
Justin Clark-Casey (justincc)
54cc229768 Fix TestSitAndStandWithNoSitTarget NPC and SP tests.
These stopped working because current code calculates sit heights based on avatar physics rather than appearance data.
Also changed BasicPhysics to not divide Z param of all set sizes by 2 - there's no obvious good reason for this and basicphysics is only used in tests
2013-12-14 00:10:32 +00:00
dahlia
c0380d1bfe apparently mono DeflateStream has no CopyTo method =( 2013-12-06 16:24:44 -08:00
dahlia
1496de7ce9 use System.IO.Compression.DeflateStream for mesh decompression in an attempt to reduce mesh asset decoding failures 2013-12-06 15:58:19 -08:00
Robert Adams
c931b16c1f Merge branch 'master' into varregion 2013-11-04 22:12:57 -08:00