Category: Beta-version AddOns
Addon Information
Works with 3.2
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.11a-1435
Date:
10-21-2009 02:09 PM
Size:
688.15 Kb
Downloads:
338,391
Favorites:
1,201
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)   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.

Quick answers to current "problems" (see recent Change Log entries for additional details):
-------------------------
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

Recent Changes (Aloft 2.8.10):
- 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

Recent Changes (Aloft 2.8.9):
- 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)

Recent Changes (Aloft 2.8.8):
- restored the more complex workaround 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

Recent Changes (Aloft 2.8.7):
- 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

Recent Changes (Aloft 2.8.6):
- 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

---
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.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.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
Aloft-2.8.7-115
670kB
acapela
08-24-2009 05:08 PM
Aloft-2.8.6-124
667kB
acapela
08-19-2009 09:39 PM
Aloft-2.8.5-120
656kB
acapela
08-07-2009 07:29 PM
Aloft-2.8.4-119
662kB
acapela
08-06-2009 06:38 PM
  Comments - Aloft (Beta)
Post A Reply Comment Options
Old 09-26-2008, 12:27 AM  
Cheery
A Kobold Labourer

Forum posts: 0
File comments: 6
Uploads: 0
Just a quick issue with the combo points.

Playing in beta as a druid, selecting anything will come up with an error in the combo points module.

Interface\Addons\Aloft\Modules\ComboPointsText.Lua:137: Usage: GetComboPoints("units"[, "target"])

Also seems to fire whenever combo points should be updated.

Edit: Same thing in PTR, the following link should help anyone wanting to fix it on their own.

http://forums.worldofwarcraft.com/thread.html?topicId=9336793593&postId=93357135812&sid=2000#1

Last edited by Cheery : 09-26-2008 at 12:45 AM.
Cheery is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-25-2008, 09:14 PM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
for those interested in "color tags" (specifically the magic text strings you would put into the "Color Format" text entry boxes in the "Aloft>Health Bar>Colors>Advanced" or "Aloft>Frame>Background Colors>Advanced" option dialogs), i rummaged the code and experimented.

here is an example:

[IsFriendly:Class==”Paladin”:”f48cba”]

this says: "all friendly paladins should be of color f48cba”, where color is of the form "rrggbb", each 2 characters representing a single channel of the color. this example happens to be the authentic Blizzard(tm) class raid color for paladins. the health bar "Advanced" option covers the health bar, and the frame "Advanced" option appears to cover the health bar background.

the magic string at the end representing the actual color must be 6 characters (alpha channel is ignored), hex, and should be in quotes (though occasionally you can get away without quotes, dunno why), but may be any mix of upper/lower.

any tag string that resolves, with conditionals, to a 6-character *literal* will be interpreted as a hex color when originating from these option fields. only the first 6 characters count. normal color tags like "HealthBarColor" don't apply in these "Advanced" color tags. there appear to be limits on total aggregate tag source text length, but i have not tried to quantify this. you would have room to tweak a few class colors, certainly.

i have enhanced the Aloft documentation (AloftTag.rtf, distributed with the addon) with a description of this specification. this will be checked in and bundled with the next release.

Last edited by acapela : 10-31-2008 at 09:46 PM.
acapela is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-25-2008, 06:03 PM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
as soon as it is approved, Aloft v2.1.0.95 will be available.

it works on the PTR (WoW 3.0.2), and so presumably will work under the WotLK beta. feel free to try it out. all the changes to nameplates that Blizzard has made have been addressed, and Blizzard's new native threat API is incorporated.

it also runs under WoW 2.4.3 (current production), though there are a few LUA errors that seem to result from the WotLK-compatible version of the Ace2 libraries now embedded in Aloft. i have run this version of Aloft (2.1.0.95) on production, in conjunction with numerous other addons, and as far as i can tell the errors are infrequent and harmless (the main compatibility error is documented in the changelog, so you will know what it looks like).

revisit your favorite bug and see if it ended up collected and fixed in this version. let me know if you see anything.

the next large task will be to port Aloft to Ace3 (which should make things more efficient and more stable, going forward into WoW 3.x and beyond). i will try to collect any bugs that are reported in the process of doing that work.

thanks.
acapela is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-24-2008, 12:37 PM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
an update:

- i have Aloft running on the PTR, using the current "beta" of Ace2 for WotLK/WoW 3.x. this was QUITE an adventure, especially to a neophyte like myself (a lot of stuff related to nameplate frames has changed in WotLK/WoW 3.x). hopefully i made effective decisions about how to work with all of it, and was effective in auto-sensing which parts of the WoW API exist/don't exist

- FuBar for WotLK/WoW 3.x appears still to be in development, and the old FuBarPlugin-2.0 does not seem to function in WotLK/WoW 3.x and/or with the FuBar in development for WotLK/WoW 3.x (and LibFubarPlugin-3.0 is an Ace3 thing). i have disabled FuBar for the nonce, but will continue to monitor the situation. "/aloft waterfall" still works, for access to the Aloft configuration. ultimately, the thing to do will be a) roll Aloft options into the standard Blizzard subsystem for this (Ace3 has an API for this, which appears to use the same data structures that the old/current waterfall/fubar uses), and b) have the FuBar plugin just open the standard Blizzard options panel for Aloft. i will document this FuBar situation, and will start looking into using the standard Blizzard options interface

- i am working on integrating with mob health addons, and will be testing that shortly; they will be preferred in the following order (if they exist): MobHealth3/LibMobHealth4/MobInfo2; possible gotchas: if any of these ever get bundled with another addon that a user has installed, and that other addon is loaded first, we might need an options in Aloft after all

- i need to test again under WotLK/WoW 3.x, and then regression-test all of these changes under BC/WoW 2.4.3 before i release

- i will take a look at the $10 bug and the pet nameplate bugs as i test this week

- look for a release later in the week

- there are apparently custom color tags, separate from text tags; at least, the options contain places where they can be specified. i will look into these and a) figure out if they are still actually used in the code, and b) how they work. at the very least, they should be documented; you guys can decide from that if they work the way you feel they should

finally, i have that discovered someone over on WoWAce named "durcyn" is "porting" Aloft to WotLK (its buried down in their SVN); there is no interaction that i can find in the WoWAce Aloft thread, of course. i am giving serious consideration to porting Aloft to Ace3 anyway, and getting rid of obsolete LibBabble usage, FuBar plugin functionality, options functionality, and etc, which (from the change log there) seems to be the sort of thing this person is mainly interested in; i will try to contact them and see if we can coordinate; if all else fails, assuming i cannot find any functional differences, my Ace3 updates will subsume all of those changes, at some point

Last edited by acapela : 09-24-2008 at 12:55 PM.
acapela is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-23-2008, 05:23 PM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Meh. The '$10 bug' has a new symptom. In battlegrounds, when I die and rez from the spirit healer, friendly names are in White. Interestingly enough, level text and comment text don't seem to be affected.

Actually, I haven't confirmed it in all battlegrounds. Occurs in WSG while playing a Dwarf Rogue.
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.

Last edited by Thortok2000 : 09-23-2008 at 05:23 PM.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-20-2008, 02:13 PM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Y'know, come to think of it, the only reason I ever switched to MobHealth was because of Aloft. Before that, I used MobInfo-2. That's really the only one I wanna see it support. =P

http://wowui.worldofwar.net/?p=mod&m=1143&f=y
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-19-2008, 06:21 PM  
Pixol
A Murloc Raider

Forum posts: 4
File comments: 24
Uploads: 0
I was wondering if there was a advanced color tag similar to "[IsTotem:"ffffff"]" as seen in the FAQ's, that would allow custom coloring health bars based on classes.

I love this add-on, and would love it even more if I was able to customize certain classes to have a color such as Black or Yellow to stand out from the other bars. I tried [IsPaladin:"ffffff"] but that only made all the health bar colors blue.

I looked through the LUA files and could not find out where it was getting blue color for shamans, purple for paladins, white for priests, etc... I'm guessing it's retrieving the color info from the game's libraries.

I searched google and wowwiki and could not find anything about Class Color tags for WoW.

Thank You

Last edited by Pixol : 09-19-2008 at 06:49 PM.
Pixol is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-19-2008, 10:26 AM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Actually, I haven't seen the pet bar bug again. Nothing changed at all. It only occurred on my first session after playing the new version, then after I logged back out and in again, it works exactly as it should. So I guess there's no bug, or it's very rare.

Also, turns out adding a single line of code didn't fix the health detector. Looking forward to that fix next. ^_^
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-18-2008, 09:57 PM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
on the issue of translations, i tracked down a Unicode font for my text editor that had a Korean character set and was actually readable. i checked everything over, and it looks like i lost UTF-8 encoding on only a single file, only those translations were affected, and none of them were ever modified by me. it was an easy copy/paste back in from the latest WoWAce version of Aloft.

Quote:
Honestly, as far as health calculators go, typically a person only has one. Some kind of detection for which one you're using would probably be better than an option.
sounds good to me. i will look into how to sense the presence of MobInfo. that author bundles his API info, i just need to go read it . i suppose it won't matter in which order i try to look for them in, if i can assume only one is present.

Quote:
Also, I only noticed the pet visibility bug on the most recent version...
all of this nameplate coloring/nameplate lifecycle stuff has come from a sensitivity on the part of Aloft to what order hooking functions are called on the underlying Blizzard nameplate frames. seems like Aloft makes a few too many assumptions about that sequence of events, either that or things have changed since it was last under active development. this is possibly more of the same (though i most likely introduced it myself, trying to fix the color bug). i will dig into it.

Quote:
And yeah, PTR is the same addon language as expansion, and a good way to test if you aren't in the beta. ^_^
yeah, installed the client today... all 900Mb+140Mb of it. should not be a problem to work on that stuff at this point. as far as i know, the only issues relate to the new WoW threat API and sniffing out underlying WoW client options related to threat bar display (both areas represent new/different mechanisms).

i also need to figure out what (if anything) to do with Threat-2.0... i should look and see what the plans are for that library. if anyone has any suggestions, feel free to sound off. if nothing else (and if feasible; i have not looked at WoW's API for a while, and i am worried specifically about various forms of group threat), i can just not use it any more.

obviously you guys would find anything else (if i did not first), once i have a version that runs on the PTR, so i will try to get that done soon.

Last edited by acapela : 09-18-2008 at 09:58 PM.
acapela is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-18-2008, 09:12 PM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Honestly, as far as health calculators go, typically a person only has one. Some kind of detection for which one you're using would probably be better than an option.

I tossed the line of code Phanx put at the start of the main aloft.lua and it seems to be using the new library, with no other changes to the code necessary. I'm going to try uninstalling mobhealth3 to see if it throws an error.

Also, I only noticed the pet visibility bug on the most recent version, the one that finally fixed the $10 bug. After additional time, I've also noticed it's also not a consistent bug. If that helps. This may mean that it's something to do with the way data is stored? Pets seen this session will bug, pets from the database don't? I can't confirm that yet, that's just a guess.

And yeah, PTR is the same addon language as expansion, and a good way to test if you aren't in the beta. ^_^

Oh, and you didn't give me a pay to e-mail address for paypal. =P
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.

Last edited by Thortok2000 : 09-18-2008 at 09:15 PM.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-18-2008, 11:50 AM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
i have not yet looked into these. some i was not even aware of. i thank everyone for bringing them to my attention.

- no paypal is needed. i know you offered, but i honestly don't need the money . and i worked on it in my own good time (took weeks). i hope this is not offensive to you...

- the interaction with MobHealth is in function AloftHealthData:UpdateData(aloftData), starting line 62 of Aloft/Modules/HealthData.lua. MobHealth3 is just referenced directly as a global. i will look into expanding this to include MobHealth4 and MobInfo (which was requested over on WoWAce) as options; it would probably be fairly easy to offer them as user-specified options, in fact, hanging them options off of the option waterfall for the HealthBar module (i will default to MobHealth3).

- i will work on upgrading to SharedMedia-3.0; not familiar with SharedMedia in general, but i expect i can figure it out

- the fact is, none of the files were ever saved with UTF-8 enabled. didn't even know i was doing it. i expect every file i have ever modified has broken translations in it. i have rummaged in notepad, i have configured it to use UTF-8 (need to see about Vim). this begs the question (and pretend i have no idea what i am talking about, because it would be true): are the translations destroyed and therefore need to be re-merged from a fresh checkout of the original Aloft (from WoWAce)? or, can i just re-save everything with UTF-8 active? either way, i will also tweak translations as has been indicated (assigning strings rather than "true")

- i have already noticed pet nameplates (regardless of faction) showing even when i disable them via th "Visibility" options. i will look into pet nameplates generically, and see if i can get their lifecycles to behave properly.

- i have no beta access for WotLK... edit: woops, don't need it. 3.0.2 is on the test realm, just as you indicated. i am downloading the client now, and will be working on this.

thanks again for all the good suggestions. keep them coming (please )

Last edited by acapela : 09-18-2008 at 12:14 PM.
acapela is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-18-2008, 10:20 AM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Quote:
Originally posted by Phanx
With regard to MobHealth3 vs LibMobHealth-4.0, it's quite simple to implement support for either, as the API is the same for both:

Code:
local MobHealth = MobHealth or LibStub("LibMobHealth-4.0", true)
Where do I put this line of code?
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.

Last edited by Thortok2000 : 09-18-2008 at 10:21 AM.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-17-2008, 11:54 PM  
Phanx
A Cobalt Mageweaver
 
Phanx's Avatar
Interface Author - Click to view interfaces

Forum posts: 203
File comments: 734
Uploads: 17
With regard to MobHealth3 vs LibMobHealth-4.0, it's quite simple to implement support for either, as the API is the same for both:

Code:
local MobHealth = MobHealth or LibStub("LibMobHealth-4.0", true)
Personally I use MobHealth, as I don't like some of the assumptions LMH-4.0 makes.

A few other things:

1. You forgot to save some of the files (Aloft.lua for one) with UTF8 encoding, thus nuking localizations.

2. SharedMediaLib-1.0 is ancient, and Aloft is pretty much the only addon in existence that still uses it. Now that it's being actively developed, I'd rather not modify every file with every update, so a conversion to the modern LibSharedMedia-3.0 would be welcome!

3. Setting a translation string to true in a non-enUS locale will result in an error from AceLocale. Just do ["string"] = "string" or comment it out if there isn't a translation.

Keep up the great work!

Last edited by Phanx : 09-17-2008 at 11:56 PM.
Phanx is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-17-2008, 10:52 PM  
Thortok2000
A Kobold Labourer
 
Thortok2000's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 242
Uploads: 1
Yay! Just give me an e-mail address to paypal to. I haven't used paypal in years, but I think I can figure out how it works.

Here's a few minor bugs that you could fix if you have time, they're not as annoying so I wasn't offering money for it. =P

1 - If you can set it up to accept health values from LibMobHealth-4.0 (on WowAce) instead of MH3, typically MH4 has better calculation.

2 - New bug in this version that finally fixed the $10 bug - Friendly Pet Nameplates are set to hidden. If I mouseover an 'unknown' pet, the bar disappears. If the bar comes into view, it is shown, and has data to indicate that it knows it is a pet, and mouseover does not make the bar go away.

3 - Support for the next patch currently on the PTR. ^_^
__________________
“I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.
Thortok2000 is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 09-17-2008, 01:39 PM  
acapela
A Flamescale Wyrmkin
Interface Author - Click to view interfaces

Forum posts: 134
File comments: 621
Uploads: 3
alright, a new revision containing what is hopefully a real fix to updates of the HealthBarColor tag (the $10 bug) is available. look for v2.0.1.49.
acapela 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 - 2009, Jelsoft Enterprises Ltd.