aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* minor: In AttachmentsModule.UpdateKnownItem use the existing ↵Justin Clark-Casey (justincc)2015-01-171-3/+2
| | | | IInventoryAccessModule reference that other methods are already using rather than fetching its own copy.
* Fix recent regression where a race condition meant SP.MakeRootAgent() would ↵Justin Clark-Casey (justincc)2014-12-171-5/+11
| | | | | | sometimes look to start attachment scripts before ETM.HandleIncomingSceneObject() had added them. Probably a regression since ghosts branch merge on Nov 26 2014
* Fix a regression where objects crossing regions in the same simulator (on ↵Justin Clark-Casey (justincc)2014-12-101-0/+7
| | | | | | | | | | their own or as attachments) with AppDomainLoading = false would create the new state in the source region area rather than the dest. This was beause the code was finding the script DLL compiled for the source region as everything is in the same appdomain and using this as the location for the destination script state, etc. This resolves the regression by passing the proper destination separately from the DLL retrieved. Probably a regression since commit d7b92604 (11 July 2014). Added regression test for this case. At least partly addresses http://opensimulator.org/mantis/view.php?id=7278
* minor: correct console response when setting attachments logging levelJustin Clark-Casey2014-11-101-1/+1
|
* Don't unnecessarily remove from backup objects that were not directly ↵Justin Clark-Casey (justincc)2014-10-021-3/+8
| | | | | | | attached from the scene. These are never in region backup in the first place since recent 11830c43 Extend regression test to check backup status.
* Fixed a problem with detaching attachments in situations where the user's ↵Diva Canto2014-05-221-7/+2
| | | | asset server is not the same as the simulator's asset server. Unfortunately this still continues to be wasteful -- new assets are created every time an attachment is detached, but the process of storing the new asset goes through the InventoryAccess module, which does all sorts of checks regarding the users' inventory.
* Fix issue where only one of multiple attachments on the same attachpoint for ↵Justin Clark-Casey (justincc)2014-05-011-0/+7
| | | | | | | | NPCs would be seen by other viewers. It appears that at least Singularity 1.8.5 (but probably others) rely on attachment FromItemIDs being different to display more than one. This commit resolves this by generating random IDs instead of always using UUID.Zero for NPCs. Resolves http://opensimulator.org/mantis/view.php?id=7110
* Fix negative stat for Active ScriptsDev Random2014-03-221-2/+3
| | | | Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
* minor: Use default(UUID) in rez attachment failure error logging rather than ↵Justin Clark-Casey (justincc)2013-11-151-1/+1
| | | | | | | (UUID)null Patch from http://opensimulator.org/mantis/view.php?id=6843 Thanks Kira.
* Preserve attachment point & position when attachment is rezzed in worldAleric Inglewood2013-09-221-1/+17
| | | | | | | | | | Patch taken from http://opensimulator.org/mantis/view.php?id=4905 originally by Greg C. Fixed to apply to r/23314 commit ba9daf849e7c8db48e7c03e7cdedb77776b2052f (cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
* minor: remove mono compiler warning from AttachmentsModuleJustin Clark-Casey (justincc)2013-08-171-2/+1
|
* Move experimental attachments throttling further down the chain so that ↵Justin Clark-Casey (justincc)2013-08-021-16/+15
| | | | multiple attachments changes (e.g. change outfit) are also throttled
* Add experimental "debug attachments throttle <ms>" setting (command line) ↵Justin Clark-Casey (justincc)2013-08-011-15/+87
| | | | | | | | | | and ThrottlePer100PrimsRezzed in [Attachments] in config This is an experimental setting to control cpu spikes when an attachment heavy avatar logs in or avatars with medium attachments lgoin simultaneously. It inserts a ms sleep specified in terms of attachments prims after each rez when an avatar logs in. Default is 0 (no throttling). "debug attachments <level>" changes to "debug attachments log <level>" which controls logging. A logging level of 1 will show the throttling performed if applicable. Also adds "debug attachments status" command to show current throttle and debug logging levels.
* Attachments module only registers when enabled. This enables alternative ↵Dan Lake2013-07-161-2/+4
| | | | attachments module implementations. All calls to Scene.AttachmentsModule are checking for null. Ideally, if we support disabling attachments then we need a null attachments module to register with the scene.
* remove pointless region handle paramter from IClientAPI.SendKillObject()Justin Clark-Casey (justincc)2013-05-091-1/+1
|
* minor: Remove unnecessary call to GetAttachments() in ↵Justin Clark-Casey (justincc)2013-04-021-2/+0
| | | | AttachmentsModule.UpdateUserInventoryWithAttachment()
* 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
* Check viewer 2/3 attachment calls against avatar appearance attachment data ↵Justin Clark-Casey (justincc)2013-03-291-19/+17
| | | | | | | | 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
* Stop attempts to update/add existing attachments in user inventory when ↵Justin Clark-Casey (justincc)2013-03-281-16/+15
| | | | | | 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.
* 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.
* Prevent multiple instances of the same item ID being appended to an ↵Justin Clark-Casey (justincc)2013-03-191-2/+2
| | | | | | | | 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.
* 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-181-3/+3
|
* Merge branch 'master' into newmultiattachMelanie2013-03-181-63/+61
|\ | | | | | | | | 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-181-12/+12
| | | | | | | | 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-181-88/+90
| | | | | | | | | | | | | | 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.
| * minor: remove some completely unused string local vars added recently in ↵Justin Clark-Casey (justincc)2013-03-061-2/+0
| | | | | | | | commit 984faf2
* | Merge commit 'ccd6f443e1092cb410f565e921f7cf4dd8cd2dac' into newmultiattachMelanie2013-03-181-139/+167
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
| * Get attachment script state before taking sp.AttachmentsSyncLock() to avoid ↵Justin Clark-Casey (justincc)2013-03-051-140/+161
| | | | | | | | | | | | race conditions between closing agents and scripts that may be doing attachment manipulation. This is in an effort to resolve http://opensimulator.org/mantis/view.php?id=6557
* | Limit each attachment point to 5 items as per specMelanie2013-03-181-3/+13
| |
* | Multiattach, part 1Melanie2013-03-181-30/+28
|/ | | | | | | | | | | | Conflicts: OpenSim/Framework/AvatarAppearance.cs OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
* Implement a workaround solution for saving manual script state changes by ↵Justin Clark-Casey (justincc)2013-01-111-5/+19
| | | | | | | the user before logout instead of wrongly removing the script early. This workaround relies on the fact that a closing client goes inactive before the attachments derez calls happen. This reverts the change to remove scripts too early instead of stopping them, since the the two step stop then remove is necessary to execute the detach event.
* Save attachments on detach/exit if a contained script state has been changed.Justin Clark-Casey (justincc)2013-01-111-1/+17
| | | | | | | This involves making Attachments module listen for start/stop script changes. It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim. Not just in a state where their scripts have been stopped.
* minor: Add some doc to the extremely unhelpful 'fudge....' comment as to why ↵Justin Clark-Casey (justincc)2013-01-031-1/+4
| | | | we're deselecting the prim in code before scheduling an update on attachment
* Fix problem where object attached from ground often does not get attached ↵Justin Clark-Casey (justincc)2013-01-031-9/+1
| | | | | | | | properly. It seems this is happening because we send a kill for objects that are selected when attached. A code comment says that this is to get the client to deselect it, but v3 and v1 clients do this just fine without the kill. Aims to address http://opensimulator.org/mantis/view.php?id=6456
* Make "show object part" command correctly display script status.Justin Clark-Casey (justincc)2012-10-311-3/+3
| | | | | Uses new IEntityInventory.TryGetScriptInstanceRunning() Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
* implementing osDropAttachment & osDropAttachmentAtSignpostMarv2012-10-021-1/+10
|
* Fire EventManager.TriggerOnAttach (and hence LSL attach event) when an ↵Justin Clark-Casey (justincc)2012-09-291-11/+17
| | | | | | | object is attached from the scene. Enables previously disabled regression test. Based on SingpostMarv's patch in http://opensimulator.org/mantis/view.php?id=6302 but I prefer a simpler approach that does not expose a resume scripts option right now.
* Guard against inventory get failures.Diva Canto2012-09-221-0/+3
|
* Fix scripted detach of temp attachmentsMelanie2012-08-201-6/+2
|
* As per lindn spec, disable detach and drop for temp attachmentsMelanie2012-08-141-0/+8
|
* Lay some groundwork for temp attachments. Decouple attachments from inventory.Melanie2012-08-141-14/+27
|
* Change attachment handling to remove object from the scene first as perMelanie2012-07-231-29/+59
| | | | | | justincc's original work. Sample scripts before doing so. Also refactor some crucial common code and eliminate parameters that were only ever used with the same constant value.
* Fix the order of operations on detach. The object must always be serializedMelanie2012-07-201-6/+10
| | | | | while still in the scene to avoid losing important script state. DeleteSceneObject can not be called before doing this!
* Restore update of inventory item on derez/logout. This is necessary to ↵Justin Clark-Casey (justincc)2012-07-171-1/+6
| | | | | | | update the name if this has been changed whilst attached. Note, this behaviour appears to be at variance with the ll grid as of Tues 17 July 2012, testing with viewer 3.2.1. The item name in inventory does not change either at the point of detach or after a relog.
* Stop sending the viewer an inventory create message if a known attachment ↵Justin Clark-Casey (justincc)2012-07-171-4/+1
| | | | | | | item is updated. This doesn't seem to make any sense and probably stems from a period when this code was directly involved in attaching objects directly from the scene. This message is already being sent by InventoryAccessModule code instead.
* Add regression TestDetachScriptedAttachmentToInventory()Justin Clark-Casey (justincc)2012-07-111-5/+11
| | | | This currently only does a relatively crude check for a ScriptState node in the serialized xml