pywowlib

April 27, 2020 · View on GitHub

Build Status

pywowlib is a Python 3.5+ libary featuring the functionality of reading and writing various World of Warcraft related file formats. The goal of the library is to initially target core WoW versions (latest expansion patch) starting from 3.3.5a and beyond up to current retail/beta version. In the future, we may target other core expansion versions: 1.12.1, 2.4.3 Support for in-between versions is not guaranteed, but may work just fine, depending on the case.

Supported formats

FormatDescription1.12.12.4.33.3.5a4.3.45.4.86.2.47.3.58.3.59.0.0Comment
M2Model%%%Possibly not handling some changes brought with Shadowlands. Missing names for some key bones.
SkinM2 Lod FileDNEDNE%Shadowlands mesh part IDs are not yet mapped.
AnimM2 Low Priority Animation SequenceDNEDNE
SkelM2 Skeleton DataDNEDNEDNEDNEDNEDNE
PhysM2 PhysicsDNEDNEDNEDNETBITBITBITBITBI
BoneM2 FacePose Transform DataDNEDNEDNEDNEDNETBITBITBITBI
WMOWorld Map ObjectSome changes need to be added to reflect WotLK+ changes.
ADTTerrain Tile%%TBITBITBITBITBITBIBy this category, _tex.adt and other additional ADT-related files are implied as well. Support for WotLK was never tested. Likely to be broken and thus reimplemented later.
WDTWorld Terrain LayoutTBITBITBITBITBITBITBITBITBI
WDLLow Res TerrainTBITBITBITBITBITBITBITBITBI
MPQMike O'Brien PackDNEDNEDNEDNESupport for writing may be implemented by extending the StormLib wrapper. Contributions are welcome.
CASCContent Adressable Storage ContainerDNEDNEDNEDNEDNEImplemented via a pyCASCLib wrapper. Read-only. Not all library functions are read. Contributions are welcome. Possible integration with TACTAdder / CASCHost or similar software in the future.
BLPImagesRead-only. Supporting conversion to PNG.
DBC/DB2Client Database FilesTBITBITBITBITBITBIRead/Write support is planned.

Contribution

Feel free to contribute to the library development by either making a pull request or contacting Skarn directly to gain write access.

Use

The library comes under MIT license, so feel free to utilize it anywhere you want under MIT license terms.

Legal note

World of Warcraft is a registered trademark of Blizzard Entertainment and/or other respective owners. This software is not created by Blizzard Entertainment or its affiliates, and is for purely educational and research purposes. This software is not intended for the use and production of cheating (hacking) software or modificaitons that can disrupt World of Warcraft's gameplay. It is your sole responsibility to follow copyright law, game's ToS and EULA. The creators hold no responsibility for the consequences of use of this software.