Primary source for WoW lua API?
Asked Answered
R

5

7

I've been looking for first-hand information on the World of Warcraft addon API. There are a couple wikis that are pretty good, but their reference links only point internally. Surely there is some information published by Blizzard on the topic.

Can all of their information really be gleaned from reverse-engineering and forums? That would be hard for me to believe.

Revengeful answered 31/8, 2012 at 16:27 Comment(0)
B
5

Its not all necessarily gleaned from inspection or trial and error. Some is provided, but randomly, from "heads up" posts in the forums from "the source", as in Blizzard employees. They are usually pretty good about it, though is almost always provided in a "just the essentials to save you some pain" sort of way.

Here's an example: http://blue.mmo-champion.com/topic/233590-mop-changes/

Watching for the "Blue" posts goes a long way, and its been this way for a long time. If you look at someting like this (old 3.1.0 end user patch notes) http://us.battle.net/wow/en/game/patch-notes/3-1-0 , and then scan to near the bottom there will be a note and link for API changes, so its easy to glean their intent on this, and that they intend to provide some "unofficial" support about API changes there whilenot burdening the actual product readme with them.


In general, I'd say that due to the very open nature of the materials, the source for the UI, very little is hidden and most is pretty self-evident, so it sort of barely qualifies as reverse engineering. Once you understand the Lua relationship to the general design of the WoW UI and supporting API, it's much easier.

As for the implied question about "why", the "hard to believe" part. They are doing, in my estimation, what they believe is the best balance between fully supporting without "officially" suporting, and not wasting cycles trying to document a huge amount of available facilites thats ever changing. I think they belive it makes a better product, having the ability to customize, so its intheir interest, however is frought with problems and even legal issues from many angles to be expressly "official" about it or to try to maintain coherent docs.

----

Toward the question "git hub" below, here is the "blue" post in context, which can be found by clicking the "blizz" link icon on the mmo-champion link provided before: http://us.battle.net/wow/en/forum/topic/6413172918#1 I was trying to give an example of a Blue post that had detail, but I accidentally gave one for the Web API not the Game API. However the principle is the same, and provides more Blizzard to Community context for dev support.

So basically that particular post was in reference to changes in the Web API, and the Git remark has no relevance to the game UI Customization and Macro thing. There is no hidden or official doc source for game UI Customization and Macro. Mostly its because it simply doesnt exist for anyone. :)

Brest answered 31/8, 2012 at 20:4 Comment(4)
What does he mean by "git push requests to the API documentation". It sounds like he's maintaining some docs on a github repo?Revengeful
Thanks for your obvious effort. Apparently they keep docs for the web api, but not the addon api: blizzard.github.com/api-wow-docs That's a strange decision in my opinion, but it's theirs to make.Revengeful
The web api is a much much smaller scope, and external users of the web api need a non-moving target thats documented. The in game UI and any community created addons are a very differnt story, almost the exact opposite.Brest
The Web API is provided and documented because the alternative is that the same functionality is built by developers via scraping tools, which creates unnecessary strain on their servers.Jaclynjaco
J
0

Yes, all the information is gleaned from the source.

Jaclynjaco answered 31/8, 2012 at 18:2 Comment(2)
"The source"? Certainly you don't mean the API source. Presumably you mean the blizz-standard addons. That's a sad state of affairs if it's true. Do you have any blue posts (or anything) to back you up?Revengeful
I meant the Lua/XML source of WoW's current UI. Most of the Blizzard UI implemented as addons does not contain source. I can't post a link to the absence of a Blue post, which is what you've got. Blizzard released a tool for extracting the UI source from their package files, which is fairly well commented. All the wikis are built from that.Jaclynjaco
A
0

Blizzard doesn't post the API information at this time, AFAIK.

http://www.wowpedia.org/Portal:Interface_customization is likely to be your best resource.

Autobiography answered 13/12, 2012 at 4:10 Comment(0)
K
0

There are multiple ways to discover the names of callable C functions exported into the Lua environment.

But yes. One quite simple one would be to enumerate all the globals in the source that are written to, then enumerate the globals that are exposed while WoW is running - and take the difference, perhaps limiting the result to globals of type 'function'

Blizzard used to informally document its API for a while, but it has always been 'unsupported'

There are other ways to discover the API - but they involve doing things which may violate the TOS.

Kulturkampf answered 17/12, 2012 at 5:43 Comment(0)
C
0

There is a website now that contains the API for wow addons. This has been helping me a lot.

Caddish answered 17/12, 2016 at 1:50 Comment(1)
website is defunct nowEpigoni

© 2022 - 2024 — McMap. All rights reserved.