Quartz

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

You must login to post a comment. Don't have an account? Register to get one!

  • 4 comments
  • Avatar of CMTitan CMTitan Nov 25, 2012 at 23:55 UTC - 0 likes

    Finally 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...

  • Avatar of CMTitan CMTitan Nov 18, 2012 at 15:03 UTC - 0 likes

    And 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.

  • Avatar of CMTitan CMTitan Oct 13, 2012 at 15:21 UTC - 0 likes

    Ran 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.

  • Avatar of CMTitan CMTitan Sep 28, 2012 at 15:03 UTC - 0 likes

    My 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.

  • 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

Reported by

Possible assignees