diff options
Diffstat (limited to '')
-rwxr-xr-x | linden/indra/newview/llviewermessage.cpp | 72 |
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 | ||