Download
(167 Kb)
Download
Updated: 11-08-10 03:33 PM
Updated:11-08-10 03:33 PM
Created:02-15-09 12:22 AM
Downloads:41,243
Favorites:227
MD5:
SBF 3.2 Beta  Popular! (More than 5000 hits)
Version: 3.2.3
by: Satrina, father0fnine
SBF has a maintainer!
I have to say, I am amazed by the number of people who just kept plugging along. It makes me feel bad that I do not have the time to keep working on this myself - you guys are all awesome! The good news is that a new maintainer has been found. Meet father0fnine, who is taking over SBF. I'm sure you'll all show him as much love as you showed me all these years
3.2.3
+ When clicking off buffs, the one you meant to dismiss should be dismissed
+ ButtonFacade backgrounds and gloss should be hidden/shown correctly now
- Names still do not show in interactive frames
- Sorting for interactive frames is not yet implemented

3.2.2
Fix two errors on load/zone

3.2.1
Mostly cosmetic fixes
Spell tab should be happy now
Archived Files (4)
File Name
Version
Size
Author
Date
3.2.2
167kB
Satrina
11-07-10 11:54 AM
3.2.1
167kB
Satrina
11-06-10 06:31 AM
3.2.0
166kB
Satrina
11-01-10 01:35 PM
Released!
168kB
Satrina
03-29-09 08:23 PM


Post A Reply Comment Options
Unread 05-05-11, 06:06 PM  
galen2
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
Great! i just arrive home and see all code... give me a few mintes to do changes and i will post if works.

EDIT: I do all changes, now i see icon on interactive frames! but one problem, i see borders on all buff frame, i think that the problems itīs i have to check "Do not colour buttonfacade borders" but when i check the option and exit SBF config option do nothing, when i come back to config option itīs unchecked.

I try to disable skin to this frame directly from masque and when reloadui problem solved.

Screenshot http://imageshack.us/photo/my-images/585/wowscrnshot050611024358.jpg/

Raistlan, many many thanks for your work! now SBF have many bugs but itīs working with 4.1
Last edited by galen2 : 05-05-11 at 07:19 PM.
galen2 is offline Report comment to moderator  
Reply With Quote
Unread 05-05-11, 01:41 PM  
Raistlan
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 12
Uploads: 1
A change to see the icons on interactive frames [this will not use ButtonFacade nor Masque borders on the interactive frames' icons; you can turn off the standard SBF icon border in the icon tab for an interactive frame, if you wish]:

In sbf.xml:
Line 244 is:
Code:
	<Button name="SBFSecureBuffIconTemplate" inherits="SecureActionButtonTemplate" frameStrata="LOW" hidden="true" virtual="true" enableMouse="true">
Change hidden="true" to hidden="false".

In sbfelements.lua:
Change line 4:
Code:
local LBF= LibStub and LibStub("LibButtonFacade", true)
To this block:
Code:
local skinnerLib = nil
local skinnerName = nil

-- Masque support
if IsAddOnLoaded("Masque") then
  skinnerLib = LibMasque("Button")
  skinnerName = "Masque"
-- ButtonFacade support
elseif IsAddOnLoaded("ButtonFacade") then
  skinnerLib = LibStub("LibButtonFacade", true)
  skinnerName = "ButtonFacade"
end
Change all instances of LBF: to skinnerLib:

In sbfframe.lua:
Find this block starting at line 747:
Code:
local findBorderColour = function(frameName)
  if sbf.bfModule then
    skin = sbf.db.profile.buttonFacade[frameName]
    if skin then
      if skin.colours then
        if skin.colours.Normal then
          return skin.colours.Normal
        end
      end
      if skin.skin then
        if sbf.bfModule.skins[skin.skin] then
          if sbf.bfModule.skins[skin.skin].Normal then
            if sbf.bfModule.skins[skin.skin].Normal.Color  then
              return sbf.bfModule.skins[skin.skin].Normal.Color      
            end
          end
        end
      end
    end
  end
  return white
end
To this block:
Code:
local findBorderColour = function(frameName)
  if sbf.bfModule then
    skin = sbf.db.profile.buttonFacade[frameName]
    if skin then
      if skin.colours then
        if skin.colours.Normal then
          return skin.colours.Normal
        end
      end
      if skin.skin then
        if sbf.bfModule.skins then
          if sbf.bfModule.skins[skin.skin] then
            if sbf.bfModule.skins[skin.skin].Normal then
              if sbf.bfModule.skins[skin.skin].Normal.Color  then
                return sbf.bfModule.skins[skin.skin].Normal.Color      
              end
            end
          end
        end
      end
    end
  end
  return white
end

local SetNormalVertexColor = function(Button, r, g, b, a)
  local Region = skinnerLib:GetNormalTexture(Button)
  if Region then Region:SetVertexColor(r, g, b, a) end
end
Change lines 375 - 377:
Code:
  if self.bfModule then
    self.bfModule:SetupGroup(frame._var.general.frameName)
  end
To this block:
Code:
  if not frame._var.general.interactiveFrame and self.bfModule then
    self.bfModule:SetupGroup(frame._var.general.frameName)
  end
Change line 2:
Code:
local lbf = LibStub("LibButtonFacade", true)
To this block:
Code:
local skinnerLib = nil
local skinnerName = nil

-- Masque support
if IsAddOnLoaded("Masque") then
  skinnerLib = LibMasque("Button")
  skinnerName = "Masque"
-- ButtonFacade support
elseif IsAddOnLoaded("ButtonFacade") then
  skinnerLib = LibStub("LibButtonFacade", true)
  skinnerName = "ButtonFacade"
end
Delete the characters lbf: the three times that they appear in the file.

In sbfsavedvar.lua:
Change line 74:
Code:
  if IsAddOnLoaded("ButtonFacade") then
To:
Code:
  if IsAddOnLoaded("ButtonFacade") or IsAddOnLoaded("Masque") then
For space, I am not repeating the change to sbfbuttonfacade.lua from my previous post.

A seperate change for 4.1, in sbfcombatlog.lua:
Change line 28 from:
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
to:
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
Raistlan is offline Report comment to moderator  
Reply With Quote
Unread 05-05-11, 08:19 AM  
galen2
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
Well, no lua errors with this change, masque found SBF and now i can change skin icons, great work Raistlan!

Could you perhaps do something to fix invisible icons on interactive frame? hehe

Jenski: I use d<30 and d>30 and works
Last edited by galen2 : 05-05-11 at 08:25 AM.
galen2 is offline Report comment to moderator  
Reply With Quote
Unread 05-05-11, 07:37 AM  
Raistlan
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 12
Uploads: 1
Originally posted by galen2
I get

..\AddOns\SatrinaBuffFrame\SBFFrame.lua line 757:
attempt to index field 'skins' (a nil value)

with copy&paste the code that you post
Yes, I'm debugging now.

Edit: Okay, Masque removed some functionality that SBF was using. In SBFFrame.lua, replace lines 757 through 763:
Code:
        if sbf.bfModule.skins[skin.skin] then
          if sbf.bfModule.skins[skin.skin].Normal then
            if sbf.bfModule.skins[skin.skin].Normal.Color  then
              return sbf.bfModule.skins[skin.skin].Normal.Color      
            end
          end
        end
with this:
Code:
        if sbf.bfModule.skins then
          if sbf.bfModule.skins[skin.skin] then
            if sbf.bfModule.skins[skin.skin].Normal then
              if sbf.bfModule.skins[skin.skin].Normal.Color  then
                return sbf.bfModule.skins[skin.skin].Normal.Color      
              end
            end
          end
        end
Last edited by Raistlan : 05-05-11 at 07:54 AM.
Raistlan is offline Report comment to moderator  
Reply With Quote
Unread 05-05-11, 07:04 AM  
galen2
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
I get

..\AddOns\SatrinaBuffFrame\SBFFrame.lua line 757:
attempt to index field 'skins' (a nil value)

with copy&paste the code that you post
galen2 is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 06:17 PM  
Raistlan
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 12
Uploads: 1
Re: ButtonFacade Fix

Originally posted by upyursh
So BF had been updated and the way SBF hooks into it breaks SBF unfortunately.

Given this project is in transition try this to get it working (if not looking nice)

Open SBFButtonFacade.lua

Find
Code:
if IsAddOnLoaded("ButtonFacade") then
and replace it with

Code:
-- if IsAddOnLoaded("ButtonFacade") then
if 1 == 2 then
Will ensure SBF doesn't try load BF at all



Upy
ButtonFacade's latest version has been renamed Masque. To enable SBF to work with ButtonFacade and Masque, replace SBFButtonFacade.lua with this (I haven't tested this with ButtonFacade, but it should still work):
Code:
local skinnerLib = nil
local skinnerName = nil

-- Masque support
if IsAddOnLoaded("Masque") then
  skinnerLib = LibMasque("Button")
  skinnerName = "Masque"
-- ButtonFacade support
elseif IsAddOnLoaded("ButtonFacade") then
  local bf = LibStub("AceAddon-3.0"):GetAddon("ButtonFacade")
  skinnerLib = LibStub("LibButtonFacade")
  skinnerName = "ButtonFacade"
end

if skinnerName then
  local SBFBF = {}
  local bfGroup = nil

  -- arg,SkinID,Gloss,Backdrop,Group,Button,Colors
  SBFBF.SkinCallback = function(self, skin, gloss, backdrop, frameName, _, colours)
    if not frameName or not SBFBF.db[frameName] then 
      return 
    end
    SBFBF.db[frameName].skin = skin
    SBFBF.db[frameName].gloss = gloss
    SBFBF.db[frameName].backdrop = backdrop
    SBFBF.db[frameName].colours = colours
    SBF:ForceAll()
  end

  SBFBF.SetupGroups = function(self)
    for k,v in pairs(SBF.frames) do
      self:SetupGroup(v._var.general.frameName)
    end
  end
  
  SBFBF.SetupGroup = function(self, frameName, vars)
    local btndata
    local frameGroup = skinnerLib:Group("SBF", frameName)
    local f = SBF:FindFrame(frameName)
    if f.slots then
      for index,slot in ipairs(f.slots) do
        if slot and slot.icon then
          if not slot.icon.bfBtndata then
            slot.icon.bfBtndata = {}
          end
          frameGroup:AddButton(slot.icon, slot.icon.bfBtndata)
        end
      end
    end
    if not SBFBF.db[frameName] then
      if not vars then
        SBFBF.db[frameName] = { skin = "Blizzard", gloss = 0, backdrop = false, colours = {}, }
      else
        SBFBF.db[frameName] = { skin = vars.skin, gloss = vars.gloss, backdrop = vars.backdrop, colours = vars.colours, }
      end
    end
    frameGroup:Skin(SBFBF.db[frameName].skin, SBFBF.db[frameName].gloss, SBFBF.db[frameName].backdrop, SBFBF.db[frameName].colours)
  end

  SBFBF.UndoGroup = function(self, frameName, delete)
    local frameGroup = skinnerLib:Group("SBF", frameName)
    if frameGroup then
      local f = SBF:FindFrame(frameName)
      if f.slots then
        for index,slot in ipairs(f.slots) do
          if slot and slot.icon then
            frameGroup:RemoveButton(slot.icon)
          end
        end
      end
      if delete then
        SBFBF.db[frameName] = nil
        bfGroup:RemoveSubGroup(frameGroup)
      end
    end
  end
  
  SBFBF.HasGroups = function(self)
    local g = skinnerLib:Group("SBF")
    if g and g.SubList then
        return (#g.SubList > 0)
    end
    return false
  end
  
  SBFBFLoad = function()
    if not SBF.db.global.disableBF then
      if not SBF.db.profile.buttonFacade then
        SBF.db.profile.buttonFacade = {}
      end
      bfGroup = skinnerLib:Group("SBF")
      
      SBFBF.db = SBF.db.profile.buttonFacade
      if (skinnerName == "ButtonFacade") then
      	skinnerLib:RegisterSkinCallback("SBF", SBFBF.SkinCallback, SBFBF)
      	SBFBF.skins = skinnerLib:GetSkins()
      end
      return SBFBF
    end
    return nil
  end
else
  SBFBFLoad = function() return nil end
end
Last edited by Raistlan : 05-04-11 at 06:47 PM.
Raistlan is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 02:02 PM  
Jenski
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
I haven't been having a whole lot of problems with SBF thankfully. I can't seem to get duration filters to work (specifically d<60). Is it just me?

I really hope SBF is updated soon. The filters for SBF are just amazing. I love being able to setup multiple bars to display only the information I need with 1 - 2 each filters instead of going through adding all abilities individually (It seems like SBF is the only addon with the capability to monitor boss buffs they cast on themselves with ease).
Jenski is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 10:03 AM  
aphrodytee
A Kobold Labourer
 
aphrodytee's Avatar

Forum posts: 0
File comments: 21
Uploads: 0
Found an addon called PhanxBuffs that does almost the same as SBF but the customization sucks. They have weapon buffs able to click off so idk if you guys want to take a look at it as a possible fix for the weapon buff issue sbf is having.
aphrodytee is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 07:46 AM  
galen2
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
With those two bugfixes I can now use SBF, thanks!

hope new version 4.1 compatible soon...

EDIT: save issue with icons disapears with interactive frames and poblems sorting but addon works
Last edited by galen2 : 05-04-11 at 03:59 PM.
galen2 is offline Report comment to moderator  
Reply With Quote
Unread 05-03-11, 10:01 PM  
upyursh
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 32
File comments: 58
Uploads: 7
ButtonFacade Fix

So BF had been updated and the way SBF hooks into it breaks SBF unfortunately.

Given this project is in transition try this to get it working (if not looking nice)

Open SBFButtonFacade.lua

Find
Code:
if IsAddOnLoaded("ButtonFacade") then
and replace it with
-- if IsAddOnLoaded("ButtonFacade") then
if 1 == 2 then
Will ensure SBF doesn't try load BF at all



Upy
upyursh is offline Report comment to moderator  
Reply With Quote
Unread 04-30-11, 08:29 AM  
Kupotek
A Deviate Faerie Dragon
 
Kupotek's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 1083
Uploads: 7
I cannot use SBF, it makes my buffs invisible...
__________________
KittyUI | My Home on the Web
Kupotek is offline Report comment to moderator  
Reply With Quote
Unread 04-29-11, 05:35 PM  
aUsCkEs
A Kobold Labourer

Forum posts: 0
File comments: 52
Uploads: 0
How come I can't remove buffs by right-clicking on it, and the Interactive mode pretty much makes them all invisible?
aUsCkEs is offline Report comment to moderator  
Reply With Quote
Unread 04-28-11, 03:59 PM  
Dessembrae
A Fallenroot Satyr
 
Dessembrae's Avatar
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 77
Uploads: 11
I get this error every now and then when I mouseover a buff (with the interactive mode, that you can right-click a buff away). When I don't have interactive mode on, this bug doesn't appear.

Code:
Date: 2011-04-28 23:55:44
ID: 18
Error occured in: Global
Count: 1
Message: Usage: GameTooltip:SetUnitAura("unit", [index] or ["name", "rank"][, "filter"])
Debug:
   (tail call): ?
   (tail call): ?
   [C]: ?
   [C]: ?
   [C]: SetUnitAura()
   SatrinaBuffFrame\SBFElements.lua:839:
      SatrinaBuffFrame\SBFElements.lua:819
AddOns:
Has this been reported before (and is there a fix for it?)
__________________
Dessembrae knows the sorrows in our souls.
He walks at the side of each mortal,
a vessel of regret on the fires of vengeance.
Dessembrae knows the sorrows,
and would now share them with us all.
Dessembrae is offline Report comment to moderator  
Reply With Quote
Unread 04-28-11, 01:58 PM  
dcwarcraft
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Re: Fix for 4.1

YOU ARE A GOD - plain and simple.
Now it would be great to know if this will be supported in the future...


Originally posted by Xilence
The problem with 4.1 is the same thing other addons have been having.

The arguments the COMBAT_LOG_EVENT_UNFILTERED event handlers receive have changed, there is a new hideCaster argument.

In short, change line 28 in SBFCombatLog.lua from:
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
to
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
dcwarcraft is offline Report comment to moderator  
Reply With Quote
Unread 04-28-11, 10:53 AM  
Xilence
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 2
Uploads: 1
Fix for 4.1

The problem with 4.1 is the same thing other addons have been having.

The arguments the COMBAT_LOG_EVENT_UNFILTERED event handlers receive have changed, there is a new hideCaster argument.

In short, change line 28 in SBFCombatLog.lua from:
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
to
Code:
SBF.CombatLog = function(self, wat, _, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, arg1, arg2, arg3, arg4, arg5, arg6)
__________________
If you hear me coming, you're not my prey.
Xilence is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: