Commit Graph

206 Commits (85c0c0557e317b252bcbdf98439a9ec33db17d0c)

Author SHA1 Message Date
Jeff Ames 6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Teravus Ovares 08ec34e4d3 * Removed ODELock message since it wasn't telling us anything important and people seemed to think it was the cause of their issues rather then a message to help locate a situation where physics stalls for a second and then kicks.
* This was simply a message added when an avatar was added/removed from the scene.
2008-05-08 16:07:41 +00:00
Adam Frisby ba8ff761c0 * Reduced sleep durations in a number of files. 2008-05-08 04:47:38 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Teravus Ovares 1d9c68969e * ODE Tweak. See if this helps. 2008-05-01 00:54:21 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares 9fec575b3e * Made it safe again to use the restart button from the estate tools and the restart console command.
* It looks ugly on the console..   but it's really safe..  and restores some memory.
2008-04-10 10:27:03 +00:00
Teravus Ovares b85624db18 * Adds twist support for Cubes, Cylinders, and Prisms in the Meshmerizer
* A tweak of the SimStatsReporter so it would report the prim capacity to be 45000.
2008-04-10 00:31:44 +00:00
Teravus Ovares d0f7784101 * Adds poor support for ellipsis in the Meshmerizer. This will get better.. notice the huge nasty facets! Regular spheres still work as they did. 2008-04-08 01:29:45 +00:00
Teravus Ovares 899f00b83d * Fixed up some documentation
* Should help the sinking feeling when new avatar arrive in the scene.
2008-04-06 06:42:54 +00:00
Teravus Ovares b790a16e98 * Updating the version of the ODE library. (big update). The Mac library needs to be updated still.
* Adding some XMPP stuff that's incomplete.
2008-04-02 01:03:31 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Charles Krinke 21e5e65bb7 Comment out "m_randomizeWater" and "ms" until we use them later. 2008-03-21 16:52:55 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Teravus Ovares abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Teravus Ovares 8bea3dbdb9 * Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.
* Added WaterLevel support to the ODEPlugin.   More on this later.
2008-03-10 05:23:43 +00:00
Teravus Ovares 8bba8e232c * Fixed a few things and enabling Physical Prim border crossings again.
* Everyone try to push a physical prim across a region border now.
2008-03-09 20:29:59 +00:00
Teravus Ovares 7cae577094 ODE Plugin
* More cleanup
* Less noise
2008-03-09 17:50:24 +00:00
Teravus Ovares 5b6eba968b * Fixed the Link + Duplicate + Unlink both = 'ODE Invalid Argument in Collision Space Crash'
* Added: Console comment: [PHYSICS]: The scene reused a disposed PhysActor! *waves finger*, Don't be evil.
2008-03-09 16:32:44 +00:00
Teravus Ovares 081b2ac34e * Cleaned up some locking on the ODEPlugin to make it more developer friendly
* Expect the occasional deadlock?
2008-03-09 15:43:01 +00:00
Adam Frisby 810d2126ea * Three more warnings are a-gone. 2008-03-05 21:56:14 +00:00
Teravus Ovares d015356902 * Applied patch 708 from devalnor. Thanks devalnor!
* ODE: Added support for larger box stacks. (they're slow, but they work)
* ODEPlugin no longer tries to 'catch up' with the simulator frame rate if it gets behind.  Catching up was causing a lot of problems with larger box stacks and other things that stall the simulator (like saving prim in the datastore)
2008-03-03 16:52:25 +00:00
Teravus Ovares 27508c1ad8 * Added Support within the ODEPlugin for Selected. Which means that;
* When you select a physical prim, it stops while you've got it selected.
* When you move or alter a prim in some manner, it doesn't become collidable until you de-select it
* When you select a prim, it doesn't become temporarily 'phantom' until you make some change to it while it's selected. (this prevents accidental selections in prim floor from causing it to go phantom on you(but don't move it or you'll fall))
* There's one major difference, and that's a physical object won't stop if you don't have permission to edit it.  This prevents people who don't have edit permissions on a prim from stopping it while it's moving.
2008-02-23 11:42:55 +00:00
Teravus Ovares 640ad259d4 * A few additional null checks in the Physics Scene and PhysicsActor so we don't try to enumerate dead null ODECharacter objects when things get *really* slow. 2008-02-21 14:51:39 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Teravus Ovares e789a6bc9b * This patch adds Prism support to the Meshmerizer. Prism is one of the object types in the drop down on the object tab. Positive tapers are slightly incorrect(prim sinks into ground a tiny bit). Everything else that's supported works as expected. Hollow, cut, negative tapers, top shear. 2008-02-19 08:49:38 +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 f80a534eb0 * Various ODE Cleanups 2008-02-17 20:04:28 +00:00
Teravus Ovares e33a0c5fc0 * Fixed the Ghost physical hull on deleting a physical Prim
* Fixed a deadlock when there is an exception in the collision and stepping parts of Simulate.
2008-02-17 11:50:15 +00:00
Teravus Ovares be6edefcfb * ODE Stability update 4 :D
* Changed the way meshing requests get sent to the ODEPlugin
* Numerous other fixes
2008-02-15 21:35:52 +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 135a72d6ca * Removed the noise from the console. The last commit seems to have resolved the recent reports of 'argument not a space' on linux. Though, there were about 50 changes :D 2008-02-14 10:07:15 +00:00
Teravus Ovares bd880f9178 * Another ODE Stability update. This might fix the recent Linux issues with the ODEPlugin. 2008-02-14 09:31:22 +00:00
Teravus Ovares e3a711536b * ODE - This fixes a few things and breaks a few more. 2008-02-14 01:57:19 +00:00
Jeff Ames 4e005fc225 Cleaned up some typos. 2008-02-14 00:44:21 +00:00
Teravus Ovares 0d14c47c28 * Bigisn ODE Stability update 2 2008-02-14 00:39:08 +00:00
Teravus Ovares 3588d89b2c * Bigish ODE stability Update. Run Prebuild 2008-02-13 23:14:41 +00:00
Teravus Ovares 2e89c01851 * This fixes mantis 553 (It appears that the exception is thrown when there is a collision with a cylinder that is both hollowed and either tapered or cut. The sequence of actions that reproduce the problem for me are: create a cylinder, hollow to 95%, taper X/Y, then collide it with another object or avatar. Note that the cylinder itself is not marked physical. ) 2008-02-13 19:06:35 +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 c926962862 * This resolves the null exceptions when a script is manipulating a physical object in ODE and you delete the object. The script is still running and trying to add force, but the object reference is null. 2008-02-12 00:01:55 +00:00
Teravus Ovares f603e57e9a * Added PhysicsScene.Dispose()
* In ODE, disposing of all of the ODE objects and the ODE World to reclaim memory when the simulator restarts.
2008-02-11 22:54:51 +00:00
Teravus Ovares c9b5516ca8 * Adds Top Shear support to the Meshmerizer for the Cube prim and the Cylinder prim. 2008-02-09 05:18:52 +00:00
Teravus Ovares bb5b88d161 * Fixed a situation in ODE where it didn't call the mesher on a cube when you tapered if you didn't have a cut or a hollow. 2008-02-08 23:48:27 +00:00
Teravus Ovares 50acb8e634 * This update adds limited support for Cylinder meshed prim in the Meshmerizer plugin. (Limited because path cut is wrongly offset and while Hollowing works, you can walk through the inside wall.) 2008-02-08 11:32:56 +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 96f6add4ad * ODE:Fix copy and paste bug in space calculation limits 2008-02-01 14:05:22 +00:00
MW 5099be8072 Temporary try catch around calculateSpaceForGeom() , to see if it gets past mantis issue #435 (for now) 2008-02-01 13:10:40 +00:00
Teravus Ovares bec71977ab * Added more supported feature to particlesystems. While this appears to have a libsl update... it's really a fix to the libsl version we're already using because of a bug in the particlesystem implementation
* Added two new simstat counters in the simstat enum for the RCCS.  (I'll find something cool to put in them)
* fixed a time waster in ODEPlugin.cs
2008-02-01 04:22:20 +00:00
Teravus Ovares 9722b6ad53 Updating ODE.NET as the version I used possibly caused the slowness. 2008-01-30 08:58:44 +00:00
Teravus Ovares 02d672de36 * See if this helps Nebadon. 2008-01-30 08:30:22 +00:00
Teravus Ovares cb05b76b83 * This update restores *nix support
* This stability optimization is disabled on Apple Computers until the .dylib library is updated.
2008-01-30 07:46:48 +00:00
Teravus Ovares fc9b3ec5a8 * Experimental ODE Update to make ODE more stable
* WARNING: This update will break *nix support. Will be restored in the next revision
2008-01-30 07:09:58 +00:00
Teravus Ovares 035d807847 * ODE Going to Time Step 0.020 = (1000\20) - ((1000\20) * .09) = ~45 pfps 2008-01-28 04:31:40 +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 205001ab8d * Highly experimental ODE_STEPSIZE = 0.025f - 1000 / 25 = 40fps - 10 substeps with fallback to 5 substeps when things get slow
* Just to give you an idea of the difference ..    previous ODE_STEPSIZE was 0.005f - 1000/5 = 200fps - 10 substeps with fallback to 5 substeps when things get slow
* *nix avatar may fall over again, *sorry*
2008-01-27 03:18:10 +00:00
Teravus Ovares 4f9c7288cd * Announcing the alternative prim early adoption program.. Adding regular spheres to the physical prim mix.
* Be advised..   these are not ellipsoids..  these are spheres.
2008-01-19 22:51:16 +00:00
Teravus Ovares dc5ab8b6c3 * Friction reduction update.
* It's a known fact that the greater the friction the more computationally intensive a physics simulation with it is....
2008-01-18 02:32:34 +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 30714c044e * HeightField handling update in ODE. Should improve the terrain pits. So far, only windows lib updated. Need to do the Linux version.
* Update also checked into opensim-libs
2008-01-13 22:11:49 +00:00
Teravus Ovares 4f39df42ae * Removed a debug message that I left in there.... 2008-01-13 08:07:45 +00:00
Teravus Ovares d9e4533202 * Fixed an overflow in the land manager
* Did some goofy math undoing in the Sim Stats Reporter
* More reduction to the amount of calls per second to UnManaged ODE code
* Added a significant amount of comments to ODE
2008-01-13 07:14:54 +00:00
Teravus Ovares 7e81841f0e *ech one thing didn't save from the last commit 2008-01-12 04:14:06 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
Teravus Ovares 776e83941a * Fixed Physical prim, various issues, viewer freezes, sim crashes, ODE errors, etc. 2007-12-27 23:19:00 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +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 2259bc8ebf * Added a -val heightfield value limiter so giant pits of death don't cause avatar to go into an endless plunge to the middle of the earth. 2007-12-26 01:53:08 +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
Teravus Ovares de32006f9a * Added smoother handling of interpenetrating physical objects.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
2007-12-22 05:43:34 +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
Teravus Ovares 81828c9b14 * Added an Avatar control tweak that disables the PID controller in certain circumstances.
* This allows collisions with other avatar and prim with a velocity greater then 0 to push avatar around.
2007-12-15 05:08:08 +00:00
Teravus Ovares 081f4403ea * Added some simstats to fill the simulator pane of the Statistics monitor.
* I stress, this is an initial implementation and the Agents(Child and Root) are definately obviously incorrect.
2007-12-12 06:58:55 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
Teravus Ovares 4f05347246 * Split out the ODEPlugin Nested classes. 2007-12-04 02:51:09 +00:00
Teravus Ovares 5061808afc * Now using interpolation to expand the 256x256 heightfield data to 512x512 before it's passed to ODE. 2007-12-03 19:21:26 +00:00
Teravus Ovares 0ec208a200 * Resize terrain heightmap info going to ODE to double the resolution.
* Using the nearest neighbor method, interpolation coming soon.
2007-12-03 13:11:15 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Teravus Ovares 79e9d4faf9 Tweaked for a possibility of 10 elements. 2007-11-19 16:12:53 +00:00
Teravus Ovares 4eb4082e27 * Added noisy debug information on the Verbose console to help debugging oddly placed prim. 2007-11-19 15:59:05 +00:00
Teravus Ovares 4afe393ce4 * Space allocation fix for prim outside region. >256 & <0. 2007-11-19 15:37:50 +00:00
Teravus Ovares 2910f1b949 Fixed - outside of bounds error. 2007-11-19 12:28:00 +00:00
Teravus Ovares aaab1448f7 * Split space array structure into a two dimentional array instead of a single one. Once again. Should help debugging space/copy issues. 2007-11-19 04:15:18 +00:00
Teravus Ovares 72525d3015 Added medium debug information to Verbose mode of the console about Prim/space movements. Should help make sense of the copy prim bug. Use for Pastebin. :D 2007-11-19 03:06:17 +00:00
Teravus Ovares 694bab9513 * Copy/SpaceBorder Fix attempt number 3, hopefully the last 2007-11-18 20:45:47 +00:00
Teravus Ovares 3bb4cd51fd * 2nd attempt to fix the Spaceborder/copy bug 2007-11-18 20:24:51 +00:00
Teravus Ovares 7672237bcd * Tentative Bug fix for OptikSL's intermittant Copy prim error. 2007-11-18 17:25:12 +00:00
Teravus Ovares 54df1a57d7 * Fix Null comparison for Mono 2007-11-17 21:00:35 +00:00
Teravus Ovares 8a57dd207f * Fixed space related SimCrasher ODE error when a prim disables itself because it's out of bounds and user moves it back into the space. 2007-11-17 20:34:56 +00:00
dan miller d71b28c731 Out of a fog of alcohol and adenovirus, I present - POS!
EXTREMELY basic collision detection; walk on prims
don't rotate anything
do not feed or annoy POS
YMMV
2007-11-17 09:59:07 +00:00
Teravus Ovares df507605cd * ODEPlugin Thinned the avatar out to average SL thin-ness. There's more work to be done on this, however, avatar will have a lot less difficulty getting into tight spaces/prim cuts 2007-11-17 05:16:36 +00:00
Teravus Ovares 3041747bcd * ODEPlugin - fixed issue where resizing prim causes the prim's collision box to no longer be matching the client's view of where it should be. 2007-11-17 03:48:13 +00:00
Teravus Ovares 5fd2fa687e * Resolved the situation where prim is loaded from storage and when pushed never stops. 2007-11-16 22:13:13 +00:00
Teravus Ovares b2243079ea * Trying a space/collision optimization technique in ODE. Let me know if you see a difference. 2007-11-16 18:30:25 +00:00
Teravus Ovares b63076c303 * ODE step two on the way to separate dynamic space allocation ( One more to go ) 2007-11-16 08:53:37 +00:00
Teravus Ovares 91b0c44563 * ODE - Started the refactoring process to allow breaking up the scene into smaller spaces
* ODE - No new visible speed improvements yet.  From the coding side, the beginnings of dynamic space calculation..
2007-11-15 18:37:20 +00:00