Sellorio / mega-macro

A World of Warcraft AddOn that replaces the built in macro functionality allowing more and bigger macros.
17 stars 13 forks source link

feat: formatting, fixes and improvements #202

Open paulbuechner opened 1 year ago

paulbuechner commented 1 year ago

Hey Sellorio,

I've made some fixes and improvements. I initially based the changes on @aurelion314 branch as he seemed to be maintaining the project lately. We did discuss and reviewed the changes and came to the conclusion to directly make this PR here because Mike currently doesn't has access to the game and doesn't want to block the updates I've made.

For more information on the discussion see here.

This PR includes the following features, fixes, and improvements:

Features:

Bug Fixes:

Chore:

Cheers 😊

fixes #177, #199 closes #188

sellorio2 commented 1 year ago

What's the status of the temporary workarounds? Stuff that disables ranged coloring and tooltips?

paulbuechner commented 1 year ago

Regarding the temporary fixes, I haven't found any solution to fix them, hence "temporary fixes".

200: This is an issue other addons experiencing too, e.g. here

176: Disabled for now

sellorio2 commented 1 year ago

I came back to WoW today and I ran into a bug in the addon that makes it unusable so I'm testing this branch :) Switching to/from dragonflying mount completely breaks mega macro lol

sellorio2 commented 1 year ago

Hmm the issue still exists with this version.

paulbuechner commented 1 year ago

Hmm the issue still exists with this version.

In my opinion, when disabling mainbar tooltips, this is happening less than before. (At least in my case) Also, it feels like this it is happening when mounting off directly into combat... Mounting off with no enemies nearby won't break it.

sellorio2 commented 1 year ago

I'm trying to investigate the main issue (at least as far as what's blocking me from using the addon). Which is the Interface Action Blocked issue. I would love any help/info you have about it.

So far this is what I have:

4x [ADDON_ACTION_FORBIDDEN] AddOn 'MegaMacro' tried to call the protected function 'UseAction()'. [string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480> [string "=[C]"]: in function UseAction' [string "@FrameXML/SecureTemplates.lua"]:364: in functionhandler' [string "@FrameXML/SecureTemplates.lua"]:690: in function <FrameXML/SecureTemplates.lua:672> [string "@FrameXML/SecureTemplates.lua"]:704: in function <FrameXML/SecureTemplates.lua:697> [string "@FrameXML/SecureTemplates.lua"]:746: in function SecureActionButton_OnClick' [string "@FrameXML/ActionButton.lua"]:89: in functionTryUseActionButton' [string "@FrameXML/ActionButton.lua"]:124: in function `ActionButtonDown'

sellorio2 commented 1 year ago

Bartender4 seems to work, more testing required but it looks like until further notice this addon only works with BT4 and maybe ElvUI (although we've had support issues on there too).

paulbuechner commented 1 year ago

I have collected some resources of other addons suffering from similar issues, which I linked at the top:

sellorio2 commented 1 year ago

I'm inclined to not merge this in since it will impact Bartender4 users (like myself) adversely and won't fix the critical issues with native ui.

For the range blinking. I was thinking the logic could be changed to cache the range test using the current range timer but set the action bar appearance every frame. Currently the timer controls both range test and ui changes which can cause conflicts with underlying logic.

paulbuechner commented 1 year ago

Sure! I agree that significant issues should be addressed at least until the next release. But if you're fine with the current features the PR is introducing, you could open a development branch, where we can merge this for now.

JoeLatte88 commented 1 year ago

could some of the issue be related to GameTooltip? I was looking through the code, noticed we were using GameTooltip and it's functions, then I went through some of the API changes which were part of 10.0.2 and beyond and noticed this in .0.2 updates:

Tooltip Changes - GameTooltip frames no longer expose native methods for retrieving or populating tooltip contents. Instead, a new C_TooltipInfo namespace has been added which provides APIs for retrieving structured data for use in tooltips and a new set of tooltip-related mixins have been added to populate tooltips from these APIs.

https://wowpedia.fandom.com/wiki/Patch_10.0.2/API_changes

paulbuechner commented 1 year ago

Hey @JoeLatte88, as far as I can tell these changes only apply when wanting to retrieve information from the tooltip and not when populating it. I think the API Changelog is a bit misleading there, as it states:

"[..] a new set of tooltip-related mixins have been added to populate tooltips from these APIs."

This means, that some additional Setters were introduced (not that existing ones were removed)