Commit Graph

495 Commits

Author SHA1 Message Date
diva
3d5a9e6748 This started as way to correct Mantis #3158, which I believe should be fixed now. The flying status was temporarily being ignored, which caused the avie to drop sometimes -- there was a race condition. In the process it also fixes that annoying bug in basic physics where the avie would drop half-way to the ground upon region crossings (SetAppearance was missing). Additionally, a lot of child-agent-related code has been cleaned up; namely child agents are now consistently not added to physical scenes, and they also don't have appearances. All of that happens in MakeRoot, consistently. 2009-02-15 05:00:58 +00:00
Dahlia Trimble
7731c055e4 Set sculpt map alpha to 255 prior to scaling and meshing. Addresses Mantis #3150 2009-02-15 04:00:00 +00:00
Jeff Ames
95d53d48d4 Add copyright headers. Minor formatting cleanup. Fix some compiler warnings. Fix some m_log declarations. 2009-02-13 02:06:28 +00:00
Dahlia Trimble
d21601d497 Thanks Kitto Flora for a patch that adds automatic min fly height to ODE - Mantis #3134 2009-02-12 07:58:10 +00:00
Teravus Ovares
c0c330988f * Some minor cleanup
* sealed OdeScene
2009-02-08 17:41:15 +00:00
Teravus Ovares
26ca3e26bf Reverts patch from tuco/mikkopa/sempuki mantis #3072 2009-02-08 17:25:02 +00:00
Teravus Ovares
b60931b686 * Limit the total number of joints created per frame to the maximum possible without causing a stack collision.
* This fixes crashing on large sets of physical prims because of stack collisions (assuming you follow the directions on linux for starting ode with ulimit).   After the maximum joints are created, objects will start to fall through the ground and be disabled.   Not the best solution, but it's better then a crash caused by a stack collision with the process exceeding the maximum available memory/recursions per thread.
* Make a clean region, make a stack of 5000 prim, 20 layers high.  Make them physical, *SLOW*, but no crash.
2009-02-08 03:02:43 +00:00
Teravus Ovares
08a9a85376 * Fixes colliding with the terrain lower then 0 and higher then 256m
* The actual AABB of the heightfield on the Z is now determined by the minimum and maximum heightfield value in the terrain array (assuming it's a reasonable number).  This might optimize collisions in simulators that have a small difference between minimum and maximum heightfield values.
2009-02-08 01:05:09 +00:00
Mike Mazur
949ae6136e Change access levels from private to protected to facilitate
subclassing; also add new method signatures. Thanks tuco and mikkopa.
Fix Mantis #3072.
2009-02-03 08:31:08 +00:00
Teravus Ovares
85c0c0557e * Tweaks some locks when modifying an ODECharacter. This actually allows a user to log-in while the physics scene and the scripts are starting up. This also seems to smooth out the jerks on teleport/connect/disconnect a little bit.
* If you log-in while the simulator is starting up, you won't be able to move and the sim stats will say 0 FPS, and 0 Physics Frames and you may see only terrain.  Once the sim finishes starting up, it'll all resume as normal.
2009-01-31 16:49:32 +00:00
Teravus Ovares
1a55dd11f1 * More friendly OpenJpeg error handling.
* Often times now the only reason OpenJpeg doesn't work is because it requires Glibc 2.4    The error messages reflect that.
* In J2kDecoder module, It stops trying to decode modules if it encounters a dllnotfound exception and instead sends a full resolution layer that causes the texture sender to only send the full resolution image.  (big decrease in texture download speed, but it's better then nasty repeating error messages)
2009-01-21 11:16:33 +00:00
Dahlia Trimble
032b30ffdb Fix an error in sculpt LOD calculation 2009-01-21 02:40:09 +00:00
nlin
bfdf2479fb Improve parsing of joint parameters for NINJA physics (Mantis #2966).
Multiple spaces or leading/trailing spaces when specifying the prims 
to connect should no longer cause problems.
2009-01-14 04:59:57 +00:00
Dahlia Trimble
20670ff0c8 sync with primmesher r26 on forge 2009-01-04 19:09:31 +00:00
Dahlia Trimble
f836e36c49 Improve LOD scaling for anisotropic sculpted prim meshes 2009-01-04 18:36:13 +00:00
Homer Horwitz
a72d3522ff Slight optimisation: Don't check for duplication if we won't use the result anyway. 2008-12-31 20:09:17 +00:00
Homer Horwitz
4b760bba79 - Added the fixed Ode.NET.dll
- Adapted code to match the corrected signatures
- Fixes Mantis #2934. Hopefully.
Note: Physics on linked objects still don't work correctly:
It doesn't crash the region anymore, but the example object in
the mentioned mantis now falls through the ground.
2008-12-31 19:35:46 +00:00
Homer Horwitz
067a9f3d5f Added a missing setMass for initializing the mass of prims 2008-12-31 19:35:33 +00:00
Justin Clarke Casey
e4c7bdc730 * Remove mono compiler warnings
* Leaving the 23 warnings in ChildAgentDataUpdate.cs for Diva to look at
2008-12-30 20:48:31 +00:00
Jeff Ames
2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Teravus Ovares
6eed7fcd1e * More NINJA Joint physics fixes from nlin.
fixes mantis #2874
2008-12-28 16:30:00 +00:00
Teravus Ovares
b378bd33ad * Fixes mantis #2922
* Converts some C# 3.0 syntax into it's 2.0 equivalent so that Visual Studio 2005 can compile it successfully.
2008-12-27 00:17:08 +00:00
Teravus Ovares
ec2dc354b4 * Applying Nlin's NINJA Joint patch. v2. Mantis# 2874
* Thanks nlin!
* To try it out, set ninja joints active in the ODEPhysicsSettings
and use the example at:
* http://forge.opensimulator.org/gf/download/frsrelease/142/304/demo-playground.tgz.
* Don't forget to change the .tgz to .oar and load it with load-oar.
2008-12-26 12:58:02 +00:00
Dahlia Trimble
8a86439985 Removed some debugging code that was inadvertently left in in my last commit :/ 2008-12-22 07:25:41 +00:00
Dahlia Trimble
c66cfb51f7 Fix a floating point comparison that was causing some misshaped triangles on some prim faces 2008-12-22 06:07:51 +00:00
Charles Krinke
62dd67b8b8 Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:
On a call of llVolumeDetect(1) (or any other number !=0) volume 
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again, 
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM, 
false) while VD is active, also VD is switched off. The same is true for 
unchecking the phantom flag via GUI. This allows to take back VD without 
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag. 
This needs more discussion and will be included in another patch soon.
2008-12-20 21:36:42 +00:00
Dahlia Trimble
2537a4098a Enabled complex meshing for simple box prims with non-zero shear 2008-12-18 17:53:38 +00:00
Justin Clarke Casey
ff7c8551ba * remove mono compiler warnings
* should work - the last compile failure looks like a random glitch...
2008-12-17 18:42:23 +00:00
Justin Clarke Casey
3b0db66b92 * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaks
* This pushes an identifier for the OpenSim scene to the physics scene.  This allows log messages from the physics scene to identify which OpenSim scene they relate to.
* Thanks Gerhard
2008-12-15 18:39:54 +00:00
Teravus Ovares
8ad6f575eb * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change.   Torque property and AddAngularForce
2008-12-14 14:30:28 +00:00
Teravus Ovares
b5dec9a37f * Added Avatar minimum size in the ODEPlugin and a stern warning about setting the capsule size too low in OpenSim.ini 2008-12-14 07:29:40 +00:00
Teravus Ovares
6f7a560c04 * A Few physical prim + linkset fixes. Prevent some crashes 2008-12-14 06:34:05 +00:00
Teravus Ovares
7f80eff067 * Committing a slightly distilled version of nlin's ODECharacter race condition eliminator.
* The modifications that I made were only so that it didn't require changes to the public physics api.
2008-12-10 23:46:20 +00:00
Teravus Ovares
cb73cf1a92 * Fixes a few instances of llSetStatus with Axis lock gone wrong.
* Sums up the masses of the objects within a physical linkset
2008-12-09 16:27:07 +00:00
Jeff Ames
3ba0bc8f44 Minor formatting cleanup. 2008-12-09 12:15:02 +00:00
Teravus Ovares
3844e73d27 * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
2008-12-09 11:11:16 +00:00
Dahlia Trimble
44d133da66 clean up some old debugging code 2008-12-09 08:17:31 +00:00
Teravus Ovares
e61dacb928 * Adds some rudimentary error handling to the physics debug drawstuff tool. 2008-12-08 07:19:26 +00:00
Teravus Ovares
76e1462dff * Tweaks physics so that linked prim are a single body. This will make linked prim more stable and probably the last obstacle to vehicles physics wise.
* Fixed a bug that caused physics proxies to be scattered when you link an object.
* Single physical prim work exactly the same as before, just linked physical prim will have changed.
2008-12-07 04:03:09 +00:00
Dr Scofield
bdffd56a45 killing warnings, reformatting RemoteAdminPlugin 2008-12-05 15:28:03 +00:00
Justin Clarke Casey
b4db3a550a * Apply http://opensimulator.org/mantis/view.php?id=2750 with a small tweak.
* Initializes ODE only when a scene is grabbed rather than on plugin load.  This means we don't initialize ode if that physics engine is not used, and it allows other ode use 
plugins to be used instead.
2008-12-04 20:29:34 +00:00
Jeff Ames
d324389dd9 Update svn properties. 2008-12-03 04:41:31 +00:00
idb
098f16fe31 Remove duplicated avatar height calculation in lsl functions.
Use height calculation in Basic Physics and Physics of Simplicity so that avatars larger than the default walk with straight legs and shorter walk on the ground.
2008-12-01 00:49:36 +00:00
Dahlia Trimble
07ee2c3504 Revert r7548 and r7549 until someone with prebuild-fu can help structure the dependencies 2008-11-30 03:52:18 +00:00
Dahlia Trimble
37afd69feb Removed remaining meshing code
Add PrimMesher.dll r21
All meshing tasks are now passed through Meshmerizer and handled by PrimMesher.dll
2008-11-30 03:13:02 +00:00
Dahlia Trimble
fdd2388331 Update meshing code to sync with current PrimMesher.cs on forge.
Migrate sculpt meshing code to primMesher version. This should result in more accurate physical sculpted prim proxies.
Remove much obsolete code from Region/Physics/Meshing
2008-11-29 11:02:14 +00:00
Justin Clarke Casey
b9c07730f5 * refactor: change some method names and doc in the physics plugin manager
* move the directory choice for plugins outside into RegionApplicationBase
2008-11-20 19:52:55 +00:00
Justin Clarke Casey
d625095959 * Allow physics dlls to be loaded separately, rather than just the contents of bin/Physics
* This is primarily to see if not loading ODE in the unit tests will allow them to proceed, though the option of separate loading is probably a good thing in itself
2008-11-20 18:28:30 +00:00
Justin Clarke Casey
81dcf223bf * Add enough infrastructure code to run an extremely basic and flaky add root agent scene test 2008-11-20 16:58:40 +00:00
Melanie Thielker
6f0e068cf1 Guard against a strange nullref in ODE 2008-11-19 20:04:41 +00:00