Dominos

Dominos

19M Downloads

Dominos shows up when the pet battle ui is up

Tuller opened this issue · 13 comments

commented

So, when in a pet battle, Dominos will show up, even as the pet battle ui is up as well. There's two ways I could handle this:

  • Hide dominos (requires repositioning the micro menu buttons in a secure manner)
  • Replace the pet battle ui with a completely custom one.

I'm currently leaning towards doing the former, and providing the same option for the vehicle ui.

commented

Well, further testing brought me back to the starting point. Since this week, Mists crash with a general protection failure if the Dominos frames are added to FRAMELOCK_STATES.PETBATTLES. Other addons like XPBarNone and Chocolate Bar do not cause the same issue.

So I'm back with not doing pet battle for now.

commented

OK, took your advise and added [petbattle]hide;show in the state of every bars that I want out of the way during pet battle. This work find so I'm guessing it will be easy add global option or one per bar to hide during pet battle.

I still have to do the ugly hack to get the menu button to behave but this doesn't cause any GPF when existing.

commented

Yeah, my intention is to give every bar (minus the menu one) a showstate
that by default hides them when the pet interface is out. It’ll likely be
the same deal with the vehicle ui, too.

commented

I've implemented my first pass at the secure implementation.

commented

I did a pull this morning and the latest version of Dominos (247c530) create the same GPF I had when I played with the FRAMELOCK_STATES.PETBATTLES and Dominos frames when I logout.

I've tested with Dominos and Dominos_Config as the only addons that I load. Same issue with my Monk and my Rogue so I guess it has nothing to do with the new class. I'm using the 32 bits version of the client on Windows XP.

I've reverted the commits one by one and the issue start with commit e9f4194 2012.08.04 00:35:18 "First pass at implementing pet battle support.

Further testing showed me that it was because of the existing Dominos.lua file in the SaveVariables. If I erase the file and start from scratch, I get no GPF on exit. I tested again by just copying my DominosVersion = "4.3.4" file from live realm and I get the problem again.

In conclusion, there might be something wrong with save file conversion that include showstates values.

Sorry for the long winded message.

commented

I played a while on Mists with the latest Dominos and got the problem of the vanishing menu buttons again. This time it happened whit the Vehicule bar when I use an harvester in Westfal. After exiting the vehicule, the menu were nowhere to be seen and I found no way to get them.

Do you want me to open a separate issue for this?

commented

GPFs should be sent to Blizzard, as they're issues on their end. There's a dedicated posting here:
http://us.battle.net/wow/en/forum/topic/6246865570

The vehicle thing can stay here.

commented

As an update, at least one user is reporting that the crash issue has been resolved for him/her

commented

I've been experimenting and for what it's worth, if you add a named frame to FRAMELOCK_STATES.PETBATTLES with a value of "hidden", the AddFrameLock("PETBATTLES") that is call when the battle start will hide the frame and show it again after the combat.

Some examples :
FRAMELOCK_STATES.PETBATTLES.XPBarNoneFrame = "hidden"
FRAMELOCK_STATES.PETBATTLES.ChocolateBar1 = "hidden"
FRAMELOCK_STATES.PETBATTLES.ChocolateBar2 = "hidden"

Dominos user unnamed frames so I could not test with it. In fact, I think you even overwrite Hide() and Show() so there might be some creative stuff to be made.

commented

With the latest beta patch, we've gained the following macro conditionals:
[petbattle], [possessbar], [overridebar], [extrabar]

commented

I'm pretty sure that you will find a much clever and cool way to do it but here is what I did to make the Dominos action bar hide when there is a pet battle.

In Frame:Create(id) I replaced the following line.

-- local f = self:Bind(CreateFrame('Frame', nil, UIParent))
local f = self:Bind(CreateFrame('Frame', "DominosFrame"..tostring(id), UIParent))

In ActionBar:New(id), I've added this just before the end of the function

-- Patch to try to hide the actions bars when the Pet Battle is on
_G.FRAMELOCK_STATES.PETBATTLES[f:GetName()] = "hidden"

return f
end

So far, this works great for the action bars. My only problem remaining is that the microMenu gets hidden and doesn't reappear even though I never did anything to make it go away. It's like on of the Blizz overriding function is not compatible with whatever you have done in Dominos.

commented

I "solve" the issue with the menu buttons with the following horrible hack:

in Dominos:HideBlizzard(), I've added:

-- Durty deeds done dirt cheap: hack to prevent the microbutton from going away after Pet Battle
_G.UpdateMicroButtonsParent = function() end
_G.MoveMicroButtons = function() end

I'm pretty sure you'll find a better way to do this but in the mean time, I can Pokemon all day long without problem. :-)

commented

I think I've resolved the vanishing menu buttons (hopefully).