local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB local S = E:GetModule("Skins") --Lua functions local _G = _G local ipairs, unpack = ipairs, unpack --WoW API / Variables local GetAuctionSellItemInfo = GetAuctionSellItemInfo local GetItemQualityColor = GetItemQualityColor local PlaySound = PlaySound local hooksecurefunc = hooksecurefunc S:AddCallbackForAddon("Blizzard_AuctionUI", "Skin_Blizzard_AuctionUI", function() if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.auctionhouse then return end AuctionFrame:StripTextures(true) AuctionFrame:CreateBackdrop("Transparent") AuctionFrame.backdrop:Point("TOPLEFT", 12, 0) AuctionFrame.backdrop:Point("BOTTOMRIGHT", 0, 0) S:HookScript(AuctionFrame, "OnShow", function(self) S:SetUIPanelWindowInfo(self, "xoffset", -1, nil, true) S:SetUIPanelWindowInfo(self, "yoffset", -12, nil, true) S:SetUIPanelWindowInfo(self, "width", nil, 1) S:SetBackdropHitRect(self) S:Unhook(self, "OnShow") end) local buttons = { BrowseSearchButton, BrowseResetButton, BrowseBidButton, BrowseBuyoutButton, BrowseCloseButton, BidBidButton, BidBuyoutButton, BidCloseButton, AuctionsCreateAuctionButton, AuctionsCancelAuctionButton, AuctionsStackSizeMaxButton, AuctionsNumStacksMaxButton, AuctionsCloseButton } local checkBoxes = { IsUsableCheckButton, ShowOnPlayerCheckButton } local editBoxes = { BrowseName, BrowseMinLevel, BrowseMaxLevel, BrowseBidPriceGold, BrowseBidPriceSilver, BrowseBidPriceCopper, BidBidPriceGold, BidBidPriceSilver, BidBidPriceCopper, AuctionsStackSizeEntry, AuctionsNumStacksEntry, StartPriceGold, StartPriceSilver, StartPriceCopper, BuyoutPriceGold, BuyoutPriceSilver, BuyoutPriceCopper } local sortTabs = { BrowseQualitySort, BrowseLevelSort, BrowseDurationSort, BrowseHighBidderSort, BrowseCurrentBidSort, BidQualitySort, BidLevelSort, BidDurationSort, BidBuyoutSort, BidStatusSort, BidBidSort, AuctionsQualitySort, AuctionsDurationSort, AuctionsHighBidderSort, AuctionsBidSort } for _, button in ipairs(buttons) do S:HandleButton(button, true) end for _, checkBox in ipairs(checkBoxes) do S:HandleCheckBox(checkBox) end for _, editBox in ipairs(editBoxes) do S:HandleEditBox(editBox) editBox:SetTextInsets(1, 1, -1, 1) end for _, tab in ipairs(sortTabs) do tab:StripTextures() tab:SetNormalTexture([[Interface\Buttons\UI-SortArrow]]) tab:StyleButton() end for i = 1, AuctionFrame.numTabs do local tab = _G["AuctionFrameTab"..i] S:HandleTab(tab) if i == 1 then tab:ClearAllPoints() tab:Point("BOTTOMLEFT", AuctionFrame, "BOTTOMLEFT", 12, -30) tab.SetPoint = E.noop end end AuctionFrameTab2:Point("TOPLEFT", AuctionFrameTab1, "TOPRIGHT", -15, 0) AuctionFrameTab3:Point("TOPLEFT", AuctionFrameTab2, "TOPRIGHT", -15, 0) for i = 1, NUM_FILTERS_TO_DISPLAY do local tab = _G["AuctionFilterButton"..i] tab:StripTextures() tab:SetHighlightTexture(E.Media.Textures.Highlight) tab:GetHighlightTexture():SetInside() tab:GetHighlightTexture():SetAlpha(0.35) end S:HandleCloseButton(AuctionFrameCloseButton, AuctionFrame.backdrop) AuctionFrameMoneyFrame:Point("BOTTOMRIGHT", AuctionFrame, "BOTTOMLEFT", 181, 11) -- Browse Frame BrowseTitle:ClearAllPoints() BrowseTitle:Point("TOP", AuctionFrame, "TOP", 0, -5) BrowseScrollFrame:StripTextures() BrowseFilterScrollFrame:StripTextures() S:HandleScrollBar(BrowseFilterScrollFrameScrollBar) BrowseFilterScrollFrameScrollBar:Point("TOPLEFT", BrowseFilterScrollFrame, "TOPRIGHT", 5, -19) BrowseFilterScrollFrameScrollBar:Point("BOTTOMLEFT", BrowseFilterScrollFrame, "BOTTOMRIGHT", 5, 18) S:HandleScrollBar(BrowseScrollFrameScrollBar) BrowseScrollFrameScrollBar:ClearAllPoints() BrowseScrollFrameScrollBar:Point("TOPRIGHT", BrowseScrollFrame, "TOPRIGHT", 25, -19) BrowseScrollFrameScrollBar:Point("BOTTOMRIGHT", BrowseScrollFrame, "BOTTOMRIGHT", 0, 19) S:HandleNextPrevButton(BrowseNextPageButton) BrowseNextPageButton:ClearAllPoints() BrowseNextPageButton:Point("BOTTOMLEFT", BrowseSearchButton, "BOTTOMRIGHT", 10, -27) S:HandleNextPrevButton(BrowsePrevPageButton) BrowsePrevPageButton:ClearAllPoints() BrowsePrevPageButton:Point("BOTTOMRIGHT", BrowseSearchButton, "BOTTOMLEFT", -10, -27) BrowseCloseButton:Point("BOTTOMRIGHT", 66, 6) BrowseBuyoutButton:Point("RIGHT", BrowseCloseButton, "LEFT", -4, 0) BrowseBidButton:Point("RIGHT", BrowseBuyoutButton, "LEFT", -4, 0) BrowseResetButton:Point("TOPLEFT", 20, -74) BrowseSearchButton:Point("TOPRIGHT", 10, -30) BrowseName:Width(164) BrowseName:Point("TOPLEFT", AuctionFrameBrowse, "TOPLEFT", 20, -54) BrowseNameText:Point("TOPLEFT", BrowseName, "TOPLEFT", 0, 16) BrowseLevelText:Point("BOTTOMLEFT", AuctionFrameBrowse, "TOPLEFT", 195, -48) BrowseMaxLevel:Point("LEFT", BrowseMinLevel, "RIGHT", 8, 0) BrowseBidText:Point("RIGHT", BrowseBidPrice, "LEFT", -11, 0) BrowseBidPrice:Point("BOTTOM", 25, 10) -- Bid Frame BidTitle:ClearAllPoints() BidTitle:Point("TOP", AuctionFrame, "TOP", 0, -5) BidScrollFrame:StripTextures() BidBidText:ClearAllPoints() BidBidText:Point("RIGHT", BidBidButton, "LEFT", -270, 2) BidCloseButton:Point("BOTTOMRIGHT", 66, 6) BidBuyoutButton:Point("RIGHT", BidCloseButton, "LEFT", -4, 0) BidBidButton:Point("RIGHT", BidBuyoutButton, "LEFT", -4, 0) BidBidPrice:Point("BOTTOM", 25, 10) S:HandleScrollBar(BidScrollFrameScrollBar) BidScrollFrameScrollBar:ClearAllPoints() BidScrollFrameScrollBar:Point("TOPRIGHT", BidScrollFrame, "TOPRIGHT", 24, -19) BidScrollFrameScrollBar:Point("BOTTOMRIGHT", BidScrollFrame, "BOTTOMRIGHT", 0, 17) -- Auctions Frame AuctionsTitle:ClearAllPoints() AuctionsTitle:Point("TOP", AuctionFrame, "TOP", 0, -5) AuctionsScrollFrame:StripTextures() S:HandleScrollBar(AuctionsScrollFrameScrollBar) AuctionsScrollFrameScrollBar:ClearAllPoints() AuctionsScrollFrameScrollBar:Point("TOPRIGHT", AuctionsScrollFrame, "TOPRIGHT", 24, -21) AuctionsScrollFrameScrollBar:Point("BOTTOMRIGHT", AuctionsScrollFrame, "BOTTOMRIGHT", 0, 19) AuctionsCloseButton:Point("BOTTOMRIGHT", 66, 6) AuctionsCancelAuctionButton:Point("RIGHT", AuctionsCloseButton, "LEFT", -4, 0) AuctionsCreateAuctionButton:Width(181) AuctionsCreateAuctionButton:Point("BOTTOMLEFT", AuctionFrameAuctions, "BOTTOMLEFT", 26, 39) AuctionsStackSizeEntry.backdrop:SetAllPoints() AuctionsNumStacksEntry.backdrop:SetAllPoints() AuctionsItemButton:StripTextures() AuctionsItemButton:SetTemplate("Default", true) AuctionsItemButton:StyleButton() AuctionsItemButton:HookScript("OnEvent", function(self, event) local normalTexture = self:GetNormalTexture() if event == "NEW_AUCTION_UPDATE" and normalTexture then normalTexture:SetTexCoord(unpack(E.TexCoords)) normalTexture:SetInside() local _, _, _, quality = GetAuctionSellItemInfo() if quality then self:SetBackdropBorderColor(GetItemQualityColor(quality)) else self:SetBackdropBorderColor(unpack(E.media.bordercolor)) end else self:SetBackdropBorderColor(unpack(E.media.bordercolor)) end end) S:HandleDropDownBox(BrowseDropDown, 155) BrowseDropDown:Point("TOPLEFT", BrowseLevelText, "BOTTOMRIGHT", -5, 0) S:HandleDropDownBox(PriceDropDown) S:HandleDropDownBox(DurationDropDown) -- Progress Frame AuctionProgressFrame:StripTextures() AuctionProgressFrame:SetTemplate("Transparent") S:HandleButton(AuctionProgressFrameCancelButton) AuctionProgressFrameCancelButton:SetHitRectInsets(0, 0, 0, 0) AuctionProgressFrameCancelButton:GetNormalTexture():SetTexture(E.Media.Textures.Close) AuctionProgressFrameCancelButton:GetNormalTexture():SetInside() AuctionProgressFrameCancelButton:Size(28) AuctionProgressFrameCancelButton:Point("LEFT", AuctionProgressBar, "RIGHT", 8, 0) AuctionProgressBarIcon.backdrop = CreateFrame("Frame", nil, AuctionProgressBarIcon:GetParent()) AuctionProgressBarIcon.backdrop:SetTemplate("Default") AuctionProgressBarIcon.backdrop:SetOutside(AuctionProgressBarIcon) AuctionProgressBarIcon:SetTexCoord(unpack(E.TexCoords)) AuctionProgressBarIcon:SetParent(AuctionProgressBarIcon.backdrop) AuctionProgressBarText:ClearAllPoints() AuctionProgressBarText:SetPoint("CENTER") AuctionProgressBar:StripTextures() AuctionProgressBar:CreateBackdrop("Default") AuctionProgressBar:SetStatusBarTexture(E.media.normTex) AuctionProgressBar:SetStatusBarColor(1, 1, 0) local frames = { ["Browse"] = 8, -- NUM_BROWSE_TO_DISPLAY ["Auctions"] = 9, -- NUM_AUCTIONS_TO_DISPLAY ["Bid"] = 9 -- NUM_BIDS_TO_DISPLAY } for frameName, numButtons in pairs(frames) do for i = 1, numButtons do local button = _G[frameName.."Button"..i] local itemButton = _G[frameName.."Button"..i.."Item"] local name = _G[frameName.."Button"..i.."Name"] if button then button:StripTextures() local highlight = _G[frameName.."Button"..i.."Highlight"] highlight:SetTexture(E.Media.Textures.Highlight) highlight:SetInside() hooksecurefunc(name, "SetVertexColor", function(_, r, g, b) highlight:SetVertexColor(r, g, b, 0.35) end) end if itemButton then itemButton:SetTemplate() itemButton:StyleButton() itemButton:GetNormalTexture():SetTexture("") itemButton:Point("TOPLEFT", 0, -1) itemButton:Size(34) local texture = _G[frameName.."Button"..i.."ItemIconTexture"] texture:SetTexCoord(unpack(E.TexCoords)) texture:SetInside() hooksecurefunc(name, "SetVertexColor", function(_, r, g, b) itemButton:SetBackdropBorderColor(r, g, b) end) hooksecurefunc(name, "Hide", function() itemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) end) end end end -- Custom Backdrops for _, frame in ipairs({AuctionFrameBrowse, AuctionFrameAuctions}) do frame.LeftBackground = CreateFrame("Frame", nil, frame) frame.LeftBackground:SetTemplate("Transparent") frame.LeftBackground:SetFrameLevel(frame:GetFrameLevel() - 1) frame.RightBackground = CreateFrame("Frame", nil, frame) frame.RightBackground:SetTemplate("Transparent") frame.RightBackground:SetFrameLevel(frame:GetFrameLevel() - 1) end AuctionFrameAuctions.LeftBackground:Point("TOPLEFT", 20, -72) AuctionFrameAuctions.LeftBackground:Point("BOTTOMRIGHT", -545, 34) AuctionFrameAuctions.RightBackground:Point("TOPLEFT", AuctionFrameAuctions.LeftBackground, "TOPRIGHT", 3, 0) AuctionFrameAuctions.RightBackground:Point("BOTTOMRIGHT", AuctionFrame, -8, 34) AuctionFrameBrowse.LeftBackground:Point("TOPLEFT", 20, -103) AuctionFrameBrowse.LeftBackground:Point("BOTTOMRIGHT", -575, 34) BrowseNoResultsText:SetParent(AuctionFrameBrowse.LeftBackground) BrowseSearchCountText:SetParent(AuctionFrameBrowse.LeftBackground) AuctionFrameBrowse.RightBackground:Point("TOPLEFT", AuctionFrameBrowse.LeftBackground, "TOPRIGHT", 4, 0) AuctionFrameBrowse.RightBackground:Point("BOTTOMRIGHT", AuctionFrame, "BOTTOMRIGHT", -8, 34) AuctionFrameBid.Background = CreateFrame("Frame", nil, AuctionFrameBid) AuctionFrameBid.Background:SetTemplate("Transparent") AuctionFrameBid.Background:Point("TOPLEFT", 20, -72) AuctionFrameBid.Background:Point("BOTTOMRIGHT", 66, 34) AuctionFrameBid.Background:SetFrameLevel(AuctionFrameBid:GetFrameLevel() - 1) -- DressUpFrame AuctionDressUpFrame:StripTextures() S:HandleCloseButton(AuctionDressUpFrameCloseButton, AuctionDressUpFrame) AuctionDressUpModel:CreateBackdrop() AuctionDressUpModel.backdrop:SetOutside(AuctionDressUpModel) SetAuctionDressUpBackground() AuctionDressUpBackgroundTop:SetDesaturated(true) AuctionDressUpBackgroundBot:SetDesaturated(true) S:HandleRotateButton(AuctionDressUpModelRotateLeftButton) S:HandleRotateButton(AuctionDressUpModelRotateRightButton) S:HandleButton(AuctionDressUpFrameResetButton) AuctionDressUpFrame:SetTemplate("Transparent") AuctionDressUpFrame:Size(189, 401) AuctionDressUpFrame:Point("TOPLEFT", AuctionFrame, "TOPRIGHT", -1, 0) AuctionDressUpModel:Size(171, 365) AuctionDressUpModel:Point("BOTTOM", AuctionDressUpFrame, "BOTTOM", 0, 9) AuctionDressUpBackgroundTop:Point("TOPLEFT", AuctionDressUpFrame, "TOPLEFT", 9, -27) AuctionDressUpModelRotateLeftButton:Point("TOPLEFT", AuctionDressUpFrame, "TOPLEFT", 12, -30) AuctionDressUpModelRotateRightButton:Point("TOPLEFT", AuctionDressUpModelRotateLeftButton, "TOPRIGHT", 3, 0) AuctionDressUpFrameResetButton:Point("BOTTOM", AuctionDressUpModel, "BOTTOM", 0, 7) AuctionDressUpFrame:SetScript("OnShow", function() S:SetUIPanelWindowInfo(AuctionFrame, "width", nil, 189) PlaySound("igCharacterInfoOpen") end) AuctionDressUpFrame:SetScript("OnHide", function() S:SetUIPanelWindowInfo(AuctionFrame, "width", nil, 1) PlaySound("igCharacterInfoClose") end) end)