There were some posts about font changing recently in the Bartender thread. Try posting there, since your question really has nothing to do with Masque, and will be seen by more relevant posters if it's in the Bartender thread.
I have a odd problem with Masque for some reason.
When I launch WoW in 64bit and DirectX 11 there are no problems what so ever.
But when I launch WoW in 32bit and DirectX 9, all my actionbar buttons and well, all my buttons in the game got a wierd thick black border :S
When using satrina buff frames the border is always white and if I try the only fix is changing the opacity of the masque skin, but that shows all the empty icon. If I try to turn off interactive buffs or w.e the name is it just turns back to white. Is there any fix / any good alternative to SBF?
Hi all. I'm writing an actionbar mod using Masque (v5.1.389). I've used the below lua to add my buttons to a Masque group. If I then select a skin in Masque it will skin my buttons (yay!). The bad news is that once I reload UI or log out then in most skins will not apply until I open masque and change the skin.
I've so far tried a number of skins and the only one which seems to stick after a reload are "dream" and "zoomed" which came with Masque. I have tried some of the skins which didn't work on Bartender and they seem to work. I tried creating buttons using LibActionButton and using that API to add my buttons to my Masque group and that doesn't work either.
Am I missing something? Am I meant to be calling some API to tell Masque to skin my buttons? I've tried msqGroup:ReSkin() and it does not help.
local msqGroup = nil;
if(Masque) then
msqGroup = Masque:Group(self:GetName(), config.name);
end
local buttons = {bar:GetChildren()};
for _,button in ipairs(buttons) do
if(msqGroup) then
msqGroup:AddButton(button);
end
self:ConfigureButton(button);
end
Without seeing your actual code, it's hard to say exactly what you're doing wrong, but:
1. You need to delay skinning your addon until after PLAYER_LOGIN. If you skin it before that, Masque's saved variables may not have loaded, so the user's saved skin choices are not yet known, so you get the default Blizzard skin.
2. Using bar:GetChildren() and wrapping it in a new table constructor is really inefficient. You should just store the buttons in a table as you create them, eg:
bar.buttons = {}
for i = 1, 12 do
local button = CreateFrame(...)
bar.buttons[i] = button
...
end
3. Semicolons at the end of lines are not neccessary or even useful in Lua. Unless you're using them because you're used to programming in a language that requires them, I'd strongly recommend omitting them to keep your code clean. Same goes for parentheses around conditions; you can just do "if Masque then" and "if msqGroup then" without them.
If #1 does not resolve your issue, you will need to post your entire, actual code.
Without seeing your actual code, it's hard to say exactly what you're doing wrong, but:
1. You need to delay skinning your addon until after PLAYER_LOGIN. If you skin it before that, Masque's saved variables may not have loaded, so the user's saved skin choices are not yet known, so you get the default Blizzard skin.
That was it. Excellent. I was running it in my Ace3 "OnInitialize". I suspect the reason that the built in skins were working is that Masque was loaded before my addon, but the 3rd party skins were not. Moved everything into the OnEnable(first) event handler and it works like a charm.
2. Using bar:GetChildren() and wrapping it in a new table constructor is really inefficient. You should just store the buttons in a table as you create them, eg: ...
I was wondering about that. Will keep it in mind if I need to do it a lot and it causes performance issues. Currently it's done once, to skin the bars with Masque. Hm... I wonder if I can just hook a function on the bar such that when a child is added if it's a button it gets added to the masque group. That'd save keeping track of another variable just for that.
3. Semicolons at the end of lines are not neccessary or even useful in Lua. Unless you're using them because you're used to programming in a language that requires them, I'd strongly recommend omitting them to keep your code clean. Same goes for parentheses around conditions; you can just do "if Masque then" and "if msqGroup then" without them.
I'm a Java programmer. They aren't useful for the computer's parser, but they're useful for my brain's parser :D I've already caught myself trying to use .. as a concatenator in Java!
That was it. Excellent. I was running it in my Ace3 "OnInitialize". I suspect the reason that the built in skins were working is that Masque was loaded before my addon, but the 3rd party skins were not. Moved everything into a PLAYER_LOGIN event handler and it works like a charm.
<snip>
The OnEnable method for the AddOn object is fired on PLAYER_LOGIN... :)
Hi, i have promlem with your addon.
I download file from curse.com, unzip all in wow addon folder, login and... nothing.
Addon checkbox checked in character select screen!
No errors, no changes, default blizz buttons. Entering in addon settings and clicking on different buttons causing no effect.
How force addon to work?
http://www.wowace.com/addons/masque/files/471-r381/
You were never able to modify the fonts, only enable whatever font the skin specified.
A font add-on. (Hint Tekticles)
Not sure what the difference is here.
Yep, thanks. I inserted a line or two into bartender myself to handle it.
Could you (or someone else) please show me what lines I have to edit in Bartender in order to change the font size?
edit: wow... join date 2005 and this is my first post :)
There were some posts about font changing recently in the Bartender thread. Try posting there, since your question really has nothing to do with Masque, and will be seen by more relevant posters if it's in the Bartender thread.
When I launch WoW in 64bit and DirectX 11 there are no problems what so ever.
But when I launch WoW in 32bit and DirectX 9, all my actionbar buttons and well, all my buttons in the game got a wierd thick black border :S
Any ideas why?
I've so far tried a number of skins and the only one which seems to stick after a reload are "dream" and "zoomed" which came with Masque. I have tried some of the skins which didn't work on Bartender and they seem to work. I tried creating buttons using LibActionButton and using that API to add my buttons to my Masque group and that doesn't work either.
Am I missing something? Am I meant to be calling some API to tell Masque to skin my buttons? I've tried msqGroup:ReSkin() and it does not help.
1. You need to delay skinning your addon until after PLAYER_LOGIN. If you skin it before that, Masque's saved variables may not have loaded, so the user's saved skin choices are not yet known, so you get the default Blizzard skin.
2. Using bar:GetChildren() and wrapping it in a new table constructor is really inefficient. You should just store the buttons in a table as you create them, eg:
3. Semicolons at the end of lines are not neccessary or even useful in Lua. Unless you're using them because you're used to programming in a language that requires them, I'd strongly recommend omitting them to keep your code clean. Same goes for parentheses around conditions; you can just do "if Masque then" and "if msqGroup then" without them.
If #1 does not resolve your issue, you will need to post your entire, actual code.
That was it. Excellent. I was running it in my Ace3 "OnInitialize". I suspect the reason that the built in skins were working is that Masque was loaded before my addon, but the 3rd party skins were not. Moved everything into the OnEnable(first) event handler and it works like a charm.
I was wondering about that. Will keep it in mind if I need to do it a lot and it causes performance issues. Currently it's done once, to skin the bars with Masque. Hm... I wonder if I can just hook a function on the bar such that when a child is added if it's a button it gets added to the masque group. That'd save keeping track of another variable just for that.
I'm a Java programmer. They aren't useful for the computer's parser, but they're useful for my brain's parser :D I've already caught myself trying to use .. as a concatenator in Java!
The OnEnable method for the AddOn object is fired on PLAYER_LOGIN... :)
Doh... I was using OnInitialize. Your comment just made me realise that OnEnable is probably when the addon is meant to make bars anyhow. /facepalm.
The joys of being a n00b.
I download file from curse.com, unzip all in wow addon folder, login and... nothing.
Addon checkbox checked in character select screen!
No errors, no changes, default blizz buttons. Entering in addon settings and clicking on different buttons causing no effect.
How force addon to work?
No update needed, works fine