Commits

Merov Linden committed d207bdf Merge

STORM-954 : pull into viewer-development

Comments (0)

Files changed (2)

doc/contributions.txt

 	STORM-829
 	STORM-844
 	STORM-953
+	STORM-954
 	STORM-960
 	STORM-869
 	STORM-974
 	STORM-975
+	STORM-977
 	STORM-979
 	STORM-980
 	VWR-17801
 	VWR-24347
-	STORM-977
 Kage Pixel
 	VWR-11
 Ken March
 	STORM-467
 	STORM-844
 	STORM-643
+	STORM-954
 Vadim Bigbear
 	VWR-2681
 Vector Hastings

indra/newview/llworld.cpp

 			}
 		}
 	}
+	// retrieve the list of close avatars from viewer objects as well
+	// for when we are above 1000m, only do this when we are retrieving
+	// uuid's too as there could be duplicates
+	if(avatar_ids != NULL)
+	{
+		for (std::vector<LLCharacter*>::iterator iter = LLCharacter::sInstances.begin();
+			iter != LLCharacter::sInstances.end(); ++iter)
+		{
+			LLVOAvatar* pVOAvatar = (LLVOAvatar*) *iter;
+			if(pVOAvatar->isDead() || pVOAvatar->isSelf())
+				continue;
+			LLUUID uuid = pVOAvatar->getID();
+			if(uuid.isNull())
+				continue;
+			LLVector3d pos_global = pVOAvatar->getPositionGlobal();
+			if(dist_vec(pos_global, relative_to) <= radius)
+			{
+				bool found = false;
+				uuid_vec_t::iterator sel_iter = avatar_ids->begin();
+				for (; sel_iter != avatar_ids->end(); sel_iter++)
+				{
+					if(*sel_iter == uuid)
+					{
+						found = true;
+						break;
+					}
+				}
+				if(!found)
+				{
+					if(positions != NULL)
+						positions->push_back(pos_global);
+					avatar_ids->push_back(uuid);
+				}
+			}
+		}
+	}
 }