Caerdon Wardrobe

Caerdon Wardrobe

421k Downloads

Feature Request: Change Bind Info Placement/Appearance

nancikennedy opened this issue ยท 8 comments

commented

It would be of use if the Bind Info was changed in one of two ways, either to allow for a left/right option on the various anchor point options OR change the text to an icon-based system. Maybe the Negative icon for BoP and the Positive icon for BoE...or something like that.

New Tradeskill window problems: Top and center choices are somewhat obscured by the new design of the item icons

Bags & Bank problems:
All 3 placement options for the text make it highly prone to being obscured if there are any other indicators present. See the pics for reference. The other overlays are:
ilvl: AdiBags
upper left : Not shown in the pics. Green arrow overlay by Pawn indicating an upgrade.
upper right: Can I Mog It info, which is useful to compare with CW when something is wrongly reported
lower left: CW obviously, with the most problematic obscuring happening with the unlearned icon.

Bottom Position:
bottom position

Center Position:
Center position

Top Position:
top position

commented

I definitely want to improve this. It's on the list, but I'll keep this ticket open for tracking.

commented

Also, if Caerdon and Can I Mog It disagree on something, I'd really like to know. Can I Mog It has a bit of a negative performance impact, so my goal has always been that folks wouldn't need to use it, and I feel like Caerdon Wardrobe is either there at this point or really close. They keep a DB of known items on other toons that could come into play, but I used to see a difference here, and I haven't the last few times I've checked, so I'm looking for examples (screenshots w/ the tooltip for the item and the Enable Debug option in Caerdon Wardrobe turned on are most helpful)

commented

Ok. I will turn on the debug option and figure out what I've got doing what where, etc.

commented

FYI - still need to improve here but wanted to note that I've added direct Pawn support in v3.3.0. I'll likely have some conflicts with other addons where they show it and I do, too. I added an option to turn it on / off for bank & bags (still useful everywhere else, I think), so you'll want to either turn it off in Caerdon or in AdiBags / Pawn. If you provide more details on what you're using to show it, I can see if there's a way I can detect if I should show or not. I'll probably have to do this specifically for each bag addon that has specific Pawn support.

commented

Also, if Caerdon and Can I Mog It disagree on something, I'd really like to know. Can I Mog It has a bit of a negative performance impact, so my goal has always been that folks wouldn't need to use it, and I feel like Caerdon Wardrobe is either there at this point or really close. They keep a DB of known items on other toons that could come into play, but I used to see a difference here, and I haven't the last few times I've checked, so I'm looking for examples (screenshots w/ the tooltip for the item and the Enable Debug option in Caerdon Wardrobe turned on are most helpful)

Forgive the necro and the message irrelevant to this particular issue, but since you've been working on an addon for appearances a lot longer than I have, I'm curious about your view on this. Why not use tooltip scanning to determine if an item has a new appearance or not? The way I do it with my addon:

-- Scan the tooltip for the appearance text
function app.GetAppearanceInfo(itemLinkie, searchString)
	-- Grab the original value for this setting
	local cvar = C_CVar.GetCVarInfo("missingTransmogSourceInItemTooltips")
	
	-- Enable this CVar, because we need it
	C_CVar.SetCVar("missingTransmogSourceInItemTooltips", 1)

	-- Get our tooltip information
	local tooltip = C_TooltipInfo.GetHyperlink(itemLinkie)

	-- Return the CVar to its original setting
	C_CVar.SetCVar("missingTransmogSourceInItemTooltips", cvar)

	-- Read all the lines as plain text
	if tooltip["lines"] then
		for k, v in ipairs(tooltip["lines"]) do
			-- And if the transmog text line was found
			if v["leftText"] and v["leftText"]:find(searchString) then
				return true
			end
		end
	end

	-- Otherwise
	return false
end

-- With the searchString being Blizzard's localised text for new sources/appearances
app.GetAppearanceInfo(itemLink, TRANSMOGRIFY_TOOLTIP_APPEARANCE_UNKNOWN)	-- New appearance
app.GetAppearanceInfo(itemLink, TRANSMOGRIFY_TOOLTIP_ITEM_UNKNOWN_APPEARANCE_KNOWN)	-- New source
commented

@Sluimerstand It's a mix of historical needs, current needs, and design philosophy. From a historical perspective, prior to The War Within, you could already know an appearance, but you might only know it on an item that only a level 60 character could wear (for example). In this case, I wanted Caerdon Wardrobe to identify if you picked up a lower level item that would allow the appearance to be used for more toons, so I'd still show it as a needed appearance but Blizzard wouldn't. The level restrictions have significantly changed, and I think the only divider at this point is toons lower than level 10 and toons 10+ (and I'm not sure if there are any appearances where that distinction would matter).

A situation that should still impact things (unless this was also changed in The War Within, and I'm not aware) is that you may know an appearance on a leather item but that appearance is also shared on a cloth item. I can't remember if Blizzard would show the tooltip if I was on my cloth wearer, but it definitely didn't show it if I was on my leather wearer even though I technically still needed the appearance to allow my cloth wearer to also transmog it.

From a design philosophy, I view tooltip as a last resort. If there's something I need from the tooltip, there's usually a slew of other info I also need that isn't represented on the tooltip, so I end up exercising various APIs, anyway. I also know that Blizzard continues to expand out their API, and by positioning myself to leverage and use those, it's much easier for me to move on to new systems and functionality as it is exposed. Tooltips are also re-evaluated frequently resulting in unnecessary data refreshes or incomplete information. At times, the appearance / source info isn't immediately known because it hasn't been pulled down to your local client, so the first pass at the tooltip won't reflect the need for the item, but it will be quickly refreshed.

At the end of the day, your code works in the general cases but will miss the edge cases.

C_TooltipInfo also came along later and is much more effective way of scanning than previously provided. I started leaning on it more when I became aware of it, but APIs opened up that gave me an alternate approach. I do still have data that comes in via tooltip, and I use it as filler / sanity check at times, so it is valuable, but it's just a piece of the puzzle.

commented

The data being unavailable is something that will impact your code as well. If you have an item link, but the item data hasn't yet been cached, your code will return nothing. You need to call C_Item.RequestLoadItemDataByID or C_Item.RequestLoadItemData and listen for ITEM_DATA_LOAD_RESULT for your item, check whether it's successful, and then you'll have the info you need.

commented

I see, thanks for the detailed info! For my purposes this method is fine, then. I also have the convenience of knowing the item data is always loaded, but I've definitely ran into cases where I do need to cache the item first. Thanks for the tip!