aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)2012-05-311-5/+43
| | | | | | | | | | | arbitrary stats. If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule (http://opensimulator.org/wiki/Monitoring_Module) This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings]. This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing. This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds. The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
* Fix collision filtering. The filter should be checked on the receiving part!Melanie2012-05-291-9/+9
|
* If restating a region, clean up the physics scene after the main scene has ↵Justin Clark-Casey (justincc)2012-05-261-4/+4
| | | | | | | | been closed not before. If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed. Bullet plugin does nothing on Dispose() However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
* refactor: replace LSL_Api.InventoryKey(string) largely with ↵Justin Clark-Casey (justincc)2012-05-261-8/+14
| | | | | | SceneObjectPartInventory.GetInventoryItem(string) Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
* Remove a call stack debugging line accidentally left in from a few days ago ↵Justin Clark-Casey (justincc)2012-05-251-2/+0
| | | | at SceneObjectPartInventory.ApplyNextOwnerPermissions().
* Stop it being possible for an agent to teleport back to its source region ↵Justin Clark-Casey (justincc)2012-05-251-3/+3
| | | | | | | | | before the source region has finished cleaning up old agent data and structures. If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states. To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp). This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up. Tested on standalone, grid and with v1 and v3 clients.
* If an agent is still registered as 'in transit' by the source region, don't ↵Justin Clark-Casey (justincc)2012-05-242-36/+73
| | | | | | | | | | | | allow an immediate teleport back. This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence. This is rare in viewers but much more possible via scripting or region module. However, more needs to be done since virtually all clean up happens after the transit flag is cleared . Possibly need to add a 'cleaning up' state to in transit. This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists. Changes were also required in LocalSimulationConnector. Tested in standalone, grid and with local and remote region crossings with attachments.
* Add "show scene" command which lists stats for the currently selected ↵Justin Clark-Casey (justincc)2012-05-231-1/+6
| | | | | | | | | | console scene(s) This includes prim count, script count, avatar count, etc. Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change). Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter. Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate. Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)
* Fix bug where an avatar that had an object they owned attached through ↵Justin Clark-Casey (justincc)2012-05-233-3/+26
| | | | | | | llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene. This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
* minor: extend commented out LinkInventoryItem log message for future useJustin Clark-Casey (justincc)2012-05-211-5/+5
|
* Further refinement on propertiesBlueWall2012-05-181-7/+4
|
* Cleanup + change properties to set fields with private set : Thanks Justin ↵BlueWall2012-05-182-3/+4
| | | | for the tip.
* Provide Telehub setting to allow use of landmarksBlueWall2012-05-182-1/+9
| | | | Setting to allow use of landmarks to override telehub routing. Default is off.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-05-171-29/+28
|\
| * Merge branch 'master' of /home/opensim/lib/osgrid/opensimBlueWall2012-05-171-29/+28
| |\
| | * Force the default Telehub router if no matches are found in the config.BlueWall2012-05-171-29/+28
| | |
* | | Check agent limit against root agent count rather than both root and child ↵Justin Clark-Casey (justincc)2012-05-173-22/+43
|/ / | | | | | | | | | | | | | | | | | | | | agents From sl docs such as http://community.secondlife.com/t5/English-Knowledge-Base/Managing-Private-Regions/ta-p/700115 agent should apply to avatars only. This makes sense from a user perspective, and also from a code perspective since child agents with no physics or actions take up a fraction of root agent resources. As such, the check is now only performed in Scene.QueryAccess() - cross and teleport check this before allowing an agent to translocate. This also removes an off-by-one error that could occur in certain circumstances on teleport when a new child agent was double counted when a pre-teleport agent update was performed. This does not affect an existing bug where limits or other QueryAccess() checks are not applied to avatars logging directly into a region.
* | minor: improve method doc for ↵Justin Clark-Casey (justincc)2012-05-171-1/+1
| | | | | | | | TestSameSimulatorSeparatedRegionsCreateAgentFails()
* | Add regression TestSameSimulatorSeparatedRegionsCreateAgentFails()Justin Clark-Casey (justincc)2012-05-171-0/+67
|/
* Comment out TestSameSimulatorSeparatedRegionsQueryAccessFails() regression ↵Justin Clark-Casey (justincc)2012-05-171-2/+2
| | | | test logging accidentally left in
* Add regression TestSameSimulatorSeparatedRegionsQueryAccessFails()Justin Clark-Casey (justincc)2012-05-171-0/+76
|
* Route OAR SOG loading through the common ↵Justin Clark-Casey (justincc)2012-05-162-113/+4
| | | | | | SceneObjectSerializer.FromXml2Format() rather than the functionally identical but buggy Xml2ToSOG(). Remove buggy Xml2ToSOG().
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-05-153-512/+191
|\
| * Guard against null root part on SQLite. This really needs to be fixed so SQLiteMelanie2012-05-151-1/+1
| | | | | | | | loads roots before children like MySQL does.
| * Try to fix sqlite breakageMelanie2012-05-151-0/+3
| |
| * Port Avination's collision fixes to core.Melanie2012-05-153-512/+188
| |
* | Fix issue where loading OARs could sometimes result in link numbers being ↵Justin Clark-Casey (justincc)2012-05-151-1/+12
|/ | | | | | | | | | reordered. This was because the parts in scene objects were sometimes not serialized in link order. This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this had not been done in the SerialiserModule methods that OAR loading used. Add regression test for same. Addresses http://opensimulator.org/mantis/view.php?id=5948, http://opensimulator.org/mantis/view.php?id=5749
* minor: comment out individual attachment transfer log messages for nowJustin Clark-Casey (justincc)2012-05-141-4/+4
|
* Add configurable SpawnPointRoutingBlueWall2012-05-132-38/+146
| | | | | | | | | | | | | | | | | | Will use one of three selected methods to route avatar landing points when using Telehubs. The setting is in [Startup] using SpawnPointRouting = closest/random/sequence closest: The default setting. Routes avatar to the nearest SpawnPoint to the location. random: Picks random SpawnPoints to land the avatar. sequence: Follows a sequence to place the avatar on the next available SpawnPoint location Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2012-05-102-7/+13
|\
| * Improve logging on the prim inventory script asset request path for future use.Justin Clark-Casey (justincc)2012-05-091-0/+4
| | | | | | | | This adds name and description of the request handler to http request logging when DebugLevel >= 1
| * Remove physics actor related race conditions in SetVehicleFlags() and ↵Justin Clark-Casey (justincc)2012-05-091-7/+9
| | | | | | | | | | | | SetPhysicsAxisRotation() sop.PhysActor can currently become null at any time.
* | Add even for terrain tainting and synchronize terrain module with physics ↵Dan Lake2012-05-102-7/+33
|/ | | | scene before physics simulation step rather than after
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2012-05-081-0/+2
|\
| * Mantis 1456 same region teleport of a sitting avatar.Talun2012-05-091-0/+2
| | | | | | | | | | Region to region was fixed some time ago in EntityTransferModule. This applies the same fix for same region teleports.
* | Trigger event when scene presences are updatedDan Lake2012-05-082-0/+34
|/
* Perform SceneGraph.DuplicateObject() under existing m_updateLock already ↵Justin Clark-Casey (justincc)2012-05-081-75/+89
| | | | | | | used for link and delinking, in order to avoid race conditions. DuplicateObject() relies on source object having correct link numbers for the duration of the dupe. Both link and delink can change link numbers such that they are not consistent for short periods of time.
* Stop llSetPos from sending one update per child primMelanie2012-05-061-1/+1
|
* Fire the scripting changed event with CHANGED_OWNER when an object that has ↵Justin Clark-Casey (justincc)2012-05-051-2/+8
| | | | | | | changed owners is rezzed. This needs to occur after the script is resumed rather than before, when the event is just dropped. Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
* Mantis 60004 problems with damage and llSetDamage. In damage enabled areas ↵Talun2012-05-041-7/+46
| | | | this patch - Deletes any objects that have damage set > 0 that deliver that damage to an avatar Stops Gods receiving damage, Stops volume detect objects causing damage Deletes NPCS when their helth reduces to zero Gradually "heals" damage to an avatar Resets health on going to a non damage area
* Reinsert a 2000ms delay before closing a no longer required agent on the ↵Justin Clark-Casey (justincc)2012-05-031-4/+10
| | | | | | | | | source region after teleport to resolve Imprudence teleport problems. Viewers 1 and 3 are fine with doing this immediately. However, Imprudence has a small delay (<200ms, >500ms) after receiving the AgentCompleteMovement reply packet on the destination region before regarding that region as the currnet region. If Imprudence receives a DisableSimulator in this period, it quits. We are not restoring the full 5000ms delay since this brings back a bug where teleports permanently fail if an avatar tries to teleport back too quickly. This commit also sends the AgentCompleteMovement packet to the client before telling the source region to release its old agent, in order to further cut down any possibility of the DisableSimulator being recieved before the AgentMovementComplete.
* Implement optional name and description on http stream handlers so that we ↵Justin Clark-Casey (justincc)2012-05-031-3/+6
| | | | | | can relate a slow request to what the handler actually does and the agent it serves, if applicable. This is most useful for capabilities where the url is not self-describing.
* Add regression test for teleporting between neighbouring regions on the same ↵Justin Clark-Casey (justincc)2012-05-013-10/+109
| | | | | | | simulator This adds a non-advertised wait_for_callback option in [EntityTransfer]. Default is always true. Teleport tests disable the wait for callback from the destination region in order to run within a single thread.
* Create TestHelpers.EnableLogging() and DisableLogging() to turn logging on ↵Justin Clark-Casey (justincc)2012-04-303-4/+9
| | | | | | and off within tests. This makes *.Tests.dll.config files no longer needed, hence deleted.
* refactor: Simplify by combining SafeSendControlsToScripts() from fe8e835 ↵Justin Clark-Casey (justincc)2012-04-301-73/+75
| | | | into SendControlsToScripts() (instead of SendControlToScripts()).
* Fixed: scripted controls didn't work if the avatar was sitting downOren Hurvitz2012-04-301-9/+15
| | | | This fixes a bug introduced in 6473674bbf6ce006512083902e8ff1796d8c8b22
* Comment out debug [ASYNC DELETER] messages for now.Justin Clark-Casey (justincc)2012-04-281-5/+5
|
* Fixed: custom walking animations didn't stop when the avatar stopped walking.Oren Hurvitz2012-04-272-20/+32
| | | | | | This happened because the scripts were notified about control changes (e.g., the user stopped pressing the Forward key) when the animation was still WALK, so the script didn't stop the walking animation. Fixing this required: a) Update the movement animation *before* notifying the script; b) Add locking to prevent clashes with the Heartbeat thread (which also updates the animations); c) Handle the case of a user who stops walking just as the avatar is in the air: the avatar should STAND in that case, not WALK. This reverts commit feef1dd73243cfdd5322632fb67e64cabc1ad4bc.
* If a Grid God teleports then include the Godlike teleport flag. This can ↵Oren Hurvitz2012-04-271-0/+17
| | | | affect the starting position in the destination region.
* Add regression test for teleporting an agent between separated regions on ↵Justin Clark-Casey (justincc)2012-04-2720-173/+92
| | | | | | | | the same simulator. This involves a large amount of change in test scene setup code to allow test scenes to share shared modules SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static May split these out into separate classes in the future.