SL-10401 - get agent attachment limit from SimulatorFeatures if available
parent
81dbd3663b
commit
099e58f75b
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -6307,7 +6307,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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -809,6 +809,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