Quantcast
R
(11 Kb)
Download
Updated: 03-13-20 05:23 PM
C
(11kB)
Download
Updated: 01-25-20 05:17 PM
Pictures
File Info
Compatibility:
Classic Patch (1.13.4)
Updated:03-13-20 05:23 PM
Created:01-09-10 06:41 PM
Downloads:76,201
Favorites:533
MD5:

tullaRange  Popular! (More than 5000 hits)

Version: 8.3.2, Classic: 8.3.1
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

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
8.2.2-beta
11kB
08-31-19 12:06 PM
Patch


Archived Files (28)
File Name
Version
Size
Author
Date
8.3.1
11kB
Tuller
01-25-20 05:17 PM
8.3.0
11kB
Tuller
01-14-20 05:28 PM
8.2.7
11kB
Tuller
01-01-20 08:53 AM
8.2.6
11kB
Tuller
12-14-19 04:43 PM
8.2.5
11kB
Tuller
09-24-19 06:11 AM
8.2.2
11kB
Tuller
08-31-19 12:17 PM
v8.2.1
12kB
Tuller
08-30-19 09:07 PM
v8.2.1-beta2
11kB
Tuller
08-30-19 05:21 PM
8.2.0
11kB
Tuller
06-24-19 07:43 PM
8.0.0
12kB
Tuller
07-18-18 07:10 PM
7.3.0
11kB
Tuller
08-29-17 06:05 AM
7.2.0
11kB
Tuller
03-28-17 05:46 AM
7.1.1
11kB
Tuller
10-29-16 03:43 PM
7.1.0
11kB
Tuller
10-28-16 04:59 PM
7.0.0
11kB
Tuller
07-19-16 06:16 AM
6.2.0
10kB
Tuller
06-23-15 03:25 PM
6.1.0
11kB
Tuller
03-08-15 09:52 AM
6.0.5
11kB
Tuller
12-13-14 02:02 PM
6.0.4
10kB
Tuller
12-06-14 09:12 AM
6.0.3
9kB
Tuller
10-22-14 06:32 PM
6.0.2b
9kB
Tuller
10-17-14 05:37 PM
6.0.2
9kB
Tuller
10-17-14 05:00 PM
6.0.1
9kB
Tuller
10-14-14 03:35 PM
5.4.0
10kB
Tuller
10-03-13 05:08 PM
5.3.0
10kB
Tuller
05-22-13 05:11 PM
5.2.0
10kB
Tuller
03-05-13 06:31 AM
5.1.0
10kB
Tuller
11-27-12 05:17 PM
5.0.0
10kB
Tuller
08-28-12 05:29 AM


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: 1730
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: 1730
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: 1730
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: 1730
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: 1730
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: 1730
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: 103
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: 1730
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: