diff options
author | McCabe Maxsted | 2010-08-19 10:54:12 -0700 |
---|---|---|
committer | McCabe Maxsted | 2010-08-26 11:22:52 -0700 |
commit | fee791f808c6adcb114302f39aacce4d5834edf5 (patch) | |
tree | 8328ae00e6af4163f68adfaf12e0947e91b84135 /linden/indra/newview | |
parent | Disable ParticleChat by default, as it's a privacy concern. (diff) | |
download | meta-impy-fee791f808c6adcb114302f39aacce4d5834edf5.zip meta-impy-fee791f808c6adcb114302f39aacce4d5834edf5.tar.gz meta-impy-fee791f808c6adcb114302f39aacce4d5834edf5.tar.bz2 meta-impy-fee791f808c6adcb114302f39aacce4d5834edf5.tar.xz |
Applied RLVa-1.0.5e_fix.patch by Kitty Barnett to fix RLVa up to 1.0.5.e
Diffstat (limited to 'linden/indra/newview')
41 files changed, 573 insertions, 235 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index e0a35cb..a7b78f1 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt | |||
@@ -909,8 +909,6 @@ set(viewer_HEADER_FILES | |||
909 | pipeline.h | 909 | pipeline.h |
910 | primbackup.h | 910 | primbackup.h |
911 | randgauss.h | 911 | randgauss.h |
912 | VertexCache.h | ||
913 | VorbisFramework.h | ||
914 | rlvdefines.h | 912 | rlvdefines.h |
915 | rlvevent.h | 913 | rlvevent.h |
916 | rlvhandler.h | 914 | rlvhandler.h |
@@ -918,6 +916,8 @@ set(viewer_HEADER_FILES | |||
918 | rlvmultistringsearch.h | 916 | rlvmultistringsearch.h |
919 | rlvextensions.h | 917 | rlvextensions.h |
920 | rlvfloaterbehaviour.h | 918 | rlvfloaterbehaviour.h |
919 | VertexCache.h | ||
920 | VorbisFramework.h | ||
921 | viewertime.h | 921 | viewertime.h |
922 | viewerversion.h | 922 | viewerversion.h |
923 | ) | 923 | ) |
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index ef05fae..38e1c0f 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -4307,16 +4307,14 @@ void LLAgent::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL camera_ani | |||
4307 | return; | 4307 | return; |
4308 | } | 4308 | } |
4309 | 4309 | ||
4310 | // if(gSavedSettings.getBOOL("AppearanceAnimate")) | ||
4310 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | 4311 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) |
4311 | if(gSavedSettings.getBOOL("AppearanceAnimate")) | 4312 | if ( (gSavedSettings.getBOOL("AppearanceAnimate")) && |
4312 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && (mAvatarObject.notNull()) && (mAvatarObject->mIsSitting) ) | 4313 | ((!gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) || ((mAvatarObject.notNull()) && (!mAvatarObject->mIsSitting))) ) |
4313 | { | ||
4314 | return; | ||
4315 | } | ||
4316 | // [/RLVa:KB] | 4314 | // [/RLVa:KB] |
4317 | 4315 | { | |
4318 | if(gSavedSettings.getBOOL("AppearanceAnimate")) | ||
4319 | setControlFlags(AGENT_CONTROL_STAND_UP); // force stand up | 4316 | setControlFlags(AGENT_CONTROL_STAND_UP); // force stand up |
4317 | } | ||
4320 | gViewerWindow->getWindow()->resetBusyCount(); | 4318 | gViewerWindow->getWindow()->resetBusyCount(); |
4321 | 4319 | ||
4322 | if (gFaceEditToolset) | 4320 | if (gFaceEditToolset) |
@@ -6285,8 +6283,7 @@ void LLAgent::setTeleportState(ETeleportState state) | |||
6285 | // We're outa here. Save "back" slurl. | 6283 | // We're outa here. Save "back" slurl. |
6286 | mTeleportSourceSLURL = getSLURL(); | 6284 | mTeleportSourceSLURL = getSLURL(); |
6287 | } | 6285 | } |
6288 | 6286 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-07 (RLVa-1.0.0d) | Added: RLVa-0.2.0b | |
6289 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-07 (RLVa-1.0.0d) | Added: RLVa-0.2.0b | ||
6290 | if ( (rlv_handler_t::isEnabled()) && (TELEPORT_NONE == mTeleportState) ) | 6287 | if ( (rlv_handler_t::isEnabled()) && (TELEPORT_NONE == mTeleportState) ) |
6291 | { | 6288 | { |
6292 | gRlvHandler.setCanCancelTp(true); | 6289 | gRlvHandler.setCanCancelTp(true); |
@@ -7473,7 +7470,7 @@ void LLAgent::removeWearable( EWearableType type ) | |||
7473 | return; | 7470 | return; |
7474 | } | 7471 | } |
7475 | 7472 | ||
7476 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-07 (RLVa-1.0.0d) | 7473 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-07 (RLVa-1.0.0d) |
7477 | if ( (rlv_handler_t::isEnabled()) && (!gRlvHandler.isRemovable(type)) ) | 7474 | if ( (rlv_handler_t::isEnabled()) && (!gRlvHandler.isRemovable(type)) ) |
7478 | { | 7475 | { |
7479 | return; | 7476 | return; |
@@ -7616,9 +7613,9 @@ void LLAgent::setWearableOutfit( | |||
7616 | wearables_to_remove[WT_UNDERSHIRT] = (!gAgent.isTeen()) && remove && gRlvHandler.isRemovable(WT_UNDERSHIRT); | 7613 | wearables_to_remove[WT_UNDERSHIRT] = (!gAgent.isTeen()) && remove && gRlvHandler.isRemovable(WT_UNDERSHIRT); |
7617 | wearables_to_remove[WT_UNDERPANTS] = (!gAgent.isTeen()) && remove && gRlvHandler.isRemovable(WT_UNDERPANTS); | 7614 | wearables_to_remove[WT_UNDERPANTS] = (!gAgent.isTeen()) && remove && gRlvHandler.isRemovable(WT_UNDERPANTS); |
7618 | wearables_to_remove[WT_SKIRT] = remove && gRlvHandler.isRemovable(WT_SKIRT); | 7615 | wearables_to_remove[WT_SKIRT] = remove && gRlvHandler.isRemovable(WT_SKIRT); |
7616 | wearables_to_remove[WT_ALPHA] = remove && gRlvHandler.isRemovable(WT_ALPHA); | ||
7617 | wearables_to_remove[WT_TATTOO] = remove && gRlvHandler.isRemovable(WT_TATTOO); | ||
7619 | // [/RLVa:KB] | 7618 | // [/RLVa:KB] |
7620 | wearables_to_remove[WT_ALPHA] = remove; | ||
7621 | wearables_to_remove[WT_TATTOO] = remove; | ||
7622 | 7619 | ||
7623 | S32 count = wearables.count(); | 7620 | S32 count = wearables.count(); |
7624 | llassert( items.count() == count ); | 7621 | llassert( items.count() == count ); |
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 7879b36..bcfeaa3 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -1826,6 +1826,12 @@ bool LLAppViewer::initConfiguration() | |||
1826 | LLFirstUse::addConfigVariable("FirstMedia"); | 1826 | LLFirstUse::addConfigVariable("FirstMedia"); |
1827 | LLFirstUse::addConfigVariable("FirstLoginScreen"); | 1827 | LLFirstUse::addConfigVariable("FirstLoginScreen"); |
1828 | 1828 | ||
1829 | // [RLVa:KB] - Checked: RLVa-1.0.3a (2009-09-10) | Added: RLVa-1.0.3a | ||
1830 | //LLFirstUse::addConfigVariable(RLV_SETTING_FIRSTUSE_DETACH); | ||
1831 | //LLFirstUse::addConfigVariable(RLV_SETTING_FIRSTUSE_ENABLEWEAR); | ||
1832 | //LLFirstUse::addConfigVariable(RLV_SETTING_FIRSTUSE_FARTOUCH); | ||
1833 | // [/RLVa:KB] | ||
1834 | |||
1829 | // - read command line settings. | 1835 | // - read command line settings. |
1830 | LLControlGroupCLP clp; | 1836 | LLControlGroupCLP clp; |
1831 | std::string cmd_line_config = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, | 1837 | std::string cmd_line_config = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, |
diff --git a/linden/indra/newview/llchatbar.cpp b/linden/indra/newview/llchatbar.cpp index 5a7586e..3c977dd 100644 --- a/linden/indra/newview/llchatbar.cpp +++ b/linden/indra/newview/llchatbar.cpp | |||
@@ -558,16 +558,16 @@ void LLChatBar::onInputEditorKeystroke( LLLineEditor* caller, void* userdata ) | |||
558 | 558 | ||
559 | S32 length = raw_text.length(); | 559 | S32 length = raw_text.length(); |
560 | 560 | ||
561 | //if( (length > 0) && (raw_text[0] != '/') ) // forward slash is used for escape (eg. emote) sequences | 561 | if( (length > 0) && (raw_text[0] != '/') ) // forward slash is used for escape (eg. emote) sequences |
562 | // [RLVa:KB] - Checked: 2009-07-07 (RLVa-1.0.0d) | ||
563 | if ( (length > 0) && (raw_text[0] != '/') && (!gRlvHandler.hasBehaviour(RLV_BHVR_REDIRCHAT)) ) | ||
564 | // [/RLVa:KB] | ||
565 | { | 562 | { |
566 | if (self->mChanCtrlEnabled && (S32)(self->mChannelControl->get()) != 0) | 563 | if (self->mChanCtrlEnabled && (S32)(self->mChannelControl->get()) != 0) |
567 | { | 564 | { |
568 | gAgent.stopTyping(); | 565 | gAgent.stopTyping(); |
569 | } | 566 | } |
570 | else | 567 | // else |
568 | // [RLVa:KB] - Checked: 2009-07-07 (RLVa-1.0.0d) | ||
569 | else if (!gRlvHandler.hasBehaviour(RLV_BHVR_REDIRCHAT)) | ||
570 | // [/RLVa:KB] | ||
571 | { | 571 | { |
572 | gAgent.startTyping(); | 572 | gAgent.startTyping(); |
573 | } | 573 | } |
diff --git a/linden/indra/newview/llfirstuse.cpp b/linden/indra/newview/llfirstuse.cpp index c0f07e5..886bb94 100644 --- a/linden/indra/newview/llfirstuse.cpp +++ b/linden/indra/newview/llfirstuse.cpp | |||
@@ -49,10 +49,6 @@ | |||
49 | #include "floatergriddefault.h" | 49 | #include "floatergriddefault.h" |
50 | #include "hippoGridManager.h" | 50 | #include "hippoGridManager.h" |
51 | 51 | ||
52 | // [RLVa:KB] - Version: 1.22.11 | ||
53 | #include "llviewerwindow.h" | ||
54 | // [/RLVa:KB] | ||
55 | |||
56 | // static | 52 | // static |
57 | std::set<std::string> LLFirstUse::sConfigVariables; | 53 | std::set<std::string> LLFirstUse::sConfigVariables; |
58 | 54 | ||
@@ -310,6 +306,43 @@ void LLFirstUse::useMedia() | |||
310 | } | 306 | } |
311 | } | 307 | } |
312 | 308 | ||
309 | // [RLVa:KB] - Version: 1.23.4 | Checked: RLVa-1.0.3a (2009-09-10) | Added: RLVa-1.0.3a | ||
310 | |||
311 | bool rlvHasVisibleFirstUseNotification() | ||
312 | { | ||
313 | LLNotificationChannelPtr activeNotifications = LLNotifications::instance().getChannel("Notifications"); | ||
314 | for (LLNotificationChannel::Iterator itNotif = activeNotifications->begin(); itNotif != activeNotifications->end(); itNotif++) | ||
315 | if ((*itNotif)->getName().find(RLV_SETTING_FIRSTUSE_PREFIX) == 0) | ||
316 | return true; | ||
317 | return false; | ||
318 | } | ||
319 | |||
320 | void LLFirstUse::showRlvFirstUseNotification(const std::string& strName) | ||
321 | { | ||
322 | if ( (gSavedSettings.getWarning(strName)) && (!rlvHasVisibleFirstUseNotification()) ) | ||
323 | { | ||
324 | gSavedSettings.setWarning(strName, FALSE); | ||
325 | LLNotifications::instance().add(strName); | ||
326 | } | ||
327 | } | ||
328 | |||
329 | void LLFirstUse::warnRlvGiveToRLV() | ||
330 | { | ||
331 | if ( (gSavedSettings.getWarning(RLV_SETTING_FIRSTUSE_GIVETORLV)) && (RlvSettings::getForbidGiveToRLV()) ) | ||
332 | LLNotifications::instance().add(RLV_SETTING_FIRSTUSE_GIVETORLV, LLSD(), LLSD(), &LLFirstUse::onRlvGiveToRLVConfirmation); | ||
333 | } | ||
334 | |||
335 | void LLFirstUse::onRlvGiveToRLVConfirmation(const LLSD& notification, const LLSD& response) | ||
336 | { | ||
337 | gSavedSettings.setWarning(RLV_SETTING_FIRSTUSE_GIVETORLV, FALSE); | ||
338 | |||
339 | S32 idxOption = LLNotification::getSelectedOption(notification, response); | ||
340 | if ( (0 == idxOption) || (1 == idxOption) ) | ||
341 | gSavedSettings.setBOOL(RLV_SETTING_FORBIDGIVETORLV, (idxOption == 1)); | ||
342 | } | ||
343 | |||
344 | // [/RLVa:KB] | ||
345 | |||
313 | void LLFirstUse::callbackClientTags(const LLSD& notification, const LLSD& response) | 346 | void LLFirstUse::callbackClientTags(const LLSD& notification, const LLSD& response) |
314 | { | 347 | { |
315 | gSavedSettings.setWarning("ClientTags", FALSE); | 348 | gSavedSettings.setWarning("ClientTags", FALSE); |
diff --git a/linden/indra/newview/llfirstuse.h b/linden/indra/newview/llfirstuse.h index bd44ece..c77f0b2 100644 --- a/linden/indra/newview/llfirstuse.h +++ b/linden/indra/newview/llfirstuse.h | |||
@@ -129,7 +129,7 @@ public: | |||
129 | 129 | ||
130 | static void warnRlvGiveToRLV(); | 130 | static void warnRlvGiveToRLV(); |
131 | protected: | 131 | protected: |
132 | static void onRlvGiveToRLVConfirmation(S32 idxOption, void* pUserParam); | 132 | static void onRlvGiveToRLVConfirmation(const LLSD& notification, const LLSD& response); |
133 | // [/RLVa:KB] | 133 | // [/RLVa:KB] |
134 | }; | 134 | }; |
135 | 135 | ||
diff --git a/linden/indra/newview/llfloaterabout.cpp b/linden/indra/newview/llfloaterabout.cpp index 7e6c43f..1945df4 100644 --- a/linden/indra/newview/llfloaterabout.cpp +++ b/linden/indra/newview/llfloaterabout.cpp | |||
@@ -141,7 +141,7 @@ LLFloaterAbout::LLFloaterAbout() | |||
141 | 141 | ||
142 | // Position | 142 | // Position |
143 | LLViewerRegion* region = gAgent.getRegion(); | 143 | LLViewerRegion* region = gAgent.getRegion(); |
144 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-04 (RLVa-1.0.0a) | 144 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) |
145 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) | 145 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) |
146 | { | 146 | { |
147 | support.append(rlv_handler_t::cstrHidden); | 147 | support.append(rlv_handler_t::cstrHidden); |
diff --git a/linden/indra/newview/llfloateravatarpicker.cpp b/linden/indra/newview/llfloateravatarpicker.cpp index c5a6a37..4eca8af 100644 --- a/linden/indra/newview/llfloateravatarpicker.cpp +++ b/linden/indra/newview/llfloateravatarpicker.cpp | |||
@@ -351,6 +351,30 @@ void LLFloaterAvatarPicker::populateNearMe() | |||
351 | void LLFloaterAvatarPicker::draw() | 351 | void LLFloaterAvatarPicker::draw() |
352 | { | 352 | { |
353 | LLFloater::draw(); | 353 | LLFloater::draw(); |
354 | |||
355 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-1.0.0e | ||
356 | // TODO-RLVa: this code needs revisiting | ||
357 | if (rlv_handler_t::isEnabled()) | ||
358 | { | ||
359 | LLPanel* pNearMePanel = getChild<LLPanel>("NearMePanel"); | ||
360 | if ( (pNearMePanel) && (childGetVisibleTab("ResidentChooserTabs") == pNearMePanel) ) | ||
361 | { | ||
362 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | ||
363 | { | ||
364 | if (mNearMeListComplete) | ||
365 | { | ||
366 | getChild<LLScrollListCtrl>("NearMe")->deleteAllItems(); | ||
367 | childSetEnabled("Select", false); | ||
368 | } | ||
369 | mNearMeListComplete = FALSE; | ||
370 | pNearMePanel->setCtrlsEnabled(FALSE); | ||
371 | return; | ||
372 | } | ||
373 | pNearMePanel->setCtrlsEnabled(TRUE); | ||
374 | } | ||
375 | } | ||
376 | // [/RLVa:KB] | ||
377 | |||
354 | if (!mNearMeListComplete && childGetVisibleTab("ResidentChooserTabs") == getChild<LLPanel>("NearMePanel")) | 378 | if (!mNearMeListComplete && childGetVisibleTab("ResidentChooserTabs") == getChild<LLPanel>("NearMePanel")) |
355 | { | 379 | { |
356 | populateNearMe(); | 380 | populateNearMe(); |
diff --git a/linden/indra/newview/llfloaterchat.cpp b/linden/indra/newview/llfloaterchat.cpp index 7613e36..b14930b 100644 --- a/linden/indra/newview/llfloaterchat.cpp +++ b/linden/indra/newview/llfloaterchat.cpp | |||
@@ -208,10 +208,11 @@ void add_timestamped_line(LLViewerTextEditor* edit, LLChat chat, const LLColor4& | |||
208 | // extract out the sender name and replace it with the hotlinked name. | 208 | // extract out the sender name and replace it with the hotlinked name. |
209 | if (chat.mSourceType == CHAT_SOURCE_AGENT && | 209 | if (chat.mSourceType == CHAT_SOURCE_AGENT && |
210 | chat.mFromID != LLUUID::null && | 210 | chat.mFromID != LLUUID::null && |
211 | // chat.mFromID != gAgent.getID()) | ||
212 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
211 | chat.mFromID != gAgent.getID() && | 213 | chat.mFromID != gAgent.getID() && |
212 | // [RLVa] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
213 | (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) | 214 | (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) |
214 | // [/RLVa] | 215 | // [/RLVa:KB] |
215 | { | 216 | { |
216 | chat.mURL = llformat("secondlife:///app/agent/%s/about",chat.mFromID.asString().c_str()); | 217 | chat.mURL = llformat("secondlife:///app/agent/%s/about",chat.mFromID.asString().c_str()); |
217 | } | 218 | } |
diff --git a/linden/indra/newview/llfloatermap.cpp b/linden/indra/newview/llfloatermap.cpp index bfbc8bb..b56fb5f 100644 --- a/linden/indra/newview/llfloatermap.cpp +++ b/linden/indra/newview/llfloatermap.cpp | |||
@@ -154,18 +154,6 @@ void LLFloaterMap::draw() | |||
154 | } | 154 | } |
155 | } | 155 | } |
156 | 156 | ||
157 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-05 (RLVa-1.0.0c) | ||
158 | void LLFloaterMap::open() | ||
159 | { | ||
160 | if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWMINIMAP)) | ||
161 | { | ||
162 | LLFloater::open(); | ||
163 | LLFirstUse::useMiniMap(); | ||
164 | } | ||
165 | } | ||
166 | // [/RLVa:KB] | ||
167 | |||
168 | |||
169 | PanelRadar* LLFloaterMap::getRadar() | 157 | PanelRadar* LLFloaterMap::getRadar() |
170 | { | 158 | { |
171 | return mPanelRadar; | 159 | return mPanelRadar; |
@@ -263,3 +251,13 @@ void LLFloaterMap::adjustLayout( bool expand ) | |||
263 | toggle->setRect( temp_rect ); | 251 | toggle->setRect( temp_rect ); |
264 | } | 252 | } |
265 | } | 253 | } |
254 | |||
255 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-05 (RLVa-1.0.0c) | ||
256 | void LLFloaterMap::open() | ||
257 | { | ||
258 | if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWMINIMAP)) | ||
259 | { | ||
260 | LLFloater::open(); | ||
261 | } | ||
262 | } | ||
263 | // [/RLVa:KB] | ||
diff --git a/linden/indra/newview/llfloatermap.h b/linden/indra/newview/llfloatermap.h index 5b0497f..6f7281e 100644 --- a/linden/indra/newview/llfloatermap.h +++ b/linden/indra/newview/llfloatermap.h | |||
@@ -55,8 +55,8 @@ public: | |||
55 | /*virtual*/ void onOpen(); | 55 | /*virtual*/ void onOpen(); |
56 | /*virtual*/ void onClose(bool app_quitting); | 56 | /*virtual*/ void onClose(bool app_quitting); |
57 | /*virtual*/ BOOL canClose(); | 57 | /*virtual*/ BOOL canClose(); |
58 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-05 (RLVa-1.0.0c) | 58 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-05 (RLVa-1.0.0c) |
59 | /*virtual*/ void open(); | 59 | /*virtual*/ void open(); |
60 | // [/RLVa:KB] | 60 | // [/RLVa:KB] |
61 | 61 | ||
62 | PanelRadar* getRadar(); | 62 | PanelRadar* getRadar(); |
diff --git a/linden/indra/newview/llfloaterobjectiminfo.cpp b/linden/indra/newview/llfloaterobjectiminfo.cpp index 7ef3af2..fa7964c 100644 --- a/linden/indra/newview/llfloaterobjectiminfo.cpp +++ b/linden/indra/newview/llfloaterobjectiminfo.cpp | |||
@@ -47,6 +47,10 @@ | |||
47 | #include "llurldispatcher.h" | 47 | #include "llurldispatcher.h" |
48 | #include "llviewercontrol.h" | 48 | #include "llviewercontrol.h" |
49 | 49 | ||
50 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) | Added: RLVa-0.2.0g | ||
51 | #include "rlvhandler.h" | ||
52 | // [/RLVa:KB] | ||
53 | |||
50 | //////////////////////////////////////////////////////////////////////////// | 54 | //////////////////////////////////////////////////////////////////////////// |
51 | // LLFloaterObjectIMInfo | 55 | // LLFloaterObjectIMInfo |
52 | class LLFloaterObjectIMInfo : public LLFloater, public LLFloaterSingleton<LLFloaterObjectIMInfo> | 56 | class LLFloaterObjectIMInfo : public LLFloater, public LLFloaterSingleton<LLFloaterObjectIMInfo> |
@@ -100,7 +104,10 @@ void LLFloaterObjectIMInfo::update(const LLUUID& object_id, const std::string& n | |||
100 | { | 104 | { |
101 | // When talking to an old region we won't have a slurl. | 105 | // When talking to an old region we won't have a slurl. |
102 | // The object id isn't really the object id either but we don't use it so who cares. | 106 | // The object id isn't really the object id either but we don't use it so who cares. |
103 | bool have_slurl = !slurl.empty(); | 107 | //bool have_slurl = !slurl.empty(); |
108 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) | Added: RLVa-0.2.0g | ||
109 | bool have_slurl = (!slurl.empty()) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)); | ||
110 | // [/RLVa:KB] | ||
104 | childSetVisible("Unknown_Slurl",!have_slurl); | 111 | childSetVisible("Unknown_Slurl",!have_slurl); |
105 | childSetVisible("Slurl",have_slurl); | 112 | childSetVisible("Slurl",have_slurl); |
106 | 113 | ||
@@ -108,7 +115,10 @@ void LLFloaterObjectIMInfo::update(const LLUUID& object_id, const std::string& n | |||
108 | childSetText("Slurl",slurl); | 115 | childSetText("Slurl",slurl); |
109 | childSetText("OwnerName",std::string("")); | 116 | childSetText("OwnerName",std::string("")); |
110 | 117 | ||
111 | bool my_object = (owner_id == gAgentID); | 118 | // bool my_object = (owner_id == gAgentID); |
119 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0g | ||
120 | bool my_object = (owner_id == gAgentID) || ((gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(owner_id))); | ||
121 | // [/RLVa:KB] | ||
112 | childSetEnabled("Mute",!my_object); | 122 | childSetEnabled("Mute",!my_object); |
113 | 123 | ||
114 | mObjectID = object_id; | 124 | mObjectID = object_id; |
@@ -139,7 +149,10 @@ void LLFloaterObjectIMInfo::onClickOwner(void* data) | |||
139 | { | 149 | { |
140 | LLFloaterGroupInfo::showFromUUID(self->mOwnerID); | 150 | LLFloaterGroupInfo::showFromUUID(self->mOwnerID); |
141 | } | 151 | } |
142 | else | 152 | // else |
153 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0g | ||
154 | else if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) || (!gRlvHandler.isAgentNearby(self->mOwnerID)) ) | ||
155 | // [/RLVa:KB] | ||
143 | { | 156 | { |
144 | LLFloaterAvatarInfo::showFromObject(self->mOwnerID); | 157 | LLFloaterAvatarInfo::showFromObject(self->mOwnerID); |
145 | } | 158 | } |
@@ -151,6 +164,13 @@ void LLFloaterObjectIMInfo::onClickMute(void* data) | |||
151 | LLFloaterObjectIMInfo* self = (LLFloaterObjectIMInfo*)data; | 164 | LLFloaterObjectIMInfo* self = (LLFloaterObjectIMInfo*)data; |
152 | 165 | ||
153 | LLMute::EType mute_type = (self->mOwnerIsGroup) ? LLMute::GROUP : LLMute::AGENT; | 166 | LLMute::EType mute_type = (self->mOwnerIsGroup) ? LLMute::GROUP : LLMute::AGENT; |
167 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0g | ||
168 | if ( (LLMute::GROUP != mute_type) && (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(self->mOwnerID)) ) | ||
169 | { | ||
170 | return; | ||
171 | } | ||
172 | // [/RLVa:KB] | ||
173 | |||
154 | LLMute mute(self->mOwnerID, self->mOwnerName, mute_type); | 174 | LLMute mute(self->mOwnerID, self->mOwnerName, mute_type); |
155 | LLMuteList::getInstance()->add(mute); | 175 | LLMuteList::getInstance()->add(mute); |
156 | LLFloaterMute::showInstance(); | 176 | LLFloaterMute::showInstance(); |
@@ -167,6 +187,13 @@ void LLFloaterObjectIMInfo::nameCallback(const LLUUID& id, const std::string& fi | |||
167 | self->mOwnerName += " " + last; | 187 | self->mOwnerName += " " + last; |
168 | } | 188 | } |
169 | 189 | ||
190 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0g | ||
191 | if ( (!is_group) && (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(id)) ) | ||
192 | { | ||
193 | self->mOwnerName = gRlvHandler.getAnonym(self->mOwnerName); | ||
194 | } | ||
195 | // [/RLVa:KB] | ||
196 | |||
170 | self->childSetText("OwnerName",self->mOwnerName); | 197 | self->childSetText("OwnerName",self->mOwnerName); |
171 | } | 198 | } |
172 | 199 | ||
diff --git a/linden/indra/newview/llhudeffectlookat.cpp b/linden/indra/newview/llhudeffectlookat.cpp index a997910..561fce5 100644 --- a/linden/indra/newview/llhudeffectlookat.cpp +++ b/linden/indra/newview/llhudeffectlookat.cpp | |||
@@ -41,6 +41,7 @@ | |||
41 | #include "llagent.h" | 41 | #include "llagent.h" |
42 | #include "llvoavatar.h" | 42 | #include "llvoavatar.h" |
43 | #include "lldrawable.h" | 43 | #include "lldrawable.h" |
44 | #include "llviewercontrol.h" | ||
44 | #include "llviewerobjectlist.h" | 45 | #include "llviewerobjectlist.h" |
45 | #include "llviewerwindow.h" | 46 | #include "llviewerwindow.h" |
46 | #include "llrendersphere.h" | 47 | #include "llrendersphere.h" |
@@ -593,11 +594,13 @@ void LLHUDEffectLookAt::render() | |||
593 | LLColor4 Color = LLColor4( (*mAttentions)[mTargetType].mColor, 1.0f ); | 594 | LLColor4 Color = LLColor4( (*mAttentions)[mTargetType].mColor, 1.0f ); |
594 | std::string text = ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->getFullname(); | 595 | std::string text = ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->getFullname(); |
595 | 596 | ||
597 | // [RLVa:KB] - Imprudence-1.3.0 | ||
596 | // Show anonyms in place of actual names when @shownames=n restricted | 598 | // Show anonyms in place of actual names when @shownames=n restricted |
597 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | 599 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) |
598 | { | 600 | { |
599 | text = gRlvHandler.getAnonym(text); | 601 | text = gRlvHandler.getAnonym(text); |
600 | } | 602 | } |
603 | // [/RLVa:KB] | ||
601 | 604 | ||
602 | gViewerWindow->setupViewport(); | 605 | gViewerWindow->setupViewport(); |
603 | hud_render_utf8text(text, render_pos, *fontp, LLFontGL::NORMAL, -0.5f * fontp->getWidthF32(text), 3.f, Color, FALSE ); | 606 | hud_render_utf8text(text, render_pos, *fontp, LLFontGL::NORMAL, -0.5f * fontp->getWidthF32(text), 3.f, Color, FALSE ); |
diff --git a/linden/indra/newview/llinventorybridge.cpp b/linden/indra/newview/llinventorybridge.cpp index fe56ae0..41af123 100644 --- a/linden/indra/newview/llinventorybridge.cpp +++ b/linden/indra/newview/llinventorybridge.cpp | |||
@@ -3463,10 +3463,32 @@ void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attach | |||
3463 | 3463 | ||
3464 | if (attachment && attachment->getObject()) | 3464 | if (attachment && attachment->getObject()) |
3465 | { | 3465 | { |
3466 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a | ||
3467 | if ( (rlv_handler_t::isEnabled()) && // Can't replace an existing object if it's undetachable | ||
3468 | (gRlvHandler.isLockedAttachment(attach_pt, RLV_LOCK_ANY)) ) // or if we're not allowed to attach to that attach point | ||
3469 | { | ||
3470 | return; | ||
3471 | } | ||
3472 | // [/RLVa:KB] | ||
3466 | LLNotifications::instance().add("ReplaceAttachment", LLSD(), payload, confirm_replace_attachment_rez); | 3473 | LLNotifications::instance().add("ReplaceAttachment", LLSD(), payload, confirm_replace_attachment_rez); |
3467 | } | 3474 | } |
3468 | else | 3475 | else |
3469 | { | 3476 | { |
3477 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-10-10 (RLVa-1.0.5) | Modified: RLVa-1.0.5 | ||
3478 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) | ||
3479 | { | ||
3480 | if (0 == attach_pt) // Can't wear on the default attachment point | ||
3481 | { | ||
3482 | if (!RlvSettings::getEnableWear()) // (unless "Enable Wear" is enabled) | ||
3483 | return; | ||
3484 | gRlvHandler.onWearAttachment(item->getUUID()); | ||
3485 | } | ||
3486 | else if (gRlvHandler.isLockedAttachment(attach_pt, RLV_LOCK_ADD)) // and we can never wear on a non-attachable attach point | ||
3487 | { | ||
3488 | return; | ||
3489 | } | ||
3490 | } | ||
3491 | // [/RLVa:KB] | ||
3470 | LLNotifications::instance().forceResponse(LLNotification::Params("ReplaceAttachment").payload(payload), 0/*YES*/); | 3492 | LLNotifications::instance().forceResponse(LLNotification::Params("ReplaceAttachment").payload(payload), 0/*YES*/); |
3471 | } | 3493 | } |
3472 | } | 3494 | } |
@@ -3553,7 +3575,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) | |||
3553 | items.push_back(std::string("RestoreToWorld Separator")); | 3575 | items.push_back(std::string("RestoreToWorld Separator")); |
3554 | items.push_back(std::string("Restore to Last Position")); | 3576 | items.push_back(std::string("Restore to Last Position")); |
3555 | 3577 | ||
3556 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a | 3578 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a |
3557 | if ( (rlv_handler_t::isEnabled()) && (!RlvSettings::getEnableWear()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) | 3579 | if ( (rlv_handler_t::isEnabled()) && (!RlvSettings::getEnableWear()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) |
3558 | { | 3580 | { |
3559 | LLViewerJointAttachment* pAttachPt = gRlvHandler.getAttachPoint(item, true); // The item's name should specify | 3581 | LLViewerJointAttachment* pAttachPt = gRlvHandler.getAttachPoint(item, true); // The item's name should specify |
@@ -4113,7 +4135,7 @@ void wear_inventory_category_on_avatar_step2( BOOL proceed, void* userdata ) | |||
4113 | is_gesture); | 4135 | is_gesture); |
4114 | S32 gest_count = gest_item_array.count(); | 4136 | S32 gest_count = gest_item_array.count(); |
4115 | 4137 | ||
4116 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a | 4138 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a |
4117 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) | 4139 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) |
4118 | { | 4140 | { |
4119 | // Filter anything that we shouldn't be attaching | 4141 | // Filter anything that we shouldn't be attaching |
@@ -4395,10 +4417,11 @@ void wear_attachments_on_avatar(const LLInventoryModel::item_array_t& items, BOO | |||
4395 | msg->addU8Fast(_PREHASH_TotalObjects, count ); | 4417 | msg->addU8Fast(_PREHASH_TotalObjects, count ); |
4396 | // msg->addBOOLFast(_PREHASH_FirstDetachAll, remove ); | 4418 | // msg->addBOOLFast(_PREHASH_FirstDetachAll, remove ); |
4397 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Added: RLVa-1.0.5a | 4419 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Added: RLVa-1.0.5a |
4398 | // This really should just *always* be FALSE since TRUE can result in loss of the current asset state | 4420 | // This really should just *always* be FALSE since TRUE can result in loss of the current asset state |
4399 | msg->addBOOLFast(_PREHASH_FirstDetachAll, remove && (!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ); | 4421 | msg->addBOOLFast(_PREHASH_FirstDetachAll, |
4422 | (remove) && (!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ); | ||
4400 | // [/RLVa:KB] | 4423 | // [/RLVa:KB] |
4401 | } | 4424 | } |
4402 | 4425 | ||
4403 | LLInventoryItem* item = items.get(i); | 4426 | LLInventoryItem* item = items.get(i); |
4404 | msg->nextBlockFast(_PREHASH_ObjectData ); | 4427 | msg->nextBlockFast(_PREHASH_ObjectData ); |
@@ -4406,10 +4429,10 @@ void wear_attachments_on_avatar(const LLInventoryModel::item_array_t& items, BOO | |||
4406 | msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner()); | 4429 | msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner()); |
4407 | // msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point | 4430 | // msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point |
4408 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Added: RLVa-1.0.5a | 4431 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Added: RLVa-1.0.5a |
4409 | msg->addU8Fast(_PREHASH_AttachmentPt, | 4432 | msg->addU8Fast(_PREHASH_AttachmentPt, |
4410 | ( (!rlv_handler_t::isEnabled()) || (RlvSettings::getEnableWear()) || (!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) | 4433 | ( (!rlv_handler_t::isEnabled()) || (RlvSettings::getEnableWear()) || (!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)) ) |
4411 | ? 0 | 4434 | ? 0 |
4412 | : gRlvHandler.getAttachPointIndex(gRlvHandler.getAttachPoint(item, true))); | 4435 | : gRlvHandler.getAttachPointIndex(gRlvHandler.getAttachPoint(item, true))); |
4413 | // [/RLVa:KB] | 4436 | // [/RLVa:KB] |
4414 | pack_permissions_slam(msg, item->getFlags(), item->getPermissions()); | 4437 | pack_permissions_slam(msg, item->getFlags(), item->getPermissions()); |
4415 | msg->addStringFast(_PREHASH_Name, item->getName()); | 4438 | msg->addStringFast(_PREHASH_Name, item->getName()); |
@@ -4930,11 +4953,11 @@ void LLWearableBridge::onRemoveFromAvatarArrived(LLWearable* wearable, | |||
4930 | { | 4953 | { |
4931 | EWearableType type = wearable->getType(); | 4954 | EWearableType type = wearable->getType(); |
4932 | 4955 | ||
4933 | //if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR ) ) //&& | 4956 | // if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR ) ) //&& |
4934 | //!((!gAgent.isTeen()) && ( type==WT_UNDERPANTS || type==WT_UNDERSHIRT )) ) | ||
4935 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.2a | SL big fix | 4957 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.2a | SL big fix |
4936 | if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR || type==WT_EYES) ) | 4958 | if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR || type==WT_EYES) ) |
4937 | // [/RLVa:KB] | 4959 | // [/RLVa:KB] |
4960 | //!((!gAgent.isTeen()) && ( type==WT_UNDERPANTS || type==WT_UNDERSHIRT )) ) | ||
4938 | { | 4961 | { |
4939 | gAgent.removeWearable( type ); | 4962 | gAgent.removeWearable( type ); |
4940 | } | 4963 | } |
diff --git a/linden/indra/newview/llnetmap.cpp b/linden/indra/newview/llnetmap.cpp index 2b9810d..ec04337 100644 --- a/linden/indra/newview/llnetmap.cpp +++ b/linden/indra/newview/llnetmap.cpp | |||
@@ -370,7 +370,14 @@ void LLNetMap::draw() | |||
370 | else | 370 | else |
371 | { | 371 | { |
372 | // Show them muted even if they're friends | 372 | // Show them muted even if they're friends |
373 | if (LLMuteList::getInstance()->isMuted(avatar_ids[i])) | 373 | // [RLVa:KB] - Version: 1.23.4 | Alternate: Imprudence-1.3 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
374 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | ||
375 | { | ||
376 | glyph_color = avatar_color; | ||
377 | } | ||
378 | else if (LLMuteList::getInstance()->isMuted(avatar_ids[i])) | ||
379 | // [/RLVa:KB] | ||
380 | // if (LLMuteList::getInstance()->isMuted(avatar_ids[i])) | ||
374 | { | 381 | { |
375 | glyph_color = muted_color; | 382 | glyph_color = muted_color; |
376 | } | 383 | } |
@@ -388,15 +395,6 @@ void LLNetMap::draw() | |||
388 | } | 395 | } |
389 | } | 396 | } |
390 | 397 | ||
391 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | ||
392 | if ( gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES) ) | ||
393 | { | ||
394 | // User is not allowed to see who it is, or even if it's a friend, | ||
395 | // due to RLV settings. | ||
396 | glyph_color = avatar_color; | ||
397 | } | ||
398 | // [/RLVa:KB] | ||
399 | |||
400 | LLWorldMapView::drawAvatar( | 398 | LLWorldMapView::drawAvatar( |
401 | pos_map.mV[VX], pos_map.mV[VY], | 399 | pos_map.mV[VX], pos_map.mV[VY], |
402 | glyph_color, | 400 | glyph_color, |
@@ -624,26 +622,17 @@ BOOL LLNetMap::handleToolTip( S32 x, S32 y, std::string& msg, LLRect* sticky_rec | |||
624 | std::string fullname; | 622 | std::string fullname; |
625 | if(mClosestAgentToCursor.notNull() && gCacheName->getFullName(mClosestAgentToCursor, fullname)) | 623 | if(mClosestAgentToCursor.notNull() && gCacheName->getFullName(mClosestAgentToCursor, fullname)) |
626 | { | 624 | { |
627 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 625 | // msg.append(fullname); |
628 | // User is not allowed to see who it is, due to RLV settings. | 626 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
629 | msg.append( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ? fullname : gRlvHandler.getAnonym(fullname) ); | 627 | msg.append( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ? fullname : gRlvHandler.getAnonym(fullname) ); |
628 | // [/RLVa:KB] | ||
630 | msg.append("\n"); | 629 | msg.append("\n"); |
631 | // [/RLVa:KB] | ||
632 | } | 630 | } |
633 | 631 | ||
634 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 632 | // msg.append( region->getName() ); |
635 | if ( gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC) ) | 633 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) | Modified: RLVa-0.2.0b |
636 | { | 634 | msg.append( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? region->getName() : rlv_handler_t::cstrHidden ); |
637 | // User is not allowed to see where they are, due to RLV settings. | ||
638 | msg.append( rlv_handler_t::cstrHidden ); | ||
639 | } | ||
640 | else | ||
641 | { | ||
642 | msg.append( region->getName() ); | ||
643 | } | ||
644 | // [/RLVa:KB] | 635 | // [/RLVa:KB] |
645 | |||
646 | |||
647 | msg.append("\n"); | 636 | msg.append("\n"); |
648 | gSavedSettings.getBOOL( "MiniMapTeleport" ) ? | 637 | gSavedSettings.getBOOL( "MiniMapTeleport" ) ? |
649 | msg.append(getString("tooltip_tp")) : msg.append(getString("tooltip_map")); | 638 | msg.append(getString("tooltip_tp")) : msg.append(getString("tooltip_map")); |
@@ -1043,24 +1032,24 @@ bool LLNetMap::LLEnableTracking::handleEvent(LLPointer<LLEvent> event, const LLS | |||
1043 | 1032 | ||
1044 | bool LLNetMap::LLShowAgentProfile::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 1033 | bool LLNetMap::LLShowAgentProfile::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
1045 | { | 1034 | { |
1046 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 1035 | LLNetMap *self = mPtr; |
1047 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | 1036 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
1037 | if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | ||
1048 | { | 1038 | { |
1049 | return true; | 1039 | LLFloaterAvatarInfo::show(self->mClosestAgentAtLastRightClick); |
1050 | } | 1040 | } |
1051 | // [/RLVa:KB] | 1041 | // [/RLVa:KB] |
1052 | 1042 | //LLFloaterAvatarInfo::show(self->mClosestAgentAtLastRightClick); | |
1053 | LLNetMap *self = mPtr; | ||
1054 | LLFloaterAvatarInfo::show(self->mClosestAgentAtLastRightClick); | ||
1055 | return true; | 1043 | return true; |
1056 | } | 1044 | } |
1057 | 1045 | ||
1058 | bool LLNetMap::LLEnableProfile::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 1046 | bool LLNetMap::LLEnableProfile::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
1059 | { | 1047 | { |
1060 | LLNetMap *self = mPtr; | 1048 | LLNetMap *self = mPtr; |
1061 | //self->findControl(userdata["control"].asString())->setValue(self->isAgentUnderCursor()); | 1049 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
1062 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 1050 | self->findControl(userdata["control"].asString())->setValue( |
1063 | self->findControl(userdata["control"].asString())->setValue(self->isAgentUnderCursor() && !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)); | 1051 | (self->isAgentUnderCursor()) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ); |
1064 | // [/RLVa:KB] | 1052 | // [/RLVa:KB] |
1053 | //self->findControl(userdata["control"].asString())->setValue(self->isAgentUnderCursor()); | ||
1065 | return true; | 1054 | return true; |
1066 | } | 1055 | } |
diff --git a/linden/indra/newview/llnotify.cpp b/linden/indra/newview/llnotify.cpp index 2afd185..ef57aaf 100644 --- a/linden/indra/newview/llnotify.cpp +++ b/linden/indra/newview/llnotify.cpp | |||
@@ -57,7 +57,7 @@ | |||
57 | 57 | ||
58 | #include "hippoGridManager.h" | 58 | #include "hippoGridManager.h" |
59 | 59 | ||
60 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-10 (RLVa-1.0.0e) | Added: RLVa-0.2.0b | 60 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0e) | Added: RLVa-0.2.0b |
61 | #include "rlvhandler.h" | 61 | #include "rlvhandler.h" |
62 | // [/RLVa:KB] | 62 | // [/RLVa:KB] |
63 | 63 | ||
diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp index 1701f69..ad0f47f 100644 --- a/linden/indra/newview/llpanelavatar.cpp +++ b/linden/indra/newview/llpanelavatar.cpp | |||
@@ -869,7 +869,7 @@ void LLPanelAvatarClassified::processAvatarClassifiedReply(LLMessageSystem* msg, | |||
869 | // static | 869 | // static |
870 | void LLPanelAvatarClassified::onClickNew(void* data) | 870 | void LLPanelAvatarClassified::onClickNew(void* data) |
871 | { | 871 | { |
872 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-04 (RLVa-1.0.0a) | 872 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) |
873 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) | 873 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) |
874 | { | 874 | { |
875 | return; | 875 | return; |
diff --git a/linden/indra/newview/llpanelcontents.cpp b/linden/indra/newview/llpanelcontents.cpp index 33cebec..e5c4f79 100644 --- a/linden/indra/newview/llpanelcontents.cpp +++ b/linden/indra/newview/llpanelcontents.cpp | |||
@@ -123,6 +123,24 @@ void LLPanelContents::getState(LLViewerObject *objectp ) | |||
123 | && ( objectp->permYouOwner() || ( !group_id.isNull() && gAgent.isInGroup(group_id) ))); // solves SL-23488 | 123 | && ( objectp->permYouOwner() || ( !group_id.isNull() && gAgent.isInGroup(group_id) ))); // solves SL-23488 |
124 | BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ); | 124 | BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ); |
125 | 125 | ||
126 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a | ||
127 | if ( (rlv_handler_t::isEnabled()) && (editable) ) | ||
128 | { | ||
129 | // Don't allow creation of new scripts if it's undetachable | ||
130 | editable = !gRlvHandler.isLockedAttachment(objectp, RLV_LOCK_REMOVE); | ||
131 | |||
132 | // Don't allow creation of new scripts if we're @unsit=n or @sittp=n restricted and we're sitting on the selection | ||
133 | if ( (editable) && ((gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) || (gRlvHandler.hasBehaviour(RLV_BHVR_SITTP))) ) | ||
134 | { | ||
135 | LLVOAvatar* pAvatar = gAgent.getAvatarObject(); | ||
136 | // Only check the first (non-)root object because nothing else would result in enabling the button (see below) | ||
137 | LLViewerObject* pObj = LLSelectMgr::getInstance()->getSelection()->getFirstRootObject(TRUE); | ||
138 | |||
139 | editable = (pObj) && (pAvatar) && ((!pAvatar->mIsSitting) || (pAvatar->getRoot() != pObj->getRootEdit())); | ||
140 | } | ||
141 | } | ||
142 | // [/RLVa:KB] | ||
143 | |||
126 | // Edit script button - ok if object is editable and there's an unambiguous destination for the object. | 144 | // Edit script button - ok if object is editable and there's an unambiguous destination for the object. |
127 | childSetEnabled("button new script", | 145 | childSetEnabled("button new script", |
128 | editable && | 146 | editable && |
diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp index 538eb22..287ee41 100644 --- a/linden/indra/newview/llpanelgeneral.cpp +++ b/linden/indra/newview/llpanelgeneral.cpp | |||
@@ -44,6 +44,7 @@ | |||
44 | 44 | ||
45 | #include "floatergridmanager.h" | 45 | #include "floatergridmanager.h" |
46 | #include "llagent.h" | 46 | #include "llagent.h" |
47 | #include "llappviewer.h" | ||
47 | #include "llpanellogin.h" | 48 | #include "llpanellogin.h" |
48 | #include "llviewerregion.h" | 49 | #include "llviewerregion.h" |
49 | #include "viewertime.h" | 50 | #include "viewertime.h" |
diff --git a/linden/indra/newview/llpanelinventory.cpp b/linden/indra/newview/llpanelinventory.cpp index f882362..85f6ea2 100644 --- a/linden/indra/newview/llpanelinventory.cpp +++ b/linden/indra/newview/llpanelinventory.cpp | |||
@@ -82,12 +82,12 @@ | |||
82 | #include "llviewerwindow.h" | 82 | #include "llviewerwindow.h" |
83 | #include "llwearable.h" | 83 | #include "llwearable.h" |
84 | 84 | ||
85 | #include "hippoGridManager.h" | ||
86 | |||
85 | // [RLVa:KB] - Checked: 2009-07-06 (RLVa-1.0.0c) | 87 | // [RLVa:KB] - Checked: 2009-07-06 (RLVa-1.0.0c) |
86 | #include "llvoavatar.h" | 88 | #include "llvoavatar.h" |
87 | // [/RLVa:KB] | 89 | // [/RLVa:KB] |
88 | 90 | ||
89 | #include "hippoGridManager.h" | ||
90 | |||
91 | ///---------------------------------------------------------------------------- | 91 | ///---------------------------------------------------------------------------- |
92 | /// Local function declarations, constants, enums, and typedefs | 92 | /// Local function declarations, constants, enums, and typedefs |
93 | ///---------------------------------------------------------------------------- | 93 | ///---------------------------------------------------------------------------- |
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index 460c67f..23b7785 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp | |||
@@ -83,7 +83,7 @@ | |||
83 | 83 | ||
84 | #include "llglheaders.h" | 84 | #include "llglheaders.h" |
85 | 85 | ||
86 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 86 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) |
87 | #include "rlvhandler.h" | 87 | #include "rlvhandler.h" |
88 | // [/RLVa:KB] | 88 | // [/RLVa:KB] |
89 | 89 | ||
@@ -737,18 +737,16 @@ void LLPanelLogin::refreshLocation( bool force_visible ) | |||
737 | if ( ! force_visible ) | 737 | if ( ! force_visible ) |
738 | show_start = gSavedSettings.getBOOL("ShowStartLocation"); | 738 | show_start = gSavedSettings.getBOOL("ShowStartLocation"); |
739 | 739 | ||
740 | |||
741 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | 740 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) |
742 | // TODO-RLVa: figure out some way to make this work with RLV_EXTENSION_STARTLOCATION | 741 | // TODO-RLVa: figure out some way to make this work with RLV_EXTENSION_STARTLOCATION |
743 | #ifndef RLV_EXTENSION_STARTLOCATION | 742 | #ifndef RLV_EXTENSION_STARTLOCATION |
744 | if (rlv_handler_t::isEnabled()) | 743 | if (rlv_handler_t::isEnabled()) |
745 | { | 744 | { |
746 | show_start = FALSE; | 745 | show_start = FALSE; |
747 | } | 746 | } |
748 | #endif // RLV_EXTENSION_STARTLOCATION | 747 | #endif // RLV_EXTENSION_STARTLOCATION |
749 | // [/RLVa:KB] | 748 | // [/RLVa:KB] |
750 | 749 | ||
751 | |||
752 | sInstance->childSetVisible("start_location_combo", show_start); | 750 | sInstance->childSetVisible("start_location_combo", show_start); |
753 | sInstance->childSetVisible("start_location_text", show_start); | 751 | sInstance->childSetVisible("start_location_text", show_start); |
754 | 752 | ||
diff --git a/linden/indra/newview/llpanelobject.cpp b/linden/indra/newview/llpanelobject.cpp index a0736f1..9ef7f91 100644 --- a/linden/indra/newview/llpanelobject.cpp +++ b/linden/indra/newview/llpanelobject.cpp | |||
@@ -76,10 +76,12 @@ | |||
76 | 76 | ||
77 | #include "lldrawpool.h" | 77 | #include "lldrawpool.h" |
78 | 78 | ||
79 | #include "hippoLimits.h" | ||
80 | |||
79 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | 81 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) |
80 | #include "llvoavatar.h" | 82 | #include "llvoavatar.h" |
81 | // [/RLVa:KB] | 83 | // [/RLVa:KB] |
82 | #include "hippoLimits.h" | 84 | |
83 | // | 85 | // |
84 | // Constants | 86 | // Constants |
85 | // | 87 | // |
diff --git a/linden/indra/newview/llpanelpermissions.cpp b/linden/indra/newview/llpanelpermissions.cpp index cd1aee7..a97d177 100644 --- a/linden/indra/newview/llpanelpermissions.cpp +++ b/linden/indra/newview/llpanelpermissions.cpp | |||
@@ -354,10 +354,7 @@ void LLPanelPermissions::refresh() | |||
354 | fRlvEnableOwner && owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); | 354 | fRlvEnableOwner && owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); |
355 | // [/RLVa:KB] | 355 | // [/RLVa:KB] |
356 | 356 | ||
357 | //if (owner_name != last_owner_name) | 357 | if (owner_name != last_owner_name) |
358 | // [RLVa:KB] | ||
359 | if ( (owner_name != last_owner_name) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) | ||
360 | // [/RLVa:KB] | ||
361 | { | 358 | { |
362 | childSetEnabled("Last Owner:", TRUE); | 359 | childSetEnabled("Last Owner:", TRUE); |
363 | childSetText("Last Owner Name", last_owner_name); | 360 | childSetText("Last Owner Name", last_owner_name); |
@@ -903,7 +900,13 @@ void LLPanelPermissions::onClickLastOwner(void *data) | |||
903 | 900 | ||
904 | if ( self->mLastOwnerID.notNull() ) | 901 | if ( self->mLastOwnerID.notNull() ) |
905 | { | 902 | { |
906 | LLFloaterAvatarInfo::showFromObject(self->mLastOwnerID); | 903 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) |
904 | if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | ||
905 | { | ||
906 | LLFloaterAvatarInfo::showFromObject(self->mLastOwnerID); | ||
907 | } | ||
908 | // [/RLVa:KB] | ||
909 | // LLFloaterAvatarInfo::showFromObject(self->mLastOwnerID); | ||
907 | } | 910 | } |
908 | } | 911 | } |
909 | 912 | ||
diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp index 8064245..83abcf4 100644 --- a/linden/indra/newview/llselectmgr.cpp +++ b/linden/indra/newview/llselectmgr.cpp | |||
@@ -3439,12 +3439,20 @@ void LLSelectMgr::deselectAllIfTooFar() | |||
3439 | } | 3439 | } |
3440 | 3440 | ||
3441 | LLVector3d selectionCenter = getSelectionCenterGlobal(); | 3441 | LLVector3d selectionCenter = getSelectionCenterGlobal(); |
3442 | if (gSavedSettings.getBOOL("LimitSelectDistance") | 3442 | |
3443 | // if (gSavedSettings.getBOOL("LimitSelectDistance") | ||
3444 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0f | ||
3445 | BOOL fRlvFartouch = gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH) && gFloaterTools->getVisible(); | ||
3446 | if ( (gSavedSettings.getBOOL("LimitSelectDistance") || (fRlvFartouch) ) | ||
3447 | // [/RLVa:KB] | ||
3443 | && (!mSelectedObjects->getPrimaryObject() || !mSelectedObjects->getPrimaryObject()->isAvatar()) | 3448 | && (!mSelectedObjects->getPrimaryObject() || !mSelectedObjects->getPrimaryObject()->isAvatar()) |
3444 | && !mSelectedObjects->isAttachment() | 3449 | && !mSelectedObjects->isAttachment() |
3445 | && !selectionCenter.isExactlyZero()) | 3450 | && !selectionCenter.isExactlyZero()) |
3446 | { | 3451 | { |
3447 | F32 deselect_dist = gSavedSettings.getF32("MaxSelectDistance"); | 3452 | // F32 deselect_dist = gSavedSettings.getF32("MaxSelectDistance"); |
3453 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0f | ||
3454 | F32 deselect_dist = (!fRlvFartouch) ? gSavedSettings.getF32("MaxSelectDistance") : 1.5f; | ||
3455 | // [/RLVa:KB] | ||
3448 | F32 deselect_dist_sq = deselect_dist * deselect_dist; | 3456 | F32 deselect_dist_sq = deselect_dist * deselect_dist; |
3449 | 3457 | ||
3450 | LLVector3d select_delta = gAgent.getPositionGlobal() - selectionCenter; | 3458 | LLVector3d select_delta = gAgent.getPositionGlobal() - selectionCenter; |
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index cec2c4b..b12c253 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp | |||
@@ -399,7 +399,7 @@ bool idle_startup() | |||
399 | // Initialize stuff that doesn't need data from simulators | 399 | // Initialize stuff that doesn't need data from simulators |
400 | // | 400 | // |
401 | 401 | ||
402 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.1d | 402 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.1d |
403 | if ( (gSavedSettings.controlExists(RLV_SETTING_MAIN)) && (gSavedSettings.getBOOL(RLV_SETTING_MAIN)) ) | 403 | if ( (gSavedSettings.controlExists(RLV_SETTING_MAIN)) && (gSavedSettings.getBOOL(RLV_SETTING_MAIN)) ) |
404 | rlv_handler_t::setEnabled(TRUE); | 404 | rlv_handler_t::setEnabled(TRUE); |
405 | // [/RLVa:KB] | 405 | // [/RLVa:KB] |
@@ -2757,11 +2757,6 @@ bool idle_startup() | |||
2757 | // reset keyboard focus to sane state of pointing at world | 2757 | // reset keyboard focus to sane state of pointing at world |
2758 | gFocusMgr.setKeyboardFocus(NULL); | 2758 | gFocusMgr.setKeyboardFocus(NULL); |
2759 | 2759 | ||
2760 | #if 0 // sjb: enable for auto-enabling timer display | ||
2761 | gDebugView->mFastTimerView->setVisible(TRUE); | ||
2762 | #endif | ||
2763 | |||
2764 | |||
2765 | // [RLVa:KB] - Alternate: Snowglobe-1.0 | Checked: 2009-08-05 (RLVa-1.0.1e) | Modified: RLVa-1.0.1e | 2760 | // [RLVa:KB] - Alternate: Snowglobe-1.0 | Checked: 2009-08-05 (RLVa-1.0.1e) | Modified: RLVa-1.0.1e |
2766 | // RELEASE-RLVa: this should go in LLAppViewer::handleLoginComplete() but Imprudence doesn't call that function | 2761 | // RELEASE-RLVa: this should go in LLAppViewer::handleLoginComplete() but Imprudence doesn't call that function |
2767 | gRlvHandler.initLookupTables(); | 2762 | gRlvHandler.initLookupTables(); |
@@ -2779,6 +2774,10 @@ bool idle_startup() | |||
2779 | } | 2774 | } |
2780 | // [/RLVa:KB] | 2775 | // [/RLVa:KB] |
2781 | 2776 | ||
2777 | #if 0 // sjb: enable for auto-enabling timer display | ||
2778 | gDebugView->mFastTimerView->setVisible(TRUE); | ||
2779 | #endif | ||
2780 | |||
2782 | return TRUE; | 2781 | return TRUE; |
2783 | } | 2782 | } |
2784 | 2783 | ||
diff --git a/linden/indra/newview/lltoolbar.cpp b/linden/indra/newview/lltoolbar.cpp index cc6d4b8..645d29a 100644 --- a/linden/indra/newview/lltoolbar.cpp +++ b/linden/indra/newview/lltoolbar.cpp | |||
@@ -303,6 +303,20 @@ void LLToolBar::refresh() | |||
303 | } | 303 | } |
304 | gSavedSettings.setBOOL("BuildBtnState", build_mode); | 304 | gSavedSettings.setBOOL("BuildBtnState", build_mode); |
305 | 305 | ||
306 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | ||
307 | // Called per-frame so this really can't be slow | ||
308 | if (rlv_handler_t::isEnabled()) | ||
309 | { | ||
310 | // If we're rez-restricted, we can still edit => allow build floater | ||
311 | // If we're edit-restricted, we can still rez => allow build floater | ||
312 | childSetEnabled("build_btn", !(gRlvHandler.hasBehaviour(RLV_BHVR_REZ) && gRlvHandler.hasBehaviour(RLV_BHVR_EDIT)) ); | ||
313 | |||
314 | childSetEnabled("map_btn", !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWWORLDMAP) ); | ||
315 | childSetEnabled("radar_btn", !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWMINIMAP) ); | ||
316 | childSetEnabled("inventory_btn", !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWINV) ); | ||
317 | } | ||
318 | // [/RLVa:KB] | ||
319 | |||
306 | if (isInVisibleChain()) | 320 | if (isInVisibleChain()) |
307 | { | 321 | { |
308 | updateCommunicateList(); | 322 | updateCommunicateList(); |
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp index c2be831..262c349 100644 --- a/linden/indra/newview/lltoolpie.cpp +++ b/linden/indra/newview/lltoolpie.cpp | |||
@@ -373,22 +373,22 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show) | |||
373 | //gMutePieMenu->setLabel("Mute"); | 373 | //gMutePieMenu->setLabel("Mute"); |
374 | } | 374 | } |
375 | 375 | ||
376 | // gPieAvatar->show(x, y, mPieMouseButtonDown); | ||
376 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f | 377 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f |
377 | #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK | 378 | #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK |
378 | // If we have an empty selection under @fartouch=n don't show the pie menu but play the "operation block" sound | 379 | // If we have an empty selection under @fartouch=n don't show the pie menu but play the "operation block" sound |
379 | if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) || (!LLSelectMgr::getInstance()->getSelection()->isEmpty()) ) | 380 | if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) || (!LLSelectMgr::getInstance()->getSelection()->isEmpty()) ) |
380 | { | 381 | { |
381 | #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK | 382 | #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK |
382 | gPieAvatar->show(x, y, mPieMouseButtonDown); | 383 | gPieAvatar->show(x, y, mPieMouseButtonDown); |
383 | #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK | 384 | #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK |
384 | } | 385 | } |
385 | else | 386 | else |
386 | { | 387 | { |
387 | make_ui_sound("UISndInvalidOp"); | 388 | make_ui_sound("UISndInvalidOp"); |
388 | } | 389 | } |
389 | #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK | 390 | #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK |
390 | // [/RLVa:KB] | 391 | // [/RLVa:KB] |
391 | |||
392 | } | 392 | } |
393 | else if (object->isAttachment() && !object->isHUDAttachment()) | 393 | else if (object->isAttachment() && !object->isHUDAttachment()) |
394 | { | 394 | { |
diff --git a/linden/indra/newview/lltoolplacer.cpp b/linden/indra/newview/lltoolplacer.cpp index ba065b1..d5c4de1 100644 --- a/linden/indra/newview/lltoolplacer.cpp +++ b/linden/indra/newview/lltoolplacer.cpp | |||
@@ -288,7 +288,7 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) | |||
288 | gMessageSystem->addU8Fast(_PREHASH_Material, material); | 288 | gMessageSystem->addU8Fast(_PREHASH_Material, material); |
289 | 289 | ||
290 | U32 flags = 0; // not selected | 290 | U32 flags = 0; // not selected |
291 | //if (create_selected) | 291 | // if (create_selected) |
292 | // [RLVa:KB] - Checked: 2009-07-04 (RLVa-1.0.0b) | Added: RLVa-1.0.0b | 292 | // [RLVa:KB] - Checked: 2009-07-04 (RLVa-1.0.0b) | Added: RLVa-1.0.0b |
293 | if ( (create_selected) && (!gRlvHandler.hasBehaviour(RLV_BHVR_EDIT)) ) | 293 | if ( (create_selected) && (!gRlvHandler.hasBehaviour(RLV_BHVR_EDIT)) ) |
294 | // [/RLVa:KB] | 294 | // [/RLVa:KB] |
diff --git a/linden/indra/newview/llviewercontrol.cpp b/linden/indra/newview/llviewercontrol.cpp index cca737c..1c42c91 100644 --- a/linden/indra/newview/llviewercontrol.cpp +++ b/linden/indra/newview/llviewercontrol.cpp | |||
@@ -485,20 +485,6 @@ bool handleVoiceClientPrefsChanged(const LLSD& newvalue) | |||
485 | return true; | 485 | return true; |
486 | } | 486 | } |
487 | 487 | ||
488 | // [RLVa:KB] - Checked: 2009-08-11 (RLVa-1.0.1h) | Added: RLVa-1.0.1h | ||
489 | bool rlvHandleEnableLegacyNamingChanged(const LLSD& newvalue) | ||
490 | { | ||
491 | rlv_handler_t::fLegacyNaming = newvalue.asBoolean(); | ||
492 | return true; | ||
493 | } | ||
494 | |||
495 | bool rlvHandleShowNameTagsChanged(const LLSD& newvalue) | ||
496 | { | ||
497 | RlvSettings::fShowNameTags = newvalue.asBoolean(); | ||
498 | return true; | ||
499 | } | ||
500 | // [/RLVa:KB] | ||
501 | |||
502 | bool handleMediaDebugLevelChanged(const LLSD& newvalue) | 488 | bool handleMediaDebugLevelChanged(const LLSD& newvalue) |
503 | { | 489 | { |
504 | LLMediaManager *mgr = LLMediaManager::getInstance(); | 490 | LLMediaManager *mgr = LLMediaManager::getInstance(); |
@@ -521,6 +507,20 @@ bool handleSliderScrollWheelMultiplierChanged(const LLSD& newvalue) | |||
521 | return true; | 507 | return true; |
522 | } | 508 | } |
523 | 509 | ||
510 | // [RLVa:KB] - Checked: 2009-08-11 (RLVa-1.0.1h) | Added: RLVa-1.0.1h | ||
511 | bool rlvHandleEnableLegacyNamingChanged(const LLSD& newvalue) | ||
512 | { | ||
513 | rlv_handler_t::fLegacyNaming = newvalue.asBoolean(); | ||
514 | return true; | ||
515 | } | ||
516 | |||
517 | bool rlvHandleShowNameTagsChanged(const LLSD& newvalue) | ||
518 | { | ||
519 | RlvSettings::fShowNameTags = newvalue.asBoolean(); | ||
520 | return true; | ||
521 | } | ||
522 | // [/RLVa:KB] | ||
523 | |||
524 | //////////////////////////////////////////////////////////////////////////// | 524 | //////////////////////////////////////////////////////////////////////////// |
525 | 525 | ||
526 | void settings_setup_listeners() | 526 | void settings_setup_listeners() |
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 9e2cc3d..db05075 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -1423,7 +1423,7 @@ void init_debug_baked_texture_menu(LLMenuGL* menu) | |||
1423 | menu->createJumpKeys(); | 1423 | menu->createJumpKeys(); |
1424 | } | 1424 | } |
1425 | 1425 | ||
1426 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-1.0.0g | 1426 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-1.0.0g |
1427 | void init_debug_rlva_menu(LLMenuGL* menu) | 1427 | void init_debug_rlva_menu(LLMenuGL* menu) |
1428 | { | 1428 | { |
1429 | // Debug options | 1429 | // Debug options |
@@ -1709,7 +1709,7 @@ class LLObjectEnableTouch : public view_listener_t | |||
1709 | { | 1709 | { |
1710 | LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); | 1710 | LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); |
1711 | bool new_value = obj && obj->flagHandleTouch(); | 1711 | bool new_value = obj && obj->flagHandleTouch(); |
1712 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f | 1712 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f |
1713 | // TODO-RLVa: this code is rather redundant since we'll never get an active selection to show a pie menu for | 1713 | // TODO-RLVa: this code is rather redundant since we'll never get an active selection to show a pie menu for |
1714 | if ( (new_value) && (gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) && ((!obj->isAttachment()) || (!obj->permYouOwner())) && | 1714 | if ( (new_value) && (gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) && ((!obj->isAttachment()) || (!obj->permYouOwner())) && |
1715 | (dist_vec_squared(gAgent.getPositionAgent(), LLToolPie::getInstance()->getPick().mIntersection) > 1.5f * 1.5f) ) | 1715 | (dist_vec_squared(gAgent.getPositionAgent(), LLToolPie::getInstance()->getPick().mIntersection) > 1.5f * 1.5f) ) |
@@ -2440,13 +2440,6 @@ class LLObjectImportUpload : public view_listener_t | |||
2440 | 2440 | ||
2441 | bool handle_go_to_confirm() | 2441 | bool handle_go_to_confirm() |
2442 | { | 2442 | { |
2443 | // [RLVa:KB] - Checked: 2009-07-06 (RLVa-1.0.0c) | ||
2444 | if ( (rlv_handler_t::isEnabled()) && (gAgent.forwardGrabbed()) && (gRlvHandler.hasLockedAttachment(RLV_LOCK_REMOVE)) ) | ||
2445 | { | ||
2446 | return true; | ||
2447 | } | ||
2448 | // [/RLVa:KB] | ||
2449 | |||
2450 | std::string action = gSavedSettings.getString("GoAction"); | 2443 | std::string action = gSavedSettings.getString("GoAction"); |
2451 | LLStringUtil::toLower(action); | 2444 | LLStringUtil::toLower(action); |
2452 | 2445 | ||
@@ -2469,7 +2462,7 @@ bool handle_go_to() | |||
2469 | { | 2462 | { |
2470 | return true; | 2463 | return true; |
2471 | } | 2464 | } |
2472 | // [/RLVa:KB] | 2465 | // [/RLVa:KB] |
2473 | 2466 | ||
2474 | handle_go_to_callback( LLSD(), LLSD(0) ); | 2467 | handle_go_to_callback( LLSD(), LLSD(0) ); |
2475 | 2468 | ||
@@ -2587,17 +2580,14 @@ class LLAvatarFreeze : public view_listener_t | |||
2587 | std::string fullname = avatar->getFullname(); | 2580 | std::string fullname = avatar->getFullname(); |
2588 | LLSD payload; | 2581 | LLSD payload; |
2589 | payload["avatar_id"] = avatar->getID(); | 2582 | payload["avatar_id"] = avatar->getID(); |
2590 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
2591 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (!fullname.empty()) ) | ||
2592 | { | ||
2593 | fullname = gRlvHandler.getAnonym(fullname); | ||
2594 | } | ||
2595 | // [/RLVa:KB] | ||
2596 | 2583 | ||
2597 | if (!fullname.empty()) | 2584 | if (!fullname.empty()) |
2598 | { | 2585 | { |
2599 | LLSD args; | 2586 | LLSD args; |
2600 | args["AVATAR_NAME"] = fullname; | 2587 | // args["AVATAR_NAME"] = fullname; |
2588 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
2589 | args["AVATAR_NAME"] = (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ? fullname : gRlvHandler.getAnonym(fullname); | ||
2590 | // [/RLVa:KB] | ||
2601 | LLNotifications::instance().add("FreezeAvatarFullname", | 2591 | LLNotifications::instance().add("FreezeAvatarFullname", |
2602 | args, | 2592 | args, |
2603 | payload, | 2593 | payload, |
@@ -2722,7 +2712,7 @@ class LLAvatarEject : public view_listener_t | |||
2722 | LLSD payload; | 2712 | LLSD payload; |
2723 | payload["avatar_id"] = avatar->getID(); | 2713 | payload["avatar_id"] = avatar->getID(); |
2724 | std::string fullname = avatar->getFullname(); | 2714 | std::string fullname = avatar->getFullname(); |
2725 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 2715 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) |
2726 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (!fullname.empty()) ) | 2716 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (!fullname.empty()) ) |
2727 | { | 2717 | { |
2728 | fullname = gRlvHandler.getAnonym(fullname); | 2718 | fullname = gRlvHandler.getAnonym(fullname); |
@@ -4068,10 +4058,10 @@ class LLObjectReturn : public view_listener_t | |||
4068 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 4058 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
4069 | { | 4059 | { |
4070 | if (LLSelectMgr::getInstance()->getSelection()->isEmpty()) return true; | 4060 | if (LLSelectMgr::getInstance()->getSelection()->isEmpty()) return true; |
4071 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-05 (RLVa-1.0.0b) | 4061 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-05 (RLVa-1.0.0b) |
4072 | if ( (rlv_handler_t::isEnabled()) && (!rlvCanDeleteOrReturn()) ) return true; | 4062 | if ( (rlv_handler_t::isEnabled()) && (!rlvCanDeleteOrReturn()) ) return true; |
4073 | // [/RLVa:KB] | 4063 | // [/RLVa:KB] |
4074 | 4064 | ||
4075 | mObjectSelection = LLSelectMgr::getInstance()->getEditSelection(); | 4065 | mObjectSelection = LLSelectMgr::getInstance()->getEditSelection(); |
4076 | 4066 | ||
4077 | LLNotifications::instance().add("ReturnToOwner", LLSD(), LLSD(), boost::bind(&LLObjectReturn::onReturnToOwner, this, _1, _2)); | 4067 | LLNotifications::instance().add("ReturnToOwner", LLSD(), LLSD(), boost::bind(&LLObjectReturn::onReturnToOwner, this, _1, _2)); |
@@ -4788,8 +4778,6 @@ class LLToolsEnableUnlink : public view_listener_t | |||
4788 | } | 4778 | } |
4789 | 4779 | ||
4790 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0g | 4780 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0g |
4791 | // The user might not be allowed to unlink this object due to RLV settings, | ||
4792 | // because it would unsit them if they are sitting on the object. | ||
4793 | if ( (new_value) && (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && | 4781 | if ( (new_value) && (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && |
4794 | (gAgent.getAvatarObject()) && (gAgent.getAvatarObject()->mIsSitting) ) | 4782 | (gAgent.getAvatarObject()) && (gAgent.getAvatarObject()->mIsSitting) ) |
4795 | { | 4783 | { |
@@ -4811,8 +4799,6 @@ class LLToolsUnlink : public view_listener_t | |||
4811 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 4799 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
4812 | { | 4800 | { |
4813 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0g | 4801 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0g |
4814 | // The user might not be allowed to unlink this object due to RLV settings, | ||
4815 | // because it would unsit them if they are sitting on the object. | ||
4816 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && (gAgent.getAvatarObject()) && (gAgent.getAvatarObject()->mIsSitting) ) | 4802 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && (gAgent.getAvatarObject()) && (gAgent.getAvatarObject()->mIsSitting) ) |
4817 | { | 4803 | { |
4818 | // Allow if the avie isn't sitting on any of the selected objects | 4804 | // Allow if the avie isn't sitting on any of the selected objects |
@@ -10831,6 +10817,7 @@ class LLAdvancedCheckMaxBuildConstraints : public view_listener_t | |||
10831 | /////////////// | 10817 | /////////////// |
10832 | 10818 | ||
10833 | 10819 | ||
10820 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | ||
10834 | class RLVaMainToggle : public view_listener_t | 10821 | class RLVaMainToggle : public view_listener_t |
10835 | { | 10822 | { |
10836 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 10823 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
@@ -10850,7 +10837,7 @@ class RLVaMainCheck : public view_listener_t | |||
10850 | return true; | 10837 | return true; |
10851 | } | 10838 | } |
10852 | }; | 10839 | }; |
10853 | 10840 | // [/RLVa:KB] | |
10854 | 10841 | ||
10855 | 10842 | ||
10856 | //////////////////// | 10843 | //////////////////// |
@@ -10858,6 +10845,7 @@ class RLVaMainCheck : public view_listener_t | |||
10858 | //////////////////// | 10845 | //////////////////// |
10859 | 10846 | ||
10860 | 10847 | ||
10848 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | ||
10861 | class RLVaBehaviorsShow : public view_listener_t | 10849 | class RLVaBehaviorsShow : public view_listener_t |
10862 | { | 10850 | { |
10863 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 10851 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
@@ -10866,7 +10854,7 @@ class RLVaBehaviorsShow : public view_listener_t | |||
10866 | return true; | 10854 | return true; |
10867 | } | 10855 | } |
10868 | }; | 10856 | }; |
10869 | 10857 | // [/RLVa:KB] | |
10870 | 10858 | ||
10871 | 10859 | ||
10872 | static void addMenu(view_listener_t *menu, const char *name) | 10860 | static void addMenu(view_listener_t *menu, const char *name) |
@@ -11283,8 +11271,10 @@ void initialize_menus() | |||
11283 | addMenu(new LLAdvancedCheckMaxBuildConstraints(), "Advanced.CheckMaxBuildConstraints"); | 11271 | addMenu(new LLAdvancedCheckMaxBuildConstraints(), "Advanced.CheckMaxBuildConstraints"); |
11284 | 11272 | ||
11285 | // RLVa | 11273 | // RLVa |
11274 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | ||
11286 | addMenu(new RLVaMainToggle(), "RLVa.Main.Toggle"); | 11275 | addMenu(new RLVaMainToggle(), "RLVa.Main.Toggle"); |
11287 | addMenu(new RLVaMainCheck(), "RLVa.Main.Enabled"); | 11276 | addMenu(new RLVaMainCheck(), "RLVa.Main.Enabled"); |
11288 | addMenu(new RLVaBehaviorsShow(), "RLVa.Behaviors.Show"); | 11277 | addMenu(new RLVaBehaviorsShow(), "RLVa.Behaviors.Show"); |
11278 | // [/RLVa:KB] | ||
11289 | 11279 | ||
11290 | } | 11280 | } |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index fb1e7cf..701d30d 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -151,17 +151,17 @@ | |||
151 | #include "llwindebug.h" // For the invalid message handler | 151 | #include "llwindebug.h" // For the invalid message handler |
152 | #endif | 152 | #endif |
153 | 153 | ||
154 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | ||
155 | #include "llfloateravatarinfo.h" | ||
156 | extern LLMap< const LLUUID, LLFloaterAvatarInfo* > gAvatarInfoInstances; // Only defined in llfloateravatarinfo.cpp | ||
157 | // [/RLVa:KB] | ||
158 | |||
159 | //silly spam define D: | 154 | //silly spam define D: |
160 | bool dialogSpamOn; | 155 | bool dialogSpamOn; |
161 | static LLFrameTimer d_spam; | 156 | static LLFrameTimer d_spam; |
162 | std::map< std::string , S32 > lastd_names; | 157 | std::map< std::string , S32 > lastd_names; |
163 | LLDynamicArray< std::string > blacklisted_names; | 158 | LLDynamicArray< std::string > blacklisted_names; |
164 | 159 | ||
160 | // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | ||
161 | #include "llfloateravatarinfo.h" | ||
162 | extern LLMap< const LLUUID, LLFloaterAvatarInfo* > gAvatarInfoInstances; // Only defined in llfloateravatarinfo.cpp | ||
163 | // [/RLVa:KB] | ||
164 | |||
165 | // | 165 | // |
166 | // Constants | 166 | // Constants |
167 | // | 167 | // |
@@ -1116,8 +1116,17 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& | |||
1116 | std::string first_name, last_name; | 1116 | std::string first_name, last_name; |
1117 | if (gCacheName->getName(mFromID, first_name, last_name)) | 1117 | if (gCacheName->getName(mFromID, first_name, last_name)) |
1118 | { | 1118 | { |
1119 | from_string = std::string("An object named '") + mFromName + "' owned by " + first_name + " " + last_name; | 1119 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) |
1120 | chatHistory_string = mFromName + " owned by " + first_name + " " + last_name; | 1120 | std::string full_name = first_name + " " + last_name; |
1121 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(mFromID)) ) | ||
1122 | { | ||
1123 | full_name = gRlvHandler.getAnonym(full_name); | ||
1124 | } | ||
1125 | from_string = std::string("An object named '") + mFromName + "' owned by " + full_name; | ||
1126 | chatHistory_string = mFromName + " owned by " + full_name; | ||
1127 | // [/RLVa:KB] | ||
1128 | //from_string = std::string("An object named '") + mFromName + "' owned by " + first_name + " " + last_name; | ||
1129 | //chatHistory_string = mFromName + " owned by " + first_name + " " + last_name; | ||
1121 | } | 1130 | } |
1122 | else | 1131 | else |
1123 | { | 1132 | { |
@@ -1136,6 +1145,21 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& | |||
1136 | switch(button) | 1145 | switch(button) |
1137 | { | 1146 | { |
1138 | case IOR_ACCEPT: | 1147 | case IOR_ACCEPT: |
1148 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.2a | ||
1149 | // Only change the inventory offer's destination folder to the shared root if: | ||
1150 | // - the user has enabled the feature | ||
1151 | // - the inventory offer came from a script (and specifies a folder) | ||
1152 | // - the name starts with the prefix [mDesc format (quotes are part of the string): "[OBJECTNAME] ( http://slurl.com/... )"] | ||
1153 | if ( (rlv_handler_t::isEnabled()) && (!RlvSettings::getForbidGiveToRLV()) && | ||
1154 | (IM_TASK_INVENTORY_OFFERED == mIM) && (LLAssetType::AT_CATEGORY == mType) && (mDesc.find(RLV_PUTINV_PREFIX) == 1) ) | ||
1155 | { | ||
1156 | LLViewerInventoryCategory* pRlvRoot = gRlvHandler.getSharedRoot(); | ||
1157 | if (pRlvRoot) | ||
1158 | { | ||
1159 | mFolderID = pRlvRoot->getUUID(); | ||
1160 | } | ||
1161 | } | ||
1162 | // [/RLVa:KB] | ||
1139 | // ACCEPT. The math for the dialog works, because the accept | 1163 | // ACCEPT. The math for the dialog works, because the accept |
1140 | // for inventory_offered, task_inventory_offer or | 1164 | // for inventory_offered, task_inventory_offer or |
1141 | // group_notice_inventory is 1 greater than the offer integer value. | 1165 | // group_notice_inventory is 1 greater than the offer integer value. |
@@ -1303,7 +1327,7 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) | |||
1303 | if(indx >= 0) | 1327 | if(indx >= 0) |
1304 | { | 1328 | { |
1305 | LLStringUtil::truncate(msg, indx); | 1329 | LLStringUtil::truncate(msg, indx); |
1306 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-04 (RLVa-1.0.0a) | Added: RLVa-1.0.0a | 1330 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) | Added: RLVa-1.0.0a |
1307 | // TODO-RLVa: needs revisiting when LL saves open notifications to disk to accept them on the next relog | 1331 | // TODO-RLVa: needs revisiting when LL saves open notifications to disk to accept them on the next relog |
1308 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) | 1332 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) |
1309 | { | 1333 | { |
@@ -1352,6 +1376,13 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) | |||
1352 | std::string first_name, last_name; | 1376 | std::string first_name, last_name; |
1353 | if (gCacheName->getName(info->mFromID, first_name, last_name)) | 1377 | if (gCacheName->getName(info->mFromID, first_name, last_name)) |
1354 | { | 1378 | { |
1379 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
1380 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) | ||
1381 | { | ||
1382 | first_name = gRlvHandler.getAnonym(first_name.append(" ").append(last_name)); | ||
1383 | last_name.clear(); | ||
1384 | } | ||
1385 | // [/RLVa:KB] | ||
1355 | args["FIRST"] = first_name; | 1386 | args["FIRST"] = first_name; |
1356 | args["LAST"] = last_name; | 1387 | args["LAST"] = last_name; |
1357 | name_found = TRUE; | 1388 | name_found = TRUE; |
@@ -1371,6 +1402,12 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) | |||
1371 | } | 1402 | } |
1372 | else | 1403 | else |
1373 | { | 1404 | { |
1405 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | ||
1406 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) | ||
1407 | { | ||
1408 | args["NAME"] = gRlvHandler.getAnonym(info->mFromName); | ||
1409 | } | ||
1410 | // [/RLVa:KB] | ||
1374 | p.name = "UserGiveItem"; | 1411 | p.name = "UserGiveItem"; |
1375 | } | 1412 | } |
1376 | 1413 | ||
@@ -1628,11 +1665,11 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
1628 | to_id.isNull() ) | 1665 | to_id.isNull() ) |
1629 | do_auto_response = false; | 1666 | do_auto_response = false; |
1630 | 1667 | ||
1631 | // if( do_auto_response ) | 1668 | // if( do_auto_response ) |
1632 | // [RLVa:KB] - Alternate: Emerald-370 | 1669 | // [RLVa:KB] - Alternate: Emerald-370 |
1633 | // Emerald specific: auto-response should be blocked if the avie is RLV @sendim=n restricted and the recipient is not an exception | 1670 | // Emerald specific: auto-response should be blocked if the avie is RLV @sendim=n restricted and the recipient is not an exception |
1634 | if ( (do_auto_response) && ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SENDIM)) || (gRlvHandler.isException(RLV_BHVR_SENDIM, from_id)) ) ) | 1671 | if ( (do_auto_response) && ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SENDIM)) || (gRlvHandler.isException(RLV_BHVR_SENDIM, from_id)) ) ) |
1635 | // [/RLVa:KB] | 1672 | // [/RLVa:KB] |
1636 | { | 1673 | { |
1637 | if((dialog == IM_NOTHING_SPECIAL && !is_auto_response) || | 1674 | if((dialog == IM_NOTHING_SPECIAL && !is_auto_response) || |
1638 | (dialog == IM_TYPING_START && gSavedPerAccountSettings.getBOOL("InstantMessageShowOnTyping")) | 1675 | (dialog == IM_TYPING_START && gSavedPerAccountSettings.getBOOL("InstantMessageShowOnTyping")) |
@@ -1860,7 +1897,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
1860 | } | 1897 | } |
1861 | else if (to_id.isNull()) | 1898 | else if (to_id.isNull()) |
1862 | { | 1899 | { |
1863 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 1900 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) |
1864 | // Filter region messages that weren't sent by a Linden | 1901 | // Filter region messages that weren't sent by a Linden |
1865 | if ( (rlv_handler_t::isEnabled()) && (LLMuteList::getInstance()) && | 1902 | if ( (rlv_handler_t::isEnabled()) && (LLMuteList::getInstance()) && |
1866 | (!LLMuteList::getInstance()->isLinden(name)) && (from_id != gAgent.getID()) ) | 1903 | (!LLMuteList::getInstance()->isLinden(name)) && (from_id != gAgent.getID()) ) |
@@ -2160,6 +2197,14 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2160 | } | 2197 | } |
2161 | else | 2198 | else |
2162 | { | 2199 | { |
2200 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-09-10 (RLVa-1.0.3a) | ||
2201 | if ( (rlv_handler_t::isEnabled()) && (dialog == IM_TASK_INVENTORY_OFFERED) && | ||
2202 | (info->mDesc.find(RLV_PUTINV_PREFIX) == 1) && (gRlvHandler.getSharedRoot()) ) | ||
2203 | { | ||
2204 | LLFirstUse::warnRlvGiveToRLV(); | ||
2205 | } | ||
2206 | // [/RLVa:KB] | ||
2207 | |||
2163 | inventory_offer_handler(info, dialog == IM_TASK_INVENTORY_OFFERED); | 2208 | inventory_offer_handler(info, dialog == IM_TASK_INVENTORY_OFFERED); |
2164 | } | 2209 | } |
2165 | } | 2210 | } |
@@ -2167,13 +2212,23 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2167 | 2212 | ||
2168 | case IM_INVENTORY_ACCEPTED: | 2213 | case IM_INVENTORY_ACCEPTED: |
2169 | { | 2214 | { |
2170 | args["NAME"] = name; | 2215 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
2216 | bool fRlvObfuscate = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && | ||
2217 | (gRlvHandler.isAgentNearby(from_id)) && (!gAvatarInfoInstances.checkData(from_id)); | ||
2218 | args["NAME"] = (!fRlvObfuscate) ? name : gRlvHandler.getAnonym(name); | ||
2219 | // [/RLVa:KB] | ||
2220 | //args["NAME"] = name; | ||
2171 | LLNotifications::instance().add("InventoryAccepted", args); | 2221 | LLNotifications::instance().add("InventoryAccepted", args); |
2172 | break; | 2222 | break; |
2173 | } | 2223 | } |
2174 | case IM_INVENTORY_DECLINED: | 2224 | case IM_INVENTORY_DECLINED: |
2175 | { | 2225 | { |
2176 | args["NAME"] = name; | 2226 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.0b |
2227 | bool fRlvObfuscate = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && | ||
2228 | (gRlvHandler.isAgentNearby(from_id)) && (!gAvatarInfoInstances.checkData(from_id)); | ||
2229 | args["NAME"] = (!fRlvObfuscate) ? name : gRlvHandler.getAnonym(name); | ||
2230 | // [/RLVa:KB] | ||
2231 | //args["NAME"] = name; | ||
2177 | LLNotifications::instance().add("InventoryDeclined", args); | 2232 | LLNotifications::instance().add("InventoryDeclined", args); |
2178 | break; | 2233 | break; |
2179 | } | 2234 | } |
@@ -2324,7 +2379,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2324 | return; | 2379 | return; |
2325 | } | 2380 | } |
2326 | { | 2381 | { |
2327 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 2382 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) |
2328 | // TODO-RLVa: what actually generates this? | 2383 | // TODO-RLVa: what actually generates this? |
2329 | if (rlv_handler_t::isEnabled()) | 2384 | if (rlv_handler_t::isEnabled()) |
2330 | { | 2385 | { |
@@ -2367,6 +2422,27 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2367 | } | 2422 | } |
2368 | else | 2423 | else |
2369 | { | 2424 | { |
2425 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-07 (RLVa-1.0.0d) | ||
2426 | if (rlv_handler_t::isEnabled()) | ||
2427 | { | ||
2428 | // Disallow if: 1) @tplure=n restricted (sender isn't an exception), or 2) @unsit=n restricted and currently sitting | ||
2429 | LLVOAvatar* pAvatar = gAgent.getAvatarObject(); | ||
2430 | if ( ( (gRlvHandler.hasBehaviour(RLV_BHVR_TPLURE)) && (!gRlvHandler.isException(RLV_BHVR_TPLURE, from_id)) ) || | ||
2431 | ( (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) && (pAvatar) && (pAvatar->mIsSitting) ) ) | ||
2432 | { | ||
2433 | rlvSendBusyMessage(from_id, rlv_handler_t::cstrMsgTpLure); | ||
2434 | return; | ||
2435 | } | ||
2436 | |||
2437 | // Censor teleport message if: 1) @revcim=n restricted (sender isn't an exception), or 2) @showloc=n restricted | ||
2438 | if ( ( (gRlvHandler.hasBehaviour(RLV_BHVR_RECVIM)) && (!gRlvHandler.isException(RLV_BHVR_RECVIM, from_id)) ) || | ||
2439 | (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ) | ||
2440 | { | ||
2441 | message = rlv_handler_t::cstrHidden; | ||
2442 | } | ||
2443 | } | ||
2444 | // [/RLVa:KB] | ||
2445 | |||
2370 | LLSD args; | 2446 | LLSD args; |
2371 | // *TODO:translate -> [FIRST] [LAST] (maybe) | 2447 | // *TODO:translate -> [FIRST] [LAST] (maybe) |
2372 | args["NAME"] = name; | 2448 | args["NAME"] = name; |
@@ -2375,7 +2451,21 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2375 | payload["from_id"] = from_id; | 2451 | payload["from_id"] = from_id; |
2376 | payload["lure_id"] = session_id; | 2452 | payload["lure_id"] = session_id; |
2377 | payload["godlike"] = FALSE; | 2453 | payload["godlike"] = FALSE; |
2378 | LLNotifications::instance().add("TeleportOffered", args, payload); | 2454 | //LLNotifications::instance().add("TeleportOffered", args, payload); |
2455 | |||
2456 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-07 (RLVa-1.0.0d) | Modified: RLVa-0.2.0b | ||
2457 | if ( (rlv_handler_t::isEnabled()) && | ||
2458 | ((gRlvHandler.hasBehaviour(RLV_BHVR_ACCEPTTP)) || (gRlvHandler.isException(RLV_BHVR_ACCEPTTP, from_id))) ) | ||
2459 | { | ||
2460 | gRlvHandler.setCanCancelTp(false); | ||
2461 | LLNotifications::instance().forceResponse(LLNotification::Params("TeleportOffered").payload(payload), 0); | ||
2462 | } | ||
2463 | else | ||
2464 | { | ||
2465 | LLNotifications::instance().add("TeleportOffered", args, payload); | ||
2466 | } | ||
2467 | // [/RLVa:KB] | ||
2468 | //LLNotifications::instance().add("TeleportOffered", args, payload); | ||
2379 | } | 2469 | } |
2380 | } | 2470 | } |
2381 | break; | 2471 | break; |
@@ -2657,8 +2747,9 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) | |||
2657 | // Make swirly things only for talking objects. (not script debug messages, though) | 2747 | // Make swirly things only for talking objects. (not script debug messages, though) |
2658 | // if (chat.mSourceType == CHAT_SOURCE_OBJECT | 2748 | // if (chat.mSourceType == CHAT_SOURCE_OBJECT |
2659 | // && chat.mChatType != CHAT_TYPE_DEBUG_MSG) | 2749 | // && chat.mChatType != CHAT_TYPE_DEBUG_MSG) |
2660 | // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | 2750 | // [RLVa:KB] - Alternate: Snowglobe-1.2.4 | Checked: 2009-07-10 (RLVa-1.0.0g) |
2661 | // Don't show swirly things for llOwnerSay() chat here because we handle those further down | 2751 | // Don't show swirly things for llOwnerSay() chat here because we handle those further down |
2752 | // RELEASE-RLVa: if this code changes, remember to change the code down below as well | ||
2662 | if ( (chat.mSourceType == CHAT_SOURCE_OBJECT && chat.mChatType != CHAT_TYPE_DEBUG_MSG) && | 2753 | if ( (chat.mSourceType == CHAT_SOURCE_OBJECT && chat.mChatType != CHAT_TYPE_DEBUG_MSG) && |
2663 | ((!rlv_handler_t::isEnabled()) || (CHAT_TYPE_OWNER != chat.mChatType)) ) | 2754 | ((!rlv_handler_t::isEnabled()) || (CHAT_TYPE_OWNER != chat.mChatType)) ) |
2664 | // [/RLVa:KB] | 2755 | // [/RLVa:KB] |
@@ -2985,7 +3076,7 @@ void process_teleport_start(LLMessageSystem *msg, void**) | |||
2985 | U32 teleport_flags = 0x0; | 3076 | U32 teleport_flags = 0x0; |
2986 | msg->getU32("Info", "TeleportFlags", teleport_flags); | 3077 | msg->getU32("Info", "TeleportFlags", teleport_flags); |
2987 | 3078 | ||
2988 | //if (teleport_flags & TELEPORT_FLAGS_DISABLE_CANCEL) | 3079 | // if (teleport_flags & TELEPORT_FLAGS_DISABLE_CANCEL) |
2989 | // [RLVa:KB] - Checked: 2009-07-07 (RLVa-1.0.0d) | Added: RLVa-0.2.0b | 3080 | // [RLVa:KB] - Checked: 2009-07-07 (RLVa-1.0.0d) | Added: RLVa-0.2.0b |
2990 | if ( (teleport_flags & TELEPORT_FLAGS_DISABLE_CANCEL) || (!gRlvHandler.getCanCancelTp()) ) | 3081 | if ( (teleport_flags & TELEPORT_FLAGS_DISABLE_CANCEL) || (!gRlvHandler.getCanCancelTp()) ) |
2991 | // [/RLVa:KB] | 3082 | // [/RLVa:KB] |
@@ -5350,8 +5441,32 @@ void process_script_question(LLMessageSystem *msg, void **user_data) | |||
5350 | payload["object_name"] = object_name; | 5441 | payload["object_name"] = object_name; |
5351 | payload["owner_name"] = owner_name; | 5442 | payload["owner_name"] = owner_name; |
5352 | 5443 | ||
5444 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0e | ||
5445 | S32 rlvQuestionsOther = questions; | ||
5446 | |||
5447 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasBehaviour(RLV_BHVR_ACCEPTPERMISSION)) ) | ||
5448 | { | ||
5449 | LLViewerObject* pObj = gObjectList.findObject(taskid); | ||
5450 | if (pObj) | ||
5451 | { | ||
5452 | if (pObj->permYouOwner()) | ||
5453 | { | ||
5454 | // PERMISSION_TAKE_CONTROLS and PERMISSION_ATTACH are only auto-granted to objects this avie owns | ||
5455 | rlvQuestionsOther &= ~(LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TAKE_CONTROLS] | | ||
5456 | LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_ATTACH]); | ||
5457 | } | ||
5458 | } | ||
5459 | } | ||
5460 | |||
5461 | if ( (!caution) && (!rlvQuestionsOther) ) | ||
5462 | { | ||
5463 | LLNotifications::instance().forceResponse( | ||
5464 | LLNotification::Params("ScriptQuestion").substitutions(args).payload(payload), 0/*YES*/); | ||
5465 | } | ||
5466 | else if (gSavedSettings.getBOOL("PermissionsCautionEnabled")) | ||
5467 | // [/RLVa:KB] | ||
5353 | // check whether cautions are even enabled or not | 5468 | // check whether cautions are even enabled or not |
5354 | if (gSavedSettings.getBOOL("PermissionsCautionEnabled")) | 5469 | //if (gSavedSettings.getBOOL("PermissionsCautionEnabled")) |
5355 | { | 5470 | { |
5356 | // display the caution permissions prompt | 5471 | // display the caution permissions prompt |
5357 | LLNotifications::instance().add(caution ? "ScriptQuestionCaution" : "ScriptQuestion", args, payload); | 5472 | LLNotifications::instance().add(caution ? "ScriptQuestionCaution" : "ScriptQuestion", args, payload); |
@@ -5682,6 +5797,21 @@ bool handle_lure_callback(const LLSD& notification, const LLSD& response) | |||
5682 | 5797 | ||
5683 | if(0 == option) | 5798 | if(0 == option) |
5684 | { | 5799 | { |
5800 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0b | ||
5801 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SENDIM)) | ||
5802 | { | ||
5803 | for (LLSD::array_const_iterator it = notification["payload"]["ids"].beginArray(); | ||
5804 | it != notification["payload"]["ids"].endArray(); ++it) | ||
5805 | { | ||
5806 | if (!gRlvHandler.isException(RLV_BHVR_SENDIM, it->asUUID())) | ||
5807 | { | ||
5808 | text = rlv_handler_t::cstrHidden; | ||
5809 | break; | ||
5810 | } | ||
5811 | } | ||
5812 | } | ||
5813 | // [/RLVa:KB] | ||
5814 | |||
5685 | LLMessageSystem* msg = gMessageSystem; | 5815 | LLMessageSystem* msg = gMessageSystem; |
5686 | msg->newMessageFast(_PREHASH_StartLure); | 5816 | msg->newMessageFast(_PREHASH_StartLure); |
5687 | msg->nextBlockFast(_PREHASH_AgentData); | 5817 | msg->nextBlockFast(_PREHASH_AgentData); |
@@ -5714,13 +5844,28 @@ void handle_lure(const LLUUID& invitee) | |||
5714 | void handle_lure(LLDynamicArray<LLUUID>& ids) | 5844 | void handle_lure(LLDynamicArray<LLUUID>& ids) |
5715 | { | 5845 | { |
5716 | LLSD edit_args; | 5846 | LLSD edit_args; |
5717 | edit_args["REGION"] = gAgent.getRegion()->getName(); | 5847 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-04 (RLVa-1.0.0a) |
5848 | edit_args["REGION"] = (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? gAgent.getRegion()->getName() : rlv_handler_t::cstrHidden; | ||
5849 | // [/RLVa:KB] | ||
5850 | //edit_args["REGION"] = gAgent.getRegion()->getName(); | ||
5718 | 5851 | ||
5719 | LLSD payload; | 5852 | LLSD payload; |
5720 | for (LLDynamicArray<LLUUID>::iterator it = ids.begin(); | 5853 | for (LLDynamicArray<LLUUID>::iterator it = ids.begin(); |
5721 | it != ids.end(); | 5854 | it != ids.end(); |
5722 | ++it) | 5855 | ++it) |
5723 | { | 5856 | { |
5857 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-07 (RLVa-1.0.0d) | Modified: RLVa-1.0.0a | ||
5858 | // Only allow offering teleports if everyone is a @tplure exception or able to map this avie under @showloc=n | ||
5859 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) | ||
5860 | { | ||
5861 | const LLRelationship* pBuddyInfo = LLAvatarTracker::instance().getBuddyInfo(*it); | ||
5862 | if ( (!gRlvHandler.isException(RLV_BHVR_TPLURE, *it, RLV_CHECK_PERMISSIVE)) && | ||
5863 | ((!pBuddyInfo) || (!pBuddyInfo->isOnline()) || (!pBuddyInfo->isRightGrantedTo(LLRelationship::GRANT_MAP_LOCATION))) ) | ||
5864 | { | ||
5865 | return; | ||
5866 | } | ||
5867 | } | ||
5868 | // [/RLVa:KB] | ||
5724 | payload["ids"].append(*it); | 5869 | payload["ids"].append(*it); |
5725 | } | 5870 | } |
5726 | if (gAgent.isGodlike()) | 5871 | if (gAgent.isGodlike()) |
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index 6e74caf..a854583 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp | |||
@@ -1419,7 +1419,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys, | |||
1419 | coloru.mV[3] = 255 - coloru.mV[3]; | 1419 | coloru.mV[3] = 255 - coloru.mV[3]; |
1420 | mText->setColor(LLColor4(coloru)); | 1420 | mText->setColor(LLColor4(coloru)); |
1421 | mText->setStringUTF8(temp_string); | 1421 | mText->setStringUTF8(temp_string); |
1422 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-09 (RLVa-1.0.0f) | Added: RLVa-1.0.0f | 1422 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-09 (RLVa-1.0.0f) | Added: RLVa-1.0.0f |
1423 | if (rlv_handler_t::isEnabled()) | 1423 | if (rlv_handler_t::isEnabled()) |
1424 | { | 1424 | { |
1425 | mText->setObjectText(temp_string); | 1425 | mText->setObjectText(temp_string); |
diff --git a/linden/indra/newview/llviewertexteditor.cpp b/linden/indra/newview/llviewertexteditor.cpp index cee346e..0e16282 100644 --- a/linden/indra/newview/llviewertexteditor.cpp +++ b/linden/indra/newview/llviewertexteditor.cpp | |||
@@ -1387,7 +1387,7 @@ BOOL LLViewerTextEditor::openEmbeddedItem(LLInventoryItem* item, llwchar wc) | |||
1387 | 1387 | ||
1388 | void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) | 1388 | void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) |
1389 | { | 1389 | { |
1390 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-10-13 (RLVa-1.0.5c) | Added: RLVa-1.0.5c | 1390 | // [RLVa:KB] - Checked: 2009-10-13 (RLVa-1.0.5c) | Added: RLVa-1.0.5c |
1391 | if (gRlvHandler.hasBehaviour(RLV_BHVR_VIEWTEXTURE)) | 1391 | if (gRlvHandler.hasBehaviour(RLV_BHVR_VIEWTEXTURE)) |
1392 | { | 1392 | { |
1393 | return; | 1393 | return; |
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index f3eec54..513d43c 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -93,10 +93,12 @@ | |||
93 | #else | 93 | #else |
94 | #include "boost/lexical_cast.hpp" | 94 | #include "boost/lexical_cast.hpp" |
95 | #endif | 95 | #endif |
96 | #include "hippoLimits.h"// getMaxPrimScale | ||
97 | |||
96 | // [RLVa:KB] | 98 | // [RLVa:KB] |
97 | #include "llstartup.h" | 99 | #include "llstartup.h" |
98 | // [/RLVa:KB] | 100 | // [/RLVa:KB] |
99 | #include "hippoLimits.h"// getMaxPrimScale | 101 | |
100 | using namespace LLVOAvatarDefines; | 102 | using namespace LLVOAvatarDefines; |
101 | 103 | ||
102 | //----------------------------------------------------------------------------- | 104 | //----------------------------------------------------------------------------- |
@@ -3626,30 +3628,33 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last) | |||
3626 | || is_appearance != mNameAppearance || client.length() != 0) | 3628 | || is_appearance != mNameAppearance || client.length() != 0) |
3627 | { | 3629 | { |
3628 | std::string line; | 3630 | std::string line; |
3629 | 3631 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0b | |
3630 | if (mRenderGroupTitles && title && title->getString() && title->getString()[0] != '\0') | 3632 | if (!fRlvShowNames) |
3631 | { | 3633 | { |
3632 | line += title->getString(); | 3634 | // [/RLVa:KB] |
3633 | //LLStringFn::replace_ascii_controlchars(line,LL_UNKNOWN_CHAR); IMP-136 -- McCabe | 3635 | if (mRenderGroupTitles && title && title->getString() && title->getString()[0] != '\0') |
3634 | line += "\n"; | 3636 | { |
3635 | line += firstname->getString(); | 3637 | line += title->getString(); |
3638 | //LLStringFn::replace_ascii_controlchars(line,LL_UNKNOWN_CHAR); IMP-136 -- McCabe | ||
3639 | line += "\n"; | ||
3640 | line += firstname->getString(); | ||
3641 | } | ||
3642 | else | ||
3643 | { | ||
3644 | line += firstname->getString(); | ||
3645 | } | ||
3646 | |||
3647 | line += " "; | ||
3648 | line += lastname->getString(); | ||
3649 | // [RLVa:KB] - Version: 1.23.4 | Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-0.2.0b | ||
3636 | } | 3650 | } |
3637 | else | 3651 | else |
3638 | { | 3652 | { |
3639 | line += firstname->getString(); | 3653 | line = gRlvHandler.getAnonym(line.assign(firstname->getString()).append(" ").append(lastname->getString())); |
3640 | } | ||
3641 | |||
3642 | line += " "; | ||
3643 | line += lastname->getString(); | ||
3644 | |||
3645 | // [RLVa:KB] | ||
3646 | if (fRlvShowNames) | ||
3647 | { | ||
3648 | // User is not allowed to see who it is, due to RLV settings. | ||
3649 | line = gRlvHandler.getAnonym(line); | ||
3650 | } | 3654 | } |
3651 | // [/RLVa:KB] | 3655 | // [/RLVa:KB] |
3652 | 3656 | ||
3657 | |||
3653 | BOOL need_comma = FALSE; | 3658 | BOOL need_comma = FALSE; |
3654 | 3659 | ||
3655 | bool show_client = client.length() != 0 && gSavedSettings.getBOOL("ShowClientNameTag"); | 3660 | bool show_client = client.length() != 0 && gSavedSettings.getBOOL("ShowClientNameTag"); |
diff --git a/linden/indra/newview/llworldmapview.cpp b/linden/indra/newview/llworldmapview.cpp index c10faa5..2e28d18 100644 --- a/linden/indra/newview/llworldmapview.cpp +++ b/linden/indra/newview/llworldmapview.cpp | |||
@@ -1246,13 +1246,16 @@ BOOL LLWorldMapView::handleToolTip( S32 x, S32 y, std::string& msg, LLRect* stic | |||
1246 | { | 1246 | { |
1247 | LLViewerRegion *region = gAgent.getRegion(); | 1247 | LLViewerRegion *region = gAgent.getRegion(); |
1248 | 1248 | ||
1249 | // std::string message = | ||
1250 | // llformat("%s (%s)", | ||
1251 | // info->mName.c_str(), | ||
1252 | // LLViewerRegion::accessToString(info->mAccess).c_str()); | ||
1253 | // [RLVa:KB] - Alternate: Snowglobe-1.0 | Checked: 2009-07-04 (RLVa-1.0.0a) | ||
1249 | std::string message = | 1254 | std::string message = |
1250 | llformat("%s (%s)", | 1255 | llformat("%s (%s)", |
1251 | //info->mName.c_str(), | 1256 | (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? info->mName.c_str() : rlv_handler_t::cstrHidden.c_str(), |
1252 | // [RLVa:KB] - Alternate: Snowglobe-1.0 | Checked: 2009-07-04 (RLVa-1.0.0a) | ||
1253 | (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? info->mName.c_str() : rlv_handler_t::cstrHidden.c_str(), | ||
1254 | // [/RLVa:KB] | ||
1255 | LLViewerRegion::accessToString(info->mAccess).c_str()); | 1257 | LLViewerRegion::accessToString(info->mAccess).c_str()); |
1258 | // [/RLVa:KB] | ||
1256 | 1259 | ||
1257 | if (info->mAccess != SIM_ACCESS_DOWN) | 1260 | if (info->mAccess != SIM_ACCESS_DOWN) |
1258 | { | 1261 | { |
diff --git a/linden/indra/newview/panelradar.cpp b/linden/indra/newview/panelradar.cpp index c5fc3db..b323a77 100644 --- a/linden/indra/newview/panelradar.cpp +++ b/linden/indra/newview/panelradar.cpp | |||
@@ -47,6 +47,7 @@ | |||
47 | #include "llscrolllistctrl.h" | 47 | #include "llscrolllistctrl.h" |
48 | #include "lltracker.h" | 48 | #include "lltracker.h" |
49 | #include "lluictrlfactory.h" | 49 | #include "lluictrlfactory.h" |
50 | #include "llviewercontrol.h" | ||
50 | #include "llviewerobjectlist.h" | 51 | #include "llviewerobjectlist.h" |
51 | #include "llviewermenu.h" | 52 | #include "llviewermenu.h" |
52 | #include "llviewermessage.h" | 53 | #include "llviewermessage.h" |
@@ -291,12 +292,12 @@ void PanelRadar::updateRadarDisplay() | |||
291 | element["id"] = entry->getID(); | 292 | element["id"] = entry->getID(); |
292 | element["columns"][0]["column"] = "avatar_name"; | 293 | element["columns"][0]["column"] = "avatar_name"; |
293 | element["columns"][0]["type"] = "text"; | 294 | element["columns"][0]["type"] = "text"; |
295 | // element["columns"][0]["value"] = typing + entry->getName() + " " + mute_text; | ||
294 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 296 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 |
295 | //element["columns"][0]["value"] = typing + entry->getName() + " " + mute_text; | 297 | element["columns"][0]["value"] = |
296 | std::string fullname = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ? | 298 | (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) |
297 | gRlvHandler.getAnonym(fullname) : | 299 | ? gRlvHandler.getAnonym(entry->getName()) |
298 | typing + entry->getName() + " " + mute_text; | 300 | : typing + entry->getName() + " " + mute_text; |
299 | element["columns"][0]["value"] = fullname; | ||
300 | // [/RLVa:KB] | 301 | // [/RLVa:KB] |
301 | element["columns"][1]["column"] = "avatar_distance"; | 302 | element["columns"][1]["column"] = "avatar_distance"; |
302 | element["columns"][1]["type"] = "text"; | 303 | element["columns"][1]["type"] = "text"; |
diff --git a/linden/indra/newview/rlvdefines.h b/linden/indra/newview/rlvdefines.h index 3785b0a..21d7105 100644 --- a/linden/indra/newview/rlvdefines.h +++ b/linden/indra/newview/rlvdefines.h | |||
@@ -71,7 +71,7 @@ const S32 RLVa_VERSION_BUILD = 4; | |||
71 | // Uncomment to enable the Advanced / RLVa / Unit Tests menu (non-public) | 71 | // Uncomment to enable the Advanced / RLVa / Unit Tests menu (non-public) |
72 | //#define RLV_DEBUG_TESTS | 72 | //#define RLV_DEBUG_TESTS |
73 | #else | 73 | #else |
74 | // Uncomment if you want extended debugging information on release builds | 74 | // Uncomment if you want extended debugging information in release builds |
75 | //#define RLV_DEBUG | 75 | //#define RLV_DEBUG |
76 | // Don't halt execution on errors in release | 76 | // Don't halt execution on errors in release |
77 | #define RLV_ERRS LL_WARNS("RLV") | 77 | #define RLV_ERRS LL_WARNS("RLV") |
@@ -82,7 +82,7 @@ const S32 RLVa_VERSION_BUILD = 4; | |||
82 | #define RLV_ROOT_FOLDER "#RLV" | 82 | #define RLV_ROOT_FOLDER "#RLV" |
83 | #define RLV_CMD_PREFIX '@' | 83 | #define RLV_CMD_PREFIX '@' |
84 | #define RLV_PUTINV_PREFIX "#RLV/~" | 84 | #define RLV_PUTINV_PREFIX "#RLV/~" |
85 | #define RLV_SETROT_OFFSET F_PI_BY_TWO // @setrot is off by 90° with the rest of SL | 85 | #define RLV_SETROT_OFFSET F_PI_BY_TWO // @setrot is off by 90° with the rest of SL |
86 | 86 | ||
87 | #define RLV_FOLDER_FLAG_NOSTRIP "nostrip" | 87 | #define RLV_FOLDER_FLAG_NOSTRIP "nostrip" |
88 | #define RLV_FOLDER_PREFIX_HIDDEN '.' | 88 | #define RLV_FOLDER_PREFIX_HIDDEN '.' |
diff --git a/linden/indra/newview/rlvextensions.cpp b/linden/indra/newview/rlvextensions.cpp index 769d3cc..f31c62e 100644 --- a/linden/indra/newview/rlvextensions.cpp +++ b/linden/indra/newview/rlvextensions.cpp | |||
@@ -97,7 +97,7 @@ BOOL RlvExtGetSet::processCommand(const LLUUID& idObj, const RlvCommand& rlvCmd) | |||
97 | F32 nAngle = 0.0f; | 97 | F32 nAngle = 0.0f; |
98 | if (LLStringUtil::convertToF32(rlvCmd.getOption(), nAngle)) | 98 | if (LLStringUtil::convertToF32(rlvCmd.getOption(), nAngle)) |
99 | { | 99 | { |
100 | nAngle = RLV_SETROT_OFFSET - nAngle; | 100 | nAngle += RLV_SETROT_OFFSET; |
101 | 101 | ||
102 | gAgent.startCameraAnimation(); | 102 | gAgent.startCameraAnimation(); |
103 | 103 | ||
diff --git a/linden/indra/newview/rlvhandler.cpp b/linden/indra/newview/rlvhandler.cpp index 68453af..904ed37 100644 --- a/linden/indra/newview/rlvhandler.cpp +++ b/linden/indra/newview/rlvhandler.cpp | |||
@@ -31,6 +31,10 @@ | |||
31 | #include "rlvextensions.h" | 31 | #include "rlvextensions.h" |
32 | #include "rlvhandler.h" | 32 | #include "rlvhandler.h" |
33 | 33 | ||
34 | // Only defined in llinventorybridge.cpp | ||
35 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 | ||
36 | void confirm_replace_attachment_rez(S32 option, void* user_data); | ||
37 | #endif | ||
34 | // Only defined in llinventorymodel.cpp | 38 | // Only defined in llinventorymodel.cpp |
35 | extern const char* NEW_CATEGORY_NAME; | 39 | extern const char* NEW_CATEGORY_NAME; |
36 | 40 | ||
@@ -112,7 +116,7 @@ static bool rlvParseNotifyOption(const std::string& strOption, S32& nChannel, st | |||
112 | 116 | ||
113 | // Checked: 2009-08-04 (RLVa-1.0.1d) | Modified: RLVa-1.0.1d | 117 | // Checked: 2009-08-04 (RLVa-1.0.1d) | Modified: RLVa-1.0.1d |
114 | RlvHandler::RlvHandler() | 118 | RlvHandler::RlvHandler() |
115 | : m_fCanCancelTp(true), m_idCurObject(LLUUID::null), m_pCurCommand(NULL), m_pGCTimer(NULL), m_pWLSnapshot(NULL), m_pBhvrNotify(NULL) | 119 | : m_fCanCancelTp(false), m_idCurObject(LLUUID::null), m_pCurCommand(NULL), m_pGCTimer(NULL), m_pWLSnapshot(NULL), m_pBhvrNotify(NULL) |
116 | { | 120 | { |
117 | // Array auto-initialization to 0 is non-standard? (Compiler warning in VC-8.0) | 121 | // Array auto-initialization to 0 is non-standard? (Compiler warning in VC-8.0) |
118 | memset(m_LayersAdd, 0, sizeof(S16) * WT_COUNT); | 122 | memset(m_LayersAdd, 0, sizeof(S16) * WT_COUNT); |
@@ -596,8 +600,13 @@ BOOL RlvHandler::processAddCommand(const LLUUID& uuid, const RlvCommand& rlvCmd) | |||
596 | case RLV_BHVR_SHOWMINIMAP: // @showminimap=n - Checked: 2009-07-05 (RLVa-1.0.0c) | 600 | case RLV_BHVR_SHOWMINIMAP: // @showminimap=n - Checked: 2009-07-05 (RLVa-1.0.0c) |
597 | { | 601 | { |
598 | // Simulate clicking the Minimap button [see LLToolBar::onClickRadar()] | 602 | // Simulate clicking the Minimap button [see LLToolBar::onClickRadar()] |
599 | if (LLFloaterMap::instanceVisible()) | 603 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 |
604 | if (gFloaterMap->getVisible()) | ||
605 | LLFloaterMap::toggle(NULL); | ||
606 | #else // Version: 1.23.4 | ||
607 | if (LLFloaterMap::instanceVisible()) | ||
600 | LLFloaterMap::hideInstance(); | 608 | LLFloaterMap::hideInstance(); |
609 | #endif | ||
601 | } | 610 | } |
602 | break; | 611 | break; |
603 | #ifdef RLV_EXTENSION_STARTLOCATION | 612 | #ifdef RLV_EXTENSION_STARTLOCATION |
@@ -1097,8 +1106,8 @@ BOOL RlvHandler::processReplyCommand(const LLUUID& uuid, const RlvCommand& rlvCm | |||
1097 | 1106 | ||
1098 | const EWearableType layerTypes[] = | 1107 | const EWearableType layerTypes[] = |
1099 | { | 1108 | { |
1100 | WT_GLOVES, WT_JACKET, WT_PANTS, WT_SHIRT, WT_SHOES, WT_SKIRT, WT_ALPHA, WT_TATTOO, WT_SOCKS, | 1109 | WT_GLOVES, WT_JACKET, WT_PANTS, WT_SHIRT, WT_SHOES, WT_SKIRT, WT_SOCKS, |
1101 | WT_UNDERPANTS, WT_UNDERSHIRT, WT_SKIN, WT_EYES, WT_HAIR, WT_SHAPE | 1110 | WT_UNDERPANTS, WT_UNDERSHIRT, WT_SKIN, WT_EYES, WT_HAIR, WT_SHAPE, WT_ALPHA, WT_TATTOO |
1102 | }; | 1111 | }; |
1103 | 1112 | ||
1104 | #ifdef RLV_EXPERIMENTAL_COMPOSITE_FOLDING | 1113 | #ifdef RLV_EXPERIMENTAL_COMPOSITE_FOLDING |
@@ -1601,8 +1610,8 @@ void RlvHandler::filterNames(std::string& strUTF8Text) const | |||
1601 | // -> the cost of multi string matching them all at once seems to be about the same as calling rlvStringReplace | 1610 | // -> the cost of multi string matching them all at once seems to be about the same as calling rlvStringReplace |
1602 | // twice so that would be a tremendous gain (and we'd get first name and word matching for free) | 1611 | // twice so that would be a tremendous gain (and we'd get first name and word matching for free) |
1603 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 | 1612 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 |
1604 | for (LLWorld::region_list_t::const_iterator itRegion = LLWorld::getInstance()->getRegionList().begin(); | 1613 | for (LLWorld::region_list_t::const_iterator itRegion = LLWorld::getInstance()->mActiveRegionList.begin(); |
1605 | itRegion != LLWorld::getInstance()->getRegionList().end(); ++itRegion) | 1614 | itRegion != LLWorld::getInstance()->mActiveRegionList.end(); ++itRegion) |
1606 | { | 1615 | { |
1607 | LLViewerRegion* pRegion = *itRegion; | 1616 | LLViewerRegion* pRegion = *itRegion; |
1608 | 1617 | ||
@@ -1688,8 +1697,8 @@ bool RlvHandler::redirectChatOrEmote(const std::string& strUTF8Text) const | |||
1688 | BOOL RlvHandler::isAgentNearby(const LLUUID& uuid) const | 1697 | BOOL RlvHandler::isAgentNearby(const LLUUID& uuid) const |
1689 | { | 1698 | { |
1690 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 | 1699 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 |
1691 | for (LLWorld::region_list_t::const_iterator itRegion = LLWorld::getInstance()->getRegionList().begin(); | 1700 | for (LLWorld::region_list_t::const_iterator itRegion = LLWorld::getInstance()->mActiveRegionList.begin(); |
1692 | itRegion != LLWorld::getInstance()->getRegionList().end(); ++itRegion) | 1701 | itRegion != LLWorld::getInstance()->mActiveRegionList.end(); ++itRegion) |
1693 | { | 1702 | { |
1694 | LLViewerRegion* pRegion = *itRegion; | 1703 | LLViewerRegion* pRegion = *itRegion; |
1695 | 1704 | ||
diff --git a/linden/indra/newview/rlvhelper.cpp b/linden/indra/newview/rlvhelper.cpp index 67ffbe2..f509a43 100644 --- a/linden/indra/newview/rlvhelper.cpp +++ b/linden/indra/newview/rlvhelper.cpp | |||
@@ -1,7 +1,6 @@ | |||
1 | #include "llviewerprecompiledheaders.h" | 1 | #include "llviewerprecompiledheaders.h" |
2 | #include "llagent.h" | 2 | #include "llagent.h" |
3 | #include "llfloaterwindlight.h" | 3 | #include "llfloaterwindlight.h" |
4 | #include "llinventoryview.h" | ||
5 | #include "llviewerobject.h" | 4 | #include "llviewerobject.h" |
6 | #include "llviewerstats.h" | 5 | #include "llviewerstats.h" |
7 | #include "llviewerwindow.h" | 6 | #include "llviewerwindow.h" |
@@ -12,12 +11,6 @@ | |||
12 | #include "rlvevent.h" | 11 | #include "rlvevent.h" |
13 | #include "rlvhandler.h" | 12 | #include "rlvhandler.h" |
14 | 13 | ||
15 | // Only defined in llinventorybridge.cpp | ||
16 | #if RLV_TARGET < RLV_MAKE_TARGET(1, 23, 0) // Version: 1.22.11 | ||
17 | #include "llinventorybridge.h" | ||
18 | void confirm_replace_attachment_rez(S32 option, void* user_data); | ||
19 | #endif | ||
20 | |||
21 | // ============================================================================ | 14 | // ============================================================================ |
22 | // Static variable initialization | 15 | // Static variable initialization |
23 | // | 16 | // |
diff --git a/linden/indra/newview/skins/default/xui/en-us/notifications.xml b/linden/indra/newview/skins/default/xui/en-us/notifications.xml index c59d713..e2a6b6e 100644 --- a/linden/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/linden/indra/newview/skins/default/xui/en-us/notifications.xml | |||
@@ -56,6 +56,20 @@ Always choose this option | |||
56 | </form> | 56 | </form> |
57 | </template> | 57 | </template> |
58 | 58 | ||
59 | <template name="okcancelbuttonscanceldefault"> | ||
60 | <form> | ||
61 | <button | ||
62 | index="0" | ||
63 | name="OK" | ||
64 | text="$yestext"/> | ||
65 | <button | ||
66 | default="true" | ||
67 | index="1" | ||
68 | name="Cancel" | ||
69 | text="$notext"/> | ||
70 | </form> | ||
71 | </template> | ||
72 | |||
59 | <template name="okcancelignore"> | 73 | <template name="okcancelignore"> |
60 | <form> | 74 | <form> |
61 | <button | 75 | <button |
@@ -6369,6 +6383,40 @@ You have begun playing media. Media can set to play automatically in the prefer | |||
6369 | </notification> | 6383 | </notification> |
6370 | 6384 | ||
6371 | <notification | 6385 | <notification |
6386 | icon="notify.tga" | ||
6387 | name="FirstRLVDetach" | ||
6388 | type="notify"> | ||
6389 | One of your attachments was made nondetachable using Restrained Life. | ||
6390 | Please note that this also disables the 'Wear' option on all prim attachments in your inventory unless they are properly named. | ||
6391 | |||
6392 | For more information search for 'Restrained Life' on the SL wiki. | ||
6393 | </notification> | ||
6394 | |||
6395 | <notification | ||
6396 | icon="notify.tga" | ||
6397 | name="FirstRLVFartouch" | ||
6398 | type="notify"> | ||
6399 | You have been fartouch restricted: you will be unable to touch objects farther than 1.5m from your avatar until the restriction is lifted. | ||
6400 | |||
6401 | Tip: if an object is out of range the mouse cursor will not change as you hover over it and you'll hear an error sound if you try to right-click it. | ||
6402 | </notification> | ||
6403 | |||
6404 | <notification | ||
6405 | icon="alertmodal.tga" | ||
6406 | name="FirstRLVGiveToRLV" | ||
6407 | type="alertmodal"> | ||
6408 | Folders starting with '#RLV/~' can automatically be placed under your #RLV shared folder after you accept the inventory offer. | ||
6409 | |||
6410 | Please note that - if enabled - the accepted inventory items will instantly be available to scripts and will have full use of the RLV API which may cause unexpected or undesirable situations. | ||
6411 | |||
6412 | Do you want to enable this feature? | ||
6413 | <usetemplate | ||
6414 | name="okcancelbuttonscanceldefault" | ||
6415 | notext="No" | ||
6416 | yestext="Yes"/> | ||
6417 | </notification> | ||
6418 | |||
6419 | <notification | ||
6372 | icon="notifytip.tga" | 6420 | icon="notifytip.tga" |
6373 | name="MaxListSelectMessage" | 6421 | name="MaxListSelectMessage" |
6374 | type="notifytip"> | 6422 | type="notifytip"> |