Commit Graph

84 Commits

Author SHA1 Message Date
Kitto Flora
7cd44c1a81 Fix prim linking bug, Manis #14 2009-12-15 20:04:53 -05:00
KittoFlora
ee9d46c825 Correct AbsolutePosition calculation 2009-12-08 05:49:05 +01:00
KittoFlora
0d1d437bd3 Fix linked physical daughter prim position update. 2009-12-06 21:11:59 +01:00
KittoFlora
cc8246206d Secnond revision of Sit and Stand for unscripted prims; Comment out
spammy debug messages in Interregion....
2009-12-05 09:03:02 +01:00
Melanie
06f41bb017 Merge branch 'master' into careminster 2009-11-26 17:27:03 +00:00
Melanie
9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
CasperW
d114713694 Drop all locking of part.TaskInventory in favour of a ReaderWriterLockSlim lock handler. This gives us:
- Faster prim inventory actions. Multiple threads can read at once.
 - Fixes the known prim inventory thread locks
 - In the event of a thread lock occurring, it will usually self heal after sixty seconds with an error message in the console
2009-11-24 18:02:12 +01:00
Melanie
df121a7cd0 Merge branch 'master' into careminster 2009-11-23 04:24:58 +00:00
Melanie
0844e5951c Merge branch 'master' into careminster 2009-11-21 16:00:18 +00:00
Teravus Ovares (Dan Olivares)
7760da1a4c * Fixes the second of two terse update issues. Physical objects should react normally again. 2009-11-21 04:39:41 -05:00
Teravus Ovares (Dan Olivares)
0ffda7128e * Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent. 2009-11-21 04:33:34 -05:00
KittoFlora
873c9098d8 Merge branch 'careminster' into tests 2009-11-16 01:40:15 +01:00
unknown
28aa8010b2 - Lower TIME_MS_TOLERANCE to 200ms - Allow m_updateFlag to be reset to 0 in the event of a terse update being rejected - Re-add a synchronous SendTo for certain types of packets 2009-11-15 19:40:58 +00:00
John Hurliman
5145dfa53c * Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
2009-11-09 17:13:56 -08:00
John Hurliman
a13e25ebbe Initialize SceneObjectPart.RotationOffset to Quaternion.Identity 2009-11-04 16:19:56 -08:00
John Hurliman
0e8b5c7ffa Fixing race conditions in the SceneObjectPart properties 2009-11-02 11:40:57 -08:00
John Hurliman
67ac9881fa Removing duplicate SceneObjectPart.RotationalVelocity property 2009-11-02 11:28:35 -08:00
John Hurliman
7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman
1c9696a9d2 Always send a time dilation of 1.0 while we debug rubberbanding issues 2009-10-28 15:11:01 -07:00
John Hurliman
b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman
a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman
cdbeb8b83b Track timestamps when terse updates were last sent for a prim or avatar to avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way) 2009-10-28 03:21:53 -07:00
KittoFlora
1113b3b6eb Merge branch 'vehicles' into tests
Conflicts:

	OpenSim/Region/Physics/Manager/PhysicsActor.cs
	OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
2009-10-27 22:42:55 +01:00
John Hurliman
fefe767476 Lowering the position tolerance of terse updates for ScenePresences to mitigate some of the rubberbanding issues while we are sending incorrect time dilation values 2009-10-27 13:16:58 -07:00
John Hurliman
d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
John Hurliman
b6651ce790 * Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene
* Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
2009-10-26 18:22:32 -07:00
KittoFlora
8428b25939 Add llRotLookat pt1. 2009-10-26 00:10:23 +01:00
John Hurliman
730930955a Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff

* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()

* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
John Hurliman
588361e2a2 Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed 2009-10-23 01:02:36 -07:00
Melanie
c4969d47d9 Merge branch 'master' into vehicles 2009-10-22 07:12:10 +01:00
John Hurliman
233e16b99c * Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
John Hurliman
4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
John Hurliman
d44b50ee46 * Removed some of the redundant broadcast functions in Scene and SceneGraph so it is clear who/what the broadcast is going to each time
* Removed two redundant parameters from SceneObjectPart
* Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs)
* Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-15 15:25:02 -07:00
Melanie
0744292b47 Merge branch 'master' into vehicles 2009-10-05 10:17:23 +01:00
dahlia
efebc809ce disable physics actors for flexible prims 2009-10-04 02:54:36 -07:00
Melanie
41ff39414b Merge branch 'master' into vehicles 2009-10-01 14:08:15 +01:00
Jeff Ames
606e831ff5 Formatting cleanup. 2009-10-01 09:38:36 +09:00
Kitto Flora
d43f739cef And another merge issue 2009-09-30 19:05:39 +02:00
Kitto Flora
11750a272e And another 2009-09-30 19:04:06 +02:00
Kitto Flora
6b65eb76d0 Another small change to avoid later merge conflict 2009-09-30 19:01:55 +02:00
Kitto Flora
53fbc970ca Small chaneg to adapt to trunk 2009-09-30 18:58:52 +02:00
opensim
827b0fb199 Commit initial version of KittoFlora's vehicle changes 2009-09-30 18:51:02 +02:00
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Alan M Webb
2a7bedb5e9 This fix addresses the problem where phantom objects do not
always behave like they are phantom, and llVolumeDetect
  seems to operate in a random fashion.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-29 16:55:03 +02:00
Jeff Ames
f00126dc2d Add copyright header. Formatting cleanup. 2009-09-29 08:32:59 +09:00
Alan M Webb
88294d9ebf While running a test case I had written to pursue problems with
llDie() not always completely working, I discovered I was
  getting a lot (60+ over 6000 iterations of the test case)
  null pointer exceptions in various physics related checks in
  SceneObjectPart. It was apparent that the (frequent) checks for
  PhysActor being non-null is an insufficient protection in a
  highly asynchronous environment. The null reference exceptions
  are one example of failure, but it could also happen that a
  sequence started with one instance of a PhysicsActor might
  finish with another?
  Anyway, I have implemented a safer mechanism that should
  stop the errors. I re-ran my test case with the fix in place,
  and completed nearly 1000 iterations without a single occurrence.

  SceneObjectPart is seriously in need of rejigging, if not for
  this reason, then for its ridiculous size.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-17 17:49:13 +02:00
Teravus Ovares (Dan Olivares)
c605509da3 * Lock timers when Calling Start() and Stop() when the Thread Context is murky. This affects Mono only. 2009-09-09 16:20:19 -04:00
Teravus Ovares (Dan Olivares)
44b7c39c93 * Fix the reason why physical vehicles have a problem in virtual regions. 2009-08-29 21:47:28 -04:00
Diva Canto
6808b9109e Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim into inventory-connector 2009-08-16 08:59:58 -07:00
Jeff Ames
9d9fcac038 Misc cleanup. 2009-08-16 17:14:21 +09:00