You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.4 KiB
61 lines
2.4 KiB
local _, Loader = ...
|
|
|
|
Loader:AddInitCallback( "GetMaxAnimationID" );
|
|
|
|
function Loader:GetMaxAnimationID()
|
|
if not self.requireUpdate then
|
|
return
|
|
end
|
|
|
|
if ScriptErrorsFrame and ScriptErrorsFrame.DisplayMessageInternal then
|
|
local errorKeyword = ":SetAnimation";
|
|
local errorPattern = "(%d+) %- (%d+)";
|
|
hooksecurefunc(ScriptErrorsFrame, "DisplayMessageInternal", function(frame, msg, warnType, keepHidden, locals, msgKey)
|
|
if not self.isErrorProcessed then
|
|
--print(msg);
|
|
if string.find(msg, errorKeyword) then
|
|
local minID, maxID = string.match(msg, errorPattern);
|
|
if maxID then
|
|
maxID = tonumber(maxID) - 1;
|
|
if maxID > 1000 then
|
|
local oldMax = NarciConstants.Animation.MaxAnimationID;
|
|
NarciConstants.Animation.MaxAnimationID = maxID;
|
|
NarciPhotoModeAPI:SetMaxAnimationID(maxID);
|
|
if oldMax ~= maxID then
|
|
self:NewMsg("New Animation Range: %d - %d", oldMax, maxID);
|
|
end
|
|
end
|
|
end
|
|
|
|
self.isErrorProcessed = true;
|
|
|
|
--Wipe Error Trace
|
|
local index = frame.seen[msgKey];
|
|
if index then
|
|
frame.seen[msgKey] = nil;
|
|
if index > 0 then
|
|
local tremove = function(t, i)
|
|
if t then
|
|
table.remove(t, i);
|
|
end
|
|
end
|
|
tremove(frame.order, index);
|
|
tremove(frame.count, index);
|
|
tremove(frame.messages, index);
|
|
tremove(frame.times, index);
|
|
tremove(frame.locals, index);
|
|
tremove(frame.warnType, index);
|
|
frame.index = index - 1;
|
|
end
|
|
end
|
|
|
|
ScriptErrorsFrame:Hide();
|
|
end
|
|
end
|
|
end);
|
|
|
|
local model = CreateFrame("PlayerModel", nil, UIParent);
|
|
model:Hide();
|
|
model:SetAnimation(9999);
|
|
end
|
|
end
|