diff --git a/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua b/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua index bcfe071..1e36320 100755 --- a/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua +++ b/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua @@ -1,13 +1,13 @@ --- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables. -- @class file -- @name AceConfigDialog-3.0 --- @release $Id: AceConfigDialog-3.0.lua 1212 2019-06-26 05:53:51Z nevcairiel $ +-- @release $Id: AceConfigDialog-3.0.lua 1222 2019-07-26 22:14:43Z funkydude $ local LibStub = LibStub local gui = LibStub("AceGUI-3.0") local reg = LibStub("AceConfigRegistry-3.0") -local MAJOR, MINOR = "AceConfigDialog-3.0", 73 +local MAJOR, MINOR = "AceConfigDialog-3.0", 77 local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR) if not AceConfigDialog then return end @@ -15,6 +15,7 @@ if not AceConfigDialog then return end AceConfigDialog.OpenFrames = AceConfigDialog.OpenFrames or {} AceConfigDialog.Status = AceConfigDialog.Status or {} AceConfigDialog.frame = AceConfigDialog.frame or CreateFrame("Frame") +AceConfigDialog.tooltip = AceConfigDialog.tooltip or CreateFrame("GameTooltip", "AceConfigDialogTooltip", UIParent, "GameTooltipTemplate") AceConfigDialog.frame.apps = AceConfigDialog.frame.apps or {} AceConfigDialog.frame.closing = AceConfigDialog.frame.closing or {} @@ -30,7 +31,7 @@ local math_min, math_max, math_floor = math.min, math.max, math.floor -- Global vars/functions that we don't upvalue since they might get hooked, or upgraded -- List them here for Mikk's FindGlobals script --- GLOBALS: NORMAL_FONT_COLOR, GameTooltip, StaticPopupDialogs, ACCEPT, CANCEL, StaticPopup_Show +-- GLOBALS: NORMAL_FONT_COLOR, ACCEPT, CANCEL -- GLOBALS: PlaySound, GameFontHighlight, GameFontHighlightSmall, GameFontHighlightLarge -- GLOBALS: CloseSpecialWindows, InterfaceOptions_AddCategory, geterrorhandler @@ -504,8 +505,9 @@ local function OptionOnMouseOver(widget, event) local options = user.options local path = user.path local appName = user.appName + local tooltip = AceConfigDialog.tooltip - GameTooltip:SetOwner(widget.frame, "ANCHOR_TOPRIGHT") + tooltip:SetOwner(widget.frame, "ANCHOR_TOPRIGHT") local name = GetOptionsMemberValue("name", opt, options, path, appName) local desc = GetOptionsMemberValue("desc", opt, options, path, appName) local usage = GetOptionsMemberValue("usage", opt, options, path, appName) @@ -513,23 +515,23 @@ local function OptionOnMouseOver(widget, event) if descStyle and descStyle ~= "tooltip" then return end - GameTooltip:SetText(name, 1, .82, 0, true) + tooltip:SetText(name, 1, .82, 0, true) if opt.type == "multiselect" then - GameTooltip:AddLine(user.text, 0.5, 0.5, 0.8, true) + tooltip:AddLine(user.text, 0.5, 0.5, 0.8, true) end if type(desc) == "string" then - GameTooltip:AddLine(desc, 1, 1, 1, true) + tooltip:AddLine(desc, 1, 1, 1, true) end if type(usage) == "string" then - GameTooltip:AddLine("Usage: "..usage, NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b, true) + tooltip:AddLine("Usage: "..usage, NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b, true) end - GameTooltip:Show() + tooltip:Show() end local function OptionOnMouseLeave(widget, event) - GameTooltip:Hide() + AceConfigDialog.tooltip:Hide() end local function GetFuncName(option) @@ -540,71 +542,112 @@ local function GetFuncName(option) return "set" end end +do + local frame = AceConfigDialog.popup + if not frame then + frame = CreateFrame("Frame", nil, UIParent) + AceConfigDialog.popup = frame + frame:Hide() + frame:SetPoint("CENTER", UIParent, "CENTER") + frame:SetSize(320, 72) + frame:SetFrameStrata("TOOLTIP") + frame:SetScript("OnKeyDown", function(self, key) + if key == "ESCAPE" then + self:SetPropagateKeyboardInput(false) + if self.cancel:IsShown() then + self.cancel:Click() + else -- Showing a validation error + self:Hide() + end + else + self:SetPropagateKeyboardInput(true) + end + end) + + local border = CreateFrame("Frame", nil, frame, "DialogBorderDarkTemplate") + border:SetAllPoints(frame) + + local text = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight") + text:SetSize(290, 0) + text:SetPoint("TOP", 0, -16) + frame.text = text + + local function newButton(text) + local button = CreateFrame("Button", nil, frame) + button:SetSize(128, 21) + button:SetNormalFontObject(GameFontNormal) + button:SetHighlightFontObject(GameFontHighlight) + button:SetNormalTexture(130763) -- "Interface\\Buttons\\UI-DialogBox-Button-Up" + button:GetNormalTexture():SetTexCoord(0.0, 1.0, 0.0, 0.71875) + button:SetPushedTexture(130761) -- "Interface\\Buttons\\UI-DialogBox-Button-Down" + button:GetPushedTexture():SetTexCoord(0.0, 1.0, 0.0, 0.71875) + button:SetHighlightTexture(130762) -- "Interface\\Buttons\\UI-DialogBox-Button-Highlight" + button:GetHighlightTexture():SetTexCoord(0.0, 1.0, 0.0, 0.71875) + button:SetText(text) + return button + end + + local accept = newButton(ACCEPT) + accept:SetPoint("BOTTOMRIGHT", frame, "BOTTOM", -6, 16) + frame.accept = accept + + local cancel = newButton(CANCEL) + cancel:SetPoint("LEFT", accept, "RIGHT", 13, 0) + frame.cancel = cancel + end +end local function confirmPopup(appName, rootframe, basepath, info, message, func, ...) - if not StaticPopupDialogs["ACECONFIGDIALOG30_CONFIRM_DIALOG"] then - StaticPopupDialogs["ACECONFIGDIALOG30_CONFIRM_DIALOG"] = {} - end - local t = StaticPopupDialogs["ACECONFIGDIALOG30_CONFIRM_DIALOG"] - for k in pairs(t) do - t[k] = nil - end - t.text = message - t.button1 = ACCEPT - t.button2 = CANCEL - t.preferredIndex = STATICPOPUP_NUMDIALOGS - local dialog, oldstrata - t.OnAccept = function() - safecall(func, unpack(t)) - if dialog and oldstrata then - dialog:SetFrameStrata(oldstrata) - end + local frame = AceConfigDialog.popup + frame:Show() + frame.text:SetText(message) + -- From StaticPopup.lua + -- local height = 32 + text:GetHeight() + 2; + -- height = height + 6 + accept:GetHeight() + -- We add 32 + 2 + 6 + 21 (button height) == 61 + local height = 61 + frame.text:GetHeight() + frame:SetHeight(height) + + frame.accept:ClearAllPoints() + frame.accept:SetPoint("BOTTOMRIGHT", frame, "BOTTOM", -6, 16) + frame.cancel:Show() + + local t = {...} + local tCount = select("#", ...) + frame.accept:SetScript("OnClick", function(self) + safecall(func, unpack(t, 1, tCount)) -- Manually set count as unpack() stops on nil (bug with #table) AceConfigDialog:Open(appName, rootframe, unpack(basepath or emptyTbl)) + frame:Hide() + self:SetScript("OnClick", nil) + frame.cancel:SetScript("OnClick", nil) del(info) - end - t.OnCancel = function() - if dialog and oldstrata then - dialog:SetFrameStrata(oldstrata) - end + end) + frame.cancel:SetScript("OnClick", function(self) AceConfigDialog:Open(appName, rootframe, unpack(basepath or emptyTbl)) + frame:Hide() + self:SetScript("OnClick", nil) + frame.accept:SetScript("OnClick", nil) del(info) - end - for i = 1, select("#", ...) do - t[i] = select(i, ...) or false - end - t.timeout = 0 - t.whileDead = 1 - t.hideOnEscape = 1 - - dialog = StaticPopup_Show("ACECONFIGDIALOG30_CONFIRM_DIALOG") - if dialog then - oldstrata = dialog:GetFrameStrata() - dialog:SetFrameStrata("TOOLTIP") - end + end) end local function validationErrorPopup(message) - if not StaticPopupDialogs["ACECONFIGDIALOG30_VALIDATION_ERROR_DIALOG"] then - StaticPopupDialogs["ACECONFIGDIALOG30_VALIDATION_ERROR_DIALOG"] = {} - end - local t = StaticPopupDialogs["ACECONFIGDIALOG30_VALIDATION_ERROR_DIALOG"] - t.text = message - t.button1 = OKAY - t.preferredIndex = STATICPOPUP_NUMDIALOGS - local dialog, oldstrata - t.OnAccept = function() - if dialog and oldstrata then - dialog:SetFrameStrata(oldstrata) - end - end - t.timeout = 0 - t.whileDead = 1 - t.hideOnEscape = 1 - - dialog = StaticPopup_Show("ACECONFIGDIALOG30_VALIDATION_ERROR_DIALOG") - if dialog then - oldstrata = dialog:GetFrameStrata() - dialog:SetFrameStrata("TOOLTIP") - end + local frame = AceConfigDialog.popup + frame:Show() + frame.text:SetText(message) + -- From StaticPopup.lua + -- local height = 32 + text:GetHeight() + 2; + -- height = height + 6 + accept:GetHeight() + -- We add 32 + 2 + 6 + 21 (button height) == 61 + local height = 61 + frame.text:GetHeight() + frame:SetHeight(height) + + frame.accept:ClearAllPoints() + frame.accept:SetPoint("BOTTOM", frame, "BOTTOM", 0, 16) + frame.cancel:Hide() + + frame.accept:SetScript("OnClick", function() + frame:Hide() + end) end local function ActivateControl(widget, event, ...) @@ -1433,6 +1476,7 @@ local function TreeOnButtonEnter(widget, event, uniquevalue, button) local option = user.option local path = user.path local appName = user.appName + local tooltip = AceConfigDialog.tooltip local feedpath = new() for i = 1, #path do @@ -1449,25 +1493,25 @@ local function TreeOnButtonEnter(widget, event, uniquevalue, button) local name = GetOptionsMemberValue("name", group, options, feedpath, appName) local desc = GetOptionsMemberValue("desc", group, options, feedpath, appName) - GameTooltip:SetOwner(button, "ANCHOR_NONE") - GameTooltip:ClearAllPoints() + tooltip:SetOwner(button, "ANCHOR_NONE") + tooltip:ClearAllPoints() if widget.type == "TabGroup" then - GameTooltip:SetPoint("BOTTOM",button,"TOP") + tooltip:SetPoint("BOTTOM",button,"TOP") else - GameTooltip:SetPoint("LEFT",button,"RIGHT") + tooltip:SetPoint("LEFT",button,"RIGHT") end - GameTooltip:SetText(name, 1, .82, 0, true) + tooltip:SetText(name, 1, .82, 0, true) if type(desc) == "string" then - GameTooltip:AddLine(desc, 1, 1, 1, true) + tooltip:AddLine(desc, 1, 1, 1, true) end - GameTooltip:Show() + tooltip:Show() end local function TreeOnButtonLeave(widget, event, value, button) - GameTooltip:Hide() + AceConfigDialog.tooltip:Hide() end diff --git a/libs/AceDB-3.0/AceDB-3.0.lua b/libs/AceDB-3.0/AceDB-3.0.lua index c41e9a4..440330f 100755 --- a/libs/AceDB-3.0/AceDB-3.0.lua +++ b/libs/AceDB-3.0/AceDB-3.0.lua @@ -40,8 +40,8 @@ -- end -- @class file -- @name AceDB-3.0.lua --- @release $Id: AceDB-3.0.lua 1193 2018-08-02 12:24:37Z funkydude $ -local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 26 +-- @release $Id: AceDB-3.0.lua 1217 2019-07-11 03:06:18Z funkydude $ +local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 27 local AceDB = LibStub:NewLibrary(ACEDB_MAJOR, ACEDB_MINOR) if not AceDB then return end -- No upgrade needed @@ -397,7 +397,7 @@ AceDB.frame:SetScript("OnEvent", logoutHandler) -- @param defaults A table of defaults for this database function DBObjectLib:RegisterDefaults(defaults) if defaults and type(defaults) ~= "table" then - error("Usage: AceDBObject:RegisterDefaults(defaults): 'defaults' - table or nil expected.", 2) + error(("Usage: AceDBObject:RegisterDefaults(defaults): 'defaults' - table or nil expected, got %q."):format(type(defaults)), 2) end validateDefaults(defaults, self.keys) @@ -429,7 +429,7 @@ end -- @param name The name of the profile to set as the current profile function DBObjectLib:SetProfile(name) if type(name) ~= "string" then - error("Usage: AceDBObject:SetProfile(name): 'name' - string expected.", 2) + error(("Usage: AceDBObject:SetProfile(name): 'name' - string expected, got %q."):format(type(name)), 2) end -- changing to the same profile, dont do anything @@ -471,7 +471,7 @@ end -- @param tbl A table to store the profile names in (optional) function DBObjectLib:GetProfiles(tbl) if tbl and type(tbl) ~= "table" then - error("Usage: AceDBObject:GetProfiles(tbl): 'tbl' - table or nil expected.", 2) + error(("Usage: AceDBObject:GetProfiles(tbl): 'tbl' - table or nil expected, got %q."):format(type(tbl)), 2) end -- Clear the container table @@ -509,15 +509,15 @@ end -- @param silent If true, do not raise an error when the profile does not exist function DBObjectLib:DeleteProfile(name, silent) if type(name) ~= "string" then - error("Usage: AceDBObject:DeleteProfile(name): 'name' - string expected.", 2) + error(("Usage: AceDBObject:DeleteProfile(name): 'name' - string expected, got %q."):format(type(name)), 2) end if self.keys.profile == name then - error("Cannot delete the active profile in an AceDBObject.", 2) + error(("Cannot delete the active profile (%q) in an AceDBObject."):format(name), 2) end if not rawget(self.profiles, name) and not silent then - error("Cannot delete profile '" .. name .. "'. It does not exist.", 2) + error(("Cannot delete profile %q as it does not exist."):format(name), 2) end self.profiles[name] = nil @@ -548,15 +548,15 @@ end -- @param silent If true, do not raise an error when the profile does not exist function DBObjectLib:CopyProfile(name, silent) if type(name) ~= "string" then - error("Usage: AceDBObject:CopyProfile(name): 'name' - string expected.", 2) + error(("Usage: AceDBObject:CopyProfile(name): 'name' - string expected, got %q."):format(type(name)), 2) end if name == self.keys.profile then - error("Cannot have the same source and destination profiles.", 2) + error(("Cannot have the same source and destination profiles (%q)."):format(name), 2) end if not rawget(self.profiles, name) and not silent then - error("Cannot copy profile '" .. name .. "'. It does not exist.", 2) + error(("Cannot copy profile %q as it does not exist."):format(name), 2) end -- Reset the profile before copying @@ -611,7 +611,7 @@ end -- @param defaultProfile The profile name to use as the default function DBObjectLib:ResetDB(defaultProfile) if defaultProfile and type(defaultProfile) ~= "string" then - error("Usage: AceDBObject:ResetDB(defaultProfile): 'defaultProfile' - string or nil expected.", 2) + error(("Usage: AceDBObject:ResetDB(defaultProfile): 'defaultProfile' - string or nil expected, got %q."):format(type(defaultProfile)), 2) end local sv = self.sv @@ -645,13 +645,13 @@ end -- @param defaults A table of values to use as defaults function DBObjectLib:RegisterNamespace(name, defaults) if type(name) ~= "string" then - error("Usage: AceDBObject:RegisterNamespace(name, defaults): 'name' - string expected.", 2) + error(("Usage: AceDBObject:RegisterNamespace(name, defaults): 'name' - string expected, got %q."):format(type(name)), 2) end if defaults and type(defaults) ~= "table" then - error("Usage: AceDBObject:RegisterNamespace(name, defaults): 'defaults' - table or nil expected.", 2) + error(("Usage: AceDBObject:RegisterNamespace(name, defaults): 'defaults' - table or nil expected, got %q."):format(type(defaults)), 2) end if self.children and self.children[name] then - error ("Usage: AceDBObject:RegisterNamespace(name, defaults): 'name' - a namespace with that name already exists.", 2) + error(("Usage: AceDBObject:RegisterNamespace(name, defaults): 'name' - a namespace called %q already exists."):format(name), 2) end local sv = self.sv @@ -675,10 +675,10 @@ end -- @return the namespace object if found function DBObjectLib:GetNamespace(name, silent) if type(name) ~= "string" then - error("Usage: AceDBObject:GetNamespace(name): 'name' - string expected.", 2) + error(("Usage: AceDBObject:GetNamespace(name): 'name' - string expected, got %q."):format(type(name)), 2) end if not silent and not (self.children and self.children[name]) then - error ("Usage: AceDBObject:GetNamespace(name): 'name' - namespace does not exist.", 2) + error(("Usage: AceDBObject:GetNamespace(name): 'name' - namespace %q does not exist."):format(name), 2) end if not self.children then self.children = {} end return self.children[name] @@ -717,15 +717,15 @@ function AceDB:New(tbl, defaults, defaultProfile) end if type(tbl) ~= "table" then - error("Usage: AceDB:New(tbl, defaults, defaultProfile): 'tbl' - table expected.", 2) + error(("Usage: AceDB:New(tbl, defaults, defaultProfile): 'tbl' - table expected, got %q."):format(type(tbl)), 2) end if defaults and type(defaults) ~= "table" then - error("Usage: AceDB:New(tbl, defaults, defaultProfile): 'defaults' - table expected.", 2) + error(("Usage: AceDB:New(tbl, defaults, defaultProfile): 'defaults' - table expected, got %q."):format(type(defaults)), 2) end if defaultProfile and type(defaultProfile) ~= "string" and defaultProfile ~= true then - error("Usage: AceDB:New(tbl, defaults, defaultProfile): 'defaultProfile' - string or true expected.", 2) + error(("Usage: AceDB:New(tbl, defaults, defaultProfile): 'defaultProfile' - string or true expected, got %q."):format(type(defaultProfile)), 2) end return initdb(tbl, defaults, defaultProfile) diff --git a/libs/AceGUI-3.0/AceGUI-3.0.lua b/libs/AceGUI-3.0/AceGUI-3.0.lua index 66a5529..f59edda 100755 --- a/libs/AceGUI-3.0/AceGUI-3.0.lua +++ b/libs/AceGUI-3.0/AceGUI-3.0.lua @@ -24,8 +24,8 @@ -- f:AddChild(btn) -- @class file -- @name AceGUI-3.0 --- @release $Id: AceGUI-3.0.lua 1202 2019-05-15 23:11:22Z nevcairiel $ -local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 36 +-- @release $Id: AceGUI-3.0.lua 1221 2019-07-20 18:23:00Z nevcairiel $ +local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 39 local AceGUI, oldminor = LibStub:NewLibrary(ACEGUI_MAJOR, ACEGUI_MINOR) if not AceGUI then return end -- No upgrade needed @@ -51,6 +51,7 @@ AceGUI.LayoutRegistry = AceGUI.LayoutRegistry or {} AceGUI.WidgetBase = AceGUI.WidgetBase or {} AceGUI.WidgetContainerBase = AceGUI.WidgetContainerBase or {} AceGUI.WidgetVersions = AceGUI.WidgetVersions or {} +AceGUI.tooltip = AceGUI.tooltip or CreateFrame("GameTooltip", "AceGUITooltip", UIParent, "GameTooltipTemplate") -- local upvalues local WidgetRegistry = AceGUI.WidgetRegistry @@ -176,6 +177,7 @@ end -- @param widget The widget to release function AceGUI:Release(widget) safecall(widget.PauseLayout, widget) + widget.frame:Hide() widget:Fire("OnRelease") safecall(widget.ReleaseChildren, widget) @@ -638,6 +640,7 @@ AceGUI:RegisterLayout("Fill", if children[1] then children[1]:SetWidth(content:GetWidth() or 0) children[1]:SetHeight(content:GetHeight() or 0) + children[1].frame:ClearAllPoints() children[1].frame:SetAllPoints(content) children[1].frame:Show() safecall(content.obj.LayoutFinished, content.obj, nil, children[1].frame:GetHeight()) diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua index 3558edd..eb94c04 100755 --- a/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua @@ -2,7 +2,7 @@ TreeGroup Container Container that uses a tree control to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TreeGroup", 42 +local Type, Version = "TreeGroup", 44 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -18,7 +18,7 @@ local CreateFrame, UIParent = CreateFrame, UIParent -- Global vars/functions that we don't upvalue since they might get hooked, or upgraded -- List them here for Mikk's FindGlobals script --- GLOBALS: GameTooltip, FONT_COLOR_CODE_CLOSE +-- GLOBALS: FONT_COLOR_CODE_CLOSE -- Recycling functions local new, del @@ -208,12 +208,13 @@ local function Button_OnEnter(frame) self:Fire("OnButtonEnter", frame.uniquevalue, frame) if self.enabletooltips then - GameTooltip:SetOwner(frame, "ANCHOR_NONE") - GameTooltip:ClearAllPoints() - GameTooltip:SetPoint("LEFT",frame,"RIGHT") - GameTooltip:SetText(frame.text:GetText() or "", 1, .82, 0, true) + local tooltip = AceGUI.tooltip + tooltip:SetOwner(frame, "ANCHOR_NONE") + tooltip:ClearAllPoints() + tooltip:SetPoint("LEFT",frame,"RIGHT") + tooltip:SetText(frame.text:GetText() or "", 1, .82, 0, true) - GameTooltip:Show() + tooltip:Show() end end @@ -222,7 +223,7 @@ local function Button_OnLeave(frame) self:Fire("OnButtonLeave", frame.uniquevalue, frame) if self.enabletooltips then - GameTooltip:Hide() + AceGUI.tooltip:Hide() end end @@ -268,14 +269,15 @@ end local function Dragger_OnMouseUp(frame) local treeframe = frame:GetParent() local self = treeframe.obj - local frame = treeframe:GetParent() + local treeframeParent = treeframe:GetParent() treeframe:StopMovingOrSizing() --treeframe:SetScript("OnUpdate", nil) treeframe:SetUserPlaced(false) --Without this :GetHeight will get stuck on the current height, causing the tree contents to not resize treeframe:SetHeight(0) - treeframe:SetPoint("TOPLEFT", frame, "TOPLEFT",0,0) - treeframe:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT",0,0) + treeframe:ClearAllPoints() + treeframe:SetPoint("TOPLEFT", treeframeParent, "TOPLEFT",0,0) + treeframe:SetPoint("BOTTOMLEFT", treeframeParent, "BOTTOMLEFT",0,0) local status = self.status or self.localstatus status.treewidth = treeframe:GetWidth() diff --git a/libs/HereBeDragons/CHANGELOG.md b/libs/HereBeDragons/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/libs/HereBeDragons/HereBeDragons-2.0.lua b/libs/HereBeDragons/HereBeDragons-2.0.lua old mode 100644 new mode 100755 diff --git a/libs/HereBeDragons/HereBeDragons-Migrate.lua b/libs/HereBeDragons/HereBeDragons-Migrate.lua old mode 100644 new mode 100755 diff --git a/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua b/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua old mode 100644 new mode 100755