• 0

    posted a message on Packager and String substitution in the changelog?

    Hi "simple" question, i cannot find any answers online, but If i want the Changelog to include substitution strings, is that impossible because a manual Changelog is a pre-commit thing? I am thinking i want the Changelog to use the commit hash from the tagged commit and not the one post building? But as i can see from my uploads the version you can download doesn't contain substituted text either. So I was wondering... is it possible to perhaps mark the changelog as .lua not include it into the TOC and then use the .lua as any basic text and set it to -markup-type: markdown? It clearly works to use a native .md file so is it possible to use any text file, i.e. .lua? or what would happen to that? Or is it completely impossible because the changelog is hooked before packing?

    I want to have something like the attached images.

    Posted in: Updaters
  • 0

    posted a message on UIParent Frame Manager updates frames and reanchor to uiparent undesireably

    I have now found a fix that works, but its not perfect. It turns out that either its a 3 panel issue or its an out of screen on ShowUIPanel issue, or maybe even both. 

    In either case, Closing the Gossip frame by 

    HideUIPanel(GossipFrame);

     and then adding a delay using the C_Timer allows me to close the problematic frame, before opening the CollectionsJournal this, just about allows me to then move the PetStableFrame to its hidden position without hiding it, which makes the UI function as it should. If other People have this issue consider the HideUIPanel(GossipFrame) + C_Timer . My solution looks like this:

    hooksecurefunc(PetStableFrame, "Show", function()
    .
    .
    .
    .
         PetStableFrame:SetPoint("TOPLEFT",1050,-154);
         HideUIPanel(GossipFrame);
    	
         C_Timer.After(1.5, function()
    		    ShowUIPanel(CollectionsJournal)
         end);
    
    end);

     

    Posted in: AddOn HELP!
  • 0

    posted a message on UIParent Frame Manager updates frames and reanchor to uiparent undesireably

    Hello coders, I am developer and maintainer for the iStableMaster Addon, and i have a prepatch issue i would love to get a bit of help with.

    I have this issue where I try to keep both the CollectionsJournal and the StableMasters PetStableFrame to open at the same time, while interacting with the stablemaster, however, i have this issue that the PetStableFrame now force closes itself after the first time I close PetStableFrame, And updating the "UILayoutPanel-allowOtherPanels" set to 1 every frame does nothing either. Somehow, the new HUD forceupdating positions doesn't allow me to take control of the frames, and it closes the PetStableFrame IMMEDIATELY everytime i speak to the stablemaster. This used to work with no issues until 10.0.0 I don't want my addon users to have to reload the UI every time they need to make changes to their Active Pets. So I need to find a solution. the code i usually would use is this:

    hooksecurefunc(PetStableFrame,"Show", function()
    
    CollectionsJournal:SetAttribute("UIPanelLayout-pushable", 1);
    CollectionsJournal:SetAttribute("UIPanelLayout-allowOtherPanels", 1);
    PetStableFrame:SetAttribute("UIPanelLayout-pushable", 1);
    PetStableFrame:SetAttribute("UIPanelLayout-allowOtherPanels", 1);
    
    ShowUIPanel(CollectionsJournal);
    
    end);
    

     However this is still only works the first time, then the PetStableCloses anyway. I have tried with lines like: 

    PetStableFrame.ignoreFramePositionManager = true;
    PetStableFrame:SetAttribute("panel-show", 1);

     But these have not had an effect either.

    This is not the first Addon, where i have had the pleassure of making hacky solutions because the new EditorMode is overriding basic control on a frame update basis. Anyone with similar issues or experiences who has an answer is most welcome to share thanks in advance.



    Posted in: AddOn HELP!
  • 0

    posted a message on Need help/ input: Weird thing happens when i stack multiple action buttons - at one point the keybinds and buttons get mixed up.

    In reply to Ketho17:

     Thanks for the tip, I have an idea of the issue rooted in stacking bars in Z that is in front of each other, will make them go to "page mode"

    This gave me som differnet issues, as i could easily change page out of combat, the method ChangeActionBar(int); is restricted to NON-COMBAT calls.

    However, through some digging at different sites the last couple of days, i came across a thread with someone trying to do the same thing. Unclear if he succeeded, but in this thread there was a reference to an old outdated AddOn from patch 5.2, called Paging, It turns out this addon once i updated it with the Current API variables and methods, works exactly like i want, even with my existing bits. There Answer is to look into the SecureHandlerTemplates,  create a frame, and inherit from that template, then use a frame:SetAttribute("state-paging", SecureCmdOptionParse("[mod:alt]2")); if you whish to get to page 2 on presssing alt, and if its a while pressed you need to set the attribute again with "[mod:]1" this will return the page to page 1 if it isnt pressed. Its unclear to me at this point, but i suspect RegisterAttributeDriver(PagingFrame, "state-paging", "[mod:alt]2"); or what ever condition and action is the intended one must follow SetAttribute eachtime it has to be set.


    I will update here once with full code and explanation once I figure it out, as i understand the struggle and frustration it can be to find someone who found the answer but didn't share it :). 

    Posted in: AddOn HELP!
  • 0

    posted a message on Need help/ input: Weird thing happens when i stack multiple action buttons - at one point the keybinds and buttons get mixed up.

    Hi, for the first time in ages im back to playing wow, but this time i am also building myself my own 100% custom interface... or so i thought i was, I have got an XP bar done that i am satisfied with, and I had some issues with the way i created action buttons and not having them show any cooldowns etc. So i decided to just move around with Blizzards buttons, however... things are not going as planned. I can easily get the buttons to where i want them to with ClearAllPoints() then move them to the spot i like with a new SetPoint(), but then things start to get complicated, I want only 5 Action Buttons visible at one time! It is essential for my clean look! So i use modifiers Shift, Control and Alt, and i can get the following effect just fine:
    See Attatchments 1-3,

    HOWEVER.... now it becomes really strange when i do the same a 3rd time... this weirdoshizle happens:

    See attatchments 1 and  4
    The ActionButton1 through 5 has now hijacked the hotkeys alt Q through alt F! And the Buttons that were supposed to be different are nowhere to be seen.

    Now there is no reason for this to happen but it doesnt matter which extra action bar i take the buttons from, when I overlap with the original bar a third time it always goes badly.

    Im a bit lost to be honest what to do next with this thing, and was hoping some of you could help :)

    Note that loop based or single run based methods result in the same things.

    Also note this swapping wont work in combat, i presume i have to hook a method or two to override an actionbar lock.

    Code used to move:

    function NoLoopMover(a,b,c,d,e,barnum)
        if(barnum == 2)then
            if(a ~= nil)then
                _G["MultiBarBottomLeftButton"..a]:SetParent(framePage2,"CENTER")
                _G["MultiBarBottomLeftButton"..a]:ClearAllPoints()
                _G["MultiBarBottomLeftButton"..a]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()+4) - (_G['btn']:GetWidth()+4),0)
            end
            if(b ~= nil)then
                _G["MultiBarBottomLeftButton"..b]:SetParent(framePage2,"CENTER")
                _G["MultiBarBottomLeftButton"..b]:ClearAllPoints()
                _G["MultiBarBottomLeftButton"..b]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*2+4*2) - (_G['btn']:GetWidth()+4),0)
            end
            if(c ~= nil)then
                _G["MultiBarBottomLeftButton"..c]:SetParent(framePage2,"CENTER")
                _G["MultiBarBottomLeftButton"..c]:ClearAllPoints()
                _G["MultiBarBottomLeftButton"..c]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*3+4*3) - (_G['btn']:GetWidth()+4),0)
            end
            if(d ~= nil)then
                _G["MultiBarBottomLeftButton"..d]:SetParent(framePage2,"CENTER")
                _G["MultiBarBottomLeftButton"..d]:ClearAllPoints()
                _G["MultiBarBottomLeftButton"..d]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*4+4*4) - (_G['btn']:GetWidth()+4),0)
            end
            if(e ~= nil)then
                _G["MultiBarBottomLeftButton"..e]:SetParent(framePage2,"CENTER")
                _G["MultiBarBottomLeftButton"..e]:ClearAllPoints()
                _G["MultiBarBottomLeftButton"..e]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*5+4*5) - (_G['btn']:GetWidth()+4),0)
            end
        elseif(barnum == 1)then
            if(a ~= nil) then
                _G["ActionButton"..a]:SetParent(frame,"CENTER")
                _G["ActionButton"..a]:ClearAllPoints()
                _G["ActionButton"..a]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()+4) - (_G['btn']:GetWidth()+4),0)
            end
            if(b ~= nil)then
                _G["ActionButton"..b]:SetParent(frame,"CENTER")
                _G["ActionButton"..b]:ClearAllPoints()
                _G["ActionButton"..b]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*2+4*2) - (_G['btn']:GetWidth()+4),0)
            end
            if(c ~= nil)then
                _G["ActionButton"..c]:SetParent(frame,"CENTER")
                _G["ActionButton"..c]:ClearAllPoints()
                _G["ActionButton"..c]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*3+4*3) - (_G['btn']:GetWidth()+4),0)
            end
            if(d ~= nil)then
                _G["ActionButton"..d]:SetParent(frame,"CENTER")
                _G["ActionButton"..d]:ClearAllPoints()
                _G["ActionButton"..d]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*4+4*4) - (_G['btn']:GetWidth()+4),0)
            end
            if(e ~= nil)then
                _G["ActionButton"..e]:SetParent(frame,"CENTER")
                _G["ActionButton"..e]:ClearAllPoints()
                _G["ActionButton"..e]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*5+4*5) - (_G['btn']:GetWidth()+4),0)
            end
        elseif(barnum == 3)then
                
            if(a ~= nil)then
                _G["MultiBarBottomRightButton"..a]:SetParent(frame,"CENTER")
                _G["MultiBarBottomRightButton"..a]:ClearAllPoints()
                _G["MultiBarBottomRightButton"..a]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()+4) - (_G['btn']:GetWidth()+4),0)
            end
            if(b ~= nil)then
                _G["MultiBarBottomRightButton"..b]:SetParent(frame,"CENTER")
                _G["MultiBarBottomRightButton"..b]:ClearAllPoints()
                _G["MultiBarBottomRightButton"..b]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*2+4*2) - (_G['btn']:GetWidth()+4),0)
            end
            if(c ~= nil)then
                _G["MultiBarBottomRightButton"..c]:SetParent(frame,"CENTER")
                _G["MultiBarBottomRightButton"..c]:ClearAllPoints()
                _G["MultiBarBottomRightButton"..c]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*3+4*3) - (_G['btn']:GetWidth()+4),0)
            end
            if(d ~= nil)then
                _G["MultiBarBottomRightButton"..d]:SetParent(frame,"CENTER")
                _G["MultiBarBottomRightButton"..d]:ClearAllPoints()
                _G["MultiBarBottomRightButton"..d]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*4+4*4) - (_G['btn']:GetWidth()+4),0)
            end
            if(e ~= nil)then
                _G["MultiBarBottomRightButton"..e]:SetParent(frame,"CENTER")
                _G["MultiBarBottomRightButton"..e]:ClearAllPoints()
                _G["MultiBarBottomRightButton"..e]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*5+4*5) - (_G['btn']:GetWidth()+4),0)
            end
            elseif(barnum == 4)then
                if(a ~= nil)then
                    _G["MultiBarBottomLeftButton"..a]:SetParent(framePage2,"CENTER")
                    _G["MultiBarBottomLeftButton"..a]:ClearAllPoints()
                    _G["MultiBarBottomLeftButton"..a]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()+4) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(b ~= nil)then
                    _G["MultiBarBottomLeftButton"..b]:SetParent(framePage2,"CENTER")
                    _G["MultiBarBottomLeftButton"..b]:ClearAllPoints()
                    _G["MultiBarBottomLeftButton"..b]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*2+4*2) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(c ~= nil)then
                    _G["MultiBarBottomLeftButton"..c]:SetParent(framePage2,"CENTER")
                    _G["MultiBarBottomLeftButton"..c]:ClearAllPoints()
                    _G["MultiBarBottomLeftButton"..c]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*3+4*3) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(d ~= nil)then
                    _G["MultiBarBottomLeftButton"..d]:SetParent(framePage2,"CENTER")
                    _G["MultiBarBottomLeftButton"..d]:ClearAllPoints()
                    _G["MultiBarBottomLeftButton"..d]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*4+4*4) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(e ~= nil)then
                    _G["MultiBarBottomLeftButton"..e]:SetParent(framePage2,"CENTER")
                    _G["MultiBarBottomLeftButton"..e]:ClearAllPoints()
                    _G["MultiBarBottomLeftButton"..e]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*5+4*5) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
            elseif(barnum == 5)then
                if(a ~= nil)then
                    _G["MultiBarLeftButton"..a]:SetParent(framePage2,"CENTER")
                    _G["MultiBarLeftButton"..a]:ClearAllPoints()
                    _G["MultiBarLeftButton"..a]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()+4) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(b ~= nil)then
                    _G["MultiBarLeftButton"..b]:SetParent(framePage2,"CENTER")
                    _G["MultiBarLeftButton"..b]:ClearAllPoints()
                    _G["MultiBarLeftButton"..b]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*2+4*2) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(c ~= nil)then
                    _G["MultiBarLeftButton"..c]:SetParent(framePage2,"CENTER")
                    _G["MultiBarLeftButton"..c]:ClearAllPoints()
                    _G["MultiBarLeftButton"..c]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*3+4*3) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(d ~= nil)then
                    _G["MultiBarLeftButton"..d]:SetParent(framePage2,"CENTER")
                    _G["MultiBarLeftButton"..d]:ClearAllPoints()
                    _G["MultiBarLeftButton"..d]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*4+4*4) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end
                if(e ~= nil)then
                    _G["MultiBarLeftButton"..e]:SetParent(framePage2,"CENTER")
                    _G["MultiBarLeftButton"..e]:ClearAllPoints()
                    _G["MultiBarLeftButton"..e]:SetPoint("CENTER", "myButton", (_G['btn']:GetWidth()*5+4*5) - (_G['btn']:GetWidth()+4),(_G['btn']:GetHeight()+4))
                end  
                
        end    
    end

     

    Posted in: AddOn HELP!
  • To post a comment, please or register a new account.