Giter VIP home page Giter VIP logo

neuron's Introduction

Neuron

Neuron is a full-featured action Bar addon for World of Warcraft: Dragonflight, updated for Patch 10.0.0

Manual Install:

I do not recommend downloading this addon directly from Github, as there are CurseForge packaging modifications made to the addon upon release. These modifications include updating all included libraries to their latest release versions and pulling in all of the crowd sourced localizations. I have made an effort to pull in periodic samplings of these, but what you will find in the packaged versions on CurseForge or WowInterface will be much more up to date.

Want to Donate?

Making add-ons is a lot of work! Your help goes a huge way to making my add-on work possible. If you would like to Donate, Github Sponsors is the preferred method as they are currently matching donations dollar for dollar and take zero cut.

Translating

The efforts to translate Neuron into many languages is a community project, and it could use your help!

Head here to start translating.

Download:

The addon can be downloaded at these places:

Development:

Neuron development is all done using the Intellij IDEA Community Edition IDE and with the assistance of the fantastic EmmyLua plugin. Detailed instructions on how I set up my development environment can be found here. Likewise, in game I make use of the addons BugGrabber, BugSack, and ViragDevTool, and in game tools such as "/eventtrace" and "/framestack"

Development of Neuron requires an understanding of Lua syntax, the WoW API, and a working understanding of Git/GitHub. If you want to help with Neuron's development, I suggest:

  1. Forking the project on GitHub (some people use GitHub Desktop, but I personally use GitKraken)
  2. Setting up your aforementioned development environment
  3. Backing up your WTF folder
  4. Symlinking your cloned Neuron git folder to your "World of Warcraft>_retail_>Interface>Addons" folder
  5. Making your first change

A good place to start coding is by looking through the issue tracker to find any issues marked as "good first issue". All code change submissions should come in the form of pull requests, so that I can review it and provide comments before merging.

Alternative Development

If an IDE is not your scene, then we have provided a Nix based development environment. If you need Nix, then see the following section. Once you have Nix then you can type env NEURON_INSTALL_DIR="<your WoW addon path>/Neuron" nix-shell --run make and the build system will automatically install neuron and keep it synced with your changes

Nix

Installing Nix can probably be done from your package manage in Linux or WSL. Alternatively you can type sh <(curl -L https://nixos.org/nix/install) --daemon. See https://nixos.org for more details.

Disclaimer:

Neuron is a continuation of the amazing Ion Action Bars addon started by Connor H. Chenoweth. All credit for the work done prior to 2017 should go to him, accordingly.

neuron's People

Contributors

billwiegert avatar brittyazel avatar esememon avatar koviko avatar nephyrin avatar truthnz avatar veyh avatar xiiph avatar ylixir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

neuron's Issues

Hidden state for Bag & Menu bars doesn't persist

Steps to reproduce

  1. Have Bag and/or Menu bars
  2. Check hidden for either/both
  3. Reload client or UI
  4. Bars reappear, hidden is unchecked in options

Additional Notes

Other bar types seem unaffected by this
Occurs on both default bars and newly created bars

Issue: Extra action bar

When I get into a zone (or expedition) with an extra action button, the selected spell don't disapear even if I leave the zone or complete the expedition.
If I enter another zone or expedition needing the extra action, It's not refresh either.
No error logged
Seems to get the same behavior with the Zone Action Bar (If I go to my Garrison and tp back to Dalaran, I'll keep the spell on)

Multiple XP bars sync up

When creating multiple XP bars (for the purpose of tracking XP and Artifact XP side-by-side,) they will occasionally upon gaining Artifact or Character XP (haven't yet identified anything more specific that causes the sync) sync so that both bars display the same type of XP, where they remain until such time as they both sync the other type, and back and forth as you play.

Fix the global vs character saved variable infrastructure

The global vs character saved variable system is a bit in shambles, and pretty hacky. I had to employ a hack fix to the menu and bag bars today just to get their size/position to be saved per character rather than per account.

I'd like to have a more elegant way of going about this.

Feature - PvP visibility state

Hi,
Just a little request, could it be possible to add a "PvP" trigger to the bar's visibility states ?
I know I could use this one :)

Thanks

Issue with status bar left/right/center string text

Occasionally when setting the left/right/center string text a lua error will pop up. The next time it happens I should post it here.

I tried to fix the error by adding a 5th string option to the repwatch, (bubbles) to make it have the same number of string options as the XP bar. However, as this seemed to have fixed the rep bar (maybe) the cast bar started giving me grief. Ugh.

Make it easier to toggle between bar configuration and button configuration

Currently you have to use either a chat command (or macro), data broker, or minimap button to switch between bar configuration and button configuration.

Having either a button on each of the respective windows and/or a separate window that allows switching modes would make it easier to quickly go back and forth, or perhaps a shared mode with different mouse clicks/UI elements to manipulate each.

Configuring Action Bars Bug

I've had a problem in Ion for a while. It's still there in Neuron, hope you can help.

The problem exhibits itself when an action bar disappears, or appears with less buttons than it should have. If I open config and try to adjust the number of buttons, it won't increase the #, but is will decease and go negative. At that point, sometimes I can increase it back to the original #, sometimes not. The problem will persist if I delete the bar and re-add it.

I've never been able to get a response, or any aknowledge ment of this issue from anyone, I've had it since I started playing again when WoD was released.

After switching to Neuron, I do get a debug message.

DEBUG: Bad Global Save Data for NeuronActionBar9 ?
DEBUG: Bad Character Save Data for NeuronActionBar9 ?

I get that everytime I click to increase or decrease the number of buttons on the affected bar.

Neuron is filling the global namespace with Bar and Button references

I'm not quite sure why, but Neuron is flooding the global namespace with ActionBar and ActionButton tables. Ideally all refrences to these bars should be in Neuron.BARIndex or Neuron.BARName, and we should only need a couple of top level variables. Flooding the global namespace can slow down the game and all addons due to the lookup table being way more complex

Deal with situational states messing with explicit states

Situational states, i.e. combat/swimming/indoor/outdoor, currently mess with the functionality of explicit states, i.e. vehicle/alt/shift/stance/etc. Meaning right now always the most recent state is the one that is shown, thus if you are in bear form and have a bear form bar state shown, if you have the "combat" state enabled, entering combat will take away your bear form state and enter the combat state, as it is more recent.

I need to think of a clever way to work around this.

Issue: ADDON_ACTION_BLOCKED

When in combat and clinking on action icon, sometime I've got these report (BugGrabber extract) :

1x [ADDON_ACTION_BLOCKED] L'AddOn 'Neuron' a tenté d'appeler la fonction protégée 'OverrideActionBarButton4:Show()'.
!BugGrabber\BugGrabber.lua:573: in function <!BugGrabber\BugGrabber.lua:573>
[C]: in function `Show'
FrameXML\ActionButton.lua:364: in function <FrameXML\ActionButton.lua:338>
[C]: in function `ActionButton_Update'
FrameXML\ActionButton.lua:720: in function `ActionButton_OnEvent'
FrameXML\ActionButton.lua:207: in function <FrameXML\ActionButton.lua:204>

Locals:
InCombatSkipped

=> For reminder, subject opened on Curse (Cinedelle)

0.9.13 : Visibility states trouble

Hi,
I've just encounter a bug on bar's visibility states. It seems only applied after a reload of the UI.
I was testing the "out of combat" trigger.
Regards

Issue: Blizzard MultiBarAction appears

Sometimes, the "MultiBarAction Right" appears even if the "Display Blizzard Bar" option is uncheck. And until now, only this bar.
No error logged when trigger

Ideas for the GUI rewrite!

Please share all your ideas for the GUI rewrite that is in progress. This is the place to point out any places where you feel Neuron has shortcomings, and could be improved

Ongoing: port GUI to use ACE3-GUI libraries

I would like to port more and more of the codebase to use the ACE3 libraries, starting first with the Neuron-GUI sub-addon, which currently uses a lot of custom layout and theming. Theoretically if we moved the GUI codebase over to using the ACE3-GUI libraries, we could drastically simplify the codebase and future maintenance.

This is hampered only by my lack of understanding of how to go about doing this. I have no experience working with Ace3.

GUI : Homestate & Preset state, translation problem

Hi,

It has just strike me, but in the GUI, State Bar tab, the homestate and preset state are not localized. Just the "Stealth" one for rogue.
Maybe you could add a value in the Neuron_state.lua file for the "MANAGED_ACTION_STATES" including the localized string and use them when needed (I successfully done that for the Homestates on my local copy, but since the preset used a table.sort... I can't figure out how to do it right... Working with no sorting is working, but it's not neat...)

Regards

Neuron CPU usage is a bit high

We should try to optimize the CPU usage of Neuron to be optimized. Right now Neuron is sucking up about 5fps on my system, but it could be higher on lower end systems.

I need to figure out how to profile the addon to figure out where the high cpu usage is coming from.

More config options for button text overlays (cooldown/aura/etc)

Per Curse request from Osoerk:

Hello, I have a request/suggestion : I would like to have more configuration options for cooldown/aura/count text, such as font/size/color/anchor point(in a button). Then I can completely replace my bartender4+adibuttonauras with this one. Thank you

global save settings

This was my only complaint about Ion before you took over. The menu bar and bag bar were save globally meaning that each of my toons had those bars saved in the same spot. The other bars were saved per character. Would you be able to change how these bars are saved? My work around was to edit the LUA for those two bars so that they would be saved per character. I'd rather not have to do this each time you updated.

Thanks

French translation

Hi, you'll find joined the french translation.
I think I cover up pretty much everything (except L.INSTALL_MESSAGE and L.UPDATE_WARNING I don't know if you wish to translate these strings).
It's base on the latest relase (0.9.10) from the enUS file.
Neuron_X-frFR.zip

Translation causing issues

With my testing,I stumble across a translation issue with Neuron. It seems that "the code" try to use the localized version of the states in ref to there indexes, and... It can not work ^^.
To avoid this, I've change this in Neuron.lua :
NEURON.STATEINDEX = { paged = "paged", stance = "stance", pet = "pet", alt = "alt", ctrl = "ctrl", shift = "shift", stealth = "stealth", reaction = "reaction", combat = "combat", group = "group", fishing = "fishing", vehicle = "vehicle", possess = "possess", override = "override", extrabar = "extrabar", prowl = "prowl", custom = "custom", target = "target", }
Then, translation and addon works flawlessly :)

Lua errors, spell ids/tooltips

Hi,
Getting some lua errors even after recent update on a few characters, especially hunter. Call pet spell placed on the action bar seem to be the cause. Had some on my fury warrior too, but it was a button that got copied over from the other spec (arms) will check into it more and post separately if I can.

Message: Interface\AddOns\Neuron\Neuron_Buttons.lua:2230: Invalid spell ID in GameTooltip:SetSpellByID
Time: 01/16/18 20:08:05
Count: 16
Stack: Interface\AddOns\Neuron\Neuron_Buttons.lua:2230: Invalid spell ID in GameTooltip:SetSpellByID
[C]: ?
[C]: in function SetSpellByID' Interface\AddOns\Neuron\Neuron_Buttons.lua:2230: in function MACRO_SetSpellTooltip'
Interface\AddOns\Neuron\Neuron_Buttons.lua:2310: in function `MACRO_SetTooltip'
Interface\AddOns\Neuron\Neuron_Buttons.lua:2352: in function <Interface\AddOns\Neuron\Neuron_Buttons.lua:2337>
[C]: ?

Locals:

Add "current level" to experience/rep bar bar

Add another option to show the "current" level in the experience and reputation bars, which should be a string showing Player Level for XP bar, faction standing (honored, revered,etc) for rep bar, artifact points, or honor level.

Bug 0.9.11

Hi,
Something messing around with the NEURON.STATEINDEX in Neuron.lua :
At this time :
NEURON.STATEINDEX = {
paged = "paged",
stance = "stance",
stance = "stance",
pet = "pet",
alt = "alt",
ctrl = "ctrl",
shift = "shift",
stealth = "stealth",
reaction = "reaction",
combat = "vehicle",
group = "group",
fishing = "fishing",
vehicle = "custom",
possess = "possess",
override = "override",
extrabar = "extrabar",
custom = "custom",
target = "target",
}

combat and vehicle should be
NEURON.STATEINDEX = {
paged = "paged",
stance = "stance",
stance = "stance",
pet = "pet",
alt = "alt",
ctrl = "ctrl",
shift = "shift",
stealth = "stealth",
reaction = "reaction",
combat = "combat ",
group = "group",
fishing = "fishing",
vehicle = "vehicle ",
possess = "possess",
override = "override",
extrabar = "extrabar",
custom = "custom",
target = "target",
}

Anotherthing, in Neuron-GUI.lua :
--Renames Stance for rogues to Stealth as that is what should really be used
if state == "stance" and (NEURON.class == "ROGUE") then
f.text:SetText(L["STEALTH"])
else
f.text:SetText(state:upper())
end
f.option = state

L["STEALTH"] is not ref in the language files.
Maybe you could use something like f.text:SetText(L["Stealth"]:upper())

UI glitch when toggling Multi Spec on or off

Steps to reproduce

  1. Edit a bar with more than one button
  2. Turn on/off Multi Spec
  3. Button outlines disappear
  4. Increasing but not decreasing the number of buttons will reset the outlines

Related Screenshots

Multi Spec toggled
image

Button count increased
image

Macro/spell icons

I noticed some spells dont have icons when i put them on bar.For instance i try to pull 1st honor talent into bar i just get empty icon and text. i Even tried opening edit button and put icon from there and save it nothing is happening.

Rogue Vanish state (Assa or Outlaw)

I'm working on a french translation for Neuron, and it's nearly done, but as I test it I think I've find a strange beahavior. In Ass or Outlaw spec, when I vanish, my "action bar 1" (keeping the default one after a profile reset) is empty, and as soon as the vanish buff ends the bar is replaced by the state "stealth".
Looking at the code I think, we get the "stealth" with "GetNumShapeshiftForms()", and rogue only get one "stance" => "stealth".
So, I came with this solution inspired by the "shadow dance" workaround. In Neuron.lua :
After this :
--Adds Shadow Dance State for Subelty Rogues if (NEURON.class == "ROGUE" and GetSpecialization() == 3 ) then NEURON.STATES["stance2"] = L.SHADOW_DANCE NEURON.StanceIndex[2] = 185313 states = states.."[stance:2] stance2; " end

I add this :
--Adds Vanish State for Assa or Outlaw Rogues if (NEURON.class == "ROGUE" and (GetSpecialization() == 1 or GetSpecialization() == 2) ) then NEURON.STATES["stance2"] = "Vanish" NEURON.StanceIndex[2] = 1856 states = states.."[stance:2] stance2; " end

Then, I can use the remap option from stealth to vanish, and "voila", it works like intended.
(Maybe the true solution is to automate the remap... I don't know).

If you agree with this solution, you should add a L.VANISH entree in the localization files and replace "Vanish" with this one.

P.S. : Sub is not a problem with the Shadow dance remap (Vanish seems to be on stance2 too so, Shadow dance and vanish use the same state)

New bars are hard to find in the bar list

When creating new bars they get named and numbered in a generic fashion that can be hard to find if you aren't keeping track of how many of each you have.

Choosing a name before hand or automatically selecting new bars would make them easier to find.

Issue with Masque: Cirque

Masque: Cirque is an Addon which provides circular buttonskins for Masque.
(https://www.curseforge.com/wow/addons/masque-cirque)

First i thought Neuron would have problems with circular Buttonskins in general but it seems that it only struggles with Cirque. I tried two different circular Skins (Masque: Serenity, Masque: Gears) and both worked perfectly with Neuron. I also use Cirque to masque buttons from Bartender4 and Weakauras2 which works perfectly but Neuron somehow can not handel the corners... (see the screenshot)

Thank you in advance and keep up your great work man!

masque cirque_neuron vs bartender

Issues with stance/forms

I thought this may have been improved/fixed previously but it's still ongoing.

For my Boomkin druid, switching to cat/bear and back to Boomkin doesn't switch the bars to the Boomkin set, they stay as cat/bar. As a workaround I have to go into Travel or Caster form first, then to Boomkin... not the end of the world but costs a GCD each time and requires that I have additional hotkeys available to shift out of a stance I'm already in.

There's a secondary issue if my cat is in prowl/stealth at the time of transitioning out, in that case the Travel/caster form transition doesn't change the bars so I have to basically go out of stealthed cat, back into cat, then into Travel/caster, then into Boomkin... this at least doesn't happen while I'm in combat but it's very clunky to get out of.

As well, shaman wolf form and priest shadow form are also acting as stances (ie. separately tracked bars), however they shouldn't be. I'm not aware of this issue on other classes but there may be others.

I haven't noticed any rogue stealth issues, for what it's worth, although I don't tend to play him in stealth, I mostly use it for the passive speed boost talent when moving around indoors.

0.9.13a : Issue with the rep tracking

Hi,
Me again...With the last update, I've got some trouble with the "auto select" for the faction tracking. Even with rep gain, nothing change.
Another thing is that every faction is tagged "Reward"
image

Delete confirmation stays active when switching between bars

Steps to reproduce

  1. Select a bar (bar1)
  2. Click Delete Current Bar
  3. Select a different bar (bar2)
  4. Click Yes on the delete confirmation
  5. Currently selected bar is deleted

Expected behavior

Confirmation should be cleared upon switching bar selection to avoid ambiguity -- Leaving the confirmation active is a bit confusing as you lose context.

PS: Healer party is the best party!

Issue: Action bar - Vehicle state

I've just test on my action bar #1 the vehicle state.
The Icons switch to the right state (exemple Lightforged Warframe from the Vindicar), but the macro behind it still get the "homestate" value.
I need to sometime reset the macro on one button of the vehicle state to get the right action activated when used.
No error logged.

/neuron bind

after two update's /neuron bind stop workink so i can't bind any key anymore. Is there any solution?

0.9.14a : Faction reward

Hi,
I don't know if the "Reward" text should appeared when you've got the Bonus Faction package, but if it sould, it's not "working" on my side :
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.