aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
authorMcCabe Maxsted2009-10-08 11:47:03 -0700
committerMcCabe Maxsted2009-10-08 11:47:03 -0700
commitf9bf7355ba74bbff8b043a35cdab2bb7bac7a2cb (patch)
treed3b182a947f5cee138e93645a60288d2929ef987 /linden
parentMerge branch '1.2.0-logoutbugs' into next (diff)
downloadmeta-impy-f9bf7355ba74bbff8b043a35cdab2bb7bac7a2cb.zip
meta-impy-f9bf7355ba74bbff8b043a35cdab2bb7bac7a2cb.tar.gz
meta-impy-f9bf7355ba74bbff8b043a35cdab2bb7bac7a2cb.tar.bz2
meta-impy-f9bf7355ba74bbff8b043a35cdab2bb7bac7a2cb.tar.xz
Fixed entering sim notification being tied to radar range
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/newview/llfloatermap.cpp47
1 files changed, 25 insertions, 22 deletions
diff --git a/linden/indra/newview/llfloatermap.cpp b/linden/indra/newview/llfloatermap.cpp
index 142d8fe..0ee0f2b 100644
--- a/linden/indra/newview/llfloatermap.cpp
+++ b/linden/indra/newview/llfloatermap.cpp
@@ -237,16 +237,16 @@ void LLFloaterMap::populateRadar()
237 237
238 S32 scroll_pos = mRadarList->getScrollPos(); 238 S32 scroll_pos = mRadarList->getScrollPos();
239 239
240 LLVector3d current_pos = gAgent.getPositionGlobal();
241
242 // clear count 240 // clear count
243 std::stringstream avatar_count; 241 std::stringstream avatar_count;
244 avatar_count.str(""); 242 avatar_count.str("");
245 243
246 // find what avatars you can see 244 // find what avatars you can see
245 F32 range = gSavedSettings.getF32("NearMeRange");
246 LLVector3d current_pos = gAgent.getPositionGlobal();
247 std::vector<LLUUID> avatar_ids; 247 std::vector<LLUUID> avatar_ids;
248 std::vector<LLVector3d> positions; 248 std::vector<LLVector3d> positions;
249 LLWorld::getInstance()->getAvatars(&avatar_ids, &positions, current_pos, gSavedSettings.getF32("NearMeRange")); 249 LLWorld::getInstance()->getAvatars(&avatar_ids, &positions);
250 250
251 LLSD element; 251 LLSD element;
252 252
@@ -277,12 +277,13 @@ void LLFloaterMap::populateRadar()
277 } 277 }
278 // [/RLVa:KB] 278 // [/RLVa:KB]
279 279
280 // check if they're in chat range and notify user 280 // check if they're in certain ranges and notify user if we've enabled that
281 LLVector3d temp = positions[i] - current_pos; 281 LLVector3d temp = positions[i] - current_pos;
282 F32 distance = llround((F32)temp.magVec(), 0.1f); 282 F32 distance = llround((F32)temp.magVec(), 0.1f);
283 char dist[32]; 283 /*char dist[32];
284 sprintf(dist, "%.1f", distance); 284 sprintf(dist, "%.1f", distance);
285 std::string dist_string = dist; 285 std::string dist_string = dist;*/
286 std::string dist_string = llformat("%.1f", distance);
286 287
287 if (notify_chat) 288 if (notify_chat)
288 { 289 {
@@ -300,7 +301,6 @@ void LLFloaterMap::populateRadar()
300 removeFromChatList(avatar_ids[i]); 301 removeFromChatList(avatar_ids[i]);
301 } 302 }
302 } 303 }
303
304 updateChatList(avatar_ids); 304 updateChatList(avatar_ids);
305 } 305 }
306 else if (!mChatAvatars.empty()) 306 else if (!mChatAvatars.empty())
@@ -308,7 +308,6 @@ void LLFloaterMap::populateRadar()
308 mChatAvatars.clear(); 308 mChatAvatars.clear();
309 } 309 }
310 310
311 // announce their presence in the sim if we've enabled that
312 if (notify_sim) 311 if (notify_sim)
313 { 312 {
314 if (!getInChatList(avatar_ids[i]) && !getInSimAvList(avatar_ids[i])) 313 if (!getInChatList(avatar_ids[i]) && !getInSimAvList(avatar_ids[i]))
@@ -333,23 +332,27 @@ void LLFloaterMap::populateRadar()
333 mSimAvatars.clear(); 332 mSimAvatars.clear();
334 } 333 }
335 334
336 // append typing string 335 // only display avatars in range
337 std::string typing = ""; 336 if (distance <= range)
338 if (getIsTyping(avatar_ids[i]))
339 { 337 {
340 typing = getString("is_typing")+ " "; 338 // append typing string
341 } 339 std::string typing = "";
340 if (getIsTyping(avatar_ids[i]))
341 {
342 typing = getString("is_typing")+ " ";
343 }
342 344
343 std::string mute_text = LLMuteList::getInstance()->isMuted(avatar_ids[i]) ? getString("is_muted") : ""; 345 std::string mute_text = LLMuteList::getInstance()->isMuted(avatar_ids[i]) ? getString("is_muted") : "";
344 element["id"] = avatar_ids[i]; 346 element["id"] = avatar_ids[i];
345 element["columns"][0]["column"] = "avatar_name"; 347 element["columns"][0]["column"] = "avatar_name";
346 element["columns"][0]["type"] = "text"; 348 element["columns"][0]["type"] = "text";
347 element["columns"][0]["value"] = typing + fullname + " " + mute_text; 349 element["columns"][0]["value"] = typing + fullname + " " + mute_text;
348 element["columns"][1]["column"] = "avatar_distance"; 350 element["columns"][1]["column"] = "avatar_distance";
349 element["columns"][1]["type"] = "text"; 351 element["columns"][1]["type"] = "text";
350 element["columns"][1]["value"] = dist_string+"m"; 352 element["columns"][1]["value"] = dist_string+"m";
351 353
352 mRadarList->addElement(element, ADD_BOTTOM); 354 mRadarList->addElement(element, ADD_BOTTOM);
355 }
353 } 356 }
354 } 357 }
355 358