Download
(20Kb)
Download
Compatible with Retail, Classic & TBC
Updated: 02-06-24 01:34 PM
Pictures
File Info
Compatibility:
Seeds of Renewal (10.2.5)
Classic (1.15.0)
WOTLK Patch (3.4.3)
Updated:02-06-24 01:34 PM
Created:01-09-10 06:41 PM
Downloads:85,487
Favorites:526
MD5:

tullaRange  Popular! (More than 5000 hits)

Version: 10.2.3
by: Tuller [More]

tullaRange is an addon that's main purpose is to make standard action buttons appear red when out of range. Colors for both the out of range indicator, and the out of mana/energy/rage indicator are customizable via the in game GUI.

Why use tullaRange over something like RedRange?
tullaRange is derived from RedRange. The main thing I do differently is that I replace each individual action button's OnUpdate handler with a single global one. The end result is that tullaRange uses less CPU than other implementations.

tullaRange release notes

10.2.3
  • Update TOCs for 1.15.1
  • Fixed an issue causing the options menu sliders to not render properly in Classic

10.2.2
  • Update TOCs for 10.2.5

10.2.1
  • Update TOCs for 3.4.3 and 1.15.0

10.2.0
  • Update TOCs for 10.2.0

10.1.8
  • Revert TOC back to 3.4.2

10.1.7
  • Update TOCs for 10.1.7, 3.4.3, and 1.14.4

10.1.6
  • Fix an issue causing acton buttons to be registered multiple times

10.1.5
  • Note: This version does not work on 10.1.0 realms (aka Retail)
  • (WoW 10.1.5) Rebuilt using the new ACTION_RANGE_CHECK_UPDATE event
  • (WoW 3.4.2) Fixed an error when loading the settings UI
  • Hotkeys are now colored red when an action is out of range, and white otherwise.
  • Pet actions now implement out of mana coloring

10.1.0
  • Update TOCs for World of Warcraft 10.1.0
  • Hook ActionBarActionButtonDerivedMixin, if it exists

10.0.11
  • Update TOCs for World of Warcraft 10.0.5

10.0.10
  • Update TOCs for World of Warcraft 3.4.1

10.0.9
  • Fix macro checks

10.0.8

10.0.7
  • Removed a leftover debug green background from the options menu

10.0.6
  • Apply Odjur's optimizations
  • Add desaturate to configuration settings
  • Add update frequency to internal configuration settings
  • Readjust UI to implement desaturate and opacity settings

10.0.5
  • No longer desaturating when unusable, just out of range or out of mana

10.0.4
  • Desaturate when recoloring abilities (thanks to Guema)

10.0.3
  • Updated TOC files for 10.0.2

10.0.2
  • Improve check for new Settings UI

10.0.1
  • Add support for 10.0.0

9.2.1
  • Updated TOC files for 9.2.5, 3.4.0, 2.5.4, and 1.14.3.

9.2.0
  • Updated TOC files for 9.2.0, 2.5.3, and 1.14.2.
  • Packaged the addon using multiple TOC files

9.1.1
  • Updated TOC files

9.1.0
  • Updated TOC files for 9.1.0

9.0.4
  • Add Burning Crusade Classic support

9.0.3
  • If you create a macro with a name that starts with #, tullaRange will now use spell cost checks to determine if the ability is usable (thanks merijn)
  • Updated TOCs for various wow versions

9.0.2
  • Updated TOC for 9.0.2

9.0.1
  • Fix a nil value exception when moving pet actions

9.0.0
  • Updated for World of Warcraft 9.0.1 - Shadowlands

8.3.2
  • Added support for pet action buttons. You can disable this via /run tullaRange:SetEnablePetActions(false)
  • Replaced the attack flash animation with a smoother one. You can disable this via /run tullaRange:SetEnableFlashAnimations(false)

8.3.1
  • Increase performance a bit by only updating attack actions and actions with a range

8.3.0
  • Update for WoW 8.3.0

8.2.7
  • Use a C_Timer.After handler for updates

8.2.6
  • Update classic TOC for 1.13.2
  • Update packager to use github actions

8.2.5
  • Updated TOC for 8.2.5

8.2.2
  • Added classic build

8.2.1
  • Automated releases

8.2.0
  • Updated TOC for 8.2.0
  • Verified the addon works with classic
  • Cleaned up code a tiny bit
Optional Files (1)
File Name
Version
Size
Author
Date
Type
10.1.5-beta2
19kB
05-22-23 05:56 AM
Patch


Archived Files (31)
File Name
Version
Size
Author
Date
10.2.2
20kB
Tuller
01-17-24 05:48 PM
10.2.1
20kB
Tuller
12-09-23 11:28 AM
10.2.0
20kB
Tuller
11-12-23 03:07 PM
10.1.8
20kB
Tuller
10-01-23 08:44 AM
10.1.7
20kB
Tuller
10-01-23 07:47 AM
10.1.6
20kB
Tuller
07-17-23 04:06 PM
10.1.5
20kB
Tuller
07-11-23 03:48 PM
10.1.0
17kB
Tuller
05-03-23 08:25 PM
10.0.11
17kB
Tuller
01-28-23 02:51 PM
10.0.10
17kB
Tuller
01-22-23 03:33 PM
10.0.9
17kB
Tuller
12-29-22 04:16 PM
10.0.8
17kB
Tuller
12-28-22 09:54 AM
10.0.7
16kB
Tuller
12-27-22 04:17 PM
10.0.6
16kB
Tuller
12-27-22 04:04 PM
10.0.5
16kB
Tuller
12-11-22 02:20 PM
10.0.4
16kB
Tuller
12-09-22 05:52 PM
10.0.3
16kB
Tuller
11-28-22 05:18 PM
10.0.2
16kB
Tuller
10-28-22 06:59 PM
10.0.1
16kB
Tuller
10-27-22 04:52 PM
9.2.1
15kB
Tuller
08-06-22 10:18 AM
9.2.0
15kB
Tuller
02-26-22 11:52 AM
9.1.5
14kB
Tuller
12-28-21 10:50 AM
9.1.0
13kB
Tuller
07-02-21 02:09 PM
9.1.0
13kB
Tuller
07-02-21 02:09 PM
9.1.0
13kB
Tuller
07-02-21 02:09 PM
9.0.4
13kB
Tuller
05-19-21 04:08 PM
9.0.4
13kB
Tuller
05-19-21 04:08 PM
9.0.4
13kB
Tuller
05-19-21 04:08 PM
9.0.3
13kB
Tuller
04-04-21 03:04 PM
9.0.3
13kB
Tuller
04-04-21 03:04 PM
9.0.3
13kB
Tuller
04-04-21 03:04 PM


Post A Reply Comment Options
Unread 12-13-14, 07:33 PM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
Well again, I'm not exactly sure that the C_Timer.After calls were crashing due to frequency. I also wonder if the timerDone closure I'm creating here may have been the culprit, and if moving it out of the RequestUpdate function may also have resolved the crash:
Lua Code:
  1. function Addon:RequestUpdate()
  2.     if not next(self.buttonsToUpdate) then return end
  3.  
  4.     if not self.timerDone then
  5.         self.timerDone = function()
  6.             local elapsed = GetTime() - self.started
  7.             self.started = nil
  8.  
  9.             if self:UpdateButtons(elapsed) then
  10.                 self:RequestUpdate()
  11.             end
  12.         end
  13.     end
  14.  
  15.     if not self.started then
  16.         self.started = GetTime()
  17.  
  18.         Timer_After(UPDATE_DELAY, self.timerDone)
  19.     end
  20. end
Report comment to moderator  
Reply With Quote
Unread 12-13-14, 05:05 PM  
Clamsoda
A Frostmaul Preserver

Forum posts: 269
File comments: 35
Uploads: 0
So, the client crash is related to calling C_Timer very often? I appreciate the thorough explanation, but I am particularly interested in what is causing the client to crash. You'd think that Blizzard would implement some sort of throttling C side if a flood of calls was fatal enough to crash the client.
Report comment to moderator  
Reply With Quote
Unread 12-12-14, 06:12 PM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
Originally Posted by Clamsoda
It appears that your C_Timer implementation in this AddOn was indeed the source of a client crash (one that I was experiencing as well). Have you got any insight as to why such was the case with tullaRange, and not the case with tullaCooldownCount?

I know you did some tinkering with tullaCC as well; any explanations would be helpful. Thank you.
First, a Blizzard quote:
Originally Posted by Rygariu
In most cases, initiating a second C_Timer is still going to be cheaper than using an Animation or OnUpdate. The issue here is that both Animation and OnUpdate calls have overhead that applies every frame while they are active. For OnUpdate, the overhead lies in the extra function call to Lua. For Animations, we’re doing work C-side that allows us to support smoothing, parallel animations, and animation propagation. In contrast, the new C_Timer system uses a standard heap implementation. It’s only doing work when the timer is created or destroyed (and even then, that work is fairly minimal).

The one case where you’re better off not using the new C_Timer system is when you have a ticker with a very short period – something that’s going to fire every couple frames. For example, you have a ticker you want to fire every 0.05 seconds; you’re going to be best served by using an OnUpdate function (where about half the function calls will do something useful and half will just decrement the timer).

(As a side note, accuracy of AnimationGroups is exactly the same as that of OnUpdate calls or C_Timer calls. They are all checked once per-frame.)
I switched out to using an OnUpdate timer because people were reporting crashes with tullaRange with the C_Timer implementation, and also because of the recommendation that C_Timer calls not be used on things that update relatively frequently (tullaRange does every 0.15s when active). As you say, it seems to have resolved crashes that were seemingly caused by the addon.

The change I made to tullaCC was to give any C_Timer.After call a minimum duration, 0.01s, just in case the C_Timer API had any weirdness with timers shorter than that. I've not tested that theory, though.
Report comment to moderator  
Reply With Quote
Unread 12-12-14, 02:57 AM  
Clamsoda
A Frostmaul Preserver

Forum posts: 269
File comments: 35
Uploads: 0
It appears that your C_Timer implementation in this AddOn was indeed the source of a client crash (one that I was experiencing as well). Have you got any insight as to why such was the case with tullaRange, and not the case with tullaCooldownCount?

I know you did some tinkering with tullaCC as well; any explanations would be helpful. Thank you.
Report comment to moderator  
Reply With Quote
Unread 10-18-14, 08:44 AM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
Well what I mean is that nMainbar has its own OOR coloring and thus you probably don't need to use tullaRange at all :P
Report comment to moderator  
Reply With Quote
Unread 10-17-14, 06:42 PM  
aspenzs
A Defias Bandit
 
aspenzs's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 24
Uploads: 1
Tried that and still no color =( Dang expansions.
Report comment to moderator  
Reply With Quote
Unread 10-17-14, 05:56 AM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
I see this little blurb at the bottom of the nMainbar page:
Attention
Disable RedRange (or similar addons) if you use it, or it can occure
some problems. nMainbar has its own out of range coloring.
Report comment to moderator  
Reply With Quote
Unread 10-16-14, 07:47 PM  
aspenzs
A Defias Bandit
 
aspenzs's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 24
Uploads: 1
Originally Posted by Tuller
@Hopelez:
This should now be fixed.

@aspenzs:
Without an error message, I don't know what the issue would be.
So I use nMainbar - normal bar it works, however when I load nMainbar, the range colors no longer work. Some sort of coding mix up? Hopefully something that I can change myself to allow it to work with the bar mod. The interface (change color, etc), works, however, nothing on the bars =( and no errors pop up at any time.
Last edited by aspenzs : 10-16-14 at 09:03 PM.
Report comment to moderator  
Reply With Quote
Unread 10-16-14, 07:28 PM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
@Hopelez:
This should now be fixed.

@aspenzs:
Without an error message, I don't know what the issue would be.
Report comment to moderator  
Reply With Quote
Unread 10-16-14, 07:24 PM  
aspenzs
A Defias Bandit
 
aspenzs's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 24
Uploads: 1
Question

Mine does not work at all and I use no other addons but a tiny bar mod that would interfere with it so perhaps a little light on why maybe it doesn't work at all for me? Thanks
Last edited by aspenzs : 10-16-14 at 08:59 PM.
Report comment to moderator  
Reply With Quote
Unread 10-16-14, 05:52 AM  
Hopelez
A Deviate Faerie Dragon
AddOn Compiler - Click to view compilations

Forum posts: 10
File comments: 23
Uploads: 1
Originally Posted by Tuller
Originally Posted by Hopelez
The out-of-range coloring doesn't seem to go away when you stop targetting an enemy that is far away. The red color goes away if you mouse over the action buttons but stays till that or a new target that's on range.
I've not reproduced this one, but I've only tried on friendly targets. Do you experience the same on those?
Doesn't seem to happen with friendly targets. This is how I get it to happen:

1. Target an out-of-range enemy unit (f.e. a training dummy).
2. Press ESC to lose target.
3. The red color stays on the buttons even though you have no target.
4. Mouse over the buttons to lose the red color. (Selecting a new target works to fix, too).
Last edited by Hopelez : 10-16-14 at 05:54 AM.
Report comment to moderator  
Reply With Quote
Unread 10-15-14, 06:26 PM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
Originally Posted by Hopelez
The out-of-range coloring doesn't seem to go away when you stop targetting an enemy that is far away. The red color goes away if you mouse over the action buttons but stays till that or a new target that's on range.
I've not reproduced this one, but I've only tried on friendly targets. Do you experience the same on those?
Report comment to moderator  
Reply With Quote
Unread 10-15-14, 05:41 AM  
Hopelez
A Deviate Faerie Dragon
AddOn Compiler - Click to view compilations

Forum posts: 10
File comments: 23
Uploads: 1
The out-of-range coloring doesn't seem to go away when you stop targetting an enemy that is far away. The red color goes away if you mouse over the action buttons but stays till that or a new target that's on range.
Report comment to moderator  
Reply With Quote
Unread 08-09-14, 05:39 AM  
txamethyst
An Aku'mai Servant
 
txamethyst's Avatar

Forum posts: 36
File comments: 101
Uploads: 0
Originally Posted by Tuller
I don't think there's any reason you can't just update the TOC and have it work in WoD. I'll be working on an update and switching stuff over to the new C.Timer API.
thank you for responding, i figured that was all that was necessary and was surprised to find it didn't work with the toc change.
Report comment to moderator  
Reply With Quote
Unread 08-08-14, 05:53 PM  
Tuller
A Warpwood Thunder Caller
 
Tuller's Avatar
AddOn Author - Click to view AddOns

Forum posts: 91
File comments: 1740
Uploads: 17
I don't think there's any reason you can't just update the TOC and have it work in WoD. I'll be working on an update and switching stuff over to the new C.Timer API.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: