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 (Jan. 31, 2011, 3:34 p.m.)
- changed from No nearby people when over approxiamately 1000 meters to VWR-17050 No nearby people when over approxiamately 1000 meters
fixed the title
Posted (Jan. 31, 2011, 5:48 p.m.)
It seems to me that the new code can completely replace the old one, i.e. the search based on the map is not adding anything different or is it?
-
indra/newview/llworld.cpp (Diff revision 1) -
I fail to see how the "1000m" condition is tested in this code. Same for the "only do this when we are retrieving uuid's".
Posted (Jan. 31, 2011, 7:12 p.m.)
-
indra/newview/llworld.cpp (Diff revision 1) -
This area where I search for the existance of an uuid in the list is something that works but it would seem that theres some better method. Open to suggestions.
Posted (Feb. 2, 2011, 12:01 p.m.)
-
indra/newview/llworld.cpp (Diff revision 1) -
I would strongly prefer to see this rearranged as properly nested if/then/else rather than using continue. Similarly, I'd like to have the break replaced by just adding another exit condition to the 'for' loop.
Review request changed
Updated (Feb. 2, 2011, 3:39 p.m.)
-
- added Diff r2
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.
Other reviews