| Commit message (Collapse) | Author | Files | Lines |
|
avatar to sit in the position given if no sit target was set.
Previous behave was that the second avatar could not sit.
This matches behaviour observed on the LL grid.
|
|
and SOP.RemoveSittingAvatar()
|
|
This reverts commit c8f0d476d2f775ba4d7afca12eeff527b46bb8e2.
On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
|
|
|
|
rather than creating a new copy
There are no issues with side-effects since this is a struct.
|
|
property rather than being repeated in SP.
This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical.
Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
|
|
|
|
avatars rather than throwing an exception.
Extends sitting avatar regression tests to test new sitters information
|
|
the known item with script state still in the script engine and then remove the scripts.
This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
|
|
|
|
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
|
|
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks.
There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
|
|
a few commits ago in 43a2da9
|
|
the scene graph
|
|
Allow NPCS to touch obects.
|
|
Scene.AddObject()
Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
|
|
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
|
|
|
|
GroupForFull/PartUpdate() to indicate when region modules need to invoke them
|
|
This puts an extra m_part.ParentGroup.Scene == null check at the top of SceneObjectPartInventory.QueryScriptStates()
|
|
Signed-off-by: Melanie <melanie@t-data.com>
|
|
|
|
It appears this was never actually used since attachments were rezzed in other code.
This was never available on remote simulator comms, only local.
|
|
incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old)
|
|
in many, many log messages.
|
|
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
|
|
AttachmentsModule.
|
|
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.
|
|
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
|
|
moved.
This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
|
|
instead of magic numbers
|
|
instead of attachmentpoint magic numbers.
|
|
started.
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
|
|
main scene loop before RegionReady is signalled when initial script compilation finishes.
Also raises this logging level to Info from Debug since this information is of high importance. This matches the behaviour of the RegionReady module
|
|
object UUID rather than local id, since UUID doesn't potentially vary between simulator starts.
|
|
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.
|
|
consistency instead of IClientAPI.Close() directly.
This no longer double counts child agent removals
|
|
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
|
|
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
|
|
Also change code to grab the agent asset transaction module once.
|
|
|
|
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers.
In some ways this is not so artifical - physics FPS runs at the higher rate.
|
|
display total frame time, not just non-spare time.
This makes it easier to see when components of frame time exceed normal permitted frame time.
Currently reflect scene frame times.
|
|
time taken per second.
This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load)
Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
|
|
Looks like the wrong one was cut and pasted.
|