188 - Depleting and reverse cast bars
What does the provided patch do?
The patch was requested by a friend of mine who didn't like the depleting cast bars for channels. I've made the depletion optional and also introduced reversed cast bars. Both options can be configured for normal casts and channels independently and for each of the player, target, focus, and pet bars. Other bars can easily be extended with these options: the actual implementation is done in QuartzStatusBar.lua and CastBarTemplate.lua
Please provide any additional information below.
Default settings keep current behaviour:
- When casting: not depleting, not reversed
- When channeling: depleting, not reversed
Included are a patch against git (0d31d195fa861e5cf977eb41b255df13e52fd1ec) and a zip that can be installed *over* a 3.1.1 release to include this patch. The patch file does not include translation files, the zip does.
| Name | Description | Size | MD5 |
|---|---|---|---|
| deplete-reverse.patch | Patch (version 2) against git ... | 9.3 KiB | f418a517655f... |
| quartz-deplete-reverse-update.zip | Zipped update (version 2) to be ... | 73.8 KiB | e1ca2dc19531... |
| quartz-deplete-reverse-update.zip | Polished patch for quartz 3.1.3 | 73.9 KiB | 2fe5132bc2dd... |
| User | When | Change |
|---|---|---|
| CMTitan | Jun 06, 2013 at 20:48 UTC | Added attachment quartz-deplete-reverse-update.zip |
| CMTitan | Sep 28, 2012 at 15:05 UTC | Deleted attachment quartz-deplete-reverse-update.zip: Obsoleted by version 2. |
| CMTitan | Sep 28, 2012 at 15:05 UTC | Deleted attachment deplete-reverse.patch: Obsoleted by version 2 |
| CMTitan | Sep 28, 2012 at 15:05 UTC | Added attachment quartz-deplete-reverse-update.zip |
| CMTitan | Sep 28, 2012 at 15:04 UTC | Added attachment deplete-reverse.patch |
| CMTitan | Sep 19, 2012 at 16:52 UTC | Added attachment quartz-deplete-reverse-update.zip |
| CMTitan | Sep 19, 2012 at 16:51 UTC | Added attachment deplete-reverse.patch |
| CMTitan | Sep 19, 2012 at 16:49 UTC | Create |
- 4 comments
- 4 comments
Facts
- Last updated
- Jun 06, 2013
- Reported
- Sep 19, 2012
- Status
- New - Issue has not had initial review yet.
- Type
- Patch - Source code patch for review
- Priority
- Medium - Normal priority.
- Votes
- 0
- Reply
- #4
CMTitan Nov 25, 2012 at 23:55 UTC - 0 likesFinally nailed where the corner case came from. This turns out not to be a timing issue. It has to do with the way the flight module works. The fix described below (check for perc==nil) is not needed (and indeed should not be used because of performance). Instead, update modules/Flight.lua to include:
Player.Bar.filling = Player.Bar.casting
Player.Bar.emptying = Player.Bar.channeling
at line 137 (directly after setting Player.Bar.casting and Player.Bar.channeling
Triggering the original bug (and hence verifying this fix) in the patched quartz is simple: log in on a character, don't do anything and grab a flight path for which the time is known (have the flight module active, of course). Make sure it's a short flight...
- Reply
- #3
CMTitan Nov 18, 2012 at 15:03 UTC - 0 likesAnd of course perc being nil has a cause. When finding perc to be nil, one should also check startTime, endTime and remainingTime for nil and make 0 if they are.
- Reply
- #2
CMTitan Oct 13, 2012 at 15:21 UTC - 0 likesRan into a small corner case, probably due to a timing issue. In the patched CastBarTemplate.lua at line 80 it is possible for perc to be nil. Add a small check at that line to set perc to 0 in that case to fix this corner case.
- Reply
- #1
CMTitan Sep 28, 2012 at 15:03 UTC - 0 likesMy friend has been using this patch to test it and noticed that the latency bars seem incorrect. This was indeed so and has been fixed. A new patch and zip have been uploaded. The addition is that modules/Latency.lua is now aware of depleting and reversing cast bars.