diff options
author | Neal Orman <nyx@lindenlab.com> | 2009-10-16 17:56:30 +0000 |
---|---|---|
committer | Neal Orman <nyx@lindenlab.com> | 2009-10-16 17:56:30 +0000 |
commit | d08b0b6ae8bcd452a3d707ac153107d0f1523df8 (patch) | |
tree | 3caac3468a18b105e5aa5eb53cd13ed416c1a48d /indra/newview/llagentwearables.h | |
parent | 087897b1f837872fc02822595e5dd47fabf3b7e8 (diff) |
merging in new wearable infrastructure to get a step closer to eventually supporting multiple wearables per type. Merge tested and compiles/working on linux and windows - no obvious regressions on appearance or appearance editor. Merge generated no conflicts due to being tested in fresh re-branch in avatar-pipeline/multiple-textures-12. Merge perfomed with following command:
svn merge -r 136489:136510 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/multiple-textures-12 .
Progress can be tracked in DEV-32551.
-Nyx
Diffstat (limited to 'indra/newview/llagentwearables.h')
-rw-r--r-- | indra/newview/llagentwearables.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h index 8b9d29342a..d147b0447b 100644 --- a/indra/newview/llagentwearables.h +++ b/indra/newview/llagentwearables.h @@ -45,6 +45,7 @@ class LLVOAvatarSelf; class LLWearable; class LLInitialWearablesFetch; class LLViewerObject; +class LLTexLayerTemplate; class LLAgentWearables { @@ -93,8 +94,9 @@ public: static BOOL selfHasWearable(EWearableType type); LLWearable* getWearable(const EWearableType type, U32 index /*= 0*/); const LLWearable* getWearable(const EWearableType type, U32 index /*= 0*/) const; - U32 getWearableCount(const EWearableType type) const; - + LLWearable* getTopWearable(const EWearableType type); + U32 getWearableCount(const EWearableType type) const; + U32 getWearableCount(const U32 tex_index) const; //-------------------------------------------------------------------- // Setters @@ -103,12 +105,16 @@ public: 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 popWearable(const EWearableType type, LLWearable *wearable); + void popWearable(const EWearableType type, U32 index); public: void setWearableItem(LLInventoryItem* new_item, LLWearable* wearable, bool do_append = false); void setWearableOutfit(const LLInventoryItem::item_array_t& items, const LLDynamicArray< LLWearable* >& wearables, BOOL remove); void setWearableName(const LLUUID& item_id, const std::string& new_name); void addLocalTextureObject(const EWearableType wearable_type, const LLVOAvatarDefines::ETextureIndex texture_type, U32 wearable_index); + U32 getWearableIndex(const EWearableType type, LLWearable *wearable); protected: void setWearableFinal(LLInventoryItem* new_item, LLWearable* new_wearable, bool do_append = false); static bool onSetWearableDialog(const LLSD& notification, const LLSD& response, LLWearable* wearable); @@ -252,6 +258,8 @@ private: LLPointer<LLRefCount> mCB; }; + static const U32 MAX_ATTACHMENTS_PER_TYPE = 4; + }; // LLAgentWearables extern LLAgentWearables gAgentWearables; |