Thread Tools Display Modes
08-10-12, 04:36 AM   #1
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,740
Building a GUI config (for orb animations)

I'm currently on the way of entering the dungeon of ingame configs. A task I never undertook before.
Thus I'm probably going to need some help and ask some questions here.

I attached an image that shows the config layout I'm currently thinking of.



To bring in some light...why the config?
I want a config that allows ingame editing of orb settings. The orb is nothing else but a modified statusbar. It could be your health, power or whatever.

By default an orb consists of the following parts:
  • background texture
  • filling texture
  • animation frame (model or galaxy)
  • highlight texture

Background and highlight texture should not be changed via ingame config.

That leaves filling texture and animation frame on the table.

The filling texture is the texture that get's cropped via SetTexCoord on value change. Example: If the orb is my health orb and I have 50% hp then the orb filling texture will be cut in half.

The animation frame sits on top of the filling.

Currently there are 3 different types of animations:
  • None
  • Fluid (Animation models called via SetDisplayId(id))
  • Galaxy (Textures set to blend on endless loop rotating via AnimationGroup)

Currently all the values can be changed. But only via hardcoding in the config file. What I want to add is a templating engine.

Since my GUI experience is near zero I'm currently unsure if all my ideas can be brought to life.

So here is my current concept:

A player can have numerous orb objects. The config will be called for one of those objects so there is a reference to the orb that is using the config values later.

There will be a number of preset templates. Basically just a bunch of preset settings. If a player changes the template it will update the current config values with data from the used template.
I'm currently planning on using EasyMenu for the template display. I tried that aready and it was pretty straight forward. Once you click the load template button the menu will pop up.

New templates can be saved. The template config values will be saved in the SavedVariables per Account.

Once any config value is changed there will be an update of the SavedVariable per character. Thus the current orb config data is always saved per character. On value change 3 things will update:
  • SavedVariables per character
  • The temporary orb in the config
  • The orb that is actually using the config data

That's basically the concept I'm having right now....

Is there any light framework that could help me building the GUI?
If you got anything to add please share your thoughts.
Attached Thumbnails
Click image for larger version

Name:	orb_config.gif
Views:	435
Size:	29.9 KB
ID:	7052  
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 08-19-12 at 03:56 AM.
  Reply With Quote
08-10-12, 11:40 AM   #2
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,740
To get things done I decided to create myself a test unitframe addon. I called it Pulsar.

http://code.google.com/p/rothui/sour.../wow5.0/Pulsar
http://code.google.com/p/rothui/sour...0/PulsarConfig

It spawns a single player frame and has an optional config.

I decided to post all my process here. Not sure if anyone is interested in reading though.
But maybe it can help out others later.

Todo list:
  • Add default values
  • Build config GUI
  • Write/Read data to/from SavedVariables (DB)
  • ...(everything I forgot)

Log:
http://code.google.com/p/rothui/source/detail?r=912
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 08-18-12 at 12:49 PM.
  Reply With Quote
08-10-12, 09:47 PM   #3
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
I'm not at home so I don't really have time to read through the technical stuff right now, but please don't make your config look like that... The layout is fine, but please use the standard WoW colors/graphics. I've used a few addons that use their own light colored, un-WoW-like graphics, and it's very ugly and distracting.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
08-11-12, 02:31 AM   #4
Qupe
A Warpwood Thunder Caller
 
Qupe's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 92
Originally Posted by Phanx View Post
I'm not at home so I don't really have time to read through the technical stuff right now, but please don't make your config look like that... The layout is fine, but please use the standard WoW colors/graphics. I've used a few addons that use their own light colored, un-WoW-like graphics, and it's very ugly and distracting.
Vuhdo is a really good example of this.
__________________
Quse UI
WoW :: EQ2
  Reply With Quote
08-11-12, 03:12 AM   #5
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,740
@Phanx
I get that. The concept layout is just that. I just needed sth to test out the ui elment placement. (The frame is using the size of the EncounterJournal)
I'm currently planning on using the default Blizzard Templates. I already collected some data on that.
What I have not decided is which template to pick for frames, buttons, etc.

Before I forget it. I'm going to use the InterfaceOptionsPanel aswell. That is because I do not want only one animation config per orb.

Example if the orb is your PowerOrb. As a Druid you can have many power types (+ vehicle options).
Thus not only the orb id itself is important but the state that it should be configured for.

Thus on power type change the animation will switch. Obviously there should be an option that disables switching. So a default state that is used when switching is disabled is needed aswell.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 08-11-12 at 03:23 AM.
  Reply With Quote
08-17-12, 01:58 PM   #6
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,740
Status update.

I had little time to work on this lately but I plan on doing so this weekend.

This is how far I am:


Log:
http://code.google.com/p/rothui/source/detail?r=913
http://code.google.com/p/rothui/source/detail?r=914
http://code.google.com/p/rothui/source/detail?r=915
http://code.google.com/p/rothui/source/detail?r=916

Config is loaded on demand. That can be either by surfing to the interface settings or by using the "/pulsar" slash command.

The basic for data handling concept is finished now.

There is a bunch of default settings. It will be loaded into the database when no database exists.
Changes to objects are made via local functions bound to the object that gets changed. Changes are saved to the database OnValueChange.

Log:
http://code.google.com/p/rothui/source/detail?r=917
http://code.google.com/p/rothui/source/detail?r=918
http://code.google.com/p/rothui/source/detail?r=919

What I'm currently doing is writing myself some config element widgets to make use of. I need a Slider with a connected editbox and an optional reset button. Plus I need checkboxes and such...
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 08-18-12 at 12:49 PM.
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » Need help building orb GUI config


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