From e48642ebb3a09ad57d288cb90328b28fdea1e358 Mon Sep 17 00:00:00 2001 From: Ahmil Jilani Date: Thu, 16 Oct 2014 02:21:06 -0400 Subject: [PATCH 1/3] Fixed character macros, which broke when WoD gave us extra account macros. Using constants to prevent this in the future. --- SuperDuperMacro/SuperDuperMacro_Core.lua | 20 ++++++++++---------- SuperDuperMacro/SuperDuperMacro_Interface.lua | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/SuperDuperMacro/SuperDuperMacro_Core.lua b/SuperDuperMacro/SuperDuperMacro_Core.lua index 595f4f3..13e0729 100644 --- a/SuperDuperMacro/SuperDuperMacro_Core.lua +++ b/SuperDuperMacro/SuperDuperMacro_Core.lua @@ -1,6 +1,6 @@ sdm_printPrefix = "|cffff7700Super Duper Macro|r - " sdm_defaultIcon = "INV_MISC_QUESTIONMARK" -sdm_maxNumGlobalMacros = 36 +sdm_MaxTotalMacros = MAX_ACCOUNT_MACROS + MAX_CHARACTER_MACROS 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()} @@ -89,8 +89,8 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) local macrosToDelete = {} local iIsPerCharacter=false local thisID, mTab - for i=1,54 do --Check each macro to see if it's been orphaned by a previous installation of SDM. - if i==37 then iIsPerCharacter=true end + for i=1,sdm_MaxTotalMacros do --Check each macro to see if it's been orphaned by a previous installation of SDM. + if i==MAX_ACCOUNT_MACROS+1 then iIsPerCharacter=true end thisID = sdm_GetSdmID(i) mTab = sdm_macros[thisID] if thisID then --if the macro was created by SDM... @@ -119,7 +119,7 @@ sdm_eventFrame:SetScript("OnEvent", function (self, event, ...) 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.."/"..MAX_ACCOUNT_MACROS.."\nCharacter-specific macros: "..numCharacterMacros.."/"..MAX_CHARACTER_MACROS) end elseif event=="ADDON_LOADED" then local addonName = ...; @@ -168,7 +168,7 @@ function sdm_GetSdmID(macroIndex) end function sdm_GetMacroIndex(sdmID) - for i=1,54 do + for i=1,sdm_MaxTotalMacros do if sdm_GetSdmID(i)==sdmID then return i end @@ -329,11 +329,11 @@ function sdm_CheckCreationSafety(type, name, character) --returns the mTab of th return false end if type=="b" then - if (not character) and GetMacroInfo(36) then - print(sdm_printPrefix.."You already have 36 global macros.") + if (not character) and GetMacroInfo(MAX_ACCOUNT_MACROS) then + print(sdm_printPrefix.."You already have "..MAX_ACCOUNT_MACROS.." 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.") + elseif character and character.name==sdm_thisChar.name and character.realm==sdm_thisChar.realm and GetMacroInfo(sdm_MaxTotalMacros) then + print(sdm_printPrefix.."You already have "..MAX_CHARACTER_MACROS.." character-specific macros.") return false end end @@ -401,7 +401,7 @@ function sdm_UpgradeMacro(index) -- Upgrades the given standard macro to a Super end local name = GetMacroInfo(index) local character - if index > 36 then + if index > MAX_ACCOUNT_MACROS then character = sdm_thisChar end local safe = sdm_CheckCreationSafety("b", name, character) diff --git a/SuperDuperMacro/SuperDuperMacro_Interface.lua b/SuperDuperMacro/SuperDuperMacro_Interface.lua index 6516b1b..5a93080 100644 --- a/SuperDuperMacro/SuperDuperMacro_Interface.lua +++ b/SuperDuperMacro/SuperDuperMacro_Interface.lua @@ -129,12 +129,12 @@ function sdm_DowngradeButtonClicked() sdm_SelectItem(nil) -- deselect the macro in the SDM frame sdm_Quit(" ShowMacroFrame()") -- show the standard macro frame local buttonName = "MacroButton" - if index<=36 then -- global macro + if index<=MAX_ACCOUNT_MACROS then -- global macro MacroFrameTab1:Click() buttonName = buttonName..index else -- character-specific macro MacroFrameTab2:Click() - buttonName = buttonName..(index-36) + buttonName = buttonName..(index-MAX_ACCOUNT_MACROS) end getglobal(buttonName):Click() -- select the newly downgraded macro end -- 1.7.9.5 From 753633310775f42ce56c96fb7ca63dfd519ee187 Mon Sep 17 00:00:00 2001 From: Ahmil Jilani Date: Thu, 16 Oct 2014 03:21:39 -0400 Subject: [PATCH 2/3] Removed rogue debugging line --- SuperDuperMacro/SuperDuperMacro_Core.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/SuperDuperMacro/SuperDuperMacro_Core.lua b/SuperDuperMacro/SuperDuperMacro_Core.lua index 13e0729..fbd5842 100644 --- a/SuperDuperMacro/SuperDuperMacro_Core.lua +++ b/SuperDuperMacro/SuperDuperMacro_Core.lua @@ -412,7 +412,6 @@ function sdm_UpgradeMacro(index) -- Upgrades the given standard macro to a Super 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\\" - print(texture) local newMacro = sdm_CreateNew("b", name, character) newMacro.icon = texture sdm_Edit(newMacro, body) -- 1.7.9.5 From cd10568a22e8d3e72cec78e53c7e705d1dcb95cf Mon Sep 17 00:00:00 2001 From: Ahmil Jilani Date: Thu, 16 Oct 2014 02:31:31 -0400 Subject: [PATCH 3/3] toc and changelog --- SuperDuperMacro/SuperDuperMacro.toc | 7 ++++--- SuperDuperMacro/sdm Readme.txt | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/SuperDuperMacro/SuperDuperMacro.toc b/SuperDuperMacro/SuperDuperMacro.toc index e03e1e7..977cee6 100644 --- a/SuperDuperMacro/SuperDuperMacro.toc +++ b/SuperDuperMacro/SuperDuperMacro.toc @@ -1,10 +1,11 @@ -## Interface: 40300 +## Interface: 60000 ## Title : Super Duper Macro ## Notes: Enables creation of incredibly long macros. ## Author: hypehuman -## Version: 2.4.6 +## Version: 2.6 ## SavedVariables: sdm_version, sdm_listFilters, sdm_iconSize, sdm_mainContents, sdm_macros SuperDuperMacro_Core.lua SuperDuperMacro_Interface.lua SuperDuperMacro_Sharing.lua -SuperDuperMacro_Frames.lua \ No newline at end of file +SuperDuperMacro_Frames.lua +SuperDuperMacro_MacroInterpreter.lua \ No newline at end of file diff --git a/SuperDuperMacro/sdm Readme.txt b/SuperDuperMacro/sdm Readme.txt index 9cb8a40..2bd5e66 100644 --- a/SuperDuperMacro/sdm Readme.txt +++ b/SuperDuperMacro/sdm Readme.txt @@ -1,5 +1,5 @@ Super Duper Macro -version 2.4.6 +version 2.6 by hypehuman Check for updates at http://www.wowinterface.com/downloads/info10496 @@ -23,6 +23,9 @@ Special thanks to: Change Log +2.6 (10/16/14) +¥ÊFixes character-specific macros, which broke when Warlords gave us more global macros. + 2.4.6 (2/20/12) ¥ÊFixed a bug where the interface sometimes inappropriately prevented you from making new macros -- 1.7.9.5