aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Stop iar save failing on corrupt assetsJustin Clark-Casey (justincc)2009-11-122-5/+30
| | | | Not ideal since one will still have to watch out for big 'corrupt asset' messages in the log, but better than an outright fail
* minor: refactor common setup in uuid gatherer testJustin Clark-Casey (justincc)2009-11-121-3/+10
|
* minor: remove mono compiler warningJustin Clark-Casey (justincc)2009-11-121-0/+1
|
* Add basic new uuid gatherer tests to check behaviour when the gather seed is ↵Justin Clark-Casey (justincc)2009-11-111-0/+58
| | | | a missing asset
* * Thanks to a little help from jhurliman, jradford, diva, mono's brajkovic, ↵Teravus Ovares (Dan Olivares)2009-11-111-2/+12
| | | | 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.
* Add IScriptModuleComms interface and region module to handle dispatch ofMelanie2009-11-101-0/+44
| | | | | | | | script messages to region modules and sending back replies. Hook IScriptModuleComms.OnScriptCommand to see commands and use DispatchReply to reply to the script. It is recommended to pass the "id" parameter from the event as the "k" parameter of the reply. The script will receive the reply as a link message from link -1.
* * Removing the redundant SendPrimitiveTerseData.State field, it duplicates ↵John Hurliman2009-11-091-3/+1
| | | | | | AttachPoint * LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
* Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2009-11-095-10/+104
|\
| * Patch from Snoopy2. Fixes Mantis #4342Melanie2009-11-081-0/+1
| | | | | | | | | | | | fixes problems when group owned land was abandoned by the land owner or reclaimed by the estate manager or by god. Beside that this new patch makes it possible, that users can buy land directly for a group, if the buyer has the required permissions.
| * Changing the AssetBase constructors to avoid initializing assets with an ↵John Hurliman2009-11-053-10/+3
| | | | | | | | unknown asset type, and log an error if it ever does happen
| * Applying #4332, optional packet statistics loggingJohn Hurliman2009-11-051-0/+100
| |
* | * for iars, allow item names/folders including "/" to be escaped using "\/"Justin Clark-Casey (justincc)2009-11-091-1/+0
|/ | | | | * also, "\" has to be escaped as "\\" * add item name unit test for escaped characters
* Change the permissions module to use the friend list cache already in theMelanie2009-11-051-0/+2
| | | | | friends module instead of requesting the entire friends list over the network each time a prim is touched.
* Initialize SceneObjectPart.RotationOffset to Quaternion.IdentityJohn Hurliman2009-11-041-1/+1
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-11-045-15/+21
|\
| * minor: remove some mono compiler warningsJustin Clark-Casey (justincc)2009-11-043-13/+13
| |
| * Backport the fixes to WebFetchInventoryDescendents to the UDPMelanie2009-11-042-2/+8
| | | | | | | | | | | | | | 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.
* | Removing EntityBase.RotationJohn Hurliman2009-11-043-15/+15
|/
* Another race condition fix in SceneObjectGroupJohn Hurliman2009-11-021-7/+11
|
* Fixing race conditions in the SceneObjectPart propertiesJohn Hurliman2009-11-021-56/+53
|
* Removing duplicate SceneObjectPart.RotationalVelocity propertyJohn Hurliman2009-11-022-14/+8
|
* * Implemented some tweaks to monitoring module.Adam Frisby2009-11-021-0/+3
| | | | | * 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.
* * Implements new 'Monitoring' system for reporting performance.Adam Frisby2009-11-011-8/+51
| | | | | | * 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.
* * Fix for a potential race condition in ScenePresence.AbsolutePositionJohn Hurliman2009-10-302-40/+42
| | | | | | | * 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
* * Fixed a NullReferenceException in GetMovementAnimation() and added more ↵John Hurliman2009-10-291-29/+35
| | | | | | 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
* * Commented out two noisy debug lines in the LLUDP serverJohn Hurliman2009-10-292-157/+142
| | | | * Misc. cleanup in ScenePresence.HandleAgentUpdate()
* * Implemented foot collision plane for avatarsJohn Hurliman2009-10-291-215/+44
| | | | * Fixed a NullReferenceException regression
* Ported the Simian avatar animation system to OpenSim. Landing is currently ↵John Hurliman2009-10-291-36/+203
| | | | not working
* Fixing NullReferenceException regression in the previous commitJohn Hurliman2009-10-291-1/+1
|
* * Log progress messages when loading OAR files with a lot of assetsJohn Hurliman2009-10-292-9/+13
| | | | | * 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
* Small performance tweaks to code called by the heartbeat loopJohn Hurliman2009-10-284-117/+53
|
* Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman2009-10-282-5/+4
|
* Limit physics time dilation to 1.0John Hurliman2009-10-281-1/+1
|
* * Standalone logins will now go through the sequence of "requested region, ↵John Hurliman2009-10-282-16/+20
| | | | | | | 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
* * Reduce the velocity tolerance on sending terse updates to avoid slowly ↵John Hurliman2009-10-282-2/+2
| | | | | | 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
* Track timestamps when terse updates were last sent for a prim or avatar to ↵John Hurliman2009-10-282-2/+10
| | | | avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way)
* Move the calculation of time dilation from the scene to the physics engine. ↵John Hurliman2009-10-272-15/+7
| | | | 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
* Lowering the position tolerance of terse updates for ScenePresences to ↵John Hurliman2009-10-271-1/+1
| | | | mitigate some of the rubberbanding issues while we are sending incorrect time dilation values
* Making the defaults for interest management variables match whether you have ↵John Hurliman2009-10-271-3/+3
| | | | the [InterestManagement] section in your config or not
* Forgot a line in the previous commitJohn Hurliman2009-10-271-0/+2
|
* Finally hunted down the Parallel deadlock. Packets were being handled ↵John Hurliman2009-10-271-6/+9
| | | | 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
* * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) ↵John Hurliman2009-10-271-3/+2
| | | | | | to use a non-blocking parallel method when operating in async mode * Minor code readability cleanup
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-264-49/+45
|
* * Double the priority on avatar bake texture requests to get avatars rezzing ↵John Hurliman2009-10-262-58/+55
| | | | | | in faster than the surrounding scene * Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
* Removing the ClientManager reference from IScene and hiding it entirely ↵John Hurliman2009-10-262-11/+21
| | | | 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
* * Switched all operations on the list of clients that could be either sync ↵John Hurliman2009-10-262-22/+28
| | | | | | | | 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
* Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ↵John Hurliman2009-10-261-0/+5
| | | | 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
* * Changed the watchdog timer to improve the speed of UpdateThread(), only ↵John Hurliman2009-10-261-0/+2
| | | | | | 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
* Minor tweaks to get OpenSim compiling against both the current libomv and ↵John Hurliman2009-10-252-1/+3
| | | | the upcoming 0.8.0
* Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman2009-10-253-57/+56
| | | | | | | | | | 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