oUF

  • oUF addon
  • Version: 1.3.21
  • Category: oUF: Core
  • Size: 25KB
  • Score: 3/5
  • Download:
  • Author: haste
  • Update: 2009-8-24 10:26:00
  • Localized:
  • Vote: -3 +1 +3
oUF is a unit frame framework. It attempts to simplify the process of writing unit frames for WoW by doing all the trivial and painfully boring parts for you. So you can focus more on experimenting with the look of the frames.

Please report issues through the author of the layout you are using. The issue is in many cases inside the layout.

This add-on will do nothing just by itself, a layout is required.

A full changelog can be found: here.

Layout examples:
  • oUF_Classic
  • oUF_Lily
Forum threads:
  • oUF - General discussion
  • oUF - Layout discussion
Bug reports and feature requests should be posted over at the author portal.

Image 1 Of oUF

Image 2 Of oUF



Change Log:

  • Changes from 1.3.20
    • Trond A Ekseth (4):
      1. Add children to the units table as well.
      2. Correct logic for detecting conversion units and invalid units for children frames.
      3. Merge remote branch 'zariel/master'
      4. Bumping TOC version to 1.3.21.
    • Zariel (1):
      1. Whirly bird of options, up and down with a custom order
    • 3 files changed, 45 insertions(+), 16 deletions(-)
  • Changes from 1.3.19
    • Trond A Ekseth (6):
      1. Change interupt to interrupt.
      2. Make some minor changes to Zariel's patch.
      3. Make the event registrator correctly work with tags that contain symbols.
      4. Remove support for .runes as it wasn't working in the first place.
      5. Allow headers to have unitsuffixes of multiple target's target.
      6. Bump the TOC version to 1.3.20.
    • Zariel (7):
      1. Only update the updated runes colour
      2. Remove unsued var
      3. Interupts why?
      4. Fix update
      5. Fix consistancy
      6. Dont capitalize that
      7. Sed ftw
    • 5 files changed, 32 insertions(+), 24 deletions(-)
  • Changes from 1.3.18
    • Trond A Ekseth (15):
      1. Only allow colors as arrays.
      2. Properly unregister the runebar events when the element is disabled.
      3. Only allow colors as arrays.
      4. Remove unused variables.
      5. Minor syntax changes.
      6. Actually use the local we set.
      7. Inject our colors into the table in the core.
      8. Let the layout create the actual bars.
      9. Remove unused variables.
      10. Add some comments for Zariel.
      11. Add a TODO comment.
      12. Break out of the loop early if we need to update.
      13. Add a multiplier field to the color on the bar bg.
      14. Set the OnUpdate on the rune frame, and not the oUF object.
      15. Bump TOC version to 1.3.19.
    • Zariel (4):
      1. Set color at PEW, add comments, clean up
      2. Fix typos and remove uneeded BG setup
      3. Run OnUpdate for each bar
      4. Add some usage
    • 2 files changed, 53 insertions(+), 81 deletions(-)
  • Changes from 1.3.17
    • Trond A Ekseth (1):
      1. Bump TOC version to 1.3.18.
    • Zariel (2):
      1. Remove unneeded check
      2. Fix min max values
    • 2 files changed, 3 insertions(+), 3 deletions(-)
  • Changes from 1.3.16
    • = (2):
      1. Runebarlol
      2. Hide original frame
    • Trond A Ekseth (14):
      1. Add an assistant modulem. Based on jyuny1's code.
      2. Might want to actually load it too.
      3. Use the correct index on the [group] tag.
      4. Add a [defict:name] tag, which I stole from Shadowed.
      5. No longer escape the escaped!
      6. Change GetDifficultyColor to GetQuestDifficultyColor in the difficulty tag.
      7. Change the indentation on the pre-defined tags.
      8. Make [missinghp] return nil instead of zero.
      9. Make [missingpp] return nil instead of zero.
      10. Some more indent changes.
      11. Properly set OnUpdate and OnEvent on headers with playertarget and playerpet units.
      12. Add :PreAuraSetPosition(auras, max).
      13. Update TOC Interface version to 30200.
      14. Bump TOC version to 1.3.17.
    • 7 files changed, 329 insertions(+), 38 deletions(-)
  • Changes from 1.3.15
    • Trond A Ekseth (13):
      1. Update the license.
      2. Make frequentUpdate on tags run on seperate timers.
      3. Use the correct variable to check for the OnUpdate.
      4. Add a retard check to the element functions.
      5. That was slightly too strict.
      6. Work around elements disabling themselves during the update.
      7. Slightly less 3AM English.
      8. Add a [group] tag.
      9. [group] tag improvements from Shadowed!
      10. Not enough tails.
      11. Remove an empty line (not OCD!)
      12. Drop out early if loot method is set to master, but we aren't actually in a party anymore.
      13. Bump TOC version to 1.3.16.
    • 6 files changed, 69 insertions(+), 44 deletions(-)
  • Changes from 1.3.14
    • Trond A Ekseth (6):
      1. Don't expose the style function on header units.
      2. Remove the unit specific events that aren't needed.
      3. Add support for !ClassColors.
      4. Make tags use the internal colors instead of RAID_CLASS_COLORS.
      5. Add CancelUnitBuff to auras on player units.
      6. Bump TOC version to 1.3.15.
    • 4 files changed, 37 insertions(+), 17 deletions(-)
  • Changes from 1.3.13
    • Trond A Ekseth (8):
      1. Don't create more icons than we actually need on the Auras element.
      2. Fix issues with events not being correctly removed when untagging tags.
      3. Make the cooldown on the aura icons optional.
      4. Make sure that we have a valid reaction return before we try to set it as the power color.
      5. Make sure that we have a valid reaction return before we try to set it as the health color.
      6. Add :PostChannelStop to the castbar OnUpdate.
      7. Add :PostCastStop to the castbar OnUpdate.
      8. Bump TOC version to 1.3.14.
    • 6 files changed, 42 insertions(+), 20 deletions(-)
  • Changes from 1.3.12
    • Trond A Ekseth (2):
      1. Quick fix to the border issue introduced in the previous revision.
      2. Bump TOC version to 1.3.13.
    • 2 files changed, 5 insertions(+), 1 deletions(-)
  • Changes from 1.3.11
    • Trond A Ekseth (3):
      1. Avoid nil calls to the custom aura filter function.
      2. Always return true if the icon has a name.
      3. Bump TOC version to 1.3.12.
    • 2 files changed, 34 insertions(+), 31 deletions(-)
  • Changes from 1.3.10
    • Trond A Ekseth (2):
      1. Remove PTR support code and make auras work correctly when onlyShowPlayer is active.
      2. Bump TOC version to 1.3.11.
    • 2 files changed, 4 insertions(+), 8 deletions(-)
  • Changes from 1.3.9
    • Trond A Ekseth (2):
      1. Don't error when the unit isn't on the threat table.
      2. Bump TOC version to 1.3.10.
    • 2 files changed, 2 insertions(+), 2 deletions(-)
  • Changes from 1.3.8
    • Hendrik Leppkes (2):
      1. Updated vehicle switch to work in combat using the restricted environment
      2. Don't have to run that code all the time, just when unit changes.
    • Trond A Ekseth (6):
      1. Remove the :UpdateTag() function when we Untag a fontstring.
      2. Add :CustomAuraFilter and prepare for 3.1.
      3. Make onlyShowPlayer work as intended on 3.1.
      4. Move stuff around.
      5. Set interface version to 3.1.
      6. Bump the TOC version to 1.3.9.
    • 4 files changed, 87 insertions(+), 54 deletions(-)
  • Changes from 1.3.7
    • Hendrik Leppkes (3):
      1. Add "disableCooldown" option to aura element that hides the cooldown spiral if set to true.
      2. Fix a bug that counted buffs as debuffs and vice versa.
      3. Fix the debuff offset when updating icons in "Auras" mode.
    • Tekkub (1):
      1. Fix the [plus] tag.
    • Trond A Ekseth (14):
      1. Add missing events to the power tags.
      2. Add .colorClassPet to Health.
      3. Add .colorClassPet to Power.
      4. Allow frequentUpdates on tags to set a lower OnUpdate timer.
      5. Replace all the ipairs().
      6. Fix a syntax error.
      7. Check if the name has changed before we update portraits.
      8. Take another stab at the portrait.
      9. Happy new year!
      10. Hopefully the last fix to the portraits.
      11. Re-add colors.reaction.
      12. Use the internal table for reaction coloring.
      13. Use next in some iterators.
      14. Bump the TOC version to 1.3.8.
    • 8 files changed, 53 insertions(+), 31 deletions(-)
  • Changes from 1.3.6
    • Trond A Ekseth (2):
      1. Fix syntax error.
      2. Bump version to 1.3.7.
    • 2 files changed, 2 insertions(+), 2 deletions(-)
  • Changes from 1.3.5
    • Trond A Ekseth (1):
      1. Bump version to 1.3.6.
    • evl (1):
      1. Reworked vehicle swapping.
    • 3 files changed, 39 insertions(+), 87 deletions(-)
  • Changes from 1.3.4
    • Trond A Ekseth (6):
      1. Allow the castbar to work on eventless units.
      2. Remove un-used variable.
      3. Add .isPlayer to the aura icons.
      4. Validate that we have a channel before we continue.
      5. Properly block events without handlers from registering.
      6. Bump version to 1.3.5.
    • 4 files changed, 25 insertions(+), 19 deletions(-)
  • Changes from 1.3.3
    • Trond A Ekseth (9):
      1. Add missing events to some tags.
      2. Move the frequent update flag to the fontstring
      3. Use the correct variables in :PostCastStart.
      4. Use the correct variables in :PostCastDelayed.
      5. Use the correct variables in :PostChannelStart.
      6. Use the correct variables in :PostChannelUpdate.
      7. Strip away raid and party support on vehicles.
      8. Validate that the unit has a vehicle UI before we swap the units.
      9. Bump version to 1.3.4.
    • 4 files changed, 40 insertions(+), 45 deletions(-)
  • Changes from 1.3.2
    • Trond A Ekseth (3):
      1. Make appends work on tags.
      2. Make the unit swapping work when leaving a vehicle in combat.
      3. Bump version to 1.3.3
    • 4 files changed, 11 insertions(+), 7 deletions(-)
  • Changes from 1.3.1
    • Trond A Ekseth (47):
      1. Kill the pet casting bar if we spawn a pet unit.
      2. Fix syntax error.
      3. Correctly set PlayerFrame.unit when entering a vehicle.
      4. Add [cpoints].
      5. Some mone argument validation.
      6. Convert player(pet|taget) into (pet|target).
      7. Add fallback texture to Resting and Combat.
      8. Too tired...
      9. Import p3lims code.
      10. Add TOC entry for MasterLooter.
      11. Clean up the mess that was masterlooter.
      12. Merge branch 'masterlooter'
      13. Call the correct function in status.lua
      14. Add the missing texcoord.
      15. Make the leader icon work on units inside our raid.
      16. Bump the version to 1.3.2
      17. Don't update hidden fontstrings.
      18. Pure madness...
      19. More horrid changes.
      20. Slight improvement.
      21. Add missing event to [cpoints].
      22. Update documentation on auras.
      23. Update documentation on auras.
      24. Add some minor castbar documentation.
      25. Update documentation on power.
      26. Update comments on tags.
      27. Let's stay at 1.3 for now.
      28. Minor clean up and saner variables.
      29. Make argcheck not error.
      30. Actually print an error on invalid tags.
      31. Update comments on tags.
      32. Update comments in tags
      33. Merge branch 'tag'
      34. Force an update to the default auras.
      35. Don't allow nil units on threat.
      36. Dry-code improvements to masterlooter.
      37. Drop out early if we should in the tags.
      38. Add .frequentTagUpdates to force OnUpdate polling.
      39. Fix event registration on tags.
      40. Untag the previous tag if people try to double tag.
      41. Remove the events we don't need for masterlooter.
      42. Make master loot work in raids.
      43. Correctly hide the master loot icon when the player leaves the group.
      44. Hack to fix the vehicles.
      45. Update internal tag references.
      46. Seems like we missed one.
      47. Fix [smartlevel].
    • 12 files changed, 274 insertions(+), 70 deletions(-)
  • Changes from 1.3.0
    • Tekkub (1):
      1. More fixes for player level
    • Trond A Ekseth (3):
      1. Add missing unit argument in status.
      2. Check if we should set :SetAuraPosition or not.
      3. Bump version to 1.3.1.
    • 5 files changed, 9 insertions(+), 6 deletions(-)
  • Changes from 1.2.1
    • Tekkub (1):
      1. Track PLAYER_LEVEL_UP for [level] tag
    • Trond A Ekseth (35):
      1. Use the new castid.
      2. Bump version to 1.2.2.
      3. Move the HandleUnit check to the correct position.
      4. Don't allow custom raid headers as it just confuses people.
      5. Revert "Don't allow custom raid headers as it just confuses people."
      6. Add safe zone on channeled spells.
      7. Remove double call in health.lua.
      8. Remove double call in power.lua.
      9. Tag system redone.
      10. Remove .Name.
      11. Bump version to 1.3.
      12. Fix a typo.
      13. Properly nil out the casting state.
      14. Remove icons.onlyShowDuration and add icons.onlyShowPlayer.
      15. Added :CustomDelayText() and :CustomTimeText().
      16. Fix faulty logic.
      17. Remove block in auras.
      18. Clean up auras.
      19. Sneaky sneaky!
      20. Rename the var for the frame metatable.
      21. Experimental event changes.
      22. Minor changes.
      23. Some minor fixes.
      24. Axe the element system.
      25. Make sure the safe zone has correct height.
      26. Add missing self.
      27. Handle UnitName returning nil in the tag system.
      28. Create the .__elements table before we run the style function.
      29. Allow unit overriding on tags.
      30. Revert "Allow unit overriding on tags."
      31. Remove dupe code.
      32. Experimental vehicle swapping.
      33. Support __unit in tags.
      34. Move the vehicle element to it's own file.
    • 18 files changed, 763 insertions(+), 385 deletions(-)
  • Changes from 1.2
    • Trond A Ekseth (8):
      1. Add fallback texture to threat.
      2. Removet the variable requirement for model based portraits.
      3. Bump version to 1.2.1.
      4. Add .Health.colorHealth.
      5. Handle dtype being an empty string.
      6. Remove all 3.0 checks.
      7. Possibly the end cpoint solution.
      8. Update the TOC interface version while we're at it.
    • 8 files changed, 42 insertions(+), 108 deletions(-)
  • Changes from 1.1.4
    • Trond A Ekseth (5):
      1. Bump version to 1.1.5.
      2. Add support for (multiple) suffix units on headers.
      3. Bump version to 1.2.
      4. Prevent the castbar from hiding itself when targeting a casting unit.
      5. Add fallback textures to the castbar.
    • 4 files changed, 155 insertions(+), 94 deletions(-)
  • Changes from 1.1.3
    • Trond A Ekseth (3):
      1. Bump version to 1.1.4.
      2. Fix the [sex] tag.
      3. Fix castbar spark.
    • 4 files changed, 4 insertions(+), 4 deletions(-)
  • Changes from 1.1.2
    • Trond A Ekseth (5):
      1. Add missing comma in castbar code.
      2. Hide the castbar when we aren't casting.
      3. Bump version to 1.1.3.
      4. Revert "And the battle RAGES on!"
      5. Revert "Fix safe zone."
    • 3 files changed, 7 insertions(+), 7 deletions(-)
  • Changes from 1.1.1
    • Trond A Ekseth (11):
      1. Redo the castbar arithmetics.
      2. Button smasher friendlyness.
      3. Remove empty line.
      4. Shorten the name of the tags file.
      5. Make sure we set the correct duration when we target a casting unit.
      6. Should actually work now.
      7. Fix safe zone.
      8. Add object :Enable() and :Object() disable.
      9. And the battle RAGES on!
      10. Increase version to 1.1.2.
      11. Make unit reaction work on beta.
    • 8 files changed, 278 insertions(+), 254 deletions(-)
  • Changes from 1.1
    • Tekkub (25):
      1. Add threat module placeholder
      2. Flesh out threat module, totally drycoded
      3. Forgot to rename a few vars
      4. Hide threat bits on init
      5. Screw all the fancy ****, we're just gonna do a texture for threat
      6. Allow HP bars to be class-colored for NPCs also
      7. Typo
      8. Merge branches 'threat' and 'npc-class-color'
      9. Super simple tag parser. Pulled in the old WatchDog tags. Doesn't actually do anything yet.
      10. Merge branch 'master' into tags
      11. Move tagger into modules
      12. Bring in Zariel's tags
      13. Tweak gsubber design, calling string.gsub is so WoW 2.0
      14. Remove testey stuffs
      15. Merge branch 'master' of git://haste.ixo.no/oUF.git into tags
      16. Add taggedstring to XML loader
      17. Flesh out event registration
      18. Fix space compactor
      19. Add stupid comment blocks
      20. Shove our tables into the oUF object so people can add custom tags easily
      21. First batch of converted tags... I'm taking a break
      22. Typo
      23. Seems party frames don't have a unit on creation, so lets just use the base frame's .unit value
      24. More tags
      25. Get rid of the string.sub calls
    • Trond A Ekseth (37):
      1. Fix a typo.
      2. The frequent update on power is no longer hardcoded.
      3. Only validate that we have b(lue).
      4. Add a multiplier to the power background.
      5. Only validate that we have b(lue).
      6. Add a multiplier to the health background.
      7. Add a fallback texture to power.
      8. Add a fallback texture to health.
      9. Add a fallback texture to happiness.
      10. Add a fallback texture to raid icons.
      11. Add a fallback texture to leader if it is a texture.
      12. Bump version to 1.1.1.
      13. Use UNIT_MAXMANA instead of UNIT_MANA.
      14. Stricter validation of the raid icon object.
      15. Stricter validation of the happiness object.
      16. Only show the leader icon for your own party.
      17. Add a missing entry in the aura docs.
      18. Seems I missed quite a lot of the documentation.
      19. Merge commit 'tekkub/npc-class-color'
      20. Minor fix to the docs.
      21. Allow power bars to be class-colored for NPCs also.
      22. Merge commit 'tekkub/threat'
      23. Remove check for self.Threat on updates.
      24. Prevent the threat module from loading on 2.4.
      25. Rename .safezone to .SafeZone, but retain compat.
      26. Allow parenting oUF.
      27. Might want to use the correct local to create a global reference.
      28. The unit can be nil according to blizzards code.
      29. Merge branch 'threat-fix' into experimental
      30. 2006 called, they want their XML back.
      31. Merge branch 'xml' into experimental
      32. Use the correct object reference.
      33. Merge branch 'castbar-fix' into experimental
      34. Merge commit 'tekkub/tags' into experimental
      35. Make sure we use the correct global in taggedstring.
      36. Use the correct metadata var.
      37. Use a shorter path to get the parent.
    • 17 files changed, 407 insertions(+), 44 deletions(-)
  • Changes from 1.0.4
    • Tekkub (2):
      1. Fix bug with UnitAura in wrath
      2. Fix power bar for DKs
    • Trond A Ekseth (63):
      1. Don't set the color on the statusbar.
      2. Add credit for the original castbar codebase.
      3. Merge commit 'tekkub/wrath' into wrath
      4. Fixes issues with spell interruptions on the castbar. (cherry picked from commit 3f13c55cf1d6a19292a26b7e6843413f02f2e530)
      5. Fixes issues with spell interruptions on the castbar. (cherry picked from commit 3f13c55cf1d6a19292a26b7e6843413f02f2e530)
      6. I fail at using macros.
      7. I fail at using macros.
      8. Make the power changes work on live and beta.
      9. Make the aura changes work on live and beta.
      10. Merge branch 'wrath'
      11. Remove unused vars.
      12. Remove the dupe mapping registers.
      13. Make the swirly swirl swirl.
      14. Use UnitAura for .Auras and allow extended WotLK filters.
      15. Make the last last debuff show.
      16. Add icons.showType as both buffs/debuffs have type in beta.
      17. Change the argument order on :OverrideUpdateHealth and :PostUpdateHealth to be consistent with the oUF event handler.
      18. Change the argument order on :OverrideUpdatePower and :PostUpdatePower to be consistent with the oUF event handler.
      19. Add icons.showDebuffType and icons.showBuffType.
      20. Fix error in :UNIT_SPELLCAST_CHANNEL_UPDATE().
      21. How colors are used is now changed. Added Health.colorTapping. Added Health.colorHappiness. Added Health.colorClass. Added Health.col
        orReaction. Added Health.colorSmooth. Added support for WotLK built-in QuickHealth. Added support for WotLK predict power (player only).
      22. Fix the health onupdate.
      23. Make the initial-* vars "optional".
      24. Revert "Make the initial-* vars "optional"."
      25. Allow the registered layout to only be a function.
      26. Bump version to 1.1.
      27. Add .visibleBuffs, .visibleDebuffs and .visibleAuras on the aura elements.
      28. Move tapped color to colors.tapped.
      29. .Power now has most of the .Health color types.
      30. Fix a copy paste error.
      31. Yet another copy paste error.
      32. The Hopeless Pursuit Of Remission...
      33. Don't darken the color on the power background.
      34. Don't darken the color on the health background.
      35. Add callbacks for happiness updating.
      36. Check if .Happiness actually exists.
      37. Add callbacks for updating of tapped units.
      38. Check if .PvP actually exists.
      39. Added bar.colorDisconnected.
      40. Renamed bar.colors to bar.smoothGradient.
      41. Make the OnTargetUpdate report itself as an event.
      42. Check the events before we update it.
      43. Add a event handler for UNIT_MAXRUNIC_POWER.
      44. Allow frequent power updates on pets.
      45. Experimental fix to the frequent health update issue.
      46. Add an extra sanity check to prevent a possible division by zero.
      47. Allow Auras.filter.
      48. Add documentation for auras.
      49. Add documentation for power.
      50. Change local scoping.
      51. Add missing entry in docs.
      52. Add documentation for health.
      53. Add documentation for range.
      54. Make compo points work on wotlk.
      55. Make the castingbar variables more consistent.
      56. Fix file modes.
      57. More castbare changes.
      58. Shorten the castbar post functions.
      59. Hide the focus frame on wotlk.
      60. That's what I get for not using auto-completion of words.
      61. Logic is hard on an empty stomach.
      62. Hajnal!
      63. Fix invalid post call in the castbar code.
    • evl (1):
      1. Added .Spark to castbar.
    • 10 files changed, 571 insertions(+), 267 deletions(-)
  • Changes from 1.0.3
    • Trond A Ekseth (2):
      1. Fix error in :UNIT_SPELLCAST_CHANNEL_UPDATE(). (cherry picked from commit 372e0c6b5dd984e5aa33d9b51d6e40ee94cc4db5)
      2. Bump TOC version to 1.0.4.
    • 2 files changed, 2 insertions(+), 2 deletions(-)
  • Changes from 1.0.2
    • Trond A Ekseth (4):
      1. Add credit for the original castbar codebase. (cherry picked from commit 0b4e7a0cf1ea643c441674ad1e9000e1de85e3cf)
      2. Fixes issues with spell interruptions on the castbar.
      3. Bumping version to 1.0.3.
      4. I fail at using macros.
    • 2 files changed, 11 insertions(+), 4 deletions(-)
  • Changes from 1.0.1
    • Trond A Ekseth (3):
      1. Added Castbars. Code by tekkub.
      2. Rename .OnCastBarUpdate to .OnCastbarUpdate for consistency.
      3. Bumping version to 1.0.2.
    • 2 files changed, 215 insertions(+), 1 deletions(-)
  • Changes from 1.0
    • Trond A Ekseth (3):
      1. We are stable now. Fetch versions from the TOC.
      2. Remove locals so external add-ons can override.
      3. Bumping version to 1.0.1
    • 3 files changed, 2 insertions(+), 16 deletions(-)


Download oUF From WowInterface