Warcraft III Library
Warcraft III Library supports displaying models, textures or even maps from Blizzard's game Warcraft III: Reign of Chaos and its expansion Warcraft III: The Frozen Throne. It provides a core layer consisting of sub libraries which support reading and writing of those formats and as well a display layer which is able to emulate parts of Warcraft's famous World Editor.
wc3lib is written in C/C++. While its core layer takes heavily use of the Boost C++ Libraries, the display layer is based on Qt, KDE SC and OGRE.
News
2016-10-14: The Qt based Object Editor allows compressing object data which means removing hidden fields from all objects. Besides it is planned to create an ObjectMerger emulator which fixes several bugs of the original ObjectMerger. wc3lib is also available on GitHub now.
Installation
For GNU/Linux distributions download the latest RPM here.
Most source code is put under the GPLv2 which guarantees you free usage.
It can be checked out using Git:
git clone git://wc3lib.org/wc3lib.git
and compiled creating a compile directory, running CMake and Make:
cd wc3lib
mkdir build
cd build
cmake ../
make -j4
or
make -j4 install
You can disable several options like "JASS" or "MDLX" using CMake if you want to reduce the compile time and don't need all the features. wc3lib depends on several libraries:
- Boost C++ Libraries
- JPEG library
- BZIP2 library
- GZIP library
- Qt5 libraries (editor module and plugin qblp)
- OGRE library (MDLX support in editor module, Ogre BLP codec plugin)
- KF5 libraries (KIO MPQ plugin)
Features
wc3lib does already offer a list of features:
- File parsing and writing for MDX, MDL, BLP, MPQ, W3M, W3O, SLK, TXT etc.
- BLP integration by a Qt plugin which allows KDE to display BLP images
- Displaying static MDX or MDL files in a 3D renderer
- KDE IO Slave for MPQ archives (allows usage with Dolphin etc.)
- Console tools like wc3converter and mpq
- GUI tools like MPQ Editor, Object Editor, Trigger Editor or Texture Editor
Examples
wc3lib comes with some useful tools such as an MPQ extractor and a format converter:
mpq -t war3.mpq
lists all files contained in "war3.mpq"
mpq -g -f "SharedModels\LightningBall.tga" war3.mpq
Extracts "LightningBall.tga" into directory "./war3/SharedModels/LightningBall"
wc3converter . TestModel.mdx --oformat mdl
Converts "TextModel.mdx" into MDL file "TestModel.mdl".
Screenshots
Contact
Email: barade.barade [at] web.de