View Single Post
09-25-10, 09:12 AM   #35
Mera
Retired of WoW, In ESO :)
 
Mera's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 331
Originally Posted by Foxlit View Post
no but thank you, I don't want to mix text coming from wiki to text coming from code, anyway if that's just about missing API you can do it yourself, my extractor is rather simple look:

lua
Code:
-- API extraction by Mera[eh]-

_G.__WowApiExtractor = {}

--[[ WoW Global API Extraction ]]
local function OnSlashWowGlobals(msg)
	_G.__WowApiExtractor = {}
	for a, b in pairs(_G) do
		if type(b) == "function" then _G.__WowApiExtractor[a] = type(b) end
	end
	print("Global functions extractions done!")
end

--[[ WoW UIObjects API Extraction ]]
local function OnSlashWowUIObjects(msg)
	--[[ UIObjects API Extraction ]]
	_G.__WowApiExtractor = {}
	_G["__WowApiExtractor_ControlPoint"] = _G["__WowApiExtractor_Path"]:CreateControlPoint()
	_G["__WowApiExtractor_Region"] = _G["__WowApiExtractor_Frame"]:CreateTitleRegion()
	local UIObjects = { "__WowApiExtractor_Alpha", "__WowApiExtractor_Animation", "__WowApiExtractor_AnimationGroup", "__WowApiExtractor_Button", "__WowApiExtractor_CheckButton",
		"__WowApiExtractor_ColorSelect", "__WowApiExtractor_ControlPoint", "__WowApiExtractor_Cooldown", "__WowApiExtractor_DressUpModel", "__WowApiExtractor_EditBox", "__WowApiExtractor_Font",
		"__WowApiExtractor_FontString", "__WowApiExtractor_Frame", "__WowApiExtractor_GameTooltip", "__WowApiExtractor_MessageFrame", "__WowApiExtractor_Minimap", "__WowApiExtractor_Model",
		"__WowApiExtractor_MovieFrame", "__WowApiExtractor_Path", "__WowApiExtractor_PlayerModel", "__WowApiExtractor_QuestPOIFrame", "__WowApiExtractor_Region", "__WowApiExtractor_Rotation",
		"__WowApiExtractor_Scale", "__WowApiExtractor_ScrollFrame", "__WowApiExtractor_ScrollingMessageFrame", "__WowApiExtractor_SimpleHTML", "__WowApiExtractor_Slider",
		"__WowApiExtractor_StatusBar", "__WowApiExtractor_TabardModel", "__WowApiExtractor_Texture", "__WowApiExtractor_Translation" }
	for a, b in pairs(UIObjects) do
		local object = _G[UIObjects[a]]
		for a, b in pairs(getmetatable(object).__index) do
			if type(b) == "function" then _G.__WowApiExtractor[a] = type(b) end
		end
	end
	print("UIObjects functions extractions done!")
end

--[[ WoW Ace2 API Extraction ]]
local function OnSlashWowAce2(msg)
	_G.__WowApiExtractor = {}
	_G["__WowApiExtractor_AceAddon"] = AceLibrary("AceAddon-2.0")
	_G["__WowApiExtractor_AceComm"] = AceLibrary("AceComm-2.0")
	_G["__WowApiExtractor_AceConsole"] = AceLibrary("AceConsole-2.0")
	_G["__WowApiExtractor_AceDB"] = AceLibrary("AceDB-2.0")
	_G["__WowApiExtractor_AceDebug"] = AceLibrary("AceDebug-2.0")
	_G["__WowApiExtractor_AceEvent"] = AceLibrary("AceEvent-2.0")
	_G["__WowApiExtractor_AceHook"] = AceLibrary("AceHook-2.1")
	_G["__WowApiExtractor_AceLibrary"] = AceLibrary("AceLibrary")
	_G["__WowApiExtractor_AceLocale"] = AceLibrary("AceLocale-2.2")
	_G["__WowApiExtractor_AceModuleCore"] = AceLibrary("AceModuleCore-2.0")
	_G["__WowApiExtractor_AceOO"] = AceLibrary("AceOO-2.0")
	_G["__WowApiExtractor_AceTab"] = AceLibrary("AceTab-2.0")
	_G["__WowApiExtractor_AceLocale"] = AceLibrary("AceLocale-2.2")
	 local Ace2Objects = { "AceEvent20EditBox", "AceEvent20Frame", "AceLibrary", "ChatThrottleLib", "LibStub",
		"__WowApiExtractor_AceAddon", "__WowApiExtractor_AceComm", "__WowApiExtractor_AceConsole", "__WowApiExtractor_AceDB",
		"__WowApiExtractor_AceDebug", "__WowApiExtractor_AceEvent", "__WowApiExtractor_AceHook", "__WowApiExtractor_AceLibrary",
		"__WowApiExtractor_AceLocale", "__WowApiExtractor_AceModuleCore", "__WowApiExtractor_AceOO", "__WowApiExtractor_AceTab"}
	for a, b in pairs(Ace2Objects) do
		local ace2object = _G[Ace2Objects[a]]
		for a, b in pairs(ace2object) do
			if type(b) == "function" then _G.__WowApiExtractor[a] = type(b) end
		end
	end
	print("Global Ace2 functions extractions done!")
end

--[[ WoW Ace3 API Extraction
_G["__WowApiExtractor_AceConfigDropdown"] = LibStub("AceConfigDropdown-3.0")]]
-- local function OnSlashWowAce3(msg)
	-- _G.__WowApiExtractor = {}
	-- _G["__WowApiExtractor_AceAddon"] = LibStub("AceAddon-3.0")
	-- _G["__WowApiExtractor_AceBucket"] = LibStub("AceBucket-3.0")
	-- _G["__WowApiExtractor_AceComm"] = LibStub("AceComm-3.0")
	-- _G["__WowApiExtractor_AceConfig"] = LibStub("AceConfig-3.0")
	-- _G["__WowApiExtractor_AceConfigCmd"] = LibStub("AceConfigCmd-3.0")
	-- _G["__WowApiExtractor_AceConfigDialog"] = LibStub("AceConfigDialog-3.0")
	-- _G["__WowApiExtractor_AceConfigRegistry"] = LibStub("AceConfigRegistry-3.0")
	-- _G["__WowApiExtractor_AceConsole"] = LibStub("AceConsole-3.0")
	-- _G["__WowApiExtractor_AceDB"] = LibStub("AceDB-3.0")
	-- _G["__WowApiExtractor_AceDBOptions"] = LibStub("AceDBOptions-3.0")
	-- _G["__WowApiExtractor_AceEvent"] = LibStub("AceEvent-3.0")
	-- _G["__WowApiExtractor_AceGUI"] = LibStub("AceGUI-3.0")
	-- _G["__WowApiExtractor_AceHook"] = LibStub("AceHook-3.0")
	-- _G["__WowApiExtractor_AceLocale"] = LibStub("AceLocale-3.0")
	-- _G["__WowApiExtractor_AceSerializer"] = LibStub("AceSerializer-3.0")
	-- _G["__WowApiExtractor_AceTab"] = LibStub("AceTab-3.0")
	-- _G["__WowApiExtractor_AceTimer"] = LibStub("AceTimer-3.0")
	-- _G["__WowApiExtractor_CallbackHandler"] = LibStub("CallbackHandler-1.0")
	 -- local Ace3Objects = { "Ace3", "AceAddon30Frame", "AceComm30Frame", "AceEvent30Frame", "AceTimer30Frame", "ChatThrottleLib",
		-- "LibStub", "__WowApiExtractor_AceAddon", "__WowApiExtractor_AceBucket", "__WowApiExtractor_AceComm", "__WowApiExtractor_AceConfig",
		-- "__WowApiExtractor_AceConsole", "__WowApiExtractor_AceDB", "__WowApiExtractor_AceDBOptions", "__WowApiExtractor_AceEvent",
		-- "__WowApiExtractor_AceGUI", "__WowApiExtractor_AceHook", "__WowApiExtractor_AceLocale", "__WowApiExtractor_AceSerializer",
		-- "__WowApiExtractor_AceTab", "__WowApiExtractor_AceTimer", "__WowApiExtractor_CallbackHandler", "__WowApiExtractor_AceConfigCmd",
		-- "__WowApiExtractor_AceConfigDialog", "__WowApiExtractor_AceConfigRegistry" }
	-- for a, b in pairs(Ace3Objects) do
		-- local ace3object = _G[Ace3Objects[a]]
		-- for a, b in pairs(ace3object) do
			-- if type(b) == "function" then _G.__WowApiExtractor[a] = type(b) end
		-- end
	-- end
	-- print("Global Ace3 functions extractions done!")
-- end

_G.SLASH___WowApiExtractorG1 = "/wowglob"
_G.SLASH___WowApiExtractorU1 = "/wowui"
_G.SLASH___WowApiExtractorAce21 = "/wowace2"
--_G.SLASH___WowApiExtractorAce31 = "/wowace3"
_G.SlashCmdList.__WowApiExtractorG = OnSlashWowGlobals
_G.SlashCmdList.__WowApiExtractorU = OnSlashWowUIObjects
_G.SlashCmdList.__WowApiExtractorAce2 = OnSlashWowAce2
--_G.SlashCmdList.__WowApiExtractorAce3 = OnSlashWowAce3
xml
Code:
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ W:\WORLDO~1\BLIZZA~1\FrameXML\UI.xsd">
    <Frame name="__WowApiExtractor_Frame" hidden="true">
        <Layers>
            <Layer>
                <FontString name="__WowApiExtractor_FontString" hidden="true"/>
                <Texture name="__WowApiExtractor_Texture" hidden="true"/>
            </Layer>
        </Layers>
        <Animations>
            <AnimationGroup name="__WowApiExtractor_AnimationGroup" hidden="true">
                <Path name="__WowApiExtractor_Path" hidden="true"/>
                <Alpha name="__WowApiExtractor_Alpha" hidden="true"/>
                <Animation name="__WowApiExtractor_Animation" hidden="true" />
                <Rotation name="__WowApiExtractor_Rotation" hidden="true"/>
                <Scale name="__WowApiExtractor_Scale" hidden="true" />
                <Translation name="__WowApiExtractor_Translation" hidden="true" />
            </AnimationGroup>
        </Animations>
    </Frame>
    <Button name="__WowApiExtractor_Button" hidden="true" />
    <CheckButton name="__WowApiExtractor_CheckButton" hidden="true" />
    <ColorSelect name="__WowApiExtractor_ColorSelect" hidden="true" />
    <Cooldown name="__WowApiExtractor_Cooldown" hidden="true" />
    <DressUpModel name="__WowApiExtractor_DressUpModel" hidden="true" />
    <EditBox name="__WowApiExtractor_EditBox" hidden="true" />
    <Font name="__WowApiExtractor_Font" hidden="true" />
    <GameTooltip name="__WowApiExtractor_GameTooltip" hidden="true" />
    <MessageFrame name="__WowApiExtractor_MessageFrame" hidden="true" />
    <Minimap name="__WowApiExtractor_Minimap" hidden="true" />
    <Model name="__WowApiExtractor_Model" hidden="true" />
    <MovieFrame name="__WowApiExtractor_MovieFrame" hidden="true" />
    <PlayerModel name="__WowApiExtractor_PlayerModel" hidden="true" />
    <QuestPOIFrame name="__WowApiExtractor_QuestPOIFrame" hidden="true" />
    <ScrollFrame name="__WowApiExtractor_ScrollFrame" hidden="true" />
    <ScrollingMessageFrame name="__WowApiExtractor_ScrollingMessageFrame" hidden="true" />
    <SimpleHTML name="__WowApiExtractor_SimpleHTML" hidden="true" />
    <Slider name="__WowApiExtractor_Slider" hidden="true" />
    <StatusBar name="__WowApiExtractor_StatusBar" hidden="true" />
    <TabardModel name="__WowApiExtractor_TabardModel" hidden="true" />
</Ui>
toc
Code:
## Interface: 30300
## Title: __WowApiExtractor
## Notes: Extract Global from WoW and its UIObjects
## Author: Merah
## Version: 30300.1
## SavedVariables: __WowApiExtractor

__WowApiExtractor.lua
__WowApiExtractor.xml



//edit: got my key from Battle.net few days later so thanks to the mysterious helper if there is one, thanks to Curse so for sending me one too from the Curse shop.
__________________
If you need to reach me I'm in ESO, @class101 or "Fathis Ules i"
addons: SpamBayes, BrokerCPU
projects: ThunderBayes
Mera[xeh]? - La CroisadeEcarlate (wow)

Last edited by Mera : 10-03-10 at 05:26 AM. Reason: got keys
  Reply With Quote