aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Convert SendKillObject to take a list of uint rather than sending oneMelanie2011-11-061-1/+1
| | | | packet per prim. More to come as we change to make use of this.
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-1/+1
| | | | | | from previous commit which sort out which iterator is used are left intact. A discussion is needed as to what constitutes an avatar vs a ScenePresence.
* Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake2011-11-033-17/+15
| | | | | | | | | | | | | | the 3 iteration functions so more of them are using the correct iteration for the action they are performing. The 3 iterators that seem to fit all actions within OpenSim at this time are: ForEachAvatar: Perform an action on all avatars (root presences) ForEachClient: Perform an action on all clients (root or child clients) ForEachRootClient: Perform an action on all clients that have an avatar There are still a dozen places or so calling the old ForEachScenePresence that will take a little more refactoring to eliminate.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-11-032-21/+35
|\
| * Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2011-11-021-7/+21
| |\
| * | Port the Avination offline messaging system to CoreMelanie2011-11-022-21/+35
| | |
* | | Change default say distance to 20m from 30m, the same as on the big grid. ↵Justin Clark-Casey (justincc)2011-11-021-1/+1
| |/ |/| | | | | | | | | This is to improve the migration of scripts that expect a 20m say distance. If you want to keep a 30m say distance then please set this as the say_distance parameter in the [Chat] section of OpenSim.ini.
* | Fix race condition that would sometimes send or save appearance for the ↵Justin Clark-Casey (justincc)2011-11-021-7/+21
|/ | | | | | | | | wrong avatar. In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread. If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched. This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent. This change loads the fields into local references so that this doesn't happen.
* Removed use of 'is' operator and casting to find the root ScenePresence in ↵Dan Lake2011-10-272-68/+41
| | | | MessageTransfer modules and Groups module.
* Continuation of previous checkin. Found more places where ↵Dan Lake2011-10-271-6/+4
| | | | ForEachScenePresence can be changed to ForEachRootScenePresence.
* Added new ForEachRootScenePresence to Scene since almost every delegate ↵Dan Lake2011-10-272-7/+4
| | | | passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
* Comment out inventory folder bulk update code on InventoryAccepted message ↵Justin Clark-Casey (justincc)2011-10-271-12/+18
| | | | | | | | introduced in commit db91044 on Aug 22 2011 This should be unecessary since the folder update is already made at the time of the offer (and moved to trash if not accepted). This code was also not taking into account the situation where an item was accepted. Needs more fixing if this results in an aggression elsewhere.
* Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)2011-10-254-1/+4
| | | | | | | | | of the other way around. This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes. Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
* Fix missing Busy-Mode ResponsePixel Tomsen2011-10-221-0/+1
| | | | http://opensimulator.org/mantis/view.php?id=5748
* Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake2011-10-192-268/+268
| | | | endings from previous commit.
* Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2011-10-192-328/+300
| | | | scene presence by client ID.
* remove now redundant m_physical_prim flag from SOP.ApplyPhysics()Justin Clark-Casey (justincc)2011-10-151-1/+1
|
* factor common code out into SOP.RemoveFromPhysics()Justin Clark-Casey (justincc)2011-10-151-4/+1
|
* Removed redundant scene presence lookups in HGMessageTransferModuleDan Lake2011-10-051-21/+4
|
* Removed all refs to IClientAPI from IAttachmentsModule. Separated client ↵Dan Lake2011-10-042-361/+375
| | | | handlers for attachments to call public interface and rearranged module file into sections
* Removed redundant code in AttachmentsModule and simplified interfaces which ↵Dan Lake2011-10-032-95/+73
| | | | converted back and forth between ScenePresence and IClientAPI. More to be done still.
* Remove usage of Linden packet types from inside Attachments Module and interfaceDan Lake2011-10-031-5/+4
|
* minor: remove clutter null check from pass in config to ↵Justin Clark-Casey (justincc)2011-10-011-8/+5
| | | | | | AvatarFactoryModule.Initialize() This is never null
* Add Enabled switch in new [Attachments] section in OpenSimDefaults.ini to ↵Justin Clark-Casey (justincc)2011-09-301-3/+53
| | | | | | allow attachments to be temporarily turned off. This is for debugging purposes. Defaults to Attachments Enabled
* Fix avatar parameter updating for viewer 3 and maybe 2.Justin Clark-Casey (justincc)2011-09-231-4/+15
| | | | | | | | | When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it. Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated. However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded. This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place. A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one. This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
* Fix failure to teleport when an agent is lured on the same sim (and probably ↵Justin Clark-Casey (justincc)2011-09-222-9/+18
| | | | | | | | | in neighbouring sims) with HG lure active It turns out that the HG lure module was setting up a pending lure when it intercepted the instant message on its way out to the target avatar. However, an IM would only be sent if the user was remote, so it would not be set up for users on the same sim or in an immediate neighbour. We fix this by adding the pending lure when the message goes out and ignoring a duplicate pending lure add if it goes to out via IM. Hopefully addresses http://opensimulator.org/mantis/view.php?id=5690
* On setting a new avatar appearance, if height hasn't changed then don't set ↵Justin Clark-Casey (justincc)2011-09-171-1/+3
| | | | | | that same height in ScenePresence. This prevents unnecessary work in the ODE module, though possibly that should be checking against same size sets itself
* Write code to create minimum necessary body parts/clothing and avatar ↵Justin Clark-Casey (justincc)2011-09-151-1/+1
| | | | | | | | | | | | entries to make a newly created user appear as a non-cloud on viewer 2 Viewer 2 no longer contains the default avatar assets (i.e. "Ruth") that would appear if the user had insufficient body part/clothing entries. Instead, avatars always appear as a cloud, which is a very bad experience for out-of-the-box OpenSim. Default is currently off. My intention is to switch it on for standalone shortly. This is not particularly flexible as "Ruth" is hardcoded, but this can change in the future, in co-ordination with the existing RemoteAdmin capabilities. Need to fix creation of suitable entries for users created as estate owners on standalone. Avatars still appear with spooky empty eyes, need to see if we can address this. This commit adds a "Default Iris" to the library (thanks to Eirynne Sieyes from http://opensimulator.org/mantis/view.php?id=1461) which can be used.
* Don't try and delete attachments for child agent closeJustin Clark-Casey (justincc)2011-09-131-0/+32
|
* Remove code from DetachSingleAttachmentToInv() that sets group changed on ↵Justin Clark-Casey (justincc)2011-09-131-11/+0
| | | | all parts, now that we're performing this check in UpdateKnownItem() for other purposes
* remove redunant itemID and agentID arguments from UpdateKnownItem().Justin Clark-Casey (justincc)2011-09-131-6/+4
| | | | itemID is always taken taken from the group's stored item id, and agentID is never used.
* Remove UpdateKnownItem() from IAttachmentsModule.Justin Clark-Casey (justincc)2011-09-131-1/+1
| | | | It's not appropriate for code outside the attachments module to call this.
* minor: remove redundant grp != null check from AM.UpdateKnownItem()Justin Clark-Casey (justincc)2011-09-131-36/+33
|
* Stop attempts to rewear already worn items from removing and reattaching.Justin Clark-Casey (justincc)2011-09-131-42/+77
| | | | | | | | Viewer 2/3 will sometimes attempt to rewear attachments, even though they have already been attached during the main login process. This change ignores those attempts. This stops script failures during login, as the rewearing was racing with the script startup code. It might also help with attachments being abnormally put into deleted state. Hopefully resolves some more of http://opensimulator.org/mantis/view.php?id=5644
* Comment out attachments code in Scene.IncomingCreateObject(UUID userID, UUID ↵Justin Clark-Casey (justincc)2011-09-131-3/+14
| | | | | | | | | itemID) for now As far as I can see, this is only invoked by a PUT request to ObjectHandlers, which is not being used anyway. Invoking attachments code at this point is probably inappropriate since it would still be invoked when the client entered the scene. Being commented to simplify analysis of attachments issues. Can be uncommented when in use. Also, small tweak to lock and log removal of a SOG from the SceneObjectGroupsByLocalPartID collection in SceneGraph.GetGroupByPrim() if an inconsistency is found.
* Start locking entire add/remove operations on an ↵Justin Clark-Casey (justincc)2011-09-121-175/+207
| | | | | | | | | 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.
* Remember to set and unset the fire and forget method at the top of the ↵Justin Clark-Casey (justincc)2011-09-081-3/+7
| | | | attachment and npc tests
* refactor: Make logic in AM.AttachObject() clearer by not reusing existing ↵Justin Clark-Casey (justincc)2011-09-061-14/+19
| | | | variables in different contexts
* rename AM.AddSceneObjectAsAttachment() to AddSceneObjectAsNewAttachmentInInvJustin Clark-Casey (justincc)2011-09-061-3/+3
|
* In SetAttachment, if the existing attachment has no asset id then carry on ↵Justin Clark-Casey (justincc)2011-09-061-0/+8
| | | | | | | | | | | rather than abort. When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments later fail unless the attachment is detached and reattached. Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
* Get rid of the confusing version of ↵Justin Clark-Casey (justincc)2011-09-061-11/+2
| | | | IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false
* get rid of the unused AttachmentsModule.ShowAttachInUserInventory()Justin Clark-Casey (justincc)2011-09-061-28/+0
|
* Stop the pointless double setting of every attachment in AvatarAppearance.Justin Clark-Casey (justincc)2011-09-062-6/+3
| | | | The second was already being filtered out so this has no user level effect
* Stop NPCs losing attachments when the source avatar takes them off.Justin Clark-Casey (justincc)2011-09-031-28/+48
| | | | | | | This was happening because we were using the source avatar's item IDs in the clone appearance. Switch to using the asset IDs of attachments instead for NPCs. The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item. Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
* If the user receiving an inventory folder has left the scene by the time the ↵Justin Clark-Casey (justincc)2011-09-011-5/+4
| | | | | | acceptence message arrives, then don't send them an inventory update. Doing so causes a NullReferenceException
* Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)2011-09-011-6/+0
| | | | It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
* move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)2011-08-311-0/+10
|
* refactor: move multiple class to set avatar height into associated ↵Justin Clark-Casey (justincc)2011-08-311-1/+1
| | | | SP.AddToPhysicalScene()
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-312-17/+12
| | | | | | | 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.
* remove pointless ToArray() call in AttachmentsModule.SaveChangedAttachments()Justin Clark-Casey (justincc)2011-08-301-1/+1
|