Advertisement
Guest User

bBags Font Edit

a guest
Apr 28th, 2012
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 14.66 KB | None | 0 0
  1. local config = {
  2.     enable = 1,
  3.     spacing = 3,
  4.     bpr = 10,
  5.     scale = 1,
  6.     font = "Interface\\Addons\\sharedmedia\\fonts\\font.ttf",
  7.     fontsize = 8,
  8.     fontoutline = "OUTLINEMONOCHROME",
  9. }
  10.  
  11. if (config.enable ~= 1) then return end
  12.  
  13. function CreateBackdrop(frame)
  14.     frame:SetBackdrop({bgFile = "Interface\\Buttons\\WHITE8x8", edgeFile = "Interface\\Buttons\\WHITE8x8", edgeSize = 2,
  15.         insets = {top = 2, left = 2, bottom = 2, right = 2}})
  16.     frame:SetBackdropColor(0,0,0,0.6)
  17.     frame:SetBackdropBorderColor(0,0,0,1)
  18. end
  19.  
  20. function MakeMovable(frame)
  21.     frame:SetClampedToScreen(true)
  22.     frame:SetMovable(true)
  23.     frame:SetUserPlaced(true)
  24.     frame:EnableMouse(true)
  25.     frame:RegisterForDrag("LeftButton","RightButton")
  26. end
  27.  
  28. local togglemain, togglebank = 0,0
  29. local togglebag
  30.  
  31.  
  32. --[[ Skin Everything -
  33. ---------------------------]]
  34. local function skin(index, frame)
  35.     for i = 1, index do
  36.         local bag = _G[frame..i]
  37.         local f = _G[bag:GetName().."IconTexture"]
  38.         local count = _G[bag:GetName().."Count"]
  39.         bag:SetNormalTexture("")
  40.         bag:SetPushedTexture("")
  41.         CreateBackdrop(bag)
  42.         f:SetPoint("TOPLEFT", bag, 2, -2)
  43.         f:SetPoint("BOTTOMRIGHT", bag, -2, 2)
  44.         f:SetTexCoord(.1, .9, .1, .9)
  45.        
  46.         count:SetFont(config.font,  config.fontsize, config.fontoutline)
  47.     end
  48. end
  49.  
  50. local moneytext = {"ContainerFrame1MoneyFrameGoldButtonText", "ContainerFrame1MoneyFrameSilverButtonText", "ContainerFrame1MoneyFrameCopperButtonText", "BankFrameMoneyFrameGoldButtonText", "BankFrameMoneyFrameSilverButtonText", "BankFrameMoneyFrameCopperButtonText", "BackpackTokenFrameToken1Count", "BackpackTokenFrameToken2Count", "BackpackTokenFrameToken3Count"}
  51.  
  52. for i = 1, 9 do
  53.     _G[moneytext[i]]:SetFont(config.font,  config.fontsize, config.fontoutline)
  54. end
  55.  
  56. for i = 1, 12 do
  57.     _G["ContainerFrame"..i.."CloseButton"]:Hide()
  58.     skin(36, "ContainerFrame"..i.."Item")
  59.     for p = 1, 7 do
  60.         select(p, _G["ContainerFrame"..i]:GetRegions()):SetAlpha(0)
  61.     end
  62. end
  63. for i = 1, 5 do            
  64.     select(i, _G['BankFrame']:GetRegions()):Hide()
  65. end
  66. _G["BackpackTokenFrame"]:GetRegions():SetAlpha(0)
  67. _G['BankCloseButton']:Hide()
  68.  
  69. for i = 1, 7 do
  70.     _G["BankFrameBag"..i]:Hide()
  71. end
  72.  
  73. local bags = {
  74.     bag = {
  75.         CharacterBag0Slot,
  76.         CharacterBag1Slot,
  77.         CharacterBag2Slot,
  78.         CharacterBag3Slot
  79.     },
  80.     bank = {
  81.         BankFrameBag1,
  82.         BankFrameBag2,
  83.         BankFrameBag3,
  84.         BankFrameBag4,
  85.         BankFrameBag5,
  86.         BankFrameBag6,
  87.         BankFrameBag7
  88.     }
  89. }
  90.  
  91. function SetUp(framen, ...)
  92.     local frame = CreateFrame("Frame", "bBag_"..framen, UIParent)
  93.     frame:SetScale(config.scale)
  94.     frame:SetWidth(((36+config.spacing)*config.bpr)+20-config.spacing)
  95.     frame:SetPoint(...)
  96.     frame:SetFrameStrata("HIGH")
  97.     frame:SetFrameLevel(1)
  98.     frame:RegisterForDrag("LeftButton","RightButton")
  99.     frame:SetScript("OnDragStart", function(self) self:StartMoving() end)
  100.     frame:SetScript("OnDragStop", function(self) self:StopMovingOrSizing() end)
  101.     frame:Hide()
  102.     CreateBackdrop(frame)
  103.     MakeMovable(frame)
  104.    
  105.     local frame_bags = CreateFrame('Frame', "bBag_"..framen.."_bags")
  106.     frame_bags:SetParent("bBag_"..framen)
  107.     frame_bags:SetWidth(10)
  108.     frame_bags:SetHeight(10)
  109.     frame_bags:SetPoint("BOTTOMRIGHT", "bBag_"..framen, "TOPRIGHT", 0, -2)
  110.     frame_bags:Hide()
  111.     CreateBackdrop(frame_bags)
  112.    
  113.     local frame_bags_toggle = CreateFrame('Frame', "bBag_"..framen.."_bags_toggle")
  114.     frame_bags_toggle:SetHeight(20)
  115.     frame_bags_toggle:SetWidth(20)
  116.     frame_bags_toggle:SetPoint("TOPRIGHT", "bBag_"..framen, "TOPRIGHT", -6, -6)
  117.     frame_bags_toggle:SetParent("bBag_"..framen)
  118.     frame_bags_toggle:EnableMouse(true)
  119.    
  120.     local frame_bags_toggle_text = frame_bags_toggle:CreateFontString("button")
  121.     frame_bags_toggle_text:SetPoint("CENTER", frame_bags_toggle, "CENTER")
  122.     frame_bags_toggle_text:SetFont(config.font,  config.fontsize, config.fontoutline)
  123.     frame_bags_toggle_text:SetText("B")
  124.     frame_bags_toggle_text:SetTextColor(.4,.4,.4)
  125.     frame_bags_toggle:SetScript('OnMouseUp', function()
  126.         if (togglebag ~= 1) then
  127.             togglebag = 1
  128.         else
  129.             togglebag= 0
  130.         end
  131.         if togglebag == 1 then
  132.             frame_bags:Show()
  133.             frame_bags_toggle_text:SetTextColor(1,1,1)
  134.         else
  135.             frame_bags:Hide()
  136.             frame_bags_toggle_text:SetTextColor(.4,.4,.4)
  137.         end
  138.     end)
  139.    
  140.     if (framen == "bag") then
  141.         for _, f in pairs(bags.bag) do
  142.             local count = _G[f:GetName().."Count"]
  143.             local icon = _G[f:GetName().."IconTexture"]
  144.             f:SetParent(_G["bBag_"..framen.."_bags"])
  145.             f:ClearAllPoints()
  146.             f:SetWidth(24)
  147.             f:SetHeight(24)
  148.             if lastbuttonbag then
  149.                 f:SetPoint("LEFT", lastbuttonbag, "RIGHT", config.spacing, 0)
  150.             else
  151.                 f:SetPoint("TOPLEFT", _G["bBag_"..framen.."_bags"], "TOPLEFT", 8, -8)
  152.             end
  153.             count.Show = function() end
  154.             count:Hide()
  155.  
  156.             icon:SetTexCoord(.1, .9, .1, .9)
  157.             f:SetNormalTexture("")
  158.             f:SetPushedTexture("")
  159.             f:SetCheckedTexture("")
  160.             CreateBackdrop(f)
  161.             lastbuttonbag = f
  162.             _G["bBag_"..framen.."_bags"]:SetWidth((24+config.spacing)*(getn(bags.bag))+14)
  163.             _G["bBag_"..framen.."_bags"]:SetHeight(40)
  164.         end
  165.     else
  166.         for _, f in pairs(bags.bank) do
  167.             local count = _G[f:GetName().."Count"]
  168.             local icon = _G[f:GetName().."IconTexture"]
  169.             f:SetParent(_G["bBag_"..framen.."_bags"])
  170.             f:ClearAllPoints()
  171.             f:SetWidth(24)
  172.             f:SetHeight(24)
  173.             if lastbuttonbank then
  174.                 f:SetPoint("LEFT", lastbuttonbank, "RIGHT", config.spacing, 0)
  175.             else
  176.                 f:SetPoint("TOPLEFT", _G["bBag_"..framen.."_bags"], "TOPLEFT", 8, -8)
  177.             end
  178.             count.Show = function() end
  179.             count:Hide()
  180.  
  181.             icon:SetTexCoord(.06, .94, .06, .94)
  182.             f:SetNormalTexture("")
  183.             f:SetPushedTexture("")
  184.             f:SetHighlightTexture("")
  185.             CreateBackdrop(f)
  186.             lastbuttonbank = f
  187.             _G["bBag_"..framen.."_bags"]:SetWidth((24+config.spacing)*(getn(bags.bank))+14)
  188.             _G["bBag_"..framen.."_bags"]:SetHeight(40)
  189.         end
  190.     end
  191. end
  192.  
  193. ContainerFrame1:SetScript("OnHide", function()
  194.     _G['bBag_bag']:Hide()
  195. end)
  196. GameMenuFrame:SetScript("OnShow", function()
  197.     togglemain = 1
  198.     ToggleAllBags()
  199. end)
  200. BankFrameItem1:SetScript("OnHide", function()
  201.     _G["bBag_bank"]:Hide()
  202.     togglebank = 0
  203. end)
  204. BankFrameItem1:SetScript("OnShow", function()
  205.     _G["bBag_bank"]:Show()
  206. end)
  207. BankPortraitTexture:Hide()
  208.  
  209. BankFrame:EnableMouse(0)
  210. BankCloseButton:Hide()
  211.  
  212. SetUp("bag", "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -10, 10)
  213. SetUp("bank", "TOPLEFT", UIParent, "TOPLEFT", 10, -134)
  214. skin(28, "BankFrameItem")
  215. skin(7, "BankFrameBag")
  216.  
  217. BagItemSearchBox:SetScript("OnUpdate", function()
  218.     BagItemSearchBox:ClearAllPoints()
  219.     BagItemSearchBox:SetPoint("TOPRIGHT", _G["bBag_bag"], "TOPRIGHT", -28, -6)
  220. end)
  221. BankItemSearchBox:SetScript("OnUpdate", function()
  222.     BankItemSearchBox:ClearAllPoints()
  223.     BankItemSearchBox:SetPoint("TOPRIGHT", _G["bBag_bank"], "TOPRIGHT", -28, -6)
  224. end)
  225.  
  226. function SkinEditBox(frame)
  227.     _G[frame:GetName().."Left"]:Hide()
  228.     if _G[frame:GetName().."Middle"] then _G[frame:GetName().."Middle"]:Hide() end
  229.     if _G[frame:GetName().."Mid"] then _G[frame:GetName().."Mid"]:Hide() end
  230.     _G[frame:GetName().."Right"]:Hide()
  231.    
  232.     frame:SetFrameStrata("HIGH")
  233.     frame:SetFrameLevel(2)
  234.     frame:SetWidth(200)
  235.     frame:SetScale(config.scale)
  236.    
  237.     local framebg = CreateFrame('frame', frame, frame)
  238.     framebg:SetPoint("TOPLEFT", frame, "TOPLEFT", -4, 0)
  239.     framebg:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", 0, 0)
  240.     framebg:SetBackdrop({bgFile = "Interface\\Buttons\\WHITE8x8", edgeFile = "Interface\\Buttons\\WHITE8x8", edgeSize = 2,
  241.         insets = {top = 2, left = 2, bottom = 2, right = 2}})
  242.     framebg:SetBackdropColor(1,1,1,.2)
  243.     framebg:SetBackdropBorderColor(0,0,0,1)
  244.     framebg:SetFrameLevel(0)
  245. end
  246.  
  247. SkinEditBox(BagItemSearchBox)
  248. SkinEditBox(BankItemSearchBox)
  249.  
  250. BackpackTokenFrameToken1:ClearAllPoints()
  251. BackpackTokenFrameToken1:SetPoint("BOTTOMLEFT", _G["bBag_bag"], "BOTTOMLEFT", 0, 8)
  252. for i = 1, 3 do
  253.     _G["BackpackTokenFrameToken"..i]:SetFrameStrata("HIGH")
  254.     _G["BackpackTokenFrameToken"..i]:SetFrameLevel(5)
  255.     _G["BackpackTokenFrameToken"..i]:SetScale(config.scale)
  256.     _G["BackpackTokenFrameToken"..i.."Icon"]:SetSize(12,12)
  257.     _G["BackpackTokenFrameToken"..i.."Icon"]:SetTexCoord(.1,.9,.1,.9)
  258.     _G["BackpackTokenFrameToken"..i.."Icon"]:SetPoint("LEFT", _G["BackpackTokenFrameToken"..i], "RIGHT", -8, 2)
  259.     _G["BackpackTokenFrameToken"..i.."Count"]:SetFont(config.font,  config.fontsize, config.fontoutline)
  260.     if (i ~= 1) then
  261.         _G["BackpackTokenFrameToken"..i]:SetPoint("LEFT", _G["BackpackTokenFrameToken"..(i-1)], "RIGHT", 10, 0)
  262.     end
  263. end
  264.  
  265. -- Centralize and rewrite bag rendering function
  266. function ContainerFrame_GenerateFrame(frame, size, id)
  267.     frame.size = size;
  268.     for i=1, size, 1 do
  269.         local index = size - i + 1;
  270.         local itemButton = _G[frame:GetName().."Item"..i];
  271.         itemButton:SetID(index);
  272.         itemButton:Show();
  273.     end
  274.     frame:SetID(id);
  275.     frame:Show()
  276.    
  277.     if ( id < 5 ) then
  278.         local numrows, lastrowbutton, numbuttons, lastbutton = 0, ContainerFrame1Item1, 1, ContainerFrame1Item1
  279.         for bag = 1, 5 do
  280.             local slots = GetContainerNumSlots(bag-1)
  281.             for item = slots, 1, -1 do
  282.                 local itemframes = _G["ContainerFrame"..bag.."Item"..item]
  283.                 itemframes:ClearAllPoints()
  284.                 itemframes:SetWidth(36)
  285.                 itemframes:SetHeight(36)
  286.                 itemframes:SetScale(config.scale)
  287.                 itemframes:SetFrameStrata("HIGH")
  288.                 itemframes:SetFrameLevel(2)
  289.                 ContainerFrame1MoneyFrame:ClearAllPoints()
  290.                 ContainerFrame1MoneyFrame:Show()
  291.                 ContainerFrame1MoneyFrame:SetPoint("TOPLEFT", _G["bBag_bag"], "TOPLEFT", 6, -10)
  292.                 ContainerFrame1MoneyFrame:SetFrameStrata("HIGH")
  293.                 ContainerFrame1MoneyFrame:SetFrameLevel(2)
  294.                 ContainerFrame1MoneyFrame:SetScale(config.scale)
  295.                 if bag==1 and item==16 then
  296.                     itemframes:SetPoint("TOPLEFT", _G["bBag_bag"], "TOPLEFT", 10, -30)
  297.                     lastrowbutton = itemframes
  298.                     lastbutton = itemframes
  299.                 elseif numbuttons==config.bpr then
  300.                     itemframes:SetPoint("TOPRIGHT", lastrowbutton, "TOPRIGHT", 0, -(config.spacing+36))
  301.                     itemframes:SetPoint("BOTTOMLEFT", lastrowbutton, "BOTTOMLEFT", 0, -(config.spacing+36))
  302.                     lastrowbutton = itemframes
  303.                     numrows = numrows + 1
  304.                     numbuttons = 1
  305.                 else
  306.                     itemframes:SetPoint("TOPRIGHT", lastbutton, "TOPRIGHT", (config.spacing+36), 0)
  307.                     itemframes:SetPoint("BOTTOMLEFT", lastbutton, "BOTTOMLEFT", (config.spacing+36), 0)
  308.                     numbuttons = numbuttons + 1
  309.                 end
  310.                 lastbutton = itemframes
  311.             end
  312.         end
  313.         if (BackpackTokenFrameToken1:IsShown()) then
  314.             _G["bBag_bag"]:SetHeight(((36+config.spacing)*(numrows+1)+60)-config.spacing)
  315.         else
  316.             _G["bBag_bag"]:SetHeight(((36+config.spacing)*(numrows+1)+40)-config.spacing)
  317.         end
  318.     else
  319.         local numrows, lastrowbutton, numbuttons, lastbutton = 0, ContainerFrame1Item1, 1, ContainerFrame1Item1
  320.         for bank = 1, 28 do
  321.             local bankitems = _G["BankFrameItem"..bank]
  322.             bankitems:ClearAllPoints()
  323.             bankitems:SetWidth(36)
  324.             bankitems:SetHeight(36)
  325.             bankitems:SetFrameStrata("HIGH")
  326.             bankitems:SetFrameLevel(2)
  327.             bankitems:SetScale(config.scale)
  328.             ContainerFrame2MoneyFrame:Show()
  329.             ContainerFrame2MoneyFrame:ClearAllPoints()
  330.             ContainerFrame2MoneyFrame:SetPoint("TOPLEFT", _G["bBag_bank"], "TOPLEFT", 6, -10)
  331.             ContainerFrame2MoneyFrame:SetFrameStrata("HIGH")
  332.             ContainerFrame2MoneyFrame:SetFrameLevel(2)
  333.             ContainerFrame2MoneyFrame:SetParent(_G["bBag_bank"])
  334.             --ContainerFrame2MoneyFrame:SetScale(config.scale)
  335.             BankFrameMoneyFrame:Hide()
  336.             if bank==1 then
  337.                 bankitems:SetPoint("TOPLEFT", _G["bBag_bank"], "TOPLEFT", 10, -30)
  338.                 lastrowbutton = bankitems
  339.                 lastbutton = bankitems
  340.             elseif numbuttons==config.bpr then
  341.                 bankitems:SetPoint("TOPRIGHT", lastrowbutton, "TOPRIGHT", 0, -(config.spacing+36))
  342.                 bankitems:SetPoint("BOTTOMLEFT", lastrowbutton, "BOTTOMLEFT", 0, -(config.spacing+36))
  343.                 lastrowbutton = bankitems
  344.                 numrows = numrows + 1
  345.                 numbuttons = 1
  346.             else
  347.                 bankitems:SetPoint("TOPRIGHT", lastbutton, "TOPRIGHT", (config.spacing+36), 0)
  348.                 bankitems:SetPoint("BOTTOMLEFT", lastbutton, "BOTTOMLEFT", (config.spacing+36), 0)
  349.                 numbuttons = numbuttons + 1
  350.             end
  351.             lastbutton = bankitems
  352.         end
  353.         for bag = 6, 12 do
  354.             local slots = GetContainerNumSlots(bag-1)
  355.             for item = slots, 1, -1 do
  356.                 local itemframes = _G["ContainerFrame"..bag.."Item"..item]
  357.                 itemframes:ClearAllPoints()
  358.                 itemframes:SetWidth(36)
  359.                 itemframes:SetHeight(36)
  360.                 itemframes:SetFrameStrata("HIGH")
  361.                 itemframes:SetFrameLevel(2)
  362.                 itemframes:SetScale(config.scale)
  363.                 if numbuttons==config.bpr then
  364.                     itemframes:SetPoint("TOPRIGHT", lastrowbutton, "TOPRIGHT", 0, -(config.spacing+36))
  365.                     itemframes:SetPoint("BOTTOMLEFT", lastrowbutton, "BOTTOMLEFT", 0, -(config.spacing+36))
  366.                     lastrowbutton = itemframes
  367.                     numrows = numrows + 1
  368.                     numbuttons = 1
  369.                 else
  370.                     itemframes:SetPoint("TOPRIGHT", lastbutton, "TOPRIGHT", (config.spacing+36), 0)
  371.                     itemframes:SetPoint("BOTTOMLEFT", lastbutton, "BOTTOMLEFT", (config.spacing+36), 0)
  372.                     numbuttons = numbuttons + 1
  373.                 end
  374.                 lastbutton = itemframes
  375.             end
  376.         end
  377.         _G["bBag_bank"]:SetHeight(((36+config.spacing)*(numrows+1)+40)-config.spacing)
  378.     end
  379. end
  380.  
  381. function OpenBag(id, fromb)
  382.     if ( not CanOpenPanels() ) then
  383.         if ( UnitIsDead("player") ) then
  384.             NotWhileDeadError();
  385.         end
  386.         return;
  387.     end
  388.    
  389.     if (fromb) then
  390.         local size = GetContainerNumSlots(id);
  391.         if ( size > 0 ) then
  392.             local containerShowing;
  393.             for i=1, NUM_CONTAINER_FRAMES, 1 do
  394.                 local frame = _G["ContainerFrame"..i];
  395.                 if ( frame:IsShown() and frame:GetID() == id ) then
  396.                     containerShowing = i;
  397.                 end
  398.             end
  399.             if ( not containerShowing ) then
  400.                 ContainerFrame_GenerateFrame(ContainerFrame_GetOpenFrame(), size, id);
  401.             end
  402.         end
  403.     else
  404.         ToggleAllBags()
  405.     end
  406. end
  407.  
  408.  
  409. -- Centralize and rewrite bag opening functions
  410. function updateContainerFrameAnchors() end
  411. function ToggleBag() ToggleAllBags() end
  412. function ToggleBackpack() ToggleAllBags() end
  413. function OpenAllBags() ToggleAllBags() end
  414. function OpenBackpack()  ToggleAllBags() end
  415. function CloseBackpack() ToggleAllBags() end
  416. function CloseAllBags() ToggleAllBags() end
  417. function ToggleAllBags()
  418.     --CloseBag(0,1)
  419.     --_G["bBag_bag"]:Hide()
  420.     if (togglemain == 1) then
  421.         if(not BankFrame:IsShown()) then
  422.             togglemain = 0
  423.             CloseBag(0,1)
  424.             _G["bBag_bag"]:Hide()
  425.             for i=1, NUM_BAG_FRAMES, 1 do CloseBag(i) end
  426.         end
  427.     else
  428.         togglemain = 1
  429.         _G["bBag_bag"]:Show()
  430.         OpenBag(0,1)
  431.         for i=1, NUM_BAG_FRAMES, 1 do OpenBag(i,1) end
  432.     end
  433.  
  434.     if( BankFrame:IsShown() ) then
  435.         if (togglebank == 1) then
  436.             togglebank = 0
  437.             _G["bBag_bank"]:Hide()
  438.             BankFrame:Hide()
  439.             for i=NUM_BAG_FRAMES+1, NUM_CONTAINER_FRAMES, 1 do
  440.                 if ( IsBagOpen(i) ) then CloseBag(i) end
  441.             end
  442.         else
  443.             togglebank = 1
  444.             _G["bBag_bank"]:Show()
  445.             BankFrame:Show()
  446.             for i=1, NUM_CONTAINER_FRAMES, 1 do
  447.                 if (not IsBagOpen(i)) then OpenBag(i,1) end
  448.             end
  449.         end
  450.     end
  451. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement