Justin Clark-Casey (justincc)
c92654fb43
Stop attempts to update/add existing attachments in user inventory when teleporting between regions.
...
This appears to resolve issues on teleport where attachments disappear or become labelled as invalid within user inventory.
2013-03-28 23:57:35 +00:00
Justin Clark-Casey (justincc)
4ad9b27530
If the viewer has already rezzed any attachments itself, then ignore the 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.
2013-03-28 22:51:59 +00:00
Melanie
fcecfc81bb
Multiattach, part 1
...
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
2013-03-18 22:56:03 +00:00
SignpostMarv
35b7c80e0b
implementing osDropAttachment & osDropAttachmentAt
2012-10-02 22:14:46 +01:00
Melanie
fe4c3a37c0
Lay some groundwork for temp attachments. Decouple attachments from inventory.
2012-08-14 00:12:15 +01:00
Melanie
e126915bc1
Change attachment handling to remove object from the scene first as per
...
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.
2012-07-23 21:39:26 +01:00
Justin Clark-Casey (justincc)
fc24563206
Add regression TestDetachScriptedAttachmentToInventory()
...
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc)
bfa6896678
Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
...
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc)
d043213317
refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule.
2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc)
e5b739aaeb
When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
...
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Melanie
241ddd031f
Fix copy/paste errors
2012-02-01 09:45:15 +00:00
Dan Lake
92c88121c7
Removed all refs to IClientAPI from IAttachmentsModule. Separated client handlers for attachments to call public interface and rearranged module file into sections
2011-10-04 14:40:39 -07:00
Dan Lake
460946ad62
Removed redundant code in AttachmentsModule and simplified interfaces which converted back and forth between ScenePresence and IClientAPI. More to be done still.
2011-10-03 16:44:32 -07:00
Dan Lake
e77c919290
Remove usage of Linden packet types from inside Attachments Module and interface
2011-10-03 11:55:54 -07:00
Justin Clark-Casey (justincc)
2d62484f11
Remove UpdateKnownItem() from IAttachmentsModule.
...
It's not appropriate for code outside the attachments module to call this.
2011-09-13 22:27:33 +01:00
Justin Clark-Casey (justincc)
ea0f78c971
Start locking entire add/remove operations on an IScenePresence.AttachmentsSyncLock object
...
Attach and detach packets are processed asynchronously when received from a viewer.
Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads.
Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections.
Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
2011-09-12 21:57:22 +01:00
Justin Clark-Casey (justincc)
c6ec573d10
Get rid of the confusing version of IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false
2011-09-06 00:36:38 +01:00
Justin Clark-Casey (justincc)
7d58b5fa15
move common code into AttachmentsModule.DeleteAttachmentsFromScene()
2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc)
ddc733cd3d
refactor: move SP.SaveChangedAttachments() fully into AttachmentsModule
2011-08-30 23:32:30 +01:00
Justin Clark-Casey (justincc)
04bafd2122
refactor: Move ScenePresence.RezAttachments() into AttachmentsModule
...
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30 23:06:10 +01:00
Justin Clark-Casey (justincc)
1de68b34d9
refactor: migrate DropObject handling fully into AttachmentsModule from Scene
2011-08-30 22:25:38 +01:00
Justin Clark-Casey (justincc)
ae614c1264
refactor: simplify DetachSingleAttachmentToGround() by retrieving the scene object group direct
2011-08-26 22:37:53 +01:00
Justin Clark-Casey (justincc)
97b207240e
rename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour
2011-08-23 22:05:22 +01:00
Justin Clark-Casey (justincc)
d328046efb
If an attachment fails, then start logging the exception for now, in order to help with the inconsistent state bug.
...
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
2011-08-22 23:59:48 +01:00
Justin Clark-Casey (justincc)
acfdca34fd
Fix issue where loading a new appearance onto an NPC would not remove the previous attachments from the scene.
...
Addresses http://opensimulator.org/mantis/view.php?id=5636
2011-08-17 01:35:33 +01:00
Justin Clark-Casey (justincc)
e62b3dba8a
reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being used by a 3rd party region module and contains non-obvious attachment specific code
...
There are no functional changes. UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
2010-12-14 00:11:41 +00:00
Melanie
7bb005b0d1
Change the way attachments are persisted. Editing a worn attachment will now
...
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Justin Clark-Casey (justincc)
cd153a20b7
Remove IAttachmentsModule.SetAttachmentInventoryStatus() from public interface
...
No core module is calling and it makes more sense to call methods such as AttachObject() which attach both to the avatar and update inventory appropriately
2010-09-13 21:05:03 +01:00
Jeff Ames
f1f0bc23f4
Formatting cleanup.
2010-09-12 13:43:49 -04:00
Justin Clark-Casey (justincc)
f3f4428700
refactor: break out attachment position change code in Scene.UpdatePrimPosition() and move into AttachmentsModule
...
This allows region modules to change attachment positions.
2010-08-26 21:50:19 +01:00
Melanie
e1ea82b329
Major attachments cleanup. Remove unused AttachObject ClientView method
...
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:51:12 +01:00
Melanie Thielker
a7b5fe6a88
Remove useless quaternion parameter from AttachObject sig
2010-07-14 19:49:54 +01:00
Justin Clark-Casey (justincc)
26e3884237
refactor: move DeatchObject() into the AttachmentsModule
2010-04-17 00:00:45 +01:00
Justin Clark-Casey (justincc)
57c293d604
refactor: crudely move DetachSingleAttachmentToGround() over to the AttachmentsModule
2010-04-16 23:15:13 +01:00
Justin Clark-Casey (justincc)
17d023ba5b
refactor: crudely move the RezMultipleAttachments() method into the AttachmentsModule
2010-04-16 22:54:25 +01:00
Justin Clark-Casey (justincc)
315fa06c75
refactor: Move another RezSingleAttachment() from Scene.Inventory to AttachmentsModule
2010-03-12 23:20:38 +00:00
Justin Clark-Casey (justincc)
582375509c
refactor: move RezSingleAttachmentFromInventory() from SceneGraph to AttachmentsModule
2010-03-12 22:48:49 +00:00
Justin Clark-Casey (justincc)
b9f5cd75bc
refactor: move client invoked AttachObject from SceneGraph to AttachmentsModule
2010-03-12 22:39:15 +00:00
Jeff Ames
f58a0394ed
Formatting cleanup. Add copyright notices.
2010-03-10 13:15:36 +09:00
Justin Clark-Casey (justincc)
395f343498
refactor: Move DetachSingleAttachmentToInv to region module
...
need to rationalize method names later
2010-03-06 00:07:47 +00:00
Justin Clark-Casey (justincc)
b72c2dc6e8
refactor: move user inventory side of RezSingleAttachment to module
2010-03-05 23:29:24 +00:00
Justin Clark-Casey (justincc)
60553e62a3
refactor: begin to move attachments code into a region module
2010-03-05 23:18:47 +00:00