Macro Changes
The macro conditional [bonusbar] seems to be non-functional as of right now. Not sure if this is intended and/or if there is a replacement.
|
A further clarification, it seems [bonusbar:5] is no longer functional.
[vehicleui] works as a replacement for vehicles, but this does not help with possess states. If anyone has a solution for possess (Dominate Mind (aka Mind Control)) or for the few instances that look like a vehicle UI but are really a possess state, I am all ears :) |
The action page for possession is now 12 but [bonusbar:6] doesn't work. Possession is still handled like a vehicle for the most part though so maybe they need to update the macro conditions for vehicles or add a new one for possess.
|
Actually they changed the complete ActionBarController.
BonusBar and VehicleBar are gone. Instead they introduced a bar called OverrideBar. The problem that I'm having with the default buttons is that the bar does not swap anymore. When entering a vehicle the actionbar1 buttons stay the same and buttons are added to the overridebar. What triggers the swap is the ActionBarController_UpdateAll() function that is triggered on event. Lua Code:
A function that returns the correct pageid is Lua Code:
But how to call that function onstate and how to make the statedriver trigger onevent? :) My problem is described here: http://www.wowinterface.com/forums/s...649#post257649 I checked the state driver: https://github.com/Ketho/wow-ui-sour...river.lua#L184 I have not enough knowledge of the secure state driver but maybe there are some events missing? Like: UPDATE_VEHICLE_ACTIONBAR or UPDATE_OVERRIDE_ACTIONBAR To make my bar work I need to change the actionpage attribute on the buttons. Of course securly and for all the given events. I have no clue how to do it. I'm not sure but I think I finally understood the state driver. There very few stateids like "visibility" that have pre-defined functions. That one show/hides a frame based on the macro condition. All other stateids define the function called via self:SetAttribute('_onstate-STATEID', ([[FUNCTION]])) But if there is no event that updates the attribute (because the event not being registered to the state driver manager) it will not work. Lua Code:
I know that the 3rd argument is the result of any kind of macro condition. The getBarPage() function will deliver the pageid that could be used to update the actionpage of all the buttons provided. I might be wrong here but I think that UPDATE_VEHICLE_ACTIONBAR and UPDATE_OVERRIDE_ACTIONBAR are missing as registered events on the SecureStateDriverManager. That's why there is no update fired once entering a vehicle. (Because that is triggered by new events which have not been added yet to the statedrivermanager) In WoW 4.3 the VehicleBar was loaded to the BonusActionBar aswell. That was removed and that change is not reflected by the state driver. Not sure but are we allowed to add events to the statedriver manager manually? That way doing this could be the solution: Lua Code:
|
Quote:
I have been looking around to see if there is a way to dump macro conditionals, but have not found anything yet. You may be onto something in regards to the events needing to be added. I have not really examined the secure state code or the restricted environment code too much with the beta, because for my needs almost everything is working save for possess. Though, I have not tried anything with the extra action button either. And if it were not for the existing [vehicleui] conditional, there seems to be no way for addons to hook or mimic the new override action bar scheme (without addon breaking taint) |
Quote:
Quote:
Code:
RegisterStateDriver(self, "page", 1) Code:
RegisterStateDriver(self, "page", "[vehicleui] 12; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10; [bonusbar:5] 11; 1") Here is a stripped down version of ActionBarController_UpdateAll that shows what states we can determine in a secure manner and which ones we cannot: Code:
function ActionBarController_UpdateAll() |
My kingdom for:
|
You don't need HasBonusActionBar() since GetBonusBarOffset() is in the RestrictedEnvironment already and returns 0 if there isn't a bonus bar.
|
Quote:
My want is simple, a macro conditional for possess that I can use with RegisterStateDriver(). I'd rather not have to get more complicated than that :) |
Can SecureHandlerWrapScript help us out? I would say no because the macro condition would not fire?!
http://www.wowinterface.com/forums/s...ad.php?t=43341 http://books.google.de/books?id=tOSD...Script&f=false |
Quote:
Also, this reminds me: WTB macro states for the ExtraActionBar :) |
Quote:
|
All times are GMT -6. The time now is 10:58 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI