THE BIGGIE.
Holy hell, this was an interesting one to implement. I wish I understood it better. Unfortunately I think this marks the end of trying to re-implement the Local Inventory for Temp and Local textures. It's just not feasible now that the entire inventory system has been whipped into a code shitstorm. Signed-off-by: Beeks <HgDelirium@gmail.com>
This commit is contained in:
@@ -185,6 +185,10 @@ public:
|
||||
BOOL include_trash,
|
||||
LLInventoryCollectFunctor& add);
|
||||
|
||||
// Get the inventoryID that this item points to, else just return item_id
|
||||
const LLUUID& getLinkedItemID(const LLUUID& object_id) const;
|
||||
|
||||
|
||||
// This method will return false if this inventory model is in an usabel state.
|
||||
// The inventory model usage is sensitive to the initial construction of the
|
||||
// model.
|
||||
@@ -415,7 +419,9 @@ public:
|
||||
// </edit>
|
||||
static bool loadFromFile(const std::string& filename,
|
||||
cat_array_t& categories,
|
||||
item_array_t& items);
|
||||
item_array_t& items,
|
||||
bool& is_cache_obsolete);
|
||||
|
||||
static bool saveToFile(const std::string& filename,
|
||||
const cat_array_t& categories,
|
||||
const item_array_t& items);
|
||||
@@ -439,6 +445,8 @@ protected:
|
||||
static void processFetchInventoryReply(LLMessageSystem* msg, void**);
|
||||
|
||||
bool messageUpdateCore(LLMessageSystem* msg, bool do_accounting);
|
||||
// Updates all linked items pointing to this id.
|
||||
void addChangedMaskForLinks(const LLUUID& object_id, U32 mask);
|
||||
|
||||
protected:
|
||||
cat_array_t* getUnlockedCatArray(const LLUUID& id);
|
||||
@@ -488,6 +496,9 @@ protected:
|
||||
// This flag is used to handle an invalid inventory state.
|
||||
bool mIsAgentInvUsable;
|
||||
|
||||
private:
|
||||
const static S32 sCurrentInvCacheVersion; // expected inventory cache version
|
||||
|
||||
public:
|
||||
// *NOTE: DEBUG functionality
|
||||
void dumpInventory();
|
||||
@@ -540,6 +551,23 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Class LLLinkedItemIDMatches
|
||||
//
|
||||
// This functor finds inventory items linked to the specific inventory id.
|
||||
// Assumes the inventory id is itself not a linked item.
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
class LLLinkedItemIDMatches : public LLInventoryCollectFunctor
|
||||
{
|
||||
public:
|
||||
LLLinkedItemIDMatches(const LLUUID& item_id) : mBaseItemID(item_id) {}
|
||||
virtual ~LLLinkedItemIDMatches() {}
|
||||
bool operator()(LLInventoryCategory* cat, LLInventoryItem* item);
|
||||
|
||||
protected:
|
||||
LLUUID mBaseItemID;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Class LLIsType
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user