diff --git a/indra/newview/hbprefsinert.cpp b/indra/newview/hbprefsinert.cpp index cda9a5031..dad35a489 100644 --- a/indra/newview/hbprefsinert.cpp +++ b/indra/newview/hbprefsinert.cpp @@ -59,6 +59,7 @@ private: BOOL mDoubleClickTeleport; BOOL mHideNotificationsInChat; BOOL mPlayTypingSound; + BOOL mDisablePointAtAndBeam; BOOL mPrivateLookAt; BOOL mFetchInventoryOnLogin; BOOL mSecondsInChatAndIMs; @@ -111,6 +112,7 @@ void LLPrefsInertImpl::refreshValues() mDoubleClickTeleport = gSavedSettings.getBOOL("DoubleClickTeleport"); mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat"); mPlayTypingSound = gSavedSettings.getBOOL("PlayTypingSound"); + mDisablePointAtAndBeam = gSavedSettings.getBOOL("DisablePointAtAndBeam"); mPrivateLookAt = gSavedSettings.getBOOL("PrivateLookAt"); mSecondsInChatAndIMs = gSavedSettings.getBOOL("SecondsInChatAndIMs"); mFetchInventoryOnLogin = gSavedSettings.getBOOL("FetchInventoryOnLogin"); @@ -186,6 +188,7 @@ void LLPrefsInertImpl::cancel() gSavedSettings.setBOOL("DoubleClickTeleport", mDoubleClickTeleport); gSavedSettings.setBOOL("HideNotificationsInChat", mHideNotificationsInChat); gSavedSettings.setBOOL("PlayTypingSound", mPlayTypingSound); + gSavedSettings.setBOOL("DisablePointAtAndBeam", mDisablePointAtAndBeam); gSavedSettings.setBOOL("PrivateLookAt", mPrivateLookAt); gSavedSettings.setBOOL("FetchInventoryOnLogin", mFetchInventoryOnLogin); gSavedSettings.setBOOL("SecondsInChatAndIMs", mSecondsInChatAndIMs); diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 22b1a3bfe..66ba02320 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -136,7 +136,9 @@ #include "llappviewer.h" #include "llviewerjoystick.h" #include "llfollowcam.h" - +// +#include "llworldmapmessage.h" +// using namespace LLVOAvatarDefines; extern LLMenuBarGL* gMenuBarView; @@ -222,7 +224,6 @@ LLAgent gAgent; // // For MapBlockReply funk 'cause I dunno what I'm doing -/* not *quite* there yet, and I don't want to break head. BOOL LLAgent::lure_show = FALSE; std::string LLAgent::lure_name; LLVector3d LLAgent::lure_posglobal; @@ -232,7 +233,7 @@ int LLAgent::lure_x; int LLAgent::lure_y; int LLAgent::lure_z; std::string LLAgent::lure_maturity; -*/ + // const F32 LLAgent::TYPING_TIMEOUT_SECS = 5.f; @@ -8019,5 +8020,60 @@ std::string LLAgent::getCapability(const std::string& name) const } return iter->second; } +// + +void LLAgent::showLureDestination(const std::string fromname, const int global_x, const int global_y, const int x, const int y, const int z, const std::string maturity) +{ + const LLVector3d posglobal = LLVector3d(F64(global_x), F64(global_y), F64(0)); + LLSimInfo* siminfo; + siminfo = LLWorldMap::getInstance()->simInfoFromPosGlobal(posglobal); + if(siminfo) + { + llinfos << fromname << "'s teleport lure is to " << siminfo->getName() << " (" << maturity << ")" << llendl; + std::string url = LLURLDispatcher::buildSLURL(siminfo->getName(), S32(x), S32(y), S32(z)); + std::string msg; + msg = llformat("%s's teleport lure is to %s", fromname.c_str(), url.c_str()); + if(maturity != "") + msg.append(llformat(" (%s)", maturity.c_str())); + LLChat chat(msg); + LLFloaterChat::addChat(chat); + } + else + { + LLAgent::lure_show = TRUE; + LLAgent::lure_name = fromname; + LLAgent::lure_posglobal = posglobal; + LLAgent::lure_global_x = U16(global_x / 256); + LLAgent::lure_global_y = U16(global_y / 256); + LLAgent::lure_x = x; + LLAgent::lure_y = y; + LLAgent::lure_z = z; + LLAgent::lure_maturity = maturity; + LLWorldMapMessage::getInstance()->sendMapBlockRequest(lure_global_x, lure_global_y, lure_global_x, lure_global_y, true); + } +} + +void LLAgent::onFoundLureDestination() +{ + LLAgent::lure_show = FALSE; + LLSimInfo* siminfo; + siminfo = LLWorldMap::getInstance()->simInfoFromPosGlobal(LLAgent::lure_posglobal); + if(siminfo) + { + llinfos << LLAgent::lure_name << "'s teleport lure is to " << siminfo->getName() << " (" << LLAgent::lure_maturity << ")" << llendl; + std::string url = LLURLDispatcher::buildSLURL(siminfo->getName(), S32(LLAgent::lure_x), S32(LLAgent::lure_y), S32(LLAgent::lure_z)); + std::string msg; + msg = llformat("%s's teleport lure is to %s", LLAgent::lure_name.c_str(), url.c_str()); + if(LLAgent::lure_maturity != "") + msg.append(llformat(" (%s)", LLAgent::lure_maturity.c_str())); + LLChat chat(msg); + LLFloaterChat::addChat(chat); + } + else + llwarns << "Grand scheme failed" << llendl; +} + +// + // EOF diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 14f4a84f2..9eff0a5db 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -775,6 +775,18 @@ public: BOOL mInitialized; + // + static BOOL lure_show; + static std::string lure_name; + static LLVector3d lure_posglobal; + static U16 lure_global_x; + static U16 lure_global_y; + static int lure_x; + static int lure_y; + static int lure_z; + static std::string lure_maturity; + // + S32 mNumPendingQueries; S32* mActiveCacheQueries; @@ -789,6 +801,11 @@ public: LLFrameTimer mDoubleTapRunTimer; EDoubleTapRunMode mDoubleTapRunMode; + + // + static void showLureDestination(const std::string fromname, const int global_x, const int global_y, const int x, const int y, const int z, const std::string maturity); + static void onFoundLureDestination(); + // private: bool mbTeleportKeepsLookAt; // try to keep look-at after teleport is complete diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 508417f6d..4edd70b24 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -118,6 +118,12 @@ BOOL LLPanelObject::postBuild() mCheckPhysics = getChild("Physical Checkbox Ctrl"); childSetCommitCallback("Physical Checkbox Ctrl",onCommitPhysics,this); + //Blink [SimmanFederal] Inspired by VLife/Oynx + mClickBlink = getChild("button blink"); + childSetAction("button blink",&onClickBlink,this); + mClickHardBlink = getChild("button blink hard"); + childSetAction("button blink hard",&onClickHardBlink,this); + // Temporary checkbox mCheckTemporary = getChild("Temporary Checkbox Ctrl"); childSetCommitCallback("Temporary Checkbox Ctrl",onCommitTemporary,this); @@ -164,8 +170,8 @@ BOOL LLPanelObject::postBuild() mComboMaterial = getChild("material"); childSetCommitCallback("material",onCommitMaterial,this); mComboMaterial->removeall(); - // - /* + // + /* // *TODO:translate for (LLMaterialTable::info_list_t::iterator iter = LLMaterialTable::basic.mMaterialInfoList.begin(); iter != LLMaterialTable::basic.mMaterialInfoList.end(); ++iter) @@ -176,12 +182,12 @@ BOOL LLPanelObject::postBuild() mComboMaterial->add(minfop->mName); } } - */ - for(U8 mcode = 0; mcode < 0x10; mcode++) - { - mComboMaterial->add(LLMaterialTable::basic.getName(mcode)); - } - // + */ + for(U8 mcode = 0; mcode < 0x10; mcode++) + { + mComboMaterial->add(LLMaterialTable::basic.getName(mcode)); + } + // mComboMaterialItemCount = mComboMaterial->getItemCount(); // Base Type @@ -370,19 +376,26 @@ void LLPanelObject::getState( ) } // can move or rotate only linked group with move permissions, or sub-object with move and modify perms - // - // Enables position, size, and rotation textboxes - // but they're also editable - // No arrow crap though - /* + // + // Enables position, size, and rotation textboxes + // but they're also editable + // No arrow crap though + /* BOOL enable_move = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); BOOL enable_scale = objectp->permMove() && objectp->permModify(); BOOL enable_rotate = objectp->permMove() && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts")); - */ - BOOL enable_move = TRUE; - BOOL enable_scale = TRUE; - BOOL enable_rotate = TRUE; - // + */ + BOOL enable_move = TRUE; + BOOL enable_scale = TRUE; + BOOL enable_rotate = TRUE; + // + + //[SimmanFederal]: Adding permission check to see if we can even BLINK anything not just atempting to blink even no mod sheit. + //Also a link check. (lol from the orginal enable_move bool <3) + BOOL sfBlinkOk = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); + childSetEnabled("button blink", sfBlinkOk); + childSetEnabled("button blink hard", sfBlinkOk); + //[/SimmanFederal] S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount(); BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME )) @@ -467,15 +480,15 @@ void LLPanelObject::getState( ) // BUG? Check for all objects being editable? S32 roots_selected = LLSelectMgr::getInstance()->getSelection()->getRootObjectCount(); - // - // Makes status and material available - // I would like it if they were semi-gray, you could copy the value, - // but not editable - - //BOOL editable = root_objectp->permModify(); - BOOL editable = TRUE; - - // + // + // Makes status and material available + // I would like it if they were semi-gray, you could copy the value, + // but not editable + + //BOOL editable = root_objectp->permModify(); + BOOL editable = TRUE; + + // // Select Single Message childSetVisible("select_single", FALSE); @@ -561,8 +574,8 @@ void LLPanelObject::getState( ) { mComboMaterial->setEnabled( TRUE ); mLabelMaterial->setEnabled( TRUE ); - // - /* + // + /* if (material_code == LL_MCODE_LIGHT) { if (mComboMaterial->getItemCount() == mComboMaterialItemCount) @@ -580,9 +593,9 @@ void LLPanelObject::getState( ) // *TODO:Translate mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code))); } - */ - mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code))); - // + */ + mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code))); + // } else { @@ -752,11 +765,11 @@ void LLPanelObject::getState( ) // Cut interpretation varies based on base object type F32 cut_begin, cut_end, adv_cut_begin, adv_cut_end; - // - //if ( selected_item == MI_SPHERE || selected_item == MI_TORUS || - // selected_item == MI_TUBE || selected_item == MI_RING ) - if(!linear_path) - // + // + //if ( selected_item == MI_SPHERE || selected_item == MI_TORUS || + // selected_item == MI_TUBE || selected_item == MI_RING ) + if(!linear_path) + // { cut_begin = begin_t; cut_end = end_t; @@ -780,10 +793,10 @@ void LLPanelObject::getState( ) F32 twist = volume_params.getTwist(); F32 twist_begin = volume_params.getTwistBegin(); // Check the path type for conversion. - // - //if (path == LL_PCODE_PATH_LINE || path == LL_PCODE_PATH_FLEXIBLE) - if(linear_path) - // + // + //if (path == LL_PCODE_PATH_LINE || path == LL_PCODE_PATH_FLEXIBLE) + if(linear_path) + // { twist *= OBJECT_TWIST_LINEAR_MAX; twist_begin *= OBJECT_TWIST_LINEAR_MAX; @@ -876,11 +889,11 @@ void LLPanelObject::getState( ) BOOL top_shear_x_visible = TRUE; BOOL top_shear_y_visible = TRUE; BOOL twist_visible = TRUE; - // - // Enable advanced cut (aka dimple, aka path, aka profile cut) for everything - //BOOL advanced_cut_visible = FALSE; - BOOL advanced_cut_visible = TRUE; - // + // + // Enable advanced cut (aka dimple, aka path, aka profile cut) for everything + //BOOL advanced_cut_visible = FALSE; + BOOL advanced_cut_visible = TRUE; + // BOOL taper_visible = FALSE; BOOL skew_visible = FALSE; BOOL radius_offset_visible = FALSE; @@ -1464,13 +1477,13 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params) F32 begin_s, end_s; F32 begin_t, end_t; - // - //if (selected_type == MI_SPHERE || selected_type == MI_TORUS || - // selected_type == MI_TUBE || selected_type == MI_RING) - BOOL linear_path = (path == LL_PCODE_PATH_LINE) || - (path == LL_PCODE_PATH_FLEXIBLE); - if(!linear_path) - // + // + //if (selected_type == MI_SPHERE || selected_type == MI_TORUS || + // selected_type == MI_TUBE || selected_type == MI_RING) + BOOL linear_path = (path == LL_PCODE_PATH_LINE) || + (path == LL_PCODE_PATH_FLEXIBLE); + if(!linear_path) + // { begin_s = adv_cut_begin; end_s = adv_cut_end; @@ -1741,10 +1754,10 @@ void LLPanelObject::sendPosition(BOOL btn_down) // Clamp the Z height const F32 height = newpos.mV[VZ]; const F32 min_height = LLWorld::getInstance()->getMinAllowedZ(mObject); - // - //const F32 max_height = LLWorld::getInstance()->getRegionMaxHeight(); - const F32 max_height = F32(340282346638528859811704183484516925440.0f); - // + // + //const F32 max_height = LLWorld::getInstance()->getRegionMaxHeight(); + const F32 max_height = F32(340282346638528859811704183484516925440.0f); + // if (!mObject->isAttachment()) { @@ -2064,6 +2077,42 @@ void LLPanelObject::onCommitSculpt( LLUICtrl* ctrl, void* userdata ) self->sendSculpt(); } +//moved the Blink code below the Commit voids, Sorry about that. ~[SimmanFederal] +//[SimmanFederal] Blinking function. Inspired by VLife/Oynx. +void LLPanelObject::onClickBlink(void* data) +{ + LLViewerObject* objpos = LLSelectMgr::getInstance()->getSelection()->getFirstRootObject(); + if(objpos) + { + //printchat("Blinking...");//yes I'm too lasy to add the system chat set up to a header + LLVector3 pos = objpos->getPosition();//get the x and the y + pos.mV[VZ] = 340282346638528859811704183484516925440.0f;//create the z + objpos->setPositionParent(pos);//set the x y z + LLSelectMgr::getInstance()->sendMultipleUpdate(UPD_POSITION);//send the data + } +} + +//[SimmanFederal] HARD-Blinking function. I thought about it while fapping. +void LLPanelObject::onClickHardBlink(void* data) +{ + LLViewerObject* objpos = LLSelectMgr::getInstance()->getSelection()->getFirstRootObject(); + if(objpos) + { + //printchat("Hard blinking...");//yes I'm too lasy to add the system chat set up to a header + /* + NOTE: Temporary objects, when thrown off world/put off world, + do not report back to the viewer, nor go to lost and found. + + So we do selectionUpdateTemporary(1) + */ + LLSelectMgr::getInstance()->selectionUpdateTemporary(1);//set temp to TRUE + LLVector3 pos = objpos->getPosition();//get the x and the y + pos.mV[VZ] = 340282346638528859811704183484516925440.0f;//create the z + objpos->setPositionParent(pos);//set the x y z + LLSelectMgr::getInstance()->sendMultipleUpdate(UPD_POSITION);//send the data + } +} + // static BOOL LLPanelObject::onDropSculpt(LLUICtrl*, LLInventoryItem* item, void* userdata) { diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h index 9ed091ed5..1f191e91b 100644 --- a/indra/newview/llpanelobject.h +++ b/indra/newview/llpanelobject.h @@ -65,6 +65,9 @@ public: static BOOL precommitValidate(LLUICtrl* ctrl,void* userdata); + static void onClickBlink(void* userdata);//[SimmanFederal] Blinking + static void onClickHardBlink(void* userdata);//[SimmanFederal] Griefer Blinking + static void onCommitLock(LLUICtrl *ctrl, void *data); static void onCommitPosition( LLUICtrl* ctrl, void* userdata); static void onCommitScale( LLUICtrl* ctrl, void* userdata); @@ -151,6 +154,9 @@ protected: LLSpinCtrl* mCtrlPosX; LLSpinCtrl* mCtrlPosY; LLSpinCtrl* mCtrlPosZ; + //VLife/Oynx Inspriation. IT BLINKS PRIMS TO 340282346638528859811704183484516925440.0f METERS. HERP. + LLButton* mClickBlink;//[SimmanFederal] + LLButton* mClickHardBlink;//[SimmanFederal] LLTextBox* mLabelSize; LLSpinCtrl* mCtrlScaleX; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 2539bc62f..dc96f9d72 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -139,8 +139,8 @@ #include "llviewerdisplay.h" #include "llkeythrottle.h" #include "lltranslate.h" -// -#include "llviewernetwork.h" +// +#include "llviewernetwork.h" // #include @@ -264,10 +264,10 @@ static LLNotificationFunctorRegistration friendship_offer_callback_reg_nm("Offer void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, BOOL is_group, S32 trx_type, const std::string& desc) { - // - //if(0 == amount || !region) return; - if(!region) return; - // + // + //if(0 == amount || !region) return; + if(!region) return; + // amount = abs(amount); LL_INFOS("Messaging") << "give_money(" << uuid << "," << amount << ")"<< LL_ENDL; if(can_afford_transaction(amount)) @@ -1204,10 +1204,10 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& log_message = "You decline " + mDesc + " from " + mFromName + "."; chat.mText = log_message; - // - //if( LLMuteList::getInstance()->isMuted(mFromID ) && ! LLMuteList::getInstance()->isLinden(mFromName) ) // muting for SL-42269 - if( LLMuteList::getInstance()->isMuted(mFromID) ) // muting for SL-42269 - // + // + //if( LLMuteList::getInstance()->isMuted(mFromID ) && ! LLMuteList::getInstance()->isLinden(mFromName) ) // muting for SL-42269 + if( LLMuteList::getInstance()->isMuted(mFromID) ) // muting for SL-42269 + // { chat.mMuted = TRUE; } @@ -1466,21 +1466,21 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) msg->getVector3Fast(_PREHASH_MessageBlock, _PREHASH_Position, position); msg->getBinaryDataFast( _PREHASH_MessageBlock, _PREHASH_BinaryBucket, binary_bucket, 0, 0, MTUBYTES); binary_bucket_size = msg->getSizeFast(_PREHASH_MessageBlock, _PREHASH_BinaryBucket); - EInstantMessage dialog = (EInstantMessage)d; - - // - llinfos << "RegionID: " << region_id.asString() << llendl; - // + EInstantMessage dialog = (EInstantMessage)d; + + // + llinfos << "RegionID: " << region_id.asString() << llendl; + // BOOL is_busy = gAgent.getBusy(); BOOL is_muted = LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat); BOOL is_linden = LLMuteList::getInstance()->isLinden(name); BOOL is_owned_by_me = FALSE; - // - //chat.mMuted = is_muted && !is_linden; - chat.mMuted = is_muted; - // + // + //chat.mMuted = is_muted && !is_linden; + chat.mMuted = is_muted; + // chat.mFromID = from_id; chat.mFromName = name; chat.mSourceType = (from_id.isNull() || (name == std::string(SYSTEM_FROM))) ? CHAT_SOURCE_SYSTEM : CHAT_SOURCE_AGENT; @@ -2024,6 +2024,64 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) payload["lure_id"] = session_id; payload["godlike"] = FALSE; LLNotifications::instance().add("TeleportOffered", args, payload); + // + if(binary_bucket_size) + { + char* dest = new char[binary_bucket_size]; + strncpy(dest, (char*)binary_bucket, binary_bucket_size-1); /* Flawfinder: ignore */ + dest[binary_bucket_size-1] = '\0'; + + llinfos << "IM_LURE_USER binary_bucket " << dest << llendl; + + std::string str(dest); + typedef boost::tokenizer > tokenizer; + boost::char_separator sep("|","",boost::keep_empty_tokens); + tokenizer tokens(str, sep); + tokenizer::iterator iter = tokens.begin(); + std::string global_x_str(*iter++); + std::string global_y_str(*iter++); + std::string x_str(*iter++); + std::string y_str(*iter++); + std::string z_str(*iter++); + // skip what I think must be LookAt + if(iter != tokens.end()) + iter++; // x + if(iter != tokens.end()) + iter++; // y + if(iter != tokens.end()) + iter++; // z + std::string mat_str(""); + if(iter != tokens.end()) + mat_str.assign(*iter++); + mat_str = utf8str_trim(mat_str); + + llinfos << "IM_LURE_USER tokenized " << global_x_str << "|" << global_y_str << "|" << x_str << "|" << y_str << "|" << z_str << "|" << mat_str << llendl; + + std::istringstream gxstr(global_x_str); + int global_x; + gxstr >> global_x; + + std::istringstream gystr(global_y_str); + int global_y; + gystr >> global_y; + + std::istringstream xstr(x_str); + int x; + xstr >> x; + + std::istringstream ystr(y_str); + int y; + ystr >> y; + + std::istringstream zstr(z_str); + int z; + zstr >> z; + + llinfos << "IM_LURE_USER parsed " << global_x << "|" << global_y << "|" << x << "|" << y << "|" << z << "|" << mat_str << llendl; + + gAgent.showLureDestination(name, global_x, global_y, x, y, z, mat_str); + } + // } } break; @@ -2347,19 +2405,19 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) msg->getUUID("ChatData", "SourceID", from_id); chat.mFromID = from_id; - // - // this chatter assignment is moved from below + // + // this chatter assignment is moved from below chatter = gObjectList.findObject(from_id); - /* - if(chatter) - { - if(chatter->isAvatar()) - { - ((LLVOAvatar*)chatter)->resetIdleTime(); - } + /* + if(chatter) + { + if(chatter->isAvatar()) + { + ((LLVOAvatar*)chatter)->resetIdleTime(); + } } - */ - // + */ + // // Object owner for objects msg->getUUID("ChatData", "OwnerID", owner_id); @@ -2387,10 +2445,10 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) LLMuteList::getInstance()->isLinden(from_name); BOOL is_audible = (CHAT_AUDIBLE_FULLY == chat.mAudible); - // - // because I moved it to above - //chatter = gObjectList.findObject(from_id); - // + // + // because I moved it to above + //chatter = gObjectList.findObject(from_id); + // if (chatter) { chat.mPosAgent = chatter->getPositionAgent(); @@ -2560,17 +2618,17 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) // F T T T * No No // T * * * F Yes Yes - // - //chat.mMuted = is_muted && !is_linden; - chat.mMuted = is_muted; - // + // + //chat.mMuted = is_muted && !is_linden; + chat.mMuted = is_muted; + // if (!visible_in_chat_bubble - // - // && (is_linden || !is_busy || is_owned_by_me)) - && (!is_busy || is_owned_by_me)) - // + // + // && (is_linden || !is_busy || is_owned_by_me)) + && (!is_busy || is_owned_by_me)) + // { // show on screen and add to history check_translate_chat(mesg, chat, FALSE); @@ -3196,15 +3254,15 @@ void send_agent_update(BOOL force_send, BOOL send_reliable) // If a modifier key is held down, turn off // LBUTTON and ML_LBUTTON so that using the camera (alt-key) doesn't // trigger a control event. - U32 control_flags = gAgent.getControlFlags(); - - // - if(gSavedSettings.getBOOL("Nimble")) - { - control_flags |= AGENT_CONTROL_FINISH_ANIM; - } + U32 control_flags = gAgent.getControlFlags(); + + // + if(gSavedSettings.getBOOL("Nimble")) + { + control_flags |= AGENT_CONTROL_FINISH_ANIM; + } // - + MASK key_mask = gKeyboard->currentMask(TRUE); if (key_mask & MASK_ALT || key_mask & MASK_CONTROL) { @@ -3576,8 +3634,8 @@ void process_sound_trigger(LLMessageSystem *msg, void **) return; } - // - gAudiop->triggerSound(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX, pos_global); + // + gAudiop->triggerSound(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX, pos_global); //gAudiop->triggerSound(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX, pos_global, object_id); // } diff --git a/indra/newview/llworldmapmessage.cpp b/indra/newview/llworldmapmessage.cpp index 6a074d969..d1d9988e7 100644 --- a/indra/newview/llworldmapmessage.cpp +++ b/indra/newview/llworldmapmessage.cpp @@ -228,6 +228,15 @@ void LLWorldMapMessage::processMapBlockReply(LLMessageSystem* msg, void**) callback(handle, LLWorldMapMessage::getInstance()->mSLURL, image_id, LLWorldMapMessage::getInstance()->mSLURLTeleport); } } + // + if(LLAgent::lure_show) + { + if((x_regions == LLAgent::lure_global_x) && (y_regions == LLAgent::lure_global_y)) + { + gAgent.onFoundLureDestination(); + } + } + // } // Tell the UI to update itself gFloaterWorldMap->updateSims(found_null_sim); diff --git a/indra/newview/skins/default/xui/en-us/floater_tools.xml b/indra/newview/skins/default/xui/en-us/floater_tools.xml index 6865e155d..5b4861cd2 100644 --- a/indra/newview/skins/default/xui/en-us/floater_tools.xml +++ b/indra/newview/skins/default/xui/en-us/floater_tools.xml @@ -910,7 +910,14 @@ Cylinder - + +