Category: Beta-version AddOns
Addon Information
Works with 3.3
Download Latest Version.
To add favorites please register for a free account. If you already have one you need to login. How do I install this? (FAQ)
acapela's Portal Bug Reports Feature Requests
Author:
Version:
Aloft-2.8.15-1616
Date:
02-04-2010 04:24 PM
Size:
694.23 Kb
Downloads:
383,102
Favorites:
1,186
MD5:
Pictures
Click to enlarge
Blizzard Default Nameplates
Click to enlarge
Aloft (Default Settings)
Click to enlarge
Aloft (Custom Settings)
Click to enlarge
Aloft Legend (Custom Settings)
Click to enlarge
Aloft Options (Waterfall), showing Dynamic Modules
Aloft (Beta)   Updated this week!   Popular! (More than 5000 hits)
This page is best viewed using the WoWI "default" or "dark" theme. Apologies for any inconvenience.
-----
The following is adapted from the original project description. Disclaimers at the bottom.
-----
This is a BETA release. Seeking assistance with any/all localizations (deDE, esES, frFR, koKR, ruRU, zhCN, zhTW, any/all others).
-----

Aloft is an addon that allows you to customize and enchance how nameplates and nameplate casting bars appear in the game.

The Aloft FAQ is HERE, please review it. (And please feel free to request additional information/clarification.)

NOTE: Aloft 2.8.3 or later is required for WoW 3.2. Aloft 2.8.12 or later is required for WoW 3.3.

Quick answers to current "problems" (see recent Change Log entries for additional details):
-------------------------
Recent Changes (Aloft 2.8.15):
- tried to fix a few problems related to text tags, concatenating opposing conditions, and "attempt to concatenate boolean value" errors; those of you with a lot of custom tags, please report any problems
- added a "[Type]" text tag; returns a string, see AloftTags.rtf
- added an "[IsPlayer]" text tag; returns a boolean (LUA-style, true/not-nil or nol), whether unit is/is-not a friendly player or hostile flagged player
- added an option to "bounce" (toggle) nameplates when AloftAutoShow changes nameplate overlap settings automatically (disabled by default; option under "Overlap Name Plates" options)
- applied a fix to SetFrameLevel() processing to prevent the value from going out of range
- validated with WoW 3.3.2-11403 (02-Feb-2010 in north america)

Recent Changes (Aloft 2.8.14):
- adjusted all frame levels, now relative against the underlying nameplate frame
- applied a blend mode on all texture regions (including backdrops) to "improve" behavior of UI object layering
- latest/greatest CallbackHandler-1.0 (from Ace3)

Recent Changes (Aloft 2.8.13):
- fixed tooltip scraping to locate unit comments and pet owner's names correctly
- fixed problem with target tracking that had broken AloftCastWarning
- attempted fix to LUA recursive loop when encountering "Unknown" units (for those of you who actually encounter "Unknown" units, please help test)

Recent Changes (Aloft 2.8.12):
- intended for WoW 3.3 only; WoW 3.1/3.2 users, please continue using earlier versions
- adjusted tooltip scraping to account for the faction level that now appears on line 2 of all tooltips; not exhaustively tested, watch for bugs
- moved show/hide options entirely to "AloftAutoShow" module (Blizzard offers these as standard UI options in WoW 3.3); these are no longer available through Aloft except via the "AloftAutoShow" module
- enhanced the "AloftAutoShow" options to offer automated control over all the new Blizzard nameplate options (WoW 3.3); includes nameplate overlap; this causes a SavedVariables change, please reconfigure all profiles and watch out for crashes
- enhanced cast bar spell icon processing to explicitly show/hide the icon when the UI shows/hides the cast bar (attempted workaround for Zukuu's problem)
- expanded attempts to handle "Unknown" units, including applying a nameplate health bar color (user options, under "Health Bar>Colors>Unknown" and "Frame>Background>Colors>Unknown"); these changes are untested, and will only work in "enUS" locale
- changed default setting for "Nameplate Glow>Threat Status Colors>Low Threat" from "red" to "green" (to differentiate from Blizzard threat colors)
- updated Acapela preset with new auto-show options

Recent Changes (Aloft 2.8.11a):
- Aloft no longer disables the mouse for "hidden" nameplates; too many unintended side-effects when the WoW client recycles nameplates

Recent Changes (Aloft 2.8.11):
- enhanced Aloft to switch "hidden" nameplates over from zero (0) alpha to "hidden", when combat ends; changed associated Aloft "Visibility" option to "Use Nameplate Alpha In Combat"
- enhanced Aloft to disable the mouse on "hidden" nameplates, when combat ends (works intermittently)
- attempted to apply some fixes (in a few selected places in Aloft) to disable data-gathering on "Unknown" units, as well as updating formerly "Unknown" units when they become known; needs testing (i cannot reproduce these issues)
- switched Aloft's Combat Text module over to use COMBAT_LOG_* events (as opposed to the UNIT_COMBAT event), which allows Aloft to track combat log activity based on UnitGUID, and display combat text on "identifiable" non-target/non-group nameplates (with the usual limitations: unit name must be unique, or the unit must have a raid target assignment, etc)
- added new options to Aloft's Combat Text module to allow additional filtration of combat text display
- aligned the spell school colors used by Aloft's Combat Text module more closely with Blizzard's standard combat log spell colors; please help test to insure that "white damage" actually displays as "white" (or whatever color you have "Combat Text>Colors>Text" set to)
- fixed a defect in UnitID data gathering that was causing group UnitIDs to be updated redundantly
- nameplate glows now recognize changes to stance/form/presence/aura, and update all visible nameplates accordingly, even in combat
- separated Nameplate Glow "invert" logic from Nameplate Glow "explicit low threat" logic, so that they work independently; those of you who "invert" nameplate glows, please help test and tell me if this works "better"
- made the use of "recently damaged" a user option under Nameplate Glow (defaults to false); "recently damaged" is not a generic "in combat" indicator, it really does indicate "recently damaged" (i.e. damaged in what looks like the past 5 seconds); dunno if this is a recent Blizzard change, or if i was confused all along
- updated "Acapela" preset with small changes to alpha settings
- added a visibility filter capability based on unit name (finally identified an "efficient" way to do it); build/maintain your own list of "invisible"/"hidden" unit names, under Aloft's "Visibility>Unit Name" options

---
Aloft's new [Truncate] text tag

Aloft has a new text tag (requested by user EmpireDawn): [Truncate].

Aloft's [Truncate] tag is not exactly like LibDogTags3.0 (because Aloft's tag syntax is not exactly like LibDogTags3.0). By default, with Aloft's [Truncate] tag, no form of "ellipses" or continuation text is incorporated.

The "canonical" form of this tag is: [value:Truncate(number{,string})]

In Aloft's syntax, the "number" argument (the first argument, which is mandatory) specifies the number of characters to truncate "value" to. And if present, the "string" argument (the second argument, which is optional, and must be explicitly specified by the user; there is no default) is appended to the truncated value in the resulting text as a "continuation" or "ellipses" string (to flag that "value" has been truncated). The "string" does not count towards "number".Examples:
  • ["MyName":Truncate(5)] becomes "MyNam"
  • ["MyName":Truncate(5,"...")] becomes "MyNam..."

---
!!Tag Error!! Problems? Aloft options have disappeared? Aloft Presets not available or not loading properly?

A lot of Aloft functionality is now "dynamic" (not loaded by default). Enable this dynamic Aloft functionality via Aloft's "Modules" options. (See the screen shot of Aloft's options on the WoWInterface page for Aloft.)

!!Tag Error!! Issues: If you have "!!Tag Error!!" problems, either enable modules carefully one at a time until the problem(s) goes away, or (especially for custom text tag configurations) look at the document "AloftTags.rtf" (bundled with Aloft, in .../Interface/AddOns/Aloft/AloftTags.rtf), which details which text tags are supplied by which modules. A more detailed procedure is provided below.

Missing Options: If a module is not enabled, its options will not be present (as if the module was physically absent). If options seem to be missing in Aloft's waterfall, check to see if the associated module is enabled in Aloft's "Modules" options. Enable the module, and its options should appear "on the spot". (Only the AloftLDB module is loaded by default, to save memory.)

Presets: Aloft "dynamic" modules must be enabled before presets can be applied to them, and the "AloftPresets" module itself must be enabled before presets can be used at all. (the AloftPresets module is disabled by default to save memory.) A more detailed procedure is provided below.

!!Tag Error!! procedure, with nameplates displayed/visible:
  • Enable a module (ideally only one, one at a time), as desired
  • Inspect visible nameplates, see if one or more "!!Tag Error!!" problems are gone
  • If not, disable the module again (you probably don't need the module in order to validate a text tag)
  • Continue by enabling another module...
  • When complete, reload your UI
Presets procedure:
  • Enable all modules (or, for experienced users, just desired modules)
  • Enable "AloftPresets" module
  • Select the desired preset
  • Disable undesired modules
  • Disable the "AlotPresets" module
  • Reload your UI (and if it appears you need to engage in "excessive" UI reloading, temporarily disable all other addons except Aloft first)
  • Adjust the appearance of Aloft, in detail via options for enabled modules, as desired
  • (optional) Save your options as a named profile
To "goose" Aloft, try to Force Rebuilding of Text Tags, with nameplates displayed/visible:
  • click on the "Regenerate Text Tags" button/option under Aloft's "Modules" options
  • "cycle" or "bounce" all enemy/friendly nameplates (by disabling/reenabling all visible nameplates via keybindings or Aloft's basic "Show" options at the very top of the options menu)
Rinse/Repeat any/all of the above, as needed, to arrive at the desired configuration.

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

Options:

"/aloft"
"/aloft waterfall"

Direct support for FuBar (here and here) and LibDataBroker-1.1 are incorporated.

Under WoW 3.0.2 and later, Aloft no longer requires (nor can it even benefit from) external libraries for health estimation (i.e. MobHealth3, LibMobHealth-4.0, MobInfo2) or threat (i.e. Threat-2.0)
-----
The customization options in Aloft allow you to change the size, shape, anchors, font, font options, textures and colors of:
1. Name text
2. Level Text
3. Health Bar
4. Mana Bar
5. Cast Bar
6. Spell Icon
7. Boss Icon
8. Raid Icon
9. Mouseover Highlight

Aloft also enhances the display by providing options for:
1. Health text - you can display health percentage, health, or health deficit right on the nameplate
2. Spell name - Aloft will place the spell name right on the casting bar
3. Spell casting timer - Displays the remaining casting time
4. Combo Points/Lacerate/Sunder text - Displayed on current target's nameplate for druids (while in the relevant form), rogues, and warriors
5. Recently Damaged icon - Displays an icon next to any unit that has recently taken damage
6. Finer visibility control - A collection of options that give you specific control over which nameplates are shown - eg. You can hide friendly pets, out-of-guild players, and lots more
7. Guild Text - Show guild information right on the nameplate. Shows abbreviated forms by default.
8. Border and backdrop color
9. Comments - Show "Banker", "Flight Master" and other automatically gathered comments, or your own custom ones right on the nameplate
10. Mana Bar/Text - show group member/pet/summon mana, energy, rage
11. Combat Text - display all damage and healing done to group members or targets right on the plate.
12. Pets Owner's Names
13. Polymorph Timer/Shackle Undead/Banish Timer bars
14. Unit Aliases
15. Class Icons
16. Player Titles (PvP, Reputation, and Achievement titles, segregated by prefix or suffix)
17. Experimental: Target-of-target subsystem; see FAQ
18. Keybindings for toggling enemy nameplates, friendly nameplates, and all nameplates
19. Integrated with SharedMedia (for extra fonts and textures: SharedMedia)

Finally, Aloft (this UPDATED version) provides a full-featured threat indicator capability:
1. Player threat displayed on player target's nameplate (the player has no bar-style nameplate)
2. Group threat (including pets/summons) displayed on group nameplates; see FAQ
3. Threat bar and threat text capabilities
4. Threat bar and threat text can be enabled independently
5. Can be enabled while solo (for pet-owning classes)
6. Control over display colors to indicate common threat and maximum threat thresholds
7. Threat gain threshold display (i.e. omen-style "aggro bar") capability for player threat
8. Threat threshold nameplate "glow" (separate from aggro glow, see below); Threshold can be customized
9. Experiemntal: AOE threat subsystem; threat displayed on hostile nameplates for units other than the player's current/active/primary target; see FAQ

As well, on a related note, Aloft provides:
10. Aggro namplate "glow" (for AOE tanking/etc), replacing the Blizzard native aggro "glow"; Note that aggro glow is completely separate from threat system

NOTE: Aggro nameplate "glow" will only be displayed if the underlying Blizzard "Display->Display Aggro Warning" is enabled for the state you are in (i.e. Always/Party/Instance, etc)
-----
Other threat addons (thanks to their authors for unknowningly providing example code for Aloft's current threat implementation):
Omen3: Omen
IceHUD_Threat (now obsolete; primary target threat is a direct feature of IceHUD): IceHUD, IceHUD_Threat
ZThreatMeter (now apparently obsolete): ZThreatMeter
-----
All of the additional options are written to require no additional overhead if they're not enabled (though they will occupy memory when Aloft is loaded).

Aloft is designed to be easily extensible. All of the functionality is separated into discrete modules which should make it relatively easy for people to tinker with adding their own functionality.

If you want additional texture options, make sure you install SharedMedia. For additional font options, ClearFont2 and its fontpacks provide a number of extra font choices.

Documentation for the text tag format is included with the addon (look at the file AloftTag.rtf). Please also look at CREDITS.txt and CHANGELOG.txt for a history of the project.

Aloft is still (again?) a work in progress. Defect reports, feature requests, and code reviews are welcome.

On behalf of all the original contributors, Acapela hopes you enjoy it.
-----
DISCLAIMER: Acapela is not the original author of this addon. Please refer to README.txt, CREDITS.txt, and CHANGELOG_WOWACE.txt for more information on the history of Aloft.

Aloft has been updated. It would be branded a "fan update" except the original author(s) have long since vanished, and Aloft is in fact being actively maintained, for the forseable future, by Acapela.

Acapela intends to host the addon here at WoWInterface (SVN and distribution).
NOTE: The addon is not maintained by Acapela at either of WoWAce or CurseForge (though earlier/"original" versions are still available there).
The WoWAce revision on which this version is based is r80814 (http://www.wowace.com/projects/aloft/; this is WAY out of date, now a WoWAce "obsolete" project; the WoWAce version was not transferred to Curse).

Please report all errors as they are discovered (either in the comments for Aloft here on WoWInterface, or via the WoWInterface bug report mechanism), and Acapela will attempt to resolve them and apply a fix.

Acapela will participate in the forum thread for Aloft at WoWInterface (http://www.wowinterface.com/forums/s...ad.php?t=18093), as well as the commentary associated with the page for the addon itself at WoWInterface.
Acapela will continue to participate in the the original official forum thread at WoWAce (http://forums.wowace.com/showthread.php?t=5437).
A private message to "acapela" at WoWInterface will also reach him.

Acapela does not want Aloft to die, so Acapela will make every effort to find someone to take over should he find himself unable to continue with this commitment. If anyone would be interested in participating in development, please contact Acapela.

NOTE: Current users of Aloft should backup/delete their .../Interface/Addons/Aloft folder before installing this version of Aloft.
It would also probably be a good idea, to avoid problems, to backup/delete your .../WTF/Account/<WoWUsername>/SavedVariables/Aloft.lua file as well.
----------
As always, Aloft is free with your materials, but if you want to donate: Click here to lend your support!
  Change Log - Aloft (Beta)
2.8.15-1616
- tried to fix a few problems related to text tags, concatenating opposing conditions, and "attempt to concatenate boolean value" errors; those of you with a lot of custom tags, please report any problems
- added a "[Type]" text tag; returns a string, see AloftTags.rtf
- added an "[IsPlayer]" text tag; returns a boolean (LUA-style, true/not-nil or nol), whether unit is/is-not a friendly player or hostile flagged player
- added an option to "bounce" (toggle) nameplates when AloftAutoShow changes nameplate overlap settings automatically (disabled by default; option under "Overlap Name Plates" options)
- applied a fix to SetFrameLevel() processing to prevent the value from going out of range (AloftFrame.lua line 296 error/etc)
- validated with WoW 3.3.2-11403 (02-Feb-2010 in north america)

2.8.14-1600
- adjusted all frame levels, now relative against the underlying nameplate frame
- applied a blend mode on all texture regions (including backdrops) to "improve" behavior of UI object layering
- latest/greatest CallbackHandler-1.0 (from Ace3)

2.8.13-1589
- fixed tooltip scraping to locate unit comments and pet owner's names correctly
- fixed problem with target tracking that had broken AloftCastWarning
- attempted fix to LUA recursive loop when encountering "Unknown" units (for those of you who actually encounter "Unknown" units, please help test)

2.8.12-1545
- intended for WoW 3.3 only; WoW 3.1/3.2 users, please continue using earlier versions
- adjusted tooltip scraping to account for the faction level that now appears on line 2 of all tooltips; not exhaustively tested, watch for bugs
- moved show/hide options entirely to "AloftAutoShow" module (Blizzard offers these as standard UI options in WoW 3.3); these are no longer available through Aloft except via the "AloftAutoShow" module
- enhanced the "AloftAutoShow" options to offer automated control over all the new Blizzard nameplate options (WoW 3.3); includes nameplate overlap; this causes a SavedVariables change, please reconfigure all profiles and watch out for crashes
- enhanced cast bar spell icon processing to explicitly show/hide the icon when the UI shows/hides the cast bar (attempted workaround for Zukuu's problem)
- expanded attempts to handle "Unknown" units, including applying a nameplate health bar color (user options, under "Health Bar>Colors>Unknown" and "Frame>Background>Colors>Unknown"); these changes are untested, and will only work in "enUS" locale
- changed default setting for "Nameplate Glow>Threat Status Colors>Low Threat" from "red" to "green" (to differentiate from Blizzard threat colors)
- updated Acapela preset with new auto-show options

2.8.11a-1435
- Aloft no longer disables the mouse for "hidden" nameplates; too many unintended side-effects when the WoW client recycles nameplates

2.8.11-1431
- enhanced Aloft to switch "hidden" nameplates over from zero (0) alpha to "hidden", when combat ends; changed associated Aloft "Visibility" option to "Use Nameplate Alpha In Combat"
- enhanced Aloft to disable the mouse on "hidden" nameplates, when combat ends (works intermittently)
- attempted to apply some fixes (in a few selected places in Aloft) to disable data-gathering on "Unknown" units, as well as updating formerly "Unknown" units when they become known; needs testing (i cannot reproduce these issues)
- switched Aloft's Combat Text module over to use COMBAT_LOG_* events (as opposed to the UNIT_COMBAT event), which allows Aloft to track combat log activity based on UnitGUID, and display combat text on "identifiable" non-target/non-group nameplates (with the usual limitations: unit name must be unique, or the unit must have a raid target assignment, etc)
- added new options to Aloft's Combat Text module to allow additional filtration of combat text display
- aligned the spell school colors used by Aloft's Combat Text module more closely with Blizzard's standard combat log spell colors; please help test to insure that "white damage" actually displays as "white" (or whatever color you have "Combat Text>Colors>Text" set to)
- fixed a defect in UnitID data gathering that was causing group UnitIDs to be updated redundantly
- nameplate glows now recognize changes to stance/form/presence/aura, and update all visible nameplates accordingly, even in combat
- separated Nameplate Glow "invert" logic from Nameplate Glow "explicit low threat" logic, so that they work independently; those of you who "invert" nameplate glows, please help test and tell me if this works "better"
- made the use of "recently damaged" a user option under Nameplate Glow (defaults to false); "recently damaged" is not a generic "in combat" indicator, it really does indicate "recently damaged" (i.e. damaged in what looks like the past 5 seconds); dunno if this is a recent Blizzard change, or if i was confused all along
- updated "Acapela" preset with small changes to alpha settings
- added a visibility filter capability based on unit name (finally identified an "efficient" way to do it); build/maintain your own list of "invisible"/"hidden" unit names, under Aloft's "Visibility>Unit Name" options

2.8.10-1359
- added option to AloftVisibility to use nameplate alpha instead of Region:Hide() to "hide" individual nameplates; requires the AloftAlpha module to be enabled
- added 'deDE' localization for totem visibility/color exception mechanism (does not affect the options menu, just the ability to detect totem/etc unit names); needs testing

2.8.9-1311
- fixed issues with nameplate color updates in PvP (seems to be working correctly now; thanks to Zukuu and Maldazzar for their help with testing)
- added "explicit low threat indicator only in combat" option to "Nameplate Glow"; shows an explicit low threat/no threat glow when both player and target are in combat (still no glow when target is not in combat; turn this option off to obtain that)
- added "invert only when tanking" option to "Nameplate Glow" (requested by user "jtbalogh"; turns "invert" on only when tanking; requires "Invert" option, plus Warrior/Defensive Stance, DeathKnight/Frost Presence, Druid/Bear, or Paladin/Righteous Fury)
- incorporated [Truncate] text tag (requested by user "EmpireDawn"); see Aloft front page or Acapela's FAQ for documentation
- added Cleansing Totem to list of totem exceptions (under "Visibility")
- added Mana Tide Totem to list of totem exceptions (under "Visibility"); yes, all totems will eventually be incorporated
- fixed a few defects in totem visibility/color exception processing (Aloft was occasionally confusing totems with pets, which they are in effect, but Aloft still needs to treat them differently)
- updated ruRU locale, courtesy of StingerSoft
- updated to latest/greatest Ace2 (apparently fixes a rare bug in AceEvent-2.0)

2.8.8-1272
- put the more complex workaround back in for "giant cast bar" syndrome and "reappearing spell icon" syndrome; looks like this will have to be done the hard way
- added checks for the availability of the "GetTotemExceptionColor()" function; it is part of an optional module, its absence should result in default behavior
- added some frame-delay processing to totem nameplate hiding (which still cannot occur during combat) and exception color application; mechanism operates more reliably now

2.8.7-1155
- simplified the workaround to "giant cast bar" syndrome, applied a similar mechanism to work around "unwanted disabled cast bar spell icon" syndrome
- implemented an exception mechanism for showing hostile totems of "PvP significance"; mechanism allows individual visibility control over hostile tremor, grounding, and earthbind totems (currently for the enUS locale only), and health bar color customization for those totems

2.8.6-1243
- replaced Blizzard "shield" graphics for uninterruptable spells with a graphic over the cast bar spell icon (look at "Cast Bar>Spell Icon>Shield" options)
- added features to detect and change cast bar color/texture/border on uninterruptable spell casts, provide separate cast bar options for interruptable/uninterruptable spells
- enhanced to work around "giant cast bar" pathology by resetting cast bar size/placement at regular intervals when cast bar is visible
- fixed glitch in update of recently damaged icon when its options are changed
- updated with most recent Shaman class color
- added DK bloodworm nameplates to totem/snake control

2.8.5-1208
- got rid of cast bar "shield" graphics, during nameplate initialization
- switched to using the Blizzard TexCoords array for class icon art from FrameXML/Constants.lua
- eliminated LibBabble-Class-3.0; replaced with localized class name data from FrameXML/Constants.lua

2.8.4-1197
- fixed problem wil cast bar spell icon (was using the incorrect texture region as supplied by Blizzard in their nameplate assembly)
- attempted to fix some formatting in AloftTags.rtf

2.8.3-1190
- updated TOC for WoW 3.2
- updated (again) for WoW 3.2 to detect/handle some intermittent additional tooltip data, so that NPC "[Comment]" and "[PetOwnersName]" data is collected properly
- updated crowd control functionality to use a base duration of 10 seconds in PvP, and reduce from that if the actual CC skill used has a shorter duration (Cheap Shot/Kidney Shot); please help test in PvP
- updated crowd control functionality to load at startup for the Shaman class (so that hex timing can actually be used; sorry about that, i don't have a level 80 Shaman yet)
- fixed a defect in target tracking (with group unitids) that was affecting the AloftCastWarning addon
- Blizzard standard "Combat>Class Colors in Nameplates" interface option is forced on at "startup" (game session start, addon enable)
- user is warned when Blizzard standard "Combat>Class Colors in Nameplates" interface option is disabled
- added frame delay to class/guild/race data update
- fixed typo in AloftVisibility module descriptions (as they appear in waterfall tooltips)
- updated documentation on class color configuration option handling in AloftTags.rtf

2.8.2-1163
- adjusted frame level of backdrop frame, and draw layer of backdrop region, to layer with the rest of the nameplate better
- added code to adjust settings of Alpha options to make it difficult to set default and/or non-target alpha to the same values as target alpha
- increased the allowed range of the class icon size option
- added a "PvP" preset that assumes the user wants the "giant class icon over hostile PC targets' heads" look, but retained a few things in vestigal form, like name/level text, and health/mana bars (which the user can disable if desired)
- enhanced Aloft to add an "Empty" bar texture (from Recount) to SharedMedia at startup, to facilitate "disabling" the health bar (since it could be difficult to hide at the API level)
- reorded declaration of Threat module common localization data to try to work around a LUA problem reported by a zhTW user

2.8.1-1151
- fixed TOC typo, now 30100
- adjusted frame level and draw layers of various nameplate assembly elements so that nameplate frame, name text, and level text can remain at their default frame levels w/o layering problems in combat
- updated to detect the 3.2 PTR and handle the changed nameplate frame assembly
- updated to detect the 3.2 PTR and handle the changed tooltip locations for NPC "[Comment]" and "[PetOwnersName]" data (player title and guild data seems to be working)

2.8.0-1127
- updated TOC to interface version 31000
- enhanced extensively to employ a "backdrop frame" with its own color/border capability, for use in laying out "unit frame" style nameplates; refer to Aloft's "Frame" options and the "Unit Frame" preset
- health bar positioning approach has been changed to allow health bar, with its own border/background, to position independently relative to "backdrop frame"; this changes SavedVariables
- all other graphics elements now position (more-or-less) relative to the "backdrop frame", please adjust your layouts
- fixed some cryptic problems with nameplate identification that were preventing the threat subsystem from finding friendly nameplates and applying group threat bars/threat text properly
- refactored/enhanced AloftCrowdControl (re)attachment mechanism, including speculative attachment; watch for errors
- added Shaman Hex to AloftCrowdControl
- fixed problem with class color update when unit with visible nameplate joins a group
- fixed bugs in AloftCombatText color management, displayed colors now properly reflect UNIT_COMBAT event data; possible exception: hybrid schools like "frostfire", needs more testing
- enhanced to add/remove arena opponent unitids ("arena1" through "arena5") to target tracking when entering/exiting an arena venue
- fixed a few typos in auto-show location change handling
- updated "Acapela" preset with new layout parameters, added "Unit Frame" preset as an example of backdrop frame use
- got rid of the donate data in the TOC, this eliminates the "Donate" button on Aloft's menu
- latest/greatest libraries (no apparent functional changes)

2.7.8-934
- enhanced player target tracking, to insure AloftCastWarning would record spells cast by the player's current target
- beefed up processing to insure all disabled "Data Options" clear their associated SavedVariables, when actually disabled and if disabled on startup
- exposed neutral unit level and health to the user as options (under Aloft "Visibility>Critter" options), for use in making assumptions about what is a "critter" when nameplates first appear; overridden by mouseover/target action
- simplified friendly unitid collection for groups
- fixed a typo in ruRU localization, per vol4's bug report

2.7.7-898
- Mana Bar module now tracks Runic Power, as it decays over time (was not updating the bar correctly for Death Knights)
- put unitid acquisition/re-acquisition on nameplate appearance on a frame delay; this relies on unit "type" (friendly/hostile/etc), which in turn relies on default nameplate color
- incorporated some "ruRU" localizations courtesy of StingerSoft
- changed "Securely Tanking" nameplate glow override color default to a "bright" orange (more towards yellow than red)... dark magenta seemed to me too hard to see, plain orange seemed too close to the default red for hostile nameplates
- added "Explicit 'Low Aggro'" options to nameplate glow (primarily for those enabling "Use Nameplate"; this is set to a standard hostile "red" by default, essentially a no-op compared to the usual health bar color), so that those who wish can configure explicit display of "threat status 0"
- worked on OnNameplateShow processing some more, to insure that border target-only behavior works properly for mana/threat/crowd-control bars, and etc (still attempting workarounds for health bars)
- added Hibernate (and the Druid class) to crowd control module (ran out of time for rogue capabilities but want to try to add those next)
- a few small fixes for WoW 3.1.x, related to UnitThreatSituation() and UnitAura(), based on emerging Blizzard API changes on the PTR

2.7.6-864
- fixed a bug in option processing for the Aloft "Frame" module
- added current locale to version string presented to user in Aloft options screen and FuBar/LDB tooltips
- attempted a fix for problems with localizations not being in scope at optional module load time
- fixed problems related to nameplate glow color updates, verified that nameplate glow "Use Health Bar" capabilities are functional

2.7.5-854
- basic testing and updates for WoW 3.1.x
- added a "State Icon" feature, to allow user control over Blizzard's upcoming elite graphics on nameplates (will only be relevant on the PTR and when 3.1 goes live)
- added feature to enable frame borders on target only, for health bar, power bar, threat bar, cast bar, crowd control bar, etc
- worked on frame border update problems on nameplate "show", most of these problems now seem under control
- provided an option to make inverted nameplate glow appear only while in combat (instead of all the time)
- tracked down another unitid bug, this time affecting Visibility options, put all Visibility updating on a next-frame delay
- changed "Target-of-Target" options menu slightly, now called "Target Tracking"; no Saved Variables changes

2.7.4-810
- i believe i have found an "efficient" way to do AOE threat (i.e. threat versus the player on targets other than the current/active/primary); this is incorporated "experimentally"; see the FAQ for more details
- added a "Threat Bar>Group Threat" option, to permit group threat and AOE threat to be controlled separately
- changed the meaning of the "Threat Bar>Group Threat Update Interval"; now controls rate of AOE threat processing as well, and a value of 0.0 means "as fast as possible"
- increased the allowed range of the "Frame>Packing Height" and "Health Bar>Position" options to permit more freedom of position; NOTE: these can affect mouseover sensitivity, so take care
- frame backdrop/border/glow graphics now associate positionally with the health bar, instead of the (invisible) "nameplate frame"; facilitates altering the display "height" of the nameplate relative to the associated unit "character model"
- added option to "Nameplate Glow" to use health bar color for aggro indicator, instead of a glow, please help test this
- added "threat status colors" to "Nameplate Glow" options, so user can customize glow/health bar colors used to indicate "Blizzard" aggro thresholds; enable "Nameplate Glow>Override Colors" to use these colors
- changed "Nameplate Glow" default update interrval to 0.33 (will update glow 3 times a second), from 0.20 (5 times a second)
- some fine-tuning to the ruRU locale, courtesy of Xisraa and McFLY
- all localizations have been combined into one file per module, to reduce the number of files at addon load time; the old per-language files still exist, for the moment
- enhanced [IsTotem] tag processing; Aloft now treats Hunter snake trap "Viper" and "Venemous Snake" spawn nameplates as "totems" for the purpose of hiding (note: only affects these nameplates while out of combat, which will limit usefulness)
- incorporated the "old"/"teal" Shaman class color, and re-incorporated the current Shaman class color in such a way that Aloft will not be confused by addons like ReTeal
- tracked down a fairly subtle bug (manifesting for me on pet nameplates): leaving visible range and then returning was intermittently resulting in (pet) unitid not being restored to the nameplate (which breaks various other things)

2.7.3-767
- enhanced PlayerTitle module to supply a new PlayerTitleSuffixSeparated text tag; refer to AloftTags.rtf for details; example usage: [PlayerTitleSuffixSeparated(", "," ")]
- added a "ClassColor" text tag; example usage: [Name:ClassColor]
- enhanced Visibility module to allow hiding of hostile totem nameplates
- enhanced enUS locale totem name parsing, to identify totems ending in a spell rank number (needs to be extended to other locales: koKR, ruRU, zhCN, zhTW)
- beefed up AloftTarget module to handle occasional errors during dynamic load processing
- found/fixed typo in "Nameplate Glow" processing

2.7.2-745
- separated the existing AutoShow options into their own "player state" category, added a "player location" category (governing where the player is), made nameplate show contingent on the validity of one condition from each category
- refactored target tracking (for target-of-target and etc), extracted it to its own "always loaded" module, preparatory for using it in cast warning and PvP glow functionality
- got rid of options allowing user to disqualify race/class/raid-target as discriminators in target tracking (target-of-target); always use all of them
- made a variety of small changes to improve load-order processing of "dynamic" modules, hopefully will help with tag error messages
- changed Nameplate Glow logic to use a global Ace2 repeating event (rather than a frame OnUpdate hook), cleaned up code
- updated to latest/greatest version of Ace2

2.7.1-715
- changed checks for Broker2FuBar/FuBar2Broker: when Broker2FuBar is present, Aloft's LDB support is disabled (use Aloft's FuBar support directly); when FuBar2Broker is present, Aloft's FuBar support is disabled (use Aloft's LDB support directly)
- updates to zhCN/zhTW localization, courtesy of digmouse
- applied some syntatic changes to localization files, in preparation for recombining them back into a single/combined file; watch for "No translation" errors

2.7.0-667
- should have upped the version number to 2.7.x when i added the "AutoShow" functionality; this release should have been another bug-fix release for that major version
- AutoShow functionality is now a "dynamic module"; enable it under Aloft "Modules" options; this also changes the organization of SavedVariables, so once enabled, you will need to configure your "Auto Show" options again (menus will appear under the standard Aloft nameplate show/hide options when the module is enabled)
- AutoShow now has a "Set All" capability, under the relevant options; enabling this will apply changes to any AutoShow options for neutral/hostile (or friendly), nameplates apply to all options for the same type of nameplate (this applies to use of keybindings as well)
- TagCompiler-1.0 has been tweaked slightly, pending some interaction with its author(s), to generate empty strings when ~Tag/Not(Tag)/ColorIf()/etc conditions evaluate to "false"; please watch for unwanted side-effects in your text tags
- fixed intermittent LUA errors in AloftThreat and AloftStackedPointText modules
- enhanced to avoid status-change announcements when changing "Visibility" options or selecting/deselecting "dynamic" modules
- saw only occasional PvP titles on cross-realm players in my testing, so have disabled player title gathering for cross-realm units, so that realms are not confused with titles; will revisit this again later (should be possible to detect the realm in the player tooltip and parse around it, needs more experimentation)

2.6.5-644
- enhanced "Show Nameplate"/"Show Friendly Nameplate" functionality to control basic nameplate visibility automatically/conditionally on behalf of the user: on combat, on resting, on being grouped (and a default for when these conditions don't apply); a new feature, please watch for problems
- backed out optional dependencies on FuBar, Broker2FuBar, FuBar2Broker, and the mainstream Broker display addons (Carousel, Fortress, NinjaPanel, StatBlockCore)
- updated to latest/greatest FuBarPlugin-2.0 embedded library (r9 from WoWAce, which has gone back to being FuBarPlugin-2.0)
- fixed some typos in the ruRU localization (thanks to McFLY for the helpful report)

2.6.4-631
- made FuBar, Broker2FuBar, FuBar2Broker, and the mainstream Broker display addons (Carousel, Fortress, NinjaPanel, StatBlockCore) as optional dependencies, to enforce load order; if this is "bad" (you there, Phanx? :-), let me know, and i can back it out
- added an AceAddon-2.0 "InitializeAddon()" invocation to the load process for Aloft's FuBar and LibDataBroker dynamic modules; these are actually full/separate addons, not just Aloft modules, and initialization must be driven manually when they are loaded
- fixed bugs (FuBar/Broker libs not in TOC; Nameplate Glow color processing which was causing a LUA error; Crowd Control Bar default background color, which was inconsistent with other default background colors)
- updated to latest/greatest FuBarPlugin-2.0 embedded library (r7 from WoWAce, which is actually now FuBarPlugin-2.1)

2.6.3-617
- fixes and enhancements to AloftPlayerTitle module; player titles are somewhat dynamic, but it is now possible to cache the most recently seen prefixes/suffixes between sessions (look at Aloft "Data Options"; defaults to disabled); mouseover/target action will update them

2.6.2-612
- incorporated "ruRU" translations; thanks to Xisraa/Henrietta; i have no good way to test localizations, so: users of Russian-language WoW clients, please feel free to mouseover all menu items, proofread the text and watch for LUA errors, and report anything you see
- added "AloftPlayerTitle" dynamic module; this enables two new text tags: [PlayerTitlePrefix] and [PlayerTitleSuffix] (for leading and trailing titles, so you can format them accordingly); scrapes tooltips on mouseover/target action, watch for inaccuracies, especially on rapid mouseover
- re-applied "simple" fixes/workarounds to changes to unit level and name that occur "behind Aloft's back"; dropping and re-aquiring target should update name/level text
- added border/border color, spell icon, spell name/rank text, and remaining spell time text to crowd control bar (NOTE: Aloft crowd control subsystem has restrictions, read project description and FAQ)
- reorganized crowd control module options, to make them consistent with other "bar" functionality (mana/threat/castbar, etc); changes to SavedVariables have occurred, you will need to reconfigure your "Crowd Control" options
- added "color transition" to stacking point debuff text (lacerate/sunder); text counter will change slowly through a continuous range from one color to another as the debuff slowly counts down; the two colors at each end of the range are user-selected, defaults set to cyan (at maximum remaining time) and red (at minimum remaining time)
- reorganized stacking point debuff options (changes to menu organization only), to make consistent with other "text" functionality; there should be no changes to existing SavedVariables (though there is an extra color in the options now, for the color transition capability)
- enhanced creature type processing to "assume" any neutral level 1 NPC with <= 8 maximum health is a "critter"; this will not catch all critters (but should catch most typical ones); this may cause problems with other NPCs, please report any errors
- re-named the Aloft "AloftSpellNameText" module to "AloftCastBarSpellNameText", for consistency; the module will need to be re-enabled, no changes to SavedVariables
- AloftPresets is now a dynamic module; if you want access to presets, enable the module via the "Modules" options

2.6.1-570
- backed out "simple" initial fixes/workarounds to changes to unit level and name that occur "behind Aloft's back", pending more thorough analysis/testing of framerate/update issues
- made border/border color separate/independent options on each of cast bar, mana bar, and threat bar

2.6.0-559
- rolled all Aloft functionality back into a single addon folder, and implemented a poor-man's "dynamic load" mechanism (like that used by Prat; kudos to Sylvanaar)
- enhanced AloftStackedPointsText module to permit combo points on any class (e.g. dailies and Malygos raid encounter; nod to Gnarfoz for identifying this problem); needs testing
- enhanced AloftStackedPointsText module to sense druid form changes, and switch from lacerate count to combo point count on the fly
- enhanced cast bars, mana bars, and threat bars to use the same border/border color settings as the health bar (which is controlled under Aloft "Frame" options)
- added functionality to re-apply visibility settings at end of combat (in case nameplates disappear/reappear during combat lockdown)
- critters should be hideable via "Visibility" options;
- attempted simple initial fixes/workarounds to changes to unit level and name that occur "behind Aloft's back"

2.5.2-403
- separated additional Aloft functionality out of the core addon: FuBar_AloftFu, Broker_Aloft, AloftClassIcon, AloftCombatText
- separated ComboPointsText functionality out of core addon, renamed to "AloftStackedPointsText", added Lacerate and Sunder support (available for Druid, Rogue, and Warrior appropriately)
- separated Polymorph/ShackleUndead functionality out of core addon, combined and renamed to "AloftCrowdControl", added Banish support (available for Mage, Priest, and Warlock appropriately)
- provided "invert" options under "Nameplate Glow" and "Threat Bar>Threat Flash", to enable glows in the "opposite" fashion (i.e. when player does not have aggro, or when threat is below threshold)
- added a couple of new "glow" textures, selectively truncated so they do not obscure elements of the nameplate
- made the new "ThreeQuartersSoftOutline" texture the default for threat flash

2.5.1-367
- made the "enUS" locale unconditional in the new Aloft "child" addons, as the default locale; this should get rid of the "translation does not exist" errors seen in 2.5.0-342
- added options to allow the user to control class colors (these default to the Blizzard colors, and can be reset to these defaults)
- added a couple of new "glow" textures, selectively truncated so they do not obscure elements of the nameplate
- made the new "ThreeQuartersSquareGlow" texture the default for aggro glows

2.5.0-342
- began the process of teasing Aloft apart into separate modules (which the user can physically disable if desired); no bugs fixed, really
- broke out AloftThreat Data/Bar/Text and AloftMana Data/Bar/Text functionality as separate modules
- enhanced AloftTags.rtf document to specify which modules originate which text tags (which will become increasingly important as this modularity increases)
- implemented AloftHealthBarDeficit optional module (which converts existing health bars to display a health deficit, growing from the right as health is lost); enabled via "Aloft>Health Bar>Deficit Health Bar" option, disabled by default
- updated to latest/greatest embedded libraries (LibRoster-2.1, which added "vehicle" as a valid unit; vehicles in groups not yet tested with Aloft, report any issues)

2.4.6-315
- checked over code used to monitor changes to group events (pet/party/raid), delegated completely to LibRoster-2.1
- fixed typo in use of UnitClass() method that was causing class validation on nameplate identification to fail
- fixed typo in mouseover vs. target class information gathering
- added some normalization of class names (normalized to the namespace returned in the second value of UnitClass(), and the class names in the RAID_CLASS_COLORS global), just in case parts of the non-localized Blizzard API and/or LibBabble-Class are inconsistent (i.e. return "DEATHKNIGHT" or "Death Knight" variously), etc
- added Runes/Runic Power to "[PowerTypeColor]" tag color table, enhanced to gather power type (as a string) from UnitPowerType(), added "[PowerTypeName]" and "[ShortPowerTypeName]" tags
- updated use of Blizzard's GetBattlefieldScore() to match new return value/order
- updated to latest/greatest versions of embedded libraries (LibBabble-Class-3.0), removed some older/unused versions of libraries

2.4.5-293
- checked over code used to calculate "[HealthFraction]|[ManaFraction]|[ThreatFraction]", fixed defects and made basic method of calculation consistent

2.4.4-288
- beefed up things like class/race/classification/creature-type/is-pet collecton/assignment to incorporate further cross-checking (including class colors on underlying Blizzard nameplates), to help disambiguate and/or clean up nameplates for hunters/pets when hunter and pet are named the same
- applied LUA's intrinsic math.ceil() to the calculation of the "[HealthFraction]" tag value, to insure fractional health does not show "0%" when targets actually still have health (for bosses, this could be a lot of health)
- added Death Knight as a class (esES locale users beware, LibBabble-Class-3.0 has no localizations for Death Knight)
- added Runic Power as a power type
- did small bits and pieces of code refactoring and cleanup here and there

2.4.3-261
- added Broker2FuBar and FuBar2Broker as optional dependencies, to force load order so that Aloft can sense their presence
- coded both LibDataBroker and FuBar support to sense the presence of the other guy's broker and disable itself if present
- if neither of the FuBar/LDB brokers are present, both FuBar and LDB support will load (and presumably not interfere with each other); if both are present, Aloft will offer neither FuBar nor LDB support; "/aloft waterfall" will have to be used
- enhanced Class Data collection to treat the color of a hostile nameplate as an indication of class when ShowClassColorInNameplate CVar is enabled by the user; colors are not apparently exact, so had to jump through some hoops
- fixed pernicious typo in global use of variable "profile" (which should have been declared local), which was breaking FuBar_LuckyCharms
- enhanced FuBar plugin to refresh Dewdrop when nameplates are "redisplayed" (primarily a function of Visibility options); this was ultimately yet another framerate-related update/delay issue (it is possible to bounce the ShowClassColorInNameplate CVar "too fast", programmatically from an addon)
- fixed bug in redisplay functionality that inadvertantly set all nameplates visible (basic options) when Visibility options were twiddled
- updated to latest/greatest versions of embedded libraries

2.4.2-244
- updated embedded libraries (looks like very minor TOC change(s))
- integrated with ShowClassColorInNameplate CVar and "beefed up" class-based information gathering and checking, so that health-bar colors and color text tags for hostile PvP targets will be checked and updated properly (i.e. as documented in AloftTags.rtf)
- addressed some very cryptic framerate-related update/delay issues induced by changing the ShowClassColorInNameplate CVar with live/actively-displayed nameplates; hopefully these are dealth with, but please watch for artifacts (i.e. "[HealthBarColor]"/"[OriginalHealthBarColor]" and health bar colors themselves not updating correctly)
- enhanced FuBar plugin to refresh Dewdrop when nameplates are "redisplayed" (primarily a function of Visibility options); this was ultimately yet another framerate-related update/delay issue (it is possible to bounce the ShowClassColorInNameplate CVar "too fast", programmatically from an addon)
- fixed typo in advanced color tags example in AloftTags.rtf; added hex color code for DeathKnight to AloftTags.rtf
- implemented class icon system (request from WoWAce user, and it was easy enough, once i knew where to go for the icon art)

2.4.1-221
- removed native LibDataBroker-1.1 (LDB) support; per user suggestion, those wishing LDB support should use Broker2FuBar
- fixed typo in ReportStatusChanges

2.4.0-215
- added LibDataBroker-1.1 (LDB) support, with mouseover status and shift-click waterfall instantiation (like the FuBar support); my LDB display of choice is Carousel
- fixed typo in FuBar support
- experimented with and cleaned up Frame dimension options, to allow nameplates to be more closely tiled on-screen (packing height/width) and to permit healthbar borders to be inset slightly (plain height/width)
- went ahead with SpellID-based implementation of GetSpellInfo (kudos to gix, who proposed it); my mage only has sheep-based polymorph, so i have no real means of experimenting with this purely via spell name
- shackle and polymorph timers will now attempt to identify active debuffs on the player's current target and retroactively attach a timer bar when the nameplate comes into range, even when the "speculative" option is disabled
- cast bar color may now be specified; looks like obvious enhancements, like coloring the cast bar according to spell school, and other such things, could be difficult
- looked into player titles... nothing in the Blizzard API lets you query them for other players; will investigate tooltip data as a workaround

2.3.1-201
- too much of a rush job; fixed the stupid typo; this version is identical to Aloft-2.3.1.200 except for the single typo
- my apologies, should have done my usual release test process

2.3.1-200
- a bit of a rush job, testing focused primarily on FuBar and ReportStatusChanges bugs; report any other problems and they will be addressed ASAP
- fixed various bugs in FuBar support
- fixed various bugs related to ReportStatusChanges
- updated embedded libraries, incorporated original TOCs and licensing as a means of providing author credit
- deprecated LibBabble-Spell-3.0, trying GetSpellInfo() instead; those in non-enUS locales, please see if your Polymorph and Shackle timers have localized spell names in them
- upgraded to LibGratuity-3.0 (tooltip scraping), though this is not searchable on Curse and is listed as a "beta"; watch for problems identifying vendor comments and pet owner names

2.3.0-174
- implemented experimental hostile target-of-target system, both for PvP targets generally and for instance targets that have a raid target assignment (only PvE requires raid target assignment); use the "[TargetName]" tag as usual
- the target-of-target system actually does require raid target assignments in PvE; PvE targets without raid target assignments will be ignored by the target-of-target system; race and class are sufficient in PvP (raid target assignments are not expected but will hurt nothing)
- watch for perceived "inefficiency" in the target-of-target system (UI pausing every 15 seconds to so) while in crowded PvP environments, or even in PvE environments; disable the feature if desired
- applied several bug fixes (Alpha subsystem typo, pet Visibility, Aggro "glow" color management)
- went into an AV game, and saw health bar colors, color text tags, and the "[Class]" text tag working "properly" on Aloft hostile player nameplates
- Aloft "Health Bar>Colors>Color Hostile by Class" and "Combat>Class Colors in Nameplates" options , as well as "[HealthBarColor]" and "[OriginalHealthBarColor] tags, work fairly intuitively together
- restored FuBar support (tested with FuBar 3.5)
- race data is now updated regularly from the battlefield score (like class data)
- added key bindings for Aloft (enable/disable friendly nameplates), bindings toggling each of enemy/friendly/all; these will replace the default Blizzard nameplate bindings and interact with "Report Status Changes"

Aloft-2.2.0.154:
- Aloft is still an Ace2 mod; the intended Ace3 port is on hold for the moment
- the latest/greatest Ace2 is embedded in this release
- i have seen no library conflict or "incompatibility" with the "large" addons i have used in testing (Pitbull 3.2.6, XPerl 3.0.0h, IceHUD 1.3.6, Omen3 RC1, Prat 3.0, Macaroon, Cartographer), all of which embed various libraries
- Aloft now uses the Blizzard(tm) default threat API exclusively (Threat-2.0 has not yet been updated, and it may in fact now be superfluous, even for area threat)
- the numbers flowing from the default threat API seem to be behaving better than they did on the PTR, conforming to 100% threat as an upper limit
- APIs like MobHealth3/LibMobHealth-4.0/MobInfo2 are no longer required for health estimation; Blizzard's underlying nameplate implementation, as well as its UnitHealth API, both now seem to offer explicit/accurate health values at all times
- having said this, MobInfo2 may remain useful as a means of tracking drop rates and etc; however, i have no idea if its author is still around
- there is a new "Nameplate Glow" feature, which accurately emulates the default Blizzard(tm) nameplate glow (a target-of-target capability, useful in AOE tanking)
- the "Nameplate Glow" feature is independent of the Aloft threat module, slaved to Blizzard(tm)'s nameplate glow; alas, the texture region used by Blizzard(tm) does not seem to use hookable methods (e.g. Show() and Hide()), so it seems i must micromanage this
- the "Nameplate Flash" feature that attempted to emulate this "Nameplate Glow" remains a component of the Aloft threat module, and activates on grouped nameplates when maximum threat is reached (resembling the Banzai module, but graphically different)
- i went into GIMP and created some additional soft-edged/airbrushed-looking outline textures for these "Glow" and "Flash" effects; they are controlled by the "Style" parameter of the respective options
- there exists some duplication of function between these various types of glow, but they do mean slightly different things, so try them out and see how you like them
- a new "Acapela" preset has been added; this reflects how i configure Aloft; it is best used in conjunction with SharedMedia (for textures and fonts)

Aloft 2.1.2.109-WotLK
- regressed embedded Ace2 library AceComm-2.0 to main r82173 (from WotLK branch r79554)
- updated zhCN and zhTW translations, courtesy of volunteer "digmouse" (thanks again!)

Aloft 2.1.1.103-WotLK
- fixed bug(s) in collection/display of combo points
- simplified/improved group threat calculation/display
- fixed bug in calculation of ThreatFraction value
- Blizzard(tm) threat values seem to be squirrely

Aloft 2.1.0.95-WotLK
- revised nameplate handling for WoW 3.x
. new nameplate frame heirarchy
. CVar processing
. conditioning of obsolete hooks
- updated to sense and use Blizzard(tm) native threat API, if it is present
- disabled Blizzard(tm) native WotLK nameplate "threat flash" feature
. no way to re-use their texture or control the placement of their texture region
. re-implemented as an Aloft feature, which can be selectively disabled (though the native feature remains turned off)
- added "threat flash" capability for nameplates
. a logical duplication of existing Banzai functionality, but resembles Blizzard(tm) native WotLK nameplate behavior
- included various mob health APIs and LibStub as optional dependencies
- enhanced to sense and use any of MobHealth3, LibMobHealth-4.0, and MobInfo2, in that order of preference
- added target change handling for grouped units (including solo pets); affects the TargetName tag for grouped units
- disabled FuBar for the duration of the transition to Ace3 and WoW 3.x
- enhanced various update events to fire on a "next frame" delay
- made certain unitids are being cleared when they should.
- got rid of Babble-2.x usage and embedded libraries
- updated to use LibBabble-Class-3.0, and embedded this library
- updated to use LibBabble-Spell-3.0, and embedded this library
- updated to use LibSharedMedia-3.0, and embedded this library
- updated Ace2 embedded libraries to current WotLK versions
- removed MaxThreatName tag
- enabled GroupTargetCount data collection and text tag to operate at all times
- added a GroupTargetCount example to tag documentation
- updated some debug instrumentation
- updated translation notes to request assistance

known problems; various forms of the following (presumably an artifact of using WotLK versions of Ace2):

Quote:
Interface\AddOns\Aloft\Libs\AceComm-2.0\AceComm-2.0.lua:1988: attempt to index local 'arg1' (a nil value)
[C]: ?
Interface\AddOns\Aloft\Libs\AceComm-2.0\AceComm-2.0.lua:1988: in function <...erface\AddOns\Aloft\Libs\AceComm-2.0\AceComm-2.0.lua:1977>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:1935: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Interface\AddOns\Blizzard_CombatLog\Blizzard_CombatLog.lua:3399: in function <...ace\AddOns\Blizzard_CombatLog\Blizzard_CombatLog.lua:3378>
the above does not occur on the PTR (WoW 3.0.2)

Aloft 2.0.1.49
- implemented internal event to trigger text update on changes to health bar color.
- fixed typo in alpha hook method name.
- refactored to centralize health bar color change processing in a single method.
- simplified some of the debug API method names.
- commented out debugging.

Aloft 2.0.0.27
- Initial BETA release.
  Optional Files - Aloft (Beta)
File Name
Version
Size
Author
Date
Type
Aloft-2.8.10x1-1311
708kB
09-24-2009 06:56 PM
Addon
  Archived Versions - Aloft (Beta)
File Name
Version
Size
Author
Date
Aloft-2.8.14-16
693kB
acapela
12-26-2009 12:44 PM
Aloft-2.8.13-15
693kB
acapela
12-17-2009 04:10 PM
Aloft-2.8.12-15
692kB
acapela
12-08-2009 01:39 PM
Aloft-2.8.11a-1
688kB
acapela
10-21-2009 02:09 PM
Aloft-2.8.11-14
688kB
acapela
10-19-2009 02:20 PM
Aloft-2.8.10-13
678kB
acapela
09-29-2009 12:12 AM
Aloft-2.8.9-131
676kB
acapela
09-16-2009 02:44 PM
Aloft-2.8.8-127
670kB
acapela
09-02-2009 05:39 PM
  Comments - Aloft (Beta)
Post A Reply Comment Options
Old 02-07-2010, 01:41 PM  
griwes
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Quote:
Originally posted by acapela
what this error suggests is that Aloft can't find the AloftClassData module (which is an internal, always-on module, so most likely something else is going on, like a malformed installation).

i think you are going to need to send me your configuration, actually. send me a PM, and i will send you an email address. then, you can zip up your whole .../Interface/AddOns folder, and your whole .../WTF folder, and email them to me (or host the ZIP somewhere and email me a link). i will install locally, and try to reproduce. i can also compare your Aloft folder, file by file, with my archived version of Aloft-2.8.11a, etc.

unfortunately, one thing i will not be able to do is run using WoW 3.2. but if there are pieces of your Aloft missing or mangled, or some sort of bug in Aloft, hopefully i will be able to identify them.

also, tell me what locale you are in (i.e. what language your WoW client uses), and which character in your WTF you want me to use to reproduce the error. i will change the realm and character name accordingly, enable just Aloft and buggrabber/bugsack, etc.
http://griwes.info/wow/wow.rar

It's somehow huge, but i believe that there will be no problem with 100MB file. Please use Griwes on Sunwell.
griwes is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-07-2010, 10:10 AM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Quote:
Originally posted by griwes
Hi, do you remeber me?

I disabled every addon I have except Aloft... and there still were errors in FrameXML, but now (without many many text in chat frame :P) I found some error in that frame:
Code:
[11:32:23] Aloft: Unable to determine module providing data: class
[11:32:23] Aloft: Unable to determine module providing data: class
Can you send me aloft 2.8.11a downloaded by you with properly working configuration? Maybe something makes my downloads finish with some error or sth xD
what this error suggests is that Aloft can't find the AloftClassData module (which is an internal, always-on module, so most likely something else is going on, like a malformed installation).

i think you are going to need to send me your configuration, actually. send me a PM, and i will send you an email address. then, you can zip up your whole .../Interface/AddOns folder, and your whole .../WTF folder, and email them to me (or host the ZIP somewhere and email me a link). i will install locally, and try to reproduce. i can also compare your Aloft folder, file by file, with my archived version of Aloft-2.8.11a, etc.

unfortunately, one thing i will not be able to do is run using WoW 3.2. but if there are pieces of your Aloft missing or mangled, or some sort of bug in Aloft, hopefully i will be able to identify them.

also, tell me what locale you are in (i.e. what language your WoW client uses), and which character in your WTF you want me to use to reproduce the error. i will change the realm and character name accordingly, enable just Aloft and buggrabber/bugsack, etc.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>

Last edited by acapela : 02-07-2010 at 10:11 AM.
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-07-2010, 05:38 AM  
griwes
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Hi, do you remeber me?

I disabled every addon I have except Aloft... and there still were errors in FrameXML, but now (without many many text in chat frame :P) I found some error in that frame:
Code:
[11:32:23] Aloft: Unable to determine module providing data: class
[11:32:23] Aloft: Unable to determine module providing data: class
Can you send me aloft 2.8.11a downloaded by you with properly working configuration? Maybe something makes my downloads finish with some error or sth xD
griwes is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 06:42 PM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
i dug into this some.

test protocol:

parked at the fountain in Dalaran, with my mouse left out in the traffic path (effectively "mousing over" nameplates as people went back and forth nderneath the cursor). went off and did other things around the house and let it run.

tested this way for an hour with friendly nameplates on. tested for another hour with friendly nameplates off (equivalent to your "milling around without nameplates visible"). every little while, i would turn off nameplates (with a keybinding), force garbage collection, and record Aloft's total memory usage from OptionHouse (then re-enable nameplates and run some more).

findings:

yes, assuming the numbers shown by OptionHouse are correct, there is a memory leak in Aloft. with nameplates visible, during my measurement, the leak totaled approximately 187Kb/hour (3.12k/minute). your mileage may vary, thought note that at this rate, a 4 hour session would leak about 750Kb (i.e. not even 1Mb), and all of this can be fixed at any time with a UI reload. i don't know what the WoW client's garbage collection threshold is (how much memory needs to be eaten up before it triggers collection), but 750K is not a lot of memory these days.

memory usage with nameplates turned off was negligible (on the order of 10k in an hour). one of Aloft's "OnUpdate" handlers is probably doing something (either that or this can be billed to something that is happening down inside of the Ace2 event system).

so, at some point i would be happy to work on some code preening, look at Aloft's table allocations, try to clean things up. especially after the Ace3 port is complete.

but while there are a whole variety of tools available that could reduce the level of effort required to find a memory leak in something "real" like a Java application, as far as i know, no tools of this sort exist for LUA inside a WoW client. everything would have to be done by inspection. that means the level of effort could be VERY LARGE.

i would have no ETA on fixing this (nor do i know if it even can be fixed).

update/edit: posted in the addon authors forums here at WoWI, and got some suggestions, all of which i will be trying in the coming days. we will see if i can get a tighter handle on some of this.

Quote:
Originally posted by dark666105
This is just milling around, when no nameplates are visible, Its idle size has been growing and is now around 2.65. I could understand it growing when it has a lot of nameplates to put out but this is when it has none.
alright. maybe some sort of memory leak crept into the code. i will fire up OptionHouse and take a look at memory growth over a period of time. i will follow up here when i know something.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>

Last edited by acapela : 02-07-2010 at 08:48 PM.
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 06:34 PM  
dark666105
A Murloc Raider

Forum posts: 9
File comments: 14
Uploads: 0
Quote:
Originally posted by acapela
observations of Aloft's memory usage are all over the map. Aloft's FAQ has an entry on this.

had a user show me a screenshot (i believe from the deDE locale) of a memory usage addon showing Aloft using 12Mb, with just a few modules enabled. i have never been able to come anywhere near reproducing that. but the fact is, in a crowded setting, Aloft is probably being billed for a lot of UI objects. plus its code is relatively large (and the only way to deal with code size is to split Aloft up into multiple separate addons... which i intend to do at some point, probably into about 3 addons: a minimal addon, all the extras, and the whole option menu system).

to summarize the FAQ entry: for me, in a crowded setting like Dalaran on a Friday night, with all modules enabled, and all friendly nameplates visible, i can get up to around 2.4Mb (that is with 50+ nameplates showing). nowhere near the top for me.

i am assuming that there is a wide variation due to things like hardware, WoW client version, and etc. unfortunately, i don't really have any way to quantify that.
This is just milling around, when no nameplates are visible, Its idle size has been growing and is now around 2.65. I could understand it growing when it has a lot of nameplates to put out but this is when it has none.
dark666105 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 02:42 PM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Quote:
Originally posted by dark666105
I've been running aloft for awhile now and I have noticed with only the aloftfu and alofthealthtext and aloftLDB modules enabled it has steadily grown in size over the weeks. I recently turned aloftLDB off but that only dropped it from 3 megs to about 2.6 which for what I have enabled is fairly high.
observations of Aloft's memory usage are all over the map. Aloft's FAQ has an entry on this.

had a user show me a screenshot (i believe from the deDE locale) of a memory usage addon showing Aloft using 12Mb, with just a few modules enabled. i have never been able to come anywhere near reproducing that. but the fact is, in a crowded setting, Aloft is probably being billed for a lot of UI objects. plus its code is relatively large (and the only way to deal with code size is to split Aloft up into multiple separate addons... which i intend to do at some point, probably into about 3 addons: a minimal addon, all the extras, and the whole option menu system).

to summarize the FAQ entry: for me, in a crowded setting like Dalaran on a Friday night, with all modules enabled, and all friendly nameplates visible, i can get up to around 2.4Mb (that is with 50+ nameplates showing). nowhere near the top for me.

i am assuming that there is a wide variation due to things like hardware, WoW client version, and etc. unfortunately, i don't really have any way to quantify that.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>

Last edited by acapela : 02-06-2010 at 02:43 PM.
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 12:51 PM  
dark666105
A Murloc Raider

Forum posts: 9
File comments: 14
Uploads: 0
I've been running aloft for awhile now and I have noticed with only the aloftfu and alofthealthtext and aloftLDB modules enabled it has steadily grown in size over the weeks. I recently turned aloftLDB off but that only dropped it from 3 megs to about 2.6 which for what I have enabled is fairly high.

Last edited by dark666105 : 02-06-2010 at 12:53 PM.
dark666105 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 12:06 PM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Re: Stacking height and width

update: i am not seeing anything wrong with packing height, in or out of combat (nor at the transition between the two).

however, note that a packing height/width of zero (0) does not take into account cast bars, mana bars, threat bars, text regions, or etc. without some sort of buffer around the nameplate frame assembly (provided by packing height/width), those elements can definitely overlay other nameplates. you would need to lay everything out such that it displayed inside the "frame" boundary (for an example, look at Aloft's "Unit Frame" preset).

Quote:
Originally posted by szoltomi
I am having a problem with the packing height and width of the frames. I am having small sized nameplates, with packing distances both 0. This lets me have a lot of frames on the screen without them jumping crazily around.

Out of combat, this works great, however in combat, the nameplates usually revert to their default (blizzard) distance.
i will do some testing (hopefully today, 2010/02/06) and follow up when i have had a chance to look at this.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>

Last edited by acapela : 02-06-2010 at 06:41 PM.
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 09:27 AM  
szoltomi
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
Stacking height and width

Hello!

I am having a problem with the packing height and width of the frames. I am having small sized nameplates, with packing distances both 0. This lets me have a lot of frames on the screen without them jumping crazily around.

Out of combat, this works great, however in combat, the nameplates usually revert to their default (blizzard) distance.
szoltomi is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-05-2010, 06:05 PM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Re: Re: Re: Question related to mouseover usability

Quote:
Originally posted by H0PE
Guess to change it back as a "fix" through addon is impossible or is isnt it?
yeah, in this case, Aloft is in fact telling Blizzard that the visible nameplate UI object is (or should be) sensitive to the mouse, and Blizzard is treating the nameplate UI object for the player's current target as "special", somehow.

as far as i have ever been able to tell, nameplates have never been completely consistent with other UI objects, with regard to mouse behavior, to begin with (i.e. disable the mouse on them, and/or physically hide them, and you still can't click through them). so, i suppose this recent issue is yet another example of that inconsistency.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-05-2010, 04:09 PM  
H0PE
A Deviate Faerie Dragon

Forum posts: 19
File comments: 224
Uploads: 1
Re: Re: Question related to mouseover usability

Thanks for the extensive answer.
Yes, this seems a bit sad, with or without aloft. I mean its weird if most of the players didnt even notice it and dont care whether Blizz fixing it or not. For me and even for my G.F. (who isnt that pro player but still noticed the change without me telling it to her and she is missing it).

Guess to change it back as a "fix" through addon is impossible or is isnt it?

Quote:
Originally posted by acapela
yeah, something changed in WoW 3.3.

if you already have a unit targeted, the associated nameplate becomes "insensitive" to the mouse. no cursor change on mouseover, no nameplate highlight on mouseover (to show which one is moused over), and no right-click interaction. i have tested for this with all addons disabled, and the same behavior applies to Blizzard's default nameplates. finally, the same behavior seems to apply to the unit's 3D model as well.

i find myself having to click away from a unit (to drop it as a target), mouse back over the nameplate, and then right-click, in order to initiate interaction.

this was definitely a change in behavior with WoW 3.2, and as far as i can remember, it was also a change in behavior between the WoW 3.3 PTR and WoW 3.3 "live".

i reported this to Blizzard as a bug, back when it was noticed. as far as i know, my post in their bug report forum has not had any sort of response (though i have not checked recently). as far as i can tell, they "don't care" and/or don't consider this a bug.

at this point, i probably should go add an Aloft FAQ entry on this.
H0PE is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-05-2010, 08:25 AM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Re: Question related to mouseover usability

edit: no, i am wrong. seems like the unit's 3D model is responsive to the mouse, even when targeted. just the nameplate seems to go dead.

Quote:
Originally posted by H0PE
Since the last patch I noticed that when I mouse-over a nameplate of a harmful or neutral creature/player the mouse isn't changing to the "sword mouse icon". Also when I try to right click on such nameplates, many times I'm not sure whether I'm attacking that creature or not. Somehow this function seems only "selecting" the target, not necessarily attacking it.
yeah, something changed in WoW 3.3.

if you already have a unit targeted, the associated nameplate becomes "insensitive" to the mouse. no cursor change on mouseover, no nameplate highlight on mouseover (to show which one is moused over), and no right-click interaction. i have tested for this with all addons disabled, and the same behavior applies to Blizzard's default nameplates. finally, the same behavior seems to apply to the unit's 3D model as well.

i find myself having to click away from a unit (to drop it as a target), mouse back over the nameplate, and then right-click, in order to initiate interaction.

this was definitely a change in behavior with WoW 3.2, and as far as i can remember, it was also a change in behavior between the WoW 3.3 PTR and WoW 3.3 "live".

i reported this to Blizzard as a bug, back when it was noticed. as far as i know, my post in their bug report forum has not had any sort of response (though i have not checked recently). as far as i can tell, they "don't care" and/or don't consider this a bug.

at this point, i probably should go add an Aloft FAQ entry on this.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>

Last edited by acapela : 02-05-2010 at 08:05 PM.
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-05-2010, 08:17 AM  
H0PE
A Deviate Faerie Dragon

Forum posts: 19
File comments: 224
Uploads: 1
Question related to mouseover usability

Thanks for one of the most important addon ever! I'm using it since the dawn of first beta of this addon.

Question:
Since the last patch I noticed that when I mouse-over a nameplate of a harmful or neutral creature/player the mouse isn't changing to the "sword mouse icon". Also when I try to right click on such nameplates, many times I'm not sure whether I'm attacking that creature or not. Somehow this function seems only "selecting" the target, not necessarily attacking it.

Could you please explain why do I experience this?
Thanks in advance!
H0PE
H0PE is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-04-2010, 08:54 PM  
acapela
A Chromatic Dragonspawn
Interface Author - Click to view interfaces

Forum posts: 152
File comments: 707
Uploads: 3
Quote:
Originally posted by Magalomaniac
This is my favorite add-on. It lets me replace so many others with this one. Truly amazing! If you could; would you please allow a plate for just "player".? I would like to ditch my HUD. I cannot use 'Friendly' and 'Enemy' plates at the same time because of clutter but i am fine with that. I would like to see my own health and mana though.
well, the fact is, Aloft just takes over and "manages" Blizzard's default nameplates (customizes their appearance, and adds some features), and there is no nameplate for the player. so, something would have to be manufactured "out of nothing" for this. IMO, this is not really the business a nameplate addon should be in (this is more in the line of what unit frame addons do, of which there are many, and which would generally allow more features than Aloft currently does). though we can continue to discuss it if you would like.

i guess my suggestion would be to look for a modular unit frame addon of some sort, disable everything except the "player" unit frame, customize its appearance, and place it where desired.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html


-----
Qui a coupé le fromage, we abstainia! Oy, Macadamia! <UUURP>
acapela is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-04-2010, 07:58 PM  
Magalomaniac
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
This is my favorite add-on. It lets me replace so many others with this one. Truly amazing! If you could; would you please allow a plate for just "player".? I would like to ditch my HUD. I cannot use 'Friendly' and 'Enemy' plates at the same time because of clutter but i am fine with that. I would like to see my own health and mana though.

Last edited by Magalomaniac : 02-04-2010 at 08:00 PM.
Magalomaniac is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.




The Network:
EQInterface | EQ2Interface | LoTROInterface | MMOInterface | War.MMOUI | WoWInterface | VGInterface | Allakhazam | Thottbot | Wowhead | Zam


©2009 MMOUI / ZAM Network
vBulletin - Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.