Commit Graph

1411 Commits (35b37510fca537d12c2eabc68be51e370dc6d6ce)

Author SHA1 Message Date
UbitUmarov 6857afe2a4 *test* back to no sog kills, little retouch on attachment updates,
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
UbitUmarov b1f14ad62f back to just kills 2014-08-25 14:15:53 +01:00
UbitUmarov 385fcbb75e *test* send kills and hack 2014-08-25 13:58:50 +01:00
UbitUmarov f4a6be8654 clean sendKill a bit, remove a IsChild that is set too early in a calling
path
2014-08-24 00:44:14 +01:00
UbitUmarov 06b6238d00 send avatar kills after attachments, send otherattachments before rest of
sog ( updates will mess this again but well... )
2014-08-23 22:24:28 +01:00
UbitUmarov 8fd836c299 back to sending attachment sog kills in place of the hack. This is the
official way of doing it
2014-08-23 12:03:55 +01:00
UbitUmarov 1aa335078a sop SendFullUpdate() goes by presence if it is a attachment 2014-08-22 21:54:00 +01:00
UbitUmarov 0295e6822d some cleanup ( well or not ) 2014-08-22 20:01:07 +01:00
UbitUmarov c95fd60806 revert the kills, they seem even worse 2014-08-22 00:28:05 +01:00
UbitUmarov 0da7f8e863 silly... 2014-08-22 00:01:50 +01:00
UbitUmarov be02fb3904 replace hack by sog kills on tp out 2014-08-21 23:43:06 +01:00
UbitUmarov d5bb80798d make the hack more extensive. Forbid sog/sop updates if Intransit but
release it sooner
2014-08-21 23:18:51 +01:00
UbitUmarov 6674548af0 replace AgentHasMovedAway + KillEntity by a hacked version on teleports 2014-08-21 22:42:45 +01:00
UbitUmarov ad83b18634 some cleanup.. 2014-08-21 14:07:55 +01:00
UbitUmarov b68c814bc6 ... 2014-08-21 10:53:59 +01:00
UbitUmarov 114144407b variations.. 2014-08-21 09:32:36 +01:00
UbitUmarov 5f1cb6542d test 2014-08-21 06:35:11 +01:00
UbitUmarov ad6f942279 add filter sog updates 2014-08-21 06:11:19 +01:00
UbitUmarov d98d64a61a bug fix 2014-08-21 05:28:35 +01:00
UbitUmarov d2f3a19838 test 2014-08-21 05:00:51 +01:00
UbitUmarov 6acfa77919 test 2014-08-21 04:35:04 +01:00
UbitUmarov 87f03c040c bad test 2014-08-21 04:07:23 +01:00
UbitUmarov 5bf145a397 add a direct sendpartfullUpdate to send a full object update to a part,
optionally overriding its parentID. check what it does to attachments
2014-08-21 00:49:10 +01:00
UbitUmarov 16cf3967b4 Reserve a extra localID for a presence ( it will be localID + 1 ) 2014-08-20 17:54:23 +01:00
UbitUmarov b21b6532b0 sending attachment kills before putting them back doesnt cover all cases
and seems heavy for viewers
2014-08-20 17:48:10 +01:00
UbitUmarov d16f7df673 also send attachment pre-kills on crossings 2014-08-19 20:33:26 +01:00
UbitUmarov 6aa60a5d97 test .... 2014-08-19 19:56:43 +01:00
UbitUmarov cca2ae3c89 test 2014-08-19 19:47:41 +01:00
UbitUmarov ca43a7fe63 variationsss... 2014-08-19 09:42:45 +01:00
UbitUmarov b0253362c7 remove the silly sendTerseUpdates. I was fooled by wingridproxy not
decoding updates correctly
2014-08-19 09:18:29 +01:00
UbitUmarov e883fb519b test 2014-08-19 06:53:02 +01:00
UbitUmarov 65983cc4fc test 2014-08-19 06:23:30 +01:00
UbitUmarov 1c9af8727d send the avatar data after sending attachments, by the same Entity updates
path
2014-08-19 05:13:18 +01:00
UbitUmarov e77fafe12d *test* send attachments in sync, resend avatar at end 2014-08-19 02:15:01 +01:00
UbitUmarov ffcc1d7fa2 undo the hack.. its useless 2014-08-18 23:14:04 +01:00
UbitUmarov d31f361e89 moved hacks to scene presence completemovement, possible only needed
there?
2014-08-18 19:41:16 +01:00
UbitUmarov 83e545df93 *DANGER* *HACKS* on reusing child presences: partA send kills to
viewers, partB keep using same localID (as before)
2014-08-18 19:14:53 +01:00
UbitUmarov 96de2a2fd2 reduce the kills sent, hide attachments kills on origin 2014-08-18 04:07:40 +01:00
UbitUmarov f8e4805d98 NOT GOOD. Changed hide code on crossing/tp. Send needed avatar and attachments
kills, visible so we can see what is going on, to try to improve later
(this are always needed, hidding just made issues more visible )
2014-08-18 01:34:16 +01:00
UbitUmarov f8b8cf3d8f more detailed timing on completmovement 2014-08-16 22:16:15 +01:00
UbitUmarov f6642a1cc8 minor low resolution debug timming 2014-08-16 21:53:45 +01:00
UbitUmarov dc178959c5 change how avatar data, appearance and animations are sent, specially
the order
2014-08-16 14:52:09 +01:00
Justin Clark-Casey (justincc) e0c6bfa81e If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc) 91e1aaa5d4 On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
UbitUmarov ca28062722 dont mess with Throttles in code also used to send to main regions. Use
full parameters on appearance cloning so its clear we want it all
2014-08-14 12:34:07 +01:00
Justin Clark-Casey (justincc) bc0895c758 On entity transfer of scene presence, replace polling sleep in SP.WaitForUpdateAgent() with a triggered event instead.
Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time.
A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
2014-08-13 23:45:51 +01:00
Justin Clark-Casey (justincc) 0d2a25b477 Remove redundant origin region lock in SP.CompleteMovement()
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
2014-08-13 23:11:32 +01:00
UbitUmarov 92117d48af remove the region where we are root from the list of Neighbours and
childSeeds
2014-08-13 03:54:13 +01:00
UbitUmarov 444b41b22a reverted last change since it did nothing usefull 2014-08-13 03:11:55 +01:00
UbitUmarov 0a1ffad07c TEST do a Animator.UpdateMovementAnimations() when making root ( in
validate appearence just before sending animation
2014-08-13 03:01:49 +01:00
UbitUmarov bf269c871a use Vector3.normalize in place of util.GetNormalize 2014-08-12 20:59:36 +01:00
UbitUmarov c7e3e59953 try no send current LookAt, remove redundant incomplete position height
check
2014-08-12 20:37:34 +01:00
UbitUmarov 4997a9e87a fix VS creative indentation 2014-08-12 18:42:18 +01:00
UbitUmarov a0f26dc6ec change XMLIrpgGroups attach to events, using the more correct
\addons\Groups\...  model
2014-08-12 18:28:01 +01:00
UbitUmarov 2cc8e90bd2 remove a land.SendLandUpdateToClient() since its now done for all cases in
completmovement and not only that specific one
2014-08-11 02:51:34 +01:00
UbitUmarov ba33d78af9 dont do ParcelCrossCheck() on child avatars 2014-08-11 01:44:12 +01:00
UbitUmarov 7fcd1068e7 TEST move parcelRegionCross to EntityTransferModule cross so it works on
sitting avatars. (may be bad) comented out sending root avatars
information to the child that was just a root it should have it all
already. Dont turn a sitting avatar physical,  that needs to be a stand at SOG
2014-08-10 20:09:02 +01:00
UbitUmarov dc7b9c1cc3 dont do for children what is for growups ( root agents) ( needs check) 2014-08-09 15:12:02 +01:00
UbitUmarov b7f24bacce bugg 2014-08-07 06:09:56 +01:00
UbitUmarov c3f9c99fb3 DANGER... changed bakedtextures caching. Assuming grid baking is cache
only, reduced number of accesses to it. TESTING
2014-08-07 05:20:45 +01:00
Justin Clark-Casey (justincc) 961cb9cc77 refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance for better accuracy and consistency with other similar parameters 2014-08-06 00:35:26 +01:00
UbitUmarov 507a29d581 diference fix 2014-08-04 21:55:58 +01:00
UbitUmarov 3cca5ec667 check... 2014-08-04 21:52:29 +01:00
UbitUmarov 3d81f25e34 Revert "start sending terrain in scenePresence after well defined avatar. Minor"
This reverts commit 05a2feba5d.
2014-08-04 20:32:11 +01:00
UbitUmarov 05a2feba5d start sending terrain in scenePresence after well defined avatar. Minor
change on significante AgentUpdate check.
2014-08-04 19:57:47 +01:00
UbitUmarov b07b0ff555 missing child login parcel overlay 2014-08-04 00:16:56 +01:00
UbitUmarov bad01fbb41 some mess cleanup 2014-08-03 22:57:08 +01:00
UbitUmarov 0d71a2bb8f mess update ( hide avatars ) 2014-08-03 22:38:50 +01:00
UbitUmarov bcab663ad7 debug... 2014-08-03 06:16:30 +01:00
UbitUmarov cc16fe68cc .... 2014-08-03 02:26:39 +01:00
UbitUmarov b9443b186e test... 2014-08-03 02:09:07 +01:00
UbitUmarov 53e95803a5 test not rezzing attachments on a FireAndForget 2014-08-03 01:20:34 +01:00
UbitUmarov 9f5e19127d comment out a debug msg. more on gods being Gods 2014-08-03 00:22:21 +01:00
UbitUmarov addca0737c testing... 2014-08-02 23:38:18 +01:00
UbitUmarov 009e8ee76c testing 2014-08-02 23:04:18 +01:00
UbitUmarov e87f70e277 god also read local chat 2014-08-02 22:45:28 +01:00
UbitUmarov 580604c231 let gods see hidden avatars ( test ) 2014-08-02 22:32:51 +01:00
UbitUmarov 35616339f3 remove the groups restrictions for npcs since they do nothing usefull 2014-08-02 21:01:44 +01:00
UbitUmarov 46da95d1b7 bug hunt: disable group for npc 2014-08-02 19:33:38 +01:00
UbitUmarov 74447d14cd add some filters for NPCs 2014-08-02 18:32:28 +01:00
UbitUmarov b0864a2f0f crossing into a hide parcel may work now. Not nice fix.. need get back to
this later
2014-08-02 14:17:00 +01:00
UbitUmarov 20eeeba0d2 initial state change 2014-08-02 03:17:39 +01:00
UbitUmarov c11c4c0daa add a hide check at end of region arrival 2014-08-02 02:26:54 +01:00
UbitUmarov 46add98071 remove a few more 2014-08-02 01:45:32 +01:00
UbitUmarov bdac5058c8 remove some ischild tests 2014-08-02 01:21:24 +01:00
UbitUmarov e296f25445 sitting avatars hidding by their position. This is not as SL that uses
avatar sitting on root prim. All cases have good and bad situations, this is
simpler. Only SOG position changes triggers checks, rotation alone will
not. ( as happens in other cases ) (UNTESTED, as usual )
2014-08-01 19:52:55 +01:00
UbitUmarov ef1f37cf20 handle change of hide avatars flag. Parcel limits edition still need work 2014-08-01 18:59:08 +01:00
UbitUmarov 0a1e9d731d work on hide avatars 2014-08-01 00:34:52 +01:00
UbitUmarov a5e9429f2b MESS: changes in MakeRootAgent and CompleteMovement reordering things.
Added sending of land overlay and parcel information. This in order to
only send avatar related information after having its position well
defined and on the right parcel. THIS MAY STILL BE BAD :)
2014-07-31 03:10:50 +01:00
UbitUmarov 17f9f1c247 restrict other avatar sounds to parcel flags ( untested ) 2014-07-30 16:32:25 +01:00
UbitUmarov 2a2a772408 mute avatar collision sounds if parcel doesnt allow 2014-07-30 15:36:49 +01:00
Justin Clark-Casey (justincc) fcf5fb5dfd Implement "scene debug set root-upd-per" for dropping 1 in N root agent updates except to originator
For experimental purposes.
Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
2014-07-29 18:54:16 +01:00
Justin Clark-Casey (justincc) 0f87a99e54 Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.
Allows experiments in manually reducing updates under heavy load.
Activated by "debug scene set client-upd-per" console command.
In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
2014-07-29 18:09:11 +01:00
Justin Clark-Casey (justincc) f54fccba1e Make it possible to change avatar position update, rotation and velocity tolerances on the fly.
This is done via "debug scene set client-pos-upd, client-rot-upd, client-vel-upd".
For testing purposes.
2014-07-29 03:13:10 +01:00
UbitUmarov 43cf184603 clear script controls on crossing (untested)(possible should be done
elsewhere/othe way)
2014-07-26 16:56:21 +01:00
UbitUmarov 8808549669 on sit use root prim camera at and eye if child as neither 2014-07-23 23:09:13 +01:00
UbitUmarov f6af5f4996 change last commit setting intransit without messing flight 2014-07-23 22:28:51 +01:00
UbitUmarov f9ae7ea2e6 do CompleteMovement with InTransit set as core 2014-07-23 21:14:35 +01:00
UbitUmarov 237075ce21 cleanup a bit presence CheckForBorderCrossing removing dead code 2014-07-23 20:31:54 +01:00
UbitUmarov d64a50ac9b changed locations of m_originRegionID setting to where current core has
them. Changed avatar AbsolutePosition, it still didnt assume m_pos as
 relative to root prim. ( forgot to commit before) ( this sit may still
 have loose ends, specially around the use of OffsetPosition that is now
 relative to root prim and was relative to prim)
2014-07-23 19:56:06 +01:00
UbitUmarov 0331159d2c clamp avatar standup position within region 2014-07-22 21:34:21 +01:00
UbitUmarov 5cdd205ee7 change presence movetotarget avoiding trying to go undergroud or fly when
it can walk. ( still needs better code )
2014-07-21 21:31:48 +01:00
Oren Hurvitz 899bcb7acd Fixed: after a Hypergrid teleport, attachments often either disappear, or appear both on the avatar AND as in-world objects.
Another manifestation of this bug is that after a Hypergrid teleport, when you click on one of the avatar's attachments the object doesn't show its name. This means that the viewer knows the attachment is there, but the simulator does not.

The problem was caused by treating Hypergrid teleports as if they're Logins (because the teleport flag ViaLogin is enabled).

This may fix: http://opensimulator.org/mantis/view.php?id=7238
This may fix: http://opensimulator.org/mantis/view.php?id=7220
2014-07-21 09:29:51 +01:00
Oren Hurvitz 4c5d7d4683 Fixed problems if an avatar tries to cross regions when the previous cross hasn't completed yet
This caused the client to stop responding, and even the simulators to have problems. The solution is to disallow crossing before the previous cross has completed.
2014-07-21 09:23:13 +01:00
UbitUmarov 719880a6ff make sittarget camera relative to root prim
Please enter the commit message for your changes. Lines starting
2014-07-20 20:20:59 +01:00
UbitUmarov 5f364dbed5 another change to standup 2014-07-20 16:09:34 +01:00
UbitUmarov d6f56a4f99 change avatar standup code 2014-07-20 16:03:05 +01:00
UbitUmarov 79aea3e588 physicsSit SendSitResponse also relative to parent prim 2014-07-20 09:21:00 +01:00
Diva Canto d99c8e68a7 It turns out that child agent management has had a bug for a while: there was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions. 2014-07-04 10:13:53 -07:00
Diva Canto 807fb8339b Revert "Let HG users be gods too, if they have local permission to be so."
HG gods are not safe at this point. It's better to disallow this until
they can be made safe.

This reverts commit e86c765be3.
2014-06-09 22:00:10 -07:00
Diva Canto e86c765be3 Let HG users be gods too, if they have local permission to be so. 2014-06-09 21:46:24 -07:00
Robert Adams 22dade6463 varregion: More tweeking to only sending patches within avatar draw distance.
Still has problems with child avatars.
2014-05-31 12:19:50 -07:00
Justin Clark-Casey (justincc) bf5320eb26 minor: rename velocidyDiff -> velocityDiff 2014-05-30 22:21:13 +01:00
Justin Clark-Casey (justincc) 3c992b028c minor: Add some commented out logging to ScenePresence.SendTerseUpdateToAllClients() which is extremely helpful when investigating presence update triggers. 2014-05-30 22:18:07 +01:00
Justin Clark-Casey (justincc) 5015b0b485 If one is sitting on a child with an unset camera-eye and so using one set in a root prim, the focus should remain on the root prim.
Matches behaviour just tested on the Linden grid.
2014-05-23 01:55:05 +01:00
Justin Clark-Casey (justincc) c78a8271c4 Add any camera at compensation for sat upon child prims to any existing camera-at value, rather than replace. 2014-05-23 01:38:05 +01:00
Justin Clark-Casey (justincc) fbed245596 Compensate camera-at and camera-eye for child prim rotation when sitting on child prim with camera-eye set 2014-05-23 01:34:02 +01:00
Justin Clark-Casey (justincc) 3fbaef9275 If the root prim has a camera-at or camera-eye setting and a sat upon child prim does not, use the root prim offsets.
This matches behaviour just tested on the Linden Lab grid.
2014-05-22 23:52:28 +01:00
Justin Clark-Casey (justincc) 16bf38e1ab Fix issue where llSetCameraAtOffset() and llSetCameraEyeOffset() in non-root prims moved camera/focus to wrong position.
For non-root prim, eye offsets now need to be made relative to root prim if either camera-at or camera-eye are set.
Probably a regression since November 2013 when all sits were made relative to root prim to match viewer expections (and fix other bugs).
Addresses http://opensimulator.org/mantis/view.php?id=7176
2014-05-22 23:39:22 +01:00
Justin Clark-Casey (justincc) d93275745b minor: Remove some unused fields in ScenePresence 2014-05-20 23:57:03 +01:00
Justin Clark-Casey (justincc) 9479f64778 Fix issue where avatar and script chat could sometimes be heard from anywhere in neighbouring regions.
This was due to a silent uint overflow in ScenePresence.UpdateChildAgent() corrupting child agent positions
when the child agent was in a region with a greater x or y map co-ord than the root agent region
Probably introduced in beeec1c.
This still will not function properly with very high region map co-ords (in the millions) but other parts of the code don't handle this properly anyway.
Looks to address http://opensimulator.org/mantis/view.php?id=7163
2014-05-20 23:52:07 +01:00
Justin Clark-Casey (justincc) 7c12dfe185 On ScenePresence.MakeChildAgent(), reset the m_originRegionID as this is currently being used as a flag to orchestrate destination simulator threads on teleport.
If not reset, it's possible that teleports back and forth between simulators may not restart scripts in attachments.
2014-05-14 22:08:06 +01:00
Justin Clark-Casey (justincc) 2f7539a25b Remove a race where the client's SP.CompleteMovement() thread could attempt to restart attachment scripts before the source simulator's SP.UpdateAgent() thread had added them.
This commit changes the order of code so that attachments are re-added before the CompleteMovement() thread is released.
Relates to http://opensimulator.org/mantis/view.php?id=7148
2014-05-14 21:49:29 +01:00
Justin Clark-Casey (justincc) 5fc61942e0 minor: convert back some tabs to spaces that got into ScenePresence via recent patch bc969a6b 2014-04-29 20:15:29 +01:00
Justin Clark-Casey (justincc) d4eee213a9 Restore terrain height and flying adjustments that were eliminated from non-megaregion paths in ScenePresence.MoveToTarget() by recent patch bc969a6b 2014-04-29 20:05:08 +01:00
Justin Clark-Casey (justincc) 328bc3b76e Adjust avatar sit positioning on a target to pretty much exactly match that of the LL grid.
This uses an offset of 0.05 on the up vector of the sit orientation, after extensive analysis on
http://opensimulator.org/mantis/view.php?id=7096 and https://wiki.secondlife.com/wiki/Talk:LlSitTarget
This supersedes the previous adjustment in 5b73b9c4 which had been wrongly applied.
The maximum change is about 0.1 with a maximum height avatar.
This patch is all Aleric's work - I am applying manually in order to add these additional notes
2014-04-23 19:19:09 +01:00
Oren Hurvitz 998d7009a6 Eliminated many warnings 2014-04-23 16:37:36 +03:00
lillith_xue bc969a6b46 Possible solution for #7120 and #7051
Signed-off-by: Robert Adams <misterblue@misterblue.com>
2014-04-21 05:58:29 -07:00
Oren Hurvitz c725ad1577 Fixed: when teleporting between grids, the avatar name wasn't always updated.
When an avatar is in their home grid, their name appears as "First Last". In other grids the name appears as "First.Last @grid.example.com". However, viewers have a bug and they don't always show the new name. We use a trick (changing the Group Title briefly) in order to make the viewers show the new name. This is only done after a Hypergrid teleport.
2014-04-09 15:00:54 +01:00
Justin Clark-Casey (justincc) cacbb5c165 Don't re-retrieve sit part in SP.HandleAgentSit() when we already have it (this time with the right code change) 2014-04-05 02:16:14 +01:00
Justin Clark-Casey (justincc) aec723b955 Fix sp.AbsolutePosition when agent is sitting on a child prim, which in turns fixes llDetectedPos(), llGetLinkPrimitiveParams() and similar functions.
Add regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7043
2014-04-03 23:22:57 +01:00
Robert Adams 9406db3047 Fix problem with floating avatar by passing avatar size information
to the physics engine.

This operation was accidentally removed while in the middle of improving
the computation of the avatar height. This is a temp fix until the real
solution is added.
2014-04-02 21:52:24 -07:00
Justin Clark-Casey (justincc) e756457703 Remove redundant part.SitTargetAvatar setting from SP.MakeRootAgent as part.AddSittingAvatar already does this. 2014-04-03 01:21:50 +01:00
Justin Clark-Casey (justincc) 6ac9c9c972 refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
m_sittingAvatars code also already properly handles locking to avoid races.
2014-04-03 01:14:39 +01:00
Justin Clark-Casey (justincc) e6d0dcd4e8 Fix bug where crossing to a neighbouring region and back again would trigger an exception, and a second recross would stop the user moving until relog
Also fixes an issue where sitting avatar counts became inaccurate after any cross.
Part of the problem was due to cloning code using MemberwiseClone() but not resetting certain collection structures.
Adds regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7050
2014-04-03 00:19:53 +01:00
Oren Hurvitz e131e73652 Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:55 +01:00
Oren Hurvitz 921f0052f4 Get the full viewer name even if it's (incorrectly) sent in the 'Channel' field
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name.

This resolves http://opensimulator.org/mantis/view.php?id=6952
2014-03-24 12:26:52 +01:00
Justin Clark-Casey (justincc) 39ed382ddf Don't request a terse update after local teleport - this will be done by the main frame loop anyway and has the potential to race that thread. 2014-03-05 00:59:27 +00:00
Justin Clark-Casey (justincc) c9415fd763 If an avatar is sitting, send out position updates to clients for any change, not just those outside the usual tolerances.
This is to allow small adjustments of less than 0.05m in functions such as llSetPrimitiveLinkParams() to work
This is another fix for http://opensimulator.org/mantis/view.php?id=7044
Extends regression test for this case.
2014-03-05 00:38:38 +00:00
Robert Adams 7fc289c039 Properly restore position on crossing failure for mega-regions.
Fix odd "cannot cross into banned parcel" viewer error message when crossing
into non-existant region. Proper permission failure messages are now returned.
2014-02-15 17:02:53 -08:00
Justin Clark-Casey (justincc) 4fed301e65 Don't request group information in SP.MakeRootAgent() if the presence belongs to no group (UUID.Zero)
This was trigger the XmlRpcGroups errors described in http://opensimulator.org/mantis/view.php?id=6986
Introduced in commit 5b73b9c4 (Wed Dec 11 01:39:56 2013)
2014-02-14 23:43:07 +00:00
Melanie c6e9db5866 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionSettings.cs
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
	OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
	OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2014-01-28 21:02:20 +00:00
Melanie 4ccb15290e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2014-01-28 20:47:36 +00:00
Robert Adams 8eec717f5f Merge branch 'master' into varregion 2014-01-28 08:50:28 -08:00
Justin Clark-Casey (justincc) a4017ee1eb Reinsert attachments list taking code in SP.MakeRootAgent()
Locking attachments then launching script instances on a separate thread will not work, attachments will simply be unlocked and vulnerable to race conditions.
2014-01-27 23:47:43 +00:00
Justin Clark-Casey (justincc) 1b86239f79 refactor: Remove identical part.ParentGroup.AddAvatar(UUID); calls which occur no matter which branch of the conditional is executed 2014-01-27 23:17:09 +00:00
Robert Adams f127e4b4ee Merge branch 'master' into varregion 2014-01-19 07:38:53 -08:00
Justin Clark-Casey (justincc) 4fa843ff19 Reorder checks in SP.CompleteMovement() to fix test failures 2014-01-16 23:44:17 +00:00
Justin Clark-Casey (justincc) f467121c51 Merge branch 'justincc-master' 2014-01-16 23:33:30 +00:00
Justin Clark-Casey (justincc) 3bc669ffc7 Actually put IsChildAgent = true inside the lock, otherwise there is still a small window for race conditions on duplicate CompleteMovement calls 2014-01-16 23:31:50 +00:00
Justin Clark-Casey (justincc) 3ffd90496a Prevent duplicate invocations or race dontision in SP.CompleteMovement()
This can happen under poor network conditions if a viewer repeats the message send
If this happens, physics actors can get orphaned, which unecessarily raises physics frame times
2014-01-16 20:23:31 +00:00
Robert Adams 3760d10cd0 varregion: remove unnecessary border checking code in ScenePresence. 2014-01-11 21:59:22 -08:00
Robert Adams 1cf17a3cf7 Merge branch 'master' into varregion
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/SceneBase.cs
	OpenSim/Services/Interfaces/IGridService.cs
	OpenSim/Services/LLLoginService/LLLoginResponse.cs
(conflicts were debug statements that are commented out in master branch)
2014-01-11 08:52:23 -08:00
Justin Clark-Casey (justincc) 32e9c16957 Merge branch 'justincc-master' 2014-01-08 01:04:26 +00:00
Justin Clark-Casey (justincc) 0155d42b80 If an agent is sitting, then do send the rotation in the agent update instead of zeroing it to resolve mouselook camera problems
Addresses http://opensimulator.org/mantis/view.php?id=6892
Thanks to tglion for this spot.
This resolves a recent regression from 17b32b764a
2014-01-08 00:54:39 +00:00
Melanie e79fab91db Intermediate commit. Sill errors.
Merge branch 'master' into careminster

Conflicts:
	OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Services/UserProfilesService/UserProfilesService.cs
2014-01-05 20:12:32 +00:00
Robert Adams 01c0bbf181 varregion: extract banned region logic into a class for cleanlyness.
Add 'not found' caching in EntityTransferModule.GetRegionContainingWorldLocation
so hitting borders and bad teleports do not continuiously hammer on the GridService.
2013-12-27 08:23:37 -08:00
Robert Adams e5f7c8b6e8 varregion: add lots of DEBUG level log messages. Especially for teleport. 2013-12-24 12:31:26 -08:00
Robert Adams 6937eec258 Merge branch 'master' into varregion
Add new region crossing code to varregion

Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -08:00
Robert Adams 13a9a4b653 varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
2013-12-14 07:53:01 -08:00
Justin Clark-Casey (justincc) 11f177d6a8 Eliminate unnecessary line from my previous commit 1d605642 2013-12-13 23:30:08 +00:00
Justin Clark-Casey (justincc) 1d605642f7 Refix sitting on child prims by reinserting relevant code back into SP.HandleAgentSit() 2013-12-11 23:59:52 +00:00
Melanie 5b73b9c4a8 Committing the Avination Scene Presence and related texture code
- Parts of region crossing code
- New bakes handling code
- Bakes now sent from sim to sim without central storage
- Appearance handling changes
- Some changes to sitting
- A number of unrelated fixes and improvements
2013-12-11 01:39:56 +00:00
Melanie 6d6b9ab791 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-07 01:08:49 +00:00
Robert Adams 4eb52eb19e Merge branch 'master' into varregion 2013-12-05 21:07:44 -08:00
Justin Clark-Casey (justincc) 17b32b764a Fix regression where mouse look flight direction no longer worked by zeroing x/y rot before sending agent updates, instead of before any agent update processing
It turns out that the x/y rot data in mouselook is needed to implement this and to push the avatar against the ground if walking in mouselook.
Doing this in the terse send so that we preserve mouselook rotation information
2013-12-05 02:10:46 +00:00
Justin Clark-Casey (justincc) 62a2d7836f Ignore X and Y body rotations when sent by mouse look.
Fixes http://opensimulator.org/mantis/view.php?id=3274
When not in mouselook, avatar only sends rotations around the Z plane (since that's the only way an avatar can rotate).
However, in mouselook it also sends X and Y information.  But sending X and Y in terse updates causes issues with wrong camera movement in mouselook.
So strip out X and Y components for now.  If this is an issue, then could strip out before sending avatar terse update, though this generates more cpu work.
Thanks to mirceakitsune for suggesting an initial fix
2013-12-03 02:27:40 +00:00
Robert Adams 31bacfbb63 Merge branch 'master' into varregion 2013-12-01 15:51:42 -08:00
Robert Adams 6cd0d7a62b varregion: Add MaxRegionSize constant and enforce in RegionInfo.
Intermediate checkin of changing border cross computation from checking
boundry limits to requests to GridService. Not totally functional.
2013-11-30 15:28:39 -08:00
Justin Clark-Casey (justincc) 8ebad90800 Actually use the SP.AgentControlStopSlowWhilstMoving parameter intoroduced for slow walk/run in 4cfe02a rather than the magic number 2013-11-30 01:56:46 +00:00
Justin Clark-Casey (justincc) 96018afab4 Remove unused SP.Updated flag, which appears unused for many years and was only set true once and never reset 2013-11-30 01:52:45 +00:00
Justin Clark-Casey (justincc) 4cde02a2a3 Implement most effects of AGENT_CONTROL_STOP
AGENT_CONTROL_STOP is specified to SP.HandleAgentUpdate if the user holds down the space bar on a viewer.
For a stopped avatar, this prevents fly or walk/run (though not rotate) until released.
For a walking/running avatar, this reduces movement to half speed.
For a flying avatar, this stops the avatar.
These are observed behaviours on the LL grid - there was no previous OpenSimulator implementation
This commit introduces an optional parameter to SP.AddNewMovement(), which means that it will no longer compile on .NET 3.5 or earlier versions of Mono than 2.8
Currently, this does not work for jumping, and if used whilst flying the avatar continues the fly animation even though it does not move
2013-11-30 01:44:30 +00:00
Justin Clark-Casey (justincc) 4bd4f1cd83 Remove nudgehack from SP.HandleAgentUpdate by making MovementFlag a uint rather than a byte 2013-11-30 01:14:12 +00:00
Justin Clark-Casey (justincc) 5f0e763062 Remove unused sp.ParentPosition, which has not been used for some time 2013-11-29 02:48:59 +00:00
Justin Clark-Casey (justincc) 84bfde3bdf Comment out debug sit message accidently left active 2013-11-29 02:45:14 +00:00
Justin Clark-Casey (justincc) 868c0c2746 Fix regression where sitting on ground stopped working.
This was due to the PhysicsActor no longer being recreated on stand from ground.
2013-11-29 01:56:49 +00:00
Justin Clark-Casey (justincc) f9193e3c51 Restore SP.AbsolutePosition to properly return actual absolute position when sitting 2013-11-29 01:50:12 +00:00
Justin Clark-Casey (justincc) 0785210e29 Fix stand positions rather than having the stand jump to the root prim. 2013-11-27 02:08:22 +00:00
Justin Clark-Casey (justincc) a3c72dafe6 Only translate linked prim specified offset pos by the link prim rotation, not any specified avatar rotation as well.
Don't translate root prim position by avatar rotation.
2013-11-26 01:40:55 +00:00
Justin Clark-Casey (justincc) 36d146bf27 fix position changes when sitting on a prim with position and/or orientation explicitly specified 2013-11-26 00:43:35 +00:00
Justin Clark-Casey (justincc) 65304260af fix avatar rotation when sitting on a linked part
Need to take into account rotation of linked prim now that we are always specifying sits wrt the root prim
2013-11-23 02:09:03 +00:00
Justin Clark-Casey (justincc) 78649eb099 Refix fix for sitting on non-root linked prims with explicit sit targets.
I forgot that m_post is being set inconsistently between non-explicit and explicit ragets
2013-11-23 01:35:08 +00:00
Justin Clark-Casey (justincc) 70e651a8d1 Fix non-root prim sit positions for prims where a sit target has been specified as well. 2013-11-23 01:32:29 +00:00
Justin Clark-Casey (justincc) ed1029712a Add line accidentally left out of recent non-root prim sit fix
Original commit is ff4e7de7
2013-11-23 01:18:07 +00:00
Justin Clark-Casey (justincc) ff4e7de776 Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook
We now specify sits as offsets from the root prim, as the viewer expects.
2013-11-23 00:53:09 +00:00
Robert Adams beeec1c467 varregion: elimination of Constants.RegionSize from all over OpenSimulator.
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
2013-11-08 20:53:37 -08:00
Robert Adams 25ae59b9eb varregion: remove scattered use of Constants.RegionSize by having routines reference RegionInfo.RegionWorldLoc?. 2013-10-07 13:57:30 -07:00
Melanie 75c68fa29e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Data/MySQL/Resources/RegionStore.migrations
	OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
	OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs
	OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-10-04 20:03:12 +01:00
Robert Adams 317c04fe17 VarRegion: change RegionInfo storage of region coordinates from region
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
2013-09-28 07:33:52 -07:00
Justin Clark-Casey (justincc) 253f8de8cd minor: Add scene name to baked textures in cache log message 2013-09-26 00:33:50 +01:00
Justin Clark-Casey (justincc) c01db5fbdd Lock around read/write of ScenePresence.m_originRegionID to make sure that all threads are seeing the latest value and not a cached one.
There is a possibilty that some V2 teleport failures are due to the viewer triggered CompleteMovement thread not seeing the change of m_originRegionID by the UpdateAgent thread.
2013-09-20 22:41:53 +01:00
Justin Clark-Casey (justincc) b6f10780c2 minor: Make SP.MakeRootAgent() private - no external code has any business calling this method 2013-09-19 21:44:30 +01:00
Justin Clark-Casey (justincc) 03b2b5b77b minor: Make log message at top of ScenePresence.CompleteMovement info level and comment out later log message in ScenePresence.MakeRootAgent()
Need an info message since this is currently important in detecting teleport issue when not at debug log level.
CompleteMovement message occurs before MakeRootAgent() one did
2013-09-19 20:59:27 +01:00
Justin Clark-Casey (justincc) 8999f06025 minor: correct method name in comment 2013-09-18 23:13:31 +01:00
Justin Clark-Casey (justincc) ddcbd4bb7d refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()
verb-noun is consistent with other similar methods
2013-09-18 23:09:38 +01:00
Justin Clark-Casey (justincc) 3ce46adb2a minor: Make log message when Scene.IncomingChildAgentDateUpdate() more explicit that there is a problem if it still finds the agent to be a child if the sender wanted to wait till it became root
Add some comments about the mssage sequence, though much more data is at
http://opensimulator.org/wiki/Teleports
2013-09-18 22:56:00 +01:00
Melanie 72206a0e29 Merge branch 'avination-current' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
	OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs
2013-09-16 22:32:53 +01:00
Melanie ddf67bf929 Mono 2.0 fix - call ToArray() explicitly 2013-09-08 19:41:51 +02:00
Melanie 008c98a974 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/World/Region/RestartModule.cs
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-09-01 22:49:31 +01:00
Justin Clark-Casey (justincc) 61c20bd06a Remove old and unused ScenePresence.RestoreInCurrentScene() 2013-08-23 00:53:42 +01:00