diff --git a/UnitXP_SP3_Addon.lua b/UnitXP_SP3_Addon.lua
index b44d331..91e3182 100755
--- a/UnitXP_SP3_Addon.lua
+++ b/UnitXP_SP3_Addon.lua
@@ -107,6 +107,22 @@ local function UnitXP_SP3_FPScap(cap)
return UnitXP_SP3_Addon["FPScap"];
end
+local function UnitXP_SP3_backgroundFPScap(cap)
+ local test, result = pcall(UnitXP, "backgroundFPScap", cap);
+
+ if not test then
+ if not skipUpdateMessage then
+ skipUpdateMessage = true;
+ UnitXP_SP3_Print(
+ "UnitXP_SP3.dll failed to execute \"backgroundFPScap\". You might need to update UnitXP_SP3.dll to support this method.");
+ end
+ return UnitXP_SP3_Addon["backgroundFPScap"];
+ end
+
+ UnitXP_SP3_Addon["backgroundFPScap"] = result;
+ return UnitXP_SP3_Addon["backgroundFPScap"];
+end
+
local function UnitXP_SP3_setTargetingRangeConeFactor(factor)
local test, result = pcall(UnitXP, "target", "rangeCone", factor);
@@ -170,7 +186,13 @@ function UnitXP_SP3_detoured_CombatText_AddMessage(message, scrollFunction, r, g
if displayType == "crit" then
pcall(UnitXP, "addCombatText", "crit", message, r, g, b);
else
- pcall(UnitXP, "addCombatText", "normal", message, r, g, b);
+ if COMBAT_TEXT_FLOAT_MODE == "1" then
+ pcall(UnitXP, "addCombatText", "normal", message, r, g, b);
+ elseif COMBAT_TEXT_FLOAT_MODE == "2" then
+ pcall(UnitXP, "addCombatText", "downward", message, r, g, b);
+ else
+ pcall(UnitXP, "addCombatText", "arc", message, r, g, b);
+ end
end
return nil;
else
@@ -220,6 +242,22 @@ local function UnitXP_SP3_combatTextSP3_fontSize(size)
return UnitXP_SP3_Addon["combatTextSP3_fontSize"];
end
+local function UnitXP_SP3_combatTextSP3_nameplateHeight(size)
+ local test, result = pcall(UnitXP, "combatTextSP3", "setNameplateHeight", size);
+
+ if not test then
+ if not skipUpdateMessage then
+ skipUpdateMessage = true;
+ UnitXP_SP3_Print(
+ "UnitXP_SP3.dll failed to execute \"combatTextSP3 setNameplateHeight\". You might need to update UnitXP_SP3.dll to support this method.");
+ end
+ return UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"];
+ end
+
+ UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"] = result;
+ return UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"];
+end
+
local function UnitXP_SP3_setPrioritizeTargetNameplate(enable)
local test, result = pcall(UnitXP, "prioritizeTargetNameplate", enable);
@@ -401,9 +439,15 @@ local function UnitXP_SP3_reloadConfig()
UnitXP_SP3_FPScap(UnitXP_SP3_Addon["FPScap"]);
xpsp3_editBox_FPScap:SetNumber(UnitXP_SP3_Addon["FPScap"]);
+ UnitXP_SP3_backgroundFPScap(UnitXP_SP3_Addon["backgroundFPScap"]);
+ xpsp3_editBox_backgroundFPScap:SetNumber(UnitXP_SP3_Addon["backgroundFPScap"]);
+
UnitXP_SP3_combatTextSP3_fontSize(UnitXP_SP3_Addon["combatTextSP3_fontSize"]);
xpsp3_editBox_combatTextSP3_fontSize:SetNumber(UnitXP_SP3_Addon["combatTextSP3_fontSize"]);
+ UnitXP_SP3_combatTextSP3_nameplateHeight(UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"]);
+ xpsp3_editBox_combatTextSP3_nameplateHeight:SetNumber(UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"]);
+
UnitXP_SP3_setTargetingRangeConeFactor(UnitXP_SP3_Addon["targetingRangeConeFactor"]);
UnitXP_SP3_setCameraHeight(UnitXP_SP3_Addon["cameraHeight"]);
@@ -427,9 +471,17 @@ local function UnitXP_SP3_reloadConfig()
if UnitXP_SP3_Addon["combatTextSP3"] then
UnitXP_SP3_combatTextSP3("enable");
xpsp3_checkButton_combatTextSP3:SetChecked(true);
+ xpsp3_editBox_combatTextSP3_fontSize:Show();
+ xpsp3_editBox_combatTextSP3_nameplateHeight:Show();
+ xpsp3_fontString_combatTextSP3_fontSize:Show();
+ xpsp3_fontString_combatTextSP3_nameplateHeight:Show();
else
UnitXP_SP3_combatTextSP3("disable");
xpsp3_checkButton_combatTextSP3:SetChecked(false);
+ xpsp3_editBox_combatTextSP3_fontSize:Hide();
+ xpsp3_editBox_combatTextSP3_nameplateHeight:Hide();
+ xpsp3_fontString_combatTextSP3_fontSize:Hide();
+ xpsp3_fontString_combatTextSP3_nameplateHeight:Hide();
end
if UnitXP_SP3_Addon["hideEXPtext"] then
@@ -528,7 +580,9 @@ function UnitXP_SP3_UI_OnClick(widget)
end
xpsp3_editBox_FPScap:ClearFocus();
+ xpsp3_editBox_backgroundFPScap:ClearFocus();
xpsp3_editBox_combatTextSP3_fontSize:ClearFocus();
+ xpsp3_editBox_combatTextSP3_nameplateHeight:ClearFocus();
skipUpdateMessage = false;
@@ -537,9 +591,15 @@ function UnitXP_SP3_UI_OnClick(widget)
if string.find(widget:GetName(), "_FPScap") then
UnitXP_SP3_FPScap(widget:GetNumber());
end
+ if string.find(widget:GetName(), "_backgroundFPScap") then
+ UnitXP_SP3_backgroundFPScap(widget:GetNumber());
+ end
if string.find(widget:GetName(), "_combatTextSP3_fontSize") then
UnitXP_SP3_combatTextSP3_fontSize(widget:GetNumber());
end
+ if string.find(widget:GetName(), "_combatTextSP3_nameplateHeight") then
+ UnitXP_SP3_combatTextSP3_nameplateHeight(widget:GetNumber());
+ end
end
if string.find(widget:GetName(), "_button_") then
@@ -740,7 +800,7 @@ end
function UnitXP_SP3_OnEvent(event)
if event == "ADDON_LOADED" and arg1 == "UnitXP_SP3_Addon" then
- local dataVersion = 29;
+ local dataVersion = 31;
if UnitXP_SP3_Addon == nil or UnitXP_SP3_Addon["dataVersion"] ~= dataVersion then
UnitXP_SP3_Addon = {};
UnitXP_SP3_Addon["dataVersion"] = dataVersion;
@@ -755,10 +815,12 @@ function UnitXP_SP3_OnEvent(event)
UnitXP_SP3_Addon["nameplateCombatFilter"] = false;
UnitXP_SP3_Addon["showInCombatNameplatesNearPlayer"] = false;
UnitXP_SP3_Addon["FPScap"] = 0;
+ UnitXP_SP3_Addon["backgroundFPScap"] = 60;
UnitXP_SP3_Addon["weatherAlwaysClear"] = false;
UnitXP_SP3_Addon["hideCritterNameplate"] = true;
UnitXP_SP3_Addon["combatTextSP3"] = false;
UnitXP_SP3_Addon["combatTextSP3_fontSize"] = 40;
+ UnitXP_SP3_Addon["combatTextSP3_nameplateHeight"] = 55;
UnitXP_SP3_Addon["hideEXPtext"] = false;
UnitXP_SP3_Addon["notify_flashTaskbarIcon"] = {};
@@ -850,16 +912,22 @@ function UnitXP_SP3_OnEvent(event)
return;
elseif event == "PLAYER_ENTERING_WORLD" then
- local test, result = pcall(UnitXP, "FPScap", UnitXP_SP3_Addon["FPScap"]);
+ local test = pcall(UnitXP, "FPScap", UnitXP_SP3_Addon["FPScap"]);
+ local test2 = pcall(UnitXP, "backgroundFPScap", UnitXP_SP3_Addon["backgroundFPScap"]);
if not test then
UnitXP_SP3_Print(
"UnitXP_SP3.dll failed to execute \"FPScap\". You might need to update UnitXP_SP3.dll to support this method.");
end
+ if not test2 then
+ UnitXP_SP3_Print(
+ "UnitXP_SP3.dll failed to execute \"backgroundFPScap\". You might need to update UnitXP_SP3.dll to support this method.");
+ end
return;
elseif event == "PLAYER_LEAVING_WORLD" then
-- Some user report a faster loading time when FPS cap turns off
- local test, result = pcall(UnitXP, "FPScap", 0);
+ local test = pcall(UnitXP, "FPScap", 0);
+ local test2 = pcall(UnitXP, "backgroundFPScap", 0);
if not test then
if not skipUpdateMessage then
@@ -868,6 +936,13 @@ function UnitXP_SP3_OnEvent(event)
"UnitXP_SP3.dll failed to execute \"FPScap\". You might need to update UnitXP_SP3.dll to support this method.");
end
end
+ if not test2 then
+ if not skipUpdateMessage then
+ skipUpdateMessage = true;
+ UnitXP_SP3_Print(
+ "UnitXP_SP3.dll failed to execute \"backgroundFPScap\". You might need to update UnitXP_SP3.dll to support this method.");
+ end
+ end
return;
end
diff --git a/UnitXP_SP3_Addon.xml b/UnitXP_SP3_Addon.xml
index f2d6656..8d34abe 100755
--- a/UnitXP_SP3_Addon.xml
+++ b/UnitXP_SP3_Addon.xml
@@ -10,7 +10,7 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
-
+
@@ -62,12 +62,42 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -437,7 +467,7 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
-
+
@@ -461,33 +491,33 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
-
+
-
+
-
+
-
+
-
+
-
+
@@ -507,36 +537,83 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
-
-
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+ xpsp3tooltip:SetOwner(this, "ANCHOR_LEFT");
+ xpsp3tooltip:SetText("Raise or lower combat text on enemies");
+ xpsp3tooltip:AddLine("Range from 0 to 256. Press Enter to confirm",1,1,1);
+ xpsp3tooltip:Show();
+
+
+ xpsp3tooltip:Hide();
+
+
+ UnitXP_SP3_UI_OnClick(this);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -557,6 +634,54 @@ xsi:schemaLocation="http://www.blizzard.com/wow/ui/ C:\Projects\WoW\Bin\Interfac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xpsp3tooltip:SetOwner(this, "ANCHOR_LEFT");
+ xpsp3tooltip:SetText("Limit background-frames-per-second to the specific value");
+ xpsp3tooltip:AddLine("Zero means no limit. Press Enter to confirm",1,1,1);
+ xpsp3tooltip:Show();
+
+
+ xpsp3tooltip:Hide();
+
+
+ UnitXP_SP3_UI_OnClick(this);
+
+
+
+
+