Commit Graph

1477 Commits (fc4de64af430bee0ca316421cd286afa51753480)

Author SHA1 Message Date
Diva Canto cc22d81b4d The only purpose of this commit is to remove an erroneous comment. It turns out that rezzing the attachments is necessary in modern viewers too. Proof: commenting the lines below the comment results in no attachments seen in the avatar. 2015-06-05 09:47:36 -07:00
Magnuz Binder beba2ce781 Fix stand position for differing seat and root rotation.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2015-04-12 12:53:47 -04:00
Robert Adams 07dead7dcb varregion: any conversions of use of Constants.RegionSize converted into
Util.cs routines to convert region coords to and from world coords or handles.
2015-03-29 14:25:12 -07:00
Melanie Thielker 752901c5f4 Make attachment rezzing async again for NPC. Doing that sync causes a deadlock
with the script thread.
2015-03-24 01:37:14 +01:00
Robert Adams 9f18e3ba80 Varregion: first cut at removing Border class checks for region crossings.
Added Scene.PositionIsInCurrentRegion(pos) to sense when new position needs some crossing work.
Many changes made to EntityTransferModule to accomodate new crossing sense logic.
2015-03-22 21:53:02 -07:00
dahlia 83e58ebc7c oops someone set individual quaternion members and forgot to normalize 2015-03-17 13:14:03 -07:00
Justin Clark-Casey (justincc) 310e44f250 Re-enabled ability for avatar to ascend and descend whilst controlling view with lmb held down on avatar (in most viewers).
This had been disabled by 30b7863 (Fri Feb 27 2015).
Relates to http://opensimulator.org/mantis/view.php?id=6835
2015-03-17 18:55:33 +00:00
BlueWall 7e8bad05ec Fix erratic Npc movement 2015-03-02 20:09:22 -05:00
Justin Clark-Casey (justincc) 59d6d03909 Comment out now unused and not properly working private SP.m_leftButtonDown with a comment on how probably to implement it properly if it is needed in the future 2015-02-27 23:48:05 +00:00
Justin Clark-Casey (justincc) 30b786351e Don't slow down avatar walk speed if camera is changed (e.g. by holding down lmb on an avatar and moving the mouse).
Does this by not applying unwanted direction components to the avatar self movement calculation (exception is flying in mouse look).
Matches behaviuor on linden lab grid
Addresses http://opensimulator.org/mantis/view.php?id=6835
2015-02-27 23:43:12 +00:00
Justin Clark-Casey (justincc) ca7cc9b2e2 Don't slide crouching avatar when camera is panned around them with left mouse button
This matches linden lab grid behaviour
2015-02-27 19:43:31 +00:00
Justin Clark-Casey (justincc) 412dd7dfc5 When an avatar is walking across a region border, force the first AgentUpdate received on the new root agent to update movement parameters.
This prevents the avatar from drifting in its last direction of travel if a movement key was released at certain moments in the cross.
Relates to http://opensimulator.org/mantis/view.php?id=7435
2015-02-26 00:48:51 +00:00
Justin Clark-Casey (justincc) e901253b49 Fix recent regression where a race condition meant SP.MakeRootAgent() would sometimes look to start attachment scripts before ETM.HandleIncomingSceneObject() had added them.
Probably a regression since ghosts branch merge on Nov 26 2014
2014-12-17 00:25:24 +00:00
Justin Clark-Casey (justincc) dcc36507f3 Halve the prediction lag for region crossing to improve most flying region crossings without degrading the walk cross experience (neither of which have been that great anyway). 2014-11-29 00:48:26 +00:00
Justin Clark-Casey (justincc) 265fe349e0 Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular
* Full avatar updates contained no velocity information, which does appear to have some effect in testing.
* BulletSim was always setting the velocity to 0 for the new BSCharacter.  Now, physics engines take a velocity parameter when setting up characters so we can avoid this.
This patch applies to both Bullet and ODE.
2014-11-29 00:12:11 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) 28d1dbfee4 Move conditionals which control whether a task is placed in the JobEngine inside Watchdog.RunJob() (renamed from RunWhenPossible) and generalize them. 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 1c9529aa9e If JobEngine is active, then use it to copy/rez attachments for an avatar entering the scene that isn't initially logging on. This will execute tasks consecutively rather than concurrently.
This has two aims
1) Reduce initial teleport failures when a foreign Hypergrid user enters a region by not holding up the teleport for attachment rez (this can be particularly costly when HG gets all assets in the object graph.
2) Reduce server load that may impact other simulator activities.
This complements existing JobEngine options that perform initial login attachment rez and appearance send in consecutive tasks.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) 9fb3065d33 Temporarily add root agent rez attachments work to job engine if it is running rather than as a fire and forget.
Experiment to see if serializing attachment rez and send initial data jobs improves other parts of sim performance.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 859b1c5ba4 Add experimental job engine to see if queueing some existing async work during root agent entry to a region improves perf rather than always attempting to execute everything concurrently
Job engine is controlled via "debug jobengine start|stop|status".
Can only currently be enabled and disabled dynamically at runtime.
Currently only applies to code sending initial region data (objects, other avatar data) to a client.
2014-11-25 23:18:37 +00:00
Melanie Thielker bec456c2a5 Remove the Invisible stuff and add more baked caching. Refactor selection of textures to save to Bakes module. 2014-11-11 07:09:30 +01:00
Melanie Thielker 64deb6ae6f Second part of invisible base avatar option 2014-11-10 19:49:58 +01:00
Melanie Thielker 6d2e924f24 Call the bake module each time we see a new attachment to see if the attachment
needs textures
2014-11-10 04:46:51 +01:00
UbitUmarov caddabb5c4 scale ChildAgentThrottles with distance (internal to child server and not
root as was done before )
2014-11-06 22:25:16 +00:00
UbitUmarov ead78764ab allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce
 client udp Throttles with distance, update childreen connections with
 significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov e4d84d8ff6 try to make a avatar usesable if its siting part didn't cross, or crossed
back. This situation points to that sitted avatars should be sent in same
 http connection that crosses the object
2014-10-28 13:52:00 +00:00
UbitUmarov 4571e5bc3e try to make SOG crossings full async. Simplify some borders checking.... 2014-10-24 18:10:28 +01:00
UbitUmarov b1ccf3f110 make sure we return false if catch() is triggered on crossing 2014-10-21 13:04:26 +01:00
UbitUmarov 59413adcee do agent crossing async, including QUERYACCESS ( need to check vehicles for
this also ), so it doesn't stop heartbeat
2014-10-21 11:57:47 +01:00
UbitUmarov afa9b4a002 Assume childreen don't need to know caps seeds 2014-10-20 09:14:27 +01:00
UbitUmarov f44c29effb try to fix propagation of seeds to all relevante regions 2014-10-19 15:51:12 +01:00
UbitUmarov f9588730cf debug makeroot timing 2014-10-17 14:36:02 +01:00
UbitUmarov 2bea66ed27 send motion control state in update to childs. Reset CollisionPlane on
makechild
2014-10-17 14:07:11 +01:00
UbitUmarov 94f42cef90 added a missing angularVelocity.Zero on sitting, removed odd camera based
movement vectors, plus little other things
2014-10-03 18:32:52 +01:00
UbitUmarov b9be9097aa fix a incomplet landing handling case 2014-09-30 17:02:24 +01:00
UbitUmarov 3052a53889 change avatar physics and motion control. Still not that good :( 2014-09-29 20:17:05 +01:00
UbitUmarov 8c68772624 bug fix: add missing attach to region heartbeat event to update animations 2014-09-26 00:54:06 +01:00
UbitUmarov 6d2cdd31fe populate collision lists with LinkNumber, and detected structure in
Xengine
2014-09-23 23:59:05 +01:00
UbitUmarov 9c552212a9 exclude npcs from baked cache 2014-09-19 16:51:51 +01:00
UbitUmarov 1953a0f4e0 Dont add to physics in a child update. It is missing several checks like
sit. makeroot should to it
2014-09-17 13:36:39 +01:00
UbitUmarov affcdcce8b try to send fly state on tps 2014-09-16 21:25:06 +01:00
Justin Clark-Casey (justincc) a3bd708e77 Fix regression from recent a02dae5 where stand positions are no longer correct when a sit target is specified.
Adjusts stand position using just avatar position relative to the root prim instead.
Fixes http://opensimulator.org/mantis/view.php?id=7315 and preserves previous fix for http://opensimulator.org/mantis/view.php?id=7299
2014-09-11 20:59:20 +01:00
UbitUmarov f66b58cf00 *TEST* add movement states SIT and SITGROUND. ScenePresence on SIT,
SITGROUND or STAND, sets directly the state, and desired sitAnimation for
default sits
2014-09-10 19:30:57 +01:00
UbitUmarov e37fd5e716 force update of movement animation 2014-09-09 22:27:21 +01:00
UbitUmarov 9d815e2d2a on SetAnimationOverride do a UpdateMovementAnimations(); 2014-09-09 22:07:03 +01:00
UbitUmarov 016e58e354 *test* 2014-09-09 21:53:27 +01:00
Melanie Thielker 87a4abac50 Plumb the rest of the serverside AO 2014-09-09 20:50:41 +02:00
Melanie Thielker 2d2823f1de Add some case magic and send an anim pack when an override is set 2014-09-09 20:16:02 +02:00
UbitUmarov 46abe0c86d Merge branch 'master' into ubitworkmaster 2014-09-09 13:54:00 +01:00
UbitUmarov 683f2cc892 only cancel attchment needed update type on sending sheduled updates.
This is wrong but its as original worked
2014-09-09 13:32:22 +01:00
UbitUmarov 4ed3461573 huds bug fix 2014-09-09 05:20:43 +01:00
Melanie Thielker 18023169e7 Actually do the overriding 2014-09-09 04:12:10 +02:00
Melanie Thielker f2390f7c72 Plumb llSetAnimationOverride 2014-09-09 03:01:05 +02:00
Justin Clark-Casey (justincc) 41f2f3132b For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
Justin Clark-Casey (justincc) ac866a1c46 Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
Defaults to true.  For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc) d582db6132 Fix recent regression from 473c5594 where camera started to judder on moving vehicles.
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
2014-09-02 23:39:52 +01:00
Justin Clark-Casey (justincc) 473c559478 As per the LL grid, if an avatar is sitting then return it's velocity relative to the region rather than relative to its seat.
Resolves http://opensimulator.org/mantis/view.php?id=7175
2014-08-30 01:09:33 +01:00
Justin Clark-Casey (justincc) a02dae566c Fix issue where moving a seated avatar would not adjust their subsequent stand position.
Addresses http://opensimulator.org/mantis/view.php?id=7299
2014-08-30 00:26:18 +01:00
UbitUmarov 38fc1cc445 try to make child presence know its root region. Incomplete, some paths dont send the information. 2014-08-28 00:44:59 +01:00
UbitUmarov b871029a30 dont create a cadu that is not used. Add a root region global position 2014-08-27 18:05:40 +01:00
UbitUmarov 73cdafd6c9 dont mess throotles values sent to child presences. Some cleanup 2014-08-27 15:57:12 +01:00
UbitUmarov 07ee101a05 bug fix. Was not deleting attachments if on public parcel 2014-08-27 01:09:11 +01:00
UbitUmarov 620443f858 on TPs to nearby regions, only send kills if needed by parcel privacy 2014-08-27 00:37:05 +01:00
UbitUmarov dde2ac2544 still testing 2014-08-26 02:22:25 +01:00
UbitUmarov 3ee6144d0c even less kills on tps 2014-08-26 00:00:21 +01:00
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