Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(18 Kb)
Download
Updated: 12-08-14 02:04 AM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.3)
Warlords of Draenor Pre-Patch (6.0.2)
Updated:12-08-14 02:04 AM
Created:02-09-09 05:18 PM
Downloads:98,877
Favorites:529
MD5:
6.0.3

CoolLine  Popular! (More than 5000 hits)

Version: 6.0.002
by: totalpackage, Phanx

CoolLine is a spell/item cooldown mod that displays icons on a single bar/line to give you an idea of when it will be ready. No statusbar timer and no text timer.

CoolLine is inspired by Forte_Cooldown (a module in the ForteXorcist package). CoolLine is basically a stripped down and standalone version written from scratch. The name comes from putting "cooldown" and "timeline" together (yes, lame).

YouTube Intro

How to Use

  • Change settings - "/coolline" or check Interface Options -> AddOns
  • Change position and size - unlock to make it draggable and resizable
  • Filter/unfilter a spell or item cooldown - "/coolline Spell Item Name Link"
  • Add more fonts/texture - CoolLine uses LibSharedMedia

External Support
  • CoolLine.NewCooldown(name, icon, endtime, isplayer)
    • name - unique string id of the cooldown, used as a look-up id
    • icon - string icon path used to display image on the bar
    • endtime - numerical time when the icon should expire, based on GetTime()
    • isplayer - boolean value used to determine if the icon is colored by spell
  • CoolLine.ClearCooldown(unused, name)

Notes
  • Only one spell/item will be shown in an event that multiple spells/items share the same cooldown (whichever appeared first).
  • By design, icons will often overlap; if you do not like it, this type of cooldown mod is not for you.
  • What you see is what you get. If you like the idea of this mod but want more, I highly suggest checking out ForteXorcist or Ellipsis. I'll most likely ignore requests to make CoolLine more similar to them.
  • CoolLine only does spell/item cooldowns and NOT buff/debuff cooldowns, flight timers, time til enrage, etc; this will NOT change so don't ask.

Recently, I (TotalPackage) had some requests for donation info, so here it is. Do not feel obligated; donations (or lack of) will not determine what features I do or do not implement.

6.0.002 12/08/2014:
- Fixed detection of talent spells (and potentially other "morphing" spells) with cooldowns
- Added support for spell charges
- Added pet battle hiding
- CoolLine Fix is no longer needed!

6.0.001 10/20/2014:
- updated for 6.0
- install CoolLine Fix for support for pet battle and spells with charges

5.4.001 09/21/2013 - updated for 5.4
5.3.002 06/06/2013 - added options for bar border inset
5.3.001 06/05/2013 - updated for 5.3
5.2.001 04/28/2013 - fix Frost Bomb
5.2.001 03/10/2013 - updated for 5.2
5.1.001 12/08/2012 - updated for 5.1

5.0.004 09/18/2012:
- fix for cooldowns that share the same spell name
- performance fixes

5.0.003 09/11/2012 - workaround for several spells not showing
5.0.002 09/05/2012 - fixed cooldowns for grouped spells (ie. totems)
5.0.001 09/04/2012 - updated for 5.0.4

4.3.002 07/24/2012:
- fix support for priests' Chakra/Holy Word spells
- changed the "1m" tick to "30" seconds
- tweaked refresh rate to be a bit smoother

4.3.001 11/29/2011 - update for 4.3
4.2.001 06/29/2011 - update for 4.2
4.1.001 04/26/2011 - update for 4.1

4.0.003 10/30/2010:
- added workarounds for priests' Archangel and Holy Word spells
- cleaned up options menu

4.0.002 10/18/2010 - fix for long wait times at loading screen
4.0.001 10/12/2010 - 4.0 compat
3.3.003 01/16/2010 - removed "30" tick and added "3" tick
3.3.002 01/11/2010 - added LibSharedMedia-3.0 callback support

3.3.001 12/08/2009:
- updated toc for 3.3
- added option to increase icon size
- added option to reset settings

3.2.005 10/30/2009 - fix an issue where cooldowns refreshed to global cooldown did not update properly (ie. Shield Slam with Sword and Board)

3.2.004 10/07/2009:
- added option to save settings per character
- make death knight rune detection more robust to cooldown changes

3.2.003 09/04/2009:
- allow external access to useful CoolLine functions
- added ConfigMode support

3.2.002 08/04/2009 - fix spell cooldowns triggering when runes are on cooldown

3.2.001 08/04/2009:
- toc to 3.2
- fade icons out a bit faster
- text now have a shadow

3.1.006 07/24/2009:
- switched to a 6-minute time scale instead of 10
- performance tweaks
- added more font size values

3.1.004 05/30/2009:
- icons' alpha now constant
- slightly reduced icon fade time

3.1.003 05/22/2009 - slightly tweaked layout

3.1.002 04/24/2009:
- added an optional visual that lets you know if and where a spell is on cooldown when you attempt to cast it

3.1.001 04/14/2009:
- updated for 3.1
- slightly improved performance

3.0.005 03/25/2009:
- prevent error caused by default variables
- replaced "10m" with "9m" because of the offset and size, bar is still 10m long
- added AddonLoader support, set to "delay" by default

3.0.004 02/22/2009 - several minor performance tweaks

3.0.003 02/14/2009:
- slash command to add/remove filter now accepts spell or item links
- added coloring to distinguish player spell from pet/item cooldowns

3.0.002 02/09/2009 - attempt to make it work with other locales

3.0.001 02/09/2009 - Initial upload
Archived Files (13)
File Name
Version
Size
Author
Date
6.0.001
19kB
totalpackage
10-20-14 09:39 PM
5.4.001
19kB
totalpackage
09-20-13 10:28 PM
5.3.002
19kB
totalpackage
06-06-13 05:20 PM
5.2.002
18kB
totalpackage
04-28-13 05:07 PM
5.1.001
18kB
totalpackage
12-08-12 08:33 AM
5.0.004
18kB
totalpackage
09-18-12 09:10 PM
4.3.002
18kB
totalpackage
07-24-12 08:00 PM
4.2.001
16kB
totalpackage
06-29-11 08:08 PM
4.1.001
16kB
totalpackage
04-26-11 06:23 PM
4.0.003
16kB
totalpackage
10-30-10 07:54 PM
3.3.003
16kB
totalpackage
01-16-10 05:51 PM
3.2.005
16kB
totalpackage
10-30-09 03:27 AM
3.1.006
15kB
totalpackage
07-24-09 02:16 PM


Post A Reply Comment Options
Unread 06-07-10, 03:57 PM  
sacrife
An Onyxian Warder
 
sacrife's Avatar
AddOn Author - Click to view AddOns

Forum posts: 384
File comments: 145
Uploads: 3
Nevermind, I'm a retard. I managed to delete the backdrop.tga because I thought it was for something else. Which was the border for the buttons.
__________________

Last edited by sacrife : 06-07-10 at 04:19 PM.
sacrife is offline Report comment to moderator  
Reply With Quote
Unread 06-07-10, 01:01 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
Originally posted by sacrife
What would I need to do to set the icon border/in cooldown(fail) border based on the lua only (take away its function to check the savedvariables/database).

You have a PM with more spesific details if you are able to assist.
Warranty voided. Just use a diff program to see what you removed by mistake or start over.
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 06-07-10, 09:29 AM  
sacrife
An Onyxian Warder
 
sacrife's Avatar
AddOn Author - Click to view AddOns

Forum posts: 384
File comments: 145
Uploads: 3
What would I need to do to set the icon border/in cooldown(fail) border based on the lua only (take away its function to check the savedvariables/database).

You have a PM with more spesific details if you are able to assist.
__________________

sacrife is offline Report comment to moderator  
Reply With Quote
Unread 06-01-10, 12:53 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
CoolLine's throttling could use extra consideration. I'll consider it, but it's fine now. I based my throttling off fractions of expected user's FPS.

However, you need to factor in both UI scaling and anti-aliasing, so there's no perfect one-pixel movement. If you're using logarithm in your animation, you're already taking +100 times longer to compute.
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 06-01-10, 12:35 PM  
daphoosa
A Kobold Labourer
 
daphoosa's Avatar

Forum posts: 0
File comments: 12
Uploads: 0
throttle interval

Total,

Have you considered being slightly more adaptive in your throttle intervals to reduce wasted position updates?

Here's my thinking. The only time you really should update a CD's position is when it has moved at least one pixel on the screen. Updating more often than once per pixel is is of zero benefit to the viewer. Updating less than once per pixel could result in the CD movement appearing to "jump" along the time line and be less smooth than it could be.

I believe that this could be implemented with a minimal effort in your version of CoolLine ( I have adapted my logarithmic version of CoolLine to do this as well, but was is slightly more involved to adjust) Looking at your static throttle intervals, this should result in a large reduction in unneeded updates for almost any player except those that have stretched the time line to the max width of their screen.

I would add six lines of code after the line where you set the value of 'section' (line 191 in v3.3.003)
Code:
		...
		section = (db.vertical and db.h or db.w) / 6
		throt_1 = (1 - 0) / section
		throt_2 = (3 - 1) / section
		throt_3 = (10 - 3) / section
		throt_4 = (60 - 10) / section
		throt_5 = (120 - 60) / section
		throt_6 = (360 - 120) / section
		...
In this location, the throt intervals for each section are only recomputed when absolutely needed.

These variables are then placed in the corresponding locations in the part of the program that recomputes the CD's location.

Starting at line 296 in v3.3.003
Code:
	for index, frame in pairs(cooldowns) do
		local remain = frame.endtime - ctime
		if remain < 3 then
			if remain > 1 then
				SetupIcon(frame, section * (remain + 1) * 0.5, throt_2, true, dofl)  -- 1 + (remain - 1) / 2
			elseif remain > 0.3 then
				SetupIcon(frame, section * remain, throt_1, true, dofl)
			elseif remain > 0 then
				local size = iconsize * (0.5 - remain) * 5  -- iconsize + iconsize * (0.3 - remain) / 0.2
				frame:SetWidth(size)
				frame:SetHeight(size)
				SetupIcon(frame, section * remain, 0, true, dofl)
			elseif remain > -1 then
				SetupIcon(frame, 0, 0, true, dofl)
				frame:SetAlpha(1 + remain)  -- fades
			else
				throt = (throt < 0.2 and throt) or 0.2
				isactive = true
				ClearCooldown(frame)
			end
		elseif remain < 10 then
			SetupIcon(frame, section * (remain + 11) * 0.143, throt_3, true, dofl)  -- 2 + (remain - 3) / 7
		elseif remain < 60 then
			SetupIcon(frame, section * (remain + 140) * 0.02, throt_4, true, dofl)  -- 3 + (remain - 10) / 50
		elseif remain < 120 then
			SetupIcon(frame, section * (remain + 180) * 0.01666, throt_5, true, dofl)  -- 4 + (remain - 60) / 60
		elseif remain < 360 then
			SetupIcon(frame, section * (remain + 1080) * 0.004166, throt_6, true, dofl)  -- 5 + (remain - 120) / 240
			frame:SetAlpha(1)
		else
			SetupIcon(frame, 6 * section, throt_6, false, dofl)
		end
	end
Clearly there's a couple of other little additions needed to make this work, but they're trivial.

With your focus on keeping your addon as low of a burden as possible, I thought you might find this useful.

~daphoosa
daphoosa is offline Report comment to moderator  
Reply With Quote
Unread 05-30-10, 06:16 PM  
Pseudopod
A Deviate Faerie Dragon

Forum posts: 16
File comments: 104
Uploads: 0
Originally posted by totalpackage
CoolLine uses SharedMedia, so find a border that's small.
The reason I even asked was because CL uses SharedMedia. It would complement the custom border settings.

Custom UI scales and stuff makes it really difficult to get a correct looking thin border. All thin borders that I've found leave a gap between the statusbar texture etc.

But I guess I'll just edit the lua again. Thanks anyways.
Pseudopod is offline Report comment to moderator  
Reply With Quote
Unread 05-30-10, 05:18 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
Originally posted by Pseudopod
Sorry if this has been asked before, I haven't found a way to properly search the comments. Could you add an option to change the border size and maybe even the "inset" to not get gaps when you make the border smaller?
CoolLine uses SharedMedia, so find a border that's small.
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 05-25-10, 02:23 AM  
Pseudopod
A Deviate Faerie Dragon

Forum posts: 16
File comments: 104
Uploads: 0
Sorry if this has been asked before, I haven't found a way to properly search the comments. Could you add an option to change the border size and maybe even the "inset" to not get gaps when you make the border smaller?
Pseudopod is offline Report comment to moderator  
Reply With Quote
Unread 05-24-10, 08:09 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
Re: smoother movement

Originally posted by Sharkfist
...Anyway, I tried a change in it that I think worked out nicely. I wanted a smoother icon acceleration. I replaced the position calculation in the SetupIcon calls in the function OnUpdate()...
All the other similar mods use log for their animation, which is about 50-100 times more expensive to compute and very taxing to an animation. Also, linear is beneficial since you can estimate time remaining easier.
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 05-22-10, 08:34 AM  
Sharkfist
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
smoother movement

Great addon. At a glance, you get an idea of your general cooldown status without having to look for different abilities on the action bar -some of which may only be visible if you hold down modifier keys, are in combat, or in some specific form/stance. It works for all classes, there's no noticeable slowdowns and it requires minimal setup: A+!

Anyway, I tried a change in it that I think worked out nicely. I wanted a smoother icon acceleration. I replaced the position calculation in the SetupIcon calls in the function OnUpdate(), on rows 300, 302, 307, 317, 319, 321 and 323 to:
SetupIcon(frame,6*section*log(remain+1)/log(361), ...

An alternative is to use the log10 function, giving more detail at the low end, but I like this. It's fairly close to the original, although I did have to make the background text transparent, because the scale doesn't match close enough.

I know this can be done in a cleaner way, and I would love if the programmer looked at it and maybe added it to the next release as an option. If not, this is a quick hack for anyone interested. :-)
Sharkfist is offline Report comment to moderator  
Reply With Quote
Unread 05-12-10, 11:01 AM  
trclocke
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 110
Uploads: 1
Just wanted to throw out a quick thank you. CoolLine uses almost no resources/CPU and works flawlessly to track all relevant cooldowns for me. I'm not sure how I did without it.
trclocke is offline Report comment to moderator  
Reply With Quote
Unread 04-25-10, 10:27 AM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
Originally posted by Phanx
I had a user report that Grid was somehow interfering with CoolLine (and Clique) after switching talent specs. The only change in the version where the problem appears was to throttle Grid's response to LEARNED_SPELL_IN_TAB and CHARACTER_POINTS_CHANGED, and I haven't seen any issues with Clique, but I'm grabbing your addon right now to see if I can reproduce the problem.

I see from earlier comments that you'd previously identified some kind of interference from LunarSphere; do you have any details on what the problem was? I don't even see any comments about the issue on LunarSphere's download page...
CoolLine listens for SPELLS_CHANGED, when it caches spells with a cooldown by scanning the spell's tooltip. It was unknown what LunarSphere did, but the user reported everything working fine once it was disabled. I can't see how another mod can interfere unless it altered a global.
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 04-24-10, 07:11 PM  
Phanx
A Pyroguard Emberseer
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 4747
File comments: 2139
Uploads: 43
@TotalPackage:

I had a user report that Grid was somehow interfering with CoolLine (and Clique) after switching talent specs. The only change in the version where the problem appears was to throttle Grid's response to LEARNED_SPELL_IN_TAB and CHARACTER_POINTS_CHANGED, and I haven't seen any issues with Clique, but I'm grabbing your addon right now to see if I can reproduce the problem.

I see from earlier comments that you'd previously identified some kind of interference from LunarSphere; do you have any details on what the problem was? I don't even see any comments about the issue on LunarSphere's download page.

Originally posted by scarves
http://www.warcraftmovies.com/movieview.php?id=144759
it is clearly showed in this movie so why did it no working anymore ? you even have the ring proc showed
It is clearly stated on the page you linked that the addon shown in the video (which, by the way, is not from the author of CoolLine, so I don't know why you keep referring to "your video" when you're talking to him) is SexyCooldown, not CoolLine.
Last edited by Phanx : 04-24-10 at 07:23 PM.
Phanx is offline Report comment to moderator  
Reply With Quote
Unread 04-23-10, 05:11 PM  
Tinuviel
A Defias Bandit
 
Tinuviel's Avatar

Forum posts: 3
File comments: 211
Uploads: 0
Originally posted by totalpackage
See if it happens with no other addons enabled. If it only happens after changing specs, reload after switching.
Unfortunately, the hard part is it doesn't ALWAYS happen with a spec switch. I had this problem earlier today on my shadow priest, who didn't switch spec and the thing failed to show cooldowns.
Tinuviel is offline Report comment to moderator  
Reply With Quote
Unread 04-23-10, 02:12 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 884
Uploads: 2
See if it happens with no other addons enabled. If it only happens after changing specs, reload after switching.
totalpackage is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: