Commit Graph

698 Commits (53a01dc42273b9252eb290187e87a47a898af86a)

Author SHA1 Message Date
Melanie 46d5add175 Lock updates out while linking and unlinking 2009-12-06 02:53:42 +00:00
Melanie e3a22ff37d Eliminate multiple updates on link/unlink 2009-12-06 02:53:34 +00:00
Teravus Ovares (Dan Olivares) c4b6010fb3 * Fixes mantis 4416. Animator is dereferenced on logout 2009-12-05 13:01:21 -05:00
Justin Clark-Casey (justincc) c0f3a4c833 Allow terrain heightmaps to be loaded directly from URIs via the remote admin plugin
See http://opensimulator.org/mantis/view.php?id=4418
Thanks StrawberryFride
See
2009-12-04 18:26:58 +00:00
Teravus Ovares (Dan Olivares) 781db43a76 * Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set this for each region in your Regions.ini[PhysicalPrimMax = 10(default)])
* Adds a configurable maximum object mass before the mass is clamped.  Default is 10000.01.  Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section.
* Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations.  Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
2009-12-03 20:21:10 -05:00
Teravus Ovares (Dan Olivares) d9a20edfb0 * Move code from that last commit to LLClientView since it's a linden client specific limitation, it moves to the Linden Specific client handler. 2009-12-03 02:02:04 -05:00
Teravus Ovares (Dan Olivares) af04cd1ae0 * If the position that comes in on Scene.SetHomeRezPoint has a component that is 255.5, replace the component with the user's position in the simulator.
* Fixes mantis 4414: http://opensimulator.org/mantis/view.php?id=4414
2009-12-03 01:50:54 -05:00
Justin Clark-Casey (justincc) f7b2f0e61e Add position and region of prim items with missing assets in log reports 2009-12-02 18:15:33 +00:00
Melanie 5ee79c62bf Change default destination of deleted items to the trash folder. Everything
else still goes to L&F
2009-12-02 10:21:24 +00:00
Teravus Ovares (Dan Olivares) d2c1610d17 * Test Autoconvert line ending on my repo.. 2009-12-01 11:35:32 -05:00
Teravus Ovares (Dan Olivares) 75e28b3a16 * Fix Inconsistent line ending style on Scene 2009-12-01 10:48:11 -05:00
Teravus Ovares (Dan Olivares) 7a2e8cb05f * Fix Inconsistent line ending style on ScenePresenceAnimator 2009-12-01 10:47:18 -05:00
Teravus Ovares (Dan Olivares) 56dca3b5a4 * Fix Inconsistent line ending style on SimStatsReporter 2009-12-01 10:45:36 -05:00
Teravus Ovares (Dan Olivares) 475d23741d * Fix Inconsistent line ending style in ScenePresence 2009-12-01 10:17:17 -05:00
Teravus Ovares (Dan Olivares) 83694e5578 * Add a close method to the ScenePresenceAnimator that dereferences the class variables and make the ScenePresence Close method call it. 2009-11-30 14:03:20 -05:00
Teravus Ovares (Dan Olivares) 0cb4ff1b68 * Modified ScenePresence to use the Util version of the EnvironmentTickCount method (and it's subtract method). Remove redundant EnvironmentTickCount definitions in ScenePresence. 2009-11-30 13:53:43 -05:00
Teravus Ovares (Dan Olivares) 4338f4e1d7 * Patch from Misterblue to fix Environment.TickCount for statistics purposes. Resolves the wrap-around of the 32 bit uint.
* Teravus moved the Environment methods to the Util class
2009-11-29 05:06:25 -05:00
Teravus Ovares (Dan Olivares) e7333515d9 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-11-27 19:17:54 -05:00
Teravus Ovares (Dan Olivares) 8296413add * Re-enable lightweight packet tracking stats on a 3000 ms interval. 2009-11-27 19:17:36 -05:00
Justin Clark-Casey (justincc) 66f511c76a Remove unused GetDefaultAppearance() static function that is also available on AvatarFactoryModule 2009-11-27 19:45:33 +00:00
Melanie b9eb244d6d Reset update flag when a SOG is deleted. This fixes llDie(); 2009-11-27 08:59:03 +00:00
Jeff Lee d39c300d11 Added osGetRegionStats() function, to return a number of sim statistics 2009-11-26 17:43:00 +00:00
Melanie 41226dc991 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2009-11-26 17:05:48 +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
Melanie 05fc504ff3 Remove the old remoting-type interregion code for prim/script crossing 2009-11-26 12:16:42 +00:00
Melanie 88842edc95 Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 12:08:20 +00:00
OpenSim Master a3755d831d Patch: Fix a bug in LAND animation when the TickCount wraps into negative numbers
by Mic Bowman
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2009-11-25 14:13:29 -05:00
Teravus Ovares (Dan Olivares) a642968fd5 * Reverting last commit.. because it just made it worse. 2009-11-25 04:00:52 -05:00
Teravus Ovares (Dan Olivares) abddb60b8d * Attempt number 1 to stop the repeating crouch animation that sometimes happens.
* This tries to address it by correcting one potential bug where it never resets the falltimer.
* This tries to address it by telling Physics that we're not flying this step..  instead of waiting until the next step when the next agent update comes along.
2009-11-25 02:51:11 -05:00
Justin Clark-Casey (justincc) 88ead9ee63 pass all command parameters to load/save oar, not just the filename
unfortunately, these commands cannot yet be properly relocated to the region modules due to deficiencies in the region module infrastructure
2009-11-24 17:28:38 +00:00
Jeff Ames 9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
Teravus Ovares (Dan Olivares) 0ff3c28f90 * This doesn't fix mantis 3522, but it should mitigate it.
* If the start position is outside of the region on the X and Y, put the user in the center of the region and then damp the Z position at 720 if necessary.  If the start position is not outside of the region on the X or Y, then don't check the Z.
2009-11-22 20:21:33 -05:00
Teravus Ovares (Dan Olivares) c155099faf * The client prevents the avatar from landing if the avatar is going above an unknown certain speed, so, add a speed check on the server.
* This addresses the 'hump the prim' animation playing while you're moving forward full speed and pressing page down over a prim to land.
2009-11-22 19:26:00 -05:00
Teravus Ovares (Dan Olivares) f7916d10f3 * This fixes landing on Prim and removes the hack from yesterday. Landing on prim should work fine again. 2009-11-21 19:38:38 -05:00
Teravus Ovares (Dan Olivares) 247fc00ce7 * Hack to get avatar to land on prim. This is a big nasty hack that tricks the client into thinking you're landing on the terrain. There are some visual artifacts when you land. It's only temporary until we figure out how this broke. 2009-11-21 06:39:28 -05: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
Justin Clark-Casey (justincc) 8f0db68424 Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for statements cause script compile failures
This fixes a problem in OpenSim where statements of the form

for ((i = 0); (i < 10); (++i)) { ... }

do not compile even though they are valid lsl.
2009-11-20 18:39:39 +00:00
Justin Clark-Casey (justincc) 622003ab09 minor: tweak log message to say which region is being enabled for logins 2009-11-18 20:27:37 +00:00
Justin Clark-Casey (justincc) 4baac71a5e refactor: Eliminate redundant CreateSceneViewer call on ScenePresence constructors since this is also done on other called constructors 2009-11-17 18:44:57 +00:00
Justin Clark-Casey (justincc) 710a2afd12 Add scene animator set up to apparantly uncalled no-arg ScenePresence constructor 2009-11-17 16:40:59 +00:00
Justin Clark-Casey (justincc) da255be05a refactor: move AvatarAnimations, BinBVHAnimation 2009-11-17 16:25:52 +00:00
Justin Clark-Casey (justincc) 61c76d1810 refactor: move AnimationSet 2009-11-17 15:20:02 +00:00
Justin Clark-Casey (justincc) 1324082b90 refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class 2009-11-17 15:05:40 +00:00
Diva Canto d5c18f6149 Make GroupRootUpdate be a terse update. This method is not used by opensim (it should), but it's used by external modules. 2009-11-14 14:14:08 -08:00
dahlia 2e24415077 undo previous changes
add a GetGroupByPrim() method to Scene.cs
delete a redundant method
2009-11-13 22:13:40 -08:00
dahlia e7d0aa75ba expose SceneGraph.GetGroupByPrim(UUID) 2009-11-13 20:52:03 -08:00
Justin Clark-Casey (justincc) e2b1fb8ff9 refactor: extract another test asset helper method 2009-11-12 19:15:08 +00:00
Justin Clark-Casey (justincc) 2f092d271e Rename test services to mock services, since this is a more accurate description
remove duplicate mock inventory service
2009-11-12 18:44:03 +00:00
Justin Clark-Casey (justincc) bb92ba97c6 Stop iar save failing on corrupt assets
Not ideal since one will still have to watch out for big 'corrupt asset' messages in the log, but better than an outright fail
2009-11-12 18:26:22 +00:00
Justin Clark-Casey (justincc) cbe1cc1bc8 minor: refactor common setup in uuid gatherer test 2009-11-12 17:50:09 +00:00
Justin Clark-Casey (justincc) 55a40694e7 minor: remove mono compiler warning 2009-11-12 17:42:26 +00:00
Justin Clark-Casey (justincc) 00102e73a6 Add basic new uuid gatherer tests to check behaviour when the gather seed is a missing asset 2009-11-11 18:46:04 +00:00
Teravus Ovares (Dan Olivares) 4a2d82e14b * Thanks to a little help from jhurliman, jradford, diva, mono's brajkovic, miguel, and the fabulous bug reports by our community members.. The workaround fix for the "ERROR:metadata.c:3211:mono_metadata_token_from_dor: code should not be reached" bug in the RegionCombinerModule. 2009-11-11 02:47:17 -05: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
Justin Clark-Casey (justincc) 7f5d0a6735 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-09 17:36:28 +00:00
Justin Clark-Casey (justincc) 668850b974 * for iars, allow item names/folders including "/" to be escaped using "\/"
* also, "\" has to be escaped as "\\"
* add item name unit test for escaped characters
2009-11-09 15:49:09 +00:00
John Hurliman afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08:00
John Hurliman e6d7303b29 Applying #4332, optional packet statistics logging 2009-11-05 12:01:40 -08:00
John Hurliman a13e25ebbe Initialize SceneObjectPart.RotationOffset to Quaternion.Identity 2009-11-04 16:19:56 -08:00
John Hurliman f57a646638 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-11-04 16:08:23 -08:00
John Hurliman ec2ebf2598 Removing EntityBase.Rotation 2009-11-04 16:08:10 -08:00
Justin Clark-Casey (justincc) 9dd5d63495 minor: remove some mono compiler warnings 2009-11-04 19:44:28 +00:00
Melanie c72f78215b Backport the fixes to WebFetchInventoryDescendents to the UDP
InventoryDescendents packet. Testing has shown that UDP inventory now
works flawlessly and, unlike CAPS inventory, doesn't download the entire
agent inventory on start. Neither does it incessantly re-request folder
NULL_KEY. Therefore, I have disabled CAPS inventory.
2009-11-04 01:56:19 +00:00
John Hurliman 1927945053 Another race condition fix in SceneObjectGroup 2009-11-02 15:09:07 -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
Adam Frisby 838bc80ab9 * Implemented some tweaks to monitoring module.
* Output is prettier & more useful.
* Added 'Alerts' to allow rules to be constructed using Monitors to detect for events such as deadlocks. This will be translated to SNMP Traps when I get SNMP implemented.
2009-11-02 00:05:49 +11:00
Adam Frisby 711dde34e4 * Implements new 'Monitoring' system for reporting performance.
* Mostly the same set as the StatsMonitor used for Viewer notification, but exposes some new frametimes - including EventMS, PhysicsUpdateMS, LandUpdateMS; new memory monitoring - both GC.TotalMemory and Process.PrivateWorkingMemory64; also exposes ThreadCount (using System.Diagnostics.Process)
* Type 'monitor report' on the console to see output.
* SNMP Implementation forthcoming.
2009-11-01 19:37:40 +11:00
John Hurliman 8a73dc0f8a * Fix for a potential race condition in ScenePresence.AbsolutePosition
* Unified the way region handles are stored and used in ScenePresence
* Fixed camera position for child agents
* CheckForSignificantMovement now checks avatar and camera position (both are important for scene prioritization)
* Removing debug code from the previous commit
2009-10-30 03:01:15 -07:00
John Hurliman aecaa51063 * Fixed a NullReferenceException in GetMovementAnimation() and added more protection against NREs in AddNewMovement()
* Removed the three second limit on ImprovedTerseObjectUpdate. With the latest fixes I don't think this is necessary, and it generates a lot of unnecessary updates in a crowded sim
2009-10-29 16:31:48 -07:00
John Hurliman 2913c24c8a * Commented out two noisy debug lines in the LLUDP server
* Misc. cleanup in ScenePresence.HandleAgentUpdate()
2009-10-29 15:24:31 -07:00
John Hurliman 5c894dac8b * Implemented foot collision plane for avatars
* Fixed a NullReferenceException regression
2009-10-29 05:34:40 -07:00
John Hurliman 3f2d6fe470 Ported the Simian avatar animation system to OpenSim. Landing is currently not working 2009-10-29 04:13:51 -07:00
John Hurliman fd2c99f184 Fixing NullReferenceException regression in the previous commit 2009-10-29 02:10:48 -07: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 59eb378d16 Small performance tweaks to code called by the heartbeat loop 2009-10-28 23:10:16 -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 a069a1ee68 Limit physics time dilation to 1.0 2009-10-28 14:44:05 -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
John Hurliman 0c466b28bb Move the calculation of time dilation from the scene to the physics engine. The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking 2009-10-27 16:24:43 -07: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 a718d7d56a Making the defaults for interest management variables match whether you have the [InterestManagement] section in your config or not 2009-10-27 10:17:20 -07:00
John Hurliman bcd7593dfb Forgot a line in the previous commit 2009-10-27 10:07:35 -07:00
John Hurliman 3a1ee79ee4 Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool 2009-10-27 02:36:57 -07:00
John Hurliman c75d415648 * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode
* Minor code readability cleanup
2009-10-27 00:26:56 -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
John Hurliman 0b1726b524 Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on 2009-10-26 16:48:43 -07:00
John Hurliman 4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman 119cf80e13 Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system 2009-10-26 15:52:59 -07:00
John Hurliman ac7ccdf7d7 * Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00
John Hurliman de25dcfb7b Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0 2009-10-25 01:10:02 -07: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 2c34619aea * Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary
* Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
2009-10-23 14:22:21 -07:00
John Hurliman a41cd1d069 * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
2009-10-23 13:14:29 -07:00
John Hurliman 62f1a5e36d Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you 2009-10-23 02:38:59 -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