Download
(684Kb)
Download
Updated: 08-29-16 11:45 PM
Pictures
File Info
Updated:08-29-16 11:45 PM
Created:05-30-09 09:41 PM
Downloads:726,269
Favorites:1,719
MD5:

Tidy Plates  Popular! (More than 5000 hits)

Version: 6.18.2
by: danltiger [More]

Tidy Plates enhances World of Warcraft's floating health bars - commonly known as 'nameplates' - and provides a built-in API which can be used to create your own design. This download comes with several theme packages, but many alternatives are available.


Tidy Plates 6.5.3 Threat Modes on Youtube



Tidy Plates 6.1 Demonstration on Youtube

Warcraftic's Addon Spotlight: Tidy Plates

Bug Reporting
I'd love for you to use the Curseforge Ticket System for submitting bug reports. I realize that this isn't convenient for some people, so I won't get upset if you post reports to the comment section. If you include an error log in your comment, I will probably delete that posting (after copying the information) because they're usually very long and can fill up an entire page.

Configuration
To change your theme:
Use the command, '/tidyplates' as a shortcut to the interface panel for Tidy Plates. On that panel, you'll be able to select from a list of installed themes. The theme you choose will define both the appearance and features.

To configure a theme:
Each theme is responsible for its own configuration, which means that some themes have a GUI panel and some do not. The bundled themes (Quatre, Neon, Graphite & Grey) come with a configuration tool called, Tidy Plates Hub. Shortcuts: '/hubdamage' or '/hubtank'




I'm not going to bug you by popping up an ad whenever you hit "Download". If you enjoy this addon and want to send a monetary "Thank You", please visit our Pledgie page by clicking on the button, above.

---------------------------
6.18.Beta3
---------------------------
Class Colors should be working. On health bars, at least. I briefly tested them.
Nameplates are not (and can not be) generated for enemies who are not in pvp conditions. (This has been the case for years)

Cast bars.. Early next week, I hope.

Calm down, take a deep breath. It's Friday, July 22nd! It's time for beverages!

---------------------------
6.17.1
---------------------------
- Core: New value: unit.healthmaxCached, which is updated on target and mouseover.
(This uses the UnitHealthMax API function to store real health data.)
- Core: Where available, uses the healthmaxCached to create real numbers.
- Core: Figured out what the other statusbar is.. incoming heals. But you guys already knew that. Hiding that stuff, for now.
- Hub: If healthmaxCached doesn't exist, the real health value won't be shown. (Percent will still work)

6.17.0
---------------------------
- Partially updated the core to the new internal Blizzard nameplate layout.

6.15.3
---------------------------
* Combo Widget: Fixed monk and localization issues
* Blizzard theme; "Fixed" the graphic alignment?
* Aura Widget: Support for Infinite Duration (0=Expiration Time) auras, like "Storm, Earth, and Fire".
* Hub; Cast Bar: Changed the logic of Friendly Unit cast bars. Perhaps this will help Capacitor Totem visibility?

6.15.2
---------------------------
* Unit Cache:
- In LUA, When a table gets large, it will be slower to search. For some users, this cache may be quite large....
- New features will automatically remove old data, and speed up lookups....
- Added a second level Cache, which is looked at FIRST; not a saved variable (ie. erased on logout). This should reduce frequent lookups to the BIG table.
- Added a 'lastSeen' feature, where the function will timestamp when the unit was seen, and remove any unit entry (on login) not seen for 60 days.
* Combo Widget: Monks get to see their Chi displayed in the Combo widget


6.15.1
---------------------------
Fix for mouseover (and many other things)
* Fixed: Core: IsHighlighted... figured out that IsShown() now returns a bool, rather than 1/0. *sigh*

Fix for Friendly Class Colors
* Fixed: Hub;Functions;GetFriendlyClass: IsInInstance() now returns true or false, rather than nil or false. Updated the function to match WoW 6.0

* Removed 5.x Specific core code.


6.15.0
---------------------------
* TOC update to 60000
* WoD Update....
* Fixed Target selection issue; UnitExists() now returns true/false, rather than 1/0
* Fixed Mouseover issue; 6.0 no longer uses the Highlight region to indicate mouseover; Using Name text color change.
* Fixed Elite/Dragon Texture being reshown; Using :SetAlpha(0) rather than nilling the texture.

6.13.4
---------------------------
* Core: Raised the default Dropdown Menu strata to TOOLTIP

6.13.3
---------------------------
* Core: Added XML Template, TidyPlatesDropdownDrawerTemplate
* Core: Dropdown Menu Replacement (Trying to fix Blocked Action/Protected UI Taint issues in Panels and Hub)
* Core: Updated PanelHelpers.CreateDropdownFrame to use "TidyPlatesDropdownDrawerTemplate" and Dropdown Menu Replacement
* Core: Alpha transition animation has been restored. You can disable it in the /tidyplates panel.
* Themes: Fixed Neon and Quatre Headline font size (bumped them down a few pts)
* Widgets: UnitCache: Fixed Connected Realm Class Caching

6.13.2 (Cumulative)
---------------------------
* Core: Added: unit.isMini = boolean. This will eventually replace "unit.platetype" and "unit.isTrivial". Not anytime soon, though.

* Widgets: Fixed UnitCache to account for changes to the guild roster format
* Widgets: Re-Fixed Class Icon
* Widgets: Fixed the Class Icon widget. Finally. Added class-colored borders to each icon.

* Hub: Added a new checkbox to "Scale"; "Auto-Scale Mini Mobs", which will downscale those tiny guys, ironically making it easier to target.
* Hub: Added a new checkbox to "Unit Filter", "Override Target Scale", which will maintain the filtered scale of Targeted Mobs.
* Hub: "Use Blizzard font" should work properly again.
* Hub: Moved "Health Bar" to the top of the Hub page
* Hub: Merged "Style" into "Headline Mode"
* Hub: Raised "Buffs & Debuffs" upward in the Hub page
* Hub: "Health Bar" gets a couple new choices; Namely, separate coloring options for Friendly vs Enemy plates.
* Hub: Pruned the Color Mode lists
* Hub: Removed the "Warning Border Glow Mode" selector; Don't worry! There's still a Warning Glow, but it's turned on/off within the "Threat" category.
* Hub: Added an option to "Spell Casting", "Enable Friendly Castbars"

* Themes: More fixes for text issues.
* Themes: New Font: Started replacing "Accidental Presidency" with "Roboto Condensed" across the bundled themes.
* Themes: Update Grey and Graphite to the new font variable
* Themes: Reduced "Roboto Condensed" size to better match the old font

6.12.6
---------------------------
- Widgets: Combo Point: Anticipation "fix"
- Hub: Cached class colors in instances

6.12.5
---------------------------
- Widgets: Unit Cache: Stores non-local units with a " (*)" suffix.
- Hub: Class colors on cached units shoud work properly

6.12.4
---------------------------
- Core: New unit data: unit.rawName, strips the (*) from nameplate names.
- Core: The carrier frame is now globally labeled with a unique frame name.
- Hub: Healer Tracking: Now uses unit.rawName rather than unit.name
- Widgets: Aura Tracker: Now uses unit.rawName to associate on-screen PvP names
- Widgets: Unit Cache: Will now properly filter non-realm units (ex. coalesced or battlegroup)

6.12.2
---------------------------
- Revert fix for viewport mod interaction. Works for some, not for most. Continue using "Compatibility Mode" to fix Viewport.

6.12.1
---------------------------
- TOC Bump
- Core: OnShowCastbar will now check for unit health before proceeding, hopefully avoiding errors when the Castbar's OnShow handler is called early.
- * Fix for Viewport Mods (specifically, Sunn), particularly, when the actual vertical viewport is decreased.

* This should reduce or eliminate the need for Compatibility Mode.

6.12.0
---------------------------
- Core: Compatibility Mode: Restored alpha-override behavior
- Hub: Warning Glow: Fixed InCombatLockdown() reference

6.12.Beta4...
- I may have fixed some bugs. Or maybe that was a dream. Hard to recall whilst under Benadryl's spell.
- Ok, I definitely changed some things, and I'm not getting errors in game. That's a good sign.
- Made some changes to (hopefully) fix 1) debuff tracking oddities, and 2) lua error using health text.

6.12.Beta3...
- Added a workaround/fix to the broken Blizzard function, InterfaceOptionsFrame_OpenToCategory. Slash command shortcuts for /hub and /tidyplates will now work properly.
- Added a Compatibility Mode checkbox to the interface panel. This will fall back to older anchoring methods.
- Core: The OnShow handler will skip all data gather on that first cycle; The Alpha data is (still) unreliable, causing GUID association issues.

6.12.Beta2...
- Updated 6.12 with the changes made to the castbar during 6.11. (Since 6.12 inherits the 6.10 core, it didn't see the progression)
- Aura Widget: Fixed issue where aura is briefly shown, then hidden. Should be fixed.
- Added a copy of the reference to healthbar and castbar. for Threat Plates Compatibility.

6.12.Beta1...
- Reintegration of 6.10 Core, which includes reorganization and rebuilding of the main engine.

6.11.3
---------------------------
- Check unit.health on spell cast functions, to catch premature update calls.

6.11.2
---------------------------
- TOC update on TidyPlatesHub (problem caused when I reverted to 6.9.9 core)

6.11.1
---------------------------
- Core: Fixed a cast bar bug, where the sub-object references were not being updated. Addresses certain "attempt to perform arithmetic on field 'health' (a nil value)" errors


6.11
---------------------------
- Basically, I've given up trying to quickly patch up 6.10. I've reverted to 6.9.9, and made the changes necessary for it to work with WoW 5.3. If you want the Performance Mode stuff, grab the old version, or keep an eye out for it to be Re-Beta'd as 6.12.

These are the changes that I've migrated:
- Spell Casting Update, for WoW 5.3
- Core: Set initial fonts during Init/Hooking. Removes the possibility of :SetFont() errors.
- Combo Points: "Anticipation" fix for non-english regions


6.10.4
---------------------------
- Core: Fixed a major typo. Should fix SetStyle/Headline Mode and ClassIcon LUA errors at the very least. Might explain some of the other elusive bugs.


6.10.3
---------------------------
* Performance Mode:
By default this is NOT enabled, reverting to the older, slower, reliable method.
Using Performance Mode may break HHTD and other nameplate addons.
You may also experience 'hung' nameplates. Please report these, and try to be as
specific as possible in describing the condition of the game when it occured.

- Core: (Since 6.10.2) Performance Mode: This enables the performance improvements introduced in 6.10.
- Core: Reintegrated original Alpha locking
- Core: More reorganization, pruning of old, dead methods
- Core: Set initial fonts during Init/Hooking. Removes the possibility of :SetFont() errors. Not sure why I didn't do this years ago.
- Panel: Removal of latent "Show Minimap Icon" button code

6.10.2
---------------------------
- Panel: New Option: Performance Mode. This enables the performance improvements introduced in 6.10. By default this is NOT enabled, which uses the safer parenting method.
- Using "Performance Mode" may cause problems with other nameplate addons.


6.10.1
---------------------------
- Panel: Reverted the dropdown menu init changes from beta4. Seems to be messing up the panel.
- Core: Blizz Spell Shadow: More thoroughly hidden
- Hub: Threat/Warning Glow fix
- Core: Spelltext; "Font Not Set" error - Hopefully fixed

6.10.0
---------------------------
- Update to 5.3 TOC
- Core: *Parenting Tidy Plates Frame to UIParent & Reanchor back to base nameplate. Performance boost.
- Core: Refactoring, oh my
- Core: Removed the 'Spell Cast Watcher' component; 5.3 natively adds this function.
- Core: Added hooks to the on-nameplate spell cast bar
- Combo Points: "Anticipation" fix for non-english regions? someone needs to test this, cuz I'm in an english region.
- Healertrack: Strsplit fix (thought I fixed that several months ago.. hmmm...)

* The new anchoring method is still new, and weird bugs may surface. Post yer bugs!

6.9.9
---------------------------
- Hub: Added "Selective Optional Text"
- Deprecated: 'customart' Texture and theme functions. Please use the Widget system to create additional textures. (Removing unused textures provides a small performance improvement)
- Core: Reorganized the nameplate strata, removing an unnecessary anchor frame
- Core: Reorganized and relabeled some internal functions, adding a few extra comments
- Core & Aura Widget: Made some changes to reduce extraneous calls.
- Aura Widget: "Show Dispellable Auras" should work, now. Ran some BGs, and things seemed to work.
- Hub: Added a warning, notifying the user when they're not using a Hub-compatible theme.
- Hub: Added a divider line between Headings
- Aura Widget: The old method of applying the aura widget has been re-added; The new method (described somewhere below) is still preferred!

6.9.8....
- Hub: "By Threat" Color Modes will pass through enemy class colors, when available, and then use Reaction colors. (NPC-Pets will continue to use the "By Threat" colors)
- Hub: "By Threat" Warning Glow Mode now incorporates "By Enemy Healer", so it can be used for Pvp without changing config.
* These changes may evolve into more situationally reactive configs... we'll see!
- Widgets: HealerTrack: Should more reliably and quickly detect the spec of the enemy units.

6.9.7....
- Fixed Tank Aura Watcher issue

6.9.6....
- Performance improvement on Hidden mobs
- Aura Widget: Better association of Player characters, especially for friendly Buffs
- More extensive 'nil' strsplit error checking
- Hub: Added "Reaction" and "Spell Casting" color options
- Hub: Added reaction colors to 'By Threat' Functions
- Hub: The Widget creation and update functions will look for, and call: TidyPlatesGlobal_OnInitialize, TidyPlatesGlobal_OnContextUpdate, TidyPlatesGlobal_OnUpdate.
TidyPlatesGlobal_OnInitialize() is called when a nameplate is created or re-shown
TidyPlatesGlobal_OnContextUpdate() is called when a unit is targeted or moused-over. (Any time the unitid or GUID changes)
TidyPlatesGlobal_OnUpdate() is called when other data about the unit changes, or is requested by an external controller.
* These functions can be used to create and maintain non-theme widgets. Eventually, they may be implemented directly into the Core
* Widget authors should hook the existing function, if it's present (No Returns):
Ex. local OriginalFunction = TidyPlatesGlobal_OnInitialize
TidyPlatesGlobal_OnInitialize = function (extended)
if not extended.widgets.mywidget then extended.widgets.mywidget = CreateFrame("Frame", nil, extended) end
if OriginalFunction then OriginalFunction(extended) end

6.9.5
---------------------------
- Core: Reversion of scale and alpha handling to 6.9.Beta3 (Removal of transition effects)

6.9.4
---------------------------
I need coffee. Now.

6.9.3
---------------------------
- Tapped Mobs now apparently have the color: 0.53, 053, 0.53.... so I've updated the core to properly ID tapped mobs
- Mousing over a nameplate will temporarily bring that frame to FrameLevel 1, which should help targeting in crowds.
- A few other little things that I can't recall now. I need sleep!

6.9.2
---------------------------
- More bug fixing, which seems to be a blessing in-disguise, since it's yeilding some removal of redundancies, and (hopefully) incremental improvement in performance.
- Hub: Added a new Filter Item, "Filter Mini-Mobs". This'll allow you to scale and fade those pesky mobs with mini-nameplates. 70% works well for me.


6.9.1
---------------------------
- Fixed: Raid Icon Bug? (Changed some stuff around to even further reduce the chance of an out-of-order plate styling.)
- Increased default rate of Alpha/Scale Transitions. Can be changed via, TidyPlates:EnableFadeIn(FadeRate)
- Added some additional code to check for nil values in the Default Filter Function.
- Added Players to the "Filter" Hub Mode

Note: Threat Plates v6.008 is not completely compatible; If you're using Threat Plates, please use Tidy Plates v6.8.3


6.9.0
---------------------------
- Core: Added Scale Transitions. Disable via, TidyPlates:DisableFadeIn() or /tidyplates panel
- Core: Added full Alpha Transitions. Disable via, TidyPlates:DisableFadeIn() or /tidyplates panel
- Core: Added a Tidy Plates Panel checkbox to control the Scale/Alpha fade feature
- Core: New unit variable: unit.platetype = 1 or 2, where 1 = normal Blizzard nameplate, and 2 = mini nameplates (seen on 'drone' mobs, for example)
- Core: Added code to correct value '0' scale from delegate functions
- Core: The SetHealthbarColor delegate will now control the statusbar-backdrop color in addition to the healthbar color:
- 1. The SetHealthbarColor delegate gradient has been deprecated (It accepted two rgb sets - r1,g1,b1,r2,g2,b2 - which corresponded to the endpoints of a gradient)
- 2. SetHeatlhbarColor now accepts two rgba sets - r1, g1, b1, a1, r2, g2, b2, a2 - which define the healthbar color+alpha and the backdrop color+alpha, respectively.
- Core: Deprecated "SetStatusbarWidthMatching" flag
- Core: Deprecated "style.frame" - Blizz made some changes, rendering this option obsolete.
- Aura Widget: Added a check for destination name in the Aura Widget (Fixes "AuraWidget.lua:658" error)
- Aura Widget: Fixed Default Prefilter Errors
- Aura Widget: 'TidyPlatesWidgets.SetAuraPrefilter(function) replaces 'TidyPlatesWidgets.SetDebuffPrefilter'
- Aura Widget: 'TidyPlatesWidgets.SetAuraFilter(function)' replaces the previous method of assigning the Filter into each Widget instance via 'wiget.Filter'
- Aura Widget: Filter function now accepts these return values: [show, priority, r, g, b], where 'show' indicates that the aura should be displayed, 'priority' indicates
how important the debuff is to display, and 'r', 'g', and 'b' indicate the vertex color of the border highlight. This can be used to colorize auras for different
schools or types.
- Aura Widget: Square/Small Auras will now terminate/expire properly, and call for a delegate update.
- Hub/Aura Widget: Added "Track Dispellable Debuffs on Friendly Units", which will allow you to track and highlight debuffs on friendly units that need to be dispelled.
"Magic", "Poison", "Curse", or "Disease". Have I tested it? Hahahaha..he.. um, no.
- Hub/Aura Widget: Removed prefix, "No"; Useless in the current evolution of the Hub Filter system.
- Hub/Aura Widget: "CC" prefix will highlight the aura with a Yellow border
- Hub: Added Health/Optional Text Mode: By Arena ID. I have no clue if it works.
- Hub: Aura prefilter should work properly, instead of letting everything through
- Hub: Multi-Mode Functions will cross-check the table index, preventing out-of-range values from throwing errors.
- Hub: Removed/Replaced distinct "By Low Threat", "By High Threat", and similar Modes from Scale, Alpha, Name, and Color Spotlight functions. THESE HAVE BEEN REPLACED by
a single setting under the "Threat" Category, allowing you to control the Threat Mode for all Threat functions.
- Raid Tank/Target Watcher: Fixed Tanks.lua nil 'for' limit
- Raid Tank/Target Watcher: Fixed unitid/raidid issue.
- Raid Tank/Target Watcher: Added combat-log detection of melee attacks against non-tanks. (Untested)
- GroupCache: Fixed an issue where class color was not available for the last friendly raid member to join a team. (Note: The GROUP_ROSTER_UPDATE event is sometimes called
before all the player data is available, leaving holes in the data table)

6.8.2
---------------------------
- TAPPED mobs now are a unit.reaction member. No way to tell between tapped friendlies and tapped enemies (this does occasionally happen). I will make the Reaction colors configurable within the Hub UI in the near future.
- Added "Filtered Unit Scale" to the Hub:Filter category
- Removed test code, which was accidentally causing Mages to get Priest coloring and Icon
- Support for Phanx's "Class Colors" addon, http://www.wowinterface.com/downloads/info12513-ClassColors.html

6.8.1
---------------------------
- "Tapped" units (colored light purple by the Blizz nameplate system) will now register as "Hostile NPCs" in Tidy Plates. This is partially inaccurate, since the tapped mobs could be neutral (like target dummies), but there is no way to discriminate this from the plate.
- Fixed several tainted global variables
- Added custom Monk and Priest color lookups for class recognition. (RAID_CLASS_COLORS is not completely accurate)
- Changed the way the class colors are stored, hopefully fixing some other class ID problems
- Disable Tanks module by default. Add option button to hub.
- Hopefully Fixed Off-Tank coloring issue.

6.8
---------------------------
- Fixed nil index error

6.7.10
---------------------------
- Patch 5.1 Compatibility: The Blizzard nameplate format changed, breaking the addon. This update restores Tidy Plates' functionality.
- TOC updates to 50100

6.7.9
---------------------------
- Corrected another error in the spell cast watcher; "StopCastAnimationOnNameplate" is now properly referenced. This only affects arena matches. I don't do arenas, so this was never properly tested. Let me know if more errors pop up.

6.7.8
---------------------------
- Corrected a typo in the spell cast watcher; "StartCastAnimation" is now properly, "StartCastAnimationOnNameplate".

6.7.7
---------------------------
- Fixed: Monk Tank mode (Stance of the Sturdy Ox stance added to the shapeshift list)
- Corrected various threat values coming into the threat line widget
- Core: extended plate verification process
- Removed many unneeded local variables
- Combed files for any "_" that could be global

6.7.6
---------------------------
- Added code to verify healthmax values.
- Sets framelevel to 0. Targetted plates are raised to 1, which still does obscure the chatbox and minimap. This also occurs with the standard Blizz nameplates, and cannot be corrected without raising the strata or level of those other frames.
- Added a rudimentary localization framework. To use: Create an addon named, "TidyPlatesHubXX" where the XX is the last two letters of the localization code. Ex. "TidyPlatesHubDE". Within the code for that addon, create a table called, 'TidyPlatesHubLocalization', and add the translations. For example:
TidyPlatesHubLocalization["Style"] = "Translation of STYLE". See TidyPlatesHub\Lists.lua for an example. Future versions will add a "Dump" mode for outputting all the text that needs translating.
- Changed the background, anchoring, and font sizes in the Hub, for readability.
- Changed the core template, and added a 'default' style, which looks like the Blizzard nameplates. (will be useful in a future version)


6.7.5
- Removed framestrata code from, MinimapCluster, PlayerFrame, and TargetFrame
- Threat Line Widget: WTF!!! Shootin' from the hip, again.

6.7.4
- Fixed giant threat bar issue (Corrected group size ranges in GetRelativeThreat() utility function)
- Raised MinimapCluster, PlayerFrame, and TargetFrame to "LOW" framestrata to prevent nameplates from obscuring those UI elements.
- Currently, there is no way to fix the brief 'flash' of the Blizzard nameplate art before it becomes active; It's a bug for the Blizz folks to solve.

6.7.2:
- Aura Widget: Fixed error, where certain auras filtered by spellid were not being displayed.
- Group Cache: Fixed updates for friendly group class colors (hopefully!)
- Group & Unit Cache: Will not try to search the global unit cache for class information while you are in a dungeon (could slow things down, and it isn't needed)
- Core: Reverted to earlier method of discriminating nameplates
- Threat Line Widget: Added some code to prevent it from accidentally becoming REALLY long.

Does anyone still use the Threat Line Widget? Tank Threat is so high, now, that I wonder if this will/has become irrelevant. Let me know; http://wow.curseforge.com/addons/tidy-plates/forum/

6.7.1
- fixed some stuff

6.7.0 Cumulative Changes:
- Upgraded the TOC file version number to 50001
- Added: TidyPlates:EnableFadeIn() and TidyPlates:DisableFadeIn() functions, to control the nameplate fade-in mechanic. Default is Enabled.
- Added "Stance of the Sturdy Ox" to the Tank Aura list. This should fix some "By Threat" oddities.
- Added Monk specs to the HealerTrack widget.
- Added PLAYER_ENTERING_WORLD to Tank watcher events (to fix the line 39: nil errors)
- (Hopefully) Fixed pauses while using the Arena mode with the Spell Cast Warning system
- Capacitor Totem
- Fixed: Bug where current theme selection would be lost when logging-in.
- Added BUFFS to the aura widget.
- Added texture coordinate function to tidyplates statusbar widget. Usage/Example: healthbar.left = 0, healthbar.right = 1, healthbar.bottom = 0, healthbar.top = 1
- Rearrangement of the Hub panel. The debuff widget has been moved to its own category.
- Enhanced both the debuff widget and the spell cast warning module with support for Arena unitid event capture (via the standard event system, rather than the combat log).
- Updated to MoP standards (which will work with 4.3, too)
- Functions which have been renamed for MoP have been replaced by an internal function (provided by Tidy Plates) which is aware of the current client version, and will choose the appropriate function.
- Tidy Plates now uses an internal button template, which replaces the UIPanelButtonTemplate2, which was removed in MoP

Tidy Plates 6.6...
------------------------------------------------------------------------------------------
Highlights

Headline Mode
Instead of displaying a graphical health-bar, we can display critical information using just text, reducing the surface area of the nameplate and revealing more of the game world. The Headline style can be mixed with traditional Health Bar nameplates to improve your awareness and reduce visual clutter.

Compact Debuff Widget
In addition to numerous performance improvements, the current version of the Debuff widget now includes the option to use Square icons!

Detachable Hub Panel
Click the minimize button to unsnap the Hub panel into it's own smaller, draggable configuration window.

Speedy Configuration
Use '/hub' to quickly enter the active Hub Panel.

Bookmarks
In the Hub, use the 'Bookmarks' button to jump to a category.

Improved Copy & Paste
This is a simple method of transferring profiles between characters. Clicking the Hub's 'Copy' button will save your settings to a global database. The data persists even if your computer is turned-Off. Clicking the 'Paste' button will replace your current settings with the Copied settings. You can paste between characters on different servers.

Using the 'Shift' key while clicking will use a different clipboard, isolated to the Hub's Role Type, but still acessible between characters. In other words, you've got three slots (Universal, Tank, and Damage) to copy your settings.

Performance Improvements
Refinement of the caching systems has reduced Memory and CPU usage. Some folks have seen dramatic FPS drops. This update should fix that stuff!

------------------------------------------------------------------------------------------
Cumulative Changes Since 6.5:

- Under the "Style" category, all references to "Text-Only Plates" or "TextPlates" have been changed to "Headline Mode". This change is intended to distinguish the style modifier from other references to "Text". I'm sure some of you will hate this (can you come up with something better?), but I'm hoping that less cranky folks find the new grammar to be more intuitive.
- To support the "Headline Mode" name change, I've added a new category. Can you guess? It's, "Headline".
- I've grouped the "Color" and "Text" categories into "Color & Text", and moved them to the second-category position. Why?? 1: "Color & Text" controls the appearance of the default 'Health Bar' style. 2: Underneath, "Headline" controls the appearance of the 'No Bar' style. Thus: This arrangement puts these options close to where the user selects the modes, in the "Style" category.
- Square Debuff Icon Option: Added a new Debuff Widget option, "Debuff Style", which allows the user to select between the traditional "Wide" debuff format, or a more squareish "Compact" style. The column count is increased to 5 for the "Compact" style.
- Bookmark System: Added a "Bookmark" system to the Hub panels, which allows a user to jump directly to any of the categories
- On certain themes, the position of your debuffs will be adjusted to allow the combo point widget to comfortably fit (on Rogues and Druids, only). When the combo widget is disabled, the icons will "snug" themselves closer to the plate.
- Using the '/hub' command will bring you to the Hub Configuration panel for your current theme
- Added click sounds to the 'Copy' and 'Paste' buttons
- Bug fixes and Memory optimization
- Added a Prefilter option for the debuff widget cache
* The hub enables the prefilter, when you're using the 'By Prefix" mode
* Debuffs NOT on your list are not cached
* This should save a ton of memory if you're using 'By Prefix'
- Made some changes to the Unit Data Cache system to reduce memory use, and avoid certain 'lag' events...
* Pet/Companion NPC titles are no longer cached
* Cached unit guild and npc titles are now stored within the TidyPlatesWidgetData variable, keeping this data out of the base TidyPlates saved variables
* Hub/Reset button will now clear the cached unit descriptions/titles and guilds
* Unit descriptions (player guild name, or NPC role/title) will not be displayed while in an instance. This is to avoid the CPU overhead that occurs when searching the database, which could be THOUSANDS of entries. This is a direct cause for massive FPS drop, in some cases.
* A side-effect of these changes is the clearing of user's stored guild names and NPC titles. This is required to get the desired performance benefits.
- Matched widget duration timer to default blizz interface standard (using 'floor' rather than 'ceil')
- Fixed SpellId variable name in widgets\tank.lua
- Spell Cast Monitor: If cast time is not greater than 0, make it a minimum of 1.5s
- Added NameColorByEnemyClass
- Minimize Hub now scale to 85%
- Rearranged Name Color: By Friendly/Enemy class
- Improved HealerTrack.lua, with help from Curseforge user, dakunesu. Improves detection of healers in battlegrounds! Rockin!
- Added a "Minimize" button to the /hub UI panel. Clicking this will detach the Hub panel from the Interface Options window, and make it smaller. Good for configuring stuff while playing.
- The Copy & Paste buttons for the Hub panels now work with a unified Clipboard, so you can Copy & Paste between Tank and DPS panels. Holding down "Shift" while clicking Copy or Paste will use the original Tank/DPS-specific caches.
- New Hub Option: "Bring Casting Units to Spotlight Scale"
- Unit Cache should filter out reputation names. This fixes an issue occuring when "Colorblind" mode is active, causing Reputation to be displayed instead of an NPC's Title.
- "Filter > Filter Inactive": When a unit is marked with a target/raid-icon, it's now assumed to be Active.
- And more (ie. stuff I've forgotten about)

------------------------------------------------------------------------------------------

Beta Notes:

(r457 Beta6)
- More memory tricks/optimization for Mr. Debuff Widget.
- Added a few more Headline Modes

(r452 Beta5)
- Fixed nil table index in HealerTrack.lua
- Added a Prefilter option for the debuff widget cache
* The hub enables the prefilter, when you're using the 'By Prefix" mode
* Debuffs NOT on your list are not cached
* This should save a ton of memory, if you're using 'By Prefix'

(r451 Beta4)
- Made some changes to reduce memory use, and avoid certain 'lag' events...
* Pet/Companion NPC titles are no longer cached
* Cached unit guild and npc titles are now stored within the TidyPlatesWidgetData variable, keeping this data out of the base TidyPlates saved variables
* Hub/Reset button will now clear the cached unit descriptions/titles and guilds
* Unit descriptions (player guild name, or NPC role/title) will not be displayed while in an instance. This is to avoid the CPU overhead that occurs when searching the database.
* A side-effect of these changes is the clearing of user's stored guild names and NPC titles. This is required to get the desired performance benefits.
- Healer track should work again. Expect some new graphics in the future.
- Matched widget duration timer to default blizz interface standard (using 'floor' rather than 'ceil')
- Fixed SpellId variable name in widgets\tank.lua
- Spell Cast Monitor: If cast time is not greater than 0, make it a minimum of 1.5s

(r447 Beta3)
Enhancements...
- Added NameColorByEnemyClass
- Minimize Hub now scale to 85%
- Rearranged Name Color: By Friendly/Enemy class
- Made some changes to HealerTrack.lua, not quite sure if it's working properly. Please test!

(r444 Beta2)
Enhancements...
- Improved HealerTrack.lua provided by Curseforge user, dakunesu. Improves detection of healers in battlegrounds. Rockin!
- Added a "Minimize" button to the /hub UI panel. Clicking this will detach the Hub panel from the Interface Options window, and make it smaller. Good for configuring stuff while playing.
- The Copy & Paste buttons for the Hub panels now work with a unified Clipboard, so you can Copy & Paste between Tank and DPS panels. Holding down "Shift" while clicking Copy or Paste will use the original Tank/DPS-specific caches.
- New Hub Option: "Bring Casting Units to Spotlight Scale"

(r450 Beta1)
Enhancements...
- Improved HealerTrack.lua provided by Curseforge user, dakunesu. Improves detection of healers in battlegrounds. Rockin!
- Added a "Minimize" button to the /hub UI panel. Clicking this will detach the Hub panel from the Interface Options window, and make it smaller. Good for configuring stuff while playing.
- The Copy & Paste buttons for the Hub panels now work with a unified Clipboard, so you can Copy & Paste between Tank and DPS panels. Holding down "Shift" while clicking Copy or Paste will use the original Tank/DPS-specific caches.
- New Hub Option: "Bring Casting Units to Spotlight Scale"

(r440 Beta)
Quality-of-Life...
- Square Debuff Icons: Added a new Debuff Widget option, "Debuff Style", which allows the user to select between the traditional "Wide" debuff format, or a more squareish "Compact" style. The column count is increased to 5 for the "Compact" style.
- Bookmark System: Added a "Bookmark" system to the Hub panels, which allows a user to jump directly to any of the categories
- On certain themes, the position of your debuffs will be adjusted to allow the combo point widget to comfortably fit (on Rogues and Druids, only). When the combo widget is disabled, the icons will "snug" themselves closer to the plate.
- Using the '/hub' command will bring you to the Hub Configuration panel for your current theme
- Added click sounds to the 'Copy' and 'Paste' buttons
- My OCD: Under the "Style" category, all references to "Text-Only Plates" or "TextPlates" have been changed to "Headline Mode". This change is intended to distinguish the style modifier from other references to "Text". I'm sure some of you will hate this (can you come up with something better?), but I'm hoping that less cranky folks find the new grammar to be more intuitive.
- To support the "Headline Mode" name change, I've added a new category. Can you guess? "Headline".
- I've grouped the "Color" and "Text" categories into "Color & Text", and moved them to the second-category position. Why?? 1: "Color & Text" controls the appearance of the default 'Health Bar' style. 2: Underneath, "Headline" controls the appearance of the 'No Bar' style. Thus: This arrangement puts these options close to where the user selects the modes, in the "Style" category.

Bug Fixes...
- Unit Cache should filter out reputation names. This fixes an issue occuring when "Colorblind" mode is active, causing Reputation to be displayed instead of an NPC's Title.
- "Filter > Filter Inactive": When a unit is marked with a target/raid-icon, it's now assumed to be Active.


6.5
-----------------
(r433)
* The "By Class" function of Health Bar Color has been changed to, "By Enemy Class".
* Added a Health Bar Color function called, "By Friendly Class".
* Added some code to make built-in themes use the default Blizzard nameplate font when a non-latin language locale is detected
* Updated combo widget artwork: higher resolution, etc.
* Fixed file path to Neon's Target selection artwork

(r421-426)
* Fixed text-plate target and highlight art (I messed it up while cleaning duplicates)
* Changed fonts... Neon, Graphite, Grey, and Quatre now use the same font, to keep the package size smaller.

(r420)
* Added Text Modes: Level & Level and Health
* Changed some panel text, colors, explanations
* Added some Text-Only style functions
* Cleaned theme folders (removed old art and consolidated duplicates)

(r409-411)
* Changed some text descriptions to better explain the feature/option
* Hub: Moved the two Text-Plate config options from 'Color' and 'Text', to 'Style'
* Changed 'Frame' category to 'Advanced'
* Added an option under 'Advanced'; "Enable Unit-Data Caching". (Disabling this will stop non-party/pvp class-coloring)
* Added a filter to the Unit-Data cache, to skip characters from other other realms
* Unit-Data caching is bypassed while in an instance (Both PvP and PvE)
* The caching system will peek at /who requests, and store the info on the Unit-Data table (Unless it's disabled)

(r406)
* When "Show Party Aggro" (under Threat) is enabled, the "By Threat" spotlight systems for Opacity and Scale will now highlight your unfortunate party members.
* The Health and Text colors mode, "By Threat" has been changed to, "By Threat (Auto-Detect). The previous implementation has been renamed to "By Threat (Legacy)"
* When using a tank stance, aura, or form, you'll see the "Safe" color when you have aggro, and the "Warning" color when you don't. When NOT in a tank mode, you'll see the "Warning" color when you have aggro.
* Changed default Spotlight Opacity to 100%

(r400)
+ Fixed mouseover bug (Added a seed value for OpacityFullMouseover)

(r373 - r395)
+ Introduction of Universal Hub Core, which centralizes the creation of the Hub UI Panels
+ Reset of Hub Settings (necessary, due to the relocation of saved variables)
+ Added "By Health" and "By Low Health" modes to Scale, Colors, and Opacity.
+ Added Low/High Health Threshold sliders, and color selection for Low/Mid/High Health
+ Reorganized the Hub panel (in particular, the Opacity filter section is now under its own heading)
+ Improved theme format error handling
~ Reversed changes to Graphite
~ Reversed Neon font changes (If you liked the 6.4 font, I'll post instructions for modding)
+ Added: Hub, Opacity Filter, "By NPC"
+ Added: Hub, Health Bar Coloring Mode: "By Raid Icon" Colors
+ Added: Hub, Health Bar Coloring Mode: "By Level Color"
+ Added: Hub, Name Color Mode: "By Level Color"
+ Added: Hub, Name Color Mode: "By Boss/Elite"
+ Added: Hub, Opacity, Scale, and Warning Glow Modes: "By Enemy Healer"
Supported by the addition of a Healer Detection system
+ Added: Hub, "By Threat (Auto-Detect") modes to Opacity, Scale, and Warning Glows
Supported by the addition of code to detect the current tanking state based on auras/stances/forms
+ Fixed Party member aggro alert

Please look through the new options. I'll happily answer any question.

6.4
-----------------
(r364)
- TOC Update

(r363)
- Fixed: Re-Added unit.spellIsShielded to cast color delegate
- Added: MaximumDisplayableDebuffs variable under Debuff Widget. This will allow user-configurable debuff quantities.

(r358)
- Added: Tip text next to Hub Debuff widget config
- Fixed: Friendly Group unit class coloring
- Re-removed: Minimap button. The code is still there, but hidden. If you liked the button, use this command: /run TidyPlatesOptions._EnableMiniButton = true; ReloadUI()

(r355)
- Fixed: List-to-lookup table conversion for Unit Filter, By Name
- Fixed: Hub/Tank slider ranges (They were not actually broken, just different from the Damage Hub)

(r350)
- Fixed: Incorrect Paths in TidyPlatesWidgets (causing several widgets to not work)
- Fixed: Hub Tank Panel, SplitToTable error

(r348)
- More messing around with debuff widget
- Cleaned up some of Neon's artwork
- Changed default Neon font to Headache
- Debuff & Buff display for Friendly units is internally complete, but is disabled until the Hub can be updated
- Debuff widget now provides .unit table from the underlying nameplate, to allow better filtering.

(r344)
- No clue

(r340)
- Fix for Debuff Widget empty table/sort error
- Corrected a mistyped line for indexing Aura_Dispell type

(r338)
- Debuff Priority works for "Show Specific" and "Show My Specific" modes, in addition to "By Prefix"
- Class Icon Widget: Returned to using internal artwork
- All textures are now Non-blocking (the game won't wait for textures to load into memory before it draws the scene), preventing texture changes from affecting frame rate
- The debuff widget (should now be called Aura Widget) will track buffs for friendly players

(r308)
- Debuff widget now uses single dimension tables to store cached data, to improve memory management
- Moved Widgets to their own addon/folder (For memory usage tracking)
- Statusbar gradients are now supported via additional return values in theme.SetHealthbarColor()...
* return r1, g1, b1, [r2, g2, b2]
- The Debuff widget now supports 'priority' through the existing .filter function... example:
* return showThisAura, auraPriority
- The Hub Panels will check the order of the debuffs in its list to determine priority.
- Class Widget no longer uses internal class artwork; Instead, the class icon is pulled from the Blizz UI library.
- If theme.SetCastbarColor returns nil, the cast animation will be skipped
* This can be used to filter spell casting data
* SetCastbarColor is passed the 'unit info' table, which contains: unit.isCasting, unit.spellName, unit.spellID, unit.spellInterruptible

6.3.8 (r307)
* Disabled: Minimap/LDB Icon (Will come back later when it's ready)

6.3.6 (r301)
* Fixed: UnitCache Error
* Fixed: Graphite Loading Error
* Added: Spell Cast Monitor will not look for casts from current target
* Added: Hub Option, Scale: Ignore Inactive/Undamaged Mobs
* Added: Hub Option, Alpha: Filter Inactive/Undamaged Mobs
* Added: Minimap/LDB Icon
* Fixed: Debuff Widget Nil Raid Icon Lookup Index

6.3.5 (r296)
- Self-Test for DebuffWidget.lua added, in order to inform users of possible issues. (I hope to address auto-updater bug)
- Cleaned up some code to reduce "double calls" to delegate and update functions

6.3.4 (r293)
- More Debuff Widget fixes
- Improved Debuff Widget memory usage

6.3.3 (r292)
- Debuff widget should gracefully handle certain aura events. (GetSpellInfo errors)

6.3.2 (r291)
- Tidy Plates Hub: Debuff Widget: Spell IDs can now be used instead of spell names in the filter system.
- Fixed: Crazy debuffs during Firelands dailies.
- Aurainstance table (for debuff widget) and functions have been converted to a smarter format
- When auras are updated on your current target, the caching function will clear the cache before it repopulates the list.
- Increased the scope of name/elite status updates. Hopefully this will accommodate the Firelands Smoldering/Blazing Elemental Bug.

6.3.1 (r289)
- TOC files updated for Wow 4.2
- Fixed debuff update stalling
- Added nil value error protection to debuff prefix sorter

6.3.0:
(284)
* Updated functions for 4.2
* Increased width of sliders in Hub
* Opacity functions now use a transfer function to correct the opacity (currently, .5 does not translate to 50% opaque; it's more like 65%)
* Channeled spells now move the cast bar in reverse.
* Friendly/Enemy "V-key" Automation; In Combat, Out of Combat, Always
* Debuff widget now Caches texture of debuffs (to fix sunfire phenomenon, and similar)

6.2.1: (r275)
-----------------
- Neon and Grey were not meant to show guild names (yet), so that's been removed. (It will come back, but only when I have a UI option)
- added "marked" condition to the "By Active" style mode
- "No Overlap" removed from Panel. Please see "Interface > Names> Nameplate Motion" from now on.
- Changed text in a few spots
- SetCustomText can now accept RGBA colors (but it's not required)... return string, r, g, b, a
- Text Plate for Quatre will show the supplemental text with 70% opacity
- Fixed Damage Hub Vertical position sensitivity
- Removed force-enable of aggro detection. First-runs and resets will re-enable aggro detect if it was turned off


6.2 (r269)
-----------------
* The Hub gets a new category: Style
- This new category has two menus for Friendly and Enemy nameplates
- Users can select between two styles (Health Bars vs Text Only), and several different visibility conditions.
- If you use the Text Only bars, you might want to check out the Name Text Color options, to spice up that text!
* Spell Cast Monitor name search will now strip the "-" from the combat log name, which should fix PvP cast association issues.
* Debuff Widget will now strip the "-" from combat log events, which should fix pvp association issues
* fixed a 'nil' error during pet/tank association
* "Avoid Overlap" has been updated for the new CVar types
* Fixed a bug where the debuff widget was not getting the correct data from the combat log

6.1
-------------
6.1.14
- TOC interface number update

6.1.13 (r253)
- tweaked name color function
- Debug widget should clear its cache more often

6.1.12
- Fixed Hub/Tank NameTextColor errors
- Updated description of "Vertical Position of Frame" to "Vertical Position of Artwork"

6.1.11
- See Demo on Youtube: http://www.youtube.com/watch?v=2KjGFd0TgvM
- Fixed UnitChannelInfo interruptable spell argument bug
- Found a bug; The Editboxes contained in my ScrollFrames seem to invisibly extend past the bottom of the scrollframe, which can block underlying UI controls. I've dropped the editboxes to a lower frame level, which is a hack method of preventing problems with it interferring with controls anchored to the bottom of the scrollframe. Will attempt to figure out a better solution.
- Name text coloring modes
- By Raid Icon modes for Opacity and Scale

r238 (6.1.10)
- Fixed un-interruptable spell bug on channeled spells
- Added to Hub; "By Prefix.." Mode for Debuff Widget
- ALL, MY, NO, OTHER, CC
- Using CC will eventually highlight the debuff on the widget, but for now it acts as "ALL"

r229 (6.1.8 )
- PTR bug fixes (Neon Threat Glow was turning green)
- Debuff widget will clear aurainstance tables when combat ends (regen returns)
- Added Health Text option: Approximate Health (will show 2 decimal places for thousands (k) and millions (M), with suffix)
- Added Text option, "Use Default Blizzard Font"; This will use the font defined by the global variable, 'NAMEPLATE_FONT'. This should improve the situation for non-latin charcter sets (this is for you, Chinese, Russians, Taiwanese, and Koreans.. xoxo)


r212 (6.1.7)
- Changed from thousand/million suffix for health text to using a thousands seperator
- Restored PTR support (last time I checked)
- Moved Quatre Raid Icon to similar position as Neon (to left side of health bar)

r206 (6.1.6)
- The update function for debuff icons are now exposed via, widget.Poll
- Added Events for UNIT_SPELLCAST_NOT_INTERRUPTIBLE, UNIT_SPELLCAST_INTERRUPTIBLE
- Added Threat Wheel to Hub/function set
- Reverted to original health % mode; ie. does not show % when full health. if you like it the other way, edit TidyPlatesHub\functions.lua. I like it this way, and dammit, it's my software ;-)
- WoW 4.1 Compatibility (should work on 4.0.x and 4.1, concurrently. I have not tested on the PTR, though)


r199 - Raid Tank Coloring in Tank mode. Automatically used when in "By Threat" Modes.
- Theme list is now Alphabetized
- Better handling when previous theme selection does not exist
- Debuffs of the same spell-id are now handled more securely
- Reset button in main panel will now reset variables on 'click', turn enemy plates ON and friendlies, OFF
- 'shift-clicking' will clear and restore the variables, and reload the ui
- Reset buttons in hub panels also now have a 'click' behavior to reset the variables without reloading the UI
- 'shift-clicking' will still clear the tables and reload the ui
- First-run config, turns off friendly nameplates by default
- Added a link to the Blizzard "Names" panel via the Tidy Plates theme chooser panel

r186 - Default Hub Values changed to more closely resemble 6.0.8 defaults (Blue, Orange Scheme, Threat Warning Glow/Triangles turned On)
- A variable reset may be required to revert to the defaults
- First-run config, "friendly unit bug" fix


6.0
-------------
r101-103:
- Created a group information watcher.
TidyPlatesUtility.GroupMembers = {} a table
Subtables/Values:
.Names = {} Returns a name if you pass it a unitid
.Tanks = {} If you pass it a name, it will tell you if the unit is a tank
.Class = {} Returns a class if you pass it a name
.Role = {} Returns a role if you pass it a name
.UnitId = {} Returns a unitid if you pass it a name
.Type = "solo" Returns the group type; "solo", "party", "raid"
.Size = 1 Returns the size of the group
TidyPlatesUtility:EnableGroupWatcher() a function
TidyPlatesUtility:DisableGroupWatcher() another function
- Spell Cast Monitor will now catch channeled spell events (Note: Channeled spells do not animate in reverse. Bite me.)
- Created a group member aggro watcher. (Gonna change this to be under TidyPlatesUtility)
Pass it a name of a party membmer, and it'll tell you if that person has aggro
TidyPlatesWidgets:EnableAggroWatch()
TidyPlatesWidgets:DisableAggroWatch()
TidyPlatesWidgets:GetThreatCondition(name)
- Removed the troubleshooting panel.
- Changed "Notes" in TOC
- Spell cast watcher now watches the combat log for casting associated with marked units (raid icons), and will display the cast warning on those units in lieu of a GUID or name.
- Spell Cast events now trigger the SetAlpha functions (in addition to the scale and text functions)
- Spell Cast events send this data to the delegate functions, in addition to normal unit information:
unit.isCasting = true
unit.spellName = spell
unit.spellIsShielded = notInterruptible


r92-100:
- The LoadTheme function is now accessible to external software, via: TidyPlates.LoadTheme("name").
- Removed the '.InterfacePanel' interface panel pointer variable. Replaced with .ShowConfigPanel, which is a function that is called when the wrench icon is clicked
- Threat Line (Tug) widget scales to frame width (default of 100)
- Added Name text color delegate, SetNameColor
- Sets a unique frame level for each plate (up to 125)
- Raises frame level of current target to a high frame level (126), and return it to previous when done.

r83-91:
- bug fixes
- layering tweaks
- changed default hitbox size to match original
- Grey and Neon tweaks

r83:
- fixed: Neon/Tank Health Text
- fixed: Neon/Tank Threat Wheel
- fixed: Mouseover errors during nameplate init

r82:
- fixed: highlight region used to occasionally turn on when the nameplates would show.
- fixed: Selection box couldn't be turned off in Neon
- fixed: depth/layering (ok, i went back to using active alpha override, rather than virtual parenting)

r81:
- Fixed Neon/Tank saved variables

r80:
- More bug fixes (Threat line widget "pet")

r79:
- Bug Fixes

r78:
- add icons for the "configure theme" functions
- making any changes in the interface panel will now apply the changes in real-time (no more 'apply' button)

r77:
- Removed and restructured some of the OnUpdate code (to prevent some nil errors)
- Added interface panel option for the cast watcher, directly in the /tidyplates panel (so any theme can use it)
- Click on theme name in theme chooser window to bring up linked panel (supplied to, theme.InterfacePanel = panelframe)

r72-76: (38,606)
- Anchoring and event handling fixes
- The theme loader will now call 'theme.OnActivateTheme' (a theme function) when the active theme is changed. it passes two value to the function: the active theme table, and the active theme name.
- The theme loader will call the theme.OnActivateTheme with nil values for ALL themes when a theme is changed. See the Neon/Tank functions.lua for how and why it's supposed to be used.
- Numerous bug fixes
- The new casting system has been finished. Neon/Tank will activate it automatically, but you can use '/run TidyPlates:StartSpellCastWatcher()' to enable it for any theme.


r70:
- Massive changes. Your themes may not work...
- Removed Cvar for Bloattest
- Added external access for plates tables
- Changed MANY names for things. See the TidyPlatesDefaults.lua file for the new format names. To enable an element, use the .show tag under each element. (No more options.showName = true, etc)
- Added "spelltext" which replaces one of the special text fields.
- removed specialtext fields. replaced with "spelltext" and "customtext"
- Returned to Virtual Parenting (Tidy Plates Frames are NOT children of the base nameplate. They are just anchored)
- Elite segments have been removed from the healthborder and threatborder. Use multi-style if you want different textures
- Elite icon has been added to replace elite segments
- Skull icon texture can now be changed
- Cast bar will continue to display on previous target when you change targets (guesstimated)
- Cast bar will start on a target if you change TO that target, and they are casting a spell (guesstimated)
- The cast bar may not register interupts fully. But, it will let you know that the unit is casting. Quit whining, you babies.
- Preliminary Spell Cast Monitor, in place. Not yet activated. You can find this code under the widget folder, in SpellCastMonitor.lua, if you want to enable/play with it.
- At this stage of development, If you can't figure out how to enable it on your own, YOU SHOULDN'T.
- Changed the update functions a wee bit to try and reduce CPU load. Some plates may not be updating correctly. Complain wisely (ie. with specifics) and it shall be fixed.
- Added a selection box item to the visual elements. find it under, theme.target




5.15.1
- Grey has been included


5.15
-------------


r69:
- Commented-out "Other Tank" code in Neon; It needs more polish
- The Grey theme has been left out of 5.15 on purpose; I'm phasing-out including it with the main package. Neon will become the default theme, and Grey+Others will get their own package at some later date.


r67-68:
- Mass Update queue will now kill the other mass update requests if a full update was scheduled
- Messed about with Neon/Tank, and added some new code to test, regarding aggro and friendly unit debuffs.

r66:
- lil' Core changes

r59-r65:
- Numerous bug fixes (some of them pretty big)
- "Culling of Old Widget Code"
- Various optimizations
- Reordering of updates (Delegate functions will get updated on TidyPlates:Update() calls, regardless of the 'unit' table having changed)

The R65 release contains the test version of Graphite.

r58:
- Lil' bug fixes

r54-57:
- Neon now keeps a "Known targetOf list" table, which delegate functions access to highlight non-tanked targets
- Added a simple Combat Log Analyzer to Debuff Widget (To report debuff cancelation back to ID'd units)
- Tank role recognition in Threat Line Widget
- Totem Icon Widget Included in WidgetLib. Not yet in Neon.
- Changed internal cast bar code in prep for cast warning system (slated for 5.16). oddities might occur. I'll fix as discovered

5.14
-------------
r50-53:
- fixed nil values during set scale
- adjusted neon font to 'Qlassik', size, and position for better clarity
- added some comments to the default theme file
- threat line widget will not update on a unit until there is a threat table; meaning, if you're solo, you won't see anything.

r47-49:
- Commented-out improved cast bar code; Saved for another cycle
- removed unit.targetOf determination; too much cpu utilization
- some optimization of the OnUpdate function to improve fading performance
- Fixed color picker widget being placed under the interface options window
- theme.SetAlpha functions should just return a single value, for absolute alpha (0.0-1.0). additional returns are ignored
- The theme template table (the one with all the default values) has been changed to no longer look like the Grey theme. The Grey theme's media is now stored in its own folder. Choosing "None" as a theme option will show name-text, only.
- TP previously tried to associate arena, party, raid member guids to a nameplate (by name). This has been removed due to cpu considerations
- Changelog has been updated ;-)


r46:
- Still cranky
- fixed the Avoid overlap thingy
- added some update throttling for threat line widget
- commented out some friendly unit guid identification code

r44:
- I'm exhausted and sick and I don't want to even think about this stupid changelog thing and it's a miracle that I'm actually uploading this and I'm going to go to my freaking bed so I can be less cranky in the morning. I'm also hungry, dammit.

r43:
- Improved Fade
- Added a unit.targetOf variable, which the core will attempt to fill, depending on if there is a path to that unit (target, mousover, raid1target, party2target, etc.. doesn't fill from arena, yet)
- Added a .backdrop tag to the statusbars in the style table for themes; The image will appear behind the statusbar.

r40:

* Improved Tug-o'-Threat Widget
- Widget will try to acquire threat data from raid members

* Nameplates will now fade in when they appear

* Improved Cast Bar
- Will now try to estimate the cast of a
unit, without being targeted.



5.13.4 & .5:
-----------
Updated TOC file for 4.0
Removed CVar setting for Overlap

5.13
-------------

r39:
* Alpha is now updated when health changes
* Threat widget will now properly update on current target when threat data changes

r37:
* Fixed Alpha == 0 update problems (Not updating name, health)
* Fixed Neon panel (Not holding values)

r36:
* Modified layering
* Mainstream Release!

r35:
* Updates and fixes to Neon (including Unit Level)
* Inclusion of Graphite (just a peek at an upcoming theme)
* Layering adjustment
* Removal of some beta debug code

r31:
* New theme callback function: OnContextUpdate. Triggered when the GUID of a unit is updated.
* SetThreatColor will trigger for every unit, with no filtering, allowing the designer to use the
Threat Glow for other purposes (such as debuff tracking)
* Neon and Grey Panels are parented to their own category.
* Neon Panel has been updated
* New Neon features:
- Threat glow border
- Class Icon
- Debuff Widget Config

r30:
- Modified the theme table preprocessor to fill in values on the incoming theme table, rather than generating a totally segregated table.
- The style application function will now use that updated custom theme table
- Theme styles can be modified in real-time, and updated with TidyPlates:ForceUpdate()
- Theme reload will only be required when new styles are added, after the initial loading. (to multi-style themes)

r28:
- Added SetCastbarColor function

r26:
- Added SetThreatColor function

- Modified the core to reduce the workload on data updates.
More specifically, I've made new paths for update requests
which avoid updating every single piece of data when only
a single value has changed.
- Cleaned up some code, and added some new comments



5.12.3
Hopefully fixed the nil health values

5.12.2
-----------
* Bugs! Ick!


5.12.0
-----------
+ Unit Raid Icon Info
* STAR, MOON, CIRCLE, SQUARE, DIAMOND, CROSS, TRIANGLE, SKULL
+ Range-Check Widget (for group members)
+ Interface (Drop down menu for range)
+ Packaged Neon with the Main Release
+ Make Selection Box and Threat Line defaults for Tidy Plates: Neon
+ Add Level Display Option to Grey
+ Neon: Make the Enemy Player color pass through (PVP)
+ Updated Combo Points
+ Neon: Added health text
+ Neon now can show the unit level in its health text field
+ Added events for PLAYER_CONTROL_LOST, PLAYER_CONTROL_GAINED, UNIT_FACTION
+ Grey is included, again. It's not fully updated
+ Minor bug fixes
+ Both Neon and Grey will now only modulate the scale and aggro color of NPC nameplates; PvP colors will automatically pass through
+ Fixed some "no target" update errors
+ Working on cast bar problems
+ The debuff widget can be filtered by creating and linking a function to the debuff widget object (widget.Filter)
example:
plate.widgets.AuraIcon.Filter = function(debuffinfo)
if (debuff.duration < 50 ) or debuff.name == "Hunter's Mark" then return true end
end
+ Fixed some aura widget bugs
+ Note Widget has been repaired
+ Highlight fixed
+ As a side note; Since Beta 5 the unit text will no longer turn yellow on mouseover, or red when a unit is in combat.
+ Cleaned up indicator code
+ Unit information table: levelcolorRed, levelcolorGreen, levelcolorBlue
+ Fooled around with region hiding


5.11.6
---------------
Grey Theme:
Enemy player PvP colors will now pass through to the health bar color, rather than being replaced by aggro colors.


5.11.5
---------------
* Fixed -1.#ind (divide 0 by 0 errors) in statusbar.lua (Happens in ICC, for some reason)

5.11.4
---------------
* Grey Theme: New Customization Tool
1. Under the "TidyPlates_Grey" folder, you'll find another folder, "TidyPlates_GreyExtension"
2. To use it, begin by moving that folder up to your Addons folder
3. Open the file, "TidyPlates_GreyExtension\GreyExtension.lua"
4. You can directly modify the default behavior and appearance
5. This process can be duplicated for any theme, and will not get overwritten by an update
Post a comment, or write me an email ([email protected]) if you need some help with this
* A full status update will now be performed when the cast bar is shown, to prevent null values

5.11.3
---------------
+ Castborder size is being reset during odd times; Added improvements to restore the shape
+ Fixed the issue with Grey aggro borders not remaining hidden after /reloads (saved variable merge issue)

5.11.2
-----------------
This version never happened

5.11.1
---------------
- Problems with OnInitialize not being called (widget errors occuring during combat) An attempted fix is applied.
- Fixed unit.class updates (hopefully)

5.11.0
---------------
/greydps and /greytank are the new shortcuts

* Added Debuff widgets to Grey/Tank
* Health text in Grey; "%x" will now read "x%"
* Added outline to text of Threat Line Widget (makes it easier to read in a cluttered battle)
* also decreased the text size
* Threat Line Widget will look to see if the player is marked as a Main Tank in the Raid settings. If so, it will display the person who has pulled aggro (Target of). otherwise, it will assume dps mode and hide the tank name.
* Threat Line will color the Lost side green if it's being held by a tank

* Added a Statusbar wrapper, which fixes Lucky Charms, and enables vertical stat bars with masks
* Added basic Debuff icons
* Fixed Virtual Plates compatibility (Thanks Saiket!!)
* Fixed layering issues (Plates over map/combattext/etc)

Theme function Changes:
* theme.OnInitialize will get called every time a nameplate is shown. Authors should check for
exsisting objects/widgets before creating new ones.
*theme.OnUpdate is called when the data on the plate is updated. This does not need a existence
check since it's guaranteed to run after an OnInitialize.

5.10.5
-------------------------------------------------------------------------
Went back to LiberationSans for default font. Why? I like it!

5.10.4
-------------------------------------------------------------------------
+ If the Threat Line Widget sees that the targetted character is a "MAINTANK" under the raid roles, it will color the name blue.

5.10.3
-------------------------------------------------------------------------
+ Fixed "Hide Neutrals"
+ Went to ArialNarrow for the default font
+ Grey\DPS
+ Added Hide Neutrals, Ignore Elites
+ Added SetPoint to extended (just in case)
+ Changed health bar color gathering to assist duels

- Removed from loading procedure:
- SetCVar("CameraDistanceMaxFactor", 6)
- SetCVar("threatWarning", 3)
- SetCVar("ShowClassColorInNameplate", 1)
- SetCVar("showVKeyCastbar", 1)

5.10.2
-------------------------------------------------------------------------
+ Removed Cvar setting, "CameraDistanceMaxFactor" (fixes camera zoom issues)
+ Re-enabled Cursor Update Event

5.10.1
-------------------------------------------------------------------------
+ Remove Cvar setting, "CameraDistanceMaxFactor" (fixes camera zoom issues)
+ Cursor Update Event

Add to Grey:
+ Scale: ignore non-elites
+ Alpha: hide non-elites
+ Spinner Widget
+ move widgets to .widget
+ add a target widget to grey (testing)

5.10
-------------------------------------------------------------------------
++ "Avoid Overlap" (Alias) in panel
++ "Autoshow" Option in panel
++ Independent Frame
* scale pass-through (Not fully implemented; using Virtual Plates AND a theme which changes scale will show oddities)
* force alpha override (The developer can tell Tidy Plates to force the alpha - avoiding Blizzard's default alpha - by returning 'true' as a second value for the return)
- ex. theme.SetAlpha = function(unit) return 1, true end -- Will maintain the opacity at 100%, regardless of target status
++ Set Default CVars after VARIABLES_LOADED
++ Dual Spec Support (Changes theme based on spec)
- Added a second dropdown menu in panel
++ Troubleshooting Panel
- Vkey/Bindings
- reset/reload
++ Widgets
+ created TidyPlatesWidgets. table
+ Threat Wheel
+ Class Icon Widget
+ Combo Point Widget
+ Threat Line
+ MT Logic Widget
+ Syntax usage will follow
++ Scale pass-through (Not Complete; Using Virtual Plates AND a theme which changes scale will show oddities)
++ Performance Enhancements
++ More Comments (woo?)
++ Code Re-organization
++ Widgets now use TidyPlatesWidgets:HideIn(), and a watcher frame to perform time checks; Faster than having
each widget process for OnUpdate
++ Improvements to Panel Helpers
++ Unit Info table
+ .GUID (from mouseover or target)
++ Grey Theme
++ Critter/Neutral Filter checkbox
++ Panel redesign
++ Tank Mode; "Expands the size of runaway mobs"
++ DPS Mode; "Expands the size of aggro'd mobs"
++ Widgets
++ Each of my own themes should have their own config panel for role,
allowing dual spec to work seamlessly..
TidyPlatesThemes["Grey (DPS)"] = config
TidyPlatesThemes["Grey (Tank)"] = copytable(config)
++ Virtual Plates should now behave better
* Scale-changing plates will still cause problemos, but now, ordinary plates will work just fine.
* Returning NIL in your ScaleDelegate function (if you've got multiple modes) will allow VirtualPlates passthrough.
++ Grey Tank/DPS panels and saved variables got some love; They work better
+ Delegate functions now use local variables for speed
+ Fixed Forceupdate
+ Fixed some Grey variables
+ something else.. forgot what it was. (Ok, I remembered; I spelled "deficit" wrong. I bought the wrong vowel!)
+ Fixed Health Text modes
* Grey Theme
- Added Current Health + Percent
* Widgets
- General Mouseover Widget
- Combo Point Widget
* Still had trouble with nameplate alpha changes updating after the OnShow call.
-- Solution: Indvidual Plate echo-update
* Retracted "Raid-Tanked" Widget (for the time-being)
* Added an extended.widget table
- Theme designers should put all their widget references in this table
* When nameplates are changed (manually or auto) by the Tidy Plates UI,
the software will attempt to hide/clear any frames listed under the
extended.widget table.

5.9.5
* Critter/Neutral Filter on default theme, returned to Mode-level
* fix for hunter pets, grey threat widget

5.9.4
* Adjusted position of default theme data, to reduce targeting woes
* Added a cache reset to the Hide hook
* ForceUpdate now only operates on Shown plates
* CURSOR_UPDATE is now part of the default events
* Added alpha == 0 bypass
* Elite Borders now have a star on the artwork, making visual ID easier
* Simplified Scale and Alpha delegates of the default theme
* Critter Filter on default theme, now always on

5.9.3
* frame layering tweaks
* moved some skinning code around
* casting progress now forces single plate graphical updates (to eliminate casting icon oddities)
* painted my nails

5.9.2
* removed some old code related to the frame separation "feature" *shudder*
* frames faded too much (more than 50%); problem fixed
* level text will not show when skull icon is active
* TidyPlates:ForceUpdate() does not allow targetting a specific frame, anymore. Use: TidyPlates:ForceUpdateFrame(frame), instead
* added .secureframe pointer to .extended, pointing to the base frame
* added .flags to name, level, specialText, and specialText2 - used for adding outlines to your text... if you REALLY want them. *shudder*


5.9.1
* Changed default fonts from Arial to Liberation (halves the file size, woo!)
* Undo the frame separation (Allows Virtual Plates to run)
* '.hitbox' has been added, as a style category. This will alter the clickable region, out-of-combat
- .hitbox.height height of hitbox (default: 37)
- .hitbox.width width of hitbox (default: 149)

Tidy Plates 5.9 Release Notes
Release
* Clean Up Files - Check!
* Rename of "Beta Grey" to "Standard Grey" - Check!
* re-added health bar color function

See Changelog.txt for the complete WALL OF TEXT!
Optional Files (12)
File Name
Version
Size
Author
Date
Type
6.16.1-6-g70b083d
651kB
09-03-15 10:15 PM
Addon
6.2b
631kB
05-14-11 09:27 AM
Patch
1.0
295kB
03-11-11 06:42 AM
Patch
v1.0
2kB
02-01-11 07:26 PM
Addon
1.00
7kB
01-03-11 03:59 AM
Addon
1.6a
213kB
10-17-10 06:05 PM
Addon
v3.0.4
275kB
04-16-10 07:29 AM
Addon
1.5c
241kB
08-06-09 09:28 PM
Addon
1.5
24kB
08-02-09 01:09 PM
Patch
1.5
42kB
08-02-09 01:09 PM
Addon
1.5
28kB
08-02-09 01:08 PM
Addon
1.0
55kB
07-09-09 09:45 PM
Addon


Post A Reply Comment Options
Unread 07-19-09, 06:17 AM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
The single-table design is a good idea, and it's a change that I had planned on making at some point in the future. However, I'm going to live with the current design for the time-being; It works fine, and it maintains compatibility with people's existing layouts.

(Edit: While weeding the veggie garden, I ended up mulling this thought over, and changing my mind; It's probably a good time to make this change sooner rather than later. Anyhow, thanks for putting the bug in my ear... lol ;-)

Originally posted by Taroven
Rather than using a bunch of global vars, you could just consolidate them into a single table.

....
Last edited by danltiger : 07-19-09 at 08:41 AM.
Report comment to moderator  
Reply With Quote
Unread 07-20-09, 06:25 AM  
dc_roenfanz
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 38
Uploads: 3
Taroven has a good point. I'm glade you came around. ;-) Another benefit of implementing this idea, is the possiblity to switch layouts within the game itself, instead of having to log and enable/disable themes.

Yumm, profiles. XD
Report comment to moderator  
Reply With Quote
Unread 07-20-09, 10:15 PM  
Kouri
A Kobold Labourer
 
Kouri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 121
Uploads: 4
Hey, I just wanted to say that the NAMEPLATE_ALPHA_DELEGATE function is working beautifully, so I uploaded the theme I've been working on here if you want to check it out.
Report comment to moderator  
Reply With Quote
Unread 07-21-09, 08:37 AM  
duhwhat
A Wyrmkin Dreamwalker

Forum posts: 51
File comments: 236
Uploads: 0
Originally posted by Shlayn
Small error


Code:
healthpercent = 100* (unit.health / unit.healthmax)
return ceil(healthpercent).."%"
To remove the percent sign, can i just remove the

Code:
.."%"
or should i leave the
Code:
..
I recently had a massive performance drop and I'm wonder if it isn't due to my mucking around with the code myself.
Report comment to moderator  
Reply With Quote
Unread 07-21-09, 09:53 AM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
Edit: I've updated the download, and I'm hoping that it will improve performance.
----
I'd noticed a drop in performance, too. Not sure if it's the same issue, but:

236: health:RegisterEvent("CURSOR_UPDATE")
237: health:RegisterEvent("UPDATE_MOUSEOVER_UNIT")

I commented them out in my current working version, and it restores the performance. I'd added those lines to help update the text alpha (which gets changed by the client when mousing over; it's only useful if you're using the Alpha handler and text). I will be commenting-out those lines for the next update.

You can remove the whole ".."%"" thing, the ".." is used to concatenate the strings.

Originally posted by duhwhat
To remove the percent sign, can i just remove the

Code:
.."%"
or should i leave the
Code:
..
I recently had a massive performance drop and I'm wonder if it isn't due to my mucking around with the code myself.
Last edited by danltiger : 07-22-09 at 08:53 AM.
Report comment to moderator  
Reply With Quote
Unread 07-23-09, 10:45 PM  
duhwhat
A Wyrmkin Dreamwalker

Forum posts: 51
File comments: 236
Uploads: 0
well it's definitely tidy plates, and to some extent the wide theme. my fps with standard nameplates is acceptable, pretty bad with tidy plates enabled, and atrocious with tidy plates wide enabled. I've only noticed this in the past week or so.
Report comment to moderator  
Reply With Quote
Unread 07-24-09, 06:07 AM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
For me, the frame rate has been nearly indiscernable from the standard nameplates (even while raiding); Such a slowdown is not normal operation. (Meaning; it can be fixed)

Also, have you reset your interface since the last patch? Have you tried v4.11?

Originally posted by duhwhat
well it's definitely tidy plates, and to some extent the wide theme. my fps with standard nameplates is acceptable, pretty bad with tidy plates enabled, and atrocious with tidy plates wide enabled. I've only noticed this in the past week or so.
Report comment to moderator  
Reply With Quote
Unread 07-24-09, 08:03 AM  
duhwhat
A Wyrmkin Dreamwalker

Forum posts: 51
File comments: 236
Uploads: 0
Originally posted by danltiger
For me, the frame rate has been nearly indiscernable from the standard nameplates (even while raiding); Such a slowdown is not normal operation. (Meaning; it can be fixed)

Also, have you reset your interface since the last patch? Have you tried v4.11?
Yes, this was with 4.11, in a 25 man raid on Freya detonating lashers. I haven't touched anything in my interface recently except incremental updates of tidy plates.

also: where can i test performance in an environment similar to Freya detonators, other than in a raid setting? where can i stress the system to the max with 15-20 nameplates?
Last edited by duhwhat : 07-24-09 at 08:15 AM.
Report comment to moderator  
Reply With Quote
Unread 07-24-09, 11:18 AM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
I like to test in Wintergrasp (often with more than 15-20 nameplates) or going into a low level dungeon and rounding up a big group of mobs. If you really want an extreme test (and can get there): The Rookery in Blackrock Spire.

Originally posted by duhwhat
Yes, this was with 4.11, in a 25 man raid on Freya detonating lashers. I haven't touched anything in my interface recently except incremental updates of tidy plates.

also: where can i test performance in an environment similar to Freya detonators, other than in a raid setting? where can i stress the system to the max with 15-20 nameplates?
Report comment to moderator  
Reply With Quote
Unread 07-24-09, 04:29 PM  
dc_roenfanz
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 38
Uploads: 3
Editing the artwork

Hello :-)

I like you're mod, it's extremely helpful in instances because I can immediately tell which mobs are attacking me and which aren't. Anyway, I've been editing the included files to something a little bit more my flavor.



However, sometimes (often enough to be annoying), it looks like the layering of the frames gets reversed, so the glow is "behind" the name plate instead of on top, producing basically a whitebordered fram, edged in red, instead of above.

Any idea's on why that would be?
Report comment to moderator  
Reply With Quote
Unread 07-25-09, 11:54 PM  
doudoufr
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 6
Uploads: 1
Bug?

I find a bug, we can't use the shadow option for the specialText, to make it work, you need to add the var "shadow" in the default skin...

After you will be able to set it on or off... but if this var isn't there, it can't work...

In fact the problem is there :

if type(custom) == "table" then
for category, propertylist in pairs(template) do
newconfig[category] = {}
for property, defaultvalue in pairs(propertylist) do
if type(custom[category]) == "table" then customvalue = custom[category][property] else customvalue = nil end
if type(customvalue) == type(defaultvalue) then newconfig[category][property] = customvalue else newconfig[category][property] = defaultvalue end
end
end
return newconfig
else return nil


By this function, you will create your global model with the default style.

That mean, if you try to add a new "parameter", like shadow if it don't exist in the default style, it will not be able to work.

So you must set in your default skin all possible parameter even if you put them off or nil or to 0.

i.e. Default skin :

config.specialText = {
typeface = path.."\\Calibri.ttf",
size = 9,
width = 74,
height = 9,
x = 0,
y = 0,
align = "RIGHT",
anchor = "BOTTOMRIGHT",
vertical = "TOP",
}


We can see we don't have any "shadow" parameter, that mean if i create in my custom skin like that :

config.specialText = {
typeface = path.."\\Calibri.ttf",
size = 9,
width = 74,
height = 9,
x = 0,
y = 0,
align = "RIGHT",
anchor = "BOTTOMRIGHT",
vertical = "TOP",
shadow = true,
}


this parameter will never be use, and your custom skin will not be able to work correctly (no shadow effect ! ).

If you want you can try and you will see ..

I will try to explain it more physically .. :
Your fonction LoadStyle() will inject the custom style (the table), to your global table...
But you create this global table with the "design" of the default style, it will result we will not able to add new vars..

If we take the SpecialText case, all custom style will be able to have only this parameters :
- typeface
- size
- width
- height
- x
- y
- align
- anchor
- vertical

When you will fletch the custom style, only this category will be forward to your global table, conclusion : only this parameter can be use

I hope my english is "enough" to make you understand it
Last edited by doudoufr : 07-26-09 at 12:11 AM.
Report comment to moderator  
Reply With Quote
Unread 07-26-09, 12:22 AM  
doudoufr
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 6
Uploads: 1
Suggestion : Outline

As you see, i'm working on your addon. I see you don't have put a function to be able to use the outline on the font.

You can modify your code as below to add this new feature :

-- >>> ------------------------------------------------------------------------------------------------- >>>
local function OutlineSelector (style)
if style == 1 then
return "OUTLINE"
elseif style == 2 then
return "THICKOUTLINE"
else
return ""
end
end
-- >>> ------------------------------------------------------------------------------------------------- >>>
local function ApplyFontStyle(text, style)
text:SetFont(style.typeface, style.size, OutlineSelector(style.outline))
text:SetJustifyH(style.align)
text:SetJustifyV(style.vertical)
text:SetDrawLayer("ARTWORK")
if style.shadow then
text:SetShadowOffset(1,-1)
text:SetShadowColor(0,0,0,1)
else
text:SetShadowColor(0,0,0,0)
end
end
-- >>> ------------------------------------------------------------------------------------------------- >>>


After, don't forget to add it to the "text" field in your default skin like this exemple :

config.name = {
typeface = path.."\\Calibri.ttf",
size = 9,
width = 62,
height = 9,
x = 1,
y = -1,
align = "LEFT",
anchor = "TOPLEFT",
shadow = true,
vertical = "BOTTOM",
outline = 0,
}


As you will be able to read the parameter outline have 3 values :
- 1 : outline (its a thin outline)
- 2 : thickoutline (its a bold outline)
- othervalue, but 0 its more "beautiful" to set it off

I really like your addon but you have a big lack of documentation, don't hesitate to contact me to help you to do that !

I'm still working on more feature to allow us to customize our style..

88~~
Last edited by doudoufr : 07-26-09 at 12:24 AM.
Report comment to moderator  
Reply With Quote
Unread 07-26-09, 05:48 PM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
Re: Bug?

Yes, your English is fine. And, I appreciate the code :-)

Lack of support for changing shadow or outline is not a bug; Simply, I didn't have time to add those features (the intent is to add it in the future). The functions in LoadStyle are working as intended; It makes the default theme act as a template, and an error-checking tool. Any property that Tidy Plates can change will be defined in that default theme. Since Tidy Plates does not use the 'shadow' tag, it doesn't need to be defined in any of the property trees, yet. Eventually, I'll include those features.

And, Yes, I agree; There's a lack of documentation. All I can say is, "Patience! I'm working on it."


Originally posted by doudoufr
I find a bug, we can't use the shadow option for the specialText, to make it work, you need to add the var "shadow" in the default skin...

...
Last edited by danltiger : 07-26-09 at 06:14 PM.
Report comment to moderator  
Reply With Quote
Unread 07-26-09, 06:08 PM  
danltiger
A Murloc Raider
 
danltiger's Avatar
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 1522
Uploads: 13
Re: Editing the artwork

Just a guess; The draw order of the UI elements in the same layer are not always the same. I can put the threat glow on another draw layer, which should make the effect more consistent.

I hadn't noticed it before, mostly because all the themes that I've designed (and used for long periods of time) have the threat glow as a border, with the silhouette of the health bar overlay being knocked-out.

Originally posted by dc_roenfanz
Hello :-)

I like you're mod, it's extremely helpful in instances because I can immediately tell which mobs are attacking me and which aren't. Anyway, I've been editing the included files to something a little bit more my flavor.



However, sometimes (often enough to be annoying), it looks like the layering of the frames gets reversed, so the glow is "behind" the name plate instead of on top, producing basically a whitebordered fram, edged in red, instead of above.

Any idea's on why that would be?
Report comment to moderator  
Reply With Quote
Unread 07-30-09, 12:42 PM  
Skeletawr
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Love the addon

I love this addon for it's function, changes the dynamic of the tank-healer combo to a wonderful degree, but I would really like the ability to customize it's look and seeing as I can't lua at all I was wondering if there was any plan to implement a simple options feature; colors, type, border etc.

Thanks again for the great addon!
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: