|
|
| 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]
| |