Justin Clark-Casey (justincc)
e69f246b86
refactor: move multiple class to set avatar height into associated SP.AddToPhysicalScene()
2011-08-31 17:25:18 +01:00
Justin Clark-Casey (justincc)
32444d98cb
Make SP.Attachments available as sp.GetAttachments() instead.
...
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc)
2acfff9f6d
remove pointless ToArray() call in AttachmentsModule.SaveChangedAttachments()
2011-08-30 23:39:26 +01:00
Justin Clark-Casey (justincc)
1809aaf74c
minor: remove already processed avatar null check in Scene.RemoveClient()
...
remove some now duplicated method doc
2011-08-30 23:36:45 +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)
e7a515bab0
Fix bug where attachments were remaining on the avatar after being dropped.
...
If the inventory service is configured not to allow deletion then these will not disappear from inventory
2011-08-30 22:06:24 +01:00
Justin Clark-Casey (justincc)
be357f8fee
Fix bug in persisting saved appearances for npcs
...
Assets have to be marked non-local as well as non-temporary to persist. This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Justin Clark-Casey (justincc)
1615e7d29f
Eliminate duplicate AttachmentPoint properties by always using the one stored in the root part's state field.
2011-08-27 00:33:24 +01:00
Justin Clark-Casey (justincc)
b7700428ec
refactor: camel case AttachmentPoint method arg as per code standards
2011-08-27 00:20:15 +01:00
Justin Clark-Casey (justincc)
33a894f3d2
refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values
2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc)
15a514fcbc
refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
...
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Justin Clark-Casey (justincc)
5f3ffc195f
refactor: move SOG.DetachToGround() to AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
2011-08-26 22:49:11 +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)
040ad11e61
refactor: remove common presence set up in attachments tests
2011-08-26 22:24:51 +01:00
Justin Clark-Casey (justincc)
dc61bf4b1f
comment out verbose test logging from last commit
2011-08-26 22:17:27 +01:00
Justin Clark-Casey (justincc)
1dba047e4d
add regression test for detaching an attachment to the scene
2011-08-26 22:17:05 +01:00
Justin Clark-Casey (justincc)
002313bf13
refactor: move sog.DetachToInventoryPrep() into AttachmentsModule.DetachSingleAttachmentToInv()
2011-08-26 22:02:23 +01:00
Justin Clark-Casey (justincc)
fcbed6479a
Downgrade warning about not saving unchanged attachment to debug instead, and change text to better indicate what it's saying
2011-08-26 21:46:12 +01:00
Justin Clark-Casey (justincc)
6c692d2e21
Fix a very recent regression from llAttachToAvatar() fix where I accidentally stopped normal script state persistence on login/logout and attach/detach
2011-08-26 21:26:29 +01:00
Justin Clark-Casey (justincc)
4b4c5e69e5
Remove forcing of phantom on ground attached objects - attachments can be both non-phantom and flagged as physical.
...
As per Melanie
2011-08-24 22:45:51 +01:00
Justin Clark-Casey (justincc)
21f1b68fdf
extend initial rez regression test to check that attachment is phantom
2011-08-24 22:25:23 +01:00
Justin Clark-Casey (justincc)
73d913dad2
Make objects attached from the ground phantom
2011-08-24 22:12:51 +01:00
Justin Clark-Casey (justincc)
801b7f18a7
return InventoryItemBase from AddSceneObjectAsAttachment()
2011-08-24 21:40:36 +01:00
Justin Clark-Casey (justincc)
5eeee480d4
refactor: move Scene.Inventory.attachObjectAssetStore() into AttachmentsModule.AddSceneObjectAsAttachment()
2011-08-24 21:35:44 +01:00
Justin Clark-Casey (justincc)
ccf07f6ae3
refactor: remove pointless AgentId argument from attachObjectAssetStore()
2011-08-24 21:14:57 +01:00
Justin Clark-Casey (justincc)
b9ec625dbf
add TestAddAttachmentFromGround() regression test
2011-08-24 21:07:46 +01:00
Justin Clark-Casey (justincc)
cf3ffe5bb4
Fix llAttachToAvatar()
...
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this. The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +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)
014cd4f8bb
remove mono compiler warnings
2011-08-23 21:41:16 +01:00
Justin Clark-Casey (justincc)
805ba268d5
replace TestRemoveAttachments() with a more thorough TestRemoveAttachment()
2011-08-23 21:37:36 +01:00
Justin Clark-Casey (justincc)
34aed96a2f
replace old TestAddAttachments() with a more thorough TestAddAttachment()
2011-08-23 21:20:23 +01:00
Justin Clark-Casey (justincc)
1f3ce48be1
If an object failed to attach due to an exception, then try and detach it from the avatar's list of attachments as well as delete it from the scene.
...
This may help with the "Inconsistent attachment state" errors seen on teleport.
See http://opensimulator.org/mantis/view.php?id=5644 and linked reports
2011-08-23 00:04:38 +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
Snoopy Pfeffer
db91044593
Thanks Neil Canham for fixing bulk inventory updates, no sending BulkInventoryUpdate after accepting inventory items.
2011-08-22 14:51:43 +02:00
Justin Clark-Casey (justincc)
c1a34cd8da
Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
...
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc)
d8f886ccdb
comment out noisy attachments logging
2011-08-17 23:41:20 +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)
bd5d35ee32
extend test to check that there is one attachment and that it has the right name
2011-08-17 00:42:58 +01:00
Justin Clark-Casey (justincc)
696bd44833
Add new regression TestRezAttachmentsOnAvatarEntrance() to do simple attachments check
2011-08-17 00:37:33 +01:00
Justin Clark-Casey (justincc)
57e54d84d6
Add new FireAndForgetMethod.None.
...
This executes the callback on the same thread that made the request. Designed for use only by regression tests that rely on a predicable event ordering.
2011-08-16 23:05:08 +01:00
Justin Clark-Casey (justincc)
d3c10e609e
Move some previously common code back into separate tests. Remove unused region handle from test.
2011-08-16 22:27:52 +01:00
Justin Clark-Casey (justincc)
0bbf7c21d7
Isolate existing incomplete attachments tests rather than have them rely on each other.
...
Much easier to debug this way.
2011-08-16 22:13:32 +01:00
Justin Clark-Casey (justincc)
c58b32e7ba
drop number of attachments in test from 3 to 2 to reduce text complexity
2011-08-16 22:09:13 +01:00
Justin Clark-Casey (justincc)
601257f8b6
remove setting up of second scene in attachments since it's not currently used
2011-08-16 21:58:52 +01:00
Justin Clark-Casey (justincc)
66eb537d0c
relocate AttachmentTests.cs to AttachmentsModuleTests.cs
2011-08-16 21:56:56 +01:00
Justin Clark-Casey (justincc)
2169cf04f9
When saving appearance, only save the baked textures, not the other face textures (which are already stored permanently)
2011-08-12 01:24:15 +01:00
Justin Clark-Casey (justincc)
195c1dc9b8
implement osNpcStopMoveTo() to cancel any current move target
2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc)
e869eeb0bf
Implement first draft functions for saving and loading NPC appearance from storage.
...
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00