Download
(2MB)
Download
Updated: 03-21-24 07:54 AM
Pictures
File Info
Compatibility:
Plunderstorm (10.2.6)
Updated:03-21-24 07:54 AM
Created:12-15-13 12:44 PM
Downloads:113,677
Favorites:152
MD5:
Categories:Suites, Action Bar Mods, Unit Mods, Graphical Compilations
10.2.6

LS: UI  Updated this week!  Popular! (More than 5000 hits)

Version: 100206.01
by: lightspark [More]

Yet another UI, but this one is a bit special.



Options
Use /LSUI to open in-game config.

Feedback and Feature Requests
If you found a bug or want to share an idea on how to improve my UI, either use the issue tracker on GitHub or join our Discord server.

Feel free to write feedback on how to improve some class-specific features.

However, keep in mind that I'm not going to implement any features as a replacement for BIG addons.

Localisation
Feel free to add and/or review translations on Curse, alternatively, you may create a PR on project's GitHub page.

License
Please see LICENSE file.

Version 100206.01

- Added 10.2.6 support.

Version 100205.03

### Action Bars

- Reworked the instance lockout tooltip. Instances and world bosses are now grouped by the lockout expiration time.
Instance names and difficulties are also properly sorted. This should greatly increase its readability.



Version 100205.02

- Fixed an issue where the options sub-addon wouldn't load.

### Tooltips

- Fixed an issue where unit tooltips would get stuck on the screen if the shift key was pressed.

Version 100205.01

- Added 10.2.5 support.

Version 100200.04

### Blizzard

- Fixed an issue where raid helm enchants would break the character panel.

Version 100200.03

### Action Bars

- Removed various range checks in accordance with the latest range API restriction by Blizz.
- The currency list in the backpack tooltip is now sorted by name.

Version 100200.02

### Unit Frames

- Fixed an issue where heal prediction and absorb shields wouldn't show up. It's a Blizz bug.

Version 100200.01

- Added 10.2 support.
- Added "LS: UI" entry to the addon compartment in the top right corner of the minimap.
- Improved compatibility with OmniCC.

### Action Bars

- Added an option to select the type of endcaps, i.e., Alliance (Gryphons), Horde (Wyverns), Neutral (Mixed), and Auto.
- Added "Use Blizzard Menu" option to enable Blizzard micro menu alongside my enhanced tooltips.



Version 100107.01

- Added 10.1.7 support.

### Blizzard

- Fixed an issue where populated gem sockets were sometimes shown as empty.

### Minimap

- Added 125% and 150% minimap size options.

Version 100105.01

- Added 10.1.5 support.

### Blizzard

- Removed quality icons from enchant labels next item slots in the character panel.
- Removed dig site bar and vehicle seat indicator movers. Use "Edit Mode" to move those instead.

### Action Bars

- Added an option to hide micro menu alerts.

Version 100100.04

### Blizzard

- Readded gems to the character panel. Finally...

Version 100100.03

### Action Bars

- Removed main bar specific "Scale" option.
- Added "Scale" options to all action bars.
- Added an option to change the number of main bar buttons.
- Fixed an issue where the xp bar would sometimes disappear.



Version 100100.02

### Minimap

- Added minimap coordinates. Disabled by default.
- Adjusted minimap border textures to make zone colouring more pronounced.

### Unit Frames

- Readded fading options for pet, target of focus, and target of target frames.

Version 100100.01

- Added 10.1.0 support.

- Removed login message for good. It served its purpose.

### Minimap

- Fixed an issue where the difficulty flag's position wasn't adjusted when flipping the minimap.

Version 100005.04

- Fixed fading. Adding new stuff is never easy...

Version 100005.03

### Unit Frames

- Added the "Health" option to fading. It's controlled by the player's health, and if it's below
<100% the frame will fade in.
- Added an option to disable status icons. These are the round role, class, etc icons at the bottom
of a frame.
- Removed fading options from pet, target of focus, and target of target frames. These are now
controlled by the fading options of player, focus, and target frames respectively.

Version 100005.02

### Tooltips

- Improved compatibility with addons that use old-school tooltip scanning. No more unit names in all
kinds of tooltips!
- Added expansion info to item tooltips. It's tied to the "Spell and Item ID" option.

Version 100005.01

- Added 10.0.5 support.

### Action Bars

- Removed bag bar mover. Use Edit Mode to move it.
- The micro menu is unchanged.

### Auras

- Re-added an option to destroy totems by right-clicking the totem buttons.

### Blizzard

- Removed durability frame mover. Use Edit Mode to move it.

### Minimap

- Fixed an issue where mousing over the difficulty flag would throw errors while in the guild group.

Version 100002.04

### Action Bars

- Fixed an issue which sometimes would make the Edit Mode throw SetScale errors.

### Minimap

- Added "Auto Zoom Out" option. Set to 5s by default.
- Improved compatibility with other minimap addons like FarmHud. There's still issues on the
FarmHud's end, but I already notified its dev about them.

Version 100002.03

### Action Bars

- Fixed an issue where the OOM indicator state wouldn't reset properly on config updates.

Version 100002.02

### Action Bars

- Readded the OOM indicator option back to the action bar config.
- Fixed action button lock.
- Misc bug fixes and tweaks.

Version 100002.01

- Added 10.0.2 support.
- Updated embeds.

### Action Bars

- The latest LAB includes custom flyouts (a bit buggy).
- Reverted the hack added in 100000.01 that locked action bars, it's no longer necessary.

### Unit Frames

- Fixed an issue where heal and power cost predictions would sometimes be displayed outside the
bounds of the unit frame.

### Known Issues

- Empowered spell casts have very basic support atm. I'm planning to rework castbars and other
progress bars later, so I chose not to do the same work twice. Soz.

Version 100000.03

### Action Bars

- Fixed a bug where the extra action button would stay hidden despite being enabled.
- Fixed a bug where an action bar anchored to another frame would appear in a different spot from
its mover. I had to rework movers for DF, so there might be more of these, please, continue to
report them.

### Minimap

- Added custom difficulty flags. LFR, normal, heroic, mythic, and M+ difficulties will now have
unique flags. There's also an option to show the tooltip with the difficulty info, it's disabled
by default.

### Unit Frames

- Added an option to use Blizzard castbar. When you disable the player castbar, the new "Enable
Blizzard Castbar" option will appear next to it.

### Known Issues

- Spell flyouts don't work. It's not a bug in my UI, it's a Blizz bug that affects all addons.
I feel your pain, I have a mage alt, but for the time being either place frequently used spells
on your action bars or use them directly from your spellbook.
- Tooltips don't work. Just to reiterate, Blizz chose to delay the new tooltip system until 10.0.2,
the rewritten tooltip module relies on it to work, so I had to disable it for the time being.



Version 100000.02

### Action Bars

- Added mouseover casting to action bars.
- Added an option to scale the main action bar artwork.

### Blizzard

- Fixed the option to hide the talking head.

### Buffs and Debuffs

- Fixed an issue where it's impossible to cancel an aura by right-clicking it.

### Unit Frames

- Fixed an issue where disabling the player castbar would result in an error.

### Known Issues

- Spell flyouts don't work. It's not a bug in my UI, it's a Blizz bug that affects all addons.
I feel your pain, I have a mage alt, but for the time being either place frequently used spells
on your action bars or use them directly from your spellbook.
- Tooltips don't work. Just to reiterate, Blizz chose to delay the new tooltip system until 10.0.2,
the rewritten tooltip module relies on it to work, so I had to disable it for the time being.

Version 100000.01

- Added 10.0.0 support.
- Despite the overall lack of visual changes, practically the entire UI was rewritten due to how
extensive DF changes were.
- The "Round" layout is gone. I'm really sorry :(

### Action Bars

- Added support for the new extra action bars.
- Added an option to toggle wyverns/gryphons. You can now choose between one, two, or no endcaps.
- Removed an option to split the micromenu into two parts.
- Removed the custom bag bar in favour of the new bag bar from Blizz.
- Removed the "Inventory" microbutton, the new backpack button will host the currency tooltip.

### Blizzard

- Removed customisation options and movers for a bunch of the default UI widgets because they're
reworked by Blizzard. Affected widgets are castbars, the objective tracker, mirror timers (breath,
fatigue), and the alternative player power bar (the dragon riding bar, various widgets for boss
encounters, etc).
- I left in an option to auto-hide the talking head.
- From now on use Blizz layout manager to move the talking head and objective tracker, I removed
movers for these two because I wanted to avoid breaking anything in the layout manager, it's
really easy. And on top of that the objective tracker itself is a very, let's say, sensitive
widget.
- If in the future Blizz add an option to safely remove things from their layout manager, I'll
gladly readd objective tracker and talking head movers.
- Temporarily disabled gem and enchant texts in the character frame. Both rely on the new tooltip
system that's not available in the pre-patch, more on that later.

### Filters

- Turned "Blacklist" and "M+ Affixes" filters into curated read-only filters. I hope folks in our
Discord server will help me to maintain the M+ filter. If you added anything to these two filters,
don't worry, you'll find all the extra auras in new "Blacklist.bak" and "M+ Affixes.bak" filters.

### Loot

- Removed the custom loot frame.

### Minimap

- Both round and square minimaps now use fixed size textures. The 125% size option may come back in
the future, but I feel like the current size is big enough for everyone.
- Removed minimap button collecting and skinning. By default, there's no need to collect buttons
anymore, Blizz removed practically everything. I'll most likely release it as a separate addon.
- While the minimap has both my and Blizz (Edit Mode) movers, Blizz mover does nothing, it can't
move the minimap, it can't change its settings. Unfortunately, Blizz didn't give addon devs a way
to safely remove things from their layout manager.

### Tooltips

- While the module was rewritten from the ground up, it'll be disabled during 10.0.0 because Blizz
for some reason decided to release their new tooltip system with 10.0.2.

### Unit Frames

- Added support for evokers.

NOTE: Unfortunately, due to all the changes in DF is became impossible to maintain the round layout
within the UI. To maintain it, I'd basically have to turn it one a separate addon, for this reasons
I chose to retire it for good. It's been with me for almost 15 years, from way before this addon
became publicly available, it's heartbreaking to see it gone :(

Version 90207.04

- Fixed outdated "Name" formatting tooltip. "ls:name:5/10/etc" tags have been gone for a long long time, instead use "ls:name(N)"
where N is the number of characters you want to shorten the name to.

Version 90207.03

- Fixed few more things missing from 90207.01. File changes are hard...

Version 90207.02

- Added a couple of files missing from 90207.01. Oops...

Version 90207.01

- Added 9.2.7 support;
- Added new "Info" panel to the config. It has links to various resourced including my new Discord server dedicated to
LS: * addons;
- Updated German translation. Translated by nicobert90@Curse;
- Updated embeds.

INVITE LINK: https://discord.gg/7QcJgQkDYD

NOTE: It'd be really nice if you joined the server because I urgently need your feedback in regards to the future of the
project, the "round" layout in particular.



Version 90205.04

- Fixed an issue where mover settings wouldn't apply on profile import or change; Damn...
- Misc bug fixes and tweaks.

Version 90205.03

- Added wyverns. Zug zug! For now there won't be an option to disable wyverns/gryphons, but I'll add it later;
- Made the rectangular layout default. It's more flexible and suits most people's needs;
- Readded the addon entry to Interface > AddOns. Accidentally removed it with v90205.01.



Version 90205.02

- Added custom gryphons. Wyverns are still WIP;
- Removed progress bar gain/loss indicators.



Version 90205.01

- Added 9.2.5 support;
- Separated the main addon and the config into two different folders/addons, so the config UI is now loaded on demand
which should help with the overfall performance a bit;
- Added class icon portraits;
- Fixed an issue where the xp bar would get broken when starting a pet battle;
- Updated Simplified Chinese translation. Translated by aenerv7@Curse;
- Updated Spanish translation. Translated by r3dr1an@Curse.

Version 90200.05

- Added a way to connect movers together. This will allow to preserve relative positions between multiple movers where
it might be needed, for instance, when sharing your profile with someone who plays on a different screen resolution;
- Updated Simplified Chinese translation. Translated by aenerv7@Curse;
- Updated embeds;
- Misc bug fixes and tweaks.



Version 90200.04

- Fixed an issue where unit frames wouldn't update correctly when entering/leaving vehicles.

Version 90200.03

- Updated profile export to export both global and private profiles together since they usually are interconnected.

Version 90200.02

- Added profile import and export! It's now possible to import/export colours, tags, global and private profiles. You
can import multiple strings at once;
- Added options to control action buttons' and auras' height independently from their width;
- Added options to toggle zone and extra buttons' artwork;
- Reworked the way the addon handles profile updates. Instead of updating the current profile at login, the addon will
now go through all existing profiles and will try to update them to the latest version. It's only guaranteed to work
with v80020.03 profiles and newer, so if it's updating an even older profile, you'll see a warning in chat;
- Increased the max number of boss frames to 8. It might be buggy, but you should blame Blizz for it;
- Updated Simplified Chinese translation. Translated by aenerv7@Curse;
- Updated embeds.



Version 90200.01

- Added options to toggle and reverse cooldown swipes on UF buffs, player buffs and debuffs, action bars, and the aura
tracker;
- Fixed "Buffs and Debuffs" config. It seems that it's broken for quite some time, sorry about that T_T;
- Player and pet castbars are now detached in the rectangular layout by default;
- Updated embeds.



NOTE: If you're affected by this Russian-Ukrainian conflict or know someone who is, please, stay safe and help each
other out. You aren't alone, we all are gonna make it ❤

Version 90105.06

- Preemptively updated buffs and debuffs to work with 9.2 changes.

NOTE: It's not a proper 90200.x update, that will happen on Thursday/Friday.

Version 90105.05

- Fixed an issue where some movers would change their position by 4px in either direction. Primarily affected ToT, ToF,
and UF castbar movers.

Version 90105.04

- Reworked profile management. Now there's two profile tabs under the `Profiles` category: `Global` and `Private`.
- `Global` is what normal profiles used to be, there's no change in functionality;
- `Private` is for character specific data which includes the info on the current UI layout type, the shape of the
minimap, which modules and elements are enabled/disabled, and, for those of you who still use my `Aura Tracker`,
its filters.
Previously, every single character had its own private profile you had no access to, but now it's possible to manage
them like normal (global) profiles, for instance, multiple characters can use the same private profile. All existing
private profiles will be converted automagically, so there should be no data loss;
- Renamed UI layouts from `Orbs` and `Classic` to `Round` and `Rectangular` respectively;
- Fixed an issue where the XP bar would use incorrect settings in restricted mode.



Version 90105.03

- Fixed minimap config.

Version 90105.02

- Reworked movers:
- Added options to resize the grid and display movers' names;
- Instead of highlighting, the focused mover will now stay at full alpha while all other movers will fade out;
- Removed buttons for 1px adjustments, instead use Ctrl + Mouse wheel or Left/Right arrow keys to nudge movers left
and right, and Shift + Mouse wheel or Up/Down arrow keys to nudge them up and down;
- Fixed a couple of XP bar issues that prevented it from updating its colours as expected;
- Updated French translation. Translated by cybern4ut@Curse;
- Updated German Translation. Translated by MrKimab@Curse;
- Updated Simplified Chinese translation. Translated by aenerv7@Curse.



Version 90105.01

- Added 9.1.5 support;
- Fixed an issue that sometimes prevented tooltips from being displayed.

Version 90100.02

- Added support for Domination Sockets on the character panel;
- Added Anima Powers mover;
- Fixed an issue where multiple charged combo points were handled incorrectly. Thanks to cybern4ut for testing this one;
- Optimised fading a bit more;
- Updated embeds.

Version 90100.01

- Added 9.1.0 support;
- Further fading optimisation.

Version 90005.05

- Optimised fading a bit more;
- Misc bug fixes and tweaks.

Version 90005.04

- Reworked fading. It's way more fluid and responsive now:
- Added fading to unit frames and the minimap;
- Added Target and Combat options. The former will make an element fade in when you target or
focus something, the latter will make an element fade in upon entering combat;
- Removed the Fade In Delay option.
- Split cooldown's Expiration Threshold into two options:
- Expiration Threshold now controls colouring;
- S:MS Threshold controls the format.
- Updated Simplified Chinese translation. Translated by aenerv7@Curse;
- Updated embeds.

KNOWN ISSUES:

Some people, predominantly with high refresh rate monitors, reported that after playing the game
for an extended period of time they noticed some FPS degradation. /reload-ing the UI resolves
the issue. I'm still investigating what's going on because neither people I know nor I have ever
experienced it personally which obviously makes testing and debugging a lot harder. However, I
think I know what might be causing it.
If you've experienced it, feel free to DM me on discord @ ls-#9453.



Version 90005.03

- Fixed "Inventory" micro button's tooltip error.

Version 90005.02

- Added WoW Token price to the "Inventory" micro button's tooltip;
- Fixed misc class power bar issues.



Version 90005.01

- Added 125% and 150% size options for the round minimap. Can be found at /LSUI > Minimap > Size
slider;
- Rebalanced UF insets. Bottom insets can now be up to 50% of the UF size (up from 33%), whereas
top insets are now limited to 25% (down from 33%);
- Misc bug fixes and tweaks.



Version 90002.06

- Refactored a lot of UF-related code;
- New horizontal UF textures;
- Added an option to adjust UF gloss. Can be found at /LSUI > Unit Frames > Gloss slider. It affects
all UFs, including the player orb, for it to work better all textures were adjusted to be more or
less the same in terms of opacity and colours;
- Added an option to toggle UF status bars' gain/loss animations and smoothing. Can be found at
/LSUI > Unit Frames > Smooth and Animated sliders;
- Streamlined UF options. Some old options were removed, and few new options were added:
- Reworked how top and bottom insets are sized. Now they scale depending on the height of the UF.
The max size is 33% of the height, the minimum size is 1% or 4px, whichever is bigger;
- Removed Heal Prediction tags options. It's unnecessary clutter. Can be recreated via Custom
Texts, use `ls:absorb:heal` and `ls:absorb:damage` tags to do so;
- And more.
- Added some of my textures to LSM. Border textures were added as `LS Thick` and `LS Thin`, and the
status bar texture as `LS`. This way they can be used in other addons that support LSM. I'm
planning to add LSM support to all status bars across the addon later, but I need to do a bit more
work for that to happen.



Version 90002.05

- Added new unit frame element, `Custom Texts`. Can be found at /LSUI > Unit Frames > Unit > Custom
Texts. It allows you to create taggable font strings anywhere on a unit frame. Added it because
some people asked for it;
- Added two new tags `ls:threat` and `ls:color:threat`;
- Updated embeds.

Version 90002.04

- Finished migrating fonts to LSM. Can be found at /LSUI > General > Fonts. Now there's 4
categories: cooldowns, unit frames, buttons, and progress bars. "Cooldowns" is self-explanatory,
"Unit Frames" controls fonts of all UF elements, but aura buttons and castbars, "Buttons"
controls fonts of all aura buttons, action buttons, item buttons on the character panel, and
"Progress Bars" controls fonts of castbars, the digsite bar, mirror timers, and the tooltip
healthbar. I haven't added support for Blizzard fonts yet, I'm still not sure how to do it better;
- Added optional coloured ilvl text to the character frame. Can be found at /LSUI > Blizzard >
Character Frame > iLvl;
- Added an option to disable enchant and gem text on equipped items. Can be found at /LSUI >
Blizzard > Character Frame > Item Enhancements;
- Added an option to adjust the tooltip health bar and its text size. Can be found at /LSUI >
Tooltips > Health;
- Improved compatibility with various addons that add text to the main tooltip;
- Fixed an issue where class power separators wouldn't render properly;
- Fixed an issue where the config tried to updated disabled unit frames;
- Updated French translation. Translated by Brainc3ll@Curse;
- Updated Simplified Chinese translation. Translated by aenerv7@Curse;
- Misc bug fixes and tweaks;
- Updated embeds.

Version 90002.03

- Fixed an issue that prevented square minimap from working in Torghast.

Version 90002.02

- Added support for charged combo points. For now it'll use Chi colour. I'll add a proper colour
later.

NOTE: I'm aware of the fact that the minimap doesn't work in Torghast.

Version 90002.01

- Added 9.0.2 support;
- Fixed azerite power bar visibility. Now it's disabled when HoA is unequipped;
- Updated embeds;
- Misc bug fixes and tweaks.

Version 90001.05

- Added LibSharedMedia support. Can be found at /LSUI > General > Fonts. For now, only unit frames,
action bars, and cooldown spirals support font customisation. For the sake of consistency all
fonts of a given module will be updated at once, for example, if you change the unit frame font,
then health, heal prediction, power, alternative power, castbar, name, and aura fonts will be
changed. However, each element will retain individual size controls, and unit frame auras will
retain their shadow and outline controls on top of that. I'll be adding LSM support to missing
modules with the next update;
- Reenabled extra and zone action buttons. Sadly, the size option is gone;
- Fixed an issue where action bar fading won't resume after leaving a vehicle;
- Updated French translation. Translated by cybern4ut@Curse and Brainc3ll@Curse;
- Updated Spanish translation. Translated by justregular16@Curse.



Version 90001.04

- Fixed paragon reputation handling;
- Fixed additional power bar visibility for priests, shamans, and druids.

Version 90001.03

- Fixed an "issue" where you'd see an error while managing profiles. Due to how the addon is
written it's just an error message, but nothing was actually broken and everything was
updating properly.

Version 90001.02

- Fixed health tags;
- Fixed hotkey font.

Version 90001.01

- Added 9.0.1 support.

NOTE: Extra and zone buttons are currently disabled, I'll figure out what to do with them later.
Archived Files (53)
File Name
Version
Size
Author
Date
100205.03
2MB
lightspark
03-10-24 04:17 AM
100205.02
2MB
lightspark
01-23-24 06:17 AM
100205.01
2MB
lightspark
01-16-24 08:45 AM
100200.04
2MB
lightspark
01-07-24 10:14 AM
100200.03
2MB
lightspark
11-19-23 03:55 AM
100200.02
2MB
lightspark
11-10-23 12:57 AM
100200.01
2MB
lightspark
11-07-23 10:46 AM
100107.01
2MB
lightspark
09-27-23 02:21 AM
100105.01
1MB
lightspark
07-11-23 09:45 AM
100100.04
1MB
lightspark
05-15-23 01:10 PM
100100.03
1MB
lightspark
05-09-23 02:21 PM
100100.02
1MB
lightspark
05-07-23 09:14 AM
100100.01
1MB
lightspark
05-02-23 11:59 AM
100005.04
1MB
lightspark
03-03-23 08:32 PM
100005.03
1MB
lightspark
03-03-23 04:26 AM
100005.02
1MB
lightspark
02-11-23 07:55 AM
100005.01
1MB
lightspark
01-25-23 08:39 AM
100002.04
1MB
lightspark
12-16-22 03:09 AM
100002.03
1MB
lightspark
12-03-22 04:29 AM
100002.02
1MB
lightspark
12-02-22 02:47 PM
100002.01
1MB
lightspark
11-28-22 08:45 AM
100000.03
1MB
lightspark
10-31-22 01:34 AM
100000.02
1MB
lightspark
10-28-22 10:19 PM
100000.01
1MB
lightspark
10-25-22 12:30 PM
90207.04
1MB
lightspark
10-04-22 05:55 AM
90207.03
1MB
lightspark
09-30-22 11:36 AM
90207.02
1MB
lightspark
09-30-22 09:39 AM
90207.01
1MB
lightspark
09-30-22 07:02 AM
90205.04
1MB
lightspark
08-07-22 11:19 AM
90205.03
1MB
lightspark
08-01-22 09:08 AM
90205.02
1MB
lightspark
07-29-22 04:57 AM
90205.01
1MB
lightspark
07-22-22 01:16 AM
90200.05
1MB
lightspark
04-06-22 08:29 PM
90200.04
1MB
lightspark
03-24-22 05:59 PM
90200.03
1MB
lightspark
03-24-22 09:55 AM
90200.02
1MB
lightspark
03-23-22 03:03 PM
90200.01
1MB
lightspark
03-01-22 04:34 AM
90105.06
1MB
lightspark
02-22-22 08:28 AM
90105.05
1MB
lightspark
12-04-21 05:06 AM
90105.04
1MB
lightspark
12-01-21 06:52 AM
90105.03
1MB
lightspark
11-16-21 01:45 PM
90105.02
1MB
lightspark
11-16-21 06:23 AM
90105.01
1MB
lightspark
11-06-21 03:11 AM
90100.02
1MB
lightspark
08-29-21 08:25 AM
90100.01
1MB
lightspark
06-29-21 12:35 PM
90005.05
1MB
lightspark
06-15-21 11:04 PM
90005.04
1MB
lightspark
06-12-21 09:03 AM
90005.03
1MB
lightspark
04-01-21 05:38 AM
90005.02
1MB
lightspark
03-27-21 07:06 AM
90005.01
1MB
lightspark
03-12-21 10:35 PM
90002.06
1MB
lightspark
01-28-21 05:45 AM
90002.05
1MB
lightspark
01-16-21 01:39 PM
90002.04
1MB
lightspark
01-14-21 01:15 PM


Post A Reply Comment Options
Unread 12-15-13, 03:22 PM  
saxitoxin
A Theradrim Guardian
 
saxitoxin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 60
File comments: 98
Uploads: 7
Good Job

Just wanted to say that you have done a good job on this one
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 04:59 PM  
10leej
A Molten Giant
 
10leej's Avatar
AddOn Author - Click to view AddOns

Forum posts: 583
File comments: 438
Uploads: 22
Great implementation of what I assume to be zork's oUF_Donut
__________________
Tweets YouTube Website
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 05:08 PM  
wildbill
A Kobold Labourer

Forum posts: 1
File comments: 1
Uploads: 0
Your work is gorgeous. I hope it gets more exposure.
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 09:03 PM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Originally Posted by 10leej
Great implementation of what I assume to be zork's oUF_Donut
Nope, these are just usual statusbars and textures. I just spent quite much time on positioning elements, doing visuals and coding but of course I was inspired by zork's UI and diablo in general. One of the early versions was more diablo themed. But then I started everything from scratch, both visuals and code. Want it to have a unique style

Thx, everyone will do my best!

Feedback! Yay!
Last edited by lightspark : 12-15-13 at 09:12 PM.
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 09:30 PM  
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1710
File comments: 1222
Uploads: 43
Take a look at http://www.wowinterface.com/forums/s...ad.php?t=45918 if you want to fill the bars in actual circular motion.
Other than that, looks good
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 09:45 PM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Originally Posted by p3lim
Take a look at http://www.wowinterface.com/forums/s...ad.php?t=45918 if you want to fill the bars in actual circular motion.
Other than that, looks good
Thx, now, when I finally managed to release this UI, it's time to look for different ways to improve it!
Cuz previously if i tried to do some research I would end up rewriting the whole thing
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 09:57 PM  
10leej
A Molten Giant
 
10leej's Avatar
AddOn Author - Click to view AddOns

Forum posts: 583
File comments: 438
Uploads: 22
Originally Posted by lightspark
Originally Posted by p3lim
Take a look at http://www.wowinterface.com/forums/s...ad.php?t=45918 if you want to fill the bars in actual circular motion.
Other than that, looks good
Thx, now, when I finally managed to release this UI, it's time to look for different ways to improve it!
Cuz previously if i tried to do some research I would end up rewriting the whole thing
Ah well that thread talks about zork's theory he turned to reality in oUF_Donut you can look at that addon for a working implementation for a circular motion.
__________________
Tweets YouTube Website
Report comment to moderator  
Reply With Quote
Unread 12-15-13, 10:07 PM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Originally Posted by 10leej
Ah well that thread talks about zork's theory he turned to reality in oUF_Donut you can look at that addon for a working implementation for a circular motion.
Yeah, already testing his oUF_Donut, but still have to read theory. if I'm to use it as a reference, I have to fully understand how it works
Report comment to moderator  
Reply With Quote
Unread 12-16-13, 01:43 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Great job, the layout looks awesome, I really like the textures. The radial approach works best for 90°, 180°, 270° or 360° ring segments. Doing tinier ring segments require way to much hacking. It is done by using scrollframes since they crop textures. The simplest example is described here:
http://www.wowinterface.com/forums/s...95&postcount=9

You could still use it for most of your outer rings except for the runes. Since any other power source can be translated into an rotation angle from 0-180°.

Currently the idea is to use fixed set of scrollframes and just rotate a bunch of texture inside the scrollchild of each scrollframe. This has merits though. Rings need to start/end and 0,90,180 or 270°.
Making it possible to start a ring at any angle is nearly impossible. Some parts can be solved by tricky texure creation though. Using the alpha layer to hide specific texture parts for example.

Currently doing your petframe as a ring is nearly impossible.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 12-16-13 at 04:16 AM.
Report comment to moderator  
Reply With Quote
Unread 12-16-13, 07:27 AM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Originally Posted by zork
Great job, the layout looks awesome, I really like the textures. The radial approach works best for 90°, 180°, 270° or 360° ring segments. Doing tinier ring segments require way to much hacking. It is done by using scrollframes since they crop textures. The simplest example is described here:
http://www.wowinterface.com/forums/s...95&postcount=9

You could still use it for most of your outer rings except for the runes. Since any other power source can be translated into an rotation angle from 0-180°.

Currently the idea is to use fixed set of scrollframes and just rotate a bunch of texture inside the scrollchild of each scrollframe. This has merits though. Rings need to start/end and 0,90,180 or 270°.
Making it possible to start a ring at any angle is nearly impossible. Some parts can be solved by tricky texure creation though. Using the alpha layer to hide specific texture parts for example.

Currently doing your petframe as a ring is nearly impossible.
TY! Ur rTestRing helped me to learn ScrollFrames well and after performing few tests I decided to stick with 180° segments.

It's quite easy to control texture rotation by animation's OnPlay, OnFinish and may be OnStop scripts. First we animate it, @OnPlay we calculate texture's new angel, @OnFinish we set it. Then next time we play animation again we start where we stopped before.

Dirty, but works fine. This code makes texture constantly rotate with an 18° step! Wicked! Just in case someone else wants to do the same, use this code for better understanding

Lua Code:
  1. local rt1 = sc1:CreateTexture(nil,"BACKGROUND",nil,-6)
  2.   rt1:SetTexture("Interface\\AddOns\\rTestRing\\media\\ring_half")
  3.   rt1:SetSize(sqrt(2) * f.w, sqrt(2) * f.h)
  4.   rt1:SetPoint("CENTER", -128, 0)
  5.   rt1:SetVertexColor(1,0,0)
  6.   local angle = 180 * 0.1 * 1 -- angle of segment, how "far" we want to rotate ouf texture, direction
  7.   rt1:SetRotation(math.rad(0)) -- we can set any angle as initial point
  8.   rt1.degrees = 0
  9.  
  10.   local ag = rt1:CreateAnimationGroup()
  11.   ag.anim = ag:CreateAnimation("Rotation")
  12.   ag.anim:SetDegrees(angle)
  13.   ag.anim:SetDuration(1)
  14.   ag.anim:SetSmoothing("OUT")
  15.   ag:SetIgnoreFramerateThrottle(true)
  16.  
  17.   ag:SetScript("OnFinished", function (table, ...)
  18.     rt1:SetRotation(math.rad(rt1.degrees))
  19.     table.anim:SetStartDelay(0)
  20.     table:Play()
  21.     table:Finish()
  22.   end)
  23.  
  24.   ag:SetScript("OnPlay", function (table, ...)
  25.     if rt1.degrees >= 360 then
  26.       rt1.degrees = rt1.degrees - 360 + (table.anim:GetDegrees())
  27.     elseif rt1.degrees <= -360 then
  28.       rt1.degrees = 0 + (table.anim:GetDegrees())
  29.     else
  30.       rt1.degrees = rt1.degrees + (table.anim:GetDegrees())
  31.     end
  32.   end)
  33.   ag.anim:SetStartDelay(2)
  34.   ag:Play()
  35.   ag:Finish()

I think I'll implement powerbars (mana, rage, etc) and all but runes and totems via ScrollFrames. Need to code an adequate interface to access and manage animations, rotations, etc. Once again TY!
Last edited by lightspark : 12-16-13 at 07:35 AM.
Report comment to moderator  
Reply With Quote
Unread 12-16-13, 11:17 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
No, do not use animationgroups for those rings. That was just for my testing purpose. There is an even better solution.

Create a fake statusbar. Lets say your healthbar should be a 180° ring, so you create:
Lua Code:
  1. local rad = rad
  2.  
  3. local function OnValueChanged(self,...)
  4.   local hmin, hmax, hcur = self:GetMinMaxValues(), self:GetValue()
  5.   local hper = 0
  6.   if hmax > 0 then hper = hcur/hmax end
  7.   local hrad = rad(hper*self.maxRadius)
  8.   self.ringTexture:SetRotation(hrad)
  9. end
  10.  
  11. local self.Health = CreateFrame("StatusBar",nil,self)
  12. self.Health.maxRadius = 180
  13. self.Health.ringTexture = ringTexture --reference to the scrollframe ring texture that should be your health ring
  14. self.Health:SetScript("OnValueChanged",OnValueChanged)

That way oUF_Smooth can still be applied to your oUF health object. The onvaluechanged event will trigger the ring updates. The same technique can be used for all the other bars.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 12-16-13 at 11:24 AM.
Report comment to moderator  
Reply With Quote
Unread 12-16-13, 11:28 AM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Tested - Works!

Originally Posted by zork
No, do not use animationgroups for those rings. That was just for my testing purpose. There is an even better solution.

Create a fake statusbar. Lets say your healthbar should be a 180° ring, so you create:

....

That way oUF_Smooth can still be applied to your oUF health object. The onvaluechanged event will trigger the ring updates. The same technique can be used for all the other bars.
Tried to implement Burning Embers using ScrollFrame. Rough, but works.

Results:


Lua Code:
  1. ag:SetScript("OnFinished", function (table, ...)
  2.   rt1:SetRotation(math.rad(rt1.degrees))
  3. end)
  4.  
  5. ag:SetScript("OnStop", function (table, ...)
  6.   rt1:SetRotation(math.rad(rt1.degrees))
  7.   print("STOPPED!")
  8. end)
  9.  
  10. ag:SetScript("OnPlay", function (table, ...)
  11.   if rt1.degrees >= 360 then
  12.     rt1.degrees = rt1.degrees - 360 + (table.anim:GetDegrees())
  13.   elseif rt1.degrees <= -360 then
  14.     rt1.degrees = 0 + (table.anim:GetDegrees())
  15.   else
  16.     rt1.degrees = rt1.degrees + (table.anim:GetDegrees())
  17.   end
  18. end)
  19.  
  20.  
  21. local function SF_OnEvent(self, event, unit, powerType)
  22.   if powerType ~= "BURNING_EMBERS" and not event == "PLAYER_ENTERING_WORLD" then return end
  23.  
  24.   if event == "PLAYER_ENTERING_WORLD" then
  25.     sf1.oldCur = 0
  26.   end
  27.  
  28.   local cur = UnitPower("player", SPELL_POWER_BURNING_EMBERS, true)
  29.   local max = UnitPowerMax("player", SPELL_POWER_BURNING_EMBERS, true)
  30.  
  31.   local step = 180 / max
  32.  
  33.   local direction = -1
  34.  
  35.   if self.oldCur > cur then
  36.     direction = 1
  37.   elseif self.oldCur < cur then
  38.     direction = -1
  39.   end
  40.  
  41.   local steps_to_do = math.abs(cur - self.oldCur)
  42.   self.oldCur = cur
  43.  
  44.   if steps_to_do ~= 0 then
  45.     print("steps:", steps_to_do, "direction:", direction, "current:", cur)
  46.  
  47.     ag.anim:SetDegrees(step * direction * steps_to_do)
  48.  
  49.     if ag:IsPlaying() then ag:Stop() end
  50.    
  51.     ag:Play()
  52.     ag:Finish()
  53.   end
  54. end
  55.  
  56. sf1:RegisterEvent('PLAYER_ENTERING_WORLD')
  57. sf1:RegisterEvent('UNIT_DISPLAYPOWER')
  58. sf1:RegisterEvent('UNIT_POWER_FREQUENT')
  59. sf1:SetScript("OnEvent", SF_OnEvent)

As I said before it's quite easy to control texture position by OnPlay, OnFinish and OnStop scripts, OnStop and OnFinish r doing the same thing. We need OnStop, when we're forcing animation to stop, but we still need to update textures angle.

That's simple, but here starts magic. To make ScrollFrame and animated texture behave like StatusBar we have to perform few calculations:
1) Size of a step
2) Direction where to rotate.
3) Amount of steps we have to perform.

Knowing these variables allows us to calculate how "far" we have to rotate at once, instead of animating step-by-step. For example, when we login, reload UI or, in this case, when we cast Chaos Bolt, which consumes 10 pieces of ember.

At least I learnt something new, haha. I'll test ur method tomorrow :3
Last edited by lightspark : 12-16-13 at 11:34 AM.
Report comment to moderator  
Reply With Quote
Unread 12-17-13, 01:33 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Re: Tested - Works!

You can apply the smooth module to any statusbar. Thus you could use self:SmoothBar(self.SoulShards) for soulshards (or any other bar). Thus once the bar has its value changed the smoothing will be applied.

The animation groups use an onupdate system aswell, just on c-side. You are right, both concepts will work, but you already got smoothing as a module and the animationgroup has to call setrotation aswell, even in the process of rotation.

What I find pretty important is that the smooth module is consistent independent of fps, thus the smoothing will be the same for any framerate. http://code.google.com/p/rothui/sour..._Smooth.lua#40

But I think animationgroups do that aswell since you need to add a duration for your animation. Hmmm...you use fixed 1 second as a duration, I do not think that this will work. You need to adjust the duration based on the how much big the percentage change is in relation to the ring radius. Otherwise the movement is inconsistent.

But nonetheless I like your animationgroup approach, if you can get it consistent it could work out pretty nicely.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 12-17-13 at 01:44 AM.
Report comment to moderator  
Reply With Quote
Unread 12-17-13, 04:25 AM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Re: Re: Tested - Works!

Originally Posted by zork
You can apply the smooth module to any statusbar. Thus you could use self:SmoothBar(self.SoulShards) for soulshards (or any other bar). Thus once the bar has its value changed the smoothing will be applied.
Currently all of my statusbars r smoothed

Originally Posted by zork
The animation groups use an onupdate system aswell, just on c-side. You are right, both concepts will work, but you already got smoothing as a module and the animationgroup has to call setrotation aswell, even in the process of rotation.

What I find pretty important is that the smooth module is consistent independent of fps, thus the smoothing will be the same for any framerate. http://code.google.com/p/rothui/sour..._Smooth.lua#40

But I think animationgroups do that aswell since you need to add a duration for your animation. Hmmm...you use fixed 1 second as a duration, I do not think that this will work. You need to adjust the duration based on the how much big the percentage change is in relation to the ring radius. Otherwise the movement is inconsistent.
As for the way how animations work, AGs also have this feature, my original AG's code for testing was:
Lua Code:
  1. local ag = rt1:CreateAnimationGroup()
  2. ag.anim = ag:CreateAnimation("Rotation")
  3. ag.anim:SetDuration(0.5)
  4. ag.anim:SetSmoothing("OUT")
  5. ag:SetIgnoreFramerateThrottle(true)
as u can c, i use SetIgnoreFramerateThrottle function, it allows me to render animation at the real fps, thus there is need to adjust duration on the fly and i just set it to 0.5, but 0.4 is even better! Runs smoothly, even when texture rotates >90 degrees at once, there's almost no need to call Stop() function.
Possible problem is when texture starts rotating >90 degrees, then we have to stop the animation, and play it again starting at new angle. In this case movement will be a lil bit inconsistent. But sure there is something else...

Originally Posted by zork
But nonetheless I like your animationgroup approach, if you can get it consistent it could work out pretty nicely.
TY! But for now I'll use ur method with a fake statusbar, maybe I'll switch to AG method later, but only if it allows me to use less memory and write less or more elegant code Christmas time, almost no work to do and single, I have plenty of time to try different approaches haha, shi~ sounds quite sad

[UPDATE]

Back to AG topic. Tested this thingy more.
Result: It's quite easy to control animation by element's PostUpdate function, which usually passes current, maximum amount of power and, sometimes, if new maximum amount is different from previous one (oldMax ~= newMax)

current - amount of steps we need to perform.
maximum - amount of degrees per step.
oldMax ~= newMax - determines if need to reset rotation progress and force update animation, cuz amount of degrees per step was changed.

[UPDATE 2]
It's possible to make everything extremely smooth via animations, smoother than oUF_Smooth, especially when fps drops to 15-20, or power regen case, tested monk's energy, with registered UNIT_POWER_FREQUENT. But AG method has one disadvantage - animations are NOT played, while WoW is minimized. Not sure bout how serious this disadvantage is, but... what do u think, zork?
Last edited by lightspark : 12-17-13 at 09:42 AM.
Report comment to moderator  
Reply With Quote
Unread 12-17-13, 11:55 PM  
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view AddOns

Forum posts: 341
File comments: 998
Uploads: 6
Okay, done with testing, implemented powers(mana, rage, etc) via Animations and fake StatusBar element.
We need a fake SB to utilize oUF's PostUpdate hooks.
Lua Code:
  1. local function CF_CreatePowerBar(self, texture, position)
  2.     local POWER_LAYOUT = {
  3.         ["LEFT"] = {"RIGHT", 70, 140, 0.5, 0, -1, 1, 0},
  4.         ["TOP"] = {"BOTTOM", 140, 70, 0, -0.5, -1, 1, 270},
  5.         ["RIGHT"] = {"LEFT", 70, 140, -0.5, 0, 1, -1, 180},
  6.         ["BOTTOM"] = {"TOP", 140, 70, 0, 0.5, 1, -1, 90},
  7.     }
  8.     local anchorPoint, width, height, w_multiplier, h_multiplier, CW, ACW, initAngle = unpack(POWER_LAYOUT[position])
  9.  
  10.     local scrollFrame = CreateFrame("ScrollFrame", nil, self)
  11.     scrollFrame:SetSize(width, height)
  12.     scrollFrame:SetPoint(anchorPoint, self, "CENTER", 0, 0)
  13.  
  14.     local scrollChild = CreateFrame("Frame")
  15.     scrollChild:SetSize(width, height)
  16.  
  17.     scrollFrame:SetScrollChild(scrollChild)
  18.  
  19.     local scrollTexture = scrollChild:CreateTexture("$parentActualPowerBar", "BACKGROUND", nil, -6)
  20.     scrollTexture:SetTexture(texture)
  21.     scrollTexture:SetSize(sqrt(2) * math.max(width, height), sqrt(2) * math.max(width, height))
  22.     scrollTexture:SetPoint("CENTER", width * w_multiplier, height * h_multiplier)
  23.  
  24.     scrollTexture.ag = scrollTexture:CreateAnimationGroup()
  25.     scrollTexture.ag:SetIgnoreFramerateThrottle(true)
  26.  
  27.     local AG = scrollTexture.ag
  28.  
  29.     AG.anim = AG:CreateAnimation("Rotation")
  30.     AG.anim:SetSmoothing("OUT")
  31.  
  32.     AG.oldCur, AG.oldMax, AG.initAngle, AG.initUpdate, AG.CW, AG.ACW = 0, 0, initAngle, true, CW, ACW
  33.  
  34.     scrollTexture:SetRotation(math.rad(AG.initAngle))
  35.     scrollTexture.degrees = AG.nit_angle
  36.  
  37.     AG:SetScript("OnFinished", function (self, ...)
  38.         local scrollTexture = self:GetParent()
  39.         self.oldCur = self.newCur
  40.         scrollTexture:SetRotation(math.rad(scrollTexture.degrees))
  41.     end)
  42.  
  43.     AG:SetScript("OnStop", function (self, ...)
  44.         local scrollTexture = self:GetParent()
  45.         scrollTexture:SetRotation(math.rad(scrollTexture.degrees))
  46.     end)
  47.  
  48.     AG:SetScript("OnPlay", function (self, ...)
  49.         self.initUpdate = false
  50.  
  51.         local scrollTexture = self:GetParent()
  52.         if scrollTexture.degrees >= 360 then
  53.             scrollTexture.degrees = scrollTexture.degrees - 360 + (self.anim:GetDegrees())
  54.         elseif scrollTexture.degrees <= -360 then
  55.             scrollTexture.degrees = 0 + (self.anim:GetDegrees())
  56.         else
  57.             scrollTexture.degrees = scrollTexture.degrees + (self.anim:GetDegrees())
  58.         end
  59.     end)
  60.  
  61.     return scrollTexture
  62. end
  63.  
  64. local function CF_UpdatePowerBar(self, unit, cur, max)
  65.     local AG = self.actualBar.ag
  66.     local step = 180 / max
  67.  
  68.     if AG.oldMax ~= max then -- this part is mostly for class resources, here we reset our bar to its initial state.
  69.         if AG:IsPlaying() then AG:Stop() end
  70.  
  71.         AG.initUpdate = true
  72.         AG.oldCur = 0
  73.  
  74.         self.actualBar:SetVertexColor(self:GetStatusBarColor())
  75.         self.actualBar:SetRotation(math.rad(AG.initAngle))
  76.         self.actualBar.degrees = AG.initAngle
  77.     end
  78.  
  79.     AG.oldMax = max
  80.  
  81.     local direction
  82.     if AG.oldCur > cur then -- ACW
  83.         direction = AG.ACW
  84.     elseif AG.oldCur <= cur then -- CW
  85.         direction = AG.CW
  86.     end
  87.  
  88.     if not AG:IsPlaying() and (AG.anim:IsDone() or AG.initUpdate) then
  89.         local steps_to_do = math.abs(cur - AG.oldCur)
  90.  
  91.         if steps_to_do ~= 0 then
  92.             AG.newCur = cur
  93.  
  94.             AG.anim:SetDuration(0.175 + 0.475 * math.max(steps_to_do / max, 10 / GetFramerate())) -- fps dependent duration
  95.             AG.anim:SetDegrees(step * direction * steps_to_do)
  96.  
  97.             AG:Play()
  98.             AG:Finish()
  99.         end
  100.     end
  101.  
  102.     ns.UpdatePower(self, unit, cur, max)
  103. end
  104.  
  105. self.Power = CreateFrame("StatusBar", "$parentPower", self)
  106. self.Power.actualBar = CF_CreatePowerBar(self, ppTexture, "RIGHT")
  107. self.Power.PostUpdate = unit == "player" and CF_UpdatePowerBar or ns.UpdatePower
  108. self.Power.Smooth = unit ~= "player"

CF_CreatePowerBar's body is not that different from one in zork's rTestRing, although i did some adjustments. U can find details on OnPlay, OnStop and OnFinish scripts in my previous posts.

CF_UpdatePowerBar function. As I said before I utilize power's postupdate hook, but instead of my previous idea to animate each power regen tick separately, I decided to stack few ticks together, while previous animation is being played and then animate them all together.
As for smoothness of an animation, thx to zork I took a deeper look into this part, we stack ticks together, but when fps drops really low, around 8, rotation becomes inconsistent, to avoid this effect I made duration be fps dependent. When fps drops, we make our animation play longer, so we can stack more ticks, which allows us to get rid of inconsistency.

If u plan to use this ScrollFrame/AnimationGroup approach in ur layout, please, credit zork and me for our work.
Last edited by lightspark : 12-18-13 at 09:44 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: