From 218585a73bcd1f99b2afb7cfe5dbf10edbc8c51d Mon Sep 17 00:00:00 2001 From: nimetu Date: Fri, 28 Jan 2022 14:23:29 +0200 Subject: [PATCH] Hide q1 quality for non-equipable items --- .../client/src/interface_v3/dbctrl_sheet.cpp | 41 ++++++------------- ryzom/client/src/interface_v3/dbctrl_sheet.h | 1 - 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/ryzom/client/src/interface_v3/dbctrl_sheet.cpp index 408aee01e..79dc78941 100644 --- a/ryzom/client/src/interface_v3/dbctrl_sheet.cpp +++ b/ryzom/client/src/interface_v3/dbctrl_sheet.cpp @@ -309,7 +309,6 @@ CCtrlSheetInfo::CCtrlSheetInfo() _InterfaceColor= true; _SheetSelectionGroup = -1; _UseQuality = true; - _DisplayItemQuality = true; _UseQuantity = true; _DuplicateOnDrag = false; _ItemSlot= SLOTTYPE::UNDEFINED; @@ -1277,6 +1276,9 @@ void CDBCtrlSheet::setupItem () sint32 sheet = _SheetId.getSInt32(); + _DispQuality = -1; + _DispQuantity = -1; + // If this is the same sheet, need to resetup if (_LastSheetId != sheet || _NeedSetup) { @@ -1290,13 +1292,6 @@ void CDBCtrlSheet::setupItem () { _ItemSheet = (CItemSheet*)pES; - // Display the item quality? - _DisplayItemQuality= _UseQuality && - _ItemSheet->Family != ITEMFAMILY::COSMETIC && - _ItemSheet->Family != ITEMFAMILY::TELEPORT && - _ItemSheet->Family != ITEMFAMILY::SERVICE - ; - _DispSheetBmpId = rVR.getTextureIdFromName (_ItemSheet->getIconMain()); // if file not found or empty, replace by default icon if( _DispSheetBmpId == -1) @@ -1350,21 +1345,11 @@ void CDBCtrlSheet::setupItem () _DispQuantity = _Quantity.getSInt32(); } } - else - // do not display any number - _DispQuantity = -1; } - else _DispQuantity = -1; // Setup quality - if(_DisplayItemQuality) - { + if(_UseQuality) _DispQuality= _Quality.getSInt32(); - } - else - { - _DispQuality= -1; - } // special icon text if( _NeedSetup || _ItemSheet->getIconText() != _OptString ) @@ -1403,7 +1388,7 @@ void CDBCtrlSheet::setupItem () } // update quality. NB: if quality change, the must updateItemCharacRequirement - if(_DisplayItemQuality) + if(_UseQuality) { sint32 newQuality= _Quality.getSInt32(); if(newQuality!=_DispQuality) @@ -1412,10 +1397,6 @@ void CDBCtrlSheet::setupItem () updateItemCharacRequirement(_LastSheetId); } } - else - { - _DispQuality= -1; - } // update armour color (if USER_COLOR db change comes after SHEET change) if(_ArmourColorFromDB && _UserColor) @@ -1428,8 +1409,7 @@ void CDBCtrlSheet::setupItem () } } - // hide x1 on equipable items to show BuffIcons on bottom-left corner - if (_DispQuantity == 1) + if (_ItemSheet != NULL) { switch(_ItemSheet->Family) { @@ -1438,9 +1418,14 @@ void CDBCtrlSheet::setupItem () case ITEMFAMILY::RANGE_WEAPON: case ITEMFAMILY::SHIELD: case ITEMFAMILY::JEWELRY: - _DispQuantity = -1; + // hide 'x0' and 'x1' stack count for equipable items + if (_DispQuantity < 2) + _DispQuantity = -1; break; default: + // hide 'q0'and 'q1' quality for every other item + if (_DispQuality < 2) + _DispQuality = -1; break; } } @@ -1910,8 +1895,6 @@ void CDBCtrlSheet::setupOutpostBuilding() { COutpostBuildingSheet *pOBSheet = (COutpostBuildingSheet*)pES; - _DisplayItemQuality = false; - _DispSheetBmpId = rVR.getTextureIdFromName (pOBSheet->getIconMain()); // if file not found or empty, replace by default icon if( _DispSheetBmpId == -1) diff --git a/ryzom/client/src/interface_v3/dbctrl_sheet.h b/ryzom/client/src/interface_v3/dbctrl_sheet.h index 2ccbdf00a..40e943307 100644 --- a/ryzom/client/src/interface_v3/dbctrl_sheet.h +++ b/ryzom/client/src/interface_v3/dbctrl_sheet.h @@ -164,7 +164,6 @@ public: bool _UseQuantity : 1; // is the quantity read and displayed ? bool _ReadQuantityFromSheet : 1; // Read quantity from sheet rather than from database bool _UseQuality : 1; // is the quality read and displayed ? - bool _DisplayItemQuality : 1; // Do we have to display the quality for the item (false for Cosmetics and Teleport and if _UseQuality==fasle)? bool _DuplicateOnDrag : 1; // when dragged, the item is shown twice : one version at the mouse position. // and another in the source slot. Useful for items to buy that are in infinite quantity. bool _AutoGrayed : 1; // if true then gray the ctrlSheeet if: 1/ Items: Is the Item Locked. 2/ Bricks: is the brick Latent.