aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewermessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlinden/indra/newview/llviewermessage.cpp72
1 files changed, 70 insertions, 2 deletions
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index e6455f2..743e0d9 100755
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -152,6 +152,7 @@
152 152
153#include "hippoGridManager.h" 153#include "hippoGridManager.h"
154#include "hippoLimits.h" 154#include "hippoLimits.h"
155#include "wlsettingsmanager.h"
155 156
156#if LL_WINDOWS // For Windows specific error handler 157#if LL_WINDOWS // For Windows specific error handler
157#include "llwindebug.h" // For the invalid message handler 158#include "llwindebug.h" // For the invalid message handler
@@ -2520,6 +2521,62 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
2520 else 2521 else
2521 { 2522 {
2522 LLNotifications::instance().add("TeleportOffered", args, payload); 2523 LLNotifications::instance().add("TeleportOffered", args, payload);
2524 if(binary_bucket_size)
2525 {
2526 char* dest = new char[binary_bucket_size];
2527 strncpy(dest, (char*)binary_bucket, binary_bucket_size-1); /* Flawfinder: ignore */
2528 dest[binary_bucket_size-1] = '\0';
2529
2530 llinfos << "IM_LURE_USER binary_bucket " << dest << llendl;
2531
2532 std::string str(dest);
2533 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
2534 boost::char_separator<char> sep("|","",boost::keep_empty_tokens);
2535 tokenizer tokens(str, sep);
2536 tokenizer::iterator iter = tokens.begin();
2537 std::string global_x_str(*iter++);
2538 std::string global_y_str(*iter++);
2539 std::string x_str(*iter++);
2540 std::string y_str(*iter++);
2541 std::string z_str(*iter++);
2542 // skip what I think must be LookAt
2543 if(iter != tokens.end())
2544 iter++; // x
2545 if(iter != tokens.end())
2546 iter++; // y
2547 if(iter != tokens.end())
2548 iter++; // z
2549 std::string mat_str("");
2550 if(iter != tokens.end())
2551 mat_str.assign(*iter++);
2552 mat_str = utf8str_trim(mat_str);
2553
2554 llinfos << "IM_LURE_USER tokenized " << global_x_str << "|" << global_y_str << "|" << x_str << "|" << y_str << "|" << z_str << "|" << mat_str << llendl;
2555
2556 std::istringstream gxstr(global_x_str);
2557 int global_x;
2558 gxstr >> global_x;
2559
2560 std::istringstream gystr(global_y_str);
2561 int global_y;
2562 gystr >> global_y;
2563
2564 std::istringstream xstr(x_str);
2565 int x;
2566 xstr >> x;
2567
2568 std::istringstream ystr(y_str);
2569 int y;
2570 ystr >> y;
2571
2572 std::istringstream zstr(z_str);
2573 int z;
2574 zstr >> z;
2575
2576 llinfos << "IM_LURE_USER parsed " << global_x << "|" << global_y << "|" << x << "|" << y << "|" << z << "|" << mat_str << llendl;
2577
2578 gAgent.showLureDestination(name, global_x, global_y, x, y, z, mat_str);
2579 }
2523 } 2580 }
2524// [/RLVa:KB] 2581// [/RLVa:KB]
2525 //LLNotifications::instance().add("TeleportOffered", args, payload); 2582 //LLNotifications::instance().add("TeleportOffered", args, payload);
@@ -3060,8 +3117,17 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
3060 3117
3061 if (!is_muted && !is_busy) 3118 if (!is_muted && !is_busy)
3062 { 3119 {
3063 static BOOL* sUseChatBubbles = rebind_llcontrol<BOOL>("UseChatBubbles", &gSavedSettings, true); 3120
3064 visible_in_chat_bubble = *sUseChatBubbles; 3121 BOOL sUseChatBubbles = gSavedSettings.getBOOL("UseChatBubbles");
3122 if(sUseChatBubbles)
3123 {
3124 BOOL localChat = gSavedSettings.getBOOL("UseLocalChatWithBubbles");
3125 if(localChat)
3126 sUseChatBubbles = FALSE; //Act like they arn't enabled and show it anyway
3127 }
3128 //Update..
3129 visible_in_chat_bubble = sUseChatBubbles;
3130
3065 ((LLVOAvatar*)chatter)->addChat(chat); 3131 ((LLVOAvatar*)chatter)->addChat(chat);
3066 } 3132 }
3067 } 3133 }
@@ -3513,6 +3579,7 @@ void process_teleport_finish(LLMessageSystem* msg, void**)
3513 3579
3514 // Tell the LightShare handler that we have changed regions. 3580 // Tell the LightShare handler that we have changed regions.
3515 WindlightMessage::resetRegion(); 3581 WindlightMessage::resetRegion();
3582 WLSettingsManager::wlresetRegion();
3516} 3583}
3517 3584
3518// stuff we have to do every time we get an AvatarInitComplete from a sim 3585// stuff we have to do every time we get an AvatarInitComplete from a sim
@@ -3779,6 +3846,7 @@ void process_crossed_region(LLMessageSystem* msg, void**)
3779 3846
3780 // Tell the LightShare handler that we have changed regions. 3847 // Tell the LightShare handler that we have changed regions.
3781 WindlightMessage::resetRegion(); 3848 WindlightMessage::resetRegion();
3849 WLSettingsManager::wlresetRegion();
3782} 3850}
3783 3851
3784 3852