Commit Graph

205 Commits

Author SHA1 Message Date
Teravus Ovares
abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Justin Clarke Casey
a4304fb9e6 * Fix Mantis 761 (linking and delinking prims rapidly caused prims to 'disappear')
* Root cause was that if two updates occurred in the same second of time, the second one was never sent
* Linking/delinking appears to be okay now
2008-03-13 00:22:38 +00:00
Adam Frisby
14b37533aa * Removed more compiler warnings, dead code, etc. 2008-03-05 21:47:19 +00:00
Sean Dague
4ea52b2105 Change SceneObjectPart.LocalID to .LocalId to be case matching
with SceneObjectGroup.LocalId (and hence reduce confusion).
2008-03-05 18:57:13 +00:00
Johan Berntsson
279e0061c5 Merged 3Di code that provides scene and avatar serialization, and plugin support for region move/split/merge. See ThirdParty/3Di/README.txt. Unless the new modules are used there should be no noticeable changes when running OpenSim. 2008-03-04 05:31:54 +00:00
Charles Krinke
7794fc3766 Change handler001 through handler009 to more
appropriate names consisten with their use.
All done with all 94 handlers from handler001
through handler094. Hopefully we can move 
forward without numbered handlers.
2008-03-02 22:28:48 +00:00
Teravus Ovares
1afe38b319 * Added a way for the friends module to definitively know if an avatar's root agent is on the instance and if so, which region the avatar's root agent is in. 2008-02-28 05:20:23 +00:00
Teravus Ovares
41c369de82 * OnSignificantClientMovement was never being called. So we got no land updates (fixed) 2008-02-28 04:18:50 +00:00
Teravus Ovares
582964800c * Moved all events except gridcomms and regioncomms over to Event Delegate instances to prevent event race conditions 2008-02-22 19:44:46 +00:00
Jeff Ames
a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Teravus Ovares
b77c48e75e * Cleanup of some memory consuming items on ScenePresence.Close().
* Untangled a tangly shutdown loop for the ScenePresence.
* Suggested to the Garbage Collector that this may be a good time to >.>, <.< *gasp* collect the memory.
2008-02-20 01:17:21 +00:00
Teravus Ovares
056f3dca2c * Probably fixed the corner freeze bug. On uninitialized avatar, ODEPlugin was trying to set the height of avatar to 127m, which you can imagine is a bit /wrong\ 2008-02-18 20:39:16 +00:00
Teravus Ovares
81a00dd68f * Thanks to Ahzz, more verbose error messages on the console and possibly a fix to the b*stard Sakai issue. 2008-02-18 07:22:10 +00:00
Teravus Ovares
8edaada1d3 ODE: Tired of floating above the ground after crossing a border? Boy have I got a solution for you! For a limited time, you can be the right height after border crossings automatically. Just three easy payments of $9.95 and make sure your neighbor is sending child agent updates! 2008-02-18 01:52:25 +00:00
Teravus Ovares
19e0ada93a * Located and destroyed the weird velocity and rotation transfers. It turned out to be that the Static PhysicsVector.Zero was transferring velocities between all non fixed objects. Not so static after all :(. Finding it was cruel and unusual punishment from the CLR.
* Therefore, when you run through a pile of prim you won't see things rotate when they're not supposed to anymore.
* Avatars don't float off either.
2008-02-17 10:41:08 +00:00
Adam Frisby
f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Teravus Ovares
d773ca5147 * Made physical prim stable enough for the general population to turn on. (though I still don't recommend it for welcome regions unless object build is off.
* Updated the ode.dll for windows with a more reasonable stack space reserve.  Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode.
* Added internal collision score and am keeping track of 'high usage' prim.
* Tweaked collisions some more
* Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim).  After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however..  non physics things still work, such as logging on to the simulator, etc.
2008-02-13 07:50:15 +00:00
Teravus Ovares
6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Teravus Ovares
e6453d9b9d * Changed child_get_tasks to see_into_this_sim_from_neighbor.
* Turned on see_into_this_sim_from_neighbor by default.
* Fix Race Condition with parts being added to a group while the simulator is starting up.
2008-02-11 05:19:54 +00:00
Justin Clarke Casey
a50a8376d6 * In the most basic situations, ClientView and ScenePresence no longer leak memory
* However, I'm no longer sure they were even a big contributory factor (to this particular leak, there are other causes of other leaks).  I need better measurement techniques
* Removed most of my debugging gawp
2008-02-09 01:37:53 +00:00
Justin Clarke Casey
f05f583613 Still chasing logout memory leak. Putting in small changes and temporary light verbosity to this end 2008-02-08 22:39:08 +00:00
Teravus Ovares
1ff4711cfb * Fix: Send Parcel data on region crossing. 2008-02-08 03:20:11 +00:00
Teravus Ovares
3674257095 * This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement
* Terse Updates and other temporary data packets are marked unreliable
* After a certain amount of users, the sim actually sends updates on things less
* Experimental
* Tested to 68 avatar with pCampBot  (And it's surprising what actually causes the most lag..  the text chat!)
2008-02-07 08:15:38 +00:00
Justin Clarke Casey
548bbc97e5 * Chasing down memory leak where memory used by a client is not returned on client logout
* This code may or may not be on the right track, but I want to save my work so far.
2008-02-06 20:34:18 +00:00
Jeff Ames
3b42b5f098 Consolidated LoadAnims and AvatarAnimations constructor.
Fixes locking issues with Animations in ScenePresence (bug #324)
2008-02-06 10:19:30 +00:00
Jeff Ames
6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Teravus Ovares
b0c6baaeb0 * Adding the PhysicsCamperBot load testing app to the SVN in it's own folder. You'll have to build it separately to take advantage of it. *read the Readme file*. The bots created by this application roam around amusingly to simulate load.
* Be smart, Don't use this on a public grid, lest you get banned permanently.
2008-02-03 04:13:46 +00:00
Teravus Ovares
5e36feada2 * Mostly ODE update. Things are a bit more behaved then the last experimental update. 2008-01-28 03:25:02 +00:00
Teravus Ovares
f96d6ea2cd Implemented a suggestion from Mic Bowman regarding border crossing and SignificantClientMovement. 2008-01-25 18:12:08 +00:00
Brian McBee
90b35beee7 Another try at fixing the Animations problem on region crossing. 2008-01-24 02:36:01 +00:00
Teravus Ovares
5cf96daaf2 * Enabled dead region tracking for ChildAgentDataUpdates
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region
* Enabled Child_Get_Tasks in grid mode.   
* When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim.   This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance.   This means that with this enabled, you can see prim in other regions in grid mode.   Very experimental.
2008-01-22 08:52:51 +00:00
Brian McBee
288c4f4a44 Attempt to catch animation fubar on region crossing that causes client hang. Mantis 319. 2008-01-21 22:13:08 +00:00
Teravus Ovares
ecd6c1110a * ODE Physics update. fixed weird rotation of the avatar surrogate.
* Set the avatar's radius to 0.37m, I think this gives the *best* balance between spaces the avatar can fit, and the ability to climb steps
* Fixed a few things
* Tweaked some more
* Played with gravity (-9.8m/s)
2008-01-18 02:26:43 +00:00
Teravus Ovares
feba36aaf3 * Fixed standing up so that you're at the new position of the prim if you move the prim and then stand up!
* Enter llSetPos elevators and conveyors n' stuff.!
2008-01-16 22:53:49 +00:00
Teravus Ovares
5dd741267e * Added Agent Time, Pending Downloads, and made Agent Updates/Sec actually accurate.
* We're only missing, the script related sim stats counters and the Images time counter and the Pending Uploads counter.  The rest of them are actually implemented now.
2008-01-16 05:48:40 +00:00
Teravus Ovares
0518369e3a *removed a goofy debug line left in 2008-01-12 04:32:27 +00:00
Teravus Ovares
a3972257c8 * Added some of the finer control points to POS such as
** jumping
** crouching
** landing on prim
2008-01-12 04:29:36 +00:00
Teravus Ovares
f0b149dfc1 * Fixed situation where sometimes your avatar tries to land and gets 'put' 80 meters into the air immediately. 2008-01-04 04:09:18 +00:00
Teravus Ovares
3a83be1721 * Did a bit of estate work. Added some fields to EstateSettings.xml for estate managers.
* You can put UUIDs in those fields to give other users some ability to help manage a sim you own.
* Also started decoding the EstateOwnerMessage packet convolutions.
2008-01-02 10:06:43 +00:00
lbsa71
efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Teravus Ovares
87d55443d3 * Added slightly better object sit handling
* Added sit handling for sit targets
* Implemented llSitTarget()
* Implemented llAvatarOnSitTarget()
* Sit targets do not persist sim restart.
2007-12-27 03:25:00 +00:00
Teravus Ovares
9f2fb5ba70 * Play the 'landing' animation when landing and minimize the collision protection offset so the animations match up. 2007-12-26 22:26:45 +00:00
Teravus Ovares
f852b64555 * This update includes a wide range of changes to the ODEPlugin for avatar movement, including:
** - avatar can navigate stairs better now
** - avatar can land without shooting into the air
** - excessive collisions with the ground are tempered somewhat and should only shoot the avatar up 20m instead of 200m
** - Try Catched a TextureDownloadModule.cs array out of bounds error with a report that causes it not to crash the sim, however it reports a few important items for tracking it down.
2007-12-26 17:16:47 +00:00
Teravus Ovares
98f4a568ad * Removed a debug message I left in there
* Added a few more comments.
2007-12-26 01:06:18 +00:00
Teravus Ovares
e008c3e4a9 * Added the ability to land automatically on prim by pressing the page down button when over them and colliding
* Reverted the avatar portion of the inter-penetration physics scene explosion management, it needs more work.
2007-12-26 00:57:37 +00:00
mingchen
0e6915ae48 *Ban lines now work if they are enabled grid wide.
*Restricted lines just give you a friendly warning for now
2007-12-20 16:50:16 +00:00
Jeff Ames
be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
mingchen
8d84156551 *Added event called after any movement is handled (OnClientMovement) - will be used for parcel banning goodness 2007-12-20 03:24:34 +00:00
mingchen
a596b7696a *Made a much more network friendly method of ban and pass line sending
*Added an event that is triggered when an agent enters a new parcel
2007-12-20 02:36:27 +00:00
Jeff Ames
6702b03733 Misc. cleanup:
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
2007-12-19 08:44:25 +00:00