Download
(10 Kb)
Download
Updated: 02-12-10 02:48 PM
Pictures
File Info
Updated:02-12-10 02:48 PM
Created:11-08-09 11:33 AM
Downloads:528,830
Favorites:459
MD5:
SnowfallKeyPress  Popular! (More than 5000 hits)
Version: 1.4
by: Dayn [More]
*** Version 1.6.1 is temporarily unavailable while I work on a new version. In the interim, you can still download version 1.4. ***

This addon accelerates key bindings so that they are activated by key press rather than key release. This allows you to activate your abilities faster than you could otherwise. This can really make a difference for situations where you need to react quickly, like when casting heals, when dispelling, when interrupting spells, or in PvP. In these situations, the addon can have an effect similar to reducing your network latency by 100ms. Of course, the exact impact depends entirely upon how much time you personally spend between key press and release.

"Dude, this addon is going to increase my DPS by so much!" No, it's not. DPS rotations (or even priority systems) are not to any great extent affected by latency. Because they're predictable, good players can anticipate what's coming next and compensate for latency. In fact, if you're a good player who is already compensating for the press-to-release latency, you may actually find that your DPS goes down when you first use this addon until you learn to readjust to the reduced latency. Find a target dummy and practice your rotation until you're comfortable with the changed timing.


Configuration

There is an in-game configuration GUI accessible through the usual Options->Interface->Addons menu. From this panel, you can add or remove keys and mouse buttons to be accelerated. You can also globally enable or disable all key acceleration.

The GUI provides exceptionally fast entry--you can enter your whole keyboard in seconds and all your mouse buttons in a few more seconds. The easiest way to understand this GUI is to start by hitting the "Clear All" button and then adding and removing some keys. In order to add just one key or mouse button, hover over the "+" button and type the key or press the mouse button (including whatever modifiers you desire). In order to remove that key, hover over the "-" button and type that same key with its modifiers. In order to enter all 8 of a key's modified and unmodified combinations with just one key press, hover over the "+ (Modifiers: All)" button and type the key.

If you want to do mass entry of modified and unmodified keys and mouse buttons, hit the "Clear All" button. Then hover over the "+ (Modifiers: All)" button and face-roll your way across keyboard and mouse buttons. You're done.

The default configuration accelerates all the modified and unmodified keys on a standard 104-key US keyboard (except PRINTSCREEN) plus mouse buttons 3-5. If you'd like to get back to this configuration at any time, simply hit the "Reset To Defaults" button.


Mouse Buttons

SnowfallKeyPress accelerates key bindings of mouse buttons, but it doesn't accelerate mouse button clicks that interact directly with frames without any associated key binding. This means that although SnowfallKeyPress is compatible with click-casting addons like Clique and Vuhdo, it won't accelerate their mouse clicks. Vuhdo already provides its own mouse click acceleration, though, and perhaps Clique will at some point, as well. Until then, you can add support yourself by navigating to Interface\Addons\Clique, editing Clique.lua and CliqueOptions.lua, searching for instances of "AnyUp", and replacing them with "AnyDown".

Mouse scroll-wheel bindings do not need any acceleration, so don't be concerned that SnowfallKeyPress offers no way to accelerate them. Each "tick" of the mouse scroll wheel is, in effect, already a simultaneous press and release.
================================================================================
1.6.1 - 1/2/2010

Fixed a bug that may have affected compatibility with override bindings that some addons were applying.



================================================================================
1.6 - 12/20/2009

Reduced the size of the default button animation by 25%, which should help keep it from obscuring other indicators on buttons.

Added the ability for other addons to customize the SnowfallKeyPress button animations. An example is included.

Removed the deprecated Lua configuration capability (the SnowfallKeyPressSettings folder). This functionality was superseded by the in-game GUI in version 1.2, so it's not needed any longer.



================================================================================
1.5.1 - 12/14/2009

Fixed a bug introduced in 1.5 that was throwing a lua error with OPie.



================================================================================
1.5 - 12/12/2009

Added button press animations (enable or disable through the configuration panel).

Made some infrastructure changes that should be invisible to the user, but which should improve compatibility with addons written in the future that may have more complex behaviors than we generally see in addons today.

Reduced the memory footprint of the code.



================================================================================
1.4 - 12/8/2009

Updated the interface version to 30300 (patch 3.3).

No functional changes.



================================================================================
1.3 - 12/4/2009

Fixed a minor error introduced in 1.2 that was causing some people problems with Bartender4.



================================================================================
1.2 - 11/28/2009

Added an in-game configuration GUI accessible through the usual Options->Interface->Addons menu.



================================================================================
1.1 - 11/25/2009

Added complete support for Dominos and Bindpad. At this time, there are no known incompatibilites with any addons.

Added a user configuration file to control which keys are accelerated.



================================================================================
1.0 - 11/15/2009

First full release version.
Archived Files (4)
File Name
Version
Size
Author
Date
1.3
10kB
Dayn
12-04-09 06:34 AM
1.2
10kB
Dayn
11-28-09 10:40 PM
1.1
7kB
Dayn
11-25-09 11:55 AM
1.0
5kB
Dayn
11-15-09 08:43 AM


Post A Reply Comment Options
Old 01-02-10, 04:06 PM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
Radighoul and Ymoon, please try version 1.6.1 and see if that fixes your problem.

Sjiulk, I've been using SnowfallKeyPress with OPie without any issue. Would you please indicate the versions of both addons you're using?
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-30-09, 06:18 AM  
Raphael_M
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Bug with Bartender

I'm experiencing strange problems in combination with Bartender - initially (after a login / ReloadUI() ) the buttons are not accelerated.

Anyway, in the configuration menu of SFKP all hotkeys seem to be listed.

Now comes the strange thing: After pressing "Reset to Defaults" (which changes absolutely nothing) also the Bartender4 Buttons are working in highspeed mode.

If i relog (or even ReloadUI() ) now they stop working again until i press "Reset to Default"...
Raphael_M is offline Report comment to moderator  
Reply With Quote
Old 12-28-09, 05:18 PM  
radighoul
A Kobold Labourer
AddOn Compiler - Click to view compilations

Forum posts: 0
File comments: 19
Uploads: 1
Dayn,

There might be some issue with SnowfallKeyPress and Bartender.

When using action bar paging in Bartender to swap out bars based on some conditional (in this example, stealth) it appears that the bar visually changes properly but pressing a keybind is defaulting to the previous (now invisible) action bar.

In case that wasn't clear here's a working example. I have shift + Q bound to Ambush when I'm stealthed and Kidney Shot when I'm unstealthed. I've noticed odd behavior where sometimes after I use Vanish and try to ambush it instead uses Kidney Shot despite the bar changing visually as expected.

I assumed this was an issue with Bartender perhaps not paging quickly enough and went to go see if there was an update, instead stumbling upon these comments on the Bartender page where people report this issue with SnowfallKeyPress and Bartender. Some users have reported that installing your latest version 1.6 corrects the issue but I'm running 1.6 and I still have this problem.

Also, it may be unrelated and it may be something entirely with Bartender as well but animations from SFKP never play on the stealth paged action bar, only on the normal state action bar. It's not the biggest deal but perhaps it has something to do with the previously stated problem.

Any chance you could take a look?
radighoul is offline Report comment to moderator  
Reply With Quote
Old 12-28-09, 02:35 PM  
Sjiulk
A Kobold Labourer

Forum posts: 0
File comments: 36
Uploads: 0
Love the addon, but when it's turned on it doesn't let me use OPie. =/ I use OPie for raiding so until they are compatible I won't be able to use Snowfall.
Sjiulk is offline Report comment to moderator  
Reply With Quote
Old 12-28-09, 10:52 AM  
Ymoon
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Re: Default Blizzard Animation

Hey, first of all great addon, I have a problem though.

Every time I log the settings kind of reset. The list shows all the keys I saved being under effect, but actually only 1-9 stay that way, and I have to change settings again for the rest to start working (shift+1-9, R, G, B).

Any suggestions how to solve this? At the moment I'm having to tick and untick "enabled" under options to make it work each time I log on.
Ymoon is offline Report comment to moderator  
Reply With Quote
Old 12-23-09, 11:29 AM  
Mygly
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Default Blizzard Animation

For those of you wanting the default blizzard animation, follow the instructions to make a new animation at the top of the SnowfallKeyPressAnimation.lua file, then in the new file, under the comment "-- Create an animation texture" change the path in SetTexture to Interface\Buttons\UI-Quickslot-Depress. Now go to the variable scale1, change SetScale on both scale1 and scale2 to 0.925 or somewhere around there (experiment with it) and change the duration on scale2 to 0.1 instead of 0.2. Now the last thing you need to do is comment out the rotation bit, just add -- before all of the rotation stuff. This won't be exactly the same as the default animation texture remains over the button until the key is no longer down. Hope this helps.
Mygly is offline Report comment to moderator  
Reply With Quote
Old 12-22-09, 07:45 PM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
Re: Bartender

SnowfallKeyPress works with everything, as far as I am aware, including Bartender, yes.

It's fairly easy to convince yourself that there is a difference. Try going into the configuration panel and un-check the Enable checkbox. Now hold down a key bound to a spell for several seconds. You'll see that the spell is not cast until you release the key. Now check the Enable checkbox. Hold down that same key for several seconds. You'll see that the spell is cast on key press, now.
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-22-09, 05:17 PM  
rain321cz
A Murloc Raider

Forum posts: 4
File comments: 4
Uploads: 0
Bartender

Does this work with Bartender? I don't feel any difference.
rain321cz is offline Report comment to moderator  
Reply With Quote
Old 12-22-09, 09:58 AM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
I'm glad you like the custom animation feature. The easiest place to view textures is probably

http://wowprogramming.com/utils/artbrowser
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-22-09, 02:44 AM  
x
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 73
Uploads: 1
I warmly welcome the new additions, especially the custom animations.

Have I made one myself, but I had a hard time finding where were Blizzard's textures. I finally unpacked an MPQ and copied some interesting textures in a folder inside AddOns.

May I ask where you found the path for the texture you use? Namely Interface\Cooldown\star4
x is offline Report comment to moderator  
Reply With Quote
Old 12-20-09, 01:43 PM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
Originally posted by senryo
Hi Dayn, thanks for great addon. Recently i updated your addon and noticed that it consume much more memory than before. Now it's about 530 KB. I can't remember clearfully but i think that later it was something about 30 KB. Does it normal?
Versions 1.5 and later do maintain significantly more information on key bindings than the prior versions did. Doing so improves future-proofing for complex-behavior addons as well as improving CPU efficiency, so I think this is a reasonable trade-off.

Thanks for bringing this up, and please do continue to question if you see anything odd.
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-20-09, 12:22 PM  
senryo
A Kobold Labourer

Forum posts: 0
File comments: 24
Uploads: 0
Hi Dayn, thanks for great addon. Recently i updated your addon and noticed that it consume much more memory than before. Now it's about 530 KB. I can't remember clearfully but i think that later it was something about 30 KB. Does it normal?
__________________
Sorry for my english. It's not my native language.
senryo is offline Report comment to moderator  
Reply With Quote
Old 12-19-09, 07:59 AM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
Regarding button animation, I realized based upon feedback here and by PM that folks are going to want to customize their animation in a lot of different ways. So, I'm thinking to provide an interface that allows any type of customization. Then lua-savvy folks can write their own animations and share them with others. Someone could even write an animation pack with lots of choices if they desired.

It would probably look something like this:

SnowfallKeyPress:SetButtonAnimation(AnimationFunction)
AnimationFunction = SnowfallKeyPress:GetButtonAnimation()

The AnimationFunction itself would be called each time the button was clicked with the button as a parameter.

As an alternative, for even more flexibility, I could make the animation function be button specific, and different addons could handle the animations for different buttons. I could provide a table indexed by button that addons can populate with function references. Then SnowfallKeyPress would call the appropriate animating function for the appropriate button. The __index metamethod, settable to whatever desired function, could provide a default animation handling.

Please provide me whatever feedback you have, and I'll plan to have this implemented in the next few days.
Last edited by Dayn : 12-19-09 at 03:07 PM.
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-19-09, 07:47 AM  
Dayn
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 69
Uploads: 7
I have made the code as small as I possibly can. It is just plain vanilla lua, though. That shouldn't violate Blizzards policies unless they have minimum requirements on variable length or white space. Of course, I will comply with whatever they instruct me to do since they do have the ultimate authority to decide what is allowable.
Dayn is offline Report comment to moderator  
Reply With Quote
Old 12-18-09, 03:13 PM  
Lumberface
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
code is obfuscated ?

Nice addon, I thank you for that. I looked into customizing the button animation myself, but it appears you've obfuscated the code, which makes it annoying as I have to de-obfuscate it first.
Just wanted to give you a heads up if you didn't know, that code obfuscation is forbidden in the UI addon development guidelines per Blizzard.

http://www.worldofwarcraft.com/policy/ui.html
Lumberface is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.