For those of you following the HUD Request Topic, this should be no surprise to you that I've been working on a HUD in my spare time.
What it does is display your health/mana/energy and target's health/mana/energy in the center of the screen around your character.
Curves provided by Kallyan and inserted with some massive modifications to code/paneling. (Obsolete coding, new 2.6 coding works better.)
DND (Drag and Drop):
Initialization of add-on;
Customization through Drag and Drop; (Recolored and improved)
Drag and Drop (DND) allows each player to customize their own HUD by dragging and dropping the panels on screen, which makes each HUD personalized to the user.
To reset DND, click the DNDR button in ConfigWindow.
Additional customization provided through ConfigWindow.
DELETE ANY VERSION BEFORE v2.6 BEFORE DOWNLOADING. (To prevent errors and tons of useless files.)
Re-texture Files (just unzip into the Addons folder after installing the normal add-on);
Bars~~~~~~~~Suggested In-Game Sizes (OL/OR/IL/IR):
Curve maintenance calculation: Ysmall = Ylarge*(Xsmall/Xlarge)*1.10352
Outer Bars = Player
Inner Bars = Target
Circles = Level Display
Ovals = Name Display
Flag of War = Flag of War
Left = Your
Right = Target
Upper = Buffs
Lower = Debuffs
- Removed pet bars for the time being.
- Rewrote the entire add-on to be more efficient.
- Localizations for ENG/RUS/GER/FRA/BR/JPN/TR/ID available through client check and via ConfigWindow toggle.
- User customized heights/widths of bars via ConfigWindow.
- Math code manipulated and modified from SLA's old ToT add-on.
- A long time was spent on the annoying buff code that I wrote. That barely does what I wanted after it was finished writing. Stackable buff numbering displays only if the stacks can be taken away or added. Most of my time was spent making this work, which then broke one of my cool features which was making each buff fade over a long period of time so that it could be easily kept track of. If I cannot eventually repair this code, I will then just figure out placement of a text based time tracker.
- Arced HUD code involves placing a panel inside of a panel and then moving the first panel downward and resizing it while moving the second inside panel upward. This creates the illusion that the curve is decreasing downwards. Thanks to Kallyan for providing the curves.
- DND library provided by SLA, modified panel structuring to allow for easy movement.
- Options panel uses recolored/modified in game textures. Button functionality is something I figured out previously in CT_Total. Enemy/Friend health bar toggling calls on the specific health bar on demand and resizes it appropriately.
- ClassPlates call on extremely simple get class name then get texture for class name coding. Pictures for classes taken from game files and then were color modified. Health/Mana Plates use no math, simple get and set calls right now.
- Wound complexity calculations taken from uncompiled in game LUA.
- Buff ID detection took a while to figure out, it works by renaming a single button for each buff then passing a reaction.sender name check against the name of each buff's button to find out which buff it is in my display and then to pass the index ID attributed to that buff through an avatar.RemoveBuff() function. (Now that this is completed, there's nothing stopping myself or others from writing a complete Plate replacement for all player/party/raid/target/ToT plates on screen using my code.)
- Buff code repaired by using a GetFade() call and a bunch of other checks specifically pertaining to the event that was causing the problem. Simple experience bar added, functions just like the normal one, but moveable in the center of the screen. Pet plating is also added simply by checking if the player has a pet and if that pet is receiving or losing health/mana, target pet plating is not allowed and will not be appearing. DND reset button resets the DND table and then miraculously makes the add-on turn itself off and then on again. Tons of button code counteracted trimmed function code to allow for more toggles. This is now capable of being a full visual replacement to the normal player/target plates.
- Rewrote the entire add-on to create widgets on demand. Made the height and width of bars player specified. Add-on now uses ClipMasks instead of additionally defined and moved widgets to create a simple effect from a complex idea and allows users to extremely easily replace the textures without re-coding the add-on.