Worn items tab, thanks Satomi Ahn
parent
0417d1de5b
commit
023d72ccc0
|
|
@ -2,4 +2,7 @@ Please keep this updated with major user-facing features we add to firestorm bey
|
|||
|
||||
FEATURE LICENSE
|
||||
|
||||
DePatronizedMenus LGPL
|
||||
RLVa LGPL
|
||||
WornItems LGPL
|
||||
VerticalTabIms LGPL
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
const S32 LL_VERSION_MAJOR = 2;
|
||||
const S32 LL_VERSION_MINOR = 4;
|
||||
const S32 LL_VERSION_PATCH = 0;
|
||||
const S32 LL_VERSION_BUILD = 13838;
|
||||
const S32 LL_VERSION_BUILD = 13841;
|
||||
|
||||
const char * const LL_CHANNEL = "Firestorm-private-Romana.local";
|
||||
|
||||
|
|
|
|||
|
|
@ -5414,5 +5414,66 @@ LLInvFVBridge* LLRecentInventoryBridgeBuilder::createBridge(
|
|||
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* Worn Inventory Panel related classes */
|
||||
/************************************************************************/
|
||||
void LLWornItemsFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
||||
{
|
||||
LLFolderBridge::buildContextMenu(menu, flags);
|
||||
|
||||
menuentry_vec_t disabled_items, items = getMenuItems();
|
||||
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Body Parts")), items.end());
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Clothes")), items.end());
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Note")), items.end());
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Gesture")), items.end());
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Script")), items.end());
|
||||
items.erase(std::remove(items.begin(), items.end(), std::string("New Folder")), items.end());
|
||||
|
||||
hide_context_entries(menu, items, disabled_items);
|
||||
}
|
||||
|
||||
LLInvFVBridge* LLWornInventoryBridgeBuilder::createBridge(
|
||||
LLAssetType::EType asset_type,
|
||||
LLAssetType::EType actual_asset_type,
|
||||
LLInventoryType::EType inv_type,
|
||||
LLInventoryPanel* inventory,
|
||||
LLFolderView* root,
|
||||
const LLUUID& uuid,
|
||||
U32 flags /*= 0x00*/ ) const
|
||||
{
|
||||
LLInvFVBridge* new_listener = NULL;
|
||||
switch(asset_type)
|
||||
{
|
||||
case LLAssetType::AT_CATEGORY:
|
||||
if (actual_asset_type == LLAssetType::AT_LINK_FOLDER)
|
||||
{
|
||||
// *TODO: Create a link folder handler instead if it is necessary
|
||||
new_listener = LLInventoryFVBridgeBuilder::createBridge(
|
||||
asset_type,
|
||||
actual_asset_type,
|
||||
inv_type,
|
||||
inventory,
|
||||
root,
|
||||
uuid,
|
||||
flags);
|
||||
break;
|
||||
}
|
||||
new_listener = new LLWornItemsFolderBridge(inv_type, inventory, root, uuid);
|
||||
break;
|
||||
default:
|
||||
new_listener = LLInventoryFVBridgeBuilder::createBridge(
|
||||
asset_type,
|
||||
actual_asset_type,
|
||||
inv_type,
|
||||
inventory,
|
||||
root,
|
||||
uuid,
|
||||
flags);
|
||||
}
|
||||
return new_listener;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// EOF
|
||||
|
|
|
|||
|
|
@ -589,6 +589,42 @@ public:
|
|||
U32 flags = 0x00) const;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Worn Inventory Panel related classes
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Overridden version of the Inventory-Folder-View-Bridge for Folders
|
||||
class LLWornItemsFolderBridge : public LLFolderBridge
|
||||
{
|
||||
public:
|
||||
// Creates context menu for Folders related to Worn Inventory Panel.
|
||||
// Uses base logic and than removes from visible items "New..." menu items.
|
||||
LLWornItemsFolderBridge(LLInventoryType::EType type,
|
||||
LLInventoryPanel* inventory,
|
||||
LLFolderView* root,
|
||||
const LLUUID& uuid) :
|
||||
LLFolderBridge(inventory, root, uuid)
|
||||
{
|
||||
mInvType = type;
|
||||
}
|
||||
/*virtual*/ void buildContextMenu(LLMenuGL& menu, U32 flags);
|
||||
};
|
||||
|
||||
// Bridge builder to create Inventory-Folder-View-Bridge for Worn Inventory Panel
|
||||
class LLWornInventoryBridgeBuilder : public LLInventoryFVBridgeBuilder
|
||||
{
|
||||
public:
|
||||
// Overrides FolderBridge for Worn Inventory Panel.
|
||||
// It use base functionality for bridges other than FolderBridge.
|
||||
virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
|
||||
LLAssetType::EType actual_asset_type,
|
||||
LLInventoryType::EType inv_type,
|
||||
LLInventoryPanel* inventory,
|
||||
LLFolderView* root,
|
||||
const LLUUID& uuid,
|
||||
U32 flags = 0x00) const;
|
||||
};
|
||||
|
||||
void rez_attachment(LLViewerInventoryItem* item,
|
||||
LLViewerJointAttachment* attachment,
|
||||
bool replace = false);
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@
|
|||
#include "llviewercontrol.h"
|
||||
#include "llfolderview.h"
|
||||
#include "llinventorybridge.h"
|
||||
#include "llinventoryfunctions.h" // needed to query worn status
|
||||
#include "llappearancemgr.h" // needed to query whether we are in COF
|
||||
|
||||
// linden library includes
|
||||
#include "lltrans.h"
|
||||
|
|
@ -205,6 +207,18 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item) con
|
|||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// FILTERTYPE_WORN
|
||||
// Pass if this item is worn (hiding COF and Outfits folders)
|
||||
if (filterTypes & FILTERTYPE_WORN)
|
||||
{
|
||||
if (!object) return FALSE;
|
||||
LLUUID cat_id = object->getParentUUID();
|
||||
const LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id);
|
||||
return !LLAppearanceMgr::instance().getIsInCOF(object_id)
|
||||
&& (!cat || cat->getPreferredType() != LLFolderType::FT_OUTFIT)
|
||||
&& get_is_item_worn(object_id);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -563,6 +577,12 @@ void LLInventoryFilter::setShowFolderState(EFolderShow state)
|
|||
}
|
||||
}
|
||||
|
||||
void LLInventoryFilter::setFilterWorn(BOOL sl)
|
||||
{
|
||||
setModified();
|
||||
mFilterOps.mFilterTypes |= FILTERTYPE_WORN;
|
||||
}
|
||||
|
||||
void LLInventoryFilter::setSortOrder(U32 order)
|
||||
{
|
||||
if (mOrder != order)
|
||||
|
|
|
|||
|
|
@ -56,7 +56,8 @@ public:
|
|||
FILTERTYPE_CATEGORY = 0x1 << 1, // search by folder type
|
||||
FILTERTYPE_UUID = 0x1 << 2, // find the object with UUID and any links to it
|
||||
FILTERTYPE_DATE = 0x1 << 3, // search by date range
|
||||
FILTERTYPE_WEARABLE = 0x1 << 4 // search by wearable type
|
||||
FILTERTYPE_WEARABLE = 0x1 << 4, // search by wearable type
|
||||
FILTERTYPE_WORN = 0x1 << 5 // search by wearable type
|
||||
};
|
||||
|
||||
enum EFilterLink
|
||||
|
|
@ -103,6 +104,9 @@ public:
|
|||
void setFilterLinks(U64 filter_link);
|
||||
U64 getFilterLinks() const;
|
||||
|
||||
void setFilterWorn(BOOL sl);
|
||||
BOOL getFilterWorn() { return mFilterOps.mFilterTypes & FILTERTYPE_WORN; }
|
||||
|
||||
// +-------------------------------------------------------------------+
|
||||
// + Execution And Results
|
||||
// +-------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -263,6 +263,11 @@ void LLInventoryPanel::setShowFolderState(LLInventoryFilter::EFolderShow show)
|
|||
getFilter()->setShowFolderState(show);
|
||||
}
|
||||
|
||||
void LLInventoryPanel::setWorn(BOOL sl)
|
||||
{
|
||||
getFilter()->setFilterWorn(sl);
|
||||
}
|
||||
|
||||
LLInventoryFilter::EFolderShow LLInventoryPanel::getShowFolderState()
|
||||
{
|
||||
return getFilter()->getShowFolderState();
|
||||
|
|
@ -1016,3 +1021,28 @@ LLInventoryRecentItemsPanel::LLInventoryRecentItemsPanel( const Params& params)
|
|||
mInvFVBridgeBuilder = &RECENT_ITEMS_BUILDER;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* Worn Inventory Panel related class */
|
||||
/************************************************************************/
|
||||
class LLInventoryWornItemsPanel;
|
||||
static LLDefaultChildRegistry::Register<LLInventoryWornItemsPanel> t_worn_inventory_panel("worn_inventory_panel");
|
||||
|
||||
static const LLWornInventoryBridgeBuilder WORN_ITEMS_BUILDER;
|
||||
class LLInventoryWornItemsPanel : public LLInventoryPanel
|
||||
{
|
||||
public:
|
||||
struct Params : public LLInitParam::Block<Params, LLInventoryPanel::Params>
|
||||
{};
|
||||
|
||||
protected:
|
||||
LLInventoryWornItemsPanel (const Params&);
|
||||
friend class LLUICtrlFactory;
|
||||
};
|
||||
|
||||
LLInventoryWornItemsPanel::LLInventoryWornItemsPanel( const Params& params)
|
||||
: LLInventoryPanel(params)
|
||||
{
|
||||
// replace bridge builder to have necessary View bridges.
|
||||
mInvFVBridgeBuilder = &WORN_ITEMS_BUILDER;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ public:
|
|||
void setFilterLinks(U64 filter_links);
|
||||
|
||||
void setShowFolderState(LLInventoryFilter::EFolderShow show);
|
||||
void setWorn(BOOL sl);
|
||||
LLInventoryFilter::EFolderShow getShowFolderState();
|
||||
void setAllowMultiSelect(BOOL allow) { mFolderRoot->setAllowMultiSelect(allow); }
|
||||
// This method is called when something has changed about the inventory.
|
||||
|
|
|
|||
|
|
@ -161,6 +161,17 @@ BOOL LLPanelMainInventory::postBuild()
|
|||
recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2));
|
||||
}
|
||||
|
||||
LLInventoryPanel* worn_items_panel = getChild<LLInventoryPanel>("Worn Items");
|
||||
if (worn_items_panel)
|
||||
{
|
||||
worn_items_panel->setWorn(TRUE);
|
||||
worn_items_panel->setSortOrder(gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER));
|
||||
worn_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
|
||||
worn_items_panel->getFilter()->markDefault();
|
||||
worn_items_panel->openAllFolders();
|
||||
worn_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, worn_items_panel, _1, _2));
|
||||
}
|
||||
|
||||
// Now load the stored settings from disk, if available.
|
||||
std::ostringstream filterSaveName;
|
||||
filterSaveName << gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, FILTERS_FILENAME);
|
||||
|
|
@ -184,6 +195,16 @@ BOOL LLPanelMainInventory::postBuild()
|
|||
}
|
||||
}
|
||||
|
||||
if(worn_items_panel)
|
||||
{
|
||||
if(savedFilterState.has(worn_items_panel->getFilter()->getName()))
|
||||
{
|
||||
LLSD worn_items = savedFilterState.get(
|
||||
worn_items_panel->getFilter()->getName());
|
||||
worn_items_panel->getFilter()->fromLLSD(worn_items);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
mFilterEditor = getChild<LLFilterEditor>("inventory search editor");
|
||||
|
|
@ -233,6 +254,18 @@ LLPanelMainInventory::~LLPanelMainInventory( void )
|
|||
}
|
||||
}
|
||||
|
||||
LLInventoryPanel* worn_items_panel = getChild<LLInventoryPanel>("Worn Items");
|
||||
if (worn_items_panel)
|
||||
{
|
||||
LLInventoryFilter* filter = recent_items_panel->getFilter();
|
||||
if (filter)
|
||||
{
|
||||
LLSD filterState;
|
||||
filter->toLLSD(filterState);
|
||||
filterRoot[filter->getName()] = filterState;
|
||||
}
|
||||
}
|
||||
|
||||
std::ostringstream filterSaveName;
|
||||
filterSaveName << gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, FILTERS_FILENAME);
|
||||
llofstream filtersFile(filterSaveName.str());
|
||||
|
|
@ -492,8 +525,8 @@ void LLPanelMainInventory::onFilterSelected()
|
|||
return;
|
||||
}
|
||||
|
||||
BOOL recent_active = ("Recent Items" == mActivePanel->getName());
|
||||
getChildView("add_btn_panel")->setVisible( !recent_active);
|
||||
BOOL main_active = ("Recent Items" != mActivePanel->getName()) && ("Worn Items" != mActivePanel->getName());
|
||||
getChildView("add_btn_panel")->setVisible( main_active);
|
||||
|
||||
setFilterSubString(mFilterSubString);
|
||||
LLInventoryFilter* filter = mActivePanel->getFilter();
|
||||
|
|
@ -619,6 +652,7 @@ void LLPanelMainInventory::setSelectCallback(const LLFolderView::signal_t::slot_
|
|||
{
|
||||
getChild<LLInventoryPanel>("All Items")->setSelectCallback(cb);
|
||||
getChild<LLInventoryPanel>("Recent Items")->setSelectCallback(cb);
|
||||
getChild<LLInventoryPanel>("Worn Items")->setSelectCallback(cb);
|
||||
}
|
||||
|
||||
void LLPanelMainInventory::onSelectionChange(LLInventoryPanel *panel, const std::deque<LLFolderViewItem*>& items, BOOL user_action)
|
||||
|
|
|
|||
|
|
@ -115,10 +115,10 @@ Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number
|
|||
Firestorm is a community development project to improve the SecondLife(tm) Viewer2 experience. We package contributions from various community developers along with code from Linden Labs and ourselves to bring you a quality, feature-rich viewer experience backed up by a large volunteer support team. Firestorm is a part of The Phoenix Viewer Project, a non profit organization.
|
||||
|
||||
Contributors include:
|
||||
Kitty Barnett, Zwagoth, [Placeholder for other Phoenix and TPV devs]
|
||||
|
||||
Kitty Barnett, Zwagoth, Satomi Ahn, Arrehn Oberlander, Tonya Souther, Spirit Magic, [Placeholder for other Phoenix and TPV devs]
|
||||
|
||||
Firestorm would not be possible without the decision from Linden Labs to make their Second Life viewer source code available.
|
||||
|
||||
Second Life is brought to you by Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain, and many others.
|
||||
|
||||
Thank you to the following Residents for helping to ensure that this is the best version yet: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Aralara Rajal, Aura Dirval, Cayu Cluny, Eva Rau, FreeSL Aeon, Frontera Thor, Inma Rau, Lunita Savira, Minerva Memel, Polo Gufler, Xiki Luik, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan, and many others.
|
||||
|
|
|
|||
|
|
@ -101,6 +101,22 @@
|
|||
name="Recent Items"
|
||||
show_item_link_overlays="true"
|
||||
width="290" />
|
||||
<worn_inventory_panel
|
||||
bg_opaque_color="DkGray2"
|
||||
bg_alpha_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true"
|
||||
border="false"
|
||||
bevel_style="none"
|
||||
follows="all"
|
||||
height="338"
|
||||
label="WORN"
|
||||
help_topic="worn_inventory_tab"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="Worn Items"
|
||||
show_item_link_overlays="true"
|
||||
width="290" />
|
||||
</tab_container>
|
||||
<layout_stack
|
||||
animate="false"
|
||||
|
|
|
|||
Loading…
Reference in New Issue