Better Wardrobe and Transmog

Better Wardrobe and Transmog

6M Downloads

cant save or make new save to outfits

Mrmayhem29 opened this issue ยท 6 comments

commented

cant see my saved or change my saved outfits ot make new ones

commented

Thanks for the info.

commented

same. the save button is locked and the drop down menu to change outfits is empty

commented

Same! I turned off all other addons just in case and the problem persisted. Thanks!

edit: I did notice that it does work most of my characters. The one that fails always is the one with the most amount of saved mogs.

commented

Experiencing the same issue on some of my characters. When I disable the addon I am able to see my previously saved mogs. BugSack captured the following error:

4x BetterWardrobe/Modules/Wardrobe.lua:7261: bad argument #1 to 'ipairs' (table expected, got nil)
[string "=[C]"]: in function ipairs' [string "@BetterWardrobe/Modules/Wardrobe.lua"]:7261: in function LoadSet'
[string "@BetterWardrobe/Modules/BlizzardAPI.lua"]:93: in function LoadOutfit' [string "@BetterWardrobe/Modules/Wardrobe.lua"]:624: in function LoadOutfit'
[string "@BetterWardrobe/Modules/SavedOutfits.lua"]:191: in function SelectOutfit' [string "@BetterWardrobe/Modules/SavedOutfits.lua"]:185: in function <...rfaceBetterWardrobe/Modules/SavedOutfits.lua:181> [string "=[C]"]: in function Show'
[string "@Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua"]:493: in function SetUIPanel' [string "@Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua"]:336: in function ShowUIPanel'
[string "@Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua"]:174: in function <...ParentPanelManager/Mainline/UIParentPanelManager.lua:169>
[string "=[C]"]: in function SetAttribute' [string "@Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua"]:888: in function ShowUIPanel'
[string "@Blizzard_UIPanels_Game/Shared/PlayerInteractionFrameManager.lua"]:205: in function ShowFrame' [string "@Blizzard_UIPanels_Game/Shared/PlayerInteractionFrameManager.lua"]:240: in function <...Panels_Game/Shared/PlayerInteractionFrameManager.lua:237> [string "=[C]"]: in function CameraOrSelectOrMoveStop'
[string "CAMERAORSELECTORMOVE"]:4: in function <[string "CAMERAORSELECTORMOVE"]:1>

Locals:
(*temporary) = nil
(*temporary) = "table expected, got nil"

commented

I was having this issue. I'm not sure why, but it seems to have to do with the data in your saved file under OutfitDB. Specifically the lastTransmogOutfitIDSpec which "CAN" cause both issues people are seeing.

  1. It can sometimes not have an entry for your current spec which causes an error when it tries to access it.
  2. It can have an entry that isn't a valid setId which causes the ipairs error. Specifically the following call returns nil which isn't checked for:

local primaryAppearances = C_TransmogSets.GetSetPrimaryAppearances(setID);

And from what I can tell, the piece of code that updates these lists isn't even called right now. I ended up writing a piece of code to delete all the lastTransmogOutfidIDSpec's from my saved file which has solved the issue for me (though I have to hit the dropdown and select a set each time, it doesn't remember what I had selected last). I did this in code simply due to the fact that I have over 300 characters, and doing this by hand would have been a nightmare. You can technically search the save file for lastTransmogOutfitIDSpec and find the character you're having an issue with and delete it (at your own risk).

Here's an example of what I'm talking about in the save file.

["CharacterName - ServerName"] = {
["lastTransmogOutfitIDSpec"] = {
4,
4,
4,
},
},

This one is possibly ok.

A broken one for sure was this (as it's what started me looking at it). This one has several issues (empty entries, and the setID is stored as a STRING).

["Broken - Server"] = {
["lastTransmogOutfitIDSpec"] = {
[3] = "2",
},
},

Another broken one was a character that only had 1 saved set, but the saved file looked like this. I believe it was trying to select a set that didn't exist at all (I believe 5000 would have been the proper setID).

["BrokenTwo - Server"] = {
["lastTransmogOutfitIDSpec"] = {
5002,
5002,
5002,
},
},

What I found was lots of oddities in my file. I found entries where it was '', entries where it was all 0's, etc. Lots of inconsistencies.

commented

@zaphon The next version will clear out any stored lastTransmogOutfitIDSpec values and not set them until I can rework things.