summaryrefslogtreecommitdiff
path: root/indra/newview/llagentwearables.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llagentwearables.h')
-rw-r--r--indra/newview/llagentwearables.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h
index 667cb94552..9f8aadeae7 100644
--- a/indra/newview/llagentwearables.h
+++ b/indra/newview/llagentwearables.h
@@ -79,6 +79,8 @@ public:
// Note: False for shape, skin, eyes, and hair, unless you have MORE than 1.
bool canWearableBeRemoved(const LLWearable* wearable) const;
+
+ void animateAllWearableParams(F32 delta, BOOL upload_bake);
//--------------------------------------------------------------------
// Accessors
@@ -87,7 +89,7 @@ public:
const LLUUID getWearableItemID(EWearableType type, U32 index /*= 0*/) const;
const LLUUID getWearableAssetID(EWearableType type, U32 index /*= 0*/) const;
const LLWearable* getWearableFromItemID(const LLUUID& item_id) const;
- const LLWearable* getWearableFromAssetID(const LLUUID& asset_id) const;
+ LLWearable* getWearableFromAssetID(const LLUUID& asset_id);
LLInventoryItem* getWearableInventoryItem(EWearableType type, U32 index /*= 0*/);
// MULTI-WEARABLE: assuming one per type.
static BOOL selfHasWearable(EWearableType type);
@@ -105,6 +107,7 @@ private:
// Low-level data structure setter - public access is via setWearableItem, etc.
void setWearable(const EWearableType type, U32 index, LLWearable *wearable);
U32 pushWearable(const EWearableType type, LLWearable *wearable);
+ void wearableUpdated(LLWearable *wearable);
void popWearable(LLWearable *wearable);
void popWearable(const EWearableType type, U32 index);
@@ -167,9 +170,11 @@ public:
const LLDynamicArray<S32>& attachments_to_include,
BOOL rename_clothing);
- // Note: wearables_to_include should be a list of EWearableType types
- // attachments_to_include should be a list of attachment points
LLUUID makeNewOutfitLinks(const std::string& new_folder_name);
+
+ // Should only be called if we *know* we've never done so before, since users may
+ // not want the Library outfits to stay in their quick outfit selector and can delete them.
+ void populateMyOutfitsFolder(void);
private:
void makeNewOutfitDone(S32 type, U32 index);
@@ -188,10 +193,10 @@ public:
// Static UI hooks
//--------------------------------------------------------------------
public:
- // MULTI-WEARABLE: assuming one wearable per type. Need upstream changes.
- static void userRemoveWearable(void* userdata); // userdata is EWearableType
- static void userRemoveAllClothes(void* userdata); // userdata is NULL
-
+ static void userRemoveWearable(const EWearableType &type, const U32 &index);
+ static void userRemoveWearablesOfType(const EWearableType &type);
+ static void userRemoveAllClothes();
+
typedef std::vector<LLViewerObject*> llvo_vec_t;
static void userUpdateAttachments(LLInventoryModel::item_array_t& obj_item_array);
@@ -213,7 +218,6 @@ private:
static BOOL mInitialWearablesUpdateReceived;
BOOL mWearablesLoaded;
std::set<LLUUID> mItemsAwaitingWearableUpdate;
- LLPointer<LLVOAvatarSelf> mAvatarObject; // NULL until avatar object sent down from simulator
//--------------------------------------------------------------------------------
// Support classes
@@ -239,7 +243,8 @@ private:
CALL_UPDATE = 1,
CALL_RECOVERDONE = 2,
CALL_CREATESTANDARDDONE = 4,
- CALL_MAKENEWOUTFITDONE = 8
+ CALL_MAKENEWOUTFITDONE = 8,
+ CALL_WEARITEM = 16
};
// MULTI-WEARABLE: index is an EWearableType - more confusing usage.