All submissions to this site are governed by the Second Life Viewer Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.

Review Board 1.6.11

Welcome to the Second Life Viewer Code Review tool.
See the documentation on our wiki for how to use this site.

VWR-17050 No nearby people when over approxiamately 1000 meters

Review Request #132 - Created Jan. 31, 2011 and submitted

Twisted Laws Reviewers
viewer
VWR-17050
None viewer-development
This modifies the getAvatars function in llworld to also include any avatars that are found within the range from the LLCharactes list as well (the list of avatars that is in the viewer object list).  This should make sure that anyone that you visually see within range shows up in the list.  Note that changing it in this function also affects LLFloaterAvatarPicker::populateNearMe, LLLocalSpeakerMgr::updateSpeakerList, as well as the LLPanelPeople::updateNearbyList that was originally mentioned in the Jira.  The region avatars lists only contain valid position data when the avatars are below 1024m.  The comment that mentions about retrieving uuids is based on the function, not the current uses.  No current calls in the code are done with the avatar_ids argument NULL.  Duplicates in the returned list need to be suppressed.
Simple testing in sandboxes of this patch at 20m and 2000m heights with and without avatars nearby.  Tested with varying the NearMeRange to insure it does not show avatars beyond the range.  Testers need to understand that RenderFarClip has an impact on the avatars that are actually in the viewer object list, so setting NearMeRange to a great distance at high altitude won't necessarily add avatars to the list.  Basically if you can see the avatar and its within NearMeRange, the avatar should be in the nearby avatar list in the people panel.
Review request changed
Updated (Feb. 2, 2011, 3:39 p.m.)
I redid the patch, hopefully making the comments more acceptable and took out the use of continue.   I moved retrieval of the character positions before the world positions as I found cases where the information would be incorrect right near 1024 testing with a couple people below 1024, and a couple people above.  Note this is a replacement patch.
Ship it!
Posted (Feb. 3, 2011, 5:06 a.m.)

   

  
  1. Is there any reason to "fix" this in getAvatars() rather than just "fixing" it when processing the CoarseLocationUpdate legacy region message (and when processing the still unused cap)?
    
    The minimap for instance won't call getAvatars() but will rather access the position directly so it would still be broken for nearby avatars when >1000m.
    
    Additionally, if the plan is to still enable the http cap at some point in the future then fixing the viewer's handling of that now would ideally mean that the problem is fixed for everyone as soon as it's enabled rather than having to wait another quarter for the next viewer release that contains the fix.
  2. Note that the final version of this patch that was tagged "ship it" was not what was in the merge in viewer-development, instead the first version was included.