WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Cataclysm Beta (https://www.wowinterface.com/forums/forumdisplay.php?f=82)
-   -   Taint in Cataclysm is even worse! (https://www.wowinterface.com/forums/showthread.php?t=34823)

Cladhaire 09-13-10 05:38 AM

Quote:

Originally Posted by Vladinator (Post 206019)
I understand. I was just curious if there are ways to do this without affecting performance in a bad way.

Running code on top would in fact cause first the default UI to render it as it is supposed to, then my code would go over and for example consolidate buffs that I want to hide by force. This would reduce performance to a certain extend, it depends on many things tough.

Oh, you likely would not be able to do that, especially in combat, and still retain the ability to right-click to remove them. The post started initially about changing the timers. If you want to be able to filter or consolidate, then that's a different story entirely.

Quote:

Thanks for explaining in debt Cladhaire. Perhaps we can hope that the devs that work on the default UI may leave some ways for addons to customize certain things, for once having the consolidateBuffs local makes it harder to add or remove entries from it, I guess this being global would have saved us authors a lot of time and performance impact when you think about it. ^_^
It also exposes a vector into exploiting their system, I'm certain its intentional. Blizzard tends not to use locals recklessly. That all being said, I hope we'll see a template for auras in a future build.

yssaril 09-13-10 06:03 AM

speaking of taint,

is there any way to modify the world map (move,size,scale, add things to the dropdown, etc) that will not cause it to taint and consequently break during combat?

Also anyone know why it taints in the first place?

Cladhaire 09-13-10 06:32 AM

Mapster seems fully capable of doing these things to the map without causing taint..

yssaril 09-13-10 06:34 AM

Quote:

Originally Posted by Cladhaire (Post 206026)
Mapster seems fully capable of doing these things to the map without causing taint..

currently taints on beta (same with my addon YssBossLoot) neither of which taint on live

Cladhaire 09-13-10 06:37 AM

If there are things that work properly on live that don't work on Cataclysm, with appropriate code changes to ensure there aren't other bugs masking the problem, then they should be reported formally so we can get them resolved before Cataclysm is released. Feel free to write up a post explaining the issue and we'll attempt to get it resolved.

yssaril 09-13-10 06:43 AM

Quote:

Originally Posted by Cladhaire (Post 206028)
If there are things that work properly on live that don't work on Cataclysm, with appropriate code changes to ensure there aren't other bugs masking the problem, then they should be reported formally so we can get them resolved before Cataclysm is released. Feel free to write up a post explaining the issue and we'll attempt to get it resolved.

i posted http://forums.worldofwarcraft.com/th...386&sid=2000#0 on the wow cata UI & macro forums last week should i add anything to this?

also do you know why they seccured the POI stuff in the first place?

Vlad 09-13-10 07:07 AM

Hey look, my reply. =)

Cladhaire 09-13-10 07:14 AM

You can't 'wait' until Beta development is done, because at that point it will almost certainly too late. If you have a specific use-case, write a simple version of that addon that exhibits the problem and post the code. If you want, you can also start a thread here (I can't post on the US forums).

Problems can be reported using the feedback UI in the beta client, or you can try to post examples that show the problem. That's the best way to go about things.

Bluspacecow 09-13-10 09:23 PM

Quote:

Originally Posted by Cladhaire (Post 206034)
I can't post on the US forums).

Not to upbraid you here Cladhaire my dear but with the Cata beta open forums you can :) . In that thread is someone posting on an EU account. EU peeps can post on the US cata beta forums :)

You just need an active battle.net account. Oh wait ....

Vlad 09-14-10 04:01 AM

Another "crash the game" code:
Code:

CreateFrame("FontString", nil, BuffButton1)
Yay :3

Cladhaire 09-14-10 04:12 AM

That's not valid code, but it shouldn't crash the game. I assume you do know what you're supposed to be calling instead?

EDIT: I assume you sent the crash report off to Blizzard or at least reported this problem in-game? I'm not sure why it has anything to do with taint in Cataclysm (it doesn't).

Vlad 09-14-10 04:15 AM

CreateFontString(). But still, crashing is not good.

Cladhaire 09-14-10 04:22 AM

Yes. Please report the crash through the correct channels, not here =)

Vlad 09-14-10 04:32 AM

Quote:

Originally Posted by Cladhaire (Post 206158)
Yes. Please report the crash through the correct channels, not here =)

Each time I submit the crash report to the devs. :)

kbc8090 09-15-10 01:15 PM

First of all, I'm not very well versed in LUA code, but I know my way around somewhat. I tried using my current version of rBuff (from old RothUI) on Cataclysm and the anchor points were all messed up, but I ended up fixing that, and finally I noticed I couldn't cancel my buffs. Well after looking at the FrameXML on tekkub's github it really left me with no answers, since nBuff (From NeavUI) was working fine. Well there were some constants at the top of the rBuff file, specifically the following:

Code:

  BUFF_FLASH_TIME_ON = 0.8;
  BUFF_FLASH_TIME_OFF = 0.8;
  BUFF_MIN_ALPHA = 0.50;
  BUFF_MAX_DISPLAY = 50;

Well, after removing all of those, I seem to be able to cancel my buffs by right clicking the icon just fine.

I did add the following constant, and everything is still fine:

Code:

BUFFS_PER_ROW = 20;
Not sure if this helps anything, but it's currently working in the latest Cataclysm beta.

Here's the entirety of the LUA for my rBuff if anyone cares:

Code:

  BUFFS_PER_ROW = 20;
 
  local myscale = 1
  local bordertex = "Interface\\AddOns\\rActionButtonStyler\\media\\gloss"
  local castcol = { r = 0.9, g = 0.6, b = 0.4, }
  local bdc = { r = castcol.r*0.2, g = castcol.g*0.2, b = castcol.b*0.2, a = 0.93, }

  local addon = CreateFrame("Frame")
  local _G = getfenv(0)
 
  addon:SetScript("OnEvent", function(self, event, ...)
    local unit = ...;
    if(event=="PLAYER_ENTERING_WORLD")
    then
      BuffFrame:ClearAllPoints()
      TemporaryEnchantFrame:ClearAllPoints()
      TemporaryEnchantFrame:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -9, -10)
      TempEnchant2:ClearAllPoints()
      TempEnchant2:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -4, 0)
      TempEnchant3:ClearAllPoints()
      TempEnchant3:SetPoint('TOPRIGHT', TempEnchant2, 'TOPLEFT', -4, 0)
      BuffFrame:SetPoint("TOPRIGHT", TemporaryEnchantFrame, "TOPRIGHT", -9, -10)
      BuffFrame:SetScale(myscale)
      TemporaryEnchantFrame:SetScale(myscale)
      addon:runthroughicons()
     
    end
    if ( event == "UNIT_AURA" ) then
      if ( unit == PlayerFrame.unit ) then
        addon:runthroughicons()
      end
    end
  end)
 
  function addon:runthroughicons()
    local i = 1
    while _G["BuffButton"..i]
    do
      addon:checkgloss("BuffButton"..i,1)
      i = i + 1
    end
    i = 1
    while _G["DebuffButton"..i]
    do
      addon:checkgloss("DebuffButton"..i,2)
      i = i + 1
    end
    i = 1
    while _G["TempEnchant"..i]
    do
      addon:checkgloss("TempEnchant"..i,3)
      i = i + 1
    end
  end

  function addon:checkgloss(name,icontype)
    local b = _G[name.."Border"]
    local i = _G[name.."Icon"]
    local f = _G[name]
    local c = _G[name.."Gloss"]
    local ff = _G[name.."Duration"]
   
    ff:SetFont(NAMEPLATE_FONT, 11, "THINOUTLINE")
    ff:ClearAllPoints()
    ff:SetPoint("TOP",f,"BOTTOM",0,7)

    if not c then

      local fg = CreateFrame("Frame", name.."Gloss", f)
      fg:SetAllPoints(f)

      local t = f:CreateTexture(name.."GlossTexture","BACKGROUND")
      t:SetTexture(bordertex)
      t:SetPoint("TOPLEFT", fg, "TOPLEFT", -0, 0)
      t:SetPoint("BOTTOMRIGHT", fg, "BOTTOMRIGHT", 0, -0)
     
      i:SetTexCoord(0.1,0.9,0.1,0.9)
      i:SetPoint("TOPLEFT", fg, "TOPLEFT", 2, -2)
      i:SetPoint("BOTTOMRIGHT", fg, "BOTTOMRIGHT", -2, 2)
     
    end

    local tex = _G[name.."GlossTexture"]   
   
    if icontype == 2 and b then
      local red,green,blue = b:GetVertexColor();   
      tex:SetTexture(bordertex)
      tex:SetVertexColor(red*0.5,green*0.5,blue*0.5,bdc.a)
    elseif icontype == 3 and b then
      tex:SetTexture(bordertex)
      tex:SetVertexColor(0.5,0,0.5,bdc.a)
    else
      tex:SetTexture(bordertex)
      tex:SetVertexColor(bdc.r,bdc.g,bdc.b,bdc.a)
    end 
   
    if b then b:SetAlpha(0) end
 
  end

  SecondsToTimeAbbrev = function(time)
    local hr, m, s, text
    if time <= 0 then text = ""
    elseif(time < 3600 and time > 60) then
      hr = floor(time / 3600)
      m = floor(mod(time, 3600) / 60 + 1)
      text = format("%dm", m)
    elseif time < 60 then
      m = floor(time / 60)
      s = mod(time, 60)
      text = (m == 0 and format("%ds", s))
    else
      hr = floor(time / 3600 + 1)
      text = format("%dh", hr)
    end
    return text
  end
 
  addon:RegisterEvent("UNIT_AURA");
  addon:RegisterEvent("PLAYER_ENTERING_WORLD");


Vlad 09-15-10 03:02 PM

I see it edits the global SecondsToTimeAbbrev function. This would affect all addons (inc. blizz) using it and that's not nice to hijack global functions -its not a rule but a rule of thumb, recommendation of you will. :<


All times are GMT -6. The time now is 09:07 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI