Go to Page... |
Updated: | 01-15-08 05:58 PM |
Created: | unknown |
Downloads: | 20,494 |
Favorites: | 31 |
MD5: |
I hereby release all versions of CogsBar to the public domain. The core functionality depended on a system that was deprecated in 2.1. Now with 3.0, even the endorsed method has been replaced. The changes demand a thorough rewrite that I simply don't have the time to accomplish. Feel free to take it for what it's worth.
CogsBar
By Cogwheel — v1.10.1
CogsBar allows you to create a number of movable action bars of various configurations. Each bar can remap its actions based on certain types of states.
Please visit Cogwheel’s Workshop for updates, bug reports, feature requests, etc.
Guide
This started out as a simple example of the use of state headers (see v1.0) and as a replacement for my personal FlexBar setup. After the initial version I added a few tweaks here and there to let me create different setups for my different characters. You can now create an arbitrary number of bars (even single buttons) that can respond to state changes.
Note that CogsBar’s job is only to create action buttons. It does not modify the default UI in any way. If you would like to hide, break up, or move the main menu bar, I highly recommend CT BottomBar. It is very customizable and intuitive to use. Other alternatives are MoveAnything, Bongos, and various others I have not used myself.
Creating bars
The bars are created using the /cogsbar (/cb) slash command. Running this command with no arguments shows you a list of subcommands (create, clear, list, remove, status, bind). The simplest form for creating a bar is:
/cogsbar create 6x4
This creates a bar that is 6 buttons wide by 4 buttons high and uses action ids 1-24. Note: if you do not see any buttons, it means you don’t have any abilities configured in the first 24 action slots. If you drag a spell out of your spellbook, the buttons will appear. You will also see the control box near the lower-middle of the screen which you can use to move the bar.
Notice: the current implementation uses Blizzard’s layout-cache.txt to save its position. This means that if you log into the game with CogsBar disabled, you will have to reposition your frames the next time you log in. I will try to address this in a future version.
CogsBar “consumes” action ids, so the next bar created would start with action id 25. In other words, if you now ran the command:
/cogsbar create 9x4
you would have another 9 by 4 bar using actions 25-60.
Getting information
To see your bar configuration, use the list command:
/cogsbar list
CogsBar: List of bars:
1: 6x4
2: 9x4
You can also see some generic information with the status command:
/cogsbar status
CogsBar Status:
Number of bars: 2
Number of buttons: 60
Available actions: 60
Removing bars
If you would like to remove one of your bars, use the remove command, passing it the number shown in the output from list:
/cogsbar remove 1
CogsBar: Bar 1 removed. Please reload your UI for changes to take effect.
Due to some limitations in the current implementation, you must reload your UI after removing a bar (you can type /console reloadui or log out and back in). Note also that bar 2 will now use actions 1-36 instead of 25-60. Here’s the output of status at this point:
CogsBar Status:
Number of bars: 1
Number of buttons: 36
Available actions: 84
You can also use clear to remove all the bars bars as if you had manually run the remove command (UI reload is required).
State mapping
As mentioned, CogsBar bars can be driven by state changes. Any sort of state the SecureStateDriverTemplate supports can be used with CogsBar. The general syntax is:
/cogsbar <width>x<height> [state] [state] [...]
where each optional state has the syntax:
<state-type>[:[<first>-]<last>]
state-type can be one of stance, stealth, actionbar, shift, ctrl, or alt at the time of this writing (CogsBar is structured in such a way that future additions to SecureStateDriverTemplate will be automatically supported). Here’s a simple example:
/cogsbar create 6x4 stance
If you run this command as a warrior, it will create a 6x4 button bar that maps to actions 1-24 in Battle Stance, 25-48 in Berserker Stance, and 49-72 in Defensive Stance.
Sanity checks
Because certain state types are only relevant under certain circumstances, CogsBar performs a few sanity checks. The stealth type can only be used with Rogues, Druids, Mages, and Night Elves. Stance can only be used with Warriors, Druids, Rogues, Shaman, and Priests.
first and last
The first and last parameters tell CogsBar which states of the given type to “pay attention to.” Each known state type has certain default values for them (see Reference). These defaults allow you to omit the first and last parameters under most circumstances. For instance, the example above is equivalent to:
/cogsbar create 6x4 stance:1-3
You can also omit just the first parameter and the command will use the default value. E.g.:
/cogsbar create 6x4 stance:3
This is useful for conserving action slots when you know you don’t care about certain states. Normally for a Druid the default values are 0-6. This gives you mappings for every possible shapeshift form. However, if you have neither Tree of Life nor Moonkin form and you don’t have the Burning Crusade (hence flight form), you can use the command:
/cogsbar create 12x1 stance:4
which will provide you with mappings for caster, aquatic, bear, travel, & cat forms.
The other key benefit to manual input of first and last is if Blizzard adds more state types to SecureStateDriverTemplate.
Warnings
With flexibility comes responsibility. As such, there are a few caveats to watch out for. First, because you are allowed to specify a state that CogsBar doesn't know about inherently, you must take care not to misspell your state types. For instance, if you issued the command:
/cogsbar create 12x2 satnce
CogsBar would still create the bar and use up 48 actions (the default first and last values for unknown state types are 0-1). It does display a warning about unknown state type in case you did make such a mistake. If you see this warning, you should remove the newly created bar and try again.
Also, behavior is undefined if you specify a range smaller than what might actually occur. For example, if you have a bar created like:
/cogsbar create 12x1 actionbar:1-2
and you switch to action bar page 3, I’m not exactly sure what will happen... )
A similar issue is the expansion of the state type. For instance, if you have a bar created with:
/cogsbar create 6x2 actionbar
while you have two available action bar pages (because the default UI’s “extra” action bars use up pages from the main action bar), it will create two mappings. Now you get all your actions set up just how you want them and for some reason decide to disable all the built-in extra action bars. When you log into the game again, CogsBar will create the bar to take advantage of all six action bar pages, effectively “eating up” the actions from any bars created after it.
Key binding
Finally, we have the bind command which displays the bindings UI. When you open the bindings interface, you can click any CogsBar button to set its bindings. Simply click a button and press a key to set the binding. If you click a button and decide not to bind something to it, click Cancel. If you click Cancel again, it will reload your previous bindings and close the bindings UI. Otherwise, click Save to save your changes and close the bindings interface. Note: only one key can be bound to a CogsBar button at a time.
Reference
All commands begin with /cogsbar which can be abreviated as /cb.
create
Syntax: /cogsbar create <width>x<height> [<state>] [<state>] [...]
Example: /cogsbar create 6x4 stance
Creates a CogsBar
There must be enough available actions (as shown via the list command) in order to create the bar.
States
Syntax: <state type>[:[<first>-]<last>]
Examples: stance:1-3 stealth actionbar:2
States allow remapping based on certain conditions. The use of states multiplies the number of actions used by the bar by the state range. I.e. a 12-button bar will use 36 action slots if stance:1-3 is used.
first and last define the range of states of that type to pay attention to. Each state type defines its own range depending on its characteristics. The default values are listed under each state type below.
Possible state types at the time of this writing:
stance
Changes mapping based on the character’s stance. Only applicable to classes with stances (Warriors, Druids, Rogues, Priests, and Shaman).
Default ranges:
Comment Options |
12-28-06, 02:14 PM | |
|
this mod isn't showing up when i start WoW, do you now why?
this also happening to atlas,atlas loot, and simpleminimap. |
|
Dreadlorde |
View Public Profile |
Send a private message to Dreadlorde |
Visit Dreadlorde's homepage! |
Find More Posts by Dreadlorde |
Add Dreadlorde to Your Buddy List |
Cyberedelf |
View Public Profile |
Send a private message to Cyberedelf |
Visit Cyberedelf's homepage! |
Find More Posts by Cyberedelf |
Add Cyberedelf to Your Buddy List |
Cogwheel |
View Public Profile |
Send a private message to Cogwheel |
Visit Cogwheel's homepage! |
Find More Posts by Cogwheel |
Add Cogwheel to Your Buddy List |
Cogwheel |
View Public Profile |
Send a private message to Cogwheel |
Visit Cogwheel's homepage! |
Find More Posts by Cogwheel |
Add Cogwheel to Your Buddy List |
12-19-06, 02:43 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
found this
paraphrased snippits from another dev (I think it's Tuller)
--------------------------------------------------------------- ctrl down to page would look like this: stateMachine:SetAttribute('statemap-ctrl-1', '0:1') stateMachine:SetAttribute('statemap-ctrl-0', '1:0') and shift down to page would look like this: stateMachine:SetAttribute('statemap-shift-1', '0:2') stateMachine:SetAttribute('statemap-shift-0', '2:0') ---------------------------------------------------------------- I would think this is more what it would look like if the following command was given: /cb create 12x1 ctrl:1 shift:2 You already parse (and save) the last to arguments and the string manipulations should be easy enough. That part looks easy enough, but I don't know how the lines affecting the buttons would need to be changed. |
|
Cyberedelf |
View Public Profile |
Send a private message to Cyberedelf |
Visit Cyberedelf's homepage! |
Find More Posts by Cyberedelf |
Add Cyberedelf to Your Buddy List |
12-19-06, 03:45 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
It wouldn't increase the number in such a exponential manner for those of us who don't use any of the stance states. With keybindings I can pretty much get access to everything I want, but it would be REAL nice to actually see what I'm doing. Especially since the modifier states are the less used ones.
I've looked at the code with a few different ideas, but having never actually coded lua I couldn't manage it. It would appear to be obviously possible since you already use 3 states for a bar in your own gameplay. I just want my states based on ctrl/shift instead of stance. And that gives me another idea to go play with . . . |
|
Cyberedelf |
View Public Profile |
Send a private message to Cyberedelf |
Visit Cyberedelf's homepage! |
Find More Posts by Cyberedelf |
Add Cyberedelf to Your Buddy List |
12-16-06, 08:01 PM | |
|
Re: Re: love it, but
Here's another way to do it,
/cogsbar create 5x3 alt:0-1. Would create a normal bar with 2 states for each button, then for individual buttons: /cogsbar addbuttonstates 2,1 stance:1-3 To add additional button states to the specified button, assuming you dont need alt for each and every button, in that example that button would have six states instead of the original 2. If a button would not be used in a stance then you can save buttons by: /cogsbar addbuttonstates 2,1 stance:1-2. Assumming the button is unused in berzerker stance Thanks, Moraz |
|
Moraz |
View Public Profile |
Send a private message to Moraz |
Visit Moraz's homepage! |
Find More Posts by Moraz |
Add Moraz to Your Buddy List |
12-15-06, 01:39 PM | |||
|
Re: love it, but
It's still doable, just something to keep in mind. And if you keep your bars small it shouldn't be a problem at all
Edit: verified... I just downloaded the latest OmniCC. With all addons disabled except CB & Omni, the cooldown counts show up just fine...
Last edited by Cogwheel : 12-15-06 at 02:12 PM.
|
||
|
Cogwheel |
View Public Profile |
Send a private message to Cogwheel |
Visit Cogwheel's homepage! |
Find More Posts by Cogwheel |
Add Cogwheel to Your Buddy List |
12-15-06, 03:14 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 7
Uploads: 0
|
love it, but
I will second moraz's request of being able to include more than 1 modifier.
RedRange works with this, OmniCC does not. With multiple modifiers and some form of cooldown notification I can stop using any of the bloated bar mods out there. |
|
Cyberedelf |
View Public Profile |
Send a private message to Cyberedelf |
Visit Cyberedelf's homepage! |
Find More Posts by Cyberedelf |
Add Cyberedelf to Your Buddy List |
12-13-06, 06:59 PM | |
|
Stance/Key combination
I love this mod! I'm fiddling with the code to understand the new SecureTemplates.
Would it be possible to add an additional modifier to the create command such as: /cogsbar create 5x3 stance:1-3 alt:0-1? Im trying to map a Nostromo n52 to control the whole interface and having two modifiers(stance and alt/ctrl state) combined wold be perfect. Thanks! Moraz |
|
Moraz |
View Public Profile |
Send a private message to Moraz |
Visit Moraz's homepage! |
Find More Posts by Moraz |
Add Moraz to Your Buddy List |
12-05-06, 12:27 PM | ||
A Defias Bandit
Forum posts: 2
File comments: 22
Uploads: 0
|
I don't know if this is the reason or not, but I did notice that the rating stars are reversed from what I usually encounter on other sites that have similar ratings systems. On every other site I can recall, the rightmost star is "5" while the leftmost star is "1".
|
|
|
Somnifer |
View Public Profile |
Send a private message to Somnifer |
Visit Somnifer's homepage! |
Find More Posts by Somnifer |
Add Somnifer to Your Buddy List |
11-22-06, 09:28 AM | |
|
Yay!
Yes Tuller! 2.0-ize Bongos and Bagnon! Heh, thanks Cog, you prolly helped get my preferred bar mod back online in time for 2.0. I finally "successfully" copied my toons to PTR a couple days ago. By the time I come back from gobbler day I should be able to test a lot of this stuff. |
|
techdavidson |
View Public Profile |
Send a private message to techdavidson |
Visit techdavidson's homepage! |
Find More Posts by techdavidson |
Add techdavidson to Your Buddy List |
11-18-06, 08:44 PM | ||
|
On a happier note, thanks for the example! Downloading it now to add to my treasure trove of documentation on these changes . -TigerHeart |
|
|
TigerHeart |
View Public Profile |
Send a private message to TigerHeart |
Visit TigerHeart's homepage! |
Find More Posts by TigerHeart |
Add TigerHeart to Your Buddy List |
11-16-06, 12:21 AM | |
|
Hurray for much easier to read documentation on states
|
|
Tuller |
View Public Profile |
Send a private message to Tuller |
Visit Tuller's homepage! |
Find More Posts by Tuller |
Add Tuller to Your Buddy List |
11-12-06, 08:46 AM | ||
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
It's all too common these days. |
|
|
madmanuk |
View Public Profile |
Send a private message to madmanuk |
Visit madmanuk's homepage! |
Find More Posts by madmanuk |
Add madmanuk to Your Buddy List |
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.