This commit is contained in:
Shyotl
2014-09-09 19:48:42 -05:00
15 changed files with 78 additions and 91 deletions

View File

@@ -150,7 +150,7 @@ LLDir_Mac::LLDir_Mac()
CFURLRef resourcesURLRef = CFBundleCopyResourcesDirectoryURL(mainBundleRef);
CFURLRefToLLString(resourcesURLRef, mAppRODataDir, true);
U32 build_dir_pos = mExecutableDir.rfind("/indra/build-darwin-");
size_t build_dir_pos = mExecutableDir.rfind("/indra/build-darwin-");
if (build_dir_pos != std::string::npos)
{
// ...we're in a dev checkout

View File

@@ -216,31 +216,18 @@
</array>
</map>
<key>AscentInstantMessageResponseRepeat</key>
<map>
<key>Comment</key>
<string>Whether to keep on resending the autoresponse every line they send</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AscentInstantMessageShowOnTyping</key>
<map>
<key>Comment</key>
<string>Whether to perform the autorespond the moment they begin to type instead of waiting for an actual message</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<!-- Autoresponse Section -->
<key>AscentInstantMessageResponseRepeat</key>
<map>
<key>Comment</key>
<string>Whether to keep on resending the autoresponse every line they send</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AutoresponseAnyone</key>
<map>
<key>Comment</key>
@@ -438,7 +425,7 @@
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
<key>BusyModeResponseItemID</key>
<map>
<key>Comment</key>

View File

@@ -812,6 +812,8 @@ void LLAgent::toggleFlying()
bool LLAgent::enableFlying()
{
BOOL sitting = FALSE;
static LLCachedControl<bool> continue_flying_on_unsit(gSavedSettings, "LiruContinueFlyingOnUnsit", false);
if (!continue_flying_on_unsit)
if (isAgentAvatarValid())
{
sitting = gAgentAvatarp->isSitting();

View File

@@ -687,13 +687,18 @@ bool LLAvatarActions::canOfferTeleport(const uuid_vec_t& ids)
void LLAvatarActions::inviteToGroup(const LLUUID& id)
{
LLFloaterGroupPicker* widget = LLFloaterGroupPicker::showInstance(LLSD(id));
inviteToGroup(uuid_vec_t(1, id));
}
void LLAvatarActions::inviteToGroup(const uuid_vec_t& ids)
{
LLFloaterGroupPicker* widget = LLFloaterGroupPicker::showInstance(LLSD(ids.front()));
if (widget)
{
widget->center();
widget->setPowersMask(GP_MEMBER_INVITE);
widget->removeNoneOption();
widget->setSelectGroupCallback(boost::bind(callback_invite_to_group, _1, id));
widget->setSelectGroupCallback(boost::bind(callback_invite_to_group, _1, ids));
}
}
@@ -767,11 +772,8 @@ void ban_from_group(const uuid_vec_t& ids)
// </singu>
// static
void LLAvatarActions::callback_invite_to_group(LLUUID group_id, LLUUID id)
void LLAvatarActions::callback_invite_to_group(LLUUID group_id, uuid_vec_t& agent_ids)
{
uuid_vec_t agent_ids;
agent_ids.push_back(id);
LLFloaterGroupInvite::showForGroup(group_id, &agent_ids);
}

View File

@@ -155,6 +155,7 @@ public:
* Invite avatar to a group.
*/
static void inviteToGroup(const LLUUID& id);
static void inviteToGroup(const uuid_vec_t& ids);
/**
* Kick avatar off grid
@@ -217,7 +218,7 @@ private:
static bool handleKick(const LLSD& notification, const LLSD& response);
static bool handleFreeze(const LLSD& notification, const LLSD& response);
static bool handleUnfreeze(const LLSD& notification, const LLSD& response);
static void callback_invite_to_group(LLUUID group_id, LLUUID id);
static void callback_invite_to_group(LLUUID group_id, uuid_vec_t& ids);
static void on_avatar_name_cache_teleport_request(const LLUUID& id, const LLAvatarName& av_name);
public:

View File

@@ -128,36 +128,31 @@ bool LLGiveInventory::isInventoryGiveAcceptable(const LLInventoryItem* item)
{
return false;
}
bool acceptable = true;
switch(item->getType())
{
case LLAssetType::AT_CALLINGCARD:
acceptable = false;
break;
case LLAssetType::AT_OBJECT:
// <edit>
/*if(my_avatar->isWearingAttachment(item->getUUID()))
/* <edit>
if (get_is_item_worn(item->getUUID()))
{
acceptable = false;
}*/
// </edit>
}
</edit> */
break;
case LLAssetType::AT_BODYPART:
case LLAssetType::AT_CLOTHING:
{
// <edit>
/*bool copyable = false;
if(item->getPermissions().allowCopyBy(gAgent.getID())) copyable = true;
if(item->getPermissions().allowCopyBy(gAgentID)) copyable = true;
if(!copyable && gAgentWearables.isWearingItem(item->getUUID()))
if (!copyable || get_is_item_worn(item->getUUID()))
{
acceptable = false;
}*/
// </edit>
}
break;
default:
break;
@@ -185,20 +180,16 @@ bool LLGiveInventory::isInventoryGroupGiveAcceptable(const LLInventoryItem* item
bool acceptable = true;
switch(item->getType())
{
case LLAssetType::AT_CALLINGCARD:
acceptable = false;
break;
// <edit>
/*case LLAssetType::AT_OBJECT:
case LLAssetType::AT_OBJECT:
/* <edit>
if(gAgentAvatarp->isWearingAttachment(item->getUUID()))
{
acceptable = false;
}*
break;*/
// </edit>
}
</edit> */
break;
default:
break;
}
@@ -245,11 +236,17 @@ void LLGiveInventory::doGiveInventoryCategory(const LLUUID& to_agent,
const LLUUID& im_session_id)
{
if (!cat) return;
if (!cat)
{
return;
}
llinfos << "LLGiveInventory::giveInventoryCategory() - "
<< cat->getUUID() << llendl;
if (!isAgentAvatarValid()) return;
if (!isAgentAvatarValid())
{
return;
}
// Test out how many items are being given.
LLViewerInventoryCategory::cat_array_t cats;
@@ -275,17 +272,17 @@ void LLGiveInventory::doGiveInventoryCategory(const LLUUID& to_agent,
LLNotificationsUtil::add("IncompleteInventory");
return;
}
count = items.count() + cats.count();
if(count > MAX_ITEMS)
{
count = items.count() + cats.count();
if(count > MAX_ITEMS)
{
LLNotificationsUtil::add("TooManyItems");
return;
}
else if(count == 0)
{
return;
}
else if(count == 0)
{
LLNotificationsUtil::add("NoItems");
return;
}
return;
}
else
{
if(0 == giveable.countNoCopy())
@@ -358,6 +355,7 @@ bool LLGiveInventory::handleCopyProtectedItem(const LLSD& notification, const LL
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
LLSD itmes = notification["payload"]["items"];
LLInventoryItem* item = NULL;
bool give_successful = true;
switch(option)
{
case 0: // "Yes"
@@ -376,15 +374,17 @@ bool LLGiveInventory::handleCopyProtectedItem(const LLSD& notification, const LL
else
{
LLNotificationsUtil::add("CannotGiveItem");
give_successful = false;
}
}
break;
default: // no, cancel, whatever, who cares, not yes.
LLNotificationsUtil::add("TransactionCancelled");
give_successful = false;
break;
}
return false;
return give_successful;
}
// static
@@ -419,6 +419,7 @@ void LLGiveInventory::commitGiveInventoryItem(const LLUUID& to_agent,
bucket,
BUCKET_SIZE);
gAgent.sendReliableMessage();
// <edit>
if (gSavedSettings.getBOOL("BroadcastViewerEffects"))
{
@@ -486,7 +487,10 @@ void LLGiveInventory::commitGiveInventoryCategory(const LLUUID& to_agent,
const LLUUID& im_session_id)
{
if(!cat) return;
if(!cat)
{
return;
}
llinfos << "LLGiveInventory::commitGiveInventoryCategory() - "
<< cat->getUUID() << llendl;
@@ -565,6 +569,7 @@ if(!cat) return;
bucket_size);
gAgent.sendReliableMessage();
delete[] bucket;
// <edit>
if (gSavedSettings.getBOOL("BroadcastViewerEffects"))
{
@@ -585,4 +590,5 @@ if(!cat) return;
logInventoryOffer(to_agent, im_session_id);
}
}
// EOF

View File

@@ -101,7 +101,6 @@ void LLMediaFilter::filterAudioUrl(const std::string& url)
{
if (url.empty())
{
gAudiop->startInternetStream(url);
return;
}
if (url == mCurrentAudioURL) return;

View File

@@ -473,7 +473,7 @@ BOOL LLPanelAvatarSecondLife::postBuild(void)
getChild<LLUICtrl>("Find on Map")->setCommitCallback(boost::bind(LLAvatarActions::showOnMap, boost::bind(&LLPanelAvatar::getAvatarID, pa)));
getChild<LLUICtrl>("Instant Message...")->setCommitCallback(boost::bind(LLAvatarActions::startIM, boost::bind(&LLPanelAvatar::getAvatarID, pa)));
getChild<LLUICtrl>("GroupInvite_Button")->setCommitCallback(boost::bind(LLAvatarActions::inviteToGroup, boost::bind(&LLPanelAvatar::getAvatarID, pa)));
getChild<LLUICtrl>("GroupInvite_Button")->setCommitCallback(boost::bind(static_cast<void(*)(const LLUUID&)>(LLAvatarActions::inviteToGroup), boost::bind(&LLPanelAvatar::getAvatarID, pa)));
getChild<LLUICtrl>("Add Friend...")->setCommitCallback(boost::bind(LLAvatarActions::requestFriendshipDialog, boost::bind(&LLPanelAvatar::getAvatarID, pa)));
getChild<LLUICtrl>("Pay...")->setCommitCallback(boost::bind(LLAvatarActions::pay, boost::bind(&LLPanelAvatar::getAvatarID, pa)));

View File

@@ -243,12 +243,11 @@ void audio_update_wind(bool fade)
volume_delta = (LLFrameTimer::getFrameDeltaTimeF32() / WIND_SOUND_TRANSITION_TIME) * max_wind_volume;
}
static LLCachedControl<bool> MuteWind("MuteWind");
static LLCachedControl<bool> ContinueFlying("LiruContinueFlyingOnUnsit");
static LLCachedControl<bool> MuteWind(gSavedSettings, "MuteWind", false);
static LLCachedControl<bool> ContinueFlying(gSavedSettings, "LiruContinueFlyingOnUnsit", false);
// mute wind entirely when the user asked or when the user is seated, but flying
if (MuteWind || (ContinueFlying && gAgentAvatarp&& gAgentAvatarp->isSitting()))
if (MuteWind || (ContinueFlying && gAgentAvatarp && gAgentAvatarp->isSitting()))
{
// volume decreases by itself
gAudiop->mMaxWindGain = 0.f;
}
// mute wind when not /*flying*/ in air

View File

@@ -3981,17 +3981,7 @@ class LLWorldEnableFly : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
BOOL sitting = FALSE;
static LLCachedControl<bool> continue_flying_on_unsit("LiruContinueFlyingOnUnsit");
if (continue_flying_on_unsit)
{
sitting = false;
}
else if (gAgentAvatarp)
{
sitting = gAgentAvatarp->isSitting();
}
gMenuHolder->findControl(userdata["control"].asString())->setValue(!sitting);
gMenuHolder->findControl(userdata["control"].asString())->setValue(gAgent.enableFlying());
return true;
}
};
@@ -9062,7 +9052,7 @@ class ListInviteToGroup : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
LLAvatarActions::inviteToGroup(get_focused_list_id_selected());
LLAvatarActions::inviteToGroup(get_focused_list_ids_selected());
return true;
}
};

View File

@@ -2464,8 +2464,8 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
LLGiveInventory::doGiveInventoryItem(from_id, item, computed_session_id);
if (show_autoresponded)
{
gIMMgr->addMessage(computed_session_id, from_id, name,
llformat("%s %s \"%s\"", pns_name.c_str(), LLTrans::getString("IM_autoresponse_sent_item").c_str(), item->getName().c_str()));
gIMMgr->addMessage(computed_session_id, from_id, name,
llformat("%s %s \"%s\"", pns_name.c_str(), LLTrans::getString("IM_autoresponse_sent_item").c_str(), item->getName().c_str()));
}
}
}
@@ -2636,7 +2636,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
if (show_autoresponded)
{
gIMMgr->addMessage(computed_session_id, from_id, name,
llformat("%s %s \"%s\"", pns_name.c_str(), LLTrans::getString("IM_autoresponse_sent_item").c_str(), item->getName().c_str()));
llformat("%s %s \"%s\"", pns_name.c_str(), LLTrans::getString("IM_autoresponse_sent_item").c_str(), item->getName().c_str()));
}
}
}

View File

@@ -42,7 +42,7 @@
</menu_item_call>
<menu_item_call label="Invite To Group" name="Invite To Group">
<on_click function="List.InviteToGroup"/>
<on_visible function="List.EnableSingleSelected"/>
<on_visible function="List.EnableAnySelected"/>
</menu_item_call>
<menu_item_call label="Ban From Group" name="Ban From Group">
<on_click function="List.BanFromGroup"/>

View File

@@ -43,7 +43,7 @@
</menu_item_call>
<menu_item_call label="Invite To Group" name="Invite To Group">
<on_click function="List.InviteToGroup"/>
<on_visible function="List.EnableSingleSelected"/>
<on_visible function="List.EnableAnySelected"/>
</menu_item_call>
<menu_item_call label="Offer Teleport" name="Offer Teleport">
<on_click function="List.OfferTeleport"/>

View File

@@ -99,7 +99,7 @@
<check_box bottom_delta="-18" left="10" control_name="AlchemyLookAtLines" follows="top" label="Show a line from look at beacon to avatar" tool_tip="See a line connecting the camera focus point to the avatar. Useful to find where they are." name="lineslookat"/>
<check_box bottom_delta="-20" control_name="AnnounceBumps" follows="top" label="Announce in chat when people bump you" name="announce_bumps"/>
<check_box bottom_delta="-20" control_name="SGDetachBridge" follows="top" initial_value="false" label="Auto detach LSL Bridge" tool_tip="Automatically detach LSL Bridge of Phoenix or Firestorm viewer." name="detach_bridge"/>
<check_box bottom_delta="-20" follows="top" label="Render muted avatars" control_name="LiruLegacyDisplayMuteds"/>
<check_box bottom_delta="-20" follows="top" label="Render muted avatars" name="render_muted" control_name="LiruLegacyDisplayMuteds"/>
<check_box bottom_delta="-20" control_name="QuietSnapshotsToDisk" follows="top" initial_value="false" label="Quiet Snapshots to Disk" tool_tip="Doesn't make a camera sound nor alert everyone when you take a snapshot to your computer." name="quiet_snapshots_check"/>
<check_box bottom_delta="-20" control_name="RevokePermsOnStandUp" follows="top" initial_value="false" label="On standing up, revoke perms for the object your avatar was sitting on" tool_tip="Objects generally retain Take Control and Trigger Animation permissions until reset or given permission by another user. Enabling this will make sure you revoke these permissions immediately." name="revoke_perms_on_stand_up_check"/>
<check_box bottom_delta="-20" control_name="DisableClickSit" follows="top" initial_value="false" label="Disable click-to-sit on objects" tool_tip="Some griefer tools rely on forcing or tricking you to click on an object that will make you sit, giving the object automatic permissions to trigger animations amongst other things. This will disable llSitTarget - It does mean that you will need to select 'Sit' on poseballs and furniture." name="disable_click_sit_check"/>

View File

@@ -79,6 +79,7 @@
<check_box label="Montre une ligne de la cible du 'look at' à l'avatar et inversement" name="lineslookat"/>
<check_box label="Annonce dans le chat quand on vous bouscule" name="announce_bumps"/>
<check_box label="Détache automatiquement ce rodjudju de LSL Bridge" tool_tip="détache le LSL Bridge de Phoenix et/ou Firestorm viewer." name="detach_bridge"/>
<check_box label="Rendre visibles les avatars muted" name="render_muted"/>
<check_box label="Prendre discr&#xE8;tement un photo, sur votre disque dur" tool_tip="Permet de prendre une photo en mode &#x22;espionnage&#x22;, sans bruit d'appareil, ni mouvement de cam&#xE9;ra, ni gesture. (Uniquement vers le disque dur)." name="quiet_snapshots_check"/>
<check_box label="En vous levant, annule les permissions que l'objet a sur votre avatar" tool_tip="Evite que l'objet garde le contr&#xF4;le de votre avatar, comme par exemple les animations." name="revoke_perms_on_stand_up_check"/>
<check_box label="D&#xE9;sactive le &#x22;Click to sit&#x22; automatique" tool_tip="D&#xE9;sactive llSitTarget. Vous devrez s&#xE9;lectionner vous m&#xEA;me la fonction &#x22;sit&#x22; sur l'objet." name="disable_click_sit_check"/>