WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Legion Beta archived threads (https://www.wowinterface.com/forums/forumdisplay.php?f=177)
-   -   [7.1] Font drop shadow off by 1px on y-axis (https://www.wowinterface.com/forums/showthread.php?t=54729)

zork 10-26-16 12:37 PM

[7.1] Font drop shadow off by 1px on y-axis
 
With 7.1 all font drop shadows are off by 1 px on the y-axis.

If you offset the shadow on y-axis by -1 on live (7.1) the shadow is not visible.
That was not the case in 7.0. This effects every single font string that uses drop shadows.



I have to use this now
Lua Code:
  1. font:SetShadowOffset(1,-2)

Instead of
Lua Code:
  1. font:SetShadowOffset(1,-1)

Be3f. 10-26-16 02:33 PM

Thanks for picking up on this, however, on my end, I have to set it to -3 to achieve a -1.
Default UI Scale 1920x1080.

efrem07 10-26-16 11:45 PM

Where do you put that code ?

Miiru 10-26-16 11:46 PM

Quote:

Originally Posted by Be3f. (Post 320350)
Thanks for picking up on this, however, on my end, I have to set it to -3 to achieve a -1.
Default UI Scale 1920x1080.

I can confirm this.

zork 10-27-16 01:22 AM

Maybe the dropshadow is affected by any kind of scale/size now. But either way. If they have done this they forgot to adjust the drop shadow function properly!

videnfost 10-28-16 03:11 AM

Is there any way to change the y-axis value of the shadow for the entire interface?

Miiru 10-28-16 03:46 AM

Quote:

Originally Posted by videnfost (Post 320408)
Is there any way to change the y-axis value of the shadow for the entire interface?

You could try this (not tested)

Lua Code:
  1. local f = CreateFrame("Frame")
  2.         f:RegisterEvent("PLAYER_LOGIN")
  3.         f:SetScript("OnEvent", function()
  4.            
  5.         local function SetFont(obj)
  6.             local fontName, fontHeight = obj:GetFont() 
  7.             obj:SetFont(fontName,fontHeight)
  8.             obj:SetShadowOffset(1,-3)
  9.         end
  10.        
  11.             SetFont(ChatFontNormal)
  12.             SetFont(NumberFont_Shadow_Med)
  13.             SetFont(AchievementFont_Small)
  14.             SetFont(NumberFont_OutlineThick_Mono_Small)
  15.             SetFont(NumberFont_Outline_Huge)
  16.             SetFont(NumberFont_Outline_Large)
  17.             SetFont(NumberFont_Outline_Med)
  18.             SetFont(NumberFont_Shadow_Small)
  19.             SetFont(SystemFont_InverseShadow_Small)
  20.             SetFont(SystemFont_Large)
  21.             SetFont(SystemFont_Med1)
  22.             SetFont(SystemFont_Med2)
  23.             SetFont(SystemFont_Med3)
  24.             SetFont(SystemFont_OutlineThick_Huge2)
  25.             SetFont(SystemFont_OutlineThick_Huge4)
  26.             SetFont(SystemFont_OutlineThick_WTF)
  27.             SetFont(SystemFont_Outline_Small)
  28.             SetFont(SystemFont_Shadow_Huge1)
  29.             SetFont(SystemFont_Shadow_Huge3)
  30.             SetFont(SystemFont_Shadow_Large)
  31.             SetFont(SystemFont_Shadow_Med1)
  32.             SetFont(SystemFont_Shadow_Med3)
  33.             SetFont(SystemFont_Shadow_Outline_Huge2)
  34.             SetFont(SystemFont_Shadow_Small)
  35.             SetFont(SystemFont_Small)
  36.             SetFont(SystemFont_Tiny)
  37.             SetFont(ReputationDetailFont)
  38.             SetFont(ItemTextFontNormal)
  39.             SetFont(DialogButtonNormalText)
  40.             SetFont(InvoiceTextFontNormal)
  41.             SetFont(InvoiceTextFontSmall)
  42.             SetFont(MailTextFontNormal)
  43.             SetFont(GameFontHighlightSmall)
  44.             SetFont(GameFontNormalSmall)
  45.             SetFont(GameFontNormalSmall2)
  46.             SetFont(GameFontDisableSmall)
  47.             SetFont(GameFontNormalHuge)
  48.             SetFont(GameFontNormalLarge)
  49.             SetFont(GameFontHighlight)
  50.             SetFont(GameFontDisable)
  51.             SetFont(GameFontNormal)
  52.             SetFont(GameFontBlackMedium)
  53.             SetFont(GameFontHighlightMedium)
  54.             SetFont(SubSpellFont)
  55.             SetFont(NumberFontNormalSmall)
  56.             SetFont(NumberFontNormal)
  57.             SetFont(NumberFontNormalLarge)
  58.             SetFont(NumberFontNormalHuge)
  59.             SetFont(WorldMapTextFont)
  60.             SetFont(MovieSubtitleFont)
  61.             SetFont(AchievementPointsFont)
  62.             SetFont(AchievementPointsFontSmall)
  63.             SetFont(AchievementDateFont)
  64.             SetFont(AchievementCriteriaFont)
  65.             SetFont(AchievementDescriptionFont)
  66.             SetFont(FriendsFont_Large)
  67.             SetFont(FriendsFont_Normal)
  68.             SetFont(FriendsFont_Small)
  69.             SetFont(FriendsFont_UserText)
  70.             SetFont(GameTooltipHeaderText)
  71.             SetFont(GameTooltipText)
  72.             SetFont(GameTooltipTextSmall)
  73.             SetFont(ZoneTextString)
  74.             SetFont(SubZoneTextString)
  75.             SetFont(PVPInfoTextString)
  76.             SetFont(PVPArenaTextString)
  77.             SetFont(CombatTextFont)
  78.             SetFont(BackpackTokenFrameToken1Count)
  79.             SetFont(BackpackTokenFrameToken2Count)
  80.             SetFont(BackpackTokenFrameToken3Count)
  81.             SetFont(QuestFontHighlight)
  82.             SetFont(QuestFontNormalSmall)
  83.             SetFont(QuestTitleFont)
  84.             SetFont(QuestFont)
  85.             SetFont(QuestFont_Large)
  86.             SetFont(QuestTitleFontBlackShadow)
  87.             SetFont(QuestFont_Super_Huge)
  88.             SetFont(HelpFrameKnowledgebaseNavBarHomeButtonText)
  89.             SetFont(GameFont_Gigantic)
  90.             SetFont(CoreAbilityFont)
  91.             SetFont(DestinyFontHuge)
  92.             SetFont(DestinyFontLarge)
  93.             SetFont(InvoiceFont_Small)
  94.             SetFont(InvoiceFont_Med)
  95.             SetFont(MailFont_Large)
  96.             SetFont(QuestFont_Shadow_Small)
  97.             SetFont(QuestFont_Shadow_Huge)
  98.             SetFont(QuestFont_Huge)
  99.             SetFont(QuestFont_Enormous)
  100.             SetFont(SpellFont_Small)
  101.             SetFont(SystemFont_Huge1)
  102.             SetFont(SystemFont_OutlineThick_WTF)
  103.             SetFont(SystemFont_OutlineThick_Huge2)
  104.             SetFont(SystemFont_OutlineThick_Huge4)
  105.             SetFont(SystemFont_Outline)
  106.             SetFont(SystemFont_Shadow_Large_Outline)
  107.             SetFont(SystemFont_Shadow_Large2)
  108.             SetFont(SystemFont_Shadow_Med2)
  109.             SetFont(SystemFont_Shadow_Huge2)
  110.             SetFont(SystemFont_Small2)
  111.             SetFont(Tooltip_Med)
  112.             SetFont(Tooltip_Small)
  113.             -----
  114.             SetFont(GameFontNormalMed3)
  115.             SetFont(GameFontNormalHuge2)
  116.             SetFont(GameFontNormalLarge2)
  117.             SetFont(Game30Font)
  118.             SetFont(Game24Font)
  119.             SetFont(Game20Font)
  120.             SetFont(Game18Font)
  121.             SetFont(Fancy24Font) -- e.g. Weekly best @ ChallengesFrame
  122.             SetFont(Fancy16Font)           
  123.             SetFont(Fancy48Font)
  124.             SetFont(Fancy22Font) -- e.g. TalkingHeadFrame TitleFont
  125.             SetFont(Fancy32Font)
  126.             SetFont(SystemFont_LargeNamePlate)
  127.             SetFont(SystemFont_NamePlate)
  128.             SetFont(SystemFont_LargeNamePlateFixed)
  129.             SetFont(SystemFont_NamePlateFixed)
  130.             SetFont(WhiteNormalNumberFont) -- font shown at tradeskill skillbars
  131.             SetFont(PVPInfoTextFont)
  132.             SetFont(ChatFrame1EditBox)              -- chateditbox input text
  133.             SetFont(ChatFrame1EditBoxHeader)    -- chateditbox say/whisper/guild text
  134.             SetFont(GameTooltipHeader)          -- dungeon journal suggestion font
  135.             for i=1, NUM_CHAT_WINDOWS do   
  136.                     SetFont(_G["ChatFrame"..i])     --chat itself
  137.             end
  138.            
  139.         end)

You can make an addon out of the code with http://addon.bool.no/. There may be some fonts missing though

Voyager 10-28-16 03:56 PM

Quote:

Originally Posted by Miiru (Post 320409)
You could try this (not tested)

Lua Code:
  1. ....

You can make an addon out of the code with http://addon.bool.no/. There may be some fonts missing though

Thanks for that. Modified it a bit and tested it, setting the font itself seemed unnecessary.

Lua Code:
  1. local function FixFontShadow(obj)
  2.     local x, y = obj:GetShadowOffset()
  3.     if y > -2 and y < 0 then
  4.         obj:SetShadowOffset(x, -2)
  5.     end
  6. end
  7. local f = CreateFrame("Frame")
  8. f:RegisterEvent("PLAYER_LOGIN")
  9. f:SetScript("OnEvent", function()
  10.     f:UnregisterEvent("PLAYER_LOGIN")
  11.  
  12.     FixFontShadow(ChatFontNormal)
  13.     FixFontShadow(NumberFont_Shadow_Med)
  14.     FixFontShadow(AchievementFont_Small)
  15.     FixFontShadow(NumberFont_OutlineThick_Mono_Small)
  16.     FixFontShadow(NumberFont_Outline_Huge)
  17.     FixFontShadow(NumberFont_Outline_Large)
  18.     FixFontShadow(NumberFont_Outline_Med)
  19.     FixFontShadow(NumberFont_Shadow_Small)
  20.     FixFontShadow(SystemFont_InverseShadow_Small)
  21.     FixFontShadow(SystemFont_Large)
  22.     FixFontShadow(SystemFont_Med1)
  23.     FixFontShadow(SystemFont_Med2)
  24.     FixFontShadow(SystemFont_Med3)
  25.     FixFontShadow(SystemFont_OutlineThick_Huge2)
  26.     FixFontShadow(SystemFont_OutlineThick_Huge4)
  27.     FixFontShadow(SystemFont_OutlineThick_WTF)
  28.     FixFontShadow(SystemFont_Outline_Small)
  29.     FixFontShadow(SystemFont_Shadow_Huge1)
  30.     FixFontShadow(SystemFont_Shadow_Huge3)
  31.     FixFontShadow(SystemFont_Shadow_Large)
  32.     FixFontShadow(SystemFont_Shadow_Med1)
  33.     FixFontShadow(SystemFont_Shadow_Med3)
  34.     FixFontShadow(SystemFont_Shadow_Outline_Huge2)
  35.     FixFontShadow(SystemFont_Shadow_Small)
  36.     FixFontShadow(SystemFont_Small)
  37.     FixFontShadow(SystemFont_Tiny)
  38.     FixFontShadow(ReputationDetailFont)
  39.     FixFontShadow(ItemTextFontNormal)
  40.     FixFontShadow(DialogButtonNormalText)
  41.     FixFontShadow(InvoiceTextFontNormal)
  42.     FixFontShadow(InvoiceTextFontSmall)
  43.     FixFontShadow(MailTextFontNormal)
  44.     FixFontShadow(GameFontHighlightSmall)
  45.     FixFontShadow(GameFontNormalSmall)
  46.     FixFontShadow(GameFontNormalSmall2)
  47.     FixFontShadow(GameFontDisableSmall)
  48.     FixFontShadow(GameFontNormalHuge)
  49.     FixFontShadow(GameFontNormalLarge)
  50.     FixFontShadow(GameFontHighlight)
  51.     FixFontShadow(GameFontDisable)
  52.     FixFontShadow(GameFontNormal)
  53.     FixFontShadow(GameFontBlackMedium)
  54.     FixFontShadow(GameFontHighlightMedium)
  55.     FixFontShadow(SubSpellFont)
  56.     FixFontShadow(NumberFontNormalSmall)
  57.     FixFontShadow(NumberFontNormal)
  58.     FixFontShadow(NumberFontNormalLarge)
  59.     FixFontShadow(NumberFontNormalHuge)
  60.     FixFontShadow(WorldMapTextFont)
  61.     FixFontShadow(MovieSubtitleFont)
  62.     FixFontShadow(AchievementPointsFont)
  63.     FixFontShadow(AchievementPointsFontSmall)
  64.     FixFontShadow(AchievementDateFont)
  65.     FixFontShadow(AchievementCriteriaFont)
  66.     FixFontShadow(AchievementDescriptionFont)
  67.     FixFontShadow(FriendsFont_Large)
  68.     FixFontShadow(FriendsFont_Normal)
  69.     FixFontShadow(FriendsFont_Small)
  70.     FixFontShadow(FriendsFont_UserText)
  71.     FixFontShadow(GameTooltipHeaderText)
  72.     FixFontShadow(GameTooltipText)
  73.     FixFontShadow(GameTooltipTextSmall)
  74.     FixFontShadow(ZoneTextString)
  75.     FixFontShadow(SubZoneTextString)
  76.     FixFontShadow(PVPInfoTextString)
  77.     FixFontShadow(PVPArenaTextString)
  78.     FixFontShadow(CombatTextFont)
  79.     FixFontShadow(BackpackTokenFrameToken1Count)
  80.     FixFontShadow(BackpackTokenFrameToken2Count)
  81.     FixFontShadow(BackpackTokenFrameToken3Count)
  82.     FixFontShadow(QuestFontHighlight)
  83.     FixFontShadow(QuestFontNormalSmall)
  84.     FixFontShadow(QuestTitleFont)
  85.     FixFontShadow(QuestFont)
  86.     FixFontShadow(QuestFont_Large)
  87.     FixFontShadow(QuestTitleFontBlackShadow)
  88.     FixFontShadow(QuestFont_Super_Huge)
  89.     FixFontShadow(HelpFrameKnowledgebaseNavBarHomeButtonText)
  90.     FixFontShadow(GameFont_Gigantic)
  91.     FixFontShadow(CoreAbilityFont)
  92.     FixFontShadow(DestinyFontHuge)
  93.     FixFontShadow(DestinyFontLarge)
  94.     FixFontShadow(InvoiceFont_Small)
  95.     FixFontShadow(InvoiceFont_Med)
  96.     FixFontShadow(MailFont_Large)
  97.     FixFontShadow(QuestFont_Shadow_Small)
  98.     FixFontShadow(QuestFont_Shadow_Huge)
  99.     FixFontShadow(QuestFont_Huge)
  100.     FixFontShadow(QuestFont_Enormous)
  101.     FixFontShadow(SpellFont_Small)
  102.     FixFontShadow(SystemFont_Huge1)
  103.     FixFontShadow(SystemFont_OutlineThick_WTF)
  104.     FixFontShadow(SystemFont_OutlineThick_Huge2)
  105.     FixFontShadow(SystemFont_OutlineThick_Huge4)
  106.     FixFontShadow(SystemFont_Outline)
  107.     FixFontShadow(SystemFont_Shadow_Large_Outline)
  108.     FixFontShadow(SystemFont_Shadow_Large2)
  109.     FixFontShadow(SystemFont_Shadow_Med2)
  110.     FixFontShadow(SystemFont_Shadow_Huge2)
  111.     FixFontShadow(SystemFont_Small2)
  112.     FixFontShadow(Tooltip_Med)
  113.     FixFontShadow(Tooltip_Small)
  114.     -----
  115.     FixFontShadow(GameFontNormalMed3)
  116.     FixFontShadow(GameFontNormalHuge2)
  117.     FixFontShadow(GameFontNormalLarge2)
  118.     FixFontShadow(Game30Font)
  119.     FixFontShadow(Game24Font)
  120.     FixFontShadow(Game20Font)
  121.     FixFontShadow(Game18Font)
  122.     FixFontShadow(Fancy24Font) -- e.g. Weekly best @ ChallengesFrame
  123.     FixFontShadow(Fancy16Font)         
  124.     FixFontShadow(Fancy48Font)
  125.     FixFontShadow(Fancy22Font) -- e.g. TalkingHeadFrame TitleFont
  126.     FixFontShadow(Fancy32Font)
  127.     FixFontShadow(SystemFont_LargeNamePlate)
  128.     FixFontShadow(SystemFont_NamePlate)
  129.     FixFontShadow(SystemFont_LargeNamePlateFixed)
  130.     FixFontShadow(SystemFont_NamePlateFixed)
  131.     FixFontShadow(WhiteNormalNumberFont)    -- font shown at tradeskill skillbars
  132.     FixFontShadow(PVPInfoTextFont)
  133.     FixFontShadow(ChatFrame1EditBox)    -- chateditbox input text
  134.     FixFontShadow(ChatFrame1EditBoxHeader)  -- chateditbox say/whisper/guild text
  135.     FixFontShadow(GameTooltipHeader)    -- dungeon journal suggestion font
  136.  
  137.     f:SetScript("OnEvent", nil) -- not sure if this helps saving memory
  138.     f = nil -- not sure if this helps saving memory
  139. end)
  140.  
  141. -- some addon fontstrings need this
  142. local proto = getmetatable(f:CreateFontString()).__index
  143. hooksecurefunc(proto, "SetShadowOffset", function(self, x, y)
  144.     if y > -2 and y < 0 then
  145.         self:SetShadowOffset(x, -2)
  146.     end
  147. end)
  148. hooksecurefunc(proto, "SetFontObject", function(self, ...)
  149.     self:SetShadowOffset(self:GetShadowOffset())
  150. end)

eiszeit 10-29-16 07:49 AM

Hm, on my resolution and display I had to set it to -3 instead of -2.

Tonyleila 10-30-16 08:13 AM

So.. Is this maybe a task for BlizzBugsSuck?

Resike 10-30-16 10:23 AM

This bug is depends on a lot of things, mostly when the font's parent itself is not positioned on an even value, or the font itself has a fracture in it's position, but also custom ui parent scale or resolution aspect ratio has to do with this too and of the font's parent scale itself too.

Phanx 10-31-16 09:04 AM

Quote:

Originally Posted by Tonyleila (Post 320490)
So.. Is this maybe a task for BlizzBugsSuck?

No, definitely not. The amount of code required to go through all the font objects in the game and modify them would about double the size of BBS, and still wouldn't fix the problem in all cases -- occasionally Blizz creates font strings that don't inherit from a font object, and addons frequently create font strings that don't inherit from a font object. Plus, while it can be sort-of-fixed in the UI, it's not actually a UI bug; it's a graphics engine bug.

(Anecdotally, while I read this thread days ago, I didn't even notice the bug while doing a bit of addon work over the last few hours. After seeing this thread again, I launched the game again, and the bug is indeed present. If I didn't notice it, chances are the average user wouldn't even notice it if you specifically asked them to look for it. :p)

zork 10-31-16 10:56 AM

I only noticed it because my chat looked odd and unreadable.

sezz 11-03-16 08:26 PM

Fixed :banana:

Aftermathhqt 11-04-16 02:42 AM

Hotfixed today :)

Translitdk 11-07-16 05:10 AM

After this hotfix my floating combat text outlines moved very far.
http://image.prntscr.com/image/49b57...49c6513bec.png

Is there way to move it byhand like you did?

Aftermathhqt 11-07-16 09:49 AM

Quote:

Originally Posted by Translitdk (Post 320703)
After this hotfix my floating combat text outlines moved very far.
http://image.prntscr.com/image/49b57...49c6513bec.png

Is there way to move it byhand like you did?

I noticed this too it's annoying

Resike 11-11-16 03:36 PM

From the recent Q&A:

The way the anchoring system works causes floating point errors all over, so there are lots of textures in the UI that are half of a pixel off. The UI designers manually tweak things in the XML to get it looking crisp again.


All times are GMT -6. The time now is 04:44 PM.

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