Thread Tools Display Modes
10-24-09, 03:01 PM   #1
Bornabe
A Flamescale Wyrmkin
 
Bornabe's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 133
How To Create a Mazzifier for your own UI Compilation?

I've always been curious of the innerds to creating a Mazzifier type setup for my UI Compilation, to make life easier on those wanting to use it, as well as to create layouts for various screen resolutions.

Does anyone know what it would take, the best way to get it started, etc?

I wanna create a Bornifier for my BornabeUI.... 'You've been Bornified.' , lol.

I sure do miss Mazzle. :-(
  Reply With Quote
10-24-09, 08:28 PM   #2
MidgetMage55
Grinch!
 
MidgetMage55's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,498
From the way i understand it Mazzle custom modified most if not all of the addons to work with the mazzifier. And considering how hard it was for a team of people to get it up and running the first time it died after Mazzle stopped development I'm going to venture to say its not an easy task.

One of the easiest tools available today for similar effect would be to make numerous profiles through the addon reflux. While not as snazzy (yeah that's right... snazzy=P) as the Mazzifier its a reasonably fast way for people to set up a compilation with a minimum of effort.

Another person you might want to talk to is Grimsin. From his recent Lua help posts it would appear he is undertaking a similar task. Perhaps he might even chime in on this to correct me if I'm wrong.
__________________

I think Hong Kong Phooey was a ninja AND a pirate. That was just too much awesome. - Yhor

Last edited by MidgetMage55 : 10-24-09 at 08:29 PM. Reason: elaboration
  Reply With Quote
10-24-09, 09:37 PM   #3
zero-kill
A Firelord
 
zero-kill's Avatar
Join Date: Aug 2009
Posts: 497
TukUI has a /configure command that sets everything up through a simple lua approach, this could be more robust, but it gets the job done.
  Reply With Quote
10-24-09, 10:57 PM   #4
Psychophan7
A Chromatic Dragonspawn
Join Date: Feb 2006
Posts: 153
Should be rather simple to do, actually. Just find out where all the saved variables are, what they're for, and then just modify those values. For example, if you're using pMinimap, then you can type this in-game to set the scale and border:
Code:
/run pMinimapDB.scale = 1;pMinimapDB.borderoffset = 1.5
See? Simple!*

* Method demonstrated may not apply to every addon. Check your saved variables before attempting this procedure.
  Reply With Quote
10-25-09, 12:10 AM   #5
Yhor
A Pyroguard Emberseer
 
Yhor's Avatar
Join Date: May 2007
Posts: 1,077
Originally Posted by Bornabe View Post
I've always been curious of the innerds to creating a Mazzifier type setup for my UI Compilation, to make life easier on those wanting to use it, as well as to create layouts for various screen resolutions.

Does anyone know what it would take, the best way to get it started, etc?

I wanna create a Bornifier for my BornabeUI.... 'You've been Bornified.' , lol.

I sure do miss Mazzle. :-(
Insert - "YOU are not PREPARED!"... hehe

All joking aside, the Mazzifier code was about as tedious as they come. He truly made a work of art out of XML and Lua. All of the actions you would normally perform in game to set up an addon were done via the Mazzlefier, for every addon that wasn't a custom addon made for/or modified for MazzleUI. If you were in a raid, it set up for raids, and depending on size of raid, set up and then re set up as it grew/shrank. If you're wanting 'all that Mazzlefier had to offer', I'd cheer you on, but advise against it at the same time. It is an author killer in the truest sense of the phrase.

Now, if you just want to have a 'program' (Mazzlefier) to do the initial setup, you might escape with your sanity, but be aware that it is likely going to be a major buzz kill by the time you're through.

For each addon, you'll have to completely configure using lua or xml and lua. You'll have to account for different resolutions, and apply the configuration of each addon to each supported resolution.... I think you get the idea.

iirc, the manner in which this was done in MazzleUI was to do the layouts in XML and to call the various layouts via lua. Start small and build on it, use the help forums when needed, and don't deny offers of help from your users, you might be in real need of that help later, on a patch day. I'd suggest looking at the old code for MazzleUI, but you probably don't want to... many reasons.

In any case, good luck. I hope you make it out with your sanity.
  Reply With Quote
10-25-09, 04:19 AM   #6
Bornabe
A Flamescale Wyrmkin
 
Bornabe's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 133
I was hoping there was an easier way with some sort of perhaps choose this Reflux Profile if this resolution. Luckily I do use one layotu / setup for every situation of playing, as Pitbull does it's own thing for the various raids, etc... and my bottom artwork is all uniform, so folks would be able to take the base layout and wrap graphics around it all they want.

I use Reflux already, and absolutely love it. So far it's been great! I was hoping though for an easier approach so folks don't have to do the whole copy / paste / rename thing with the WTF folders.

Maybe some sort of onLoad, checkResolution, Load this 'named' profile and then done. Maybe allowing me to pre-configure the various settings / layout for each resolution, and then it copy the correct WTF settings on into that character's WTF folder, reload the UI, then they can enjoy. I'm obviously not a contender for making this happen, but am hoping some of you LUA buffs out there may know an alternate solution.

Although having another Mazzifier would be super-calafragalisticaliscious...
  Reply With Quote
10-25-09, 05:20 PM   #7
Waverian
A Chromatic Dragonspawn
AddOn Author - Click to view addons
Join Date: Dec 2006
Posts: 188
All of the Reflux profile data is also stored in SavedVariables files. It's the only way for addons to save data. You cannot avoid copying WTF files unless you elect to write your own custom profiling addon entirely from scratch - which is exactly what Mazzle did.
  Reply With Quote
11-03-09, 07:43 AM   #8
Grimsin
A Molten Giant
 
Grimsin's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2006
Posts: 990
Duh duh duh! chiming in.

So yea the only way to do it is to write your own code. Reflux IMO is a waste of time it requires a lot of setup on the users end or lots of WTF copying. Now... as to how easy it is to take over other addons. Not easy at all.

This is how you would do it... this is pretty much how mazzle did it and this is how im working on it as well.

Look threw the addon you want to take over the setup for, find in it where it makes its saved variables and then where it calls them up on load up. Now... here comes the hard part. You need to make your directory start with an ! so that it loads first in the addon list. If your using buggraber or swatter you need to make sure your addon name letter after the ! starts with a letter after b if your using buggraber. S if you want to use swatter. Now... even more tedious IF your planing on taking over either of those addons although i found it unnecessary.

You will then need to write a code that takes over the commands from the addon you are wanting to setup. In other words if the line to call up the WTF for an addon is addonblahblah = load wtfsuchnsuch you will need to write some code that would run somewhat like this....

addonblahblah = load mywtf
if first load then load addonblahblah
if not then do somthing else.

addonblahblah = nothing/dummy

its of course a lot more complex then that but that gives you an idea. You basically want to cancel out what ever addon you are taking overs wtf creation and loading.

In all honesty the coding is not the hard part its deciphering each addons code that is a pain.
__________________
"Are we there yet?"

GrimUI
[SIGPIC][/SIGPIC]
  Reply With Quote
11-03-09, 10:16 AM   #9
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,860
iirc correctly, I thought that MazzleUI did everything after all addons were loaded (so you could select options from the screen in-game). Then you clicked the button and the UI reloaded.

Then it doesn't matter what the addons set their defaults as. You can then change their values in the saved variables (global vars) after loading, and then reload the UI for them to save and be used.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
11-03-09, 10:21 AM   #10
Bornabe
A Flamescale Wyrmkin
 
Bornabe's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 133
I've got Reflux Profiles setup, was hoping, but seeing it can't happen without those darn WTF folder copies, that we could have something that is say an AddOn... that lets the game load, waits xx seconds, then plugs in the Profiles / Settings you so choose from your Compilation / Settings into the proper WTF for the character logged on and then reloads UI, so the users don't have to do the whole copy / paste thing... Maybe just install your UI Compilation, which'll include that Addon that does the Settings / Profiling with Reflux (since Reflux is a godsend), but copies the settings you so choose that you would normally include in the WTF... with your UI... on over to the WTF... of the User, lol. Not knowing all the technical UI terms can really make my writings confusing as nuts... Not that nuts are confusing... *I'm sorry to all you suirrels out there for that bad-taste 'crack' at your nuts.*
  Reply With Quote
11-03-09, 11:05 AM   #11
Grimsin
A Molten Giant
 
Grimsin's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2006
Posts: 990
Seerah is correct to a point. If you explore the mazzle files youll notice that some of the addons were taken over from the beginning hence the need for the !!mazzlepreload directory or its called something like that anyhow. The main reason you have to do this is to insure that the wtf settings you want always take over. if the other addons load first some of them can prevent you from taking them over in the end. Or may allow you to for a moment but then overwrite stuff you did. Best bet is to just make your stuff load first take over and then always be in control. Although it partially depends on the addon in question as well.
__________________
"Are we there yet?"

GrimUI
[SIGPIC][/SIGPIC]
  Reply With Quote
11-03-09, 11:06 AM   #12
Grimsin
A Molten Giant
 
Grimsin's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2006
Posts: 990
In fact that is what makes this such a tedious issue. The fact that you have to go threw each addon and figure out how it works. They all work slightly different and thus means you have to make slightly dif code for each. Some of them work VERY differently and require extremely different and complex code.

Just a note, the mazzle in game options was very complex code, attempting to allow the user to alter all the addons from one window at load up is going to prove overwhelming. It is best to make a default setup and then code things so that changes made by the user later save per addon. So in other words just redirect addons default saved vars to ones you have coded into another file inside your addon. The resolution issue is best addressed this way.... the way im attempting to do it...

have two or three default setups coded then rather then trying to have the user select options have the addon do a getresolution on first install and and automatically setup for the end users highest resolution. based on the 2-3 default setups which of course are designed for the various resolutions.
__________________
"Are we there yet?"

GrimUI
[SIGPIC][/SIGPIC]

Last edited by Grimsin : 11-03-09 at 11:14 AM.
  Reply With Quote
11-04-09, 09:28 AM   #13
Grimsin
A Molten Giant
 
Grimsin's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2006
Posts: 990
Just another note, sorry they are not all in one i just got home after being out of town for a week and a half and got back to tons of chaos at home so. Anyhow...

More details on the taking over and setup of other addons. Part of the reason i say the best way is to use the default setups for different resolutions rather then allowing users to chose tons of options is that you can leave more addons at default settings and you dont have to write such a big variables and options file. The way resolutions work with the aspect ratio you only need to make a default for each aspect ratio. Not every resolution so you only need 3 default setups. You only need to take over addons which display all the time. For that mater even leave some of those out since a lot of them are end user preference anyhow. Only setup the primary's, things like fubar or broker displays, any sort of graphics if you do not have your own graphic core made. Setup the button bar addons to some degree, autobar if your using it. My setup uses DUF so it should have various resolution setups for sure.

This method will reduce some of extra work. Mazzle worked in part like this but with all the extra setup options and the option window it self to replicate it would take you for ever.

It does mean the end user is left to figure out how the addons, not in the core of your addon, work on their own but in doing this it A: makes people more familiar with how it works and in the end they know more about it on a whole B: it causes people to go to other authors addons sites and ultimately gives them more credit and notation for their work. C: the versatility is greater, the fewer addons you make special code for the more versatile your package will be. Less updating to!
__________________
"Are we there yet?"

GrimUI
[SIGPIC][/SIGPIC]
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » How To Create a Mazzifier for your own UI Compilation?

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off