Fix crash when hovering over lock/unlock buttons in the accessories menu on the Merchant menu. Fix size of icons in merchant menus. Enable/Disable increase/decrease buttons on shermans's consumable crafting menu as appropriate. Labels in merchant window and inventory window properly update their item descriptions with flashing / changing colors as needed. Text rendering system no longer eats away at memory for text strings that are equivalent but have different HTML color codes. Release Build 8066.
merchantWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>{{226+inventoryDescriptionWidth/2-24,30},{48,48}},Item::BLANK,DO_NOTHING,"Item Name Label","Item Description Label",IconButtonAttr::NOT_SELECTABLE)END
->SetIconScale({2.f,2.f});
merchantWindow->ADD("Item Name Label",MenuLabel)(geom2d::rect<float>{{226,84},{inventoryDescriptionWidth-6,12}},"",0.75f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
merchantWindow->ADD("Item Name Label",MenuLabel)(geom2d::rect<float>{{226,84},{inventoryDescriptionWidth-6,12}},"",0.75f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!pge->garbageCollector.count(key)||pge->garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=std::string(sText.begin(),sText.end())){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)){//If the text key already exists, don't have to recreate the decal, just update the expire time.
if(!garbageCollector.count(key)||garbageCollector[key].originalStr!=sText){//If the text key already exists, don't have to recreate the decal, just update the expire time.