WoW: Difference between revisions

No edit summary
No edit summary
Line 19: Line 19:


The game and its libraries have become significantly more complex in the intervening 10+ years. By picking 3.3.5a, it's possible to imagine our implementation will eventually be complete.
The game and its libraries have become significantly more complex in the intervening 10+ years. By picking 3.3.5a, it's possible to imagine our implementation will eventually be complete.
== Study ==
Many attempts have been made throughout history to study the internals of this client.
To consolidate and refine our collective understanding into a monolithic, usable reverse-engineering package, [[Thunderbrew:Binana|Binana]], a repository of symbol databases and C headers, was created.
=== Compiler ===
For Windows, the client was known to be compiled using the Microsoft Visual C++ Compiler {{Which version?}}
For the [[WoW:Mac OS X port|Mac OS X port]], the XCode version of GCC was used.
=== Libraries ===
The WoW client was known to have the following libraries:
* fmod - For in-game audio playback
* lua - Used extensively for Glue and FrameScript. Much of the client runs through this Lua interface.
* libexpat - Used to parse XML, commonly used in GlueXML and FrameXML
== Software that supports 3.3.5a ==
3.3.5a benefits from a significant buy-in from the community of developers, making it the ''de facto'' standard version of WoW.
* [https://github.com/TrinityCore/TrinityCore/tree/3.3.5 TrinityCore (3.3.5)]
* [https://github.com/wowdev/noggit3.git Noggit3]