aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* In the flotasm asset cache, if we get a request for a file that we're ↵Justin Clark-Casey (justincc)2013-03-301-25/+27
| | | | actively writing, simply return null instead of first logging an exception.
* refactor: rename ETM.InformClientToInitateTeleportToLocationDelegate to ↵Justin Clark-Casey (justincc)2013-03-301-9/+9
| | | | InformClientToInitiateTeleportToLocationDelegate to correct spelling and bring into line with other ETM Initiate methods
* refactor: move the append magic number processing for attachments back up ↵Justin Clark-Casey (justincc)2013-03-291-6/+6
| | | | into RezSingleAttachmentFromInventory from RezSingleAttachmentFromInventoryInternal() done in commit 023faa2
* Added missing functionality (mainly custom headers) to llHTTPRequest.Kevin Cozens2013-03-291-9/+64
|
* Check viewer 2/3 attachment calls against avatar appearance attachment data ↵Justin Clark-Casey (justincc)2013-03-292-21/+21
| | | | | | | | rather than actually attached objects By checking against the grid's Avatar data, we can ignore viewer side attachments but still initiate these calls simulator-side. Initiating simulator-side is always necessary for version 1 viewers. This is a further commit to resolve http://opensimulator.org/mantis/view.php?id=6581
* Fix bug where CHANGED_REGION and/or CHANGED_TELEPORT weren't firing for ↵Justin Clark-Casey (justincc)2013-03-291-1/+1
| | | | | | | | scripts in attachments. This was because the script resumption in AttachmentsModule was firing the attach event instead. Had to reinstate the code in 285bd3a do we can resume the scripts there instead, though the bug existed before its removal. This is to resolve http://opensimulator.org/mantis/view.php?id=6578
* Revert "Try eliminating the pause before auto-reteleporting for a megaregion ↵Justin Clark-Casey (justincc)2013-03-291-1/+1
| | | | | | | | now that we're telepoting in a different way." Unfortunately fails on Nebadon's system right now. Needs investigation. May put in a temproary option for experimentation soon. This reverts commit d87ddf50fcd674fbd9aa8b8556bf57f2d285a3ba.
* Add Location (relative), Rotation (Relative) and Rotation (World) to "show ↵Justin Clark-Casey (justincc)2013-03-291-0/+3
| | | | part" and other related console commands
* Try eliminating the pause before auto-reteleporting for a megaregion now ↵Justin Clark-Casey (justincc)2013-03-291-1/+1
| | | | | | | that we're telepoting in a different way. On my own system, I can now eliminate the pause entirely and the reteleport happens whilst the teleport screen is still up. Trying this change to see if this is true for other people.
* Stop attempts to update/add existing attachments in user inventory when ↵Justin Clark-Casey (justincc)2013-03-282-21/+20
| | | | | | teleporting between regions. This appears to resolve issues on teleport where attachments disappear or become labelled as invalid within user inventory.
* Add "debug attachments" console command to allow highly verbose attachment ↵Justin Clark-Casey (justincc)2013-03-281-61/+109
| | | | | | logging to be switched on and off. Default is off.
* minor: remove some mono compiler warnings from EntityTransferModuleJustin Clark-Casey (justincc)2013-03-281-5/+0
|
* If the viewer has already rezzed any attachments itself, then ignore the ↵Justin Clark-Casey (justincc)2013-03-281-4/+10
| | | | | | simulator-side rez attachments call. This is a further effort to reduce v3 viewer race conditions where this call may clash with the viewer signalling attachment wearing from its current outfit folder.
* Move the simulator-side RezAttachments call on login to SP.MakeRootAgent ↵Justin Clark-Casey (justincc)2013-03-281-1/+1
| | | | | | | | with the other attachments code, using TeleportFlags.ViaLogin check to fire if necessary. This is to simplify the code (no tricky 'wasChild' signalling required) and to reduce the risk of a thread clash between simulator-side attaching (necessary for v1 viewers) and the viewer-side attaching the v3 viewers perform.
* Add back a log message when we attempt a megaregion auto-reteleportJustin Clark-Casey (justincc)2013-03-281-0/+4
|
* minor: Only try to deregister stats in EntityTransferModule.RemoveRegion() ↵Justin Clark-Casey (justincc)2013-03-281-4/+7
| | | | if module was enabled.
* Fix a bug in HGEntityTransferModule to call base.RemoveRegion() when a ↵Justin Clark-Casey (justincc)2013-03-281-1/+1
| | | | region is removed rather than base.AddRegion()
* Instead of going via GodLikeRequestTeleport, auto-teleport the agent ↵Justin Clark-Casey (justincc)2013-03-282-4/+13
| | | | | | directly in a megaregion, in the same manner at the "teleport user" console command. This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening.
* On the North and East sides of a megaregion, only consider regions within ↵Justin Clark-Casey (justincc)2013-03-281-2/+2
| | | | | | | 256m to be neighbours rather than regions up to 512 distant. This looks like an off-by-one bug since the view distance was already only 256 on the west and south sides. This reduces the number of child agents being logged into regions neighbouring a megaregion.
* Make HGLureModule track god like lures as well as normal lures, to see if ↵Justin Clark-Casey (justincc)2013-03-281-1/+2
| | | | this fixes issues where second megaregion auto-teleport hangs on black teleport screen when HG is active.
* Remove some Console.WriteLines accidentally left in last commit cfb20f09Justin Clark-Casey (justincc)2013-03-281-2/+0
|
* refactor: combine the checks for megaregion view range into a single place.Justin Clark-Casey (justincc)2013-03-281-51/+51
|
* Fix problem with megaregions where teleporting into a different region which ↵Justin Clark-Casey (justincc)2013-03-281-1/+44
| | | | | | | | | | already had a child agent would stop the eq working for the agent in the new region. This was because the calculation as to whether a new agent was needed in the receiving region did not take megaregions into account, unlike the original calculation when the user first teleported into the region. This meant that on teleport, entity transfer would create a new CAP but this would be ignored by the viewer and receiving region, meaning that the EQ could no longer be used. This would prevent subsequent teleport, amongst other things. Currently, regions up to 512m from a megaregion are considered neighbours.
* Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMaskMelanie2013-03-268-5/+15
| | | | with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
* Start recording inter-region teleport attempts, aborts, cancels and failures ↵Justin Clark-Casey (justincc)2013-03-251-10/+109
| | | | | | in statistics for monitoring/debugging purposes These are recorded as 'entitytransfer' stats as seen by the "show stats entitytransfer" console command.
* Add "show borders" command to show the borders of a region.Justin Clark-Casey (justincc)2013-03-231-0/+4
| | | | | This is relevant to mega-regions where the borders are very different to a regular region. Also adds some method doc and other code comments.
* Following on from 476a7d3e (which wasn't enough), make chat across regions ↵Justin Clark-Casey (justincc)2013-03-221-56/+31
| | | | | | on different simulators work. Also resolves an issue of multiple chatting if the originating simulators had more than one region and they were neighbours
* Take out a testing sleep I accidentally left in the teleport code from last ↵Justin Clark-Casey (justincc)2013-03-221-2/+0
| | | | commit 7471bc7
* At strategic points in the teleport process, if the client has ↵Justin Clark-Casey (justincc)2013-03-222-10/+69
| | | | | | | simultaneously logged out then do not continue. This aims to reduce any side effects if the process tries to complete after the client has logged back in (e.g. it was delayed due to a slow destination region response). This introduces a new Aborting entity transfer state which signals that the teleport should be stopped but no compensating actions performed.
* Implement chat across region borders since we can tell if avatars in ↵Justin Clark-Casey (justincc)2013-03-221-1/+1
| | | | neighbouring regions are in range.
* minor: On teleport, signal a child agent before we send the viewer ↵Justin Clark-Casey (justincc)2013-03-211-5/+5
| | | | | | | | TeleportFinish in order to avoid a theoretical race condition when teleporting to a neighbour. If we do this after TeleportFinish, then it's possible for a neighbour destination to request the source to create a child agent whilst its still treated as root. This closes the original presence which we don't really want to do. This is probably okay (albeit with warnings on the console) but afaics there's no reason not to move the child agent signal.
* On a teleport, lock m_agentsInTransit whilst we grab the value to check for ↵Justin Clark-Casey (justincc)2013-03-211-1/+8
| | | | completion just to be sure we're not using a thread cached version.
* On the later forms of teleport failure, tell the user if this was because ↵Justin Clark-Casey (justincc)2013-03-202-17/+29
| | | | | | | viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion. Also adds regression test for the case where the viewer couldn't connect with the destination region. Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
* Prevent multiple instances of the same item ID being appended to an ↵Justin Clark-Casey (justincc)2013-03-192-4/+12
| | | | | | | | AvatarAppearance It looks like this was happening when AttachmentsModule.RezAttachments was doing a secondary set of each attachment to update with the asset ID (initially they only have the inventory ID). However, with multi-attach this was appending a second copy of the same attachment rather than updating the data that was already there. This commit requires both simulator and service to be updated.
* For those people collecting and comparing logfiles from servers scatteredRobert Adams2013-03-191-1/+1
| | | | | around the world, change LogWriter to use DateTime.UtcNow rather than DateTime.Now.
* Process default attachment point in AttachObjectInternal before we check ↵Justin Clark-Casey (justincc)2013-03-191-27/+27
| | | | whether a worn object needs to displace an existing attachment on the same point if we are not using multi-attach.
* Fix tests for multiattachMelanie2013-03-182-6/+6
|
* Merge branch 'master' into newmultiattachMelanie2013-03-1810-131/+655
|\ | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
| * Improve rejection of any attempt to reattach an object that is already attached.Justin Clark-Casey (justincc)2013-03-182-31/+194
| | | | | | | | This also adds/extends regression tests for wearing attachments directly for the scene and attempting to reattach/rewear already attached objects.
| * Fix recent regression where an item worn to an attachment point that was ↵Justin Clark-Casey (justincc)2013-03-182-89/+153
| | | | | | | | | | | | | | already occupied did not remove the previous attachment (current behaviour) Regression was commit ccd6f4 (Tue Mar 5 23:47:36 2013) Added regression test for this case.
| * Add example code to DOExampleModule to pull data from that previously saved ↵Justin Clark-Casey (justincc)2013-03-152-5/+29
| | | | | | | | by DAExampleModule when instantiating a dynamc object.
| * Add ParentGroup.HasGroupChanged = true setting to DAExampleModule as this is ↵Justin Clark-Casey (justincc)2013-03-151-0/+2
| | | | | | | | necessary to get attributes to save (though this probably happens anyway due to the prim move)
| * Add ILandChannel.GetLandObject(Vector3 position) as this is a very common ↵Justin Clark-Casey (justincc)2013-03-141-0/+5
| | | | | | | | | | | | input to GetLandObject() This conforms to the existing ILandChannel.ParcelsNearPoint() method
| * Improve DAExampleModule to show current necessary locking to avoid race ↵Justin Clark-Casey (justincc)2013-03-131-8/+16
| | | | | | | | conditions with a serialization thread.
| * Add prototype dynamic objects map for scene object partsJustin Clark-Casey (justincc)2013-03-131-0/+117
| | | | | | | | | | | | | | | | | | This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes. This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes. This commit adds a DOExampleModule to demonstrate/evolve this code. Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap. DOExampleModule in this commit only attaches a fresh dynamic object. Actually constructing this from stored dynamic attributes and handling persistence is left for later. These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
| * minor: save some commented out log lines which will be useful again in ↵Justin Clark-Casey (justincc)2013-03-131-0/+5
| | | | | | | | future debugging of VectorRenderModule
| * Add DisableInterRegionTeleportCancellation option in [EntityTransfer] ↵Justin Clark-Casey (justincc)2013-03-121-1/+20
| | | | | | | | | | | | | | | | | | section of OpenSim.ini. False by default. This option allows the simulator to specify that the cancel button on inter-region teleports should never appear. This exists because sometimes cancellation will result in a stuck avatar requiring relog. It may be hard to prevent this due to the protocol design (the LL grid has the same issue) In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely.
| * Improve teleport cancellation in some circumstances, though cancelling ↵Justin Clark-Casey (justincc)2013-03-122-34/+149
| | | | | | | | | | | | | | | | | | | | | | | | teleports is still not recommended. Previously, hitting the cancel button on a teleport would cancel on the client side but the request was ignored on the server side. Cancel would still work if the teleport failed in the early stages (e.g. because the destination never replied to early CreateAgent and UpdateAgent messages). But if the teleport still completed after a delay here or later on, the viewer would become confused (usual symptom appears to be avatar being unable to move/reteleport). This commit makes OpenSimulator obey cancellations which are received before it sends the TeleportFinish event queue message and does proper cleanup. But cancellations received after this (which can happen even though the cancel button is removed as this messages comes on a different thread) can still result in a frozen avatar. This looks extremely difficult and impossible to fix. I can replicate the same problem on the Linden Lab grid by hitting cancel immediately after a teleport starts (a teleport which would otherwise quickly succeed).
| * minor: remove some completely unused string local vars added recently in ↵Justin Clark-Casey (justincc)2013-03-061-2/+0
| | | | | | | | commit 984faf2
| * Add code for testing event queue messages recevied on region cross.Justin Clark-Casey (justincc)2013-03-062-3/+11
| | | | | | | | This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.