From 47bb7513414de94ecfbd9425d8ac45b07d60870e Mon Sep 17 00:00:00 2001 From: shagu Date: Sat, 10 Dec 2016 15:00:10 +0100 Subject: [PATCH] pixelperfect: enable native scaling (disabled) --- modules/config.lua | 1 + modules/gui.lua | 1 + modules/pixelperfect.lua | 15 +++++++++++++++ pfUI.toc | 1 + 4 files changed, 18 insertions(+) create mode 100644 modules/pixelperfect.lua diff --git a/modules/config.lua b/modules/config.lua index 0dff8882..9fb4f489 100644 --- a/modules/config.lua +++ b/modules/config.lua @@ -3,6 +3,7 @@ pfUI_config = {} function pfUI:LoadConfig() -- MODULE SUBGROUP ENTRY VALUE + pfUI:UpdateConfig("global", nil, "pixelperfect", "0") pfUI:UpdateConfig("global", nil, "font_size", "12") pfUI:UpdateConfig("global", nil, "font_default", "arial") pfUI:UpdateConfig("global", nil, "font_square", "homespun") diff --git a/modules/gui.lua b/modules/gui.lua index c8511be7..b775564d 100644 --- a/modules/gui.lua +++ b/modules/gui.lua @@ -602,6 +602,7 @@ pfUI:RegisterModule("gui", function () -- global pfUI.gui.global = pfUI.gui:CreateConfigTab("Global Settings") local values = { "arial", "homespun", "diediedie" } + pfUI.gui:CreateConfig(pfUI.gui.global, "Use Pixelperfect (native resolution) scaling", pfUI_config.global, "pixelperfect", "checkbox") pfUI.gui:CreateConfig(pfUI.gui.global, "Fontsize", pfUI_config.global, "font_size") pfUI.gui:CreateConfig(pfUI.gui.global, "Default Font", pfUI_config.global, "font_default", "dropdown", values) pfUI.gui:CreateConfig(pfUI.gui.global, "Square Font", pfUI_config.global, "font_square", "dropdown", values) diff --git a/modules/pixelperfect.lua b/modules/pixelperfect.lua new file mode 100644 index 00000000..5ea50da9 --- /dev/null +++ b/modules/pixelperfect.lua @@ -0,0 +1,15 @@ +pfUI:RegisterModule("pixelperfect", function () + if pfUI_config.global.pixelperfect == "1" then + local resolution = GetCVar("gxResolution") + for screenwidth, screenheight in string.gfind(resolution, "(.+)x(.+)") do + local scale = (min(2, max(.64, 768/screenheight))) + SetCVar("UseUIScale", 1) + SetCVar("UIScale", scale) + + -- scale UIParent to native screensize + UIParent:SetWidth(screenwidth) + UIParent:SetHeight(screenheight) + UIParent:SetPoint("CENTER",0,0) + end + end +end) diff --git a/pfUI.toc b/pfUI.toc index 5ccc545f..22c9e98e 100644 --- a/pfUI.toc +++ b/pfUI.toc @@ -25,6 +25,7 @@ env\hacks.lua # modules modules\config.lua modules\gui.lua +modules\pixelperfect.lua modules\actionbar.lua modules\chat.lua modules\font.lua