02-22-14, 07:57 PM | #1 |
Help with some Font settings
EDIT:
Disreguard this post.. Was able to work most of the issues out with the "search" function. for those that might want to see the code im currently using. This code was posted by Phanx and editied to my likeing. Code:
local shorts = { { 1e10, 1e9, "%.0fb" }, -- 10b+ as 12b { 1e9, 1e9, "%.1fb" }, -- 1b+ as 8.3b { 1e7, 1e6, "%.0fm" }, -- 10m+ as 14m { 1e6, 1e6, "%.1fm" }, -- 1m+ as 7.4m { 1e5, 1e3, "%.0fk" }, -- 100k+ as 840k { 1e3, 1e3, "%.1fk" }, -- 1k+ as 2.5k { 0, 1, "%d" }, -- < 1k as 974 } for i = 1, #shorts do shorts[i][4] = shorts[i][3] .. " (%.0f%%)" end hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(statusBar, fontString, value, valueMin, valueMax) local style = GetCVar("statusTextDisplay") if style == "PERCENT" then return fontString:SetFormattedText("%.0f%%", value / valueMax * 100) end for i = 1, #shorts do local t = shorts[i] if style == "NUMERIC" then if value >= t[1] then return fontString:SetFormattedText(t[3], value / t[2]) end end if style == "BOTH" then if value >= t[1] then return fontString:SetFormattedText(t[4], value / t[2], value / valueMax * 100) end end end end) Coke Last edited by cokedrivers : 02-23-14 at 10:31 AM. |
|
02-22-14, 08:09 PM | #2 |
Öhm.
What is C["unitframes"].fontStyle and where does it come from? |
|
02-23-14, 11:56 AM | #3 |
I've been able to do the following for the player but how would I do this for Arean and boss frames?
Code:
PlayerFrameHealthBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize,"THINOUTLINE"); PlayerFrameManaBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize, "THINOUTLINE"); PlayerFrameAlternateManaBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize, "THINOUTLINE"); |
|
02-23-14, 08:16 PM | #4 | |
I vaguely remember posting that... not sure if it was in my original version, or from your edits, but here's a slightly more efficient version:
Code:
local shorts = { { 1e10, 1e9, "%.0fb" }, -- 10b+ as 12b { 1e9, 1e9, "%.1fb" }, -- 1b+ as 8.3b { 1e7, 1e6, "%.0fm" }, -- 10m+ as 14m { 1e6, 1e6, "%.1fm" }, -- 1m+ as 7.4m { 1e5, 1e3, "%.0fk" }, -- 100k+ as 840k { 1e3, 1e3, "%.1fk" }, -- 1k+ as 2.5k { 0, 1, "%d" }, -- < 1k as 974 } for i = 1, #shorts do shorts[i][4] = shorts[i][3] .. " (%.0f%%)" end hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(statusBar, fontString, value, valueMin, valueMax) local style = GetCVar("statusTextDisplay") if style == "PERCENT" then return fontString:SetFormattedText("%.0f%%", value / valueMax * 100) end for i = 1, #shorts do local t = shorts[i] if value >= t[1] then if style == "BOTH" then return fontString:SetFormattedText(t[4], value / t[2], value / valueMax * 100) else return fontString:SetFormattedText(t[3], value / t[2]) end end end end)
Code:
local font, _, flags = fontstring:GetFont() fontstring:SetFont(font, 18, flags) -- 18 being your new size Code:
local font, _, flags = TextStatusBarText:GetFont() TextStatusBarText:SetFont(font, 18, flags) -- 18 being your new size
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
||
02-23-14, 10:50 PM | #5 | |
I want to be able to adjust each frames font size individually per what the user wants. I think ill just stick with doing it the long way per frame. Thanks Coke PS this is what im talking about the long way. My current unitframes addon: Code:
local B, C, DB = unpack(select(2, ...)) -- Import: B - function; C - config; DB - Database if C["unitframes"].enable ~= true then return end -- Special Thanks to the guys over at Arena Junkies for most of these scripts -- http://www.arenajunkies.com/topic/222642-default-ui-scripts/ local _G = _G -- Player Frame if C["unitframes"].player.enable then -- Frame Scale _G["PlayerFrame"]:SetScale(C["unitframes"].player.scale); PlayerFrameHealthBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize,"THINOUTLINE"); PlayerFrameManaBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize, "THINOUTLINE"); PlayerFrameAlternateManaBarText:SetFont(C["media"].font, C["unitframes"].player.fontSize, "THINOUTLINE"); PetFrameHealthBarText:SetFont(C["media"].font, C["unitframes"].player.fontSizepet,"THINOUTLINE"); PetFrameManaBarText:SetFont(C["media"].font, C["unitframes"].player.fontSizepet, "THINOUTLINE"); end -- Target Frame if C["unitframes"].target.enable then -- Frame Scale _G["TargetFrame"]:SetScale(C["unitframes"].target.scale); TargetFrameTextureFrameHealthBarText:SetFont(C["media"].font, C["unitframes"].target.fontSize, "THINOUTLINE"); TargetFrameTextureFrameManaBarText:SetFont(C["media"].font, C["unitframes"].target.fontSize, "THINOUTLINE"); end; -- Focus Frame if C["unitframes"].focus.enable then -- Frame Scale _G["FocusFrame"]:SetScale(C["unitframes"].focus.scale) FocusFrameTextureFrameHealthBarText:SetFont(C["media"].font, C["unitframes"].focus.fontSize,"THINOUTLINE") FocusFrameTextureFrameManaBarText:SetFont(C["media"].font, C["unitframes"].focus.fontSize,"THINOUTLINE") end; -- Party Frames -- if C["unitframes"].party.enable then -- Clear all old settings PartyMemberFrame1:ClearAllPoints(); PartyMemberFrame2:ClearAllPoints(); PartyMemberFrame3:ClearAllPoints(); PartyMemberFrame4:ClearAllPoints(); -- Create new locations PartyMemberFrame1:SetPoint(C['unitframes'].party.position.relAnchor, UIParent, C['unitframes'].party.position.offSetX, C['unitframes'].party.position.offSetY); PartyMemberFrame2:SetPoint("TOPLEFT", PartyMemberFrame1, 0, -75); PartyMemberFrame3:SetPoint("TOPLEFT", PartyMemberFrame2, 0, -75); PartyMemberFrame4:SetPoint("TOPLEFT", PartyMemberFrame3, 0, -75); -- Make the new locations stay PartyMemberFrame1.SetPoint = function() end; PartyMemberFrame2.SetPoint = function() end; PartyMemberFrame3.SetPoint = function() end; PartyMemberFrame4.SetPoint = function() end; -- Set the scale of all the frames PartyMemberFrame1:SetScale(C["unitframes"].party.scale); PartyMemberFrame2:SetScale(C["unitframes"].party.scale); PartyMemberFrame3:SetScale(C["unitframes"].party.scale); PartyMemberFrame4:SetScale(C["unitframes"].party.scale); -- Set Font Size PartyMemberFrame1HealthBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame1ManaBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame2HealthBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame2ManaBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame3HealthBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame3ManaBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame4HealthBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") PartyMemberFrame4ManaBarText:SetFont(C["media"].font, C["unitframes"].party.fontSize, "THINOUTLINE") end; -- Arena Frames if C["unitframes"].arena.enable then LoadAddOn("Blizzard_ArenaUI"); -- You only need to run this once. You can safely delete any copies of this line. ArenaEnemyFrames:SetScale(C["unitframes"].arena.scale); ArenaEnemyFrame1HealthBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize,"THINOUTLINE"); ArenaEnemyFrame1ManaBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize, "THINOUTLINE"); ArenaEnemyFrame2HealthBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize,"THINOUTLINE"); ArenaEnemyFrame2ManaBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize, "THINOUTLINE"); ArenaEnemyFrame3HealthBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize,"THINOUTLINE"); ArenaEnemyFrame3ManaBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize, "THINOUTLINE"); ArenaEnemyFrame4HealthBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize,"THINOUTLINE"); ArenaEnemyFrame4ManaBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize, "THINOUTLINE"); ArenaEnemyFrame5HealthBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize,"THINOUTLINE"); ArenaEnemyFrame5ManaBarText:SetFont(C["media"].font, C["unitframes"].arena.fontSize, "THINOUTLINE"); if C["unitframes"].arena.tracker == true then trinkets = {}; local arenaFrame,trinket; for i = 1, 5 do arenaFrame = "ArenaEnemyFrame"..i; trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames); trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6); trinket:SetSize(24, 24); trinket.icon = trinket:CreateTexture(nil, "BACKGROUND"); trinket.icon:SetAllPoints(); trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01"); trinket:Hide(); trinkets["arena"..i] = trinket; end; local events = CreateFrame("Frame"); function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID) if not trinkets[unitID] then return; end ; if spellID == 59752 or spellID == 42292 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1); SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY"); end; end; function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance(); if instanceType == "arena" then self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED"); elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED"); for _, trinket in pairs(trinkets) do trinket:SetCooldown(0, 0); trinket:Hide(); end; end; end; events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end); events:RegisterEvent("PLAYER_ENTERING_WORLD"); end; end; -- Boss Frames if C["unitframes"].boss.enable then for i = 1,4 do local boss = _G["Boss"..i.."TargetFrame"]; if boss then boss:SetScale(C["unitframes"].boss.scale) boss:ClearAllPoints(); boss:SetPoint(C['unitframes'].boss.position.relAnchor, UIParent, C['unitframes'].boss.position.offSetX, C['unitframes'].boss.position.offSetY); boss.ClearAllPoints = function() end; boss.SetPoint = function() end; end; end; end; -- Font Style thanks to Phanx from WoWinterface. local shorts = { { 1e10, 1e9, "%.0fb" }, -- 10b+ as 12b { 1e9, 1e9, "%.1fb" }, -- 1b+ as 8.3b { 1e7, 1e6, "%.0fm" }, -- 10m+ as 14m { 1e6, 1e6, "%.1fm" }, -- 1m+ as 7.4m { 1e5, 1e3, "%.0fk" }, -- 100k+ as 840k { 1e3, 1e3, "%.1fk" }, -- 1k+ as 2.5k { 0, 1, "%d" }, -- < 1k as 974 } for i = 1, #shorts do shorts[i][4] = shorts[i][3] .. " (%.0f%%)" end hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(statusBar, fontString, value, valueMin, valueMax) local style = GetCVar("statusTextDisplay") if style == "PERCENT" then return fontString:SetFormattedText("%.0f%%", value / valueMax * 100) end for i = 1, #shorts do local t = shorts[i] if value >= t[1] then if style == "BOTH" then return fontString:SetFormattedText(t[4], value / t[2], value / valueMax * 100) else return fontString:SetFormattedText(t[3], value / t[2]) end end end end) -- Disable healing/damage spam over player/pet frame: PlayerHitIndicator:SetText(nil) PlayerHitIndicator.SetText = function() end PetHitIndicator:SetText(nil) PetHitIndicator.SetText = function() end |
||
03-02-14, 01:57 PM | #6 |
One more question concerning font.
How can I make the following font classcolor to match the person:
Thanks for any help with this. |
|
03-02-14, 07:47 PM | #7 |
The simplest solution is probably going to be to hook the function that sets the text:
Code:
hooksecurefunc("UnitFrame_Update", function(self) if not self.name then return end if UnitIsPlayer(self.unit) then -- Color by class: local _, class = UnitClass(self.unit) local color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class] self.name:SetTextColor(color.r, color.g, color.b) else -- Not a player. Return to default color: self.name:SetTextColor(1, 0.82, 0) end end) If you wanted to color pets by their owner's class, the simplest solution would probably be to look at the pet's creature type and just make an assumption -- eg. beast = hunter, demon = warlock, etc.
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
|
03-04-14, 03:18 PM | #8 | |
Thank you for this it works great. Im confused on trying to do the "reaction" part. I've tried: Code:
self.name:SetTextColor(FACTION_BAR_COLORS[reaction].r, FACTION_BAR_COLORS[reaction].g, FACTION_BAR_COLORS[reaction].b) Even tried: Code:
FACTION_BAR_COLORS = { [1] = {r = 0.8, g = 0.3, b = 0.22}, [2] = {r = 0.8, g = 0.3, b = 0.22}, [3] = {r = 0.75, g = 0.27, b = 0}, [4] = {r = 0.9, g = 0.7, b = 0}, [5] = {r = 0, g = 0.6, b = 0.1}, [6] = {r = 0, g = 0.6, b = 0.1}, [7] = {r = 0, g = 0.6, b = 0.1}, [8] = {r = 0, g = 0.6, b = 0.1}, }; local reaction = UnitReaction(self.unit, "player"); self.name:SetTextColor(FACTION_BAR_COLORS[reaction].r, FACTION_BAR_COLORS[reaction].g, FACTION_BAR_COLORS[reaction].b) and thanks again for all your help. Coke P.S. Error I keep getting: Code:
Message: ...ace\AddOns\BasicUI\Modules\Unitframes\Unitframes.lua:199: attempt to index field '?' (a nil value) Time: 03/04/14 13:18:37 Count: 5 Stack: ...ace\AddOns\BasicUI\Modules\Unitframes\Unitframes.lua:199: in function <...ace\AddOns\BasicUI\Modules\Unitframes\Unitframes.lua:188> [C]: in function `UnitFrame_Update' ...terface\AddOns\Blizzard_ArenaUI\Blizzard_ArenaUI.lua:275: in function `ArenaEnemyFrame_UpdatePet' ...terface\AddOns\Blizzard_ArenaUI\Blizzard_ArenaUI.lua:47: in function <...terface\AddOns\Blizzard_ArenaUI\Blizzard_ArenaUI.lua:25> Locals: self = ArenaEnemyFrame5PetFrame { 0 = <userdata> menu = <function> defined @Interface\AddOns\Blizzard_ArenaUI\Blizzard_ArenaUI.lua:295 name = ArenaEnemyFrame5PetFrameName { } DropDown = ArenaEnemyFrame5PetFrameDropDown { } manabar = ArenaEnemyFrame5PetFrameManaBar { } portrait = ArenaEnemyFrame5PetFramePortrait { } healthbar = ArenaEnemyFrame5PetFrameHealthBar { } unit = "arenapet5" } reaction = nil (*temporary) = <function> defined =[C]:-1 (*temporary) = ArenaEnemyFrame5PetFrameName { 0 = <userdata> } (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index field '?' (a nil value)" Last edited by cokedrivers : 03-04-14 at 03:23 PM. |
||
03-04-14, 06:51 PM | #9 |
Post your entire code if you want help with it. Your snippet refers to a variable that may or may not be defined correctly or incorrectly or at all somewhere else, but you didn't post that part, so it really tells me nothing.
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
|
03-04-14, 08:29 PM | #10 |
Entire Code
Sorry about that.
Unitframes.lua: Lua Code:
Defaults.lua: Lua Code:
Engine.lua: Lua Code:
Config.lua: Lua Code:
Is there any other code that you might need? Coke Last edited by cokedrivers : 03-04-14 at 08:34 PM. |
|
03-04-14, 09:23 PM | #11 |
UnitReaction can return nil. Here's a version based on the coloring in my oUF layout that will do class colors for players, or gray for tapped units, or reaction colors for other units, with a fallback in case of invalid class/reaction data:
Lua Code:
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
|
03-11-14, 10:35 AM | #12 | |
What I was able to use was the name coloring from nTooltip with some modifications. The only down fall to this coding is that the player's name is not class color matched, but all targets become classcolor, grey for dead or tapped, and normal color for npc's. Here is the code: Lua Code:
Thanks for the help on this. One last quest for you Phanx The numeric code seems to show 0 ("Zero") when a target is dead is there a way to remove these when the target is dead? Something like: Lua Code:
Again Thank You for all your help with the coding. Coke |
||
03-11-14, 04:05 PM | #13 |
Your code is creating a new copy of a function every time any unit frame is updated, which is really bad. It's also hardcoding the unit to "target" which is probably not what you want, unless you only want your code to work on the target frame, in which case it's still the wrong way to go about it; if you want to limit it to the target frame, you need to check the actual unit and return out if it's not "target", as the current method will color every unit frame according to the properties of your current target.
The code I posted has nothing to do with oUF or tags, but after looking at it again, I see I forgot to define the "unit" variable. You should really have some kind of error display turned on. It will make things so much easier for you (and anyone else who tries to help you) while you're working with code. If you already have one (I recommend BugSack) then you should really post the error message when you report that something "doesn't work". Anyway, here is a fixed version: Code:
hooksecurefunc("UnitFrame_Update", function(self) if not self.name then return end local unit = self.unit -- THIS WAS MISSING local color if UnitIsPlayer(unit) then local _, class = UnitClass(unit) color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class] elseif UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) then color = GRAY_FONT_COLOR elseif UnitIsEnemy(unit, "player") then color = FACTION_BAR_COLORS[1] else local reaction = UnitReaction(unit, "player") color = reaction and FACTION_BAR_COLORS[reaction] or FACTION_BAR_COLORS[5] end if not color then color = NORMAL_FONT_COLOR end self.name:SetTextColor(color.r, color.g, color.b) end) Code:
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(statusBar, fontString, value, valueMin, valueMax) if value == 0 then return fontString:SetText("") end local style = GetCVar("statusTextDisplay") if style == "PERCENT" then
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. Last edited by Phanx : 03-11-14 at 04:08 PM. |
|
03-11-14, 05:56 PM | #14 | |
Also installed bugsack as suggested. Right now no errors. Thanks again for all your help. Coke |
||
03-12-14, 08:09 AM | #15 |
Pet Name Color to White
I've been trying all morning to get the pet eg beast, demon, and elemental to have there names white.
At first I tried UnitIsPet(unit) but it seems that the wow api does not have that in it. Then I went searching and found UnitCreatureType(unit) then I tried: Lua Code:
But the above code turned every name color white. So I did more searching and found a post that had a function created for UnitIsPet so I copy/pasted the: Lua Code:
Lua Code:
and this changes the Pet name color to White but bugsack gives me this error: Code:
5x BasicUI-5.4.4\Modules\Unitframes\Unitframes.lua:193: bad argument #1 to "strsub" (string expected, got nil) <in C code> BasicUI-5.4.4\Modules\Unitframes\Unitframes.lua:193: in function <BasicUI\Modules\Unitframes\Unitframes.lua:192> BasicUI-5.4.4\Modules\Unitframes\Unitframes.lua:220: in function <BasicUI\Modules\Unitframes\Unitframes.lua:198> <in C code> Blizzard_ArenaUI\Blizzard_ArenaUI.lua:275: in function "ArenaEnemyFrame_UpdatePet" Blizzard_ArenaUI\Blizzard_ArenaUI.lua:47: in function <Blizzard_ArenaUI\Blizzard_ArenaUI.lua:25> Locals: unit = "arenapet1" (*temporary) = <function> defined =[C]:-1 Hopefully this is enough info for you. If not below is the complete Unitframes.lua just in case. Coke Unitframes.lua: Lua Code:
|
|
03-12-14, 09:39 AM | #16 |
UnitGUID can return nil so you need to account for that:
Code:
local function UnitIsPet(unit) local GUID = UnitGUID(unit) return GUID and tonumber(GUID:sub(5, 5), 16) % 8 == 4 end Code:
local function UnitIsPet(unit) return UnitPlayerControlled(unit) and not UnitIsPlayer(unit) end Code:
if UnitCreatureType("beast") or UnitCreatureType("demon") or UnitCreatureType("elemental") then self.name:SetTextColor(1, 1, 1) else self.name:SetTextColor(color.r, color.g, color.b) end |
|
03-12-14, 10:51 AM | #17 | |
I have added: Code:
local function UnitIsPet(unit) return UnitPlayerControlled(unit) and not UnitIsPlayer(unit) end Thanks again Coke |
||
03-12-14, 11:30 AM | #18 |
Based on what you are using it for you don't really need a separate UnitIsPet function, also the class name used to index CUSTOM_CLASS_COLORS and RAID_CLASS_COLORS should be in all caps:
Code:
hooksecurefunc("UnitFrame_Update", function(self) if not self.name then return end local unit, color = self.unit if UnitPlayerControlled(unit) then if UnitIsPlayer(unit) then local _, class = UnitClass(unit) color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class] else color = HIGHLIGHT_FONT_COLOR end elseif UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) then color = GRAY_FONT_COLOR else color = FACTION_BAR_COLORS[UnitIsEnemy(unit, "player") and 1 or UnitReaction(unit, "player") or 5] end if not color then color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)["PRIEST"] end self.name:SetTextColor(color.r, color.g, color.b) end) |
|
03-12-14, 02:52 PM | #19 | |
Coke |
||
03-12-14, 02:57 PM | #20 |
Statusbar Text
the following code was supplied by Phanx but I was wondering if there is a way to make it do the following.
Full Health = 345K Full Mana = 160K Not Full Health = 160K/345K Not Full Mana = 80K/160K Code Supplied by Phanx: Lua Code:
Thank in advance for any help. Coke |
|
WoWInterface » Developer Discussions » Lua/XML Help » Help with some Font settings |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Linear Mode |
Switch to Hybrid Mode |
Switch to Threaded Mode |
|
|