From 4df75201d509bb5395f03fc682024ecf10471adf Mon Sep 17 00:00:00 2001 From: Ahmil Jilani Date: Mon, 20 Feb 2012 16:11:00 -0500 Subject: [PATCH] 2.4.6 --- SuperDuperMacro/SuperDuperMacro.toc | 2 +- SuperDuperMacro/SuperDuperMacro_Core.lua | 55 ++++++++++++++++-------------- SuperDuperMacro/sdm Readme.txt | 5 ++- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/SuperDuperMacro/SuperDuperMacro.toc b/SuperDuperMacro/SuperDuperMacro.toc index 8243302..e03e1e7 100644 --- a/SuperDuperMacro/SuperDuperMacro.toc +++ b/SuperDuperMacro/SuperDuperMacro.toc @@ -2,7 +2,7 @@ ## Title : Super Duper Macro ## Notes: Enables creation of incredibly long macros. ## Author: hypehuman -## Version: 2.4.5 +## Version: 2.4.6 ## SavedVariables: sdm_version, sdm_listFilters, sdm_iconSize, sdm_mainContents, sdm_macros SuperDuperMacro_Core.lua SuperDuperMacro_Interface.lua diff --git a/SuperDuperMacro/SuperDuperMacro_Core.lua b/SuperDuperMacro/SuperDuperMacro_Core.lua index d5606c3..595f4f3 100644 --- a/SuperDuperMacro/SuperDuperMacro_Core.lua +++ b/SuperDuperMacro/SuperDuperMacro_Core.lua @@ -1,5 +1,6 @@ -sdm_printPrefix = "|cffff7700Super Duper Macro|r - " +sdm_printPrefix = "|cffff7700Super Duper Macro|r - " sdm_defaultIcon = "INV_MISC_QUESTIONMARK" +sdm_maxNumGlobalMacros = 36 sdm_countUpdateMacrosEvents=0 sdm_validChars = {1,2,3,4,5,6,7,8,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255} sdm_thisChar = {name=UnitName("player"), realm=GetRealmName()} @@ -31,9 +32,9 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) sdm_mainFrameTitle:SetText("Super Duper Macro "..sdm_version) sdm_eventFrame:UnregisterEvent(event) if (not sdm_macros) then - sdm_macros={} --type tokens: "b": button macro. "f": floating macro. "s": scripts. "c": containers (folders) - -- when updating versions, make sure that the saved data are appropriately updated. - elseif sdm_CompareVersions(oldVersion, sdm_version) == 2 then + sdm_macros={} --type tokens: "b": button macro. "f": floating macro. "s": scripts. "c": containers (folders) + -- when updating versions, make sure that the saved data are appropriately updated. + elseif sdm_CompareVersions(oldVersion, sdm_version) == 2 then if sdm_CompareVersions(oldVersion,"1.6")==2 then -- Hopefully nobody is upgrading from a version this old. If they are, they should download 2.1 and run that once before upgrading to 2.2. sdm_macros={} end @@ -52,13 +53,13 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) end end end - if sdm_CompareVersions(oldVersion,"2.4.2")==2 then - for _,v in pairs(sdm_macros) do - if v.icon then - v.icon = sdm_defaultIcon - end - end - end + if sdm_CompareVersions(oldVersion,"2.4.2")==2 then + for _,v in pairs(sdm_macros) do + if v.icon then + v.icon = sdm_defaultIcon + end + end + end end --Saving strips away numeric keys. Now we have to put the macros back into their proper indices. local savedMacros = sdm_macros @@ -78,11 +79,11 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) sdm_iconSizeSlider:SetValue(sdm_iconSize) sdm_iconSizeSlider:SetScript("OnValueChanged", function(self) sdm_iconSize = self:GetValue() sdm_UpdateList() end) sdm_SelectItem(nil) --We want to start with no macro selected - elseif event=="UPDATE_MACROS" then + elseif event=="UPDATE_MACROS" then -- SDM uses this event for two things. Whenever you log into the game, UPDATE_MACROS is fired twice. After the second firing, the macros are loaded. This is when SDM deletes extraneous macros that it has created before. This generally happens if you use different computers or if you don't use SDM for a while. Whenever you log in, SDM makes sure that your macro list jives with the info in SavedVariables. if sdm_countUpdateMacrosEvents == 0 then - sdm_countUpdateMacrosEvents = 1 - elseif sdm_countUpdateMacrosEvents == 1 then + sdm_countUpdateMacrosEvents = 1 + elseif sdm_countUpdateMacrosEvents == 1 then sdm_countUpdateMacrosEvents = 2 local killOnSight = {} local macrosToDelete = {} @@ -113,12 +114,12 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) if sdm_UsedByThisChar(sdm_macros[i]) then sdm_SetUpMacro(sdm_macros[i]) end - end - end - if sdm_countUpdateMacrosEvents == 2 then + end + end + if sdm_countUpdateMacrosEvents == 2 then -- If the macros are loaded, update the number of button macros on the SDM frame local numAccountMacros, numCharacterMacros = GetNumMacros() - sdm_macroLimitText:SetText("Global macros: "..numAccountMacros.."/36\nCharacter-specific macros: "..numCharacterMacros.."/18") + sdm_macroLimitText:SetText("Global macros: "..numAccountMacros.."/36\nCharacter-specific macros: "..numCharacterMacros.."/18") end elseif event=="ADDON_LOADED" then local addonName = ...; @@ -327,12 +328,14 @@ function sdm_CheckCreationSafety(type, name, character) --returns the mTab of th elseif (type=="b" or type=="f") and sdm_ContainsIllegalChars(name, true) then return false end - if (not character) and GetMacroInfo(36) then - print(sdm_printPrefix.."You already have 36 global macros.") - return false - elseif character and character.name==sdm_thisChar.name and character.realm==sdm_thisChar.realm and GetMacroInfo(54) then - print(sdm_printPrefix.."You already have 18 character-specific macros.") - return false + if type=="b" then + if (not character) and GetMacroInfo(36) then + print(sdm_printPrefix.."You already have 36 global macros.") + return false + elseif character and character.name==sdm_thisChar.name and character.realm==sdm_thisChar.realm and GetMacroInfo(54) then + print(sdm_printPrefix.."You already have 18 character-specific macros.") + return false + end end local conflict = sdm_DoesNameConflict(name, type, {character}, nil, true) if conflict then @@ -407,8 +410,8 @@ function sdm_UpgradeMacro(index) -- Upgrades the given standard macro to a Super end local body = GetMacroBody(index) EditMacro(index, nil, nil, "#sdm"..sdm_numToChars(sdm_GetEmptySlot()).."\n#placeholder") -- let SDM know that this is the macro to edit - local _, texture = GetMacroInfo(index) -- This must be done AFTER the macro body is edited, or the question mark could show up as something else. - texture = texture:sub(17) -- remove the "INTERFACE\\ICONS\\" + local _, texture = GetMacroInfo(index) -- This must be done AFTER the macro body is edited, or the question mark could show up as something else. + texture = texture:sub(17) -- remove the "INTERFACE\\ICONS\\" print(texture) local newMacro = sdm_CreateNew("b", name, character) newMacro.icon = texture diff --git a/SuperDuperMacro/sdm Readme.txt b/SuperDuperMacro/sdm Readme.txt index ddac7fb..9cb8a40 100644 --- a/SuperDuperMacro/sdm Readme.txt +++ b/SuperDuperMacro/sdm Readme.txt @@ -1,5 +1,5 @@ Super Duper Macro -version 2.4.5 +version 2.4.6 by hypehuman Check for updates at http://www.wowinterface.com/downloads/info10496 @@ -23,6 +23,9 @@ Special thanks to: Change Log +2.4.6 (2/20/12) +¥ÊFixed a bug where the interface sometimes inappropriately prevented you from making new macros + 2.4.5 (1/17/12) ¥ÊFixed a bug that caused the "Change Name/Icon" window to sometimes be unresponsive ¥ÊNow the "Change Name/Icon" always deselects the icon when it opens so that you don't accidentally change the icon of one of your macros -- 1.7.9.5