vanilla-wow-addons – Rev 1
?pathlinks?
--[[
-- //////////////////////////////////////////////
-- Variables Init
-- //////////////////////////////////////////////
]]
local rpgoCPD_TITLE ="CharacterPaperdoll";
local rpgoCPD_ABBR ="CPP";
local rpgoCPD_AUTHOR ="calvin";
local rpgoCPD_EMAIL ="calvin@rpgoutfitter.com";
local rpgoCPD_URL ="www.rpgoutfitter.com";
local rpgoCPD_DATE ="May 12, 2006";
local rpgoCPD_PROVIDER ="rpgo";
local rpgoCPD_VERSION ="1.0";
local rpgoCPDheight=35;
--[[// OnLoad
-- ////////////////////////////////////////////]]
function rpgoCPD_OnLoad()
this:RegisterEvent("SCREENSHOT_FAILED");
this:RegisterEvent("SCREENSHOT_SUCCEEDED");
rpgo_VerboseMsg(rpgo_ColorizeTitle(rpgoCPD_PROVIDER,rpgoCPD_TITLE).." [v" .. rpgoCPD_VERSION .. "] loaded.");
end
function rpgoCPD_PicSave()
if ( (not CharacterFrame:IsVisible()) or (not CharacterFrame:IsVisible()) ) then return; end
if(rpgoCPDtmp) then
rpgoCPD_Restore();
return;
else
rpgoCPDtmp={};
end
if(not rpgoCPD) then rpgoCPD={}; end
local rpgoCPDres=rpgo_Arg2Ary(GetScreenResolutions());
rpgoCPD.res=rpgoCPDres[GetCurrentResolution()];
rpgoCPD.height=GetScreenHeight();
rpgoCPD.width=GetScreenWidth();
rpgoCPD.h=CharacterFrame:GetHeight();
rpgoCPD.w=CharacterFrame:GetWidth();
rpgoCPD.x=CharacterFrame:GetLeft();
rpgoCPD.y=rpgoCPD.height-CharacterFrame:GetTop();
rpgoCPD.sc=CharacterFrame:GetScale();
rpgoCPD.sm=CharacterModelFrame:GetModelScale();
rpgoCPD.sp=(rpgoCPD.height-rpgoCPDheight)/rpgoCPD.h;
CharacterFrame:SetScale(rpgoCPD.sc*rpgoCPD.sp);
CharacterModelFrame:SetModelScale(rpgoCPD.sm/rpgoCPD.sp);
CharacterModelFrame:SetFacing(PI/8);
rpgoCPDtmp.CFpoint=CharacterFrame:GetPoint(1);
CharacterFrame:SetPoint("TOPLEFT",0,-rpgoCPDheight);
CharacterModelFrameRotateLeftButton:SetScale(rpgoCPD.sm/rpgoCPD.sp);
CharacterModelFrameRotateRightButton:SetScale(rpgoCPD.sm/rpgoCPD.sp);
rpgoCPDtmp.CMFBLBpoint=CharacterModelFrameRotateLeftButton:GetPoint(1);
CharacterModelFrameRotateLeftButton:SetPoint("TOPLEFT",90,40);
CharacterAttributesFrame:Hide();
CharacterResistanceFrame:Hide();
CharacterFrame:Raise();
rpgoCPD.y1=rpgoCPD.height-CharacterFrame:GetTop();
-- TakeScreenshot();
end
function rpgoCPD_Restore()
if(not rpgoCPDtmp) then return end;
CharacterModelFrameRotateLeftButton:SetScale(rpgoCPD.sm);
CharacterModelFrameRotateRightButton:SetScale(rpgoCPD.sm);
CharacterModelFrameRotateLeftButton:SetPoint(rpgoCPDtmp.CFpoint,0,0);
CharacterAttributesFrame:Show();
CharacterResistanceFrame:Show();
CharacterFrame:SetScale(rpgoCPD.sc);
CharacterModelFrame:SetModelScale(rpgoCPD.sm);
CharacterFrame:SetPoint(rpgoCPDtmp.CMFBLBpoint, rpgoCPD.x, -rpgoCPD.y);
rpgoCPDtmp=nil;
end
--[[//////////////////////////////////////////////
-- general rpgo functions (shared)
-- ////////////////////////////////////////////]]
-- USAGE: rpgo_VerboseMsg(msg)
if (not rpgo_VerboseMsg) then
rpgo_VerboseMsg=function(msg)
DEFAULT_CHAT_FRAME:AddMessage(msg); end end
-- USAGE: rpgo_ColorizeTitle(provider,title)
if (not rpgo_ColorizeTitle) then
rpgo_ColorizeTitle=function(provider,title)
if(not rpgoColorTitle) then rpgoColorTitle="909090"; end
if(provider and title) then return rpgo_ColorizeMsg(rpgoColorTitle,provider.."-"..title); end end end
-- USAGE: rpgo_ColorizeMsg(color,msg)
if (not rpgo_ColorizeMsg) then
rpgo_ColorizeMsg=function(color,msg)
if(color and msg) then return "|cff"..color..msg.."|r"; end end end
-- USAGE: rpgo_Arg2Ary(...)
if (not rpgo_SetTooltip) then
rpgo_Arg2Ary=function(...)
local tab={}; for i=1,arg.n,1 do tab[i]=arg[i]; end return tab; end end
-- USAGE: rpgo_SetTooltip(color,msg)
if (not rpgo_SetTooltip) then
rpgo_SetTooltip=function()
GameTooltip:SetOwner(this, "ANCHOR_BOTTOMRIGHT"); end end