Merged in lindenlab/viewer-bear
commit
b78b5da79a
|
|
@ -153,7 +153,6 @@ const U8 SIM_ACCESS_DOWN = 254;
|
|||
const U8 SIM_ACCESS_MAX = SIM_ACCESS_ADULT;
|
||||
|
||||
// attachment constants
|
||||
const S32 MAX_AGENT_ATTACHMENTS = 38;
|
||||
const U8 ATTACHMENT_ADD = 0x80;
|
||||
|
||||
// god levels
|
||||
|
|
|
|||
|
|
@ -1167,12 +1167,16 @@ bool LLAppViewer::init()
|
|||
// ForceAddressSize
|
||||
updater.args.add(stringize(gSavedSettings.getU32("ForceAddressSize")));
|
||||
|
||||
#if !LL_RELEASE_FOR_DOWNLOAD && !LL_SEND_CRASH_REPORTS
|
||||
// This is neither a release package, nor crash-reporting enabled test build
|
||||
// Note: pointless to launch on Windows - it shouldn't expect secondlife-bin.exe
|
||||
LL_WARNS("LLLeap") << "Launching without version checker" << LL_ENDL;
|
||||
#if LL_WINDOWS && !LL_RELEASE_FOR_DOWNLOAD && !LL_SEND_CRASH_REPORTS
|
||||
// This is neither a release package, nor crash-reporting enabled test build
|
||||
// try to run version updater, but don't bother if it fails (file might be missing)
|
||||
LLLeap *leap_p = LLLeap::create(updater, false);
|
||||
if (!leap_p)
|
||||
{
|
||||
LL_WARNS("LLLeap") << "Failed to run LLLeap" << LL_ENDL;
|
||||
}
|
||||
#else
|
||||
// Run the updater. An exception from launching the updater should bother us.
|
||||
// Run the updater. An exception from launching the updater should bother us.
|
||||
LLLeap::create(updater, true);
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
#include "llwearableitemslist.h"
|
||||
#include "llpaneloutfitedit.h"
|
||||
#include "lltrans.h"
|
||||
#include "llvoavatarself.h"
|
||||
|
||||
static LLPanelInjector<LLCOFWearables> t_cof_wearables("cof_wearables");
|
||||
|
||||
|
|
@ -330,7 +331,7 @@ void LLCOFWearables::setAttachmentsTitle()
|
|||
{
|
||||
if (mAttachmentsTab)
|
||||
{
|
||||
U32 free_slots = MAX_AGENT_ATTACHMENTS - mAttachments->size();
|
||||
U32 free_slots = gAgentAvatarp->getMaxAttachments() - mAttachments->size();
|
||||
|
||||
LLStringUtil::format_map_t args_attachments;
|
||||
args_attachments["[COUNT]"] = llformat ("%d", free_slots);
|
||||
|
|
|
|||
|
|
@ -6302,7 +6302,7 @@ bool confirm_attachment_rez(const LLSD& notification, const LLSD& response)
|
|||
if (!gAgentAvatarp->canAttachMoreObjects())
|
||||
{
|
||||
LLSD args;
|
||||
args["MAX_ATTACHMENTS"] = llformat("%d", MAX_AGENT_ATTACHMENTS);
|
||||
args["MAX_ATTACHMENTS"] = llformat("%d", gAgentAvatarp->getMaxAttachments());
|
||||
LLNotificationsUtil::add("MaxAttachmentsOnOutfit", args);
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
#include "llrecentpeople.h"
|
||||
#include "llviewercontrol.h" // for gSavedSettings
|
||||
#include "llviewermenu.h" // for gMenuHolder
|
||||
#include "llviewerregion.h"
|
||||
#include "llvoiceclient.h"
|
||||
#include "llworld.h"
|
||||
#include "llspeakers.h"
|
||||
|
|
@ -611,12 +612,23 @@ void LLPanelPeople::removePicker()
|
|||
|
||||
BOOL LLPanelPeople::postBuild()
|
||||
{
|
||||
S32 max_premium = PREMIUM_MAX_AGENT_GROUPS;
|
||||
if (gAgent.getRegion())
|
||||
{
|
||||
LLSD features;
|
||||
gAgent.getRegion()->getSimulatorFeatures(features);
|
||||
if (features.has("MaxAgentGroupsPremium"))
|
||||
{
|
||||
max_premium = features["MaxAgentGroupsPremium"].asInteger();
|
||||
}
|
||||
}
|
||||
|
||||
getChild<LLFilterEditor>("nearby_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));
|
||||
getChild<LLFilterEditor>("friends_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));
|
||||
getChild<LLFilterEditor>("groups_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));
|
||||
getChild<LLFilterEditor>("recent_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));
|
||||
|
||||
if(gMaxAgentGroups <= BASE_MAX_AGENT_GROUPS)
|
||||
if(gMaxAgentGroups < max_premium)
|
||||
{
|
||||
getChild<LLTextBox>("groupcount")->setText(getString("GroupCountWithInfo"));
|
||||
getChild<LLTextBox>("groupcount")->setURLClickedCallback(boost::bind(&LLPanelPeople::onGroupLimitInfo, this));
|
||||
|
|
@ -1082,8 +1094,25 @@ void LLPanelPeople::onFilterEdit(const std::string& search_string)
|
|||
void LLPanelPeople::onGroupLimitInfo()
|
||||
{
|
||||
LLSD args;
|
||||
args["MAX_BASIC"] = BASE_MAX_AGENT_GROUPS;
|
||||
args["MAX_PREMIUM"] = PREMIUM_MAX_AGENT_GROUPS;
|
||||
|
||||
S32 max_basic = BASE_MAX_AGENT_GROUPS;
|
||||
S32 max_premium = PREMIUM_MAX_AGENT_GROUPS;
|
||||
if (gAgent.getRegion())
|
||||
{
|
||||
LLSD features;
|
||||
gAgent.getRegion()->getSimulatorFeatures(features);
|
||||
if (features.has("MaxAgentGroupsBasic"))
|
||||
{
|
||||
max_basic = features["MaxAgentGroupsBasic"].asInteger();
|
||||
}
|
||||
if (features.has("MaxAgentGroupsPremium"))
|
||||
{
|
||||
max_premium = features["MaxAgentGroupsPremium"].asInteger();
|
||||
}
|
||||
}
|
||||
args["MAX_BASIC"] = max_basic;
|
||||
args["MAX_PREMIUM"] = max_premium;
|
||||
|
||||
LLNotificationsUtil::add("GroupLimitInfo", args);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7036,13 +7036,34 @@ U32 LLVOAvatar::getNumAttachments() const
|
|||
return num_attachments;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// getMaxAttachments()
|
||||
//-----------------------------------------------------------------------------
|
||||
S32 LLVOAvatar::getMaxAttachments() const
|
||||
{
|
||||
const S32 MAX_AGENT_ATTACHMENTS = 38;
|
||||
|
||||
S32 max_attach = MAX_AGENT_ATTACHMENTS;
|
||||
|
||||
if (gAgent.getRegion())
|
||||
{
|
||||
LLSD features;
|
||||
gAgent.getRegion()->getSimulatorFeatures(features);
|
||||
if (features.has("MaxAgentAttachments"))
|
||||
{
|
||||
max_attach = features["MaxAgentAttachments"].asInteger();
|
||||
}
|
||||
}
|
||||
return max_attach;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// canAttachMoreObjects()
|
||||
// Returns true if we can attach <n> more objects.
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLVOAvatar::canAttachMoreObjects(U32 n) const
|
||||
{
|
||||
return (getNumAttachments() + n) <= MAX_AGENT_ATTACHMENTS;
|
||||
return (getNumAttachments() + n) <= getMaxAttachments();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -7070,7 +7091,7 @@ S32 LLVOAvatar::getMaxAnimatedObjectAttachments() const
|
|||
S32 max_attach = 0;
|
||||
if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits"))
|
||||
{
|
||||
max_attach = MAX_AGENT_ATTACHMENTS;
|
||||
max_attach = getMaxAttachments();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -811,6 +811,7 @@ public:
|
|||
BOOL hasHUDAttachment() const;
|
||||
LLBBox getHUDBBox() const;
|
||||
void resetHUDAttachments();
|
||||
S32 getMaxAttachments() const;
|
||||
BOOL canAttachMoreObjects(U32 n=1) const;
|
||||
S32 getMaxAnimatedObjectAttachments() const;
|
||||
BOOL canAttachMoreAnimatedObjects(U32 n=1) const;
|
||||
|
|
|
|||
Loading…
Reference in New Issue