Download
(639Kb)
Download
Updated: 10-15-12 05:07 AM
Pictures
File Info
Updated:10-15-12 05:07 AM
Created:unknown
Downloads:36,682
Favorites:259
MD5:

CursorCastbar  Popular! (More than 5000 hits)

Version: 2.5b
by: Duugu, humfras

CursorCastBar adds circular cast bar(s) to your mouse cursor.

Cast bar, Global Cooldown Bar, Mirror Bar, Remaining cast time, Spell Name, Spell Icon, and more.

The configuration is done via the Blizzard interface options.


TO DO (in no particular order):

  • Healing Bar - incoming heal/overheal for current cast/target
  • optional focus castbar
  • optional round spell icons
  • modifier/key to temporary hide the bars or set the opacity to very low (eg in critical situations)
  • more bar layout options (start point, end point, etc)
  • text for the mirror bar


Known Bugs:
  • Bug: Mac client crashes with high-res textures. This is known a game bug within the Mac client. It happens with large textures above 512*512 pixels.
    Solution: Don't choose the high-res bar textures. Choose textures 1, 2, or 3. The game shouldn't crash with them.

--------------------------------------------------------------------------
Dear user


My WoW subscriptions end in may 2011. After more than six years playing WoW and developing addons I absolutely can't find a reason to continue. The direction Blizzard is steering with WoW is more than unfruitful.
The game is dead. It's an empty shell. A sad moment, but that's the way it is.


This means of course all of my addons are discontinued as from now. Thank you very much for using them and for providing me feedback and input. A very special thank you goes to the few people who donated for them. There would be much more and better stuff if more people would act like you. Thank you.


I hereby explicitly reject any attempts to continue, take over or reuse this addon, the addons source code, the contents or parts of it.
If you are willing and able to continue this addon I may grant you the right to do this if you contact me, ask for it, and convince me that you are able to do it in the long run.


I’m looking forward to meet everyone of you again in SWTOR.


All the best to you

Duugu

duugu[at]duugu.com


2.5b
- fixed missing Monk GCD spell

2.5
- MoP pre patch compatible
- fixed bug with special characters in spell names

2.3
- fixed lag-indicator misbehaviour on certain circumstances

2.2.9
- FIX: bug on login (esp. when shapeshifted)
- workaround for corrupted/incomplete config/SVars

2.2.8
- patch 4.2 adjustments

2.2.7
- changed GCD system to a proper one

2.2.6
- added 4 more Indicator
- code enhancements

2.2.5
- enhanced proc/cooldown check functionality

2.2.4
- added options to choose static color for: Player CastBar, GC Bar, Mirror Bar and Targe CastBar
- fixed misbehavior when "Movable" anchor is choosen

2.2.3
- change PROC and CD indicator functions to use actual duration
- added some textures (experimental)

2.2.2
- continuation by humfras
- adjustments for Patch 4.1

2.2.1
- Settings are now automatically saved within your current active profile (see Profiles/First Spec, Second Spec for current profiles).


2.2
- Options panel is now scrollable if required
- Five second bar removed.
- New option: Indicator>Invert
.....Shows the indicator if the spell is READY instead if the spell is on cooldown.
- New options tab: Profiles
.....Profiles are saved per account
.....Selected profile for first and second talent spec is saved per character
- Bug fix: Proc names with punctuation characters are now working as
.....intended (eg. Arcane Missils proc buff "Arcane Missils!")
- Bug fix: bars for channel spells should now work as expected (player and target)

2.1
- Indocators: It's now possible to specify multiple spell names (separated with ; )

2.0
- Several fixes and changes for 4.0
- Bug with hunters Steady Shot and Auto Shot fixed.
- Gobal cooldown fomular changed

1.7
- New tab: "5 Sec Bar" - Shows a bar for the 5 second rule mana regeneration (default: disabled)
- Bugfix: Hopefully solved a bug within the indicator feature

1.6
- New option: "Indicator" - Shows up to 4 indicators for user-defined different buff/debuff/proc gains or spell cooldowns.

1.5
- New option: "CastBar" > "Show Latency" - Shows the network latency within the cast bar.
- Bugfix: 'Invisible movable cast bar frame bug' fixed
- New bar textures: "High-Res thin", "High-Res thin blur"

1.4.1
- Bugfix: Minimap Button Frame not longer breaks CCB

1.4
- New options: TargetBar, TargetIcon, TargetText (these options are disabled as default)
- 3 new HighRes textures available (1024x1024 instead of 512x512 pixels)
(64x64HighResThinBorder", "64x64HighResThickBorder", and "64x64HighResBold)

1.3.2
- New option: "Direction"
- New option: "Level" to set the bars/texts drawing level

1.3.1
- Bugfix: LUA error on addon's first load fixed

1.3
- Bugfix: Unsupported characters in spell names fixed
- Removed page: "Visuals" (settings are moved to the new pages)
- New element: Spell Icon
- New element: Mirror Bar (breath, fatigue, etc.)
- New pages: "CastBar", "GCBar", "MirrorBar", "SwingBar", "SpellIcon", and "SpellText" with loads of new options
- New option "Opacity" (page "Global")
- New options "Anchor"/"Not Movable"

1.2.1
- fixed a bug with option "Show Spell Name".
- Option "Show Spell Name" is now checked as default

1.2
- New option to show the current spell as string (tab "Global") (default = off)
- New options to customize the spell string (tab "Visuals")
- Two new bar textures (bold-sharp and bold-blur)
- Separate bar textures for cast bar and gc bar

1.1
- better cast bar texture + optional (blur) texture
- support for totem/rogue/druid 1 second global cooldown
- option to move cast time number
- options to show cast bar/global cooldown bar individually
- option to scale bars and number individually
- option to hide the default Blizzard cast bar

1.0
- Inital version
Post A Reply Comment Options
Unread 10-01-08, 09:17 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 10860
File comments: 687
Uploads: 33
oooh, this looks neat
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Report comment to moderator  
Reply With Quote
Unread 10-01-08, 10:22 PM  
IceShadow
A Deviate Faerie Dragon
 
IceShadow's Avatar

Forum posts: 15
File comments: 93
Uploads: 0
This looks like a really great idea. Awesome for screen saving!
Report comment to moderator  
Reply With Quote
Unread 10-01-08, 10:30 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
It's a quick hack for a friend.
I'm curious about feature request and comments.
Report comment to moderator  
Reply With Quote
Unread 10-01-08, 10:53 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 10860
File comments: 687
Uploads: 33
I did install and try it. The texture seems a little jagged and the bar fill not so smooth were my first impressions.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Report comment to moderator  
Reply With Quote
Unread 10-01-08, 11:06 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
Thx Seerah.

The bars are split up in 64 separate textures (1/64 filled, 2/64 filled, etc). These textures are all in a 1024x1024 tga. So each texture is only 128x128 pixel. :/

I could decrease the number of textures. This should remove the jagged appearance. But it means also the bar is more "stuttering". If I increase the number of textures there's less "stuttering" but the texture is jagged. :/

I had a 2048x2048 tga but couldn't load it into WoW (WotLK client was able to load it btw). Seems as with live servers the max size for tga's is 1024.

Nevertheless it's the first point on my to do list to create a better texture.
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 11:53 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Hi there I am currently working on a radial Statusbar too. (Health, Cast, Power)

I need it for my oUF_Orbs mod.

Iriel himself wrote a wonderful solution for this long time ago, the Radial Unitframes.

I wrote sth about this problem in my blog lately:
http://dm.next-gen.org/index.php?sei...1&topicid=1264

Your solution is the one I used for the disco mod too, but the textures are really small and you need to create many of them .

Iriels APPROACH DOCUMENT
---------------------------------------------------------------------------
So I sat down to figure out how to draw a partial ring within WoW, and
ended up a with a much nicer solution than the angled mask
approach. I'll be releasing some example code with it in once I finish
it off and clean it up, but I figured I'd explain what I came up with.

This approach requires two texture files, and six texture objects.

File 1: A ring quadrant
File 2: A 45 degree sliced square.

It's easiest to explain this with just a single quadrant, so let's
consider the top right quadrant of the ring, and an angle A, where 0
is no visible ring, and it increases from the top down to the right
(Like a clock).

The top left hand corner of this quadrant (the 'noon' position), we'll
call N (Nx,Ny)

The line from the center of the ring at angle A hits the inner edge of
the ring at point I (Ix,Iy), and the outer edge of the ring at point O
(Ox, Oy).

For a ring of inner and outer radius IR, and OR, those points are:

Nx = 0, Ny = OR
Ix = IR * sin(A), Iy = IR * cos(A)
Ox = OR * sin(A), Oy = OR * cos(A)

ANGLES FROM 0-45 DEGREES
First draw the rectangular subset of the ring from the top left
corner, down to point I, the intersection with the inner edge of the
ring. This is your desired ring segment with a triangularish section
chopped off the end to the right.

Next draw the rectangular 'chip' from the top right corner of the
piece you just drew, down to point O, the outer edge of the ring. This
fills in the curved outer edge that was missing.

This leaves a missing triangular section that represents where the
angle slices across the ring. Stretch the 45 degree slice texture
across that between points I and O.

So, to summarize:
* Draw ring subset N=(Nx, Ny) to I=(Ix, Iy)
* Draw ring subset (Ix, Ny) to O=(Ox, Oy)
* Stretch slice between I=(Ix, Iy) and O=(Ox, Oy)

ANGLES FROM 45-90 DEGREES

(This is different simply to keep the first rendered piece as
significant as possible.)

First draw the rectangular subset of the ring from the top left
corner, down to point O, the intersection with the outer edge of the
ring. This is your desired ring segment with a triangularish section
chopped off the end to the bottom.

Next draw the rectangular 'chip' from the bottom left corner of the
piece you just drew, over to point I, the inner edge of the ring. This
fills in the curved inner edge that was missing.

This leaves a missing triangular section that represents where the
angle slices across the ring. Stretch the 45 degree slice texture
across that between points I and O.

So, to summarize:
* Draw ring subset N=(Nx, Ny) to O=(Ox, Oy)
* Draw ring subset (Nx, Oy) to I=(Ix, Iy)
* Stretch slice between I=(Ix, Iy) and O=(Ox, Oy)


COMPLETING THE CIRCLE
---------------------

This can be applied to the other quadrants by mirroring and/or
swapping the X and Y coordinates, and textures. For a full circle
subset you need 6 texture objects, the three discussed here for the
active quadrant, and then three more (all set to the ring texture) for
the three other 'full' quadrants for a full ring.

An arbitrary ring subset (rather than starting at the noon position)
would require an adittional two or three textures (one more chip, one
more slice, and possibly one more ring subset, if the ring angle is
able to be larger than 270 degrees)

ARBITRARY SUBSETS
-----------------

The approach above works perfectly for ring subsets which begin on one
of the four straight line edges (0,90,180,270), and can easily be
extended to handle most arbitrary ring segments, but it breaks down
for very small segments (especially those close to the 45 degree
marks), because the two triangle slices overlap. This can be fixed
using a fairly simple shearing operation and a new slice texture, but
until the 1.9 patch there was no way of doing that, so it wasn't
supported, however it's now possible.
Iriels approach was very mathematical. You split the ring into 4 segments (squares). Now you can look at each segment. You need to know 3 variables.

- Outer radius (mostly width/height of segment)
- Width of the Ring, this leads automatically to the inner radius
- Value (Like health is at 30% or sth like that)

Iriel calculated O and I to get the coordinates for two squares. These squares contain values needed for the SetTexCoord transformation.



The last part is a triangle. Its a texture for itself. A square with divided by a 45° line. One half transparent, other half fully visible. He stretched this Triangle between I and O by using SetPoint.

If a segment is not used its fully hidden, if its already done its fully visible.

I made two graphics to make this more clear.



__________________
| 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 : 10-02-08 at 12:00 PM.
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 01:13 PM  
khariv
A Defias Bandit

Forum posts: 2
File comments: 71
Uploads: 0
As a concept, I love the circle castbar. In practice however, I think it would work better for me if you could fix its position rather than having it attached to the cursor. (maybe that goes against the concept of CURSOR Castbar but...)

Anyway - an option to unstick it to the cursor and just have it stationary on the screen would be spiffy.

thanks
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 01:14 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
oO Thx a lot for this Zork. It's a very interesting approach.

There's a third way to do this:
You'll need 10 or some more textures (depends on min circle steps).
3 textures are a quarter circle (1-3).
7 or more textures for a 1/4, 1/8, 1/16, etc. circle.
With these 10 textures you are able to display every partial ring (limited to you min steps of course). Just show the necessary textures, hide all other textures, and then rotate the visible textures accordingly.

Anyhow ... at the moment I prefer the current solution (many textures within one texture file). It's much less complex and needs a lot less system resources. And with 3.0 I'm able to load a 2048x2048 tga ... which should solve my problems.


btw:
I also created some radial unit frames a while ago.
http://www.scherbenweltkorps.de/craid1.jpg
http://www.scherbenweltkorps.de/circ_demo.jpg
http://www.scherbenweltkorps.de/cuf_0_1_2-1.JPG
http://www.scherbenweltkorps.de/cuf_0_1_2-3.JPG
Never finished these projects. All the texture transformation stuff just took to much system resource. :/
Last edited by Duugu : 10-02-08 at 01:20 PM.
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 01:18 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
Originally posted by khariv In practice however, I think it would work better for me if you could fix its position rather than having it attached to the cursor. (maybe that goes against the concept of CURSOR Castbar but...)
Well ... indeed.

The basic idea was to have a cast bar for click healers who look at the unit frames and not at a (bottom) cast bar or action bar.

Anyhow ... I'll see if I could add an option to detach the bar from the cursor.
Last edited by Duugu : 10-02-08 at 01:25 PM.
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 01:19 PM  
krattan
A Kobold Labourer

Forum posts: 1
File comments: 17
Uploads: 0
Hi

Is there any way of removing the castbar feature and just using it as a gcd indicator ?
Report comment to moderator  
Reply With Quote
Unread 10-02-08, 01:21 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
Originally posted by krattan Is there any way of removing the castbar feature and just using it as a gcd indicator ? [/b]
It's on my to do list. I'll add an option soon.
Report comment to moderator  
Reply With Quote
Unread 10-03-08, 08:01 AM  
blackpandemic
A Flamescale Wyrmkin
 
blackpandemic's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 123
File comments: 82
Uploads: 2
Although I won't be personally using it (warriors don't have much cast-age ) I think this looks fantastic. It's a great idea and looks sexy as anything! Great work!
__________________
"It is forbidden to kill; therefore all murderers are punished unless they kill in large numbers and to the sound of trumpets." -Voltaire
Report comment to moderator  
Reply With Quote
Unread 10-03-08, 09:05 PM  
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view AddOns

Forum posts: 851
File comments: 127
Uploads: 9
Thank you.
I could add ... uhhhhm ... a swing timer?
Last edited by Duugu : 10-03-08 at 09:06 PM.
Report comment to moderator  
Reply With Quote
Unread 10-04-08, 03:22 AM  
Taroven
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 49
File comments: 837
Uploads: 11
That would be... amazing beyond words.

I'm thinking a latency display on the cast timer might be a little farfetched for something this small... but hey, gotta keep the feature requests rolling.

Edit: After looking down in the comments a bit, I wonder what the performance impact would really be with another drawing method. I wouldn't think 1-4 rings shown at a time (GCD, cast/swing, maybe mirror?) would be too huge of a framerate hit, especially with an adjustable update rate for faster/slower computers.

Just a thought.
Last edited by Taroven : 10-04-08 at 03:58 AM.
Report comment to moderator  
Reply With Quote
Unread 10-04-08, 10:40 AM  
Aschker
A Murloc Raider
AddOn Compiler - Click to view compilations

Forum posts: 6
File comments: 105
Uploads: 1
I like it well.. the looks that is.. As others requested i would love to have it not hooked to the cursor, or atleast an option to do so..

And what are your plans for an enemy cast bar to the right (or positioned where you want) of the player castbar?

And I even have a request for the enemy/target castbar: include the name of the spell, or atleast a short name.

Love it!
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: