Mercurial > wow > cyborg-mmo7
view CyborgMMO7.lua @ 13:6cb9a2936580
Miscellanous Lua code consistency improvements:
- no semicolon except between statements on same line
- use of implicit cast to bool in if/while conditions, instead of various eq/neq against true, false or nil
- no parenthesis around if/while conditions (C-ism)
- avoid long function calls in if conditions
- removed space in comma-separated expressions lists in multiple assignments
- added spaces between arguments of functions calls
- use tabs for indentation (in Lua files only)
- don't reverse == in if conditions, like "if 42==foo then" (C-ism)
- removed some extra parenthesis in complex expressions (C-ism)
- added spaces around operators in most expressions for ease of reading
- added comma after last element of table initializers
- removed space after # operator
- moved comment prefix of disabled code into tab (to keep disabled code aligned)
author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
---|---|
date | Thu, 25 Apr 2013 01:29:45 +0000 |
parents | da9c4373da48 |
children | 80192bc4a108 |
line wrap: on
line source
--~ Warcraft Plugin for Cyborg MMO7 --~ Filename: CyborgMMO7.lua --~ Description: Plugin entry point, String tables and other generic crap that I could not think to put anywhere else. --~ Copyright (C) 2012 Mad Catz Inc. --~ Author: Christopher Hooks --~ This program is free software; you can redistribute it and/or --~ modify it under the terms of the GNU General Public License --~ as published by the Free Software Foundation; either version 2 --~ of the License, or (at your option) any later version. --~ This program is distributed in the hope that it will be useful, --~ but WITHOUT ANY WARRANTY; without even the implied warranty of --~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --~ GNU General Public License for more details. --~ You should have received a copy of the GNU General Public License --~ along with this program; if not, write to the Free Software --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. function CyborgMMO_LoadStrings(self) --~ msg("LoadStrings("..self:GetName()..") = "..CyborgMMO_StringTable[self:GetName()]) self:SetText(CyborgMMO_StringTable[self:GetName()]) end local CyborgMMO_VarsLoaded = false local CyborgMMO_EnteredWorld = false local CyborgMMO_LoadBinding = false local CyborgMMO_SaveName = GetRealmName().."_"..UnitName("player") local CyborgMMO_Settings = nil function CyborgMMO_MiniMapButtonReposition(pos) CyborgMMO_MiniMapFrame:SetPoint("TOPLEFT", "Minimap", "TOPLEFT", 52 - (80 * cos(pos)), (80 * sin(pos)) - 52) end function CyborgMMO_MiniMapButtonOnUpdate() local xpos,ypos = GetCursorPosition() local xmin,ymin = Minimap:GetLeft(), Minimap:GetBottom() xpos = (xmin)-(xpos / UIParent:GetScale()) ypos = (ypos/ UIParent:GetScale())-(ymin) local degrees = math.deg(math.atan2(ypos, xpos)) while degrees < 0 do degrees = degrees + 360 end CyborgMMO_MiniMapButtonReposition(degrees) end function CyborgMMO_MouseModeChange(mode) local MiniMapTexture = getglobal("CyborgMMO_MiniMapFrameButton_Icon") local MiniMapGlowTexture = getglobal("CyborgMMO_MiniMapFrameButton_IconGlow") local OpenButtonTexture = getglobal("CyborgMMO_OpenButtonPage".."OpenMainForm"):GetNormalTexture() local OpenButtonGlowTexture = getglobal("CyborgMMO_OpenButtonPage".."OpenMainForm"):GetHighlightTexture() if mode == 1 then MiniMapTexture:SetVertexColor(1,0,0,1) -- MiniMapGlowTexture:SetVertexColor(1,0.26,0.26,.75) OpenButtonTexture:SetVertexColor(1,0,0,0.75) -- OpenButtonGlowTexture:SetVertexColor(1,0.26,0.26,0.50) elseif mode == 2 then MiniMapTexture:SetVertexColor(0.07,0.22,1,1) MiniMapGlowTexture:SetVertexColor(0.13,0.56,1,.75) OpenButtonTexture:SetVertexColor(0.07,0.22,1,0.75) OpenButtonGlowTexture:SetVertexColor(0.13,0.56,1,0.5) elseif mode == 3 then MiniMapTexture:SetVertexColor(0.52,0.08,0.89,1) MiniMapGlowTexture:SetVertexColor(0.67,0.31,0.85,.75) OpenButtonTexture:SetVertexColor(0.52,0.08,0.89,0.75) OpenButtonGlowTexture:SetVertexColor(0.67,0.31,0.85,0.5) end end function CyborgMMO_LoadWowCommands() if not CyborgMMO_ProfileKeyBindings then CyborgMMO_ProfileKeyBindings = CyborgMMO_DefaultWowCommands end CyborgMMO_WowCommands = CyborgMMO_ProfileKeyBindings end function CyborgMMO_GetSaveData() if CyborgMMO_VarsLoaded then if not CyborgMMO7SaveData then CyborgMMO7SaveData = {} CyborgMMO7SaveData[CyborgMMO_SaveName] = {} end CyborgMMO_LoadWowCommands() return CyborgMMO7SaveData[CyborgMMO_SaveName] end return nil end function CyborgMMO_SetSaveData(data, index) if CyborgMMO_VarsLoaded then CyborgMMO_GetSaveData()[index] = data CyborgMMO_ProfileKeyBindings = CyborgMMO_WowCommands end end function CyborgMMO_Event(self, event, ...) if event == "VARIABLES_LOADED" then CyborgMMO_VarsLoaded = true elseif event == "PLAYER_ENTERING_WORLD" then CyborgMMO_EnteredWorld = true elseif event == "PLAYER_ENTER_COMBAT" then msg("PLAYER_ENTER_COMBAT") CyborgMMO_Close() else msg("Event is "..tostring(event)) end -- Fire Loading if and only if the player is in the world and vars are loaded if not CyborgMMO_LoadBinding then if CyborgMMO_VarsLoaded then if CyborgMMO_EnteredWorld then local data = CyborgMMO_GetSaveData() CyborgMMO_RatPageModel.Instance().LoadData() CyborgMMO_LoadBinding = true ShowMacroFrame() HideUIPanel(MacroFrame) CyborgMMO_SetupModeCallbacks(1) CyborgMMO_SetupModeCallbacks(2) CyborgMMO_SetupModeCallbacks(3) --Reload Slider values: if not data["Settings"] then data["Settings"] = {} data["Settings"]["Cyborg"] = 0.75 data["Settings"]["Plugin"] = 0.75 data["Settings"]["MiniMapButton"] = true data["Settings"]["CyborgButton"] = true end CyborgMMO_Settings = data["Settings"] CyborgMMO_OptionPageCyborgSizeSlider:SetValue(CyborgMMO_Settings["Cyborg"]) CyborgMMO_SetOpenButtonSize(CyborgMMO_Settings["Cyborg"]) CyborgMMO_OptionPagePluginSizeSlider:SetValue(CyborgMMO_Settings["Plugin"]) CyborgMMO_SetMainPageSize(CyborgMMO_Settings["Plugin"]) CyborgMMO_SetMiniMapButton(CyborgMMO_Settings["MiniMapButton"]) CyborgMMO_SetCyborgHeadButton(CyborgMMO_Settings["CyborgButton"]) local xmin,ymin = Minimap:GetLeft(),Minimap:GetBottom() CyborgMMO_MiniMapButtonReposition(math.deg(math.atan2(ymin, xmin))) -- Close the main window for now CyborgMMO_Close() end end end end function CyborgMMO_SetDefaultSettings() CyborgMMO_OpenButtonPageOpenMainForm:ClearAllPoints() CyborgMMO_MainPage:ClearAllPoints() CyborgMMO_OpenButtonPageOpenMainForm:SetPoint("LEFT", UIParent, "LEFT", 0, 0) CyborgMMO_MainPage:SetPoint("LEFT", UIParent, "LEFT", 0, 0) CyborgMMO_SetOpenButtonSize(0.75) CyborgMMO_SetMainPageSize(0.75) CyborgMMO_SetMiniMapButton(true) CyborgMMO_SetCyborgHeadButton(true) end function CyborgMMO_SetupModeCallbacks(modeNum) fn = function() CyborgMMO_MouseModeChange(modeNum) CyborgMMO_RatPageModel.Instance().SetMode(modeNum) end local buttonFrame,parentFrame,name = CyborgMMO_CallbackFactory.Instance().AddCallback(fn) local result = SetOverrideBindingClick(parentFrame, true, CyborgMMO_Mode[modeNum], name, "LeftButton") if result ~= 1 then msg("Failed to Bind modeChange") end end function CyborgMMO_Loaded() CyborgMMO_MainPage:RegisterEvent("VARIABLES_LOADED") CyborgMMO_MainPage:RegisterEvent("PLAYER_ENTERING_WORLD") CyborgMMO_MainPage:RegisterEvent("PLAYER_ENTER_COMBAT") end function CyborgMMO_Close() CyborgMMO_MainPage:Hide() if CyborgMMO_Settings["CyborgButton"] then CyborgMMO_OpenButtonPage:Show() end end function CyborgMMO_Open() CyborgMMO_MainPage:Show() CyborgMMO_RatQuickPage:Hide() if CyborgMMO_Settings["CyborgButton"] then CyborgMMO_OpenButtonPage:Show() end end function CyborgMMO_IsOpen() if CyborgMMO_MainPage:IsVisible() == 1 then return true else return false end end function CyborgMMO_Toggle() if CyborgMMO_IsOpen() then CyborgMMO_Close() else CyborgMMO_Open() end end function msg(m) local id,name = GetChannelName("Debug") SendChatMessage(m, "CHANNEL", nil, id) end function CyborgMMO_SetMainPageSize(percent) if CyborgMMO_VarsLoaded then if CyborgMMO_EnteredWorld then CyborgMMO_MainPage:SetScale(percent) CyborgMMO_Settings["Plugin"] = percent local data = CyborgMMO_GetSaveData() data["Settings"] = CyborgMMO_Settings CyborgMMO_OptionPagePluginSizeSlider:SetValue(percent) end end end function CyborgMMO_SetOpenButtonSize(percent) if CyborgMMO_VarsLoaded then if CyborgMMO_EnteredWorld then CyborgMMO_OpenButtonPage:SetScale(percent) CyborgMMO_Settings["Cyborg"] = percent local data = CyborgMMO_GetSaveData() data["Settings"] = CyborgMMO_Settings CyborgMMO_OptionPageCyborgSizeSlider:SetValue(percent) end end end function CyborgMMO_SetCyborgHeadButton(boolVal) CyborgMMO_Settings["CyborgButton"] = boolVal CyborgMMO_OptionPageCyborgButton:SetChecked(boolVal) if CyborgMMO_Settings["CyborgButton"] then CyborgMMO_Close() else CyborgMMO_OpenButtonPage:Hide() end local data = CyborgMMO_GetSaveData() data["Settings"] = CyborgMMO_Settings end function CyborgMMO_SetMiniMapButton(boolVal) CyborgMMO_Settings["MiniMapButton"] = boolVal CyborgMMO_OptionPageMiniMapButton:SetChecked(boolVal) if CyborgMMO_Settings["MiniMapButton"] then CyborgMMO_MiniMapFrameButton:Show() else CyborgMMO_MiniMapFrameButton:Hide() end local data = CyborgMMO_GetSaveData() data["Settings"] = CyborgMMO_Settings end