| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
|
|
|
| |
matches out fromItemID on detach, go through the agent's attachment sog list instead.
|
|
|
|
|
|
|
| |
RezSingleAttachmentFromInventoryInternal() returned null.
null would only ever be returned if the item couldn't be located within inventory and this would happen immediately.
In this case, derezzing wouldn't work anyway since there is no item to derez.
|
|
|
|
| |
OpenSimTestCase.SetUp()
|
|
|
|
| |
AttachmentsModule.
|
|
|
|
|
|
|
| |
confined to a single test if it's turned on.
This involves making test classes inherit from a common OpenSimTestCase.
This will be applied to more classes as required.
|
| |
|
|
|
|
| |
local variables
|
|
|
|
| |
This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
|
|
|
|
| |
since it doesn't need to be global and some tests set up more than one sp
|
|
|
|
| |
when an agent teleports to a neighbouring region
|
|
|
|
|
|
|
| |
before changing properties to avoid hud display race condition with update threads.
This matches behaviour in fatpack crossing, where attachments are cloned before their properties are changed.
This only applies to crossings to simulators running code released before April 2011.
|
|
|
|
| |
AvatarFactoryModule.SetAppearance() for future use
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
attachment before changing properties for correct inventory serialization.
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
|
|
|
|
| |
script URLs by more consistently locking on m_UrlMap
|
|
|
|
|
|
|
|
|
|
|
| |
can trigger an exception is the URL was being removed at the same time.
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.
Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
|
|
|
|
|
|
|
|
| |
AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.
Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
|
|
|
|
| |
attachment item setup
|
| |
|
|
|
|
| |
It's a valid configuration not to have these modules, but I think it's still worth logging the fact that certain permissions won't work (always return true)
|
|
|
|
|
|
| |
to debug
It's perfectly okay not to have this section.
|
|
|
|
| |
are starting up
|
|
|
|
| |
max_external_urls_per_simulator, which is what it was meant to be
|
|
|
|
|
|
|
| |
configuration of how many urls can be set up by llRequestURL()
Defaults remains as 100.
This setting is per simulator instead of per region due to how the url script module is structured.
|
|
|
|
| |
scattering them over other categories
|
|
|
|
| |
desired port.
|
|
|
|
| |
AttachmentsModule
|
|
|
|
|
|
| |
disappear for other avatars.
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
|
|
|
|
|
|
|
|
| |
point. HUDs attachment points are private.
Change SOP.SendFullUpdateToClient() and SoundModule.PlayAttachedSound() to use this rather than different magic number formulations.
This also corrects a bug in PlayAttachedSound() where the code assumed that all attachment points over 30 were HUDs.
It appears this is no longer true with Neck and Root (Avatar Center)
|
|
|
|
|
|
|
| |
rather than scanning all scene for the presence with the right id
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
|
|
|
|
| |
available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
|
| |
|
|
|
|
|
|
|
| |
ETM.DoTeleport() if an agent needs closing.
This is always done as part of Scene.RemoveClient()
Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
|
|
|
|
| |
Also change code to grab the agent asset transaction module once.
|
|
|
|
| |
module
|
|
|
|
| |
name and make it easier to distinguish between map image modules.
|
|
|
|
|
|
| |
we've finished with them.
This might help with memory leakage issues though I suspect it won't.
|
| |
|
|
|
|
|
|
|
| |
file when loaded from a stream.
Fixes a bug introduced 2 weeks ago in 67ebe80
Thanks to Plugh for pointing this out.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
arbitrary stats.
If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule
(http://opensimulator.org/wiki/Monitoring_Module)
This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings].
This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing.
This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds.
The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
|
|
|
|
| |
See "help teleport user" on the console for more details
|
|
|
|
| |
make code more analyzable
|
|
|
|
|
|
| |
start the handling.
Also fixes the log warning from ResetInTransit() if the state is cleared direct from Transferring or ReceiveAtDestination, as pointed out in mantis 5426
|
| |
|
|
|
|
| |
not before.
|
|
|
|
| |
return earlier to simplify method
|
|
|
|
| |
reason "Communications failure" no matter what the destination region actually returned
|
|
|
|
|
|
|
|
|
| |
before the source region has finished cleaning up old agent data and structures.
If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states.
To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp).
This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up.
Tested on standalone, grid and with v1 and v3 clients.
|